Cópia de 1756-rm006a-pt-p

302
Controladores Logix5000 – Instruções sobre Controle de Processo e Inversores Manual de Referência

Transcript of Cópia de 1756-rm006a-pt-p

Page 1: Cópia de 1756-rm006a-pt-p

Controladores Logix5000 – Instruções sobre Controle de Processo e Inversores

Manual de Referência

Page 2: Cópia de 1756-rm006a-pt-p

Informações Importantes ao Usuário

Por causa da diversidade de usos dos produtos descritos nesta publicação, os responsáveis pela aplicação e usos deste equipamento de controle devem certificar-se de que todas as etapas necessárias foram seguidas para garantir que cada aplicação e uso cumpram todos os requisitos de desempenho e segurança, incluindo todas as leis, regulamentações, códigos e padrões aplicáveis.

As ilustrações, gráficos, exemplos de programas e de layout mostrados neste manual são apenas para fins ilustrativos. Visto que há diversas variáveis e requisitos associados a qualquer instalação em especial, a Rockwell Automation não assume a responsabilidade (incluindo responsabilidade por propriedade intelectual) pelo uso baseado nos exemplos mostrados nesta publicação.

A publicação SGI-1.1, Diretrizes de Segurança para Aplicação, Instalação e Manutenção dos Dispositivos de Controle do Estado Sólido (disponível no escritório local da Rockwell Automation), descreve algumas diferenças importantes entre os equipamentos eletrônicos e dispositivos eletromecânicos, que devem ser levadas em consideração ao utilizar produtos como os descritos nesta publicação.

É proibida a reprodução, parcial ou total, deste manual sem a permissão por escrito da Rockwell Automation.

Ao longo deste manual, usamos notas para chamar a sua atenção para considerações de segurança:

As instruções de atenção ajudam você a:

• identificar e evitar um perigo

• reconhecer as conseqüências

Allen-Bradley é uma marca da Rockwell Automation

ATENÇÃO

!Identifica informações sobre práticas ou circunstâncias que podem causar ferimentos ou morte, danos patrimoniais ou perdas econômicas.

IMPORTANTE Identifica informações críticas para a aplicação e compreensão bem-sucedidas do produto.

Page 3: Cópia de 1756-rm006a-pt-p

Localizador de Instrução

Onde Encontrar uma Instrução

Use este localizador para encontrar os detalhes de referência sobre as instruções do Logix (as instruções em cinza estão disponíveis em outros manuais). Este localizador também lista quais linguagens de programação estão disponíveis para as instruções.

Se o localizador listar: A instrução está documentada em:

um número de página este manual

geral Manual de Referência Geral do Conjunto de Instruções dos Controladores Logix5000, publicação 1756-RM003A-PT-P

posicionamento Logix5000 Controllers Motion Instruction Set Reference Manual, publicação 1756-RM007A-EN-P

Instrução: Local: Linguagens:

ABL geral lógica ladder

ABS geral lógica ladderbloco de funções

ACB geral lógica ladder

ACL geral lógica ladder

ACS geral lógica ladderbloco de funções

adição geral lógica ladderbloco de funções

AFI geral lógica ladder

AHL geral lógica ladder

ALM 1-2 bloco de funções

AND geral lógica ladderbloco de funções

ARD geral lógica ladder

ARL geral lógica ladder

ASN geral lógica ladderbloco de funções

ATN geral lógica ladderbloco de funções

AVE geral lógica ladder

AWA geral lógica ladder

AWT geral lógica ladder

BAND 6-2 bloco de funções

BNOT 6-5 bloco de funções

BOR 6-7 bloco de funções

BRK geral lógica ladder

BSL geral lógica ladder

BSR geral lógica ladder

BTD geral lógica ladder

BTDT geral bloco de funções

BTR (tipo MSG) geral lógica ladder

BTW (tipo MSG) geral lógica ladder

BXOR 6-10 bloco de funções

CLR geral lógica ladder

CMP geral lógica ladder

COP geral lógica ladder

COS geral lógica ladderbloco de funções

CPT geral lógica ladder

CTD geral lógica ladder

CTU geral lógica ladder

CTUD geral bloco de funções

D2SD 1-6 bloco de funções

D3SD 1-14 bloco de funções

DDT geral lógica ladder

DEDT 1-27 bloco de funções

DEG geral lógica ladderbloco de funções

DERV 3-2 bloco de funções

Instrução: Local: Linguagens:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 4: Cópia de 1756-rm006a-pt-p

Localizador de Instrução 2

Instrução: Local: Linguagem:

DFF 6-12 bloco de funções

DIV geral lógica ladderbloco de funções

DTR geral lógica ladder

ESEL 4-2 bloco de funções

EQU geral lógica ladderbloco de funções

FAL geral lógica ladder

FBC geral lógica ladder

FFL geral lógica ladder

FGEN 1-32 bloco de funções

FFU geral lógica ladder

FLL geral lógica ladder

FOR geral lógica ladder

FRD geral lógica ladderbloco de funções

FSC geral lógica ladder

GEQ geral lógica ladderbloco de funções

GRT geral lógica ladderbloco de funções

GSV geral lógica ladder

HLL 4-8 bloco de funções

HPF 3-5 bloco de funções

INTG 2-2 bloco de funções

JKFF 6-15 bloco de funções

JMP geral lógica ladder

JSR geral lógica ladderbloco de funções

LBL geral lógica ladder

LDL2 3-10 bloco de funções

LDLG 1-36 bloco de funções

LEQ geral lógica ladderbloco de funções

LES geral lógica ladderbloco de funções

LFL geral lógica ladder

LFU geral lógica ladder

LIM geral lógica ladderbloco de funções

LN geral lógica ladderbloco de funções

LOG geral lógica ladderbloco de funções

LPF 3-15 bloco de funções

MAAT movimento lógica ladder

MAFR movimento lógica ladder

MAG movimento lógica ladder

MAH movimento lógica ladder

MAHD movimento lógica ladder

MAJ movimento lógica ladder

MAM movimento lógica ladder

MAPC movimento lógica ladder

MAR movimento lógica ladder

MAS movimento lógica ladder

MASD movimento lógica ladder

MASR movimento lógica ladder

MATC movimento lógica ladder

MAVE 5-2 bloco de funções

MAW movimento lógica ladder

MAXC 5-6 bloco de funções

MCCP movimento lógica ladder

MCD movimento lógica ladder

MCR geral lógica ladder

MDF movimento lógica ladder

MDO movimento lógica ladder

MDR movimento lógica ladder

MDW movimento lógica ladder

MEQ geral lógica ladderbloco de funções

MGPS movimento lógica ladder

MGS movimento lógica ladder

Instrução: Local: Linguagem:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 5: Cópia de 1756-rm006a-pt-p

Localizador de Instrução 3

Instrução: Local: Linguagem:

MGSD movimento lógica ladder

MGSR movimento lógica ladder

MGSP movimento lógica ladder

MINC 5-8 bloco de funções

MOD geral lógica ladderbloco de funções

MOV geral lógica ladder

MRAT movimento lógica ladder

MRHD movimento lógica ladder

MRP movimento lógica ladder

MSF movimento lógica ladder

MSG geral lógica ladder

MSO movimento lógica ladder

MSTD 5-10 bloco de funções

MUL geral lógica ladderbloco de funções

MUX 4-11 bloco de funções

MVM geral lógica ladder

MVMT geral bloco de funções

NEG geral lógica ladderbloco de funções

NEQ geral lógica ladderbloco de funções

NOP geral lógica ladder

NOT geral lógica ladderbloco de funções

NTCH 3-20 bloco de funções

ONS geral lógica ladder

OR geral lógica ladderbloco de funções

OSF geral lógica ladder

OSFI geral bloco de funções

OSR geral lógica ladder

OSRI geral bloco de funções

OTE geral lógica ladder

OTL geral lógica ladder

OTU geral lógica ladder

PI 2-7 bloco de funções

PID geral lógica ladder

PIDE 1-40 bloco de funções

PMUL 2-18 bloco de funções

POSP 1-72 bloco de funções

RAD geral lógica ladderbloco de funções

RES geral lógica ladder

RESD 6-17 bloco de funções

RET geral lógica ladderbloco de funções

RLIM 4-14 bloco de funções

RMPS 1-78 bloco de funções

RTO geral lógica ladder

RTOR geral bloco de funções

SBR geral lógica ladderbloco de funções

SCL 1-91 bloco de funções

SCRV 2-25 bloco de funções

SEL 4-18 bloco de funções

SETD 6-20 bloco de funções

SIN geral lógica ladderbloco de funções

SNEG 4-20 bloco de funções

SOC 2-33 bloco de funções

SQI geral lógica ladder

SQL geral lógica ladder

SQO geral lógica ladder

SQR geral lógica ladderbloco de funções

SRT geral lógica ladder

SRTP 1-95 bloco de funções

SSUM 4-22 bloco de funções

SSV geral lógica ladder

TND geral lógica ladder

Instrução: Local: Linguagem:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 6: Cópia de 1756-rm006a-pt-p

Localizador de Instrução 4

Instrução: Local: Linguagem:

STD geral lógica ladder

SUB geral lógica ladderbloco de funções

TAN geral lógica ladderbloco de funções

TOD geral lógica ladderbloco de funções

TOF geral lógica ladder

TOFR geral bloco de funções

TON geral lógica ladder

TONR geral bloco de funções

TOT 1-100 bloco de funções

TRUN geral lógica ladderbloco de funções

UID geral lógica ladder

UIE geral lógica ladder

UPDN 2-41 bloco de funções

XIC geral lógica ladder

XIO geral lógica ladder

XOR geral lógica ladderbloco de funções

XPY geral lógica ladderbloco de funções

Publicação 1756-RM006A-PT-P - Junho 2000

Page 7: Cópia de 1756-rm006a-pt-p

Prefácio

Introdução Este manual é um dos muitos documentos de instruções baseadas em Logix.

Quem Deve Usar Este Manual

Esse documento fornece ao programador detalhes sobre cada instrução disponível para um controlador baseado em Logix. Você já deve estar familiarizado com a forma como o controlador baseado em Logix armazena e processa os dados.

Os programadores novos devem ler todos os detalhes sobre uma instrução antes de usá-la. Os programadores experientes podem consultar as informações sobre as instruções para verificar os detalhes.

Tarefa/Meta: Documentos:

Programação do controlador para aplicações sequenciais

Manual de Referência Geral do Conjunto de Instruções dos Controladores Logix5000, publicação 1756-RM003

Programação do controlador para aplicações de processo ou drives.

Manual de Referência do Conjunto de Instruções de Controle de Processo e Inversores dos Controladores Logix5000, publicação 1756-RM006

Programação do controlador para aplicações de posicionamento

Logix5000 Controllers Motion Instruction Set Reference Manual, publicação 1756-RM007

Importação de um arquivo de texto ou tags em um projeto

Manual de Referência para Exportação/Importação do Controlador Logix5000 publicação 1756-6.8.4PT

Exportação de um projeto ou tags para um arquivo texto

Conversão de uma aplicação do CLP-5 ou SLC 500 para uma aplicação do Logix5000

Manual de Referência do Controlador Logix5550 para Conversão da Lógica do CLP-5 ou SLC 500 para a Lógica do Logix5550, publicação 1756-6.8.5PT

Você está aqui

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 8: Cópia de 1756-rm006a-pt-p

Prefácio 2

Objetivo do Manual Este manual fornece uma descrição de cada instrução neste formato.

Os ícones seguintes ajudam a identificar as informações de uma linguagem específica:

Essa seção: Fornece este tipo de informação:

Nome da instrução identifica a instruçãodefine se a instrução é de entrada ou de saída

Operandos de lógica ladder lista todos os operandos da instrução, se a instrução estiver disponível na lógica ladder mostra uma instrução padrão

Operandos de blocos de funções

lista todos os operandos da instrução, se a instrução estiver disponível no bloco de funçõesmostra um bloco de funções padrão

Os pinos mostrados em um bloco de funções padrão são apenas pinos padrões. A tabela de operandos lista todos os pinos possíveis para um bloco de funções.

Estrutura da instrução lista os valores e os bits de status de controle da instrução, se existirem

Descrição descreve o uso da instruçãodefine quaisquer diferenças quando a instrução estiver habilitada e desabilitada, se apropriado

Flags de Status Aritmético define se a instrução interfere ou não nos flags de status aritméticoconsulte o apêndice Atributos Comuns

Condições de Falha define se a instrução gera falhas graves ou de advertênciase necessário, define o código e o tipo da falha

Execução da lógica ladder Se disponível na lógica ladder, define a operação específica da instrução durante:• pré-varredura• entrada da condição da linha for falsa• entrada da condição da linha for verdadeira

Exemplo de lógica ladder Se disponível na lógica ladder, fornece pelo menos um exemplo de programaçãoinclui uma descrição explicando cada exemplo

Execução do bloco de funções

Se disponível no bloco de funções, define a operação específica da instrução durante:• pré-varredura• primeira varredura da instrução• primeira execução da instrução• EnableIn é falso• EnableIn é verdadeiro

Exemplo de bloco de funções

Se disponível no bloco de funções, fornece pelo menos um exemplo de programaçãoinclui uma descrição explicando cada exemplo

Este ícone: Indica esta linguagem de programação:

lógica ladder

bloco de funções

Publicação 1756-RM006A-PT-P - Junho 2000

Page 9: Cópia de 1756-rm006a-pt-p

Prefácio 3

Informações Comuns para Todas as Instruções

O conjunto de instruções do Logix5000 possui alguns atributos comuns:

Convenções e Termos Relacionados

Energizar e desenergizar (zerar)

Este manual usa energizar e desenergizar para definir o status de bits (booleanos) e valores (não booleanos):

Se um operando ou parâmetro suportar mais de um tipo de dados, os tipos de dados em negrito indicam tipos de dados otimizados. Uma instrução executa mais rapidamente e requer menos memória se todos os operandos da instrução usam o mesmo tipo de dado ótimo, geralmente DINT ou REAL.

Para obter esta informação:

Consulte este apêndice

atributos comuns o apêndice Atributos Comuns define: • flags de status aritmético:• tipos de dados• palavras-chaves

atributos do bloco de funções

o apêndice Atributos do Bloco de Funções define: • controle de programa e operação• modos de temporização

Este termo: Significa:

definir o bit está definido em 1 (ON)um valor está definido em um número diferente de zero

definir em 0 o bit está definido em 0 (OFF)todos os bits em um valor são definidos em 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 10: Cópia de 1756-rm006a-pt-p

Prefácio 4

Condição de linha da lógica ladder

O controlador avalia as instruções de lógica ladder com base na condição que antecede a instrução (condição da entrada da linha). Com base na condição precedente e na instrução, o controlador define a condição da linha.

Se a condição da entrada da linha para uma instrução de entrada for verdadeira, o controlador avalia a instrução e energiza a condição da saída da linha com base nos resultados da instrução. Se a instrução for avaliada em verdadeira, a condição da saída da linha é verdadeira; se a instrução for avaliada em falsa, a condição da saída da linha é falsa.

O controlador também realiza uma pré-varredura das instruções. A pré-varredura é uma varredura especial de todas as rotinas no controlador. O controlador realiza a varredura de todas as rotinas principais e subrotinas durante a pré-varredura, mas ignora saltos que podem ultrapassar a execução de instruções. O controlador executa todas as malhas FOR e chamadas de subrotinas. Se uma subrotina for chamada mais de uma vez, ela é executada a cada vez que é chamada. O controlador usa a pré-varredura das instruções da lógica ladder para resetar a E/S não retentiva e os valores internos.

Durante a pré-varredura, os valores de entrada não são atuais e as saídas não são escritas. As seguintes condições geram uma pré-varredura:

• Mudança do modo de Programação para o modo de Operação

• Inserção automática do modo de Operação, a partir de uma condição de energização.

A pré-varredura não ocorre para um programa quando:

• O programa torna-se definido enquanto o controlador está em operação.

• O programa for desativado quando o controlador entrar no modo de Operação.

instrução de entrada

condição da entrada

da linha

instrução de saída

condição da saída da linha

Publicação 1756-RM006A-PT-P - Junho 2000

Page 11: Cópia de 1756-rm006a-pt-p

Prefácio 5

Estados do bloco de funções

O controlador avalia as instruções do bloco de funções baseado no estado das diferentes condições.

Todas as instruções do bloco de funções também incluem os parâmetros EnableIn e EnableOut:

• as instruções do bloco de funções são executadas normalmente quando EnableIn está energizado.

• quando EnableIn é removido, a instrução do bloco de funções executa a lógica de pré-varredura, a lógica de pós-varredura ou apenas salta a execução normal do algoritmo.

• EnableOut reflete EnableIn, entretanto, se a execução do bloco de funções detectar uma condição de overflow, EnableOut também é desabilitado.

• a execução do bloco de funções reinicia a partir do ponto onde ela é deixada quando EnableIn varia de desabilitado para habilitado. Entretanto, existem algumas instruções do bloco de funções que especificam funcionalidade especial, como a reinicialização, quando EnableIn varia de desabilitado para habilitado. Para as instruções do bloco de funções com parâmetros baseados no tempo, sempre que o modo de temporização for Oversample, a instrução sempre reinicia a partir do ponto onde ela foi deixada quando EnableIn variar de desabilitado para habilitado.

Se o parâmetro EnableIn não estiver conectado, a instrução sempre é executada normalmente e EnableIn permanece habilitado. Se você desabilitar EnableIn, ele muda para habilitado da próxima vez que a instrução for executada.

Condição Possível: Descrição:

pré-varredura A pré-varredura para as rotinas do bloco de funções é a mesma para as rotinas de lógica ladder. A única diferença é que o parâmetro EnableIn para cada instrução do bloco de funções é removido durante a pré-varredura.

primeira varredura da instrução

A primeira varredura da instrução refere-se ao tempo em que uma instrução é executada após a pré-varredura. O controlador usa a primeira varredura da instrução para ler as entradas atuais e determinar o estado apropriado em que deve permanecer.

primeira execução da instrução

A primeira execução da instrução refere-se ao primeiro tempo em que a instrução é executada com uma nova instância de uma estrutura de dados. O controlador usa a primeira execução da instrução para gerar coeficientes e outros armazenamentos de dados que não mudam para um bloco de funções após o descarregamento inicial.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 12: Cópia de 1756-rm006a-pt-p

Prefácio 6

IMPORTANTE Ao programar o bloco de funções, restrinja a faixa de unidades de medida

para +/–10+/–15, pois os cálculos internos de ponto flutuante são feitos usando ponto flutuante de precisão única. As unidades de medida fora desta faixa podem resultar em perda de precisão se os resultados se aproximarem

dos limites do ponto flutuante de precisão única (+/–10+/–38).

Publicação 1756-RM006A-PT-P - Junho 2000

Page 13: Cópia de 1756-rm006a-pt-p

Sumário

Capítulo 1Instruções de Controle de Processo

Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1Alarme (ALM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Monitoração da instrução ALM . . . . . . . . . . . . . . . . . . 1-4Dispositivo Discreto de 2 Estados (D2SD) . . . . . . . . . . . . . 1-6

Monitoração da instrução D2DS . . . . . . . . . . . . . . . . . 1-9Comutação entre o controle de Programa e o controle de Operação . . . . . . . . . . . . . . . . . . . . . . . . . 1-10Estado comandado no controle de Programa . . . . . . . . 1-11Estado comandado no controle de Operação . . . . . . . . 1-11Modo Hand (Manual) ou Override (Supressão) . . . . . . 1-12Estado da saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12Condições de alarme de falha . . . . . . . . . . . . . . . . . . . 1-13Condições de alarme de modo . . . . . . . . . . . . . . . . . . 1-13

Dispositivo Discreto de 3 Estados (D3SD) . . . . . . . . . . . . . 1-14Monitoração da instrução D3DS . . . . . . . . . . . . . . . . . 1-19Comutação entre o controle de Programa e o controle de Operação . . . . . . . . . . . . . . . . . . . . . . . . . 1-22Estado comandado no controle de Programa . . . . . . . . 1-22Estado comandado no controle de Operação . . . . . . . . 1-23Modo Hand (Manual) ou Override (Supressão) . . . . . . 1-23Estado da saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25Condições de alarme de falha . . . . . . . . . . . . . . . . . . . 1-25Condições de alarme de modo . . . . . . . . . . . . . . . . . . 1-26

Tempo Morto (DEDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27Execução do buffer de tempo morto . . . . . . . . . . . . . . 1-29Comportamento da instrução na transição de InFault. . 1-30

Gerador de Funções (FGEN) . . . . . . . . . . . . . . . . . . . . . . 1-32Avanço/Atraso (LDLG) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-36PID Avançado (PIDE) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-40

Cálculo de CV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-52Monitoração da instrução PIDE . . . . . . . . . . . . . . . . . . 1-52Comutação entre o controle de Programa e o controle de Operação . . . . . . . . . . . . . . . . . . . . . . . . . 1-57Modos de Operação . . . . . . . . . . . . . . . . . . . . . . . . . . 1-58Seleção do setpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-59Fornecimento de informações de alarme alto/baixo de PV 1-61Conversão dos valores de PV e SP para porcentagem . . 1-63Fornecimento de informações de alarme alto/baixo de desvio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-64Controle da zona morta do cruzamento zero. . . . . . . . 1-65Seleção da variável de controle . . . . . . . . . . . . . . . . . 1-66Controle da malha principal . . . . . . . . . . . . . . . . . . . . 1-70Processamento de Falhas . . . . . . . . . . . . . . . . . . . . . . 1-71

Proporcional de Posição (POSP) . . . . . . . . . . . . . . . . . . . . 1-72Conversão de Escala da posição e dos valores de setpoint 1-74Como a instrução POSP usa o temporizador de ciclo interno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-75Produção de pulsos de saída . . . . . . . . . . . . . . . . . . . . 1-75Cálculo dos tempos de pulso aberto e fechado . . . . . . 1-76

i Publicação 1756-RM006A-PT-P - Junho 2000

Page 14: Cópia de 1756-rm006a-pt-p

Sumário ii

Rampa/Saturação (RMPS) . . . . . . . . . . . . . . . . . . . . . . . . . 1-78Monitoração da instrução RMPS . . . . . . . . . . . . . . . . . . 1-82Modo inicial aplicado na primeira varredura da instrução 1-83Comutação entre o controle de Programa e o controle de Operação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-85Controle de Programa . . . . . . . . . . . . . . . . . . . . . . . . . 1-86Controle de Operação . . . . . . . . . . . . . . . . . . . . . . . . . 1-87Execução do perfil de rampa/saturação . . . . . . . . . . . . 1-88

Fator de Escala (SCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-91Gerador de Alarme (Alarming) . . . . . . . . . . . . . . . . . . 1-93Limiting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-93

Faixa de Tempo Proporcional “Split” (SRTP) . . . . . . . . . . . 1-95Uso de um temporizador de ciclo interno . . . . . . . . . . 1-97Cálculo dos tempos de aquecimento e resfriamento . . . 1-97

Totalizador (TOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-100Monitoração da instrução TOT . . . . . . . . . . . . . . . . . 1-104Verificação do corte da entrada low . . . . . . . . . . . . . 1-105Modos de Operação . . . . . . . . . . . . . . . . . . . . . . . . . 1-106Reset da Instrução TOT . . . . . . . . . . . . . . . . . . . . . . . 1-107Cálculo da totalização . . . . . . . . . . . . . . . . . . . . . . . . 1-107Determinação do alcance dos valores alvos . . . . . . . . 1-108

Capítulo 2Instruções de Drives Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

Integrador (INTG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Limiting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

Proporcional + Integral (PI) . . . . . . . . . . . . . . . . . . . . . . . 2-7Operação no modo linear . . . . . . . . . . . . . . . . . . . . . . 2-11Operação no modo não linear . . . . . . . . . . . . . . . . . . . 2-11Limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15

Multiplicador de Pulso (PMUL) . . . . . . . . . . . . . . . . . . . . . 2-18Cálculo da saída e do resto . . . . . . . . . . . . . . . . . . . . . 2-21

Curva S (SCRV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25Cálculo dos valores de saída e taxa . . . . . . . . . . . . . . . 2-29

Controlador de Segunda Ordem (SOC) . . . . . . . . . . . . . . . 2-33Limites de Parâmetro . . . . . . . . . . . . . . . . . . . . . . . . . 2-36Limiting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-36

Acumulador para Cima/para Baixo (Up/Down) (UPDN) . . 2-41

Capítulo 3Instruções de Filtro Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

Derivativo (DERV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2Filtro Passa Alta (HPF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5Atraso/Avanço de Segunda Ordem (LDL2) . . . . . . . . . . . . 3-10Filtro Passa Baixa (LPF) . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15Filtro de Rejeita Borda (NTCH) . . . . . . . . . . . . . . . . . . . . . 3-20

Publicação 1756-RM006A-PT-P - Junho 2000

Page 15: Cópia de 1756-rm006a-pt-p

Sumário iii

Capítulo 4Instruções de Seleção/Limite Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1

Seleção Avançada (ESEL) . . . . . . . . . . . . . . . . . . . . . . . . . 4-2Monitoração da instrução ESEL . . . . . . . . . . . . . . . . . . 4-6Comutação entre o controle de Programa e o controle de Operação . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

Limite Alto/Baixo (HLL) . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8Multiplexador (MUX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11Limitador de Taxa (RLIM) . . . . . . . . . . . . . . . . . . . . . . . . . 4-14Seleção (SEL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18Negação Selecionada (SNEG) . . . . . . . . . . . . . . . . . . . . . . 4-20Soma Selecionada (SSUM) . . . . . . . . . . . . . . . . . . . . . . . . 4-22

Capítulo 5Instruções Estatísticas Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

Média Móvel (MAVE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2Inicialização do algoritmo da média . . . . . . . . . . . . . . 5-4

Captura Máxima (MAXC) . . . . . . . . . . . . . . . . . . . . . . . . . 5-6Captura Mínima (MINC) . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8Desvio Padrão Móvel (MSTD) . . . . . . . . . . . . . . . . . . . . . . 5-10

Inicialização do algoritmo de desvio padrão . . . . . . . . 5-12

Capítulo 6Instruções de Deslocamento/Lógica

Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1E Booleano (BAND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2NÃO Booleano (BNOT) . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5OU Booleano (BOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7OU Exclusivo Booleano (BXOR) . . . . . . . . . . . . . . . . . . . . 6-10D Flip-Flop (DFF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12JK Flip-Flop (JKFF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15Reset Dominante (RESD) . . . . . . . . . . . . . . . . . . . . . . . . . 6-17Set Dominante (SETD) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20

Publicação 1756-RM006A-PT-P - Junho 2000

Page 16: Cópia de 1756-rm006a-pt-p

Sumário iv

Apêndice AAtributos do Bloco de Funções Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1

Dados Retentivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1Ordem de Execução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2Respostas do Bloco de Funções para Condições de Overflow A-5Modos de Temporização . . . . . . . . . . . . . . . . . . . . . . . . . A-5

Parâmetros comuns de instrução para os modos de temporização . . . . . . . . . . . . . . . . . . . . . . . A-7Características gerais dos modos de temporização . . . . . A-9

Controle de Programa/Operação . . . . . . . . . . . . . . . . . . A-10

Apêndice BAtributos Comuns Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1

Valores Imediatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1Conversões de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1

SINT ou INT para DINT . . . . . . . . . . . . . . . . . . . . . . . B-3Inteiro para REAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5DINT para SINT ou INT . . . . . . . . . . . . . . . . . . . . . . . B-5REAL para um inteiro . . . . . . . . . . . . . . . . . . . . . . . . . B-6

Apêndice CControles da Tela de Operação do Bloco de Funções

Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1Configuração das propriedades gerais . . . . . . . . . . . . . E-2Configuração das propriedades de display . . . . . . . . . . E-3Configuração das propriedades de fonte . . . . . . . . . . . E-4

Controle ALM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-5Controle ESEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-7Controle TOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-8Controle RMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-10Controle D2SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-13Controle D3SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-15Controle PIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-17

Índice

Quarta Capa

Publicação 1756-RM006A-PT-P - Junho 2000

Page 17: Cópia de 1756-rm006a-pt-p

Capítulo 1

Instruções de Controle de Processo

Introdução Estas instruções de controle de processo estão disponíveis:

Se você quiser: Use esta instrução: Consulte página:

fornecer informações de alarme para qualquer sinal analógico

Alarme (ALM) 1-2

controlar um dispositivo discreto que tem apenas dois estados possíveis, como ligado/desligado, aberto/fechado, etc.

Dispositivo Discreto de 2 Estados (D2SD)

1-6

controlar um dispositivo que tem três estados possíveis, como rápido/devagar/desligado, para frente/desligado/reversão, etc.

Dispositivo Discreto de 3 Estados (D3SD)

1-14

realizar um atraso de uma entrada única. Você seleciona a quantidade de atraso devido ao tempo morto.

Tempo Morto (DEDT) 1-27

converter uma entrada baseado em um função linear de por partes.

Gerador de Funções (FGEN) 1-32

fornecer uma compensação de avanço/atraso de fase para um sinal de entrada.

Avanço/Atraso (LDLG) 1-36

regular uma saída analógica para manter uma variável de processo a um determinado setpoint, usando um algoritmo PID.

PID Avançado (PIDE) 1-40

elevar ou abaixar um dispositivo pulsando contatos normalmente abertos ou fechados.

Posição Proporcional (POSP)

1-72

fornecer para a alternação de períodos de rampa e patamar.

Rampa/Saturação (RMPS) 1-78

converter um valor de entrada fora da escala para um valor de ponto flutuante em unidades de medida.

Escala (SCL) 1-91

tirar saídas de 0 – 100% de uma malha PID e acionar contatos de saídas digital de aquecimento e resfriamento com um pulso periódico.

Divisão da Faixa de Tempo Proporcional “Split” (SRTP)

1-95

fornecer um acumulador com tempo ajustável de um valor de entrada analógica.

Totalizador (TOT) 1-100

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 18: Cópia de 1756-rm006a-pt-p

1-2 Instruções de Controle de Processo

Alarme (ALM)

A instrução ALM fornece informações de alarme para qualquer sinal analógico.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura ALM: Parâmetros de entrada

Bloco de

Idiomas Disponíveis:

Operando Tipo: Formato: Descrição:

tag do bloco ALARM estrutura Estrutura ALM

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada do sinal analógico. válido = qualquer flutuantepadrão = 0,0

HHLimit REAL Limite de alarme alto-alto para a entrada. válido = qualquer valor realpadrão = valor máximo positivo

HLimit REAL Limite de alarme alto para a entrada.válido = qualquer valor realpadrão = valor máximo positivo

LLimit REAL Limite de alarme baixo para a entrada.válido = qualquer valor real.padrão = valor máximo negativo

LLLimit REAL Limite de alarme baixo-baixo para a entrada.válido = qualquer valor realpadrão = valor máximo negativo

Zona morta REAL Zona morta do alarme para os limites alto-alto a baixo-baixo.válido = qualquer valor real ≥ 0,0padrão = 0,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 19: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-3

Parâmetros de saída

ROCPosLimit REAL O limite da taxa de mudança de alarme em unidades por segundo para uma mudança positiva (aumento) na entrada. Configure ROCPosLimit = 0 para desabilitar o fornecimento de informações positivas de alarme ROC. Se inválida, a instrução assume um valor de 0,0 e energiza o bit apropriado em Status.válido = qualquer valor real ≥ 0,0padrão = 0,0

ROCNegLimit REAL O limite da taxa de mudança de alarme em unidades por segundo para uma mudança negativa (diminuição) na entrada. Configure ROCNegLimit = 0 para desabilitar o fornecimento de informações negativas de alarme ROC. Se inválida, a instrução assume um valor de 0,0 e energiza o bit apropriado em Status.válido = qualquer valor real ≥ 0,0padrão = 0,0

ROCPeriod REAL O período de tempo usado para avaliar as taxas de mudança de alarme (em segundos). Configure ROCPeriod = 0 para desabilitar o fornecimento de informações de alarme ROC e configurar o ROC de saída para zero. Se inválida, a instrução assume um valor de 0,0 e energiza o bit apropriado em Status.válido = qualquer valor real ≥ 0,0padrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

HHAlarm BOOL Indicador de alarme alto-alto.padrão = falso

HAlarm BOOL Indicador de alarme alto.padrão = falso

LAlarm BOOL Indicador de alarme baixo.padrão = falso

LLAlarm BOOL Indicador de alarme baixo-baixo.padrão = falso

ROCPosAlarm BOOL Indicador positivo da taxa de mudança de alarme. padrão = falso

ROCNegAlarm BOOL Indicador negativo da taxa de mudança de alarme.padrão = falso

ROC REAL Saída da taxa de mudança. Os flags de status estão energizados para esta saída.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

DeadbandInv (Status.1)

BOOL Valor de Zona Morta inválido.

ROCPosLimitInv (Status.2)

BOOL Valor do ROCPosLimit inválido

ROCNegLimitInv (Status.3)

BOOL Valor do ROCNegLimit inválido

ROCPeriodInv (Status.4)

BOOL Valor do ROCPeriod inválido

Publicação 1756-RM006A-PT-P - Junho 2000

Page 20: Cópia de 1756-rm006a-pt-p

1-4 Instruções de Controle de Processo

Descrição: A instrução ALM fornece indicadores de alarme para alto-alto, alto, baixo, baixo-baixo, taxa de mudança negativa e taxa de mudança positiva. Uma zona morta de alarme está disponível para alarmes alto-alto a baixo-baixo. Um período definido pelo usuário para realizar o fornecimento de informações da taxa de mudança de alarme também está disponível.

Monitoração da instrução ALM

Exite uma tela de operação disponível para a instrução ALM. Para maiores informações, consulte o apêndice Controles da Tela de Operação do Bloco de Funções

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída ROC.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Todas as saídas de alarme são desenergizadas. O totalizador de tempo transcorrido é desabilitado.

primeira execução da instrução Todas as saídas de alarme são desenergizadas.O totalizador de tempo transcorrido é desabilitado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 21: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-5

Exemplo de Bloco deFunções:

A instrução ALM é tipicamente usada com módulos de entrada analógica (como módulos de E/S 1771) que não suportam o fornecimento incorporado de informações de alarme ou para gerar alarmes em uma variável calculada. Neste exemplo, uma entrada analógica de um módulo 1771-IFE é a primeira a ser convertida em unidades de medida usando a instrução SCL. O Out da instrução SLC é uma entrada para a instrução ALM, para determinar se um alarme será energizado. Os parâmetros de saída de alarme resultantes podem ser usados em seu programa e/ou visualizados em um display de interface de operação.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 22: Cópia de 1756-rm006a-pt-p

1-6 Instruções de Controle de Processo

Dispositivo Discreto de 2 Estados (D2SD)

A instrução D2SD controla um dispositivo discreto que tem apenas dois estados possíveis, como ligado/desligado, aberto/fechado, etc.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura D2SD: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco DISCRETE_2STATE estrutura Estrutura D2SD

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

ProgCommand BOOL Usado para determinar o CommandStatus quando o dispositivo estiver em controle de Programação. Quando habilitado, o dispositivo é comandado para o estado 1; quando desabilitado, o dispositivo é comandado para o estado 0. o padrão é desabilitado

Oper0Req BOOL Solicitação do estado 0 pelo operador. Configurado pela interface de operação para colocar o dispositivo no estado 0 quando o dispositivo estiver no controle de Operação. o padrão é desabilitado

Oper1Req BOOL Entrada do estado 1 pelo operador. Configurado pela interface de operação para colocar o dispositivo no estado 1 quando o dispositivo estiver no controle de Operação.o padrão é desabilitado

State0Perm BOOL Estado 0 permitido. A não ser que esteja no modo Manual ou Supressão, esta entrada deve se energizada para que o dispositvo entre no estado 0. Esta entrada não tem efeito para um dispositivo que já está no estado 0. o padrão é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 23: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-7

State1Perm BOOL Estado 1 permitido. A não ser que esteja no modo Manual ou Supressão, esta entrada deve se energizada para que o dispositvo entre no estado 1. Esta entrada não tem efeito para um dispositivo que já está no estado 1.o padrão é habilitado

FB0 BOOL Primeira entrada de feedback disponível para a instrução D2SD. o padrão é desabilitado

FB1 BOOL Segunda entrada de feedback disponível para a instrução D2SD.o padrão é desabilitado

HandFB BOOL Entrada manual de feedback. Esta entrada é de uma estação de campo manual/desenergizada/automática e mostra o estado requisitado do dispositivo de campo. Quando energizado, o dispositivo de campo está sendo requisitado para entrar no estado 1; quando desenergizado, o dispositivo de campo está sendo requisitado para entrar no estado 0. o padrão é desabilitado

FaultTime REAL Valor de tempo de falha. Configura o valor, em segundos, do tempo, para permitir que o dispositivo alcance um estado comandado recentemente. Configure FaultTime = 0 para desabilitar o temporizador de falha. Se este valor for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status.válido = qualquer flutuante ≥ 0,0 padrão = 0,0

FaultAlarmLatch BOOL Entrada do alarme de falha será retentiva. Quando energizado e FaultAlarm estiver energizado, deixe FaultAlarm no estado retentivo. Para desenergizar FaultAlarm, energize FaultAlmUnlatch ou desenergize FaultAlarmLatch.o padrão é desabilitado

FaultAlmUnLatch BOOL Entrada de desenergização do alarme de falha. Energiza FaultAlmUnLatch quando FaultAlarmLatch está configurado para desenergizar FaultAlarm. A instrução desenergiza esta entrada. o padrão é desabilitado

OverrideOnInit BOOL Supressão no pedido de inicialização. Se este bit for energizado, durante a primeira varredura da instrução, o dispositivo de 2 estados é colocado no controle de Operação, Supressão é energizado e Manual é desenergizado. Se ProgHandReq for energizado, então Supressão é desenrgizado e Manual é energizado. o padrão é desabilitado

OverrideOnFault BOOL Supressão no pedido de falha. Energiza OverrideOnFault se o dispositivo deve ir para o modo de Supressão e insere o OverrideState em um alarme de falha. Depois que o alarme de falha for desabilitado, o dispositivo de 2 estados é colocado em controle de Operação. o padrão é desabilitado

OutReverse BOOL Reversão do estado de saída padrão. O estado padrão de Out é desabilitado quando comandado para o estado 0 e energizado quando comandado para o estado 1. Quando OutReverse é energizado, Out é energizado quando comandado para o estado 0 e desenergizado quando comandado para o estado 1. o padrão é desabilitado

OverrideState BOOL Entrada de Override. Configure este valor para especificar o estado do dispositivo quando o mesmo estiver no modo de Supressão. Energizado indica que o dispositivo deve ir para o estado 1; desenergizado indica que o dispositivo deve ir para o estado 0. o padrão é desabilitado

FB0State0 BOOL Entrada do estado 0 do feedback 0. Configura o estado do FB0 quando o dispositivo estiver no estado 0. o padrão é desabilitado

FB0State1 BOOL Entrada do estado 0 do feedback 1. Configura o estado do FB0 quando o dispositivo estiver no estado 1.o padrão é desabilitado

FB1State0 BOOL Entrada do estado 1 do feedback 0. Configura o estado do FB1 quando o dispositivo estiver no estado 0.o padrão é desabilitado

FB1State1 BOOL Entrada do estado 1 do feedback 1. Configura o estado do FB1 quando o dispositivo estiver no estado 1.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 24: Cópia de 1756-rm006a-pt-p

1-8 Instruções de Controle de Processo

Parâmetros de saída

ProgProgReq BOOL Solicitação de modo de programa pelo programa. Definido pelo programa do usuário para o pedido do controle de Programa. Ignorado se ProgOperReq estiver energizado. Manter a energização e ProgOperReq desenergizado trava a instrução no controle de Programa.o padrão é desabilitado

ProgOperReq BOOL Solicitação de modo de operação pelo programa. Definido pelo programa do usuário para o pedido do controle de Operação. Manter a energização trava a instrução no controle de Operação. o padrão é desabilitado

ProgOverrideReq BOOL Pedido de supressão do programa. Definido pelo programa do usuário para pedir que o dispositivo entre no modo de Supressão. Ignorado se ProgHandReq estiver energizado.o padrão é desabilitado

ProgHandReq BOOL Pedido manual do programa. Definido pelo programa do usuário para pedir que o dispositivo entre no modo Manual.o padrão é desabilitado

OperProgReq BOOL Pedido de programa de operação. Definido pela interface de operação para o pedido do controle de Programa. A instrução desenergiza esta entrada.o padrão é desabilitado

OperOperReq BOOL Solicitação de modo de operação pelo operador. Definido pela interface de operação para o pedido do controle de Operação. A instrução desenergiza esta entrada.o padrão é desabilitado

ProgValueReset BOOL Reseta valores de controle de programa. Quando energizado, todas as entradas de pedido de programa são desenergizadas a cada execução da instrução. o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:EnableOut BOOL Habilitação de saída.

Out BOOL Saída da instrução de 2 estados.

Device0State BOOL Saída do estado 0 do dispositivo. Energizado quando o dispositivo é comandado para o estado 0 e as realimentações indicam que o dispositivo está realmente no estado 0.

Device1State BOOL Saída do estado 1 do dispositivo. Energizado quando o dispositivo é comandado para o estado 1 e as realimentações indicam que o dispositivo está realmente no estado 1.

CommandStatus BOOL Saída de status do comando. Energizado quando o dispositivo está sendo comandado para o estado 1 e desenergizado quando o dispositivo está sendo comandado para o estado 0.

FaultAlarm BOOL Saída do alarme de falha. Energizado se o dispositivo foi comandado para um novo estado e FaultTime expirou sem que as realimentações indicassem que o novo estado foi realmente alcançado. Também é energizado se, depois de atingir um estado comandado, as realimentações indicarem, de repente, que o dispositivo não está mais no estado comandado.

ModeAlarm BOOL Saída do alarme de modo. Energizado se o dispositivo estiver em controle de Operação e um comando de programa mudar para um estado que seja diferente do estado atual comandado pelo operador. Este alarme deve ser um lembrete que um dispositivo foi deixado em controle de Operação.

ProgOper BOOL Indicador de controle de Programa/Operação. Energizado quando estiver em controle de Programa. Desenergizado quando estiver em controle de Operação.

Override BOOL Modo de Supressão. Energizado quando o dispositivo estiver no modo de Supressão.

Manual BOOL Modo Manual. Energizado quando o dispositivo estiver no modo Manual.

Status: DINT Status do bloco de funções.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 25: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-9

Descrição: A instrução D2SD controla um dispositivo discreto que tem apenas dois estados possíveis, como ligado/desligado, aberto/fechado, etc. Dispositivos discretos típicos desta natureza incluem motores, bombas e válvulas de solenóide.

Monitoração da instrução D2DS

Exite uma tela de operação disponível para a instrução D2DS. Para maiores informações, consulte o apêndice Controles da Tela de Operação do Bloco de Funções

Flags de Status Aritmético: Os flags de status aritmético não são afetados.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

FaultTimeInv (Status.1) BOOL Valor de FaultTime inválido. A instrução configura FaultTime = 0.

OperReqInv (Status.2) BOOL Ambos os bits de pedido de estado de operação são energizados.

Parâmetro de Saída: Tipo de Dados: Descrição:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução O temporizador de falha é desabilitado. ModeAlarm é desabilitado.Todas as entradas de pedido de operação são desenergizadas. Se ProgValueReset for energizado, todas as entradas de pedidos do programa são desenergizadas.Quando OverrideOnInit for habilitado, ProgOper é desabilitado (Controle de Operação).Se ProgHandReq for desabilitado e OverrideOnInit for habilitado, desabilite Hand e habilite Overrride (modo de Supressão). Se ProgHandReq for habilitado, habilite Hand e desabilite Override (modo Manual).

primeira execução da instrução ProgOper e CommandStatus são desabilitados.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 26: Cópia de 1756-rm006a-pt-p

1-10 Instruções de Controle de Processo

Exemplo de Bloco deFunções:

Comutação entre o controle de Programa e o controle de Operação

O seguinte diagrama mostra como a instrução D2SD muda entre o controle de Programa e o controle de Operação.

(1) A instrução permanece no modo de controle de Operação quando ProgOperReq é energizado.

A instrução D2SD é tipicamente usada para controlar dispositivos de energização-desernergização (on-off) e abertura-fechamento (open-close), como bombas ou válvulas de solenóide. Neste exemplo, a instrução D2SD controla uma válvula de solenóide adicionando xarope de glucose a um tanque em um processo de batelada. Enquanto a instrução D2SD estiver no controle de Programa, a válvula se abre quando a entrada AddSyrup estiver energizada. O operador também pode tomar o controle de Operação da válvula para abri-la ou fechá-la, se necessário. A válvula de solenóide neste exemplo tem chaves de fim de curso que indicam quando a válvula está totalmente aberta ou totalmente fechada. Estas chaves são conectadas nas entradas de feedback FB0 e FB1. Isto permite que a instrução D2SD gere um FaultAlarm (aviso de falha) se a válvula de solenóide não alcançar o estado comandado no FaultTime (tempo de falha) configurado.

Controle de Programa Controle de Operação

OperOperReq é habilitado quando ProgProgReq é desabilitado

ProgOperReq é habilitado (1)

Override (Supressão) faz a transição de energizado para desenergizado e Hand (Manual) é desenergizadoHand (Manual) faz a transição de energizado para desenergizado e Override (Supressão) é desenergizado

ProgProgReq é energizado quando ProgOperReq é desenergizado

OperProgReq é energizado quando ProgOperReq é desenergizado e OperOperReq é desenergizado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 27: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-11

Estado comandado no controle de Programa

O seguinte diagrama ilustra como a instrução D2SD opera quando está no controle de Programa.

Estado comandado no controle de Operação

O seguinte diagrama ilustra como a instrução D2SD opera quando está no controle de Operação.

Se Oper0Req e Oper1Req estiverem energizados:

• a instrução energiza o bit apropriado em Status

• se Override e Hand forem desenergizados, a instrução mantém o estado anterior

Após cada execução da instrução, a instrução:

• desenergiza todas as entradas de pedido de operação

• se ProgValueReset for energizado, todas as entradas de pedidos do programa são desenergizadas

Status do Comando Energizado

Status do Comando Desenergizado

ProgCommand é desenergizadoState0Perm é energizado

ProgCommand é energizadoState1Perm é energizado

Status do Comando Energizado

Status do Comando Desenergizado

Oper0Req é energizadoState0Perm é energizado

Oper1Req é energizadoState1Perm é energizado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 28: Cópia de 1756-rm006a-pt-p

1-12 Instruções de Controle de Processo

Modo Hand (Manual) ou Override (Supressão)

A seguinte tabela descreve como a instrução D2SD determina se operará no modo Hand (Manual) ou Override (Supressão)

Quando a instrução estiver no modo Override (Supressão), CommandStatus (Status do Comando) = OverrideState (Estado de Supressão)

Quando a instrução estiver no modo Hand (Manual), CommandStatus (Status do Comando) = HandFB

Estado da saída

O estado da saída D2SD é baseado no estado do status do comando.

ProgHandReq: ProgOverrideReq: FaultAlarm e OverrideOnFault:

Descrição:

energizar/habilitar qualquer qualquer Modo Hand (Manual)Hand é habilitadoOverride é desabilitado

desabilitado energizar/habilitar qualquer Modo Override (Supressão)Hand é desabilitadoOverride é habilitado

desabilitado qualquer energizar/habilitar Modo Override (Supressão)Hand é desabilitadoOverride é habilitado

CommandStatus: Estado da saída:

desenergizado Se OutReverse for desabilitado, Out é desabilitadose OutReverse for habilitado, Out é habilitado

energizar/habilitar se OutReverse for desabilitado, Out é habilitadose OutReverse for habilitado, Out é desabilitado

desabilitado eFB0 = FB0State0 eFB1 = FB1State0

o temporizador de falhas é parado e desenergizadoDevice0State é energizado

energizado eFB0 = FB0State1 eFB1 = FB1State1

o temporizador de falhas é parado e desenergizadoDevice1State é energizado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 29: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-13

Condições de alarme de falha

A instrução D2SD verifica estas condições de alarme de falha.

FaultAlarm é desabilitado se uma das seguintes condições for atendida:

• CommandStatus é desabilitado e Device0State é habilitado

• CommandStatus é habilitado e Device1State é habilitado

• FaultTime ≤ 0

FaultAlarm não pode ser desabilitado quando FaultAlarmLatch é habilitado, a menos que FaultAlmUnlatch esteja habilitado e nenhuma falha for encontrada.

Condições de alarme de modo

O alarme de modo avisa um operador que um dispositivo foi deixado em controle de operação. O alarme de modo é energizado apenas quando está no modo de controle de operação, o programa tenta mudar o estado do dispositivo a partir do estado de operação comandado. O alarme não energiza se um operador colocar um dispositivo no modo de operação e mudar o estado. A instrução D2SD verifica as condições de alarme de modo, usando estas regras.

Condição de alarme de falha resultante de: Regras:

o estado do dispositivo foi comandado para mudar, mas o feedback não indicou que o estado desejado já tenha sido alcançado no FaultTime (Tempo de Falha).

Inicializar o temporizador de falhas quando CommandStatusn ≠ CommandStatusn-1Energizar FaultAlarm quando o temporizador de falhas estiver concluído e FaultTime > 0.0

o dispositivo saiu de um estado inesperadamente (de acordo com o feedback) sem ser comandado.

Energizar FaultAlarm quando o temporizador de falhas não estiver temporizando e uma das seguintes condições for satisfeita:

CommandStatus é desabilitado e Device0State é desabilitadoCommandStatus é habilitado e Device1State é desabilitado

ModeAlarm: Quando:

energizar/habilitar ProgCommandn ≠ ProgCommandn-1 e ProgCommandn ≠ CommandStatus

desabilitado ProgCommand = CommandStatus ouo dispositivo está no modo de supressão, manual ou de controle de programa

Publicação 1756-RM006A-PT-P - Junho 2000

Page 30: Cópia de 1756-rm006a-pt-p

1-14 Instruções de Controle de Processo

Dispositivo Discreto de 3 Estados (D3SD)

A instrução D3SD controla um dispositivo discreto que tem três estados possíveis, como rápido/devagar/desligado, para frente/desligado/reversão, etc.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura D3SD: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando Tipo: Formato: Descrição:

tag do bloco DISCRETE_3STATE estrutura Estrutura D3SD

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

Prog0Command BOOL Comando do estado 0 quando em modo de Programa. Esta entrada determina o estado do dispositivo quando o dispositivo estiver em controle de Programa. Se energizado, o dispositivo é comandado para o estado 0.o padrão é desabilitado

Prog1Command BOOL Comando do estado 1 quando em modo de Programa. Esta entrada determina o estado do dispositivo quando o dispositivo estiver em controle de Programa. Se energizado, o dispositivo é comandado para o estado 1.o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 31: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-15

Prog2Command BOOL Comando de estado 2 de programa. Esta entrada determina o estado do dispositivo quando o dispositivo estiver em controle de Programa. Se energizado, o dispositivo é comandado para o estado 2.o padr ão é desabilitado

Oper0Req BOOL Solicitação de estado 0 pelo operador. Configurado pela interface de operação para colocar o dispositivo no estado 0 quando o dispositivo estiver no controle de Operação.o padrão é desabilitado

Oper1Req BOOL Estado 1 de operação requisitado. Configurado pela interface de operação para colocar o dispositivo no estado 1 quando o dispositivo estiver no controle de Operação.o padrão é desabilitado

Oper2Req BOOL Estado 2 de operação requisitado. Configurado pela interface de operação para colocar o dispositivo no estado 2 quando o dispositivo estiver no controle de Operação.o padrão é desabilitado

State0Perm BOOL Estado 0 permitido. A não ser que esteja no modo Manual ou Supressão, esta entrada deve se energizada para que o dispositvo entre no estado 0. Esta entrada não tem efeito se o dispositivo já estiver no estado 0.o padrão é habilitado

State1Perm BOOL Estado 1 permitido. A não ser que esteja no modo Hand (Manual) ou Override (Supressão), esta entrada deve se energizada para que o dispositvo entre no estado 1. Esta entrada não tem efeito se o dispositivo já estiver no estado 1.o padrão é habilitado

State2Perm BOOL Estado 2 permitido. A não ser que esteja no modo Hand (Manual) ou Override (Supressão), esta entrada deve se energizada para que o dispositvo entre no estado 2. Esta entrada não tem efeito se o dispositivo já estiver no estado 2.o padrão é habilitado

FB0 BOOL Primeira entrada de feedback disponível para a instrução.o padrão é desabilitado

FB1 BOOL Segunda entrada de feedback disponível para a instrução.o padrão é desabilitado

FB2 BOOL Terceira entrada de feedback disponível para a instrução.o padrão é desabilitado

FB3 BOOL Quarta entrada de feedback disponível para a instrução.o padrão é desabilitado

HandFB0 BOOL Estado 0 de feedback Hand (Manual). Esta entrada é de uma estação de campo manual/desenergizada/automática e mostra o estado requisitado do dispositivo de campo. Energizado significa que o dispositivo de campo está sendo requisitado para entrar no estado 0; desenergizado indica que o dispositivo de campo está sendo requisitado para entrar em outro estado qualquer.o padrão é desabilitado

HandFB1 BOOL Estado 1 de feedback Hand (Manual). Esta entrada é de uma estação de campo manual/desenergizada/automática e mostra o estado requisitado do dispositivo de campo. Energizado significa que o dispositivo de campo está sendo requisitado para entrar no estado 1; desenregizado indica que o dispositivo de campo está sendo requisitado para entrar em outro estado qualquer.o padrão é desabilitado

HandFB2 BOOL Estado 2 de feedback Hand (Manual). Esta entrada é de uma estação de campo manual/desenergizada/automática e mostra o estado requisitado do dispositivo de campo. Energizado significa que o dispositivo de campo está sendo requisitado para entrar no estado 2; desenergizado indica que o dispositivo de campo está sendo requisitado para entrar em outro estado qualquer.o padrão é desabilitado

FaultTime REAL Valor de tempo de falha. Configura o valor, em segundos, do tempo, para permitir que o dispositvo alcance um estado comandado recentemente. Configure FaultTime = 0 para desabilitar o temporizador de falha. Se este valor for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status.válido = qualquer flutuante ≥ 0,0 padrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 32: Cópia de 1756-rm006a-pt-p

1-16 Instruções de Controle de Processo

FaultAlarmLatch BOOL Entrada do alarme de falha será retentiva. Quando energizado e FaultAlarm estiver energizado, deixe FaultAlarm no estado retentivo. Para destravar FaultAlarm, energize FaultAlmUnlatch ou desenergize FaultAlarmLatch.o padrão é desabilitado

FaultAlmUnLatch BOOL Entrada que desenregiza o alarme de falha. Energiza esta entrada quando FaultAlarmLatch está configurado para desenergizar FaultAlarm. A instrução desenergiza esta entrada.o padrão é desabilitado

OverrideOnInit BOOL Supressão no pedido de inicialização. Se este bit for energizado, durante a primeira varredura da instrução, a instrução é colocada em controle de Operação, com Override (Supressão) energizado e Hand (Manual) desenergizado. Se ProgHandReq for energizado, então Supressão é desenergizado e Manual é energizado.o padrão é desabilitado

OverrideOnFault BOOL Supressão no pedido de falha. Energiza este valor se o dispositivo deve ir para o modo Override (Supressão) e insere o OverrideState em um alarme de falha. Depois que o alarme de falha for desabilitado, a instrução é colocada em controle de Operação.o padrão é desabilitado

Out0State0 BOOL Entrada do estado 0 da saída 0. Este valor determina o valor de Output0 quando o dispositivo estiver no estado 0. o padrão é desabilitado

Out0State1 BOOL Entrada do estado 0 da saída 1. Este valor determina o valor de Output0 quando o dispositivo estiver no estado 1.o padrão é desabilitado

Out0State2 BOOL Entrada do estado 2 da saída 0. Este valor determina o valor de Output0 quando o dispositivo estiver no estado 2.o padrão é desabilitado

Out1State0 BOOL Entrada do estado 1 da saída 0. Este valor determina o valor de Output1 quando o dispositivo estiver no estado 0.o padrão é desabilitado

Out1State1 BOOL Entrada do estado 1 da saída 1. Este valor determina o valor de Output1 quando o dispositivo estiver no estado 1.o padrão é desabilitado

Out1State2 BOOL Entrada do estado 1 da saída 2. Este valor determina o valor de Output1 quando o dispositivo estiver no estado 2.o padrão é desabilitado

Out2State0 BOOL Entrada do estado 2 da saída 0. Este valor determina o valor de Output2 quando o dispositivo estiver no estado 0.o padrão é desabilitado

Out2State1 BOOL Entrada do estado 2 da saída 1. Este valor determina o valor de Output2 quando o dispositivo estiver no estado 1.o padrão é desabilitado

Out2State2 BOOL Entrada do estado 2 da saída 2. Este valor determina o valor de Output2 quando o dispositivo estiver no estado 2.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 33: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-17

OverrideState DINT Entrada de Override. Energize esta entrada para indicar o estado do dispositivo quando estiver no modo Override (Supressão).Valor: Indica:2 o dispositivo deve ir para o estado 21 o dispositivo deve ir para o estado 10 o dispositivo deve ir para o estado 0

Um valor inválido energiza o bit apropriado em Status e previne que a instrução entre no estado de supressão. válido = 0 a 2padrão = 0

FB0State0 BOOL Entrada do estado 0 do feedback 0. Este valor determina o valor esperado de FB0 quando o dispositivo estiver no estado 0.o padrão é desabilitado

FB0State1 BOOL Entrada do estado 1 do feedback 0. Este valor determina o valor esperado de FB0 quando o dispositivo estiver no estado 1.o padrão é desabilitado

FB0State2 BOOL Entrada do estado 2 do feedback 0. Este valor determina o valor esperado de FB0 quando o dispositivo estiver no estado 2.o padrão é desabilitado

FB1State0 BOOL Entrada do estado 0 do feedback 1. Este valor determina o valor esperado de FB1 quando o dispositivo estiver no estado 0.o padrão é desabilitado

FB1State1 BOOL Entrada do estado 1 do feedback 1. Este valor determina o valor esperado de FB1 quando o dispositivo estiver no estado 1.o padrão é desabilitado

FB1State2 BOOL Entrada do estado 2 do feedback 1. Este valor determina o valor esperado de FB1 quando o dispositivo estiver no estado 2.o padrão é desabilitado

FB2State0 BOOL Entrada do estado 0 do feedback 2. Este valor determina o valor esperado de FB2 quando o dispositivo estiver no estado 0.o padrão é desabilitado

FB2State1 BOOL Entrada do estado 1 do feedback 2. Este valor determina o valor esperado de FB2 quando o dispositivo estiver no estado 1.o padrão é desabilitado

FB2State2 BOOL Entrada do estado 2 do feedback 2. Este valor determina o valor esperado de FB2 quando o dispositivo estiver no estado 2.o padrão é desabilitado

FB3State0 BOOL Entrada do estado 0 do feedback 3. Este valor determina o valor esperado de FB3 quando o dispositivo estiver no estado 0.o padrão é desabilitado

FB3State1 BOOL Entrada do estado 1 do feedback 3. Este valor determina o valor esperado de FB3 quando o dispositivo estiver no estado 1.o padrão é desabilitado

FB3State2 BOOL Entrada do estado 2 do feedback 3. Este valor determina o valor esperado de FB3 quando o dispositivo estiver no estado 2.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 34: Cópia de 1756-rm006a-pt-p

1-18 Instruções de Controle de Processo

Parâmetros de saída

ProgProgReq BOOL Solicitação de modo de programa pelo programa. Definido pelo programa do usuário para o pedido do controle de Programa. Ignorado se ProgOperReq estiver energizado. Manter a energização e o ProgOperReq desabilitado trava a instrução no controle de Programa.o padrão é desabilitado

ProgOperReq BOOL Pedido de operação do programa. Definido pelo programa do usuário para o pedido do controle de Operação. Manter a energização trava a instrução no controle de Operação.o padrão é desabilitado

ProgOverrideReq BOOL Pedido de supressão do programa. Definido pelo programa do usuário para pedir que o dispositivo entre no modo de Supressão. Ignorado se ProgHandReq estiver energizado.o padrão é desabilitado

ProgHandReq BOOL Pedido manual do programa. Definido pelo programa do usuário para pedir que o dispositivo entre no modo Manual.o padrão é desabilitado

OperProgReq BOOL Pedido de programa de operação. Definido pela interface de operação para o pedido do controle de Programa. A instrução desenergiza esta entrada.o padrão é desabilitado

OperOperReq BOOL Solicitação de modo de operação pelo operador. Definido pela interface de operação para o pedido do controle de Operação. A instrução desenergiza esta entrada.o padrão é desabilitado

ProgValueReset BOOL Reseta valores de controle de programa. Quando habilitado, todas as entradas de pedido de programa são desenergizadas a cada execução da instrução.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out0 BOOL Primeira saída da instrução.

Out1 BOOL Segunda saída da instrução.

Out2 BOOL Terceira saída da instrução.

Device0State BOOL Saída do estado 0 do dispositivo. Energizado quando o dispositivo é comandado para o estado 0 e o feedback indica que o dispositivo está realmente no estado 0.

Device1State BOOL Saída do estado 1 do dispositivo. Energizado quando o dispositivo é comandado para o estado 1 e o feedback indica que o dispositivo está realmente no estado 1.

Device2State BOOL Saída do estado 2 do dispositivo. Energizado quando o dispositivo é comandado para o estado 2 e o feedback indica que o dispositivo está realmente no estado 2.

Command0Status BOOL Status do comando 0 do dispositivo. Energizado quando o dispositivo está sendo comandado para o estado 0; desenergizado quando o dispositivo está sendo comandado para outro estado qualquer.

Command1Status BOOL Status do comando 1 do dispositivo. Energizado quando o dispositivo está sendo comandado para o estado 1; desenergizado quando o dispositivo está sendo comandado para outro estado qualquer.

Command2Status BOOL Status do comando 2 do dispositivo. Energizado quando o dispositivo está sendo comandado para o estado 2; desenergizado quando o dispositivo está sendo comandado para outro estado qualquer.

FaultAlarm BOOL Saída do alarme de falha. Energizado se o dispositivo foi comandado para um novo estado e FaultTime expirou sem que o feedback indicasse que o novo estado foi realmente alcançado. Também é energizado se, depois de atingir um estado comandado, as realimentações indicarem, de repente, que o dispositivo não está mais no estado comandado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 35: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-19

Descrição: A instrução D3SD controla um dispositivo discreto que tem três estados possíveis, como rápido/devagar/desligado, para frente/desligado/reversão, etc. Dispositivos discretos típicos desta natureza incluem sistemas de alimentação, motores reversíveis, etc.

Monitoração da instrução D3DS

Existe uma tela de operação disponível para a instrução D3DS. Para maiores informações, consulte o apêndice Controles da Tela de Operação do Bloco de Funções

Flags de Status Aritmético: Os flags de status aritmético não são afetados.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

ModeAlarm BOOL Saída do alarme de modo. Energizado se o dispositivo estiver em controle de Operação e um comando de programa mudar para um estado que seja diferente do estado atual comandado pelo operador. Este alarme deve ser um lembrete que um dispositivo foi deixado em controle de Operação.

ProgOper BOOL Indicador de controle de Programa/Operação. Energizado quando estiver em controle de Programa. Desenergizado quando estiver em controle de Operação.

Override BOOL Modo de Supressão. Energizado quando o dispositivo estiver no modo de Supressão.

Manual BOOL Modo Manual. Energizado quando o dispositivo estiver no modo Manual.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

FaultTimeInv (Status.1) BOOL Valor de FaultTime inválido. A instrução configura FaultTime = 0.

OverrideStateInv (Status.2)

BOOL O valor de Override (Supressão) está fora da faixa

ProgCommandInv (Status.3)

BOOL Múltiplos bits de comando de estado de programa são energizados ao mesmo tempo

OperReqInv (Status.4) BOOL Múltiplos bits de pedido de estado de operação são energizados ao mesmo tempo.

HandCommandInv (Status.5)

BOOL Múltiplos bits de pedido de estado de manual são energizados ao mesmo tempo.

Parâmetro de Saída: Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 36: Cópia de 1756-rm006a-pt-p

1-20 Instruções de Controle de Processo

Execução do Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução O temporizador de falha é desabilitado.ModeAlarm é desenergizado.Todas as entradas de pedido de operação são desenergizadas.Se ProgValueReset for energizado, todas as entradas de pedidos do programa são desenergizadas.Quando OverrideOnInit for energizado, ProgOper é desenergizado (Controle de Operação).Se ProgHandReq for desenergizado e OverrideOnInit for energizado, desenergize Hand e energize Overrride (modo de Supressão).Se ProgHandReq for energizado, energize Hand e desenergize Override (modo Manual).

primeira execução da instrução ProgOper e CommandStatus são desenergizados.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é desabilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 37: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-21

Exemplo de Bloco deFunções:

A instrução D3SD é tipicamente usada para controlar dispositivos de 3 estados, como sistemas de alimentação alto/baixo/desenergizado. Neste exemplo, a instrução D3SD controla um sistema de alimentação que consiste de um par de válvulas de solenóide adicionando óleo vegetal a um tanque em um processo de batelada. Uma das válvulas está em um duto de alimentação com diâmetro grande no tanque em um processo de batelada e a outra válvula está colocada em paralelo, em um duto de alimentação de diâmetro pequeno. Quando o óleo é adicionado pela primeira vez, a instrução D3SD é comandada para o estado de alimentação rápido (estado 2), onde ambas as válvulas estão abertas. Quando o óleo adicionado alcança uma certa quantidade, a instrução D3SD é comandada para o estado de alimentação lenta (estado 1), onde a “válvula grande” está fechada e a “válvula pequena” é mantida aberta. Quando o alvo é alcançado, a instrução D3SD é comandada para o estado de desenergização (estado 0), onde ambas as válvulas estão fechadas. Enquanto a instrução D3SD estiver no controle de Programa, as válvulas se abrem de acordo com as entradas CloseOilFeed, SlowOilFeed e FastOilFeed. O operador também pode assumir o controle de Operação do sistema de alimentação, se necessário. As válvulas de solenóide neste exemplo têm chaves de fim de curso que indicam quando as válvulas estão totalmente abertas ou totalmente fechadas. Estas chaves são conectadas nas entradas de feedback FB0, FB1, FB2 e FB3. Isto permite que a instrução D3SD gere um FaultAlarm (aviso de falha) se as válvulas de solenóide não alcançarem os estados comandados no FaultTime (tempo de falha) configurado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 38: Cópia de 1756-rm006a-pt-p

1-22 Instruções de Controle de Processo

Comutação entre o controle de Programa e o controle de Operação

O seguinte diagrama mostra como a instrução D3SD muda entre o controle de Programa e o controle de Operação.

(1) A instrução permanece no modo de controle de Operação quando ProgOperReq é energizado.

Estado comandado no controle de Programa

A seguinte tabela descreve como a instrução D3SD opera quando está no controle de Programa.

Se mais de uma entrada de comando de programa estiver energizada:

• a instrução energiza o bit apropriado em Status

• se Override (Supressão) e Hand (Manual) forem desenergizados a instrução mantém o estado anterior

Controle de Programa Controle de Operação

OperOperReq é energizado quando ProgProgReq é desenergizado

ProgOperReq é energizado (1)

Override (Supressão) faz a transição de energizado para desenergizado e Hand (Manual) é desenergizadoHand (Manual) faz a transição de energizado para desenergizado e Override (Supressão) é desenergizado

ProgProgReq é energizado quando ProgOperReq é desenergizado

OperProgReq é energizado quando ProgOperReq é desenergizado e OperOperReq é desenergizado

Prog0Command:

Prog1Command:

Prog2Command:

State0Perm:

State1Perm:

State2Perm:

Descrição:

desenergizado desenergizado energizar/habilitar

qualquer qualquer energizar/habilitar

Command0Status é desenergizadoCommand1Status é desenergizadoCommand2Status é energizado

desenergizado energizar/habilitar

desenergizado qualquer energizar/habilitar

qualquer Command0Status é desenergizadoCommand1Status é energizadoCommand2Status é desenergizado

energizar/habilitar

desenergizado desenergizado energizar/habilitar

qualquer qualquer Command0Status é energizadoCommand1Status é desenergizadoCommand2Status é desenergizado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 39: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-23

Estado comandado no controle de Operação

A seguinte tabela descreve como a instrução D3SD opera quando está no controle de Operação.

Se mais de uma entrada de comando de operação estiver energizada:

• a instrução energiza o bit apropriado em Status

• se Override (Supressão) e Hand (Manual) forem desenergizados a instrução mantém o estado anterior

Após cada execução da instrução, a instrução:

• desenergiza todas as entradas de pedido de operação

• se ProgValueReset for energizado, todas as entradas de pedidos do programa são desenergizadas

Modo Hand (Manual) ou Override (Supressão)

A seguinte tabela mostra como a instrução D3SD determina se operará no modo Hand (Manual) ou Override (Supressão)

Oper0Req: Oper1Req: Oper2Req: State0Perm:

State1Perm:

State2Perm:

Descrição:

desenergizado desenergizado energizar/habilitar

qualquer qualquer energizar/habilitar

Command0Status é desenergizadoCommand1Status é desenergizadoCommand2Status é energizado

desenergizado energizar/habilitar

desenergizado qualquer energizar/habilitar

qualquer Command0Status é desenergizadoCommand1Status é energizadoCommand2Status é desenergizado

energizar/habilitar

desenergizado desenergizado energizar/habilitar

qualquer qualquer Command0Status é energizadoCommand1Status é desenergizadoCommand2Status é desenergizado

ProgHandReq: ProgOverrideReq: FaultAlarm e OverrideOnFault:

Descrição:

energizar/habilitar qualquer qualquer Modo Hand (Manual)Hand é energizadoOverride é desnergizado

desenergizado energizar/habilitar qualquer Modo Override (Supressão)Hand é desabilitadoOverride é energizado

desenergizado qualquer energizar/habilitar Modo Override (Supressão)Hand é desabilitadoOverride é energizado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 40: Cópia de 1756-rm006a-pt-p

1-24 Instruções de Controle de Processo

Quando Override (Supressão) é energizado, tem precedência sobre o controle de Programa e Operação. A seguinte tabela mostra como o modo Override (Supressão) afeta o estado comandado.

Se OverrideState for inválido, a instrução energiza o bit apropriado em Status e não entra no estado de supressão (override).

Quando Hand (Manual) é energizado, tem precedência sobre o controle de Programa e Operação. A seguinte tabela mostra como o modo hand (manual) afeta o estado comandado.

Se mais de uma entrada HandFB estiver energizada, a instrução energiza o bit apropriado em Status, se Hand (Manual) estiver energizado, a instrução mantém o estado anterior.

Override (Supressão):

Estado Override (Supressão):

Descrição:

energizar/habilitar 2 Command0Status é desenergizadoCommand1Status é desenergizadoCommand2Status é energizado

energizar/habilitar 1 Command0Status é desenergizadoCommand1Status é energizadoCommand2Status é desenergizado

energizar/habilitar 0 Command0Status é energizadoCommand1Status é desenergizadoCommand2Status é desenergizado

Hand (Manual): HandFB0: HandFB1: HandFB2: Descrição:

energizar/habilitar

desenergizado desenergizado energizar/habilitar

Command0Status é desenergizadoCommand1Status é desenergizadoCommand2Status é energizado

energizar/habilitar

desenergizado energizar/habilitar

desenergizado Command0Status é desenergizadoCommand1Status é energizadoCommand2Status é desenergizado

energizar/habilitar

energizar/habilitar

desenergizado desenergizado Command0Status é energizadoCommand1Status é desenergizadoCommand2Status é desenergizado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 41: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-25

Estado da saída

O estado da saída D3SD é baseado no estado do status do comando.

Condições de alarme de falha

A instrução D3SD verifica estas condições de alarme de falha.

CommandStatus: Estado da saída:

Command0Status é energizado Out0 = Out0State0Out1 = Out1State0Out2 = Out2State0

Command0Status é energizado eFB0 = FB0State0 eFB1 = FB1State0 eFB2 = FB2State0 eFB3 = FB3State0

pára e remove o temporizador de falhasDevice0State é energizado

Command1Status é energizado Out0 = Out0State1Out1 = Out1State1Out2 = Out2State2

Command1Status é energizado eFB0 = FB0State1 eFB1 = FB1State1 eFB2 = FB2State1 eFB3 = FB3State1

pára e remove o temporizador de falhas,Device1State é energizado

Command2Status é energizado Out0 = Out0State2Out1 = Out1State2Out2 = Out2State2

Command2Status é energizado eFB0 = FB0State2 eFB1 = FB1State2 eFB2 = FB2State2 eFB3 = FB3State2

pára e remove o temporizador de falhasDevice2State é energizado

Condição de alarme de falha resultante de: Regras:

o estado do dispositivo foi comandado para mudar, mas o feedback não indicou que o estado desejado já foi alcançado no FaultTime (Tempo de Falha).

Iniciar o temporizador de falhas quando Command0Statusn ≠ Command0Statusn-1 or Command1Statusn ≠ Command1Statusn-1 ou Command2Statusn ≠ Command2Statusn-1Energizar FaultAlarm quando o temporizador de falhas estiver concluído e FaultTime > 0.0

o dispositivo deixou um estado inesperado (de acordo com o feedback) sem ser comandado.

Energizar FaultAlarm quando o temporizador de falhas não estiver em temporização e uma das seguintes condições for satisfeita:

Command0Status é energizado e Device0State é desenergizadoCommand1Status é energizado e Device1State é desenergizadoCommand2Status é energizado e Device2State é desenergizado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 42: Cópia de 1756-rm006a-pt-p

1-26 Instruções de Controle de Processo

Se não há falhas presentes, FaultAlarm é desabilitado se uma das seguintes condições for atendida:

• Command0Status é energizado e Device0State é energizado

• Command1Status é energizado e Device1State é energizado

• Command2Status é energizado e Device2State é energizado

• FaultTime ≤ 0

FaultAlarm não pode ser desenergizado quando FaultAlarmLatch é energizado, a menos que FaultAlmUnlatch esteja energizado e nenhuma falha for encontrada.

Condições de alarme de modo

O alarme de modo avisa um operador que um dispositivo foi deixado em controle de operação. O alarme de modo é energizado apenas quando está no modo de controle de Operação, o programa tenta mudar para o estado do dispositivo a partir do estado de operação comandado. O alarme não energiza se um operador colocar um dispositivo em controle de Operação e mudar o modo. A instrução D3SD verifica as condições de alarme de modo, usando estas regras.

ModeAlarm: Quando:

energizar/habilitar Prog2Command ≠ Prog2Commandn-1 eProg2Command ≠ Command2Status ou

Prog1Command ≠ Prog1Commandn-1 e Prog1Command ≠ Command1Status ou

Prog0Command ≠ Prog0Commandn-1 e Prog0Command ≠ Command0Status

desenergizado Prog2Command = Command2Status e Prog1Command = Command1Status e Prog0Command = Command0Status ou o dispositivo está no modo de supressão, manual ou de controle de programa

Publicação 1756-RM006A-PT-P - Junho 2000

Page 43: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-27

Tempo Morto (DEDT)

A instrução DEDT realiza um atraso de uma única entrada. Você seleciona a quantidade de atraso de tempo morto.

Operandos de LógicaLadder:

não suportado

Operandos do Bloco deFunções:

Estrutura DEDT: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando Tipo: Formato: Descrição:

tag do bloco DEADTIME (Tempo Morto) estrutura Estrutura DEDT

armazenamento REAL matriz buffer de tempo morto

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

InFault BOOL Indicador de problemas para a entrada. O valor de entrada é lido a partir da entrada analógica, então InFault é controlado pelo status de falha na entrada analógica. Se energizado, InFault indica que o sinal de entrada tem um erro, a intrução energiza o bit apropriado em Status, o algoritmo de controle não é executado e Out é mantido. o padrão é desabilitadodesenergizado = sem problemas

DEADTIME (Tempo Morto)

REAL Entrada de tempo morto para a instrução. Insira o tempo morto em segundos. Se este valor for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status.válido = 0,0 para (tamanho de StorageArray * DeltaT)padrão = 0,0

Ganho REAL Entrada de ganho para a instrução. O valor de In é multiplicado por este valor. Isto permite a simulação de um ganho de processo. válido = qualquer flutuantepadrão = 1,0

Bias REAL Entrada de bias para a instrução. O valor de In multiplicado por Gain (Ganho) é adicionado a este valor. Isto permite a simulação de uma condição ambiente. válido = qualquer flutuantepadrão = 0,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 44: Cópia de 1756-rm006a-pt-p

1-28 Instruções de Controle de Processo

Parâmetros de saída

TimingMode DINT Seleciona o modo de execução da temporização. Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo real

válido = 0 a 2padrão = 0Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo de tempo morto. Os flags de status aritméticos estão energizados para esta saída.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

InFaulted (Status.1) BOOL Existem problemas em In.

DeadtimeInv (Status.2) BOOL Valor de tempo morto inválido.

TimingMode (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundos).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de Delta T inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 45: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-29

Descrição: A instrução DEDT usa um buffer de dados para armazenar os dados com atraso, permitindo qualquer duração de tempo morto desejada. A instrução DEDT é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

Para usar a instrução DEDT, crie uma matriz de armazenamento para armazenar o buffer de tempo morto para manter as amostras de (In x Gain) + Bias. A matriz de armazenamento deve ser grande o suficiente para conter o maior tempo morto desejado, usando esta fórmula:

Tamanho de StorageArray (matriz de armazenamento) necessário = Tempo Morto Máximo (Maximum Deadtime) (segs.) / DeltaT (segs.)

Execução do buffer de tempo morto

Durante o tempo de execução, a instrução verifica um Tempo Morto (Deadtime) válido. O Tempo Morto (Deadtime) deve estar entre 0,0 e (Tamanho de StorageArray (Matriz de Armazenamento) x Delta T).

Se Deadtime (Tempo Morto) for inválido, a instrução energiza um bit de Status apropriado e energiza Out = (In x Gain) + Bias.

O tempo Morto isola funções como um buffer FIFO (primeiro a entrar, primeiro a sair). Todas as vezes que o algoritmo de tempo morto é executado, o valor antigo no buffer de tempo morto é movido para Out. Os valores restantes no buffer desviam-se para baixo e o valor ((In x Gain) + Bias) é movido para o início do buffer de tempo morto. Um novo valor que é colocado no buffer de tempo morto aparece nos segundos de Out after Deadtime (Saída após Tempo Morto).

O número de elementos de matriz requisitados para realizar o atraso programado é calculado dividindo-se Deadtime (Tempo Morto) por DeltaT. Se Deadtime não for divisível por Delta T, o número de elementos de matriz e o atraso programado são arredondados para o incremento mais próximo de Delta T. Por exemplo, para encontrar o número de elementos de matriz requisitado para realizar um atraso programado, considerando-se Deadtime (Tempo Morto) = 4,25 s e Delta T = 0,50 s:

4,25 s / 0,50 s = 8,5arredonda-se para 9 os elementos da matriz requisitados

O atraso real aplicado à entrada neste exemplo é:

número de elementos de matriz x DeltaT = atraso programado ou9 x 0,5 s = 4,5 s

Publicação 1756-RM006A-PT-P - Junho 2000

Page 46: Cópia de 1756-rm006a-pt-p

1-30 Instruções de Controle de Processo

O tempo de execução muda para Deadtime (Tempo Morto) ou DeltaT muda o ponto no qual os valores são movidos para fora do buffer. O número de elementos requisitados para realizar o atraso programado pode aumentar ou diminuir. Antes de executar o buffer de tempo morto, as seguintes atualizações ocorrem:

• Se o número de elementos requisitados precisar aumentar, os novos elementos do buffer são ocupados com o valor mais antigo no buffer de tempo morto atual.

• Se o número de elementos requisitados precisar diminuir, os elementos mais antigos do buffer de tempo morto atual são descartados.

Comportamento da instrução na transição de InFault.

Quando InFault é habilitado (defeituoso), a instrução suspende a execução, mantém a última saída e energiza o bit apropriado em Status.

Quando InFault faz a transição de energizado para desenergizado, a instrução energiza Out e todos os valores no buffer de tempo morto são igualados a In x Gain + Bias (Entrada x Ganho + Bias).

Flags de Status Aritmético: Os flags de status aritméticos estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

não suportado

Execução do Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Se InFault for desenergizado, Out e todos os valores no buffer de tempo morto são igualados a (In x Gain + Bias).

primeira execução da instrução Se InFault for desenergizado, Out e todos os valores no buffer de tempo morto são igualados a (In x Gain + Bias).

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é energizado A instrução é executada.EnableOut é energizado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 47: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-31

Exemplo de Bloco deFunções:

Neste exemplo, a instrução DEDT simula um atraso de tempo morto em um processo simulado. A saída da instrução PIDE é passada por um atraso de tempo morto e por um primeiro avanço para simular o processo. A matriz DEDT_01array é uma matriz REAL com 100 elementos para suportar um tempo morto de até 100 amostras. Por exemplo, se esta rotina for executada a cada 100 mseg, a matriz suporta um tempo morto de até 10 segundos.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 48: Cópia de 1756-rm006a-pt-p

1-32 Instruções de Controle de Processo

Gerador de Funções (FGEN)

A instrução FGEN converte uma entrada baseada em uma função linear inteligente.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FUNCTION_GENERATOR

estrutura Estrutura FGEN

X1 REAL matriz Matriz de eixo X, tabela um. Combinar com a matriz de eixo Y, tabela um, para definir os pontos da primeira curva linear inteligente (piece-wise).válido = qualquer flutuante

Y1 REAL matriz Matriz de eixo Y, tabela um. Combinar com a matriz de eixo X, tabela um, para definir os pontos da primeira curva linear inteligente (piece-wise).válido = qualquer flutuante

X2 REAL matriz (opcional)Matriz de eixo X, tabela dois. Combinar com a matriz de eixo Y, tabela dois, para definir os pontos da segunda curva linear inteligente (piece-wise).válido = qualquer flutuante

Y2 REAL matriz (opcional)Matriz de eixo Y, tabela dois. Combinar com a matriz de eixo X, tabela dois, para definir os pontos da segunda curva linear inteligente (piece-wise).válido = qualquer flutuante

Publicação 1756-RM006A-PT-P - Junho 2000

Page 49: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-33

Estrutura FGEN: Parâmetros de entrada

Parâmetros de saída

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

XY1Size (Tamanho de XY1)

DINT Número de pontos na curva linear inteligente (piece-wise) para usar a partir da tabela um. Se o valor for menor que um e Select (Selecionar) for desenergizado, a instrução energiza o bit apropriado em Status e a saída não é mudada. válido = 1 para (o menor tamanho de matriz entre X1 e Y1)padrão = 1

XY2Size (Tamanho de XY2)

DINT Número de pontos na curva linear inteligente (piece-wise) para usar a partir da tabela dois. Se o valor for menor que um e Select (Selecionar) for energizado, a instrução energiza o bit apropriado em Status e a saída não é mudada.válido = 0 para (o menor tamanho de matriz entre X2 e Y2)padrão = 0

Select (Selecionar) BOOL Esta entrada determina a tabela a ser usada. Quando desabilitado, a instrução usa a tabela um. Quando energizado, a instrução usa a tabela dois.o padrão é desabilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL Saída da instrução. Os flags de status aritméticos estão energizados para esta saída.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução gerou uma falha.

XY1SizeInv (Status.1) BOOL O tamanho da tabela 1 é inválido ou não é compatível com o tamanho da matriz.

XY2SizeInv (Status.2) BOOL O tamanho da tabela 2 é inválido ou não é compatível com o tamanho da matriz.

XisOutofOrder (Status.3)

BOOL Os parâmetros de X não são classificados.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 50: Cópia de 1756-rm006a-pt-p

1-34 Instruções de Controle de Processo

Descrição: A seguinte ilustração mostra como a instrução FGEN converte uma curva de doze segmentos:

Os parâmetros do eixo X devem seguir a relação:

X[1] < X[2] < X[3] < ... < X[XY<n>Size],

onde XY<n>Size > 1 e é um número de pontos na curva linear inteligente (piece-wise) e onde n é 1 ou 2 para a tabela selecionada. Você deve criar elementos classificados do eixo X nas matrizes de X.

A entrada Select (Selecionar) determina qual tabela será usada para a instrução. Quando a instrução está sendo executada em uma tabela, você pode modificar os valores na outra tabela. Mude o estado de Select (Selecionar) para a execução com a outra tabela.

Antes de calcular Out, os parâmetros do eixo X são varridos. Se não forem classificados em ordem crescente, o bit apropriado em Status é energizado e Out permanece sem alterações. Se XY1Size ou XY2Size forem inválidos, a instrução energiza o bit apropriado em Status e Out permanece sem alterações.

Y9

Y11

Y12

Y10

Y8

Y7

Y6

Y5

Y4

Y3

Y2

Y1

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13

Y13

In

Out

Publicação 1756-RM006A-PT-P - Junho 2000

Page 51: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-35

A instrução usa este algoritmo para calcular Out, baseado em In:

• Quando In ≤ X[1], defina Out = Y[1]

• Quando In > X[XY<n>Size], defina Out = Y[XY<n>Size]

• Quando X[n] < In ≤ X[n+1], calcule Out = ((Y[n+1]-Yn)/(X[n+1]-Xn))*(In-Xn)+Yn

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Neste exemplo, a instrução FGEN caracteriza um sinal de vazão que é, então, totalizado usando uma instrução TOT. As matrizes FGEN_01X1 e FGEN_01Y1 são matrizes REAL de 10 elementos cada uma, para suportar curvas de até 9 segmentos. Você pode usar matrizes de qualquer tamanho para suportar uma curva de qualquer número desejado de segmentos.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 52: Cópia de 1756-rm006a-pt-p

1-36 Instruções de Controle de Processo

Avanço/Atraso (LDLG)

A instrução LDLG fornece uma compensação de avanço/atraso para um sinal de entrada. Esta instrução é tipicamente usada para controle feedforward de PID ou para simulações de processos.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura LDLG: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco LEAD_LAG estrutura Estrutura LDLG

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Pedido para a inicialização do algoritmo de controle de filtro. Quando Initialize (Inicializar) estiver energizado, Out = (In x Gain) + Bias.padrão = desabilitado

Avanço REAL O tempo de avanço em segundos. Defina Avanço = 0,0 para desabilitar o algoritmo de controle de avanço. Se Avanço < 0,0, a instrução energiza o bit apropriado em Status e limita Avanço em 0,0. Se Avanço > que o máximo flutuante positivo, a instrução energiza o bit apropriado em Status. válido = qualquer flutuante ≥ 0,0padrão = 0,0

Atraso REAL O tempo de atraso em segundos. O tempo mínimo de atraso é DeltaT/2. Se Atraso < DeltaT/2, a instrução energiza o bit apropriado em Status e limita Atraso para DeltaT/2. Se Atraso > máximo flutuante positivo, a instrução energiza o bit apropriado em Status.válido = qualquer flutuante ≥ DeltaT/2padrão = 0,0

Ganho REAL Multiplicador de ganho do processo. Este valor permite a simulação de um ganho de processo. O sinal de In é multiplicado por este valor. I = (In x Gain) + Biasválido = qualquer flutuante padrão = 1,0

BIAS REAL Nível de offset do processo. Este valor permite a simulação de uma condição ambiente. Este valor é somado aos resultados da multiplicação de In vezes Gain (Ganho). I = ( In x Gain ) + Biasválido = qualquer flutuante padrão = 0,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 53: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-37

Parâmetros de saída

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo real

válido = 0 a 2padrão = 0Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritméticos são usados para esta saída.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

LeadInv (Status.1) BOOL Lead < valor mínimo ou Lead > valor máximo.

LagInv (Status.2) BOOL Lag < valor mínimo ou Lag > valor máximo.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de Delta T inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 54: Cópia de 1756-rm006a-pt-p

1-38 Instruções de Controle de Processo

Descrição: A instrução LDLG suporta um avanço e atraso em série. A instrução também permite o ganho configurável e fatores de bias. A instrução LDLG é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

A instrução LDLG usa esta equação:

com estes limites de parâmetros:

Sempre que o valor computado para a saída for inválido, NAN, ou ±INF, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Quando o valor computado para a saída torna-se válido, a instrução inicializa os parâmetros internos e energiza Out = (In x Gain) + Bias.

Flags de Status Aritmético: Os flags de status aritméticos estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Parâmetro: Limites:

Lead (Avanço) LowLimit (Limite Baixo) = 0,0HighLimit (Limite Alto) = máximo flutuante positivo

Lag (Atraso) LowLimit = DeltaT/2 (DeltaT está em segundos)HighLimit (Limite Alto) = máximo flutuante positivo

H s( ) 1 Lead s×+1 Lag s×+-------------------------------=

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução A instrução energiza Out = (In x Gain) + Bias.O algoritmo de controle não é executado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 55: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-39

Exemplo de Bloco deFunções:

A instrução LDLG neste exemplo adiciona um atraso de 1ª ordem a um processo simulado. Opcionalmente, você pode inserir um Gain (Ganho) na instrução LDLG para simular um ganho de processo e um Bias pode ser inserido para simular uma condição ambiente.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 56: Cópia de 1756-rm006a-pt-p

1-40 Instruções de Controle de Processo

PID Avançado (PIDE)

A instrução PIDE fornece capacidades avançadas, comparando-se com a instrução PID padrão. A instrução usa a curva de velocidade do algoritmo PID. Os termos de ganho são aplicados à mudança no valor de erro ou PV, não ao valor do erro ou PV.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco PID_ENHANCED estrutura Estrutura PIDE

Publicação 1756-RM006A-PT-P - Junho 2000

Page 57: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-41

Estrutura PIDE: Parâmetros de entrada

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

PV REAL Entrada variável do processo convertido em escala. Este valor é tipicamente lido a partir de um módulo de entrada analógica. válido = qualquer flutuantepadrão = 0,0

PVFault BOOL Indicador de problemas com PV. Se PV for lido a partir de uma entrada analógica, então PVFault é normalmente controlado pelo status de falha na entrada analógica. Quando PVFault é energizado, ele indica que o sinal de entrada tem um erro.o padrão é desabilitado = sem problemas

PVEUMax REAL Valor máximo convertido em escala para PV. O valor de PV e SP, que corresponde a uma amplitude de 100% da Variável de Processo.válido = PVEUMin < PVEUMax ≤ máximo flutuante positivopadrão = 100,0

PVEUMin REAL Valor mínimo convertido em escala para PV. O valor de PV e SP, que corresponde a uma amplitude de 0% da Variável de Processo.válido = máximo flutuante negativo ≤ PVEUMin < PVEUMax padrão = 0,0

SPProg REAL Valor do programa SP, convertido em escala em unidades de PV. SP é energizado para este valor quando está em controle de Programa e não no modo Cascata/Taxa. Se o valor de SPProg < SPLLimit ou > SPHLimit, a instrução energiza o bit apropriado em Status e limita o valor usado para SP. válido = SPLLimit a SPHLimitpadrão = 0,0

SPOper REAL Valor de operação de SP, convertido em escala em unidades de PV. SP é energizado para este valor quando está em controle de Operação e não no modo Cascata/Taxa. Se o valor de SPOper < SPLLimit ou > SPHLimit, a instrução energiza o bit apropriado em Status e limita o valor usado por SP.válido = SPLLimit a SPHLimitpadrão = 0,0

SPCascade REAL Valor em Cascata de SP, convertido em escala em unidades de PV. Se CascadeRatio for energizado e UseRatio for desenergizado, então SP = SPCascade. Este é o CVEU típico de uma malha principal. Se CascadeRatio e UseRatio forem energizados, então SP = (SPCascade x Ratio). Se o valor de SPCascade < SPLLimit ou > SPHLimit, a instrução energiza o bit apropriado em Status e limita o valor usado por SP.válido = SPLLimit a SPHLimitpadrão = 0,0

SPHLimit REAL Valor de limite alto de SP, convertido em escala em unidades de PV. Se SPHLimit > PVEUMax, a instrução energiza o bit apropriado em Status.válido = SPLLimit a PVEUMaxpadrão = 100,0

SPLLimit REAL Valor de limite baixo de SP, convertido em escala em unidades de PV. Se SPHLimit < PVEUMin, a instrução energiza o bit apropriado em Status. Se SPHLimit < SPLLimit, a instrução energiza o bit apropriado em Status e limita SP usando o valor de SPLLimit.válido = PVEUMin a SPHLimitpadrão = 0,0

UseRatio (Usar Taxa) BOOL Permite o controle de taxa permitido. Energizado para habilitar o controle de taxa quando estiver no modo Cascata/Taxa. o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 58: Cópia de 1756-rm006a-pt-p

1-42 Instruções de Controle de Processo

RatioProg REAL Múltiplicador do programa de taxa. Ratio (Taxa) e RatioOper (Operador de taxa) são energizados da mesma forma para este valor quando estiverem em controle de Programa. Se RatioProg < RatioLLimit ou > RatioHLimit, a instrução energiza o bit apropriado em Status e limita o valor usado para Ratio.válido = RatioLLimit a RatioHLimitpadrão = 1,0

RatioOper REAL Multiplicador de Operador de taxa. Ratio (Taxa) é energizado da mesma forma para este valor quando está em controle de Operador. Se RatioOper < RatioLLimit ou > RatioHLimit, a instrução energiza o bit apropriado em Status e limita o valor usado para Ratio.válido = RatioLLimit a RatioHLimitpadrão = 1,0

RatioHLimit REAL Valor de limite alto da taxa (Ratio). Limita o valor de Ratio, obtido de RatioProg ou RatioOper. Se RatioHlimit < RatioLLimit, a instrução energiza o bit apropriado em Status e limita Ratio, usando o valor de RatioLLimit.válido = RatioLLimit ao máximo flutuante positivopadrão = 1,0

RatioLLimit REAL Valor de limite baixo da taxa (Ratio). Limita o valor de Ratio, obtido de RatioProg ou RatioOper. Se RatioLLimit < 0, a instrução energiza o bit apropriado em Status e limita o valor para zero. Se RatioHlimit < RatioLLimit, a instrução energiza o bit apropriado em Status e limita Ratio, usando o valor de RatioLLimit.válido = 0,0 a RatioHLimitpadrão = 1,0

CVFault BOOL Indicador de problemas na variável de controle. Se CVEU controlar uma saída analógica, então CVFault normalmente vem do status de falha da saída analógica. Quando energizado, CVFault indica um erro no módulo de saída e energiza o bit apropriado em Status. o padrão é desabilitado = sem problemas

CVInitReq BOOL Pedido de inicialização de CV. Este sinal é normalmente controlado pelo status “In Hold”, no módulo de saída analógica controlado por CVEU ou da saída InitPrimary de uma malha PID secundária. o padrão é desabilitado

CVInitValue REAL Valor de inicialização de CVEU, convertido em escala em unidades de CVEU. Quando CVInitializing é energizado, CVEU = CVInitValue e CV se igualam ao valor de porcentagem correspondente. CVInitValue vem do feedback da saída analógica controlada por CVEU ou do setpoint de uma malha secundária. A inicialização da instrução é desabilitada quando CVFaulted ou CVEUSpanInv é energizado.válido = qualquer flutuantepadrão = 0,0

CVProg REAL Valor manual do programa CV. CV é igual a este valor quando estiver no modo Manual de Programa. Se CVProg < 0 ou > 100, ou < CVLLimit ou > CVHLimit quando CVManLimiting está energizado, a instrução energiza o bit apropriado em Status e limita o valor de CV. válido = 0,0 a 100,0padrão = 0,0

CVOper REAL Valor manual do operador CV. CV é igual a este valor quando estiver no modo Manual de Operação. Se não estiver no modo Manual de Operação, a instrução energiza CVOper = CV ao final de cada execução da instrução. Se CVOper < 0 ou > 100, ou < CVLLimit ou > CVHLimit quando CVManLimiting está energizado, a instrução energiza o bit apropriado em Status e limita o valor de CV.válido = 0,0 a 100,0padrão = 0,0

CVOverride REAL Valor de supressão de CV. CV é igual a este valor quando estiver no modo de supressão (override). Este valor deve corresponder a uma saída de estado seguro da malha PID. Se CVOverride < 0 ou > 100, a instrução energiza o bit apropriado em Status e limita o valor de CV.válido = 0,0 a 100,0padrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 59: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-43

CVPrevious REAL Valor n-1 de CV. Se CVSetPrevious for energizado, CV n-1 é igual a este valor. CVn-1 é o valor de CV a partir da execução anterior. CVPrevious é ignorado quando estiver no modo de supressão (override) ou manual (hand) ou quando CVInitializing é energizado. Se CVPrevious < 0 ou > 100, ou < CVLLimit ou > CVHLimit quando estiver no modo Automático ou cascata/taxa, a instrução energiza o bit apropriado em Status e limita o valor de CVn-1.válido = 0,0 a 100,0padrão = 0,0

CVSetPrevious BOOL Pedido para o uso de CVPrevious. Se energizado, CVn-1 = CVPrevious.o padrão é desabilitado

CVManLimiting BOOL Limita CV no pedido de modo manual. Se o modo Manual e CVManLimiting for energizado, CV é limitado pelos valores de CVHLimit e CVLLimit.o padrão é desabilitado

CVEUMax REAL Valor máximo para CVEU. Valor de CVEU que corresponde a CV de 100%. Se CVEUMax = CVEUMin, a instrução energiza o bit apropriado em Status.válido = qualquer flutuante padrão = 100,0

CVEUMin REAL Valor mínimo de CVEU. Valor de CVEU que corresponde a CV de 0%. Se CVEUMax = CVEUMin, a instrução energiza o bit apropriado em Status.válido = qualquer flutuante padrão = 0,0

CVHLimit REAL Valor de limite alto de CV. É usado para energizar a saída CVHAlarm. Também é usado para limitar CV quando estiver no modo Cascata/Taxa ou no modo Manual, se CVManLimiting for energizado. Se CVHLimit > 100 ou < CVLLimit, a instrução energiza o bit apropriado em Status. Se CVHLimit < CVLLimit, a instrução limita CV usando o valor de CVLLimit.válido = CVLLimit < CVHLimit ≤ 100,0padrão = 100,0

CVLLimit REAL Valor de limite baixo de CV. É usado para energizar a saída CVLAlarm. Também é usado para limitar CV quando estiver no modo Cascata/Taxa ou no modo Manual, se CVManLimiting for energizado. Se CVLLimit < 0 ou CVHLimit < CVLLimit, a instrução energiza o bit apropriado em Status. Se CVHLimit < CVLLimit, a instrução limita CV usando o valor de CVLLimit.válido = 0,0 ≤ CVLLimit < CVHLimitpadrão = 0,0

CVROCLimit REAL Limite da taxa de mudança de CV, em porcentagem por segundos. O limite da taxa de mudança é usado somente quando estiver nos modos Automático ou Cascata/taxa ou no modo Manual, se CVManLimiting for energizado. Insira 0 para desabilitar o limite de CV ROC. Se CVROCLimit < 0, a instrução energiza o bit apropriado em Status e desabilita o limite de CV ROC. válido = 0,0 ao máximo flutuante positivopadrão = 0,0

FF REAL Valor de feedforward. O valor de feedforward é somado com CV depois que o limite da zona morta do cruzamento zero foi aplicado a CV. Portanto, as mudanças em FF são sempre refletidas no valor de saída final de CV. Se FF < –100 ou > 100, a instrução energiza o bit apropriado em Status e limita o valor usado para FF.válido = –100,0 a 100,0padrão = 0,0

FFPrevious REAL Valor FF n-1. Se FFSetPrevious for energizado, a instrução energiza FFn-1 = FFPrevious. FFn-1 é o valor de FF a partir da execução anterior. Se FF < –100 ou > 100, a instrução energiza o bit apropriado em Status e limita o valor usado para FF n-1.válido = –100,0 a 100,0padrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 60: Cópia de 1756-rm006a-pt-p

1-44 Instruções de Controle de Processo

FFSetPrevious BOOL Pedido para o uso de FFPrevious. Se energizado, FFn-1 = FFPrevious.o padrão é desabilitado

HandFB REAL Valor de feedback Manual (Hand) de CV. CV é igual a este valor quando estiver no modo Hand (Manual) e HandFBFault é desabilitado (sem problemas). Este valor vem tipicamente da saída de uma estação manual/automática montada em campo e é usado para gerar uma transferência ininterrupta fora do modo manual. Se HandFB < 0 ou > 100, a instrução energiza o bit apropriado em Status e limita o valor usado para CV.válido = 0,0 a 100,0padrão = 0,0

HandFBFault BOOL Indicador de problemas do valor de HandFB. Se o valor de HandFB for lido a partir de uma entrada analógica, então HandFBFault é tipicamente controlado pelo status do canal de entrada analógica. Quando energizado, HandFBFault indica um erro no módulo de entrada e energiza o bit apropriado em Status.o padrão é desabilitado = “sem problemas”

WindupHIn BOOL Pedido de disparo alto. Quando energizado, não é permitido que CV aumente em valor. Este sinal é tipicamente obtido da saída WindupHOut, a partir de uma malha secundária. o padrão é desabilitado

WindupLIn BOOL Pedido de disparo baixo. Quando energizado, não é permitido que CV diminua em valor. Este sinal é tipicamente obtido da saída WindupLOut, a partir de uma malha secundária.o padrão é desabilitado

ControlAction BOOL Pedido de ação de controle. Energizado para calcular um erro como E = PV – SP; removido para calcular um erro como E = SP – PV. o padrão é desabilitado

DependIndepend BOOL Pedido de controle dependente/independente. Quando energizado, usa a forma independente da equação PID; quando desenergizado, usa a forma independente das equações. o padrão é desabilitado

PGain REAL Ganho proporcional. Quando a forma independente do algoritmo PID for selecionada, insira o ganho proporcional sem unidades neste valor. Quando o algoritmo PID dependente for selecionado, insira o ganho do controlador sem unidades neste valor. Insira 0 para desabilitar o controle proporcional. Se PGain < 0, a instrução energiza o bit apropriado em Status e usa o valor de PGain = 0. válido = 0,0 ao máximo flutuante positivopadrão = 0,0

IGain REAL Ganho integral. Quando a forma independente do algoritmo PID for selecionada, insira o ganho integral em unidades de 1/minutos neste valor. Quando o algoritmo dependente PID for selecionado, insira a constante de tempo integral em unidades de minutos/repetição neste valor. Insira 0 para desabilitar o controle integral. Se IGain < 0, a instrução energiza o bit apropriado em Status e usa um valor de IGain = 0.válido = 0,0 ao máximo flutuante positivopadrão = 0,0

DGain REAL Ganho derivativo. Quando a forma independente do algoritmo PID for selecionada, insira o ganho derivativo em unidades de minutos neste valor. Quando o algoritmo dependente PID for selecionado, insira a constante de tempo derivativo em unidades de minutos neste valor. Insira 0 para desabilitar o controle derivativo. Se DGain < 0, a instrução energiza o bit apropriado em Status e usa um valor de DGain = 0.válido = 0,0 ao máximo flutuante positivopadrão = 0,0

PVEProportional BOOL Pedido de controle de PV proporcional. Quando energizado, calcula a expressão proporcional (DeltaPTerm), usando a mudança na variável de processo (PVPercent). Quando desenergizado, use a mudança em erros (EPercent).o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 61: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-45

PVEDerivative BOOL Pedido de controle derivativo de PV. Quando energizado, calcula a expressão derivativa (DeltaPTerm), usando a mudança na variável de processo (PVPercent). Quando desenergizado, use a mudança em erros (EPercent).o padrão é habilitado

DSmoothing BOOL Pedido de Suavização (smoothing) derivativa. Quando energizado, as mudanças na expressão derivativa são suavizadas (smoothed). A suavização derivativa causa menos “jitters” de saída, como resultado de um sinal PV com ruído, mas também limita a efetividade de ganhos derivativos altos. o padrão é desabilitado

PVTracking BOOL Pedido de rastreamento de PV por SP. Energizado para que SP rastreie PV quando estiver no modo manual. Ignorado quando estiver no modo Cascata/Taxa ou Automático. o padrão é desabilitado

ZCDeadband REAL Faixa da zona morta do cruzamento zero, convertida em escala em unidades de PV. Define a faixa de zona morta do cruzamento zero. Insira 0 para desabilitar a verificação de zona morta do cruzamento zero. Se ZCDeadband < 0, a instrução energiza o bit apropriado em Status e desabilita a verificação de zona morta do cruzamento zero. válido = 0,0 ao máximo flutuante positivopadrão = 0,0

ZCOff BOOL Pedido de desabilitação do cruzamento zero. Energizado para desabilitar o cruzamento zero para o cálculo da zona morta. o padrão é desabilitado

PVHHLimit REAL Valor de limite de alarme alto-alto de PV, convertido em escala em unidades de PV.válido = qualquer flutuantepadrão = máximo flutuante positivo

PVHLimit REAL Valor de limite de alarme alto de PV, convertido em escala em unidades de PV.válido = qualquer flutuantepadrão = máximo flutuante positivo

PVLLimit REAL Valor de limite de alarme baixo de PV, convertido em escala em unidades de PV.válido = qualquer flutuantepadrão = máximo flutuante negativo

PVLLLimit REAL Valor de limite de alarme super baixo-baixo de PV, convertido em escala em unidades de PV.válido = qualquer flutuantepadrão = máximo flutuante negativo

PVDeadband REAL Valor de zona morta do limite de alarme de PV, convertido em escala em unidades de PV. A zona morta é o valor delta entre o valor de energização e o valor de desenergização para cada um dos limites de alarme de PV. Se PVDeadband < 0,0, a instrução energiza o bit apropriado em Status e limita PVDeadband em zero.válido = 0,0 ao máximo flutuante positivopadrão = 0,0

PVROCPosLimit REAL Limite positivo da taxa de mudança do alarme do PV. Valor do limite para uma mudança positiva (crescente) em PV, convertido em escala em unidades de PV por segundos. Insira 0,0 para desabilitar a verificação de alarme de PVROC positivo. Se PVROCPosLimit < 0,0, a instrução energiza o bit apropriado em Status e desabilita a verificação de PCROC. válido = 0,0 ao máximo flutuante positivopadrão = 0,0 PV/segundo

PVROCNegLimit REAL Limite negativo da taxa de mudança do alarme do PV. Valor do limite para uma mudança negativa (decrescente) em PV, convertido em escala em unidades de PV por segundos. Insira 0,0 para desabilitar a verificação de alarme de PVROC negativo. Se PVROCNegLimit < 0,0, a instrução energiza o bit apropriado em Status e desabilita a verificação de PCROC negativo.válido = 0,0 ao máximo flutuante positivopadrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 62: Cópia de 1756-rm006a-pt-p

1-46 Instruções de Controle de Processo

PVROCPeriod REAL Período de amostra da taxa de mudança de PV. O período de tempo, em segundos, sobre o qual a taxa de mudança para PV é avaliada. Insira 0 para desabilitar a verificação de alarme de PVROC. Se PVROCPeriod < 0,0, a instrução energiza o bit apropriado em Status e desabilita a verificação de PCROC negativa e positiva.válido = qualquer flutuante ≥ 0,0padrão = 0,0 segundos

DevHHLimit REAL Valor de limite de alarme alto-alto de desvio, convertido em escala em unidades de PV. O desvio é a diferença em valor entre a variável de processo (PV) e o setpoint (SP). O fornecimento de informações de alarme de desvio alerta o operador para a discrepância entre a variável de processo e o valor do setpoint. Se DevHHLimit < 0,0, a instrução energiza os bits apropriados em Status e energiza DevHHLimit = 0,0.válido = 0,0 ao máximo flutuante positivopadrão = máximo flutuante positivo

DevHLimit REAL Valor de limite de alarme alto-alto de desvio, convertido em escala em unidades de PV. O desvio é a diferença em valor entre a variável de processo (PV) e o setpoint (SP). O fornecimento de informações de alarme de desvio alerta o operador para a discrepância entre a variável de processo e o valor do setpoint. Se DevHLimit < 0,0, a instrução energiza o bit apropriado em Status e energiza DevHLimit = 0,0.válido = 0,0 ao máximo flutuante positivopadrão = máximo flutuante positivo

DevLLimit REAL Valor de limite de alarme baixo de desvio, convertido em escala em unidades de PV. O desvio é a diferença em valor entre a variável de processo (PV) e o setpoint (SP). O fornecimento de informações de alarme de desvio alerta o operador para a discrepância entre a variável de processo e o valor do setpoint. Se DevLLimit < 0,0, a instrução energiza o bit apropriado em Status e energiza DevLLimit = 0,0.válido = 0,0 ao máximo flutuante positivopadrão = máximo flutuante positivo

DevLLLimit REAL Valor de limite de alarme baixo-baixo de desvio, convertido em escala em unidades de PV. O desvio é a diferença em valor entre a variável de processo (PV) e o setpoint (SP). O fornecimento de informações de alarme de desvio alerta o operador para a discrepância entre a variável de processo e o valor do setpoint. Se DevLLLimit < 0,0, a instrução energiza o bit apropriado em Status e energiza DevLLLimit = 0,0.válido = 0,0 ao máximo flutuante positivopadrão = máximo flutuante positivo

DevDeadband REAL Valor da zona morta para os limites de alarme de Desvio, convertido em escala em unidades de PV. A zona morta é o valor delta entre o valor de energização e o valor de desenergização para cada um dos limites de alarme de Desvio. Se DevDeadband < 0,0, a instrução energiza o bit apropriado em Status e energiza DevDeadband = 0,0.válido = 0,0 ao máximo flutuante positivopadrão = 0,0

AllowCasRat BOOL Permite o modo cascata/taxa permitido. Energizado para permitir que o modo Cascata/Taxa seja selecionado, usando ProgCascadeRatioReq ou OperCascadeRatioReq.o padrão é desabilitado

ManualAfterInit BOOL Modo manual após o pedido de inicialização. Quando energizado, a instrução é colocada no modo Manual quando CVInitializing é energizado, a menos que o modo atual seja Supressão (Override) ou Manual (Hand). Quando ManualAfterInit é removido, o modo da instrução não é mudado, a menos que seja feito o pedido.o padrão é desabilitado

ProgProgReq BOOL Solicitação de modo de programa pelo programa. Definido pelo programa do usuário para o pedido do controle de Programa. Ignorado se ProgOperReq estiver energizado. Manter a energização e o ProgOperReq removido trava a instrução no controle de Programa. Quando ProgValueReset é energizado, a instrução desabilita a execução de cada entrada. o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 63: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-47

ProgOperReq BOOL Pedido de operação do programa. Definido pelo programa do usuário para o pedido do controle de Operação. Manter a energização trava a instrução no controle de Operação. Quando ProgValueReset é energizado, a instrução desabilita a execução de cada entrada.o padrão é desabilitado

ProgCasRatReq BOOL Programa o pedido de modo cascata/taxa. Energizado para que o programa do usuário requisite o modo Cascata/Taxa. Quando ProgValueReset é energizado, a instrução desabilita a execução de cada entrada.o padrão é desabilitado

ProgAutoReq BOOL Programa o pedido de modo automático. Energizado para que o programa do usuário requisite o modo Automático. Quando ProgValueReset é energizado, a instrução desabilita a execução de cada entrada.o padrão é desabilitado

ProgManualReq BOOL Programa o pedido de modo manual. Energizado pelo programa do usuário para requisitar o modo Manual. Quando ProgValueReset é energizado, a instrução desabilita a execução de cada entrada.o padrão é desabilitado

ProgOverrideReq BOOL Programa o pedido de modo de supressão (override). Energizado para que o programa do usuário requisite o modo de Supressão (Override). Quando ProgValueReset é energizado, a instrução desabilita a execução de cada entrada.o padrão é desabilitado

ProgHandReq BOOL Programa o pedido de modo manual (hand). Energizado pelo programa do usuário para requisitar o modo Manual (Hand). Este valor é usado geralmente como uma entrada digital, a partir de uma estação manual/automática. Quando ProgValueReset é energizado, a instrução desabilita a execução de cada entrada.o padrão é desabilitado

OperProgReq BOOL Pedido de programa de operação. Definido pela interface de operação para o pedido do controle de Programa. A instrução desabilita cada execução desta entrada.o padrão é desabilitado

OperOperReq BOOL Solicitação de modo de operação pelo operador. Definido pela interface de operação para o pedido do controle de Operação. A instrução desabilita cada execução desta entrada.o padrão é desabilitado

OperCasRatReq BOOL Pedido de modo cascata/taxa de operação. Energizado pela interface de operação para requisitar o modo Cascata/Taxa. A instrução desabilita cada execução desta entrada.o padrão é desabilitado

OperAutoReq BOOL Pedido de modo automático de operação. Energizado pela interface de operação para requisitar o modo Automático. A instrução desabilita cada execução da entrada.o padrão é desabilitado

OperManualReq BOOL Pedido de modo manual de operação. Energizado pela interface de operação para requisitar o modo Manual. A instrução desabilita cada execução da entrada.o padrão é desabilitado

ProgValueReset BOOL Reseta valores de controle de programa. Quando energizado, todas as entradas de pedido de programa são desenergizadas por cada execução da instrução. Quando energizado e no controle de Operação, a instrução energiza SPProgram = SP e CVProgram = CV.o padrão é desabilitado

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 64: Cópia de 1756-rm006a-pt-p

1-48 Instruções de Controle de Processo

Parâmetros de saída:

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

CVEU REAL Saída da variável de controle convertida em escala. Convertida em escala, usando CVEUMax e CVEUMin, onde CVEUMax corresponde a 100% e CVEUMin corresponde a 0%. Esta saída controla tipicamente um módulo de saída analógica ou uma malha secundária. Os flags aritméticos estão energizados para esta saída.CVEU = (CV x CVEUSpan / 100) + CVEUMinCálculo da amplitude de CVEU: CVEUSpan = (CVEUMax – CVEUMin)

CV REAL Saída da variável de controle. Este valor é expresso de 0 a 100%. CV é limitado CV por CVHLimit e CVLLimit quando estiver no modo cascata/taxa ou no modo manual, se CVManLimiting for energizado. Senão, este valor é limitado por 0 e 100%. Os flags aritméticos estão energizados para esta saída.

CVInitializing BOOL Indicador de modo de inicialização. CVInitializing é energizado quando CVInitReq é energizado, durante a primeira varredura da instrução e em uma energização de transição desabilitada de CVHeath (com problemas para sem problemas). CVInitializing é desenergizado depois que a instrução foi inicializada e CVInitReq for desenergizado.

CVHAlarm BOOL Indicador de alarme alto de CV. Energizado quando o valor calculado de CV > 100 ou CVHLimit.

CVLAlarm BOOL Indicador de alarme baixo de CV. Energizado quando o valor calculado de CV < 0 ou CVLLimit.

CVROCAlarm BOOL Indicador da taxa de mudança de alarme de CV. Energizado quando a taxa calculada de mudança para CV exceder CVROCLimit.

SP REAL Valor atual do setpoint. O valor de SP é usado para controlar CV quando estiver no modo Cascata/Taxa.

SPPercent REAL Valor de SP expresso em porcentagem de amplitude de PV. SPPercent = ((SP – PVEUMin) x 100) / PVSpan Cálculo da amplitude de PV: PVSpan = (PVEUMax – PVEUMin)

SPHAlarm BOOL Indicador de alarme alto de SP.Energizado quando SP > SPHLimit.

SPLAlarm BOOL Indicador de alarme baixo de SP.Energizado quando SP < SPHLimit.

PVPercent REAL PV expresso em porcentagem de amplitude. PVPPercent = ((PV – PVEUMin) x 100) / PVSpanCálculo da amplitude de PV: PVSpan = (PVEUMax – PVEUMin)

E REAL Erro de processo. Diferença entre SP e PV, convertida em escala em unidades de PV.

EPercent REAL Erro expresso como uma porcentagem de amplitude.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 65: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-49

InitPrimary BOOL Inicilializa o comando da malha principal. Energizado quando não estiver no modo Cascata/Taxa ou quando CVInicializing for energizado. Este sinal é normalmente usado pela entrada CVInitReq de uma malha PID principal.

WindupHOut BOOL Indicador de Windup alto. Energizado quando um limite de SP alto, CV alto ou CV baixo (dependendo da ação de controle) foi alcançado. Este sinal é tipicamente usado pela entrada WindupHIn para prevenir o windup da saída CV em uma malha principal.

WindupLOut BOOL Indicador de Windup baixo. Energizado quando um limite de SP, CV alto ou CV baixo (dependendo da ação de controle) foi alcançado. Este sinal é tipicamente usado pela entrada WindupLIn para prevenir o windup da saída CV em uma malha principal.

taxa REAL Múltiplicador da taxa atual.

RatioHAlarm BOOL Indicador de alarme alto de taxa. Energizado quando Ratio > RatioHLimit.

RatioLAlarm BOOL Indicador de alarme baixo de taxa. Energizado quando Ratio < RatioLLimit.

ZCDeadbandOn BOOL Indicador de zona morta do cruzamento zero. Quando energizado, o valor de CV não muda. Se ZCOff for energizado, então ZCDeadbandOn é energizado quando | E | está dentro da faixa de ZCDeadband. Se ZCOff for desenergiza, então ZCDeadbandOn é energizado quando | E | cruza o zero e permanece dentro da faixa de ZCDeadband. ZCDeadbandOn é desenergizado quando | E | excede a faixa de zona morta ou quando ZCDeadband = 0.

PVHHAlarm BOOL Indicador de alarme alto-alto de PV. Energizado quando PV ≥ PVHHLimit. Removido quandoPV < (PVHHLimit – PVDeadband)

PVHAlarm BOOL Indicador de alarme alto de PV. Energizado quando PV ≥ PVHLimit. Removido quandoPV < (PVHLimit – PVDeadband)

PVLAlarm BOOL Indicador de alarme baixo de PV. Energizado quando PV ≤ PVLLimit. Removido quandoPV > (PVLLimit – PVDeadband)

PVLLAlarm BOOL Indicador de alarme baixo-baixo de PV. Energizado quando PV ≤ PVLLLimit. Removido quandoPV > (PVLLLimit + PVDeadband)

PVROCPosAlarm BOOL Indicador positivo da taxa de mudança de alarme de PV. Energizado quando a taxa de mudança calculada de PV ≥ PVROCPosLimit.

PVROCNegAlarm BOOL Indicador negativo da taxa de mudança de alarme de PV. Energizado quando a taxa de mudança calculada de PV ≤ (PVROCNegLimit x –1).

DevHHAlarm BOOL Indicador de alarme alto-alto de desvio. Energizado quando PV ≥ (SP + DevHHLimit). Removido quando PV < (SP + DevHHLimit – DevDeadband)

DevHAlarm BOOL Indicador de alarme alto de desvio. Energizado quando PV ≥ (SP + DevHLimit). Desenergizado quando PV < (SP + DevHLimit – DevDeadband)

DevLAlarm BOOL Indicador de alarme baixo de desvio. Energizado quando PV ≤ (SP – DevLLimit). Desenergizado quando PV > (SP – DevLLimit + DevDeadband)

DevLLAlarm BOOL Indicador de alarme baixo-baixo de desvio. Energizado quando PV ≤ (SP – DevLLLimit). Desenergizado quando PV > (SP – DevLLLimit + DevDeadband)

ProgOper BOOL Indicador de controle de Programa/Operação. Energizado quando estiver em controle de Programa. Desenergizado quando estiver em controle de Operação.

CasRat BOOL Indicador de modo Cascata/Taxa. Energizado quando estiver no modo Cascata/Taxa.

Auto BOOL Indicador de modo automático. Energizado quando estiver no modo Automático.

Manual BOOL Indicador de modo Manual. Energizado quando estiver no modo Manual.

Override BOOL Indicador de modo de Supressão (Override). Energizado quando estiver no modo de Supressão (Override).

Manual BOOL Indicador de modo Manual (Hand). Energizado quando estiver no modo Manual (Hand).

Parâmetro de Saída: Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 66: Cópia de 1756-rm006a-pt-p

1-50 Instruções de Controle de Processo

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status1 DINT Status do bloco de funções.

InstructFault (Status1.0)

BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

PVFaulted (Status1.1) BOOL Problemas com a variável de processo (PV).

CVFaulted (Status1.2) BOOL Problemas na variável de controle (CV).

HandFBFaulted (Status1.3)

BOOL Problemas no valor de HandFB.

PVSpanInv (Status1.4) BOOL Amplitude inválida de PV. PVEUMax ≤ PVEUMin.

SPProgInv (Status1.5) BOOL SPProg < SPLLimit ou SPProg > SPHLimit. A instrução usa o valor limitado para SP.

SPOperInv (Status1.6) BOOL SPOper < SPLLimit ou SPOper > SPHLimit. A instrução usa o valor limitado para SP.

SPCascadeInv (Status1.7)

BOOL SPCascade < SPLLimit ou SPCascade > SPHLimit. A instrução usa o valor limitado para SP.

SPLimitsInv (Status1.8)

BOOL Limites inválidos: SPLLimit < PVEUMin, SPHLimit > PVEUMax ou SPHLimit < SPLLimit. Se SPHLimit < SPLLimit, a instrução limita o valor usando SPLLimit

RatioProgInv (Status1.9)

BOOL RatioProg < RatioLLimit ou RatioProg > RatioHLimit. A instrução limita o valor para Taxa (Ratio).

RatioOperInv (Status1.10)

BOOL RatioOper < RatioLLimit ou RatioOper > RatioHLimit. A instrução limita o valor para Taxa (Ratio).

RatioLimitsInv (Status1.11)

BOOL Limite baixo < 0 ou Limite alto < Limite baixo.

CVProgInv (Status1.12) BOOL CVProg < 0 ou CVProg > 100, ou CVProg < CVLLimit ou CVProg > CVHLimit quando CVManLimiting for energizado. A instrução limita o valor para CV.

CVOperInv (Status1.13)

BOOL CVOper < 0 ou CVOper > 100, ou CVOper < CVLLimit ou CVOper > CVHLimit quando CVManLimiting for energizado. A instrução limita o valor para CV.

CVOverrideInv (Status1.14)

BOOL CVOverride < 0 ou CVOverride > 100. A instrução limita o valor para CV.

CVPreviousInv (Status1.15)

BOOL CVPrevious < 0 ou CVPrevious > 100, ou < CVLLimit ou > CVHLimit quando estiver no modo cascata/taxa ou automático. A instrução usa o valor limitado para CVn-1.

CVEUSpanInv (Status1.16)

BOOL Amplitude inválida de CVEU. A instrução usa um valor de CVEUMax = CVEUMin.

CVLimitsInv (Status1.17)

BOOL CVLLimit < 0, CVHLimit > 100, ou CVHLimit < CVLLimit. Se CVHLimit < CVLLimit, a instrução limita CV usando CVLLimit.

CVROCLimitInv (Status1.18)

BOOL CVROCLimit < 0. A instrução desabilita o limite de ROC.

FFInv (Status1.19) BOOL FF < –100 ou FF > 100. A instrução usa o valor limitado para FF.

FFPreviousInv (Status1.20)

BOOL FFPrevious < –100 ou FFPrevious > 100. A instrução usa o valor limitado para FFn-1.

HandFBInv (Status1.21)

BOOL HandFB < 0 ou HandFB > 100. A instrução usa o valor limitado para CV.

PGainInv (Status1.22) BOOL PGain < 0. A instrução usa um valor de PGain = 0.

IGainInv (Status1.23) BOOL IGain < 0. A instrução usa um valor de IGain = 0.

Parâmetro de Saída: Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 67: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-51

Descrição: O algoritmo PID regula a saída de CV para manter PV no SP quando a instrução é executada nos modos Cascata/Taxa ou Automático.

Quando ControlAction é energizado, o valor calculado de EPercent e PVPIDPercent é transformado em negativo antes de ser usado pelo algoritmo de controle.

DGainInv (Status1.24) BOOL DGain < 0. A instrução usa um valor de DGain = 0.

ZCDeadbandInv (Status1.25)

BOOL ZCDeadband < 0. A instrução desabilita a zona morta do cruzamento zero.

PVDeadbandInv (Status1.26)

BOOL PVDeadband < 0.

PVROCLimitsInv (Status1.27)

BOOL PVROCPosLimit < 0, PVROCNegLimit < 0, ou PVROCPeriod < 0.

DevHLLimitsInv (Status1.28)

BOOL Limites alto-baixo de desvio inválidos. Limite baixo-baixo < 0, limite baixo < 0, limite alto < 0 ou limite alto-alto < 0. A instrução usa 0 para o limite inválido.

DevDeadbandInv (Status1.29)

BOOL Zona morta do desvio < 0. A instrução usa um valor de DevDeadband = 0.

Status2 DINT Status de temporização do bloco de funções.

TimingModeInv (Status2.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções .

RTSMissed (Status2.28)

BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status2.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status2.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status2.31) BOOL Valor de DeltaT inválido.

Parâmetro de Saída: Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 68: Cópia de 1756-rm006a-pt-p

1-52 Instruções de Controle de Processo

A seguinte tabela descreve como a instrução calcula as expressões de PID:

Cálculo de CV

O algoritmo de controle PID calcula o valor para CV somando Delta PTerm, Delta ITerm, Delta DTerm e CV a partir da execução anterior da instrução (ou seja, CVn-1). Quando CVSetPrevious é energizado,

CVPrevious = CVn-1. Isto permite que você pré-programe CVn-1 para

um valor específico antes de calcular o valor de CV.

Monitoração da instrução PIDE

Existe uma tela de operação disponível para a instrução PIDE. Para maiores informações, consulte o apêndice Controles da Tela de Operação do Bloco de Funções.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída CV.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Expressão de PID: Como é calculado:

proportional (proporcional) A expressão proporcional é calculada usando:• PV quando PVEProportional for energizado ou • Error quando PVEProportional for removido

Energize PGain = 0 para desabilitar o controle proporcional.

integral A expressão integral é calculada usando Error (Erro). Energize IGain = 0 para desabilitar o controle integral. Energizando PGain = 0 quando DependIndepend está enegizado desabilita o controle integral também.

derivative (derivativo) A expressão derivativa é calculada usando:• PV quando PVEDerivative for energizado ou• Error quando PVEDerivative for desenergizado

Energize DGain = 0 para desabilitar o controle derivativo. Energizando PGain = 0 quando DependIndepend é energizado desabilitará o controle derivativo também.

A suavização (smoothing) derivativa é habilitada quando DSmoothing é energizado e desabilitada quando DSmoothing é desenergizado. A suavização derivativa causa menos “jitters” de saída, como resultado de um sinal PV com ruído, mas também limita a efetividade de ganhos derivativos altos.

CalculatedCV CVn 1– PTerm∆ ITerm∆ DTerm∆+ + +=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 69: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-53

Execução do Bloco deFunções:

Quando CVInitReq é desabilitado ou durante a primeira varredura da instrução ou em uma energização para remover a transição de CVFault (com problemas para sem problemas), a instrução inicializa as saídas CVEYU e CV para o valor de CVInitValue. Se o modo de energização não for sobreamostra e EnableIn fizer a transição de desabilitado para habilitado, a instrução inicializa os valores de CVEU e CV. CVInitialization é desabilitado depois da inicialização e quando CVInitReq for desabilitado.

CVInitValue normalmente vem de um valor de retorno da saída analógica. O valor de CVInitReq normalmente vem de bit de status “In Hold” (Em Suporte), na saída analógica controlada por CVEU. O procedimento de inicialização é realizado para evitar que uma transição com distúrbio no startup, no sinal de saída, seja enviada para o dispositivo de campo.

Condição: Ação:

pré-varredura InstructionFirstScan é energizado

primeira varredura da instrução Se CVFault e CVEUSpanInv forem energizados, consulte Falhas de Processamento 1-71.

Se CVFault e CVEUSpanInv forem desenergizados1. CVInitializing é energizado. 2. Se PVFault for energizado, PVSpanInv e SPLimitsInv são desenergizados.

Consulte Falhas de Processamento, na página 1-71.3. O algoritmo de controle PID não é executado.4. A instrução energiza CVEU = CVInitValue e CV = porcentagem correspondente.

CVInitValue não é limitado por CVEUMax ou CVEUMin. Quando a instrução calcula CV como a porcentagem correspondente, ele é limitado em 0 – 100.

5. Quando CVInitializing e ManualAfterInit são habilitados, a instrução desabilita os modos automático e cascata/taxa. Se o modo atual não for de Supressão (Override) ou Manual (Hand), a instrução muda para o modo Manual. Se ManualAfterInit for desabilitado, a instrução não é mudada.

6. Todas as entradas de pedido de operação são desabilitadas.7. Se ProgValueReset for habilitado, todas as entradas de pedidos do programa

são desabilitadas.8. Todas as saídas alto-baixo de PV, taxa de mudança de PV e alarme alto-baixo de

desvio são desabilitadas. 9. Se CVInitReq for desabilitado, CVInitializing é desabilitado.

primeira execução da instrução ProgOper é desabilitado.A instrução muda para o modo manual.

EnableIn é desabilitado Desabilite EnableOut.

EnableIn é habilitado A instrução é executada.Habilite EnableOut.

CVEU CVInitValue=

CVn 1– CVCVEU CVEUMin–

CVEUMax CVEUMin–------------------------------------------------------------- 100×= =

CVOper CV=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 70: Cópia de 1756-rm006a-pt-p

1-54 Instruções de Controle de Processo

Ao usar malhas de PID em cascata, a malha PID principal pode ser inicializada quando a segunda malha for inicializada ou quando a malha secundária deixar o modo Cascata/Taxa. Neste caso, mova o estado da saída InitPrimary e da saída SP da malha secundária para a entrada CVInitReq e para a entrada CVInitValue na malha principal.

A instrução não é inicializada e os valores de CVEU e CV não são atualizados se CVFault ou CVEUSpanInv forem energizados.

Exemplo de Bloco deFunções:

exemplo 1

A maneira mais fácil de implementar uma instrução PIDE é criar uma rotina de bloco de funções em um programa em uma tarefa periódica. O modo de temporização padrão para a instrução PIDE é periódico. Quando a instrução PIDE é usada em uma tarefa periódica e em um modo de temporização periódico, ela tipicamente usa a taxa de atualização da tarefa periódica como seu tempo de atualização de delta t. Tudo o que você precisa é conectar a entrada analógica da variável de processo no parâmetro PV, na instrução PIDE, e conectar a saída CVEU da instrução PIDE na saída analógica da variável controlada.

Opcionalmente, você pode conectar o indicador de falhas da entrada analógica (se houver um disponível) no parâmetro PVFault, na instrução PIDE. Isto força o PIDE no modo Manual quando a entrada analógica está com falha e pára o windingup/down da saída CVEU do PIDE quando o sinal de PV não está disponível.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 71: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-55

exemplo 2

O controle em cascata é útil quando problemas causados externamente ocorrem na variável controlada freqüentemente, o que causa problemas na variável de processo que você está tentando controlar. Por exemplo, tente controlar a temperatura de líquido em um tanque variando a quantidade de vapor alimentado dentro de um invólucro de aquecimento em volta do tanque. Se o fluxo de vapor cai de repente, por causa de um processo de upstream, a temperatura do líquido no tanque cai também e a instrução PIDE abre, então, a válvula de vapor para compensar a queda da temperatura.

Neste exemplo, uma malha em cascata fornece o melhor controle, abrindo a válvula de vapor quando seu fluxo cai antes que a temperatura do líquido no tanque caia. Para implementar a malha em cascata, use uma instrução PIDE para controlar a abertura da válvula de vapor, baseado em um sinal da variável de processo de um transmissor de fluxo de vapor. Esta é a malha secundária do par em cascata. Uma segunda instrução PIDE (chamada de malha principal) usa a temperatura do líquido como uma variável de processo e envia sua saída CV no setpoint da malha secundária. Desta maneira, a malha principal de temperatura pede uma certa quantidade de fluxo de vapor a partir da malha de fluxo de vapor secundária. A malha de fluxo de vapor é, então, responsável pelo fornecimento da quantidade de vapor requisitada pela malha de temperatura para manter uma temperatura de líquido constante.

Para que um par de malhas em cascata trabalhe corretamente, a malha secundária deve ter uma resposta de processo mais rápida que a malha principal. Isto porque o processo da malha secundária deve ser capaz de compensar qualquer problema antes que este afete o processo da malha principal. Neste exemplo, se o fluxo de vapor cair, ele deve ser capaz de aumentar, como resultado da ação do controlador secundário, antes que a temperatura do líquido seja afetada.

Para energizar um par de instruções PIDE em cascata, energize o parâmetro de entrada AllowCasRat na malha secundária. Isto permite que a malha secundária seja colocada no modo Cascata/Taxa. Em seguida, conecte CVEU a partir a malha principal no parâmetro SPCascade, na mlha secundária. O valor de SPCascade é usado como o SP na malha secundária quando a malha secundária é colocada no modo Cascata/Taxa. A faixa de unidades de medida de CVEU na malha principal deve corresponder à faixa de unidades de medida de PV na malha secundária. Isto permite que a malha principal converta seu valor de 0 – 100% de CV nas unidades de medida correspondentes usadas para o setpoint na malha secundária.

A instrução PIDE suporta muitos outros recursos para suportar mais efetivamente o controle em cascata. Conecte a saída InitPrimary na malha secundária à entrada CVInitReq na malha principal e conecte a saída SP da malha secundária à entrada CVInitValue na malha principal. Isto energiza o valor de CVEU da malha principal da mesma forma que o SP da malha secundária, quando a malha secundária deixa o modo Cascata/Taxa. Isto permite uma transferência sem distúrbio quando você coloca a malha secundária de volta no modo Cascata/taxa. Além disso, conecte as saídas WindupHOut e WindupLOut na malha secundária às entradas WindupHIn e WindupLIn na malha principal. Isto faz com que a malha principal pare de aumentar ou diminuir seu valor de CVEU (conforme apropriado), caso a malha secundária atinja um limite de SP ou CV e elimine qualquer disparo na malha principal se estas condições ocorrerem.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 72: Cópia de 1756-rm006a-pt-p

1-56 Instruções de Controle de Processo

exemplo 3

O controle de taxa é tipicamente usado para adicionar fluido, a uma proporção definida, a outro fluido. Por exemplo, se você quiser adicionar dois reagentes (A e B) em um tanque, a uma taxa constante, e houver a possibilidade de que a taxa de fluxo do reagente A mude por causa de algum problema no processo de upstream, você pode usar um controlador de taxa para ajustar automaticamente a taxa de adição do reagente B. Neste exemplo, o reagente A é geralmente chamado de fluxo “não controlado”, uma vez que ele não é controlado pela instrução PIDE. O reagente B é chamado de fluxo “controlado”.

Para realizar o controle de taxa com uma instrução PIDE, energize os parâmetros de entrada AllowCasRat e UseRatio. Conecte o fluxo não controlado ao parâmetro de entrada SPCascade. Quando estiver no modo Cascata/Taxa, o fluxo não controlado é multiplicado por RatioOper (quando no modo de Operação) ou por RatioProg (quando em controle de Programa) e o valor resultante é usado pela instrução PIDE como o setpoint.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 73: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-57

Comutação entre o controle de Programa e o controle de Operação

A instrução PIDE pode ser controlada por um programa do usuário ou por uma interface de operação. Você pode mudar o modo de controle a qualquer hora. O controle de Programa ou de Operação usa a mesma saída ProgOper. Quando ProgOper é energizado, o controle é de Programa; quando ProgOper é desenergizado, o controle é de Operação.

O seguinte diagrama mostra como a instrução PIDE muda entre o controle de Programa e o controle de Operação.

(1) A instrução permanece no modo de controle de Operação quando ProgOperReq é energizado.

Controle de Programa Controle de Operação

OperOperReq é energizado e ProgProgReq é desenergizado

ProgOperReq é energizado(1)

ProgProgReq é energizado e ProgOperReq é desenergizado

OperProgReq é energizado, ProgOperReq OperOperReq são desenergizados

Publicação 1756-RM006A-PT-P - Junho 2000

Page 74: Cópia de 1756-rm006a-pt-p

1-58 Instruções de Controle de Processo

Modos de Operação

A instrução PIDE suporta estes modos PID:

Modo de Operação PID: Descrição:

Cascata/Taxa Enquanto estiver no modo Cascata/Taxa, a instrução calcula a mudança em CV. A instrução regula CV para manter PV no valor de SPCascade ou no valor de SPCascade multiplicado pelo valor da Taxa. SPCascade vem do CVEU de uma malha PID principal para o controle em cascata ou do fluxo “não controlado” de uma malha controlada por taxa.

Selecione o modo Cascata/Taxa usando OperCasRatReq ou ProgCasRatReq:Energize OperCasRatReq para requisitar o modo Cascata/Taxa. Ignorado quando ProgOper, ProgOverrideReq, ProgHandReq, OperAutoReq ou OperManualReq é energizado ou quando AllowCasRat é desenergizado.

Energize ProgCasRatReq para requisitar o modo Cascata/Taxa. Ignorado quando ProgOper ou AllowCasRat e desenergizado ou quando ProgOverrideReq, ProgHandReq, ProgAutoReq ou ProgManualReq é energizado.

Auto Enquanto estiver no modo Automático, a instrução calcula a mudança em CV. A instrução regula CV para manter PV no valor de SP. Se estiver no controle de programa, SP = SPProg; se estiver no controle de Operação, SP = SPOper.

Selecione o modo Automático usando OperAutoReq ou ProgAutoReq:Energize OperAutoReq para requisitar o modo Automático.Ignorado quando ProgOper, ProgOverrideReq, ProgHandReq ou OperManualReq é energizado.

Energize ProgAutoReq para requisitar o modo Automático. Ignorado quando ProgOper é desenergizado ou quando ProgOverrideReq, ProgHandReq ou ProgManualReq é energizado.

Manual Enquanto estiver no modo Manual, a instrução não calcula a mudança em CV. O valor de CV é determinado pelo controle. Se estiver no controle de Programa, CV = CVProg; se estiver no controle de Operação, CV = CVOper.

Selecione o modo Manual usando OperManualReq ou ProgManualReq:Energize OperManualReq para requisitar o modo Manual. Ignorado quando ProgOper, ProgOverrideReq ou ProgHandReq é energizado.

Energize ProgManualReq para requisitar o modo Manual. Ignorado quando ProgOper é desenergizado ou quando ProgOverrideReq ou ProgHandReq é energizado.

Override Enquanto estiver no modo de Supressão (Override), a instrução não calcula a mudança em CV. CV = CVOverride, independente do modo de controle. O modo de Supressão (Override) é tipicamente usado para energizar um “estado seguro” para a malha PID.

Selecione o modo de Supressão (Override) usando ProgOverrideReq:Energize ProgOverrideReq para requisitar o modo de Supressão (Override). Ignorado quando ProgHandReq é desenergizado.

Manual Enquanto estiver no modo Manual (Hand), o algoritmo PID não calcula a mudança em CV. CV = HandFB, independente do modo de controle. O modo Manual (Hand) é tipicamente usado para indicar que o controle do elemento de controle final foi realizado por uma estação manual/automática em campo.

Selecione o modo Manual (Hand) usando ProgHandReq:Energize ProgHandReq para requisitar o modo manual (hand). Este valor é usado geralmente como uma entrada digital, a partir de uma estação manual/automática.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 75: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-59

Os modos Cascata/Taxa, Automático e Manual podem ser controlados por um programa do usuário quando estiver no controle de Programa ou por uma interface de operação quando estiver no controle de Operação. Os modos de Supressão (Override) ou Manual (Hand) têm uma entrada de pedido de modo que pode ser controlada somente por um programa do usuário; estas entradas operam no controle de Programa e no controle de Operação.

Seleção do setpoint

Uma vez que instrução determina o controle de programa ou de operação e o modo PID, a instrução pode obter o valor de SP correto. Você pode selecionar o SP em cascata/taxa ou o SP atual.

SP em cascata/taxa

O SP em cascata/taxa é baseado nos valores de UseRatio e ProgOper.

UseRatio

RatioHAlarm

RatioLAlarm

Taxa

RatioProg

RatioOper

ProgOper

SPCascade

UseRatio

RatioOper

CascadeRatio SP

Se Ratio (Taxa) > RatioHLimit, RatioHAlarm é energizado.

Se Ratio (Taxa) < RatioLLimit, RatioLAlarm é energizado.

Se Ratio (Taxa) > RatioHLimit, Ratio = RatioHAlarmSe Ratio (Taxa) < RatioLLimit, Ratio = RatioLAlarm

Selecione energizado SaídaSelecione desenergizado

Select (Selecionar) Entrada Saída

Habilitação

Selecione energizado Saída

Selecione desenergizadoSelect (Selecionar)

I1 Saída

I2I1 x I2

Publicação 1756-RM006A-PT-P - Junho 2000

Page 76: Cópia de 1756-rm006a-pt-p

1-60 Instruções de Controle de Processo

SP Atual

O SP atual é baseado no modo Cascata/Taxa, no valor de PVTracking, modo automático e no valor de ProgOper.

Limite de SP alto/baixo

O algoritmo de fornecimento das informações de alarme alto para baixo compara o SP aos limites de alarme de SPHLimit e SPLLimit. SPHLimit não pode ser maior que PVEUMax e SPLLimit não pode ser menor que PVEUMin.

(1) Durante a primeira varredura da instrução, a instrução desenergiza as saídas de alarme de SP. A instrução também desenergiza os limites de alarme de SP e desabilita o algoritmo de fornecimento de informções de alarme quando PVSpanInv é energizado.

Selecione energizado SaídaSelecione desenergizado

Select (Selecionar)

Selecione energizado Saída

Selecione desenergizado

Select (Selecionar)

Selecione energizado SaídaSelecione desenergizado

Select (Selecionar)

CascadeRatio SP

Modo CasRat

SP Selecionado

PV

SPProg

SPOper

ProgOper

Non-Cascade/Ration SP Selecionado

PVTracking e não modo Automático

SPHAlarm é desabilitado(1)

SP > SPHLimit

SP ≤ SPHLimitSPHAlarm é habilitado

SPLAlarm é desabilitado(1)

SP < SPLLimit

SP ≥ SPLLimitSPLAlarm é habilitado

SP

SPHAlarm

SPLAlarm

se SPHALARM for habilitadoSP = SPHLimit

se SPLAlarm for habilitadoSP = SPLLimit

SP

Publicação 1756-RM006A-PT-P - Junho 2000

Page 77: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-61

Atualização dos valores de SPOper e SPProg

A instrução PIDE faz com que SPOper = SP ou SPProg = SP para obter a comutação do controle sem distúrbios entre o controle de Programa e de Operação ou quando comutando a partir do modo Cascata/Taxa.

Fornecimento de informações de alarme alto/baixo de PV

O algoritmo de fornecimento de informações de alarme alto-alto para baixo-baixo compara PV com os limites de alarme de PV e com os limites de alarme de PV mais ou menos a zona morta de alarme de PV.

(1) Durante a primeira varredura da instrução, a instrução desabilita todas as saídas de alarme de PV. A instrução também desenergiza as saídas de alarme de PV e desabilita o algoritmo de fornecimento de informações de alarme quando PVFaulted é energizado.

EntradaSPOper

SaídaSP do limite alto/baixo de SP

ProgOper ou modo Cascata/Taxa ou (PVTracking e não modo automático)

EntradaSPProg

Saída((não ProgOper) ou modo Cascata/Taxa ou (PVTracking e não modo Automático)) e ProgValueReset

Habilitação

Habilitação

PVHHAlarm é desabilitado(1)

PV ≥ PVHHLimit

PV < PVHHLimit – PVDeadband PVHHAlarm é habilitado

PVHAlarm é desabilitado(1)

PV ≥ PVHLimit

PV < PVHLimit – PVDeadbandPVHAlarm é habilitado

PVLLAlarm é desabilitado(1)

PV ≤ PVLLLimit

PV > PVLLLimit + PVDeadbandPVLLAlarm é habilitado

PVLAlarm é desabilitado(1)

PV ≤ PVLLimit

PV > PVLLimit + PVDeadband PVLAlarm é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 78: Cópia de 1756-rm006a-pt-p

1-62 Instruções de Controle de Processo

Fornecimento de informações da taxa de mudança do alarme de PV

O fornecimento de informações da taxa de mudança do alarme de PV (ROC) compara a mudança no valor de PV em PVROCPeriod com os limites positivo e negativo da taxa de mudança de PV. O PVROCPeriod fornece um tipo de zona morta para a taxa de mudança de alarme. Por exemplo, se você usar um limite de alarme ROC de 2 °F/segundos com um período de execução de 100 ms e um módulo de entrada analógica com uma resolução de 1 °F, todas as vezes que o valor de entrada mudar, um alarme ROC é gerado, pois a instrução vê uma taxa de 10 °F/segundos. Entretanto, inserindo um PVROCPeriod de pelo menos 1 seg., o alarme ROC é gerado somente se a taxa realmente exceder o limite de 2 °F/segundos.

O cálculo de ROC é realizado somente quando PVROCPeriod expirar. A taxa de mudança é calculada como:

Se ElapsedROCPeriod ≥ PVROCPeriod, então:

Uma vez que PVROC foi calculado, os alarmes ROC de PV são determinados como segue:

(1) Durante a primeira varredura da instrução, a instrução desenergiza as saídas de alarme ROC de PV. A instrução também desenergiza as saídas de alarme PVROC e desabilita o algoritmo de fornecimento de informações de alarme quando PVROC PVFaulted é habilitado.

ElapsedROCPeriod ElapsedROCPeriod ElapsedTimeSinceLastExecution+=

Este valor: É:

PVROC

PVROCn-1

ElapsedROCPeriod

PVn PVROCn 1––

PVROCPeriod----------------------------------------------

PVROCn 1– PVn=

ElapsedROCperiod 0=

PVROCPosAlarm é desabilitado(1)

PVROC ≥ PVROCPosLimit

PVROC < PVROCPosLimitPVROCPosAlarm é habilitado

PVROCNegAlarm é desabilitado(1)

PVROC ≤ –PVROCNegLimit

PVROC > –PVROCNegLimitPVROCNegAlarm é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 79: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-63

Conversão dos valores de PV e SP para porcentagem

A instrução converte PV e SP em uma porcentagem e calcula o erro antes de realizar o algoritmo de controle PID. O erro é a diferença entre os valores de PV e SP. Quando ControlAction é energizado, os valores de EPercent, E e PVPIDPercent são transformados em negativo antes de serem usados pelo algoritmo PID.

Fornecimento de informações de alarme alto/baixo de desvio

O Desvio é a diferença em valor entre a variável de processo (PV) e o setpoint (SP). O fornecimento de informações de alarme de desvio

Selecione energizado SaídaSelecione desabilitadoSelect (Selecionar)

I1 Saída

I2 PV – SPI1 – I2

I1 Saída

I2 PV% – SP%I1 – I2

I1 Saída

I2I1 x I2

PVPercent

EPercent

SPPercent

PVPIDPercent(1)

E

Desvio(1)

I1 Saída

I2I1 x I2

I1 Saída

I2I1 x I2

Os valores de EPercent, E e PVPIDPercent são transformados em número negativo quando ControlAction é energizado.

Selecione o multiplicador baseado no estado de ControlAction

ControlAction

SP

PV PV – PVEUMinPVEUMax – PVEUMin x 100

SP – PVEUMinPVEUMax – PVEUMin x 100

(1) PVPIDPercent e Desvio são parâmetros internos usados pelo algoritmo de controle PID.

1

-1

Publicação 1756-RM006A-PT-P - Junho 2000

Page 80: Cópia de 1756-rm006a-pt-p

1-64 Instruções de Controle de Processo

alerta o operador para a discrepância entre a variável de processo e o valor do setpoint.

O algoritmo de fornecimento de informações de alarme alto-alto para baixo-baixo compara o desvio com os limites de alarme de desvio e com os limites de alarme de desvio mais ou menos a zona morta.

(1) Durante a primeira varredura da instrução, a instrução desenergiza as saídas de alarme de desvio. A instrução também desenergiza as saídas de alarme de desvio e desabilita o algoritmo de fornecimento de informações de alarme quando PVFaulted ou PVSpanInv é habilitado.

Controle da zona morta do cruzamento zero.

Você pode limitar CV de forma que seu valor não mude quando um erro permanecer com a taxa especificada por ZCDeadband(| E | ≤ ZCDeadband).

DevHHAlarmé desabilitado(1)

desvio ≥ DevHHLimit

desvio < DevHHLimit – DevDeadbandDevHHAlarmé habilitado

DevHAlarmé desabilitado(1)

desvio ≥ DevHLimit

desvio < DevHLimit – DevDeadbandDevHAlarmé habilitado

DevLAlarmé desabilitado(1)

desvio ≤ –DevLLimit

desvio > –DevLLimit + DevDeadbandDevLAlarmé habilitado

DevLLAlarmé desabilitado(1)

desvio ≤ –DevLLLimit

desvio > –DevLLLimit + DevDeadbandDevLLAlarmé habilitado

ZCDeadBandOn é desabilitado(1)

ZCOff é desabilitado, ZCDeadband > 0, |En| cruzou zero e |En|

≤ ZCDeadband(2)

ZCOff é habilitado, ZCDeadband > 0 e |En| ≤ ZCDeadband

|En| > ZCDeadband

ZCDeadBandOné habilitado

Selecione energizado SaídaSelecione desenergizadoSelect (Selecionar)

CVn-1

ZCDeadbandOn

CV calculadoCV baseado no estado de ZCDeadbandOn.CV = CVn-1 quando ZCDeadbandOn é energizado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 81: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-65

(1) Quando ZCOff é desabilitado, ZCDeadband > 0, o erro cruzou o zero pela primeira vez, (i.e. En ≥ 0 e En-1 < 0 ou quando En ≤ 0 e En-1 > 0) e | En | ≤ ZCDeadband , a instrução energiza ZCDeadbandOn.

(2) Na transição do modo Automático para Cascata/Taxa, a instrução energiza E n-1 = En.

A instrução desabilita o algoritmo de cruzamento zero e desabilita ZCDeadband sob estas condições:

• durante a primeira varredura da instrução

• ZCDeadband ≤ 0

• Automático ou Cascata/Taxa não é modo atual

• PVFaulted é habilitado

• PVSpanInv é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 82: Cópia de 1756-rm006a-pt-p

1-66 Instruções de Controle de Processo

Controle de feedforward

Calcule CV, somando CV a partir do algoritmo de cruzamento zero com ∆FF. O valor de ∆FF = FF – FFn-1. Quando FFSetPrevious é

habilitado, FF n-1 = FFPrevious. Isto permite que você pré-programe

FF n-1 para um valor específico antes que a instrução calcule o valor

de ∆FF.

Seleção da variável de controle

Uma vez que o algoritmo PID foi executado, selecione o CV baseado no controle de programa ou operação e o modo atual do PID.

Selecione energizado SaídaSelecione desenergizado

Select (Selecionar)

I1 Saída

I2 I1 – I2

I1 Saída

I2 PV% – SP%I1 + I2

Valor de CV baseado no estado de ZCDeadbandOn

FF

FFPrevious

FFSetPrevious

FFn-1

CV + FF

∆FF

Energize FFn-1 = FFPrevious quando FFSetPrevious for energizado.

Selecione energizado Saída

Selecione desenergizado

Select (Selecionar)

Selecione energizado Saída

Selecione desenergizado

Select (Selecionar)

Selecione energizado SaídaSelecione desenergizado

Select (Selecionar)

Selecione energizado SaídaSelecione desenergizado

Select (Selecionar)

HandFB

CVProg

CVOper

ProgOper

CV calculado a partir do algoritmo FeedForward

Modo Manual

Modo Override (Supressão)

Modo Hand (Manual)

CVOverride

CV Selecionado

CV usado para o modo cascata/taxa ou automático

Publicação 1756-RM006A-PT-P - Junho 2000

Page 83: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-67

Limite de disparo (windup) de CV

Limite o CV de forma que seu valor não aumente quando WindupHIn for energizado ou diminua quando WindupLIn for energizado. Estas entradas são tipicamente as saídas WindupHOut ou WindupLOut a partir de uma malha secundária. As entradas WindupHIn e WindupLIn são ignoradas se CVInitializing, CVFault ou CVEUSpanInv for energizado.

Limite de porcentagem de CV

O seguinte diagrama ilustra como a instrução determina o limite de porcentagem de CV.

(1) Durante a primeira varredura da instrução, a instrução desenergiza as saídas de alarme.

CV selecionado

WindupHIn

WindupLIn

se WindupHIn e CV > CVn-1CV = CVn-1

se WindupLIn e CV < CVn-1CV = CVn-1

CV a partir do algoritmo de disparo (windup)

CVHAlarm é desabilitado(1)

CV > 100

CV ≤ 100CVHAlarm é habilitado

CVLAlarm é desabilitado(1)

CV < 0

CV ≥ 0CVLAlarm é habilitado

CV a partir do algoritmo de disparo(windup)

CVHAlarm

CVLAlarm

se CVHAlarm for habilitadoCV = 100

se CVLAlarm for habilitadoCV = 0

CV limitado de 0 – 100%

Publicação 1756-RM006A-PT-P - Junho 2000

Page 84: Cópia de 1756-rm006a-pt-p

1-68 Instruções de Controle de Processo

Limite de CV alto/baixo

A instrução sempre realiza o fornecimento de informações de alarme baseada em CVHLimit e CVLLimit. Limite CV de acordo com CVHLimit e CVLLimit quando estiver no modo automático ou cascata/taxa. Quando estiver no modo manual, limite CV de acordo com CVHLimit e CVLLimit quando CVManLimiting for energizado. Senão, limite CV de acordo com 0 e 100%.

(1) Durante a primeira varredura da instrução, a instrução desenergiza as saídas de alarme.

Limite da taxa de mudança de CV

A instrução PIDE limita a taxa de mudança de CV quando estiver no modo Automático ou Cascata/Taxa ou quando estiver no modo Manual e CVManLimiting for energizado. Um valor de zero desabilita o limite da taxa de mudança de CV.

A taxa de mudança de CV é calculada como:

onde DeltaT está em segundos.

CVHAlarm é desabilitado(1)

CV > CVHLimit

CV ≤ CVHLimitCVHAlarm é habilitado

CVLAlarm é desabilitado(1)

CV < CVLLimit

CV ≥ CVLLimitCVLAlarm é habilitado

CV a partir do algoritmo de limite de 0 – 100 %CVHAlarm é habilitado e (automático ou

cascata/taxa ou (manual e CVManLimiting éhabilitado))

CVLAlarm é habilitado e (automático oucascata/taxa ou (manual e CVManLimiting é

habilitado))

se CVHAlarm for habilitadoCV = CVHLimit

se CVLAlarm for habilitadoCV = CVLLimit

CV limitado de acordo com os limites alto/baixo de CV

CVROC CVn CVn 1––=

CVROCDelta CVROCLimit DeltaT×=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 85: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-69

Uma vez que a taxa de mudança de CV foi calculada, os alarmes da taxa de mudança de CV são determinados como segue:

(1) Durante a primeira varredura da instrução, a instrução desenergiza a saída de alarme. A instrução também desenergiza a saída de alarme e desabilita o algoritmo da taxa de mudança de CV quando CVInicializing é energizado.

(2) Quando estiver no modo Automático ou Cascata/Taxa ou quando estiver no modo Manual e CVManLimiting for energizado, a instrução limita a mudança de CV.

Atualização dos valores de CVOper e CVProg

Se não estiver no modo Manual de Operação, a instrução PIDE energiza CVOper = CV. Isto obtém a comutação do modo sem distúrbios, a partir de qualquer controle, para o modo Manual de Operação.

CV a partir do limite alto/baixo do algoritmo de CV

Alarme CVROC

se CV > CVn-1CV = CVn-1 + CVROCDelta

se CV < CVn-1CV = CVn-1 – CVROCDelta

Saída CV

CVROCAlarmé desabilitado(1)

CVROC ≥ CVROCDelta(2)

CVROC < CVROCDeltaCVROCAlarmé habilitado

EntradaCVOper

SaídaCV a partir do limite da taxa de mudança de CV

ProgOper ou não no modo Manual

EntradaCVProg

Saída

(ProgOper é desabilitado ou (não em modo Manual)) e ProgValueReset é desabilitado

Habilitação

Habilitação

CV a partir do limite da taxa de mudança de CV

Publicação 1756-RM006A-PT-P - Junho 2000

Page 86: Cópia de 1756-rm006a-pt-p

1-70 Instruções de Controle de Processo

Controle da malha principal

O controle da malha principal é tipicamente usado por uma malha PID principal para obter a comutação sem distúrbios e o disparo (windup) anti-reset, quando estiver usando o modo Cascata/Taxa. O controle da malha principal inclui a saída da malha principal de inicialização e as saídas de disparo (windup) anti-reset. A saída InitPrimary é tipicamente usada pela entrada CVInitReq de uma malha PID principal. As saídas de disparo (windup) são tipicamente usadas pelas entradas de disparo (windup) de uma malha principal para limitar o disparo (windup) de sua saída de CV.

(1) Durante a primeira varredura da instrução, a instrução energiza InitPrimary.(2) Quando CVInitializing é energizado ou quando não estiver no modo Cascata/Taxa, a instrução energiza

InitPrimary.(3) Quando CVInitializing é desenergizado e quando estiver no modo Cascata/Taxa, a instrução desenergiza

InitPrimary.(4) Durante a primeira varredura da instrução, a instrução desenergiza as saídas de disparo (windup). A instrução

também desenergiza as saídas de disparo (windup) e desabilita o algoritmo de disparo (windup) de CV, quando CVInicializing é energizado ou se CVFaulted ou CVEUSpanInv for energizado.

(5) A instrução energiza WindupHOut quando SPHAlarm é energizado ou quando ControlAction é removido e CVHAlarm é energizado ou quando ControlAction é energizado e CVLAlarm é energizado.

Os limites de SP e CV operam independentemente. Um limite alto de SP não previne que CV aumente em valor. Da mesma forma, um limite alto ou baixo de CV não previne que SP aumente em valor.

(6) A instrução desabilita WindupHOut quando SPHAlarm é desabilitado e não (ControlAction é desabilitado e CVHAlarm é habilitado) e não (ControlAction é habilitado e CVLAlarm é habilitado).

(7) A instrução habilita WindupLOut quando SPLAlarm é habilitado ou quando ControlAction é desabilitado e CVLAlarm é habilitado ou quando ControlAction é habilitado e CVHAlarm é habilitado.

Os limites de SP e CV operam independentemente. Um limite baixo de SP não previne que CV aumente em valor. Da mesma forma, um limite baixo ou alto de CV não previne que SP aumente em valor.

(8) A instrução desabilita WindupLOut quando SPLAlarm é desabilitado e não (ControlAction é desabilitado e CVLAlarm é habilitado) e não (ControlAction é habilitado e CVHAlarm é habilitado).

CVInitializing é desabilitado e no modo Cascata/Taxa(3)InitPrimaryé desabilitado

CVInitializing é habilitado ou não no modo Cascata/Taxa(2)

InitPrimaryé habilitado(1)

WindupHOuté desabilitado(4)

SPHAlarm é habilitado ou o alarme de CV apropriado(5)

SPHAlarm é desabilitado e sem alarme de CV(6)WindupHOuté habilitado

WindupLOuté desabilitado(4)

SPLAlarm é habilitado ou o alarme de CV apropriado(7)

SPLAlarm é desabilitado e sem alarme de CV(8)WindupLOuté habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 87: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-71

Processamento de Falhas

A seguinte tabela descreve como a instrução manuseia as falhas de execução:

Condição de falha: Ação:

CVFaulted é habilitado ouCVEUSpanInv é habilitado

• A instrução não é inicializada, CVInitializing é desabilitado• Calcule a porcentagem de PV e SP, calcule o erro, atualize os

parâmetros internos para EPercent e PVPIDPercent• O algoritmo de controle PID não é executado.• Desabilite os modos Automático e Cascata/Taxa. Se o modo atual não

for de Supressão (Override) ou Manual (Hand), defina no modo Manual.

• Energize CV para o valor determinado pelo controle de Programa ou Operação (Manual, Supressão (Override) ou Manual (Hand).

PVFaulted é habilitado • Desabilite os modos Automático e Cascata/Taxa. Se o modo atual não for de Supressão (Override) ou Manual (Hand), defina no modo Manual.

• As saídas alto-baixo de PV, taxa de mudança de PV e alarme alto-baixo de desvio são desenergizadas.

• O algoritmo de controle PID não é executado.• Defina CV no valor determinado pelo controle de Programa ou

Operação (Manual, Supressão (Override) ou Manual (Hand).

PVSpanInv é habilitado ouSPLimitsInv é habilitado

• Desabilite os modos Automático e Cascata/Taxa. Se o modo atual não for de Supressão (Override) ou Manual (Hand), defina no modo Manual.

• Não calcule a porcentagem de PV e SP• O algoritmo de controle PID não é executado.• Defina CV no valor determinado pelo controle de Programa ou

Operação (Manual, Supressão (Override) ou Manual (Hand).

RatioLimitsInv é habilitado eCasRat é habilitado eUseRatio é habilitado

• Se já não estiver no modo Manual (Hand) ou de Supressão (Override), defina no modo Manual

• Desabilite o modo Cascata/Taxa• Defina CV no valor determinado pelo controle de Programa ou

Operação (Manual, Supressão (Override) ou Manual (Hand).

TimingModeInv é habilitado ouRTSTimeStampInv é habilitado ouDeltaTInv é habilitado

• Se já não estiver no modo Manual (Hand) ou de Supressão (Override), defina no modo Manual

Publicação 1756-RM006A-PT-P - Junho 2000

Page 88: Cópia de 1756-rm006a-pt-p

1-72 Instruções de Controle de Processo

Proporcional de Posição (POSP)

A instrução POSP abre ou fecha um dispositivo pulsando contatos abertos ou fechados a um tempo de ciclo definido pelo usuário, com uma largura de pulso proporcional à diferença entre a posição desejada e a real.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura POSP: Parâmetros de entrada

Bloco de Funções

Linguagens Disponíveis:

Operando Tipo: Formato: Descrição:

tag do bloco POSITION_PROP estrutura Estrutura POSP

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

SP REAL Setpoint. Este é o valor desejado para a posição. Este valor deve usar as mesmas unidades de medida que Posição (Position). válido = qualquer flutuantepadrão = 0,0

Position REAL Feedback da posição. Esta entrada analógica vem do feedback de posição, a partir do dispositivo. válido = qualquer flutuantepadrão = 0,0

OpenedFB BOOL Feedback aberto. Esta entrada sinaliza quando o dispositivo está totalmente aberto. Quando energizado, não é permitido que a saída aberta se energize. o padrão é desabilitado

ClosedFB BOOL Feedback fechado. Esta entrada sinaliza quando o dispositivo está totalmente fechado. Quando energizado, não é permitido que a saída fechada se energize.o padrão é desabilitado

PositionEUMax REAL Valor convertido em escala máxima de Posição (Position) e SP.válido = qualquer flutuantepadrão = 100,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 89: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-73

Parâmetros de saída

PositionEUMin REAL Valor convertido em escala mínima de Posição (Position) e SP.válido = qualquer flutuantepadrão = 0,0

CycleTime REAL Período do pulso de saída em segundos. Um valor de zero desenergiza OpenOut e CloseOut. Se este valor for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status. válido = qualquer flutuante positivopadrão = 0,0

OpenRate REAL Taxa aberta do dispositivo em %/segundos. Um valor de zero remove OpenOut. Se este valor for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status.válido = qualquer flutuante positivopadrão = 0,0

CloseRate REAL Taxa fechada do dispositivo em %/segundos. Um valor de zero remove CloseOut. Se este valor for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status.válido = qualquer flutuante positivopadrão = 0,0

MaxOnTime REAL Tempo máximo em segundos no qual um pulso aberto ou fechado pode estar. Se OpenTime ou CloseTime for calculado para ser maior que este valor, eles são limitados de acordo com este valor. Se este valor for inválido, a instrução assume um valor de CycleTime e energiza o bit apropriado em Status.válido = 0,0 a Tempo de Ciclopadrão = 0,0

MinOnTime REAL Tempo mínimo em segundos no qual um pulso aberto ou fechado pode estar. Se OpenTime ou CloseTime for calculado para ser menor que este valor, eles são limitados em zero. Se este valor for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status.válido = 0,0 a MaxOnTimepadrão = 0,0

DEADTIME (Tempo morto)

REAL Tempo de pulso adicional em segundos para superar a fricção no dispositivo. A zona morta é adicionada a OpenTime ou CloseTime quando o dispositivo muda de direção ou é parado. Se este valor for inválido, a instrução energiza o bit apropriado em Status e usa um valor de Zona Morta = 0,0. válido = 0,0 a MaxOnTimepadrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

OpenOut BOOL Está saída é pulsada para abrir o dispositivo.

CloseOut BOOL Está saída é pulsada para fechar o dispositivo.

PositionPercent REAL O feedback de posição é expresso como a porcentagem da amplitude de Posição (Position). Os flags de status aritméticos estão energizados para esta saída.

SPPercent REAL O setpoint é expresso como a porcentagem da amplitude de Posição (Position).

OpenTime REAL Tempo de pulso em segundos de OpenOutput para o ciclo atual.

CloseTime REAL Tempo de pulso em segundos de CloseOutput para o ciclo atual.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 90: Cópia de 1756-rm006a-pt-p

1-74 Instruções de Controle de Processo

Descrição: A instrução POSP geralmente recebe o setpoint da posição desejada de uma saída de instrução PID.

Conversão de Escala da posição e dos valores de setpoint

As saídas PositionPercent e SPPercent são atualizadas a cada vez que a instrução é executada. Se estes valores estiverem fora da faixa (menos de 0% ou mais de 100%), o bit apropriado é energizado em Status, mas os valores não são limitados. A instrução usa estas fórmulas para calcular se os valores estão na faixa:

CycleTimeInv (Status.1)

BOOL Valor de Cycle Time inválido. A instrução usa zero.

OpenRateInv (Status.2)

BOOL Valor de OpenRate inválido. A instrução usa zero.

CloseRateInv (Status.3)

BOOL Valor de CloseRate inválido. A instrução usa zero.

MaxOnTimeInv (Status.4)

BOOL Valor de MaxOnTime inválido. A instrução usa o valor de CycleTime.

MinOnTimeInv (Status.5)

BOOL Valor de MinOnTime inválido. A instrução usa zero.

DeadtimeInv (Status.6) BOOL Valor de tempo morto inválido. A instrução usa zero.

PositionPctInv (Status.7)

BOOL O valor calculado de PositionPercent está fora da faixa.

SPPercentInv (Status.8)

BOOL O valor calculado de SPPercent está fora da faixa.

PositionSpanInv (Status.9)

BOOL PositionEUMax = PositionEUMin.

Parâmetro de Saída: Tipo de Dados: Descrição:

PositionPercentPosition PositionEUMin–

PositionEUMax PositionEUMin–------------------------------------------------------------------------------------------ 100×=

SPPercentSP PositionEUMin–

PositionEUMax PositionEUMin–------------------------------------------------------------------------------------------ 100×=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 91: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-75

Como a instrução POSP usa o temporizador de ciclo interno

A instrução usa CycleTime para determinar a freqüência de recálculo da duração dos pulsos de saída Aberta (Open) e Fechada (Close). Um temporizador interno é mantido e atualizado por Delta T. DeltaT é o tempo transcorrido desde a última execução da instrução. Sempre que o temporizador interno for igual ou exceder o CycleTime programado (o tempo do ciclo expira), as saídas Abertas (Open) e Fechadas (Close) são recalculadas.

Você pode mudar o CycleTime a qualquer hora.

Se CycleTime = 0, o temporizador interno é desabilitado, OpenOut é desabilitado e CloseOut é desabilitado.

Produção de pulsos de saída

O diagrama seguinte mostra os três estados principais da instrução POSP.

Pulso Time OpenOutOpenOut = energizado

CloseOut = desenergizado

Calcule os tempos de pulso Aberto (Open)/Fechado (Close)

Espere pelo próximo cicloOpenOut = desenergizadoCloseOut = desenergizado

OpenTime > 0

CycleTime expirou

OpenTime expira

OpenedFB = energizado ou PositionPercent ≥ 100

PositionPercent ≥ SPPercent

entrada inválida

CycleTime expirou

OpenTime = 0 e CloseTime = 0

Pulso Time CloseOut OpenOut = desenergizado

CloseOut = energizado

CloseTime expira

ClosedFB = energizado ou PositionPercent ≤ 100

PositionPercent ≥ SPPercent

entrada inválida

CloseTime > 0

CycleTime expirou

Publicação 1756-RM006A-PT-P - Junho 2000

Page 92: Cópia de 1756-rm006a-pt-p

1-76 Instruções de Controle de Processo

Cálculo dos tempos de pulso aberto e fechado

OpenOut é pulsado sempre que SP > feedback de Posição (Position). Quando isto ocorre, a instrução energiza CloseTime = 0 e a duração para a qual OpenOut deve ser energizado é calculada como:

• Se OpenTimen-1 < CycleTime, então adicione a Zona Morta

(Deadtime) ao OpenTime.

• Se OpenTime > MaxOnTime, então limite em MaxOnTime.

• Se OpenTime < MinOnTime, então energize OpenTime = 0.

Se qualquer das seguintes condições existirem, OpenOut não é pulsado e OpenTime = 0.

• OpenFB é energizado ou PositionPercent ≥ 100

• CycleTime = 0

• OpenRate = 0

• SPPercent é inválido

CloseOut é pulsado sempre que SP < feedback de Posição (Position). Quando isto ocorre, a instrução energiza OpenTime = 0 e a duração para o qual CloseOut deve ser energizado é calculado como:

• Se CloseTimen-1 < CycleTime, então adicione a Zona Morta

(Deadtime) ao CloseTime.

• Se CloseTime > MaxOnTime, então limite em MaxOnTime.

• Se CloseTime < MinOnTime, então habilite CloseTime em 0.

Se qualquer das seguintes condições existirem, CloseOut não será pulsado e CloseTime será desenergizado.

• ClosedFB é energizado ou PositionPercent ≤ 0

• CycleTime = 0

• CloseRate = 0

• SPPercent é inválido

OpenOut e CloseOut não serão pulsados se SPPercent for igual a PositionPercent. OpenTime e CloseTime serão desenergizados.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída PositionPercent.

Condições de Falha: nenhuma

OpenTime SPPercent PositionPercent–OpenRate

-----------------------------------------------------------------------------=

CloseTime PositionPercent SPPercent–CloseRate

-----------------------------------------------------------------------------=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 93: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-77

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura OpenOut e CloseOut são desenergizados. OpenTime = 0CloseTime = 0.

primeira varredura da instrução Um temporizador de ciclo interno é resetado. A instrução calcula OpenTime e Close Time.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabiltado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Neste exemplo, a instrução POSP abre ou fecha uma válvula operada por motor, baseada na saída CVEU da instrução PIDE. A posição real da válvula é conectada à entrada Position (Posição) e as chaves de fim de curso opcionais, que mostram se a válvula está totalmente aberta ou fechada, são conectadas às entradas OpenedFB e ClosedFB. As saídas OpenOut e CloseOut são conectadas aos contatos abertos e fechados, na válvula operada por motor.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 94: Cópia de 1756-rm006a-pt-p

1-78 Instruções de Controle de Processo

Rampa/Saturação (RMPS)

A instrução RMPS fornece um número de segmentos de alternação de períodos de rampa e saturação.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco RAMP_SOAK

estrutura Estrutura RMPS

RampValue REAL matriz Matriz de Valor de Rampa (Ramp). Insira um valor de rampa para cada segmento (0 para NumberOfSegs-1). Os valores de rampa são inseridos como tempo em segundos ou como uma taxa em unidades/minuto. O parâmetro TimeRate reflete qual método é usado para especificar a rampa. Se um valor de rampa for inválido, a instrução energiza o bit apropriado em Status e muda para o modo Manual de Operação ou de Manter Programa. A matriz deve ser pelo menos do tamanho de NumberOfSegs.válido = 0,0 ao máximo flutuante positivo

SoakValue REAL matriz Matriz de Valor de Saturação (Soak). Insira um valor de saturação para cada segmento (0 para NumberOfSegs-1). A matriz deve ser pelo menos do tamanho de NumberOfSegs.válido = qualquer flutuante

SoakTime REAL matriz Matriz de Tempo de Saturação. Insira um tempo de saturação para cada segmento (0 para NumberOfSegs-1). Os tempos de saturação são inseridos em minutos. Se um valor de saturação for inválido, a instrução energiza o bit apropriado em Status e muda para o modo Manual de Operação ou Manter Programa. A matriz deve ser pelo menos do tamanho de NumberOfSegs.válido = 0,0 ao máximo flutuante positivo

Publicação 1756-RM006A-PT-P - Junho 2000

Page 95: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-79

Estrutura RMPS: Especifique uma estrutura RMPS única para cada instrução.

Parâmetros de entrada

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se removido, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

PV REAL Entrada do sinal de temperatura analógica convertida em escala para a instrução.válido = qualquer flutuantepadrão = 0,0

PVFault BOOL Indicador de problemas de PV. Se energizado, a entrada é inválida, a instrução é colocada no modo Manter Programa ou Manual de Operação e a instrução energiza o bit apropriado em Status.o padrão é desabilitado

NumberOfSegs DINT Número de segmentos. Especifique o número de segmentos de rampa/saturação usado pela instrução. As matrizes para RampValue, SoakValue e SoakTime devem ser pelo menos do tamanho de NumberOfSegs. Se este valor for inválido, a instrução é colocada no modo Manter Programa ou Manual de Operação e a instrução energiza o bit apropriado em Status.válido = 1 a (tamanho mínimo das matrizes RampValue, SoakValue ou SoakTime)padrão = 1

ManHoldAftInit BOOL Manual/Manter após a inicialização. Se energizado, a rampa/saturação está no modo Manual de Operação ou Manter Programa depois que a inicialização for concluída. Senão, a rampa/saturação permanece em seu estado anterior depois que a inicialização é concluída. o padrão é desabilitado

CyclicSingle BOOL Execução cíclica/única. Energizado para ação cíclica ou desenergizado para ação única. A ação cíclica repete continuamente o perfil de rampa/saturação. A ação única realiza o perfil de rampa/saturação uma vez e, então, pára. o padrão é desabilitado

TimeRate BOOL Configuração do valor de rampa por tempo/taxa. Energizado se os parâmetros de RampValue forem inseridos como um tempo em minutos para alcançar a temperatura de saturação. Desenergize se os parâmetros de RampValue forem inseridos como uma taxa em unidades/minuto.o padrão é desabilitado

GuarRamp BOOL Rampa garantida. Se energizado, a instrução está em automático, a rampa (ramping) é temporariamente suspensa se PV for diferente de Output (Saída) mais que RampDeadband. o padrão é desabilitado

RampDeadband REAL Zona morta da rampa garantida. Especifica a quantidade em que as unidades de medida que PV é permitido a ser diferente da saída quando GuarRamp estiver energizado. Se este valor for inválido, a instrução energiza RampDeadband = 0,0 e a instrução energiza o bit apropriado em Status.válido = qualquer flutuante ≥ 0,0padrão = 0,0

GuarSoak BOOL Saturação garantida. Se energizado, a instrução está em automático, o temporizador de saturação é removido se PV for diferente de Output (Saída) mais que SoakDeadband.o padrão é desabilitado

SoakDeadband REAL Zona morta da saturação garantida. Especifica a quantidade em que as unidades de medida que PV é permitido a ser diferente da saída quando GuarSoak estiver energizado. Se este valor for inválido, a instrução energiza SoakDeadband = 0,0 e a instrução energiza o bit apropriado em Status.válido = qualquer flutuante ≥ 0,0padrão = 0,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 96: Cópia de 1756-rm006a-pt-p

1-80 Instruções de Controle de Processo

CurrentSegProg DINT Programa do segmento atual. O programa do usuário escreve um valor requisitado para CurrentSeg nesta entrada. Este valor é usado se a rampa/saturação estiver no modo Manual de Programa. Se este valor for inválido, a instrução energiza o bit apropriado em Status.válido = 0 a NumberOfSegs-1padrão = 0

OutProg REAL Programa de saída. O programa do usuário escreve um valor requisitado para Out (Saída) nesta entrada. Este valor é usado como Out (Saída), quando a rampa/saturação está no modo Manual de Programa. válido = qualquer flutuantepadrão = 0,0

SoakTimeProg REAL Programa de tempo de saturação. O programa do usuário escreve um valor requisitado para SoakTimeLeft nesta entrada. Este valor é usado se a rampa/saturação estiver no modo Manual de Programa. Se este valor for inválido, a instrução energiza o bit apropriado em Status.válido = 0,0 ao máximo flutuante positivopadrão = 0,0

CurrentSegOper DINT Operador do segmento atual. A interface de operação escreve um valor requisitado para CurrentSeg nesta entrada. Este valor é usado se a rampa/saturação estiver no modo Manual de Operação. Se este valor for inválido, a instrução energiza o bit apropriado em Status.válido = 0 a NumberOfSegs-1padrão = 0

OutOper REAL Operador de saída. A interface de operação escreve um valor requisitado para Out (Saída) nesta entrada. Este valor é usado como Out (Saída), quando a rampa/saturação está no modo Manual de Operação.válido = qualquer flutuantepadrão = 0,0

SoakTimeOper REAL Operador de tempo de saturação. A interface de operação escreve um valor requisitado para SoakTimeLeft nesta entrada. Este valor é usado se a rampa/saturação estiver no modo Manual de Operação. Se este valor for inválido, a instrução energiza o bit apropriado em Status.válido = 0,0 ao máximo flutuante positivopadrão = 0,0

ProgProgReq BOOL Solicitação de modo de programa pelo programa. Definido pelo programa do usuário para o pedido do controle de Programa. Ignorado se ProgOperReq estiver energizado. Manter a energização e o ProgOperReq desabilitado trava a instrução no controle de Programa.o padrão é desabilitado

ProgOperReq BOOL Pedido de operação do programa. Definido pelo programa do usuário para o pedido do controle de Operação. Manter a energização trava a instrução no controle de Operação.o padrão é desabilitado

ProgAutoReq BOOL Programa o pedido de modo automático. Definido pelo programa do usuário para pedir que a rampa/saturação entre no modo Automático. Ignorado se a malha estiver em controle de Operação, se ProgManualReq for energizado ou se ProgHoldReq for energizado.o padrão é desabilitado

ProgManualReq BOOL Programa o pedido de modo manual. Definido pelo programa do usuário para pedir que a rampa/saturação entre no modo Manual. Ignorado se a rampa/saturação estiver em controle de Operação ou se ProgHoldReq for energizado.o padrão é desabilitado

ProgHoldReq BOOL Pedido de modo de manter de programa. Energizado pelo programa do usuário para pedir que a rampa/saturação pare sem mudar Out (Saída), CurrentSeg ou SoakTimeLeft. Também útil quando a malha PID requisitando seu setpoint a partir da rampa/saturação deixa a cascata. Um operador pode conseguir a mesma coisa, colocando a rampa/saturação em modo Manual de Operação. o padrão é desabilitado

OperProgReq BOOL Pedido de programa de operação. Definido pela interface de operação para o pedido do controle de Programa. Ignorado se ProgOperReq estiver energizado. A instrução remove esta entrada.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 97: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-81

Parâmetros de saída

OperOperReq BOOL Solicitação de modo de operação pelo operador. Definido pela interface de operação para o pedido do controle de Operação. Ignorado se ProgProgReq for energizado e ProgOperReq for removido. A instrução remove esta entrada.o padrão é desabilitado

OperAutoReq BOOL Pedido de modo automático de operação. Definido pela interface de operação para pedir que a rampa/saturação entre no modo Automático. Ignorado se a malha estiver em controle de Programa ou se OperManualReq for energizado. A instrução desenergiza esta entrada.o padrão é desabilitado

OperManualReq BOOL Pedido de modo manual de operação. Definido pela interface de operação para pedir que a rampa/saturação entre no modo Manual. Ignorado se a malha estiver em controle de Programa. A instrução remove esta entrada.o padrão é desabilitado

Initialize (Inicializar) BOOL Inicializa o programa e os valores de operação. Quando energizado e no modo manual, a instrução energiza CurrentSegProg = 0, CurrentSegOper = 0, SoakTimeProg = SoakTime[0] e SoakTimeOper = SoakTime[0]. A inicialização é ignorada quando estiver no modo Automático ou Manter. A instrução desabilita este parâmetro.o padrão é desabilitado

ProgValueReset BOOL Reseta valores de controle de programa. Quando energizado, a instrução desabilita ProgProgReq, ProgOperReq, ProgAutoReq, ProgHoldReq e ProgManualReq.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL Saída da instrução de rampa/saturação. Os flags de status aritmético são usados para esta saída.

CurrentSeg DINT Número do segmento atual. Mostra o número do segmento atual no ciclo de rampa/saturação. Os segmentos começam com o número 0.

SoakTimeLeft REAL Tempo restante da saturação. Mostra o tempo restante de saturação para a saturação atual.

GuarRampOn BOOL Status de rampa garantido. Energizado se o recurso Rampa Garantida estiver em uso e se a rampa estiver temporariamente suspensa, pois PV é diferente da saída mais que RampDeadband.

GuarSoakOn BOOL Status de saturação garantido. Energizado se o recurso Saturação Garantida estiver em uso e se o temporizador de saturação for removido, pois PV é diferente da saída mais que SoakDeadband.

ProgOper BOOL Indicador de controle de Programa/Operação. Energizado quando estiver em controle de Programa. Desenergizado quando estiver em controle de Operação.

Auto BOOL Modo automático. Energizado quando a rampa/saturação estiver no modo Automático ou no modo Automático de Operação.

Manual BOOL Modo manual. Energizado quando a rampa/saturação estiver no modo Manual de Programa no modo Manual de Operação.

Hold BOOL Modo Manter. Energizado quando a rampa/saturação estiver no modo Manter.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

PVFaulted (Status.1) BOOL Problemas com PVHealth.

NumberOfSegsInv (Status.2)

BOOL O valor de NumberOfSegs é um valor inválido ou não é compatível com um tamanho de matriz.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 98: Cópia de 1756-rm006a-pt-p

1-82 Instruções de Controle de Processo

Descrição: A instrução RMPS é tipicamente usada para fornecer um perfil de temperatura em um processo de aquecimento por batelada. A saída desta instrução é tipicamente a entrada para o setpoint de uma malha PID.

Sempre que o valor calculado para a saída for inválido, NAN, ou ±INF, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Os parâmetros internos não são atualizados. Em cada varredura subseqüente, a saída é calculada usando os parâmetros internos a partir da última varredura, quando a saída foi válida.

Monitoração da instrução RMPS

Existe uma tela de operação disponível para a instrução RMPS. Para maiores informações, consulte o apêndice Controles da Tela de Operação do Bloco de Funções.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

RampDeadbandInv (Status.3)

BOOL Valor de RampDeadband inválido.

SoakDeadbandInv (Status.4)

BOOL Valor de SoakDeadband inválido.

CurrSegProgInv (Status.5)

BOOL Valor de CurrSegProg inválido.

SoakTimeProgInv (Status.6)

BOOL Valor de SoakTimeProg inválido.

CurrSegOperInv (Status.7)

BOOL Valor de CurrSegOper inválido.

SoakTimeOperInv (Status.8)

BOOL Valor de SoakTimeOper inválido.

RampValueInv (Status.9)

BOOL Valor de RampValue inválido.

SoakTimeInv (Status.10)

BOOL Valor de SoakTime inválido.

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 99: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-83

Execução do Bloco deFunções:

Modo inicial aplicado na primeira varredura da instrução

A seguinte tabela mostra o controle final baseado nas entradas de pedido de programa.

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Todas as entradas de pedido de operação são removidas.Se ProgValueReset for energizado, todas as entradas de pedidos do programa são desenergizadas.O modo de operação atual é energizado para o modo manual se o modo atual for manter (hold). Consulte as tabelas abaixo.

primeira execução da instrução CurrentSegment = 0.SoakTimeProg e SoakTimeOper = SoakTime[0] se SoakTime[0] for válido. O modo é energizado para operação manual. Outn-1 = 0,0.

EnableIn é desabilitado Desabilite EnableOut.

EnableIn é habilitado A instrução é executada.Habilite EnableOut.

Controle no Início da Primeira Varredura:

ProgOperReq:

ProgProgReq:

ProgValorReset:

PrimeiraExecução: Controle no Final da Primeira

Varredura:

Controle de Operação desenergizado energizado desenergizado na Controle de Programa

na desenergizado na na Controle de Operação

Controle de Programa energizado na desenergizado desenergizado Controle de Operação

na na desenergizado desenergizado

desenergizado desenergizado desenergizado desenergizado

desenergizado desenergizado desenergizado na

na na desenergizado desenergizado

desenergizado desenergizado desenergizado desenergizado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 100: Cópia de 1756-rm006a-pt-p

1-84 Instruções de Controle de Processo

CP

C

C

A seguinte tabela mostra o controle final baseado nos pedidos de modo Manual, Automático e Manter.

Exemplo de Bloco deFunções:

ontrole no Início da rimeira Varredura:

OperAutoReq:

OperManReq:

ProgAutoReq:

ProgManReq:

ProgManterReq:

ManualManterDepoisInit:

ProgValorReset:

PrimeiraOperação

Controle no Final da Primeira Varredura:

ontrole de Operação na na na na na desener-gizado

na desener-gizado

Modo de operação atual

na na na na na na na energi-zado

Modo Manual de Operação

na na na na na desener-gizado

na na

ontrole de Programa na na desener-gizado

desener-gizado

desener-gizado

desener-gizado

na desener-gizado

Modo de Programa atual

na na na na na desener-gizado

desener-gizado

desener-gizado

na na desener-gizado

desener-gizado

desener-gizado

desener-gizado

desener-gizado

na Modo Automático de Programa

na na na desener-gizado

desener-gizado

desener-gizado

desener-gizado

na Modo Manual de Programa

na na na na desener-gizado

desener-gizado

desener-gizado

na Modo Manter Programa

na na na na na desener-gizado

na na

Neste exemplo, a instrução RMPS aciona o setpoint de uma instrução PIDE. Quando a instrução PIDE estiver no modo Cascata/Taxa, a saída da instrução RMPS é usada como o setpoint. PV para a instrução PIDE pode ser, opcionalmente, alimentado na entrada PV da instrução RMPS, se você quiser usar a rampa garantida e/ou a saturação garantida.

Neste exemplo, as matrizes AutoclaveRSSoakValue, AutoclaveRSSoakTime e AutoclaveRSRampValue são matrizes REAL com 10 elementos para permitir um perfil de RMPS de até 10 segmentos.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 101: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-85

Comutação entre o controle de Programa e o controle de Operação

A instrução RMPS pode ser controlada por um programa do usuário ou através de uma interface de operação. O controle pode ser mudado a qualquer hora.

(1) Você pode travar a instrução no controle de Operação, deixando ProgOperReq energizado. (2) Você pode travar a instrução no controle de Programa, deixando ProgProgReq energizado, enquanto

ProgOperReq é desenergizado

Quando estiver fazendo a transição do controle de Operação para o controle de Programa, enquanto as entradas ProgAutoReq, ProgManualReq e ProgHoldReq são desenergizadas, o modo é determinado como segue:

• Se a instrução estava em modo Automático de Operação, então a transição é para o modo Automático de Programa.

• Se a instrução estava em modo Manual de Operação, então a transição é para o modo Manual de Programa.

Quando estiver fazendo a transição do controle de Programa para o controle de Operação, enquanto as entradas OperAutoReq e OperManualReq são desenergizadas, o modo é determinado como segue:

• Se a instrução estava em modo Automático de Programa, então a transição é para o modo Automático de Operação.

• Se a instrução estava em modo Manual de Programa ou modo Manter Programa, então a transição é para o modo Manual de Operação.

Controle de Programa Controle de Operação

o programa do usuário energiza ProgOperReq(1)

o pedido tem procedência e é sempre atendido

o operador energiza OperOperReq(2)

garantido se ProgProgReq for desabilitado

o programa do usuário energiza ProgProgReqgarantido se ProgOperReq for desabilitado

o operador energiza OperProgReqgarantido se ProgOperReq e OperOperReq forem desabilitados

Publicação 1756-RM006A-PT-P - Junho 2000

Page 102: Cópia de 1756-rm006a-pt-p

1-86 Instruções de Controle de Processo

Controle de Programa

O seguinte diagrama ilustra como a instrução RMPS opera no controle de Programa.

(1) Na execução única (não cíclica), você deve alternar ProgAutoReq de desenergizado para energizado se uma execução do perfil de rampa/saturação for concluído e você quiser outra execução do perfil de rampa/saturação.

(2) Quando a instrução está configurada para execução única, e o perfil de Rampa-Saturação no modo Automático é concluída, a instrução faz a transição para o modo Manter.

(3) A instrução é colocada no modo Manter se PVFaulted for energizado ou qualquer uma das seguites entradas forem inválidas: NumberOfSegs, CurrentSeg, SoakTimeLeft, CurrentSegProg ou SoakTimeProg.

A seguinte tabela descreve os modos de programa possíveis

Modo Automático de Programa

Modo Manter ProgramaModo Manual de Programa

execução única do perfil concluída(2)

ProgAutoReq energizado,(1)

ProgHoldReq desenergizado eProgManualReq desenergizado

entrada inválida(3)

ProgHoldReq energizado

ProgManualReq energizado e ProgHoldReq = desenergizado

ProgAutoReq energizado,(1), ProgHoldReq desenergizado eProgManualReq desenergizado

ProgHoldReq energizado

entradas inválidas(3)

ProgManualReq é energizado e ProgHoldReq é desenergizado

Modo: Descrição:

Modo Automático de Programa Enquanto estiver no modo Automático, a instrução executa seqüencialmente o perfil de rampa/saturação.

Modo Manual de Programa Enquanto estiver no modo Manual, o programa do usuário controla diretamente a Saída (Out) da instrução. As entradas CurrentSegProg, SoakTimeProg e OutProg são transferidas para as saídas CurrentSeg, SoakTimeLeft e Out. Quando a instrução é colocada no modo automático, a função rampa/saturação é reiniciada com a entrada dos últimos valores do programa do usuário. CurrentSegProg e SoakTimeProg não são transferidos se forem inválidos.

Para facilitar uma transição “sem distúrbios” no modo Manual, as entradas CurrentSegProg, SoakTimeProg e OutProg são atualizadas continuamente para os valores atuais de CurrentSeg, SoakTimeLeft e Out quando ProgValueReset é desenergizado e a instrução não estiver no modo Manual de Programa.

Modo Manter Programa Enquanto estiver no modo Manter, as saídas da instrução são mantidas em seus valores atuais. Se estiver neste modo quando ProgOperReq for energizado para mudar para o controle de Operação, a instrução muda para o modo Manual de Operação.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 103: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-87

Controle de Operação

O seguinte diagrama ilustra como a instrução RMPS opera no controle de Operação.

(1) Quando a instrução está configurada para Execução Única e o perfil de rampa/saturação no modo Automático é concluído, a instrução faz a transição para o modo manual.

(2) A instrução é colocada no modo Manual se PVFaulted for energizado ou qualquer uma das seguites entradas forem inválidas: NumberOfSegs, CurrentSeg, SoakTimeLeft, CurrentSegOper ou SoakTimeOper.

A seguinte tabela descreve os modos de Operação possíveis

Modo Automático de Operação

Modo Manual de Operação

OperManualReq energizado

OperAutoReq é energizado e OperManualReq é desenergizado

execução única do perfil concluída(1)

entradas inválidas(2)

Modo: Descrição:

Modo Automático de Operação Enquanto estiver no modo Automático, a instrução executa seqüencialmente o perfil de rampa/saturação.

Modo Manual de Operação Enquanto estiver no modo Manual, o operador controla diretamente a Saída (Out) da instrução. As entradas CurrentSegOper, SoakTimeOper e OutOper são transferidas para as saídas CurrentSeg, SoakTimeLeft e Out. Quando a instrução é colocada no modo Automático, a função rampa/saturação é reiniciada com a entrada dos últimos valores do operador. CurrentSegOper e SoakTime não são transferidos se forem inválidos.

Para facilitar uma transição “sem distúrbios” no modo Manual, as entradas CurrentSegOper, SoakTimeOper e OutOper são atualizadas continuamente para os valores atuais de CurrentSeg, SoakTimeLeft e Out sempre que a instrução não estiver no modo Manual de Operação.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 104: Cópia de 1756-rm006a-pt-p

1-88 Instruções de Controle de Processo

Execução do perfil de rampa/saturação

O seguinte diagrama ilustra como a instrução RMPS executa o perfil de rampa/saturação.

(1) A Rampa é concluída quando Out = SoakValue. Se, duramte a execução da rampa, Out > SoakValue, Out é limitado para SoakValue.

(2) A Saturação é concluída quando Out é mantido para a quantidade de tempo especificada no SoakTime do segmento atual. Se o segmento executado não foi o último segmento, CurrentSeg incrementa em um.

(3) A Saturação é concluída para o último segmento programado e a instrução é configurada para a execução cíclica. A instrução energiza CurrentSeg = 0,0.

(4) A Saturação é concluída para o último segmento programado e a instrução é configurada para a execução única.

(5) Ao retornar para o modo Automático, a instrução determina se a rampa ou a saturação é resumida. O que fazer em seguida depende dos valores de Out,SoakTimeLeft e SoakValue do segmento atual. Se Out = SoakValue para o segmento atual e SoakTimeLeft = 0, então o segmento atual foi concluído e o próximo segmento inicia.

Rampa

O ciclo de rampa faz a rampa de Out, a partir do SoakValue do segmento anterior para o SoakValue do segmento atual. O tempo no qual a rampa é passada é definido pelos parâmetros de RampValue.

A rampa é positiva se Out < SoakValue do segmento atual. Se a equação da rampa calcular um novo Out, que exceda o SoakValue alvo, Out é energizado para o SoakValue alvo.

Rampa Saturação

Out = SoakValue(1)

SoakTimeLeft = 0(2)

execução cíclica do perfil concluída(3)

Out ≠ SoakValue de CurrentSegment Out = SoakValue de CurrentSegmentSoakTimeLeft > 0

Out = SoakValue de CurrentSegmentSoakTimeLeft = 0

execução única do perfil concluída(4)

retorno do modo Manual ou Manter(5)

retorno do modo Manual ou Manter(5)

retorno do modo Manual ou Manter(5)

Publicação 1756-RM006A-PT-P - Junho 2000

Page 105: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-89

A rampa é negativa se Out > SoakValue alvo do segmento atual. Se a equação da rampa calcular um novo Out, que seja menor que o SoakValue alvo, Out é energizado para o SoakValue alvo.

Cada segmento tem um valor de rampa. Você tem a opção de programar a rampa em unidades de tempo ou taxa. Todos os segmentos devem ser programados nas mesmas unidades. A seguinte tabela descreve as opções de rampa:

Rampa garantida

Energize a entrada GuarRamp para habilitar a rampa garantida. Quando habilitada, a instrução monitora a diferença entre Out e PV. Se a diferença estiver fora do RampDeadband programado, a saída é deixada inalterada até que a diferença entre PV e Out esteja dentro da zona morta. A saída GuarRampOn é energizada sempre que Out for mantido, devido à “rampa garantida” ativada.

Saturação

Saturação é a quantidade de tempo que a saída em bloco deve permanecer inalterada até que o próximo segmento de rampa-saturação seja iniciado. O ciclo de saturação mantém a saída no SoakValue por uma quantidade de tempo programada, antes de prosseguir para o próximo segmento. A quantidade de tempo que a saída deve saturar é programada nos parâmetros de SoakTime.

Parâmetro: Descrição:

rampa baseada em tempo TimeRate é energizado para a rampa baseada em tempo (em minutos)

A taxa de mudança para o segmento atual é calculada e adicionada ou subtraída para Out até que Out alcance o valor de saturação do segmento atual. Na seguinte equação, deltaT é o tempo transcorrido em minutos, desde a última execução da instrução.

Onde RampStart é o valor de Out no início do Segmento Atual.

rampa baseada em taxa TimeRate é desabilitado para a rampa baseada em taxa (em unidades/minuto)

A taxa programada de mudança é adicionada ou subtraída para Out até que Out alcance o valor de saturação do segmento atual. Na seguinte equação, deltaT é o tempo transcorrido em minutos, desde a última execução da instrução.

Out OutSoakValueCurrentSeg RampStart–( )

RampValueCurrentSeg-------------------------------------------------------------------------------------------- t∆×±=

Out Out RampValueCurrentSeg t∆×±=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 106: Cópia de 1756-rm006a-pt-p

1-90 Instruções de Controle de Processo

Cada segmento tem um SoakValue e um SoakTime. A saturação começa quando Out é rampeado (ramped) para o SoakValue do segmento atual. SoakTimeLeft representa o tempo restante em minutos para que a saída seja saturada. Durante a rampa, SoakTimeLeft é energizado para o SoakTime do segmento atual. Uma vez que a rampa é concluída, SoakTimeLeft é diminuído para refletir o tempo restante em minutos para o segmento atual. SoakTimeLeft = 0 quando SoakTime expirar.

Saturação garantida

Energize a entrada GuarSoak para habilitar a saturação garantida. Quando habilitada, a instrução monitora a diferença entre Out e PV. Se a diferença estiver fora de SoakDeadband, a temporização do ciclo de saturação é suspensa e o temporizador de saturação interno é desabilitado. Quando a diferença entre Out e PV retorna para dentro da zona morta, a temporização é reiniciada. A saída GuarSoak é energizada quando a temporização for mantida, devido à validade da saturação garantida.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 107: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-91

Fator de Escala (SCL)

A instrução SCL converte um valor de entrada não convertido em escala para um valor de ponto flutuante em unidades de medida.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura SCL: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco SCALE estrutura Estrutura SCL

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada do sinal analógico.válido = qualquer valor realpadrão = 0,0

InRawMax REAL O valor máximo que pode ser alcançado pela entrada para a instrução. Se InRawMax ≤ InRawMin, a instrução energiza o bit apropriado em Status e pára a atualização da saída.válido = InRawMax > InRawMinpadrão = 0,0

InRawMin REAL O valor mínimo que pode ser alcançado pela entrada para a instrução. Se InRawMin ≥ InRawMax, a instrução energiza o bit apropriado em Status e pára a atualização da saída.válido = InRawMin < InRawMaxpadrão = 0,0

InEUMax REAL O valor convertido em escala da entrada correspondente a InRawMax.válido = qualquer valor realpadrão = 0,0

InEUMin REAL O valor convertido em escala da entrada correspondente a InRawMin.válido = qualquer valor realpadrão = 0,0

Limiting BOOL Seletor de limite. Se energizado, Out é limitado entre InEUMin e InEUMax.o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 108: Cópia de 1756-rm006a-pt-p

1-92 Instruções de Controle de Processo

Parâmetros de saída:

Descrição: Use a instrução SCL com módulos de entrada analógica que não suportam conversão em escala para um valor de ponto flutuante de resolução completa.

Por exemplo, o módulo 1771-IFE é um módulo de entrada analógica de 12 bits que suporta conversão em escala somente em valores inteiros. Se você usar um módulo 1771-IFE para ler um fluxo de 0 – 100 galões por minuto (gpm), você tipicamente não faz a conversão em escala do módulo de 0 – 100, pois isto limita a resolução do módulo. Ao invés disso, use a instrução SCL e configure o módulo para retornar um valor não convertido em escala (0 – 4.095), o qual a instrução SCL converte para 0 – 100 gpm (ponto flutuante) sem uma perda de resolução. Este valor não convertido em fator de escala pode, então, ser usado como uma entrada para outras instruções.

A instrução usa este algoritmo para converter a entrada não convertida em escala em um valor convertido em escala:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída que representa o valor convertido em escala da entrada analógica. Os flags de status aritmético estão energizados para esta saída.válido = qualquer valor realpadrão = InEUMin

MaxAlarm BOOL Indicador de alarme de entrada acima do máximo. Este valor é energizado quando In> InRawMax.

MinAlarm BOOL Indicador de alarme de entrada abaixo do mínimo. Este valor é energizado quando In < InRawMin.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

InRawRangeInv (Status.1)

BOOL InRawMin ≥ InRawMax.

Out In InRawMin–( ) InEUMax InEUMin–InRawMax InRawMin–-------------------------------------------------------------- InEUMin+

×=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 109: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-93

Gerador de Alarme (Alarming)

Uma vez que a instrução calcula Out, MaxAlarm e MinAlarm são determinados como segue:

Limiting

O limite é realizado em Out quando Limiting está energizado. A instrução energiza Out = InEUMax quando In > InRawMax. A instrução energiza Out = InEUMin quando In < InRawMin.

Flags de Status Aritmético: Os flags de status estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

MaxAlarm = desabilitado

In > InRawMax

In ≤ InRawMin

MaxAlarm = habilitado

MinAlarm = desabilitado

In < InRawMax

In ≥ InRawMinMaxAlarm = habilitado

Out = InEUMax

Limiting energizadoIn > InRawMax

Limiting energizadoIn < InRawMin

Out = InEUMin

Publicação 1756-RM006A-PT-P - Junho 2000

Page 110: Cópia de 1756-rm006a-pt-p

1-94 Instruções de Controle de Processo

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

A instrução SCL é tipicamente usada com módulos de entrada analógica que não suportam a conversão em escala para unidades de medida de ponto flutuante. Neste exemplo, a instrução SCL converte em escala uma entrada analógica de um módulo 1771-IFE . A instrução coloca o resultado em Out, que é usado por uma instrução ALM.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 111: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-95

Faixa de Tempo da Faixa Proporcional “Split” (SRTP)

A instrução SRTP tira a saída de 0 – 100% de uma malha PID e aciona contatos de saídas digital de aquecimento e resfriamento com um pulso periódico. Esta instrução controla aplicações como controle de temperatura de cilindro em máquinas de extrusão.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura SRTP: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco SPLIT_RANGE estrutura Estrutura SRTP

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico solicitando aquecimento ou resfriamento. Esta entrada vem tipicamente do CVEU de uma malha PID. válido = qualquer flutuante

CycleTime REAL Período dos pulsos de saída em segundos. Um valor de zero desenergiza as saídas de aquecimento e resfriamento. Se este valor for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status.válido = qualquer flutuante positivopadrão = 0,0

MaxHeatIn REAL Entrada máxima de calor. Este valor especifica a porcentagem de In que causará o aquecimento máximo. Isto é tipicamente 100% para uma malha de aquecimento/resfriamento. válido = qualquer flutuantepadrão = 100,0

MinHeatIn REAL Entrada mínima de calor. Especifica a porcentagem de In que representa o início da faixa de aquecimento e causa o aquecimento mínimo. Isto é tipicamente 50% de uma malha de aquecimento/resfriamento.válido = qualquer flutuantepadrão = 50,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 112: Cópia de 1756-rm006a-pt-p

1-96 Instruções de Controle de Processo

Parâmetros de saída:

MaxCoolIn REAL Entrada máxima de resfriamento. Especifica a porcentagem de In que causa o resfriamento máximo. Isto é tipicamente 0% de uma malha de aquecimento/resfriamento.válido = qualquer flutuantepadrão = 0,0

MinCoolIn REAL Entrada mínima de resfriamento. Especifica a porcentagem de In que causa o resfriamento mínimo. Isto é tipicamente 50% de uma malha de aquecimento/resfriamento.válido = qualquer flutuantepadrão = 50,0

MaxHeatTime REAL Tempo de aquecimento máximo em segundos. Especifica o tempo máximo, em segundos, no qual um pulso de aquecimento pode estar. Se a instrução calcular HeatTime para ser maior que este valor, HeatTime é limitado para MaxHeatTime. Se MaxHeatTime for inválido, a instrução assume um valor de CycleTime e energiza o bit apropriado em Status.válido = 0,0 a CycleTimepadrão = 0,0

MinHeatTime REAL Tempo de aquecimento mínimo em segundos. Especifica o tempo mínimo, em segundos, no qual um pulso de aquecimento pode estar. Se a instrução calcular HeatTime para ser menor que este valor, HeatTime é energizado para zero. Se MinHeatTime for inválido, a instrução assume um valor de zero e energiza o bit apropriado em Status.válido = 0,0 a MaxHeatTimepadrão = 0,0

MaxCoolTime REAL Tempo de resfriamento máximo em segundos. Especifica o tempo máximo, em segundos, no qual um pulso de resfriamento pode estar. Se a instrução calcular CoolTime para ser maior que este valor, CoolTime é limitado para MaxCoolTime. Se MaxCoolTime for inválido, a instrução assume um valor de CycleTime e energiza o bit apropriado em Status.válido = 0,0 a CycleTimepadrão = 0,0

MinCoolTime REAL Tempo de resfriamento mínimo em segundos. Especifica o tempo mínimo, em segundos, no qual um pulso de resfriamento pode estar. Se a instrução calcular CoolTime para ser menor que este valor, CoolTime é energizado para zero. Se MinCoolTime for inválido, as instruções assumem um valor de zero e energiza o bit apropriado em Status.válido = 0,0 a MaxCoolTimepadrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

HeatOut BOOL Pulso de saída de calor. A instrução pulsa esta saída para o contato de aquecimento.

CoolOut BOOL Pulso de saída de resfriamento. A instrução pulsa esta saída para o contato de resfriamento.

HeatTimePercent REAL Tempo do pulso de saída de aquecimento em porcentagem. Este valor é a porcentagem calculada do ciclo atual, no qual HeatingOutput estará. Isto permite que você use a instrução com uma saída analógica para o aquecimento, se requisitado. Os flags de status aritmético estão energizados para esta saída.

CoolTimePercent REAL Tempo do pulso de saída de resfriamento em porcentagem. Este valor é a porcentagem calculada do ciclo atual, no qual CoolingOutput estará. Isto permite que você use a instrução com uma saída analógica para o resfriamento, se requisitado. Os flags de status aritmético estão energizados para esta saída.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 113: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-97

Descrição: O comprimento do pulso de SRTP é proporcional à saída PID. Os parâmetros da instrução acomodam aplicações de aquecimento e resfriamento.

Uso de um temporizador de ciclo interno

A instrução mantém um temporizador de ciclo interno de operação livre, que determina o ciclo de zero ao CycleTime programado. O temporizador interno é atualizado por DeltaT. DeltaT é o tempo transcorrido desde a última execução da instrução. Este temporizador determina se as saídas precisarão ser energizadas.

Você pode mudar o CycleTime a qualquer hora. Se CycleTime = 0, o temporizador interno é desabilitado e HeatOut e CoolOut são desabilitados.

Cálculo dos tempos de aquecimento e resfriamento

Os tempos de aquecimento e resfriamento são calculados toda vez que a instrução é executada.

HeatTime é a quantidade de tempo dentro de CycleTime na qual a saída de aquecimento deve ser energizada.

• Se HeatTime < MinHeatTime, energize HeatTime = 0.

• Se HeatTime > MaxHeatTime, limite HeatTime = MaxHeatTime.

CycleTimeInv (Status.1)

BOOL Valor de CycleTime inválido. A instrução usa zero.

MaxHeatTimeInv (Status.2)

BOOL Valor de MaxHeatTime inválido. A instrução usa o valor de CycleTime.

MinHeatTimeInv (Status.3)

BOOL Valor de MinHeatTime inválido. A instrução usa zero.

MaxCoolTimeInv (Status.4)

BOOL Valor de MaxCoolTime inválido. A instrução usa o valor de CycleTime.

MinCoolTimeInv (Status.5)

BOOL Valor de MinCoolTime inválido. A instrução usa zero.

HeatSpanInv (Status.6)

BOOL MaxHeatIn = MinHeatIn.

CoolSpanInv (Status.7) BOOL MaxCoolIn = MinCoolIn.

Parâmetro de Saída: Tipo de Dados: Descrição:

HeatTimeIn MinHeatIn–

MaxHeatIn MinHeatIn–----------------------------------------------------------------- CycleTime×=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 114: Cópia de 1756-rm006a-pt-p

1-98 Instruções de Controle de Processo

HeatTimePercent é a porcentagem de CycleTime na qual HeatOut é energizado.

CoolTime é a quantidade de tempo em CycleTime na qual a saída de resfriamento deve ser energizada.

• Se CoolTime < MinCoolTime, energize CoolTime = 0.

• Se CoolTime > MaxCoolTime, limite CoolTime = MaxCoolTime.

CoolTimePercent é a porcentagem de CycleTime na qual CoolOut é energizado.

A instrução controla as saídas de aquecimento e resfriamento usando estas regras:

• Energize HeatOut se HeatTime ≥ o totalizador de tempo de ciclo interno. Desenergize HeatOut quando o temporizador de ciclo interno > HeatTime.

• Energize CoolOut se CoolTime ≥ o totalizador de tempo de ciclo interno. Desenergize CoolOut quando o temporizador de ciclo interno > CoolTime.

• Remova HeatOut e CoolOut se CycleTime = 0.

Flags de Status Aritmético: Os flags de statatus aritmético são energizados para as saídas HeatTime Percent e CoolTimePercent.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

HeatTimePercentHeatTimeCycleTime---------------------------- 100×=

CoolTimeIn MinCoolIn–

MaxCoolIn MinCoolIn–----------------------------------------------------------------- CycleTime×=

CoolTimePercentCoolTimeCycleTime---------------------------- 100×=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 115: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-99

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura HeatOut e CoolOut são desabilitados.

primeira varredura da instrução O temporizador de ciclo interno é resetado.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Neste exemplo, uma instrução PIDE controla a temperatura em uma zona de uma máquina de extrusão. A saída CVEU da instrução PIDE é conectada a In da instrução SRTP. A instrução SRTP, então, determina os comprimentos de pulso corretos para o aquecedor resistivo usado para aquecer a zona do cilindro e a válvula de solenóide usada para enviar o líquido de resfriamento para a zona do cilindro.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 116: Cópia de 1756-rm006a-pt-p

1-100 Instruções de Controle de Processo

Totalizador (TOT)

A instrução TOT fornece um acumulador com tempo ajustável de um valor de entrada analógica.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura TOT: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco TOTALIZER estrutura Estrutura TOT

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

InFault BOOL Indicador de problemas de In. Se energizado, indica que o sinal de entrada tem um erro, a instrução energiza o bit apropriado em Status, o algoritmo de controle não é executado e Total não é atualizado. o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 117: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-101

TimeBase DINT Entrada de base de tempo. Base de tempo da totalização baseada nas unidades de medida de In.Valor: Descrição:0 segundos1 minutos2 horas3 dias

Por exemplo, use TimeBase = minutos se In tiver unidades de gal./min. Se este valor for inválido, a instrução energiza o bit apropriado em Status e não atualiza o Total.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.válido = 0 a 3padrão = 0

Ganho REAL Multiplicador do valor totalizado incremental. O usuário pode usar Gain (Ganho) para converter as unidades de totalização. Por exemplo, use Gain (Ganho) para converter gal./min. para um total em cilindros. válido = qualquer flutuantepadrão = 1,0

ResetValue REAL Entrada do valor de reset. Valor de reset de Total quando OperResetReq ou ProgResetReq faz a transição de desenergizado para energizado. válido = qualquer flutuantepadrão = 0,0

Target REAL Valor alvo para o In totalizado.válido = qualquer flutuantepadrão = 0,0

TargetDev1 REAL Valor pré-alvo de desvio grande do Total, comparado com Target (Alvo). Este valor é expresso como um desvio de Target.válido = qualquer flutuantepadrão = 0,0

TargetDev2 REAL Valor pré-alvo de desvio pequeno do Total, comparado com Target (Alvo). Este valor é expresso como um desvio de Target.válido = qualquer flutuantepadrão = 0,0

LowInCutoff REAL Entrada de corte da entrada low da instrução.Quando In está abaixo ou no valor de LowInCutoff, a totalização pára.válido = qualquer flutuantepadrão = 0,0

ProgProgReq BOOL Solicitação de modo de programa pelo programa. Energizado para requisitar controle de Programa. Ignorado se ProgOperReq estiver energizado. Manter a energização e o ProgOperReq desenergizado trava a instrução no controle de Programa.o padrão é desabilitado

ProgOperReq BOOL Pedido de operação do programa. Energizado para requisitar controle de Operação. Manter a energização trava a instrução no controle de Operação.o padrão é desabilitado

ProgStartReq BOOL Entrada de pedido do início do programa. Energizado para requisitar que a totalização inicie. o padrão é desabilitado

ProgStopReq BOOL Entrada de pedido de parada do programa. Energizado para requisitar que a totalização pare.o padrão é desabilitado

ProgResetReq BOOL Entrada de pedido de reset do programa. Energizado para requisitar que Total seja resetado para ResetValue.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 118: Cópia de 1756-rm006a-pt-p

1-102 Instruções de Controle de Processo

Parâmetros de saída

OperProgReq BOOL Pedido do programa de operação. Definido pela interface de operação para o pedido do controle de Programa. A instrução desenergiza esta entrada.o padrão é desabilitado

OperOperReq BOOL Solicitação de modo de operação pelo operador. Definido pela interface de operação para o pedido do controle de Operação. A instrução desenergiza esta entrada.o padrão é desabilitado

OperStartReq BOOL Entrada de pedido do início da operação. Energizado pela interface de operação para requisitar que a totalização inicie. A instrução desenergiza esta entrada.o padrão é desabilitado

OperStopReq BOOL Entrada de pedido de parada da operação. Energizado pela interface de operação para requisitar que a totalização pare. A instrução desenergiza esta entrada.o padrão é desabilitado

OperResetReq BOOL Entrada de pedido de reset da operação. Energizado pela interface de operação para requisitar o reset da totalização. A instrução desenergiza esta entrada.o padrão é desabilitado

ProgValueReset BOOL Reseta valores de controle de programa. Quando energizado, todas as entradas de pedido de programa são desenergizadas a cada execução da instrução.o padrão é desabilitado

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções. válido = 0 a 2padrão = 0

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Total REAL Valor totalizado de In. Os flags de status aritmético estão energizados para esta saída.

OldTotal REAL Valor do total antes que um reset ocorra. Você pode monitorar este valor para ler o total exato antes do último reset.

ProgOper BOOL Indicador de controle de Programa/Operação. Energizado quando estiver em controle de Programa. Desenergizado quando estiver em controle de Operação.

RunStop BOOL Indicador do estado de operação do totalizador. Energizado quando a instrução TOT está sendo executada. Desenergizado quando a instrução TOT está parada.

ProgResetDone BOOL Indicador de que a instrução TOT completou um pedido de reset de programa. Energizado quando a instrução é resetada como resultado de ProgResetReq. Você pode monitorar isto para determinar se um reset foi concluído com sucesso. Desenergizado quando ProgResetReq é desenergizado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 119: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-103

TargetFlag BOOL Sinalizador para Total. Energizado quando Total ≥ Target.

TargetDev1Flag BOOL Flag para TargetDev1. Energizado quando Total ≥ Target – TargetDev1.

TargetDev2Flag BOOL Flag para TargetDev2. Energizado quando Total ≥ Target – TargetDev2.

LowInCutoffFlag BOOL Saída do flag de corte da entrada low da instrução. Energizado quando In ≤ LowInCutoff.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

InFaulted (Status.1) BOOL Valor de In com falha.

TimeBaseInv (Status.2) BOOL Valor de TimeBase inválido.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundos).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido. Isto pode ocorrer se OversampleDT for inválido no modo de temporização de sobreamostra (oversample).

Parâmetro de Saída: Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 120: Cópia de 1756-rm006a-pt-p

1-104 Instruções de Controle de Processo

Descrição: Esta instrução tipicamente totaliza a quantidade de material adicionada, baseada em um sinal de vazão.

A instrução TOT suporta:

• Base de tempo selecionável como segundos, minutos, horas ou dias.

• Você pode especificar um valor alvo e até dois valores pré-alvo. Os valores pré-alvo são tipicamente usados para alternar para uma taxa mais lenta de alimentação. Os flags digitais anunciam o alcance dos valores alvo ou pré-alvo.

• Corte de entrada de fluxo baixo, que você pode usar para eliminar a totalização negativa, devido a imprecisões na calibração do fluxômetro quando o fluxo está desligado.

• Capacidade do operador ou do programa de iniciar/parar/resetar.

• Um valor de reset definido pelo usuário.

• Integração numérica de regra trapezoidal para aperfeiçoar a precisão.

• A totalização interna é feita com o dobro de precisão matemática para melhorar a precisão.

Monitoração da instrução TOT

Existe uma tela de operação disponível para a instrução TOT. Para maiores informações, consulte o apêndice Controles da Tela de Operação do Bloco de Funções.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Total.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 121: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-105

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Verificação do corte da entrada low

Se (In ≤ LowInCutoff), a instrução energiza LowInCutoffFlag e faz com que In n-1 = 0,0. Senão, a instrução desenergiza LowInCutoffFlag.

Quando LowInCutoffFlag é energizado, o modo de operação é determinado, mas a totalização pára. Quando LowInCutoffFlag é desenergizado, a totalização continua a varredura.

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Todas as entradas de pedido de operação são desenergizadas.Se ProgValueReset for energizado, todas as entradas de pedidos do programa são desenergizadas.

primeira execução da instrução A instrução inicializa os parâmetros internos.Total = ResetValue.OldTotal = 0,0.ProgOper é desabilitado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é hailitado.

Neste exemplo, a instrução TOT mede uma quantidade alvo de água em um tanque e desliga o fluxo, uma vez que a quantidade de água correta foi adicionada. Quando o botão AddWater é pressionado, a instrução TOT reseta e inicia a totalização da quantidade de água que está indo para o tanque. Uma vez que o valor de Target foi alcançado, a instrução TOT energiza a saída TargetFlag, o que faz com que a válvula solenóide se feche. Para este exemplo, a instrução TOT foi “travada” em Program Run (Execução de Programa), energizando as entradas ProgProgReq e ProgStartReq. Isto é feito para este exemplo, pois o operador nunca precisa controlar diretamente a instrução TOT.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 122: Cópia de 1756-rm006a-pt-p

1-106 Instruções de Controle de Processo

Modos de Operação

O seguinte diagrama mostra como a instrução TOT muda entre o controle de Programa e o controle de Operação.

(1) A instrução permanece no modo de controle de Operação quando ProgOperReq é energizado.

O seguinte diagrama mostra como a instrução TOT muda entre os modos de Execução e Parada.

(1) Os pedidos de parada têm preferência sobre os pedidos de partida. (2) Primeira varredura em execução depois de uma parada, a totalização não é avaliada, mas In n-1 é atualizado.

Durante a próxima varredura, a totalização é reiniciada.

Todas as entradas de pedido de operação são desenergizadas no final de cada varredura. Se ProgValueReset for energizado, as entradas de pedido de programa são desenergizadas ao final de cada varredura.

Controle de Programa Controle de Operação

OperOperReq é energizado quando ProgProgReq é desenergizado

ProgOperReq é energizado(1)

ProgProgReq é energizado quando ProgOperReq é desenergizado

OperProgReq é energizado quando ProgOperReq e OperOperReq são desenergizados

Parada RunStop é desabilitado

ExecuçãoRunStop é habilitado

ProgOper é desabilitado e OperStartReq é habilitado(1)

ProgOper e ProgStartReq são habilitados

ProgOper e ProgStopReq são habilitados

ProgOper é desabilitado e OperStopReq é habilitado

InFault é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 123: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-107

Reset da Instrução TOT

Quando ProgResetReq faz a transição para energizado, enquanto ProgOper é energizado, o seguinte acontece:

• OldTotal = Total

• Total = ResetValue

• ProgResetDone é energizado

Se ProgResetReq é desenergizado e ProgResetDone é energizado e, então, ProgResetDone é desenergizado

Quando OperResetReq faz a transição para energizado, enquanto ProgOper é desenergizado, o seguinte acontece:

• OldTotal = Total

• Total = ResetValue

Cálculo da totalização

Quando RunStop é energizado e LowInCutoffFlag é desenergizado, a seguinte equação realiza o cálculo da totalização.

onde TimeBase é:

Totaln Totaln 1– GainDeltaT

2 TimeBase×----------------------------------- Inn Inn 1–+( )××+=

Valor: Condição:

1 TimeBase = 0 (segundos)

60 TimeBase = 1 (minuto)

3600 TimeBase = 2 (horas)

86400 TimeBase = 3 (dias)

Publicação 1756-RM006A-PT-P - Junho 2000

Page 124: Cópia de 1756-rm006a-pt-p

1-108 Instruções de Controle de Processo

Determinação do alcance dos valores alvos

Uma vez que a totalização foi calculada, estas regras determinam se os valores alvo ou pré-alvo foram alcançados:

• TargetFlag é energizado quando Total ≥ Target

• TargetDev1Flag é energizado quando Total ≥ (Target – TargetDev1)

• TargetDev2Flag é energizado quando Total ≥ (Target – TargetDev2)

Publicação 1756-RM006A-PT-P - Junho 2000

Page 125: Cópia de 1756-rm006a-pt-p

Instruções de Controle de Processo 1-109

Notas:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 126: Cópia de 1756-rm006a-pt-p

Publicação 1756-RM006A-PT-P - Junho 2000

1-110 Instruções de Controle de Processo

Notas:

Page 127: Cópia de 1756-rm006a-pt-p

Capítulo 2

Instruções de Drives

Introdução Estas instruções de drives estão disponíveis:

Se você quiser: Use esta instrução: Consulte página:

executar uma operação integral. Integrator (INTG) (Integrador)

2-2

executar um algoritmo PI. Proportional + Integral (PI) (Proporcional + Integral)

2-7

fornecer uma interface a partir de um módulo de entrada de posicionamento, como um módulo resolver ou de feedback por encoder, para o sistema digital, calculando a mudança na entrada de uma varredura para a próxima.

Pulse Multiplier (PMUL) (Multiplicador de Pulso)

2-18

realizar uma função de rampa com uma taxa de jerk adicionada.

S-Curve (SCRV) (Curva S) 2-25

usar uma expressão de ganho, um atraso de 1ª ordem (first order lag) e um segundo avanço (second order lead).

Second-Order Controller (SOC) (Controlador de Segunda Ordem)

2-33

adicionar e subtrair duas entradas em um valor acumulado.

Up/Down Accumulator (UPDN) (Acumulador para Cima/para Baixo)

2-41

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 128: Cópia de 1756-rm006a-pt-p

2-2 Instruções de Drives

Integrador (INTG)

A instrução INTG implementa uma operação integral. Esta instrução é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura INTG: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco INTEGRATOR estrutura Estrutura INTG

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Pedido para a inicialização do algoritmo de controle. Saída = InitialValue, desde que Initialize (Inicializar) esteja energizado. válido = qualquer flutuantepadrão = 0,0

InitialValue REAL Valor inicial para a instrução. Saída = InitialValue, desde que Initialize (Inicializar) esteja energizado.válido = qualquer flutuantepadrão = 0,0

IGain REAL Multiplicador de ganho integral. Se IGain < 0, a instrução energiza IGain = 0,0, energiza o bit apropriado em Status e deixa a Saída inalterada.válido = 0,0 ao máximo flutuante positivo padrão = 0,0

HighLimit REAL Valor de limite alto para Out (Saída). Se HighLimit ≤ LowLimit, a instrução energiza HighAlarm e LowAlarm, energiza o bit apropriado em Status e energiza Out = LowLimit.válido = qualquer flutuantepadrão = máximo flutuante positivo

LowLimit REAL Valor de limite baixo para Out (Saída). Se HighLimit ≤ LowLimit, a instrução energiza HighAlarm e LowAlarm, energiza o bit apropriado em Status e energiza Out = LowLimit.válido = qualquer flutuantepadrão = máximo flutuante negativo

Publicação 1756-RM006A-PT-P - Junho 2000

Page 129: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-3

Parâmetros de saída:

HoldHigh BOOL Pedido alto da saída mantida. Quando habilitado, não permite que Out aumente em valor.o padrão é desabilitado

HoldLow BOOL Pedido baixo da saída mantida. Quando habilitado, não permite que Out diminua em valor.o padrão é desabilitado

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

HighAlarm BOOL Indicador de alarme de limite alto. Quando Out ≥ HighLimit, HighAlarm é energizado e a saída é limitada para o valor de HighLimit.

LowAlarm BOOL Indicador de alarme de limite baixo. Quando Out ≤ LowLimit, LowAlarm é energizado e a saída é limitada para o valor de LowLimit.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

IGainInv (Status.1) BOOL IGain > máximo ou IGain < mínimo.

HighLowLimsInv (Status.2)

BOOL HighLimit ≤ LowLimit.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

Publicação 1756-RM006A-PT-P - Junho 2000

Page 130: Cópia de 1756-rm006a-pt-p

2-4 Instruções de Drives

Descrição: A instrução INTG é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

A instrução INTG executa este algoritmo de controle quando Initialize (Inicializar) é desenergizado e DeltaT > 0.

Sempre que o valor calculado para a saída for inválido, NAN, ou ±INF, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Os parâmetros internos não são atualizados. Em cada varredura subseqüente, a saída é calculada usando os parâmetros internos a partir da última varredura, quando a saída foi válida.

Limiting

A instrução INTG realiza o limite de disparo (windup) para fazer com que Out pare de mudar, com base no estado das entradas HoldHigh e HoldLow. Se HoldHigh for energizado e Out > Outn-1, então Out =

Outn-1. Se HoldLow for energizado e Out < Outn-1, então Out =

Outn-1.

A instrução INTG também realiza o limite da saída usando HighLimit e LowLimit. Se Out ≥ HighLimit, então Out = HighLimit e HighAlarm é energizado. Se Out ≤ LowLimit, então Out = LowLimit e LowAlarm é energizado.

Flags de Status Aritmético: Os flags de status aritmético estão energizado para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido.

Parâmetro de Saída: Tipo de Dados: Descrição:

Out IGainIn Inn 1–+

2--------------------------× DeltaT Outn 1–+×=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 131: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-5

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Os parâmetros internos e Out são definidos em 0. O algoritmo de controle não é executado.

primeira execução da instrução Os parâmetros internos e Out são definidos em 0.O algoritmo de controle não é executado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Em muitas aplicações, um componente de ganho integral é incluído no projeto do regulador de malha fechada para eliminar ou minimizar erros no sistema que está sendo regulado. Um controlador apenas com ação P (proporcional) não tem tendências a acionar erros no sistema para zero. Um regulador que usa ganho proporcional e integral, entretanto, tem a tendência de acionar o sinal de erro para zero em um período de tempo. A instrução INTG usa a seguinte equação para calcular sua saída.

Out IGainIn Inn 1–+

2--------------------------× DeltaT Outn 1–+×=

No gráfico à direita, a entrada para o bloco move-se de 0 a +200 unidades. Durante este período, a saída do bloco integra até 2.800 unidades. Como In muda de +200 para 0 unidades, Out permanece em 2.800 unidades. Quando In faz a transição de 0 para −300 unidades, Out integra lentamente para −1.400 unidades, até que In faça a transição de rertorno para 0. Finalmente, assim que In move-se de 0 a +100, Out integra novamente em 0, onde In é energizado para 0, coincidentemente, com Out atingindo 0.

Esta característica do integrador − de acionar continuamente uma direção específica, enquanto qualquer entrada para a função está presente ou se mantendo em qualquer nível, durante o ponto onde a entrada está em zero − é o que faz com que um regulador usando ganho integral acione um erro em direção a zero em um período de tempo.

(Continuação)

Publicação 1756-RM006A-PT-P - Junho 2000

Page 132: Cópia de 1756-rm006a-pt-p

2-6 Instruções de Drives

O seguinte exemplo mostra como a instrução INTG pode ser usada em uma aplicação. Em muitos exemplos, as entradas HighLimit e LowLimit limitam a porcentagem total de controle que o elemento de ganho integral pode ter como uma função da saída total do regulador. As entradas HoldHigh e HoldLow, por outro lado, podem ser usadas para prevenir que a saída se mova para uma direção positiva ou negativa. Neste exemplo, se a saída do regulador já estiver saturada a 100%, as entradas HoldHigh e HoldLow previnem que a instrução INTG realize um disparo (windup) em uma direção na qual já está além dos limites da variável controlada.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 133: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-7

Proporcional + Integral (PI)

A instrução PI fornece dois métodos de operação. O primeiro método segue o algoritmo PI convencional, no qual os ganhos proporcional e integral permanecem constantes na faixa do sinal de entrada (erro). O segundo método usa um algoritmo não linear, onde os ganhos proporcional e integral variam na faixa do sinal de entrada. O sinal de entrada é o desvio entre o setpoint e o feedback do processo.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura PI: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco PROP_INT estrutura Estrutura PI

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada do sinal de erro de processo. Esta é a diferença entre o setpoint e o feedback. válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Comando de inicialização da instrução. Quando habilitado, Out e o integrador interno são energizados para um valor igual a InitialValue.o padrão é desabilitado

InitialValue REAL Entrada do valor inicial. Quando Inicialize (Inicializar) é energizado, Out e o integrador são energizados de acordo com o valor de InitialValue. O valor de InitialValue é limitado, usando HighLimit e LowLimit.válido = qualquer flutuantepadrão = 0

Kp REAL Ganho proporcional. Isto afeta o valor calculado para os algoritmos de controle proporcional e integral. Se inválido, a instrução trava Kp nos limites e energiza o bit apropriado em Status.válido = qualquer flutuante > 0,0padrão = mínimo flutuante positivo

Publicação 1756-RM006A-PT-P - Junho 2000

Page 134: Cópia de 1756-rm006a-pt-p

2-8 Instruções de Drives

Wld REAL Freqüência de avanço em radianos/segundo. Isto afeta o valor calculado para os algoritmos de controle integral. Se inválido, a instrução trava Wld nos limites e energiza o bit apropriado em Status.válido = consulte a seção Descrição abaixo, para as faixas válidaspadrão = 0,0

HighLimit REAL Valor de limite alto. Este é o valor máximo para Out. Se HighLimit ≤ LowLimit, a instrução energiza HighAlarm e LowAlarm, energiza o bit apropriado em Status e energiza Out = LowLimit. válido = LowLimit < HighLimit ≤ máximo flutuante positivopadrão = máximo flutuante positivo

LowLimit REAL Valor de limite baixo. Este é o valor mínimo para Out. Se HighLimit ≤ LowLimit, a instrução energiza HighAlarm e LowAlarm, energiza o bit apropriado em Status e energiza Out = LowLimit.válido = máximo flutuante positivo ≤ LowLimit < HighLimit padrão = máximo flutuante negativo

HoldHigh BOOL Comando alto mantido. Quando habilitado, não permite que o valor do integrador interno aumente em valor.o padrão é desabilitado

HoldLow BOOL Comando baixo mantido. Quando habilitado, não permite que o valor do integrador interno diminua em valor.o padrão é desabilitado

ShapeKpPlus REAL Multiplicador de ganho da forma Kp positiva. Usado quando In for ≥ 0. Se inválido, a instrução trava ShapeKpPlus nos limites e energiza o bit apropriado em Status. Não usado quando NonLinearMode for desenergizado.válido = 0,1 a 10,0 padrão = 1,0

ShapeKpMinus REAL Multiplicador de ganho da forma Kp negativa. Usado quando In for < 0. Se inválido, a instrução trava ShapeKpMinus nos limites e energiza o bit apropriado em Status. Não usado quando NonLinearMode for desenergizado.válido = 0,1 a 10,0 padrão = 1,0

KpInRange REAL Faixa da forma de ganho proporcional. Define a faixa de In (erro) na qual o ganho proporcional aumenta ou diminui como uma função da taxa de | In | / KpInRange. Quando | In | > KpInRange, a instrução calcula a mudança no erro proporcional usando o ganho da forma de Kp inserido x (In – KpInRange). Se inválido, a instrução trava KpInRange nos limites e energiza o bit apropriado em Status. Não usado quando NonLinearMode for desenergizado.válido = qualquer flutuante > 0,0padrão = máximo flutuante positivo

ShapeWldPlus REAL Multiplicador de ganho da forma Wld positiva. Usado quando In for ≥ 0. Se inválido, a instrução trava ShapeWldPlus nos limites e energiza o bit apropriado em Status. Não usado quando NonLinearMode for desenergizado.válido = 0,0 a 10,0 padrão = 1,0

ShapeWldMinus REAL Multiplicador de ganho da forma Wld negativa. Usado quando In for < 0. Se inválido, a instrução trava ShapeWldMinus nos limites e energiza o bit apropriado em Status. Não usado quando NonLinearMode for desenergizado.válido = 0,0 a 10,0 padrão = 1,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 135: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-9

Parâmetros de saída:

WldInRange REAL Faixa da forma de ganho integral. Define a faixa de In (erro) na qual o ganho integral aumenta ou diminui como uma função da taxa de | In | / WldInRange. Quando |In| > WldInRange, a instrução limita In para WldInRange quando estiver calculando o erro integral. Se inválido, a instrução trava WldInRange nos limites e energiza o bit apropriado em Status. Não usado quando NonLinearMode for desenergizado.válido = qualquer flutuante > 0,0padrão = máximo flutuante positivo

NonLinearMode BOOL Habilita o modo de ganho não linear. Quando habilitado, a instrução usa o modo de ganho não linear selecionado por ParabolicLinear para calcular os ganhos reais proporcional e integral. Quando desabilitado, a instrução desabilita o modo de ganho não linear e usa os valores de Kp e Wld como os ganhos proporcional e integral.o padrão é desabilitado

ParabolicLinear BOOL Seleciona o modo de ganho não linear. Os modos são lineares ou parabólicos. Quando habilitado, a instrução usa o método de ganho parabólico de y = a * x2 + b para calcular os ganhos reais proporcional e integral. Se desabilitado, a instrução usa o método de ganho linear de y = a * x + b.o padrão é desabilitado

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out BOOL A saída calculada do algoritmo PI. Os flags de status aritmético estão energizados para esta saída.

HighAlarm BOOL Indicador de alarme de limite máximo. Energizado quando o valor calculado para Out ≥ HighLimit e a saída e o integrador são travados em HighLimit.

LowAlarm BOOL Indicador de alarme de limite mínimo. Energizado quando o valor calculado para Out ≤ LowLimit e a saída e o integrador são travados em LowLimit.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 136: Cópia de 1756-rm006a-pt-p

2-10 Instruções de Drives

muda.

Descrição: A instrução PI usa a forma de posição do algoritmo PI. Isto significa que os termos de ganho são aplicados diretamente ao sinal de entrada, ao invés de serem aplicados à mudança no sinal de entrada. A instrução PI é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

No algoritmo não linear, os ganhos proporcional e integral variam conforme a magnitude do sinal de entrada muda. A instrução PI suporta dois modos de ganho não linear: linear e parabólico. No algoritmo linear, os ganhos variam linearmente, conforme a magnitude do sinal de entrada muda. No algoritmo parabólico, os ganhos variam de acordo com a curva parabólica, conforme a magnitude da entrada

A instrução PI calcula Out usando esta equação:

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

KpInv (Status.1) BOOL Kp < mínimo ou Kp > máximo.

WldInv (Status.2) BOOL Wld < mínimo ou Wld > máximo.

HighLowLimsInv (Status.3)

BOOL HighLimit ≤ LowLimit.

ShapeKpPlusInv (Status.4)

BOOL ShapeKpPlus < mínimo ou ShapeKpPlus > máximo.

ShapeKpMinusInv (Status.5)

BOOL ShapeKpMinus < mínimo ou ShapeKpMinus > máximo.

KpInRangeInv (Status.6)

BOOL KpInRange < mínimo ou KpInRange > máximo.

ShapeWldPlusInv (Status.7)

BOOL ShapeWldPlus < mínimo ou ShapeWldPlus > máximo.

ShapeWldMinusInv (Status.8)

BOOL ShapeWldMinus < mínimo ou ShapeWldMinus > máximo.

WldInRangeInv (Status.9)

BOOL WldInRange < mínimo ou WldInRange > máximo.

TimingModeInv (Status.27)

BOOL Modo de temporização inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaT (Status.31) BOOL Valor de Delta T inválido.

Parâmetro de Saída: Tipo de Dados: Descrição:

Kps Wld+

s-------------------×

Publicação 1756-RM006A-PT-P - Junho 2000

Page 137: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-11

Sempre que o valor calculado para a saída for inválido, NAN, ou ±INF, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Os parâmetros internos não são atualizados. Em cada varredura subseqüente, a saída é calculada usando os parâmetros internos a partir da última varredura, quando a saída foi válida.

Operação no modo linear

No modo linear, o modo de ganho não linear é desabilitado. Os valores de Kp e Wld são os ganhos proporcional e integral usados pela instrução. A instrução calcula o valor para Out usando estas equações:

com estes limites em Wld:

LowLimit > 0,0

HighLimit =

WldInput = In

Operação no modo não linear

No modo não linear, a instrução usa o modo de ganho não linear selecionado por ParabolicLinear para calcular os ganhos reais proporcional e integral.

Valor: Equação:

ITerm

onde DeltaT está em segundos

PTerm

Out

Kp Wld×WldInput WldInputn 1–+

2-----------------------------------------------------------------× DeltaT ITermn 1–+×

Kp In×

ITerm PTerm+

0.7πDeltaT------------------

Publicação 1756-RM006A-PT-P - Junho 2000

Page 138: Cópia de 1756-rm006a-pt-p

2-12 Instruções de Drives

Os ganhos especificados por Kp e Wld são multiplicados por 1,0 quando In = 0. Os algoritmos proporcionais e integrais separados aumentam ou diminuem o ganho proporcional ou integral, conforme a magnitude do erro muda. Estes algoritmos usam a faixa de entrada e os parâmetros de ganho de forma para calcular os ganhos proporcional e integral. A faixa de entrada define a faixa de In (ou seja, erro) na qual o ganho toma forma. As faixas de entrada são definidas pelos dois KpInRange e WldInRange. O ganho de forma define o multiplicador de ganho para o quadrante controlado pelo parâmetro de ganho de forma. Os ganhos de forma são definidos por ShapeKpPlus, ShapeKpMinus, ShapeWldPlus e ShapeWldMinus.

A entrada ParabolicLinear seleciona o modo de ganho não linear. Se ParabolicLinear for desenergizado, o modo linear é selecionado. Se ParabolicLinear for energizado, o modo parabólico é selecionado.

Para configurar uma curva de ganho de forma específica, insira um ganho de forma de 0,0 – 10,0 para a forma integral, um ganho de forma de 0,1 – 10,0 para a forma proporcional e a faixa de entrada na qual a forma deve ser aplicada. Kp e Wld são multiplicados pelo ShapeMultiplier calculado para obter os ganhos reais proporcional e integral. Inserir um ganho de forma de 1,0 desabilita o algoritmo não linear que calcula o ganho proporcional ou integral para o quadrante.

Quando a magnitude de In (erro) for maior que InRange, então ShapeMultiplier é igual ao valor calculado, quando|In |era igual a InRange.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 139: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-13

O seguinte diagrama ilustra as curvas máxima e mínima de ganho, que representam as equações de ganho parabólico e linear.

A instrução calcula o valor para Out usando estas equações:

linear linear

parabólico parabólico

ShapeGain

ShapePlusShapeMinus

ShapeMultiplier ShapeMultiplier

10,0

0,0

1,0

InputRangex = –1

InputRangex = 1

–In In

Valor: Equações:

Multiplicador de ganho de forma Kp

Se In ≥ 0 então:

Senão:

Taxa de entrada de Kp Se |In| ≤ KpInRange:

Senão:

Taxa de Kp Se não estiver no modo parabólico:

Se estiver no modo parabólico:

KpShapeGain ShapeKpPlus=

KpRange KpInRange=

KpShapeGain ShapeKpMinus=

KpRange KpInRange–=

KpInputRatio In1

KpInRange------------------------------×=

KpInputRatio 1=

KpRatio KpInputRatio 0.5×=

KpRatio KpInputRatio2

0.333×=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 140: Cópia de 1756-rm006a-pt-p

2-14 Instruções de Drives

Ganho de forma de Kps

Saída proporcional Se |In| ≤ KpInRange:

Senão, ganho de limite:

Ganho de forma de Wld Se In ≥ 0 então:

Senão:

Entrada de Wld Se In > WldRange, então:

Senão, se In <–WldInRange, então:

Senão:

Taxa de entrada de Wld Se |In| ≤ WldInRange:

Senão:

Taxa de Wld Se não estiver no modo parabólico:

Se estiver no modo parabólico:

Ganho de forma de Wlds

Limites de Wlds

Saída integral

Saída

Valor: Equações:

Kps Kp KpShapeGain 1–( ) KpRatio×( ) 1+( )×=

PTerm Kps In×=

PTerm Kps KpRange In KpRange–( ) KpShapeGain×+×=

WldShapeGain ShapeWldPlus=

WldShapeGain ShapeWldMinus=

WldInput WldInRange=

WldInput WldInRange–=

WldInput In=

WldInputRange In1

WldInRange---------------------------------×=

WldInputRange 1=

WldRatio WldInputRatio=

WldRatio WldInputRatio2

=

Wlds Wld WldShapeGain 1–( ) WldRatio×( ) 1+( )×=

LowLimit 0>

HighLimit 0.7πDeltaT------------------=

ITerm Kps Wlds×WldInput WldInputn 1–+( )

2----------------------------------------------------------------------× DeltaT ITermn 1–+×=

Out PTerm ITerm+=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 141: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-15

Limite

A instrução pára o disparo (windup) de ITerm, com base no estado das entradas mantidas.

A instrução também pára o disparo (windup) do integrador, com base nos valores de HighLimit e LowLimit.

A instrução limita o valor de Out, baseada nos valores de HighLimit e LowLimit.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Condição: Ação:

Se HoldHigh for energizado eITerm > ITermn-1

ITerm = ITermn-1

Se HoldLow for energizado eITerm < ITermn-1

ITerm = ITermn-1

Condição: Ação:

Integrador > HighLimit Integrador = HighLimit

Integrador < LowLimit Integrador = LowLimit

Condição: Ação:

HighLimit ≤ LowLimit Out = LowLimitITerm = LowLimitHighLowLimsInv é energizadoHighAlarm é energizadoLowAlarm é energizadoWldInput = 0

Out ≥ HighLimit Out = HighLimitITerm = ITerm n-1HighAlarm é energizado

ITerm > HighLimit ITerm = HighLimit

Out ≤ LowLimit Out = LowLimitITerm = ITerm n-1LowAlarm é energizado

ITerm < LowLimit ITerm = LowLimit

Publicação 1756-RM006A-PT-P - Junho 2000

Page 142: Cópia de 1756-rm006a-pt-p

2-16 Instruções de Drives

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Out = 0O algoritmo de controle não é executado.

primeira execução da instrução Out = 0O algoritmo de controle não é executado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

A instrução PI é uma instrução reguladora com componentes de ganho proporcional e integral. O componente de ganho integral é definido pelo usuário em radianos/seg.; isto energiza a resposta de freqüência básica do regulador de PI. O ganho proporcional define o ganho geral do bloco, incluindo o ganho proporcional E integral do bloco.

Excluindo a inicialização e a funcionalidade mantida/travamento, o seguinte diagrama mostra a malha reguladora básica do bloco de PI, no modo linear.

Instrução PI: Modo Linear

(continuação)

Publicação 1756-RM006A-PT-P - Junho 2000

Page 143: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-17

O seguinte exemplo mostra a instrução PI usada como um regulador de velocidade. Neste exemplo, um erro de velocidade é criado, subtraindo o sinal de feedback de velocidade (consulte o exemplo de instrução PMUL), a partir da referência de velocidade do sistema (através da instrução SCRV). O erro de velocidade é acionado diretamente na instrução PI, que age neste sinal de acordo com a função mostrada no diagrama acima.

No modo não linear, os ganhos da instrução PI podem ser modelados como uma função do erro sendo inserido no bloco. Esta função permite o controle adaptável do ganho e pode ser usada para modelar um mecanismo regulador que corresponde mais intimamente ao processo sendo regulado. Um exemplo de onde isto pode ser usado é em uma aplicação de controle catenária, onde o feedback vindo de um sensor em uma pontuação (pit) de malha, pode não refletir um sinal linear, com respeito à quantidade de material realmente armazenado. Aqui, os ganhos proporcionais do regulador de PI podem ser modelados para modelar o processo mais intimamente, sem usar componentes integrais, que podem, constantemente realizar um disparo (windup) ou disparo negativo (wind-down).

sensor de profundidade

Publicação 1756-RM006A-PT-P - Junho 2000

Page 144: Cópia de 1756-rm006a-pt-p

2-18 Instruções de Drives

Multiplicador de Pulso (PMUL)

A instrução PMUL fornece uma interface a partir de um módulo de entrada de posicionamento, como um módulo resolver ou de feedback por encoder, para o sistema digital, calculando a mudança na entrada de uma varredura para a próxima. Ao selecionar um tamanho específico de palavra, você configura a instrução PMUL para estabelecer a diferença através da escala rollover de uma forma contínua e linear.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura PMUL: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco PULSE_MULTIPLIER estrutura Estrutura PMUL

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In DINT Entrada de sinal analógico para a instrução.válido = qualquer DINTpadrão = 0

Initialize (Inicializar) BOOL Entrada de inicialização. Quando habilitado, Out é mantido em 0,0 e todos os registradores internos são definidos em 0. Em uma transição de energizado para desenergizado, Inn-1 = InitialValue (não é válido para o modo Absoluto). Quando desabilitado, a instrução é executada normalmente. A instrução ignora Inicialize (Inicializar) se WordSize for inválido. o padrão é desabilitado

InitialValue DINT Entrada do valor inicial. Em uma transição de energizado para desenergizado de Initialize (Inicializar), Inn-1 = InitialValueválido = qualquer DINTpadrão = 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 145: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-19

Parâmetros de saída:

Mode BOOL Entrada do modo. Energizado para habilitar o modo Relativo. Desenergizado para habilitar o modo Absoluto. o padrão é habilitado

WordSize DINT Tamanho da palavra em bits. Especifica o número de bits a serem usados quando estiver calculando (Inn – Inn-1) no modo Relativo. WordSize não é usado no modo Absoluto. Quando

a mudança em In for maior que 1/2 x 2(Wordsize – 1), Out muda o sinal. Quando WordSize for inválido, Out é mantido e a instrução energiza o bit apropriado em Status.válido = 2 a 32padrão = 14

Multiplicador DINT Multiplicador. Divida este valor por 100.000, para controlar a taxa de In para Out. Se inválido, a instrução limita o valor e energiza o bit apropriado em Status.válido = –1.000.000 a 1.000.000padrão = 100,000

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL Saída (Out) da instrução. Se o cálculo de Out tiver overflow, Out é forçado para +/– ∞ e o bit apropriado é energizado em Status. Os flags de status aritmético estão energizados para esta saída.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

WordSizeInv (Status.1) BOOL Valor de WordSize inválido.

OutOverflow (Status.2) BOOL O cálculo da saída interna teve um overflow.

LostPrecision (Status.3)

BOOL Out < –224 ou Out > 224. Quando a instrução converte Out a partir de um inteiro para um valor real, os dados são perdidos se o resultado for maior que |224|, pois o tipo de dados REAL é limitado até 224.

MultiplierInv (Status.4)

BOOL Valor de Multiplier (Multiplicador) inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 146: Cópia de 1756-rm006a-pt-p

2-20 Instruções de Drives

Descrição: A instrução PMUL opera em modo Relativo ou Absoluto.

No modo Relativo, a saída da instrução é a diferenciação da entrada, de varredura a varredura, multiplicada pelo (Multiplicador/100.000). No modo Relativo, a instrução armazena qualquer resto depois da operação de divisão em uma varredura e adiciona-o de volta durante a próxima varredura. Desta maneira, as informações de posicionamento não são perdidas no curso da operação.

No modo Absoluto, a instrução pode converter em escala uma entrada, como posicionamento, sem perder qualquer informação de uma varredura para outra.

diferença = 0resto = 0Inn-1 = 0

diferença = Inn – Inn-1diferença estentida com sinal usando WordSizeInn-1 = Inn

Initialize é desabilitado

Initialize é habilitado

diferença = 0resto = 0

diferença = Inn

Initialize é desabilitado

Initialize é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 147: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-21

Cálculo da saída e do resto

A instrução PMUL usa estas equações para calcular Out no modo relativo ou absoluto:

Ans = ((DiffInput x Multiplicador) + INT_Remainder)

INT_Out = Ans / 100.000

INT_Remainder= Ans – (INT_Out * 100.000)

Out = INT_Out

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Inn-1 = Inresto = 0

primeira execução da instrução Inn-1 = Inresto = 0

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 148: Cópia de 1756-rm006a-pt-p

2-22 Instruções de Drives

Exemplo de Bloco deFunções:

O uso mais comum da instrução PMUL é no modo relativo de operação. Neste modo, a instrução PMUL serve para diversos propósitos. Primeiro, no modo relativo, a instrução PMUL diferencia as informações que recebe em sua entrada, de varredura para varredura. Os dados são recebidos, a instrução fornece a saída de diferença da entrada de uma varredura para outra. Isto significa que se In = 500, na varredura “n” e In = 600, na varredura “n+1”, Out = 100 na varredura “n+1”.

Em segundo lugar, enquanto estiver neste modo de operação, a instrução PMUL também compensa os valores de “rolagem” dos dados binários originados de um módulo de feedback. Por exemplo, um módulo de feedback de resolver pode ter 12 bits de resolução, representados como um valor binário, com sinal, com faixa de –2.048 a 2.047. Em termos de dados brutos vindos de um módulo de feedback, a rotação do dispositivo de feedback pode ser representada como mostrado abaixo:

Neste exemplo, como o valor dos dados de feedback move-se de 2.047 a –2.048, a mudança efetiva na posição é equivalente a um salto de 4.095 contagens na posição. Na realidade, entretanto, a mudança na posição é de apenas 1 parte em 4.096, em termos de rotação do dispositivo de feedback de resolver. Ao compreender o tamanho real da palavra dos dados que está sendo inserida a partir do módulo de feedback, a instrução PMUL visualiza os dados de forma rotatória, como mostrado no seguinte diagrama:

Ao conhecer o tamanho da palavra dos dados inserida neste bloco, a instrução PMUL diferencia uma saída de 1 contagem, à medida que a entrada para o bloco move-se de 2.047 a –2.048, ao invés dos 4.095 matematicamente calculados.

Ao aplicar este bloco, é importante perceber que os dados de feedback não devem mudar para mais da ½ do tamanho da palavra, de uma varredura a outra, se a direção rotacional for diferenciada corretamente. No exemplo acima, o dispositivo de feedback está se movendo em direção horária, de forma que na varredura “A” ele leia 0 e na varredura “B” ele leia –2.000, a mudança real na posição é equivallente a +2.096 contagens na direção horária. Entretanto, uma vez que estes dois valores são maiores que ½ do tamanho da palavra (ou mais que ½ da rotação do dispositivo físico), a instrução PMUL calcula que o dispositivo de feedback fez a rotação na direção oposta e retorna um valor de –2.000, ao invés de +2.096.

(continuação)

Publicação 1756-RM006A-PT-P - Junho 2000

Page 149: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-23

O terceiro atributo do bloco do multiplicador de pulso é que ele retém os componentes fracionais de uma varredura a outra, de quaisquer restos que existam como resultado do fator de conversão de escala de Multiplicador/100.000. Assim que cada execução do bloco for concluída, o resto da varredura anterior é adicionado de volta ao total do valor atual, de forma que todas as contagens ou “pulsos” sejam considerados e os dados não sejam perdidos no sistema. A saída do bloco, Out sempre tem como resultado um número inteiro, em um tipo de dados de ponto flutuante.

Exemplo 1O seguinte exemplo ilustra esta funcionalidade:

Assumindo que Initial_Position = 0 e Multiplicador = 25000 => (25.000/100.000):

Varredura: Position_Feedback: PMUL_02.Out: Total_Position:

N 0 0 0

n + 1 1 0 0

n + 2 2 0 0

n + 3 3 0 0

n + 4 4 1 1

n + 5 5 0 1

Publicação 1756-RM006A-PT-P - Junho 2000

Page 150: Cópia de 1756-rm006a-pt-p

2-24 Instruções de Drives

Exemplo 2INesta aplicação de eixo de linha eletrônica, o feedback do motor A age como uma referência principal, que o motor B precisa seguir. É criado um alias para o feedback do motor A denominado “Position_feedback.” É criado um alias para o feedback do motor B denominado “Follower_Position.” Devido aos multiplicadores de ambas as instruções terem uma taxa de 1/4, o motor B precisa fazer a rotação uma vez a cada quatro revoluções do Motor A para manter um valor acumulado de zero no acumulador UPDN. Qualquer valor diferente de zero na saída da instrução UPDN é visualizado como Position_error e pode ser regulado e acionado de volta para o motor B, para manter uma trava de fase entre os dois motores.

Motor A

Motor B

Publicação 1756-RM006A-PT-P - Junho 2000

Page 151: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-25

Curva S (SCRV)

A instrução SCRV realiza uma função de rampa com uma taxa de jerk adicionada. A taxa de jerk é a taxa máxima de mudança da taxa usada para fazer a rampa da saída para a entrada.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura SCRV: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco S_CURVE estrutura Estrutura SCRV

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Entrada Inicialize (Inicializar) para a instrução. Quando habilitado, a instrução mantém Out = InitialValueo padrão é desabilitado

InitialValue REAL Valor inicial da Curva S. Quando Initialize é habilitado, Out = InitialValue.válido = qualquer flutuantepadrão = 0,0

AbsAlgRamp BOOL Tipo da rampa. Se energizado, a instrução funciona como uma rampa de valor absoluto. Se desabilitado, a instrução funciona como uma rampa algébrica.o padrão é habilitado

AccelRate REAL Taxa de aceleração em unidades de entrada por segundo2. Um valor de zero previne Out de acelerar. Quando AccelRate < 0, a instrução assume que AccelRate = 0 e energiza o bit apropriado em Status. válido = 0,0 ao máximo flutuante positivopadrão = 0,0

DecelRate REAL Taxa de desaceleração em unidades de entrada por segundo2. Um valor de zero previne Out de desacelerar. Quando DecelRate < 0, a instrução assume que DecelRate = 0 e energiza o bit apropriado em Status. válido = 0,0 ao máximo flutuante positivopadrão = 0,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 152: Cópia de 1756-rm006a-pt-p

2-26 Instruções de Drives

Parâmetros de saída

JerkRate REAL Taxa de jerk em unidades de entrada por segundo3. Especifica a taxa máxima de mudança nas taxas de aceleração e desaceleração na rampa de saída para a entrada. Quando (JerkRate *DeltaT) ≥ AccelRate e/ou DecelRate, as taxas de aceleração e desaceleração não são limitadas. Nesta situação, a instrução comporta-se como uma função de rampa. Quando JerkRate < 0, a instrução assume que JerkRate = 0 e energiza o bit apropriado em Status.válido = 0,0 ao máximo flutuante positivopadrão = 0,0

HoldMode BOOL Parâmetro do modo mantido da Curva S. Este parâmetro é usado com o parâmetro HoldEnable. Se HoldMode for energizado quando HoldEnable for energizado e Rate = 0, a instrução mantém Out constante. Nesta situação, a instrução mantém Out assim que HoldEnable é energizado, JerkRate é ignorado e Out produz um “ângulo” nesta curva. Se HoldMode for desenergizado quando HoldEnable é energizado, a instrução usa JerkRate para trazer Out para um valor constante. Out é mantido quando Rate = 0. Não mude HoldMode, uma vez que HoldEnable for energizado, pois a instrução ignorará a mudança. o padrão é desabilitado

HoldEnable BOOL Parâmetro de habilitação mantido da Curva S. Quando habilitado, Out é mantido. Quando desabilitado, Out move-se de seu valor atual até que seja igual a In. o padrão é desabilitado

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

S_Mode BOOL Saída de S_Mode. Quando (Jerk * DeltaT) ≤ Rate e Rate < Accel ou Decel, S_Mode for energizado. Senão, S_Mode é desenergizado.

Out REAL Saída da Instrução Curva S. Os flags de status aritmético estão energizados para esta saída.

Rate REAL Mudança interna em Out em unidades por segundo.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 153: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-27

Descrição: O primeiro requisito da instrução SCRV é garantir que a taxa nunca mude para mais que a taxa de jerk especificada.

Quando uma mudança de etapa ocorre na entrada, a taxa aumenta à taxa de jerk até AccelRate ou DecelRate. AccelRate ou DecelRate é mantido até que um ponto no qual a taxa deve começar a diminuir de acordo com a taxa de jerk. A taxa diminui a partir da taxa de jerk, de forma que a saída seja igual à entrada quando a taxa for menor ou igual à taxa de jerk.

En alguns casos, dependendo dos valores de aceleração, desaceleração e arranque, a taxa de aceleração ou desaceleração pode não ser alcançada antes da taxa começar a diminuir de acordo com a taxa de jerk.

A instrução SCRV suporta uma rampa algébrica e uma rampa de valor absoluto. Para uma rampa algébrica, a condição de aceleração é definida por uma entrada que torna-se mais positiva e a condição de desaceleração é definida por uma entrada que torna-se mais negativa. Para uma rampa de valor absoluto, a condição de aceleração é definida por uma entrada que se move longe de zero e a condição de desaceleração é definida por uma entrada que se move na direção de zero.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

AcceRateInv (Status.1) BOOL AccelRate é negativo.

DecelRateInv (Status.2)

BOOL DecelRate é negativo.

JerkRateInv (Status.3) BOOL JerkRate é negativo.

TimingModeInv (Status.27)

BOOL Modo de temporização inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaT (Status.31) BOOL Valor de DeltaT inválido.

Parâmetro de Saída: Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 154: Cópia de 1756-rm006a-pt-p

2-28 Instruções de Drives

O seguinte diagrama ilustra como a instrução modifica Out.

(1) Quando Initialize é habilitado, a instrução energiza o seguinte: Outn = InitialValueOutn-1= OutnRaten= 0Raten-1 = 0

(2) Quando HoldMode é desenergizado, Out está se movendo na direção de In e HoldEnable é energizado, a taxa começa a diminuir em direção a zero à taxa de jerk. Por causa de JerkRate, Out é mantido no valor em que estava quando a taxa alcançou zero. Quando Out é finalmente mantido constante, tem um valor que é diferente do valor que tinha no instante em que HoldEnable foi energizado.

Quando HoldMode é energizado, Out está se movendo na direção de In e HoldEnable é energizado, a taxa é energizada para zero imediatamente. Out é mantido em qualquer valor que tinha quando HoldEnable foi energizado.

A redução de JerkRate durante uma transição pode fazer com Out exceda In. Se um excedente ocorrer, é resultado do forçamento do JerkRate inserido. Você pode evitar um excedente, diminuindo JerkRate em pequenos steps, durante o ajuste ou mudando JerkRate, enquanto Out = In (não durante uma transição).

O tempo requisitado por Out para ser igual a uma mudança na entrada é uma função de AccelRate, JerkRate e a diferença entre In e Out.

inicialize a instrução(1)

calcule Out e Ratemantenha Out (2)

Initialize é habilitado

Initialize e Hold são desabilitados

Initialize é desabilitado e Hold é habilitado

Initialize e Hold são desabilitados

Initialize é desabilitado e Hold é habilitado

Initialize é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 155: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-29

Cálculo dos valores de saída e taxa

Na transição de um valor inicial para um valor final, Out passa através de três regiões. Na região 1 e na região 3, a taxa de mudança de Out é baseada em JerkRate. Na região 2, a taxa de mudança de Out é baseada em AccelRate ou DecelRate.

Out é calculado para cada região como segue:

Contagens

Saída inicial

o sistema alcança AccelRate

Out = In

Out

Rate

região 1 região 2 região 3

tempo total

TotalTime FinalOutput InitialOutput–AccelRate

-------------------------------------------------------------------------- AccelRateJerkRate

---------------------------+=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 156: Cópia de 1756-rm006a-pt-p

2-30 Instruções de Drives

com estas equações para cada região:

Região: Equações:

região 1

região 2

região 3

Time1AccelRateJerkRate

---------------------------=

Y Time( ) InitialOutput12--- JerkRate( ) Time

2×+=

Time2JerkRate FinalOutput InitialOutput–( ) AccelRate

2–×

JerkRate AccelRate×-------------------------------------------------------------------------------------------------------------------------------------------------=

Y Time( ) InitialOutput AccelRate Time×( ) AccelRate2

2 JerkRate×---------------------------------–+=

Time3AccelRateJerkRate

---------------------------=

Y Time( ) FinalOutput12--- JerkRate( ) Time FinalOutput InitiaOutput–

AccelRate------------------------------------------------------------------------– AccelRate

JerkRate---------------------------–

2×–=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 157: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-31

Quando:

o bloco SCRV não alcança AccelRate ou DecelRate. Out faz o seguinte:

Onde:

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

InitialOutput FinalOutput–AccelRate

2

JerkRate-----------------------------<

Contagens

Saída inicial

o sistema nunca alcança AccelRate

Out = In

Out

Rate

região 1 região 3

tempo total

TotalTime InitialOutput FinalOutput–JerkRate

--------------------------------------------------------------------------=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 158: Cópia de 1756-rm006a-pt-p

2-32 Instruções de Drives

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Variáveis internas de inicialização.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Na maioria das aplicações de inversores, uma linha de comando de referência mestre acelera um grupo inteiro de inversores. As diversas referências são selecionadas, os inversores não podem ser apresentados com mudanças de “step” na referência de velocidade, pois as diferenças em inércia de carga, torque de motor e ajuste não permitem que seções individuais de um inversor reajam de uma maneira coordenada. A instrução SCRV é projetada para estabelecer a rampa e modelar o sinal de referência para as seções do inversor, de forma que a aceleração, desaceleração e arranque (derivativo da aceleração) sejam controlados. Esta instrução fornece um mecanismo para permitir que a referência para os inversores alcancem o setpoint da referência designada, de uma maneira que elimine forces e impactos excessivos na maquinaria e equipamentos conectados.

Mudança de step de 0 a 70.000 unidades

Taxa de aceleração/desaceleração = 50.000 unidades/seg.2

Taxa de jerk = 3.000 unidades/seg.3

Taxa de aceleração/desaceleração = 50.000 unidades/segTaxa de jerk = 30.000 unidades/seg.3

Publicação 1756-RM006A-PT-P - Junho 2000

Page 159: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-33

Controlador de Segunda Ordem (SOC)

A instrução SOC é projetada para uso em sistemas de malha fechada, de forma semelhante à instrução PI. A instrução fornece uma expressão de ganho, um atraso de 1ª ordem e um avanço de segunda ordem.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura SOC: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco SEC_ORDER_CONTROLLER estrutura Estrutura SOC

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Comando de inicialização da instrução. Quando habilitado, Out e o integrador interno são energizados para um valor igual a InitialValue.o padrão é desabilitado

InitialValue REAL Entrada do valor inicial. Quando Inicialize (Inicializar) é energizado, Out e o integrador são energizados para o valor de InitialValue. O valor de InitialValue é limitado, usando HighLimit e LowLimit.válido = qualquer flutuantepadrão = 0,0

Ganho REAL Ganho proporcional para a instrução. Se o valor estiver fora da faixa, a instrução limita o valor e energiza o bit apropriado em Status.válido = qualquer flutuante > 0,0padrão = mínimo flutuante positivo

WLag REAL Freqüência de atraso de 1ª ordem de ângulo em radianos/segundo. Se o valor estiver fora da faixa, a instrução limita o valor e energiza o bit apropriado em Status.válido = consulte a seção Descrição, abaixo, para as faixas válidaspadrão = máximo flutuante positivo

Publicação 1756-RM006A-PT-P - Junho 2000

Page 160: Cópia de 1756-rm006a-pt-p

2-34 Instruções de Drives

WLead REAL Freqüência de avanço de segunda ordem de ângulo em radianos/segundo. Se o valor estiver fora da faixa, a instrução limita o valor e energiza o bit apropriado em Status.válido = consulte a seção Descrição, abaixo, para as faixas válidaspadrão = 0,0

ZetaLead REAL Fator de amortecimento de avanço de segunda ordem. Se o valor estiver fora da faixa, a instrução limita o valor e energiza o bit apropriado em Status.válido = 0,0 a 10,0padrão = 0,0

HighLimit REAL Valor de limite alto. Este é o valor máximo para Out. Se HighLimit ≤ LowLimit, a instrução energiza HighAlarm e LowAlarm, energiza o bit apropriado em Status e energiza Out = LowLimit.válido = LowLimit < HighLimit ≤ máximo flutuante positivopadrão = máximo flutuante positivo

LowLimit REAL Valor de limite baixo. Este é o valor mínimo para Out. Se HighLimit ≤ LowLimit, a instrução energiza HighAlarm e LowAlarm, energiza o bit apropriado em Status e energiza Out = LowLimit.válido = máximo flutuante positivo ≤ LowLimit < HighLimitpadrão = máximo flutuante negativo

HoldHigh BOOL Comando alto mantido. Quando habilitado, não permite que o valor do integrador interno aumente em valor.o padrão é desabilitado

HoldLow BOOL Comando baixo mantido. Quando habilitado, não permite que o valor do integrador interno diminua em valor.o padrão é desabilitado

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 161: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-35

Parâmetros de saída:

Descrição: A instrução fornece uma expressão de ganho, um atraso de 1ª ordem e um avanço de segunda ordem. A freqüência do atraso é ajustável e a freqüência e amortecimento do avanço são ajustáveis. O par zero para o avanço de segunda ordem pode ser complexo (amortecimento < unidade) ou real (amortecimento ≥ para a unidade). A instrução SOC é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

A instrução SOC usa a seguinte equação Laplace Transfer.

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

HighAlarm BOOL Indicador de alarme de limite máximo. Energizado quando o valor calculado para Out ≥ HighLimit e a saída é travada em HighLimit.

LowAlarm BOOL Indicador de alarme de limite mínimo. Energizado quando o valor calculado para Out ≤ LowLimit e a saída é travada em LowLimit.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

GainInv (Status.1) BOOL Gain > máximo ou Gain < mínimo.

WLagInv (Status.2) BOOL WLag > máximo ou WLag < mínimo.

WLeadInv (Status.3) BOOL WLead > máximo ou WLead < mínimo.

ZetaLeadInv (Status.4) BOOL ZetaLead > máximo ou ZetaLead < mínimo.

HighLowLimsInv (Status.5)

BOOL HighLimit ≤ LowLimit.

TimingModeInv(Status.27)

BOOL Modo de temporização inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv(Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaT (Status.31) BOOL Valor de DeltaT inválido.

H s( )

K s2

ωLead2

----------------2 ξLead× s×

ωLead------------------------------ 1+ +

s sωLag----------- 1+

-------------------------------------------------------------------------=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 162: Cópia de 1756-rm006a-pt-p

2-36 Instruções de Drives

Limites de Parâmetro

Os seguintes parâmetros SOC têm estes limites em valores válidos.

Sempre que o valor calculado para a saída for inválido ou NAN, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Os parâmetros internos não são atualizados. Em cada varredura subseqüente, a saída é calculada usando os parâmetros internos a partir da última varredura, quando a saída for válida.

Limiting

A instrução pára o disparo (windup), baseada no estado das entradas Mantidas.

Parâmetro: Limite:

WLead

onde DeltaT está em segundos

WLag

onde DeltaT está em segundos

ZetaLead

Se: Então:

HoldHigh é energizado eIntegrador > Integradorn-1

Integrador = Integradorn-1

HoldLow é energizado eIntegrador < Integradorn-1

Integrador = Integradorn-1

LowLimit 0.00001DeltaT-------------------=

HighLimit 0.07πDeltaT------------------=

LowLimit 0.0000001DeltaT

-------------------------=

HighLimit 0.07πDeltaT------------------=

LowLimit 0.0=

HighLimit 10.0=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 163: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-37

A instrução também pára o disparo (windup) do integrador, baseada nos valores de HighLimit e LowLimit.

Onde:

A instrução também limita o valor de Out, baseada nos valores de HighLimit e LowLimit.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Se: Então:

Integrator > IntegratorHighLimit Integrator = IntegratorHighLimit

Integrator < IntegratorLowLimit Integrator = IntegratorLowLimit

Se: Então:

HighLimit ≤ LowLimit Out = LowLimitIntegrador = IntegratorLowLimitHighLowLimsInv é energizadoHighAlarm é energizadoLowAlarm é energizado

Out ≥ HighLimit Out = HighLimitIntegrador = Integradorn-1HighAlarm é energizado

Out ≤ LowLimit Out = LowLimitIntegrador = Integradorn-1LowAlarm é energizado

IntegratorHighLimit HighLimitGain WLag×

WLead2

----------------------------------×=

IntegratorLowLimit LowLimitGain WLag×

WLead2

----------------------------------×=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 164: Cópia de 1756-rm006a-pt-p

2-38 Instruções de Drives

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução A instrução energiza os parâmetros internos e Out = 0.O algoritmo de controle não é executado.

primeira execução da instrução A instrução energiza os parâmetros internos e Out = 0.O algoritmo de controle não é executado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

A instrução SOC é um bloco de funções especializado, que é usado em aplicações onde a energia é transferida entre duas seções, através de um sistema de mola (spring-mass). Tipicamente, nestes tipos de aplicações, a resposta de freqüência do próprio processo pode ser caracterizada como mostrado no Bode diagram A, abaixo:

A instrução SOC implementa um filtro de atraso de 1ª ordem, seguido de um controlador PID, para implementar uma função de transferência com um integrador, um zero de segunda ordem, (avanço) e um primeiro pólo (atraso). Com esta instrução, o ajuste de PID é simplificado, pois os termos reguladores são organizados, de forma que você tenha WLead e ZLead como entradas para a instrução SOC, ao invés dos valores de Kp, Ki e Kd. A função de transferência para a instrução SOC é:

Seu Bode diagram correspondente é mostrado no diagrama B, abaixo.

H s( )

K s2

ωLead2

----------------2 ξLead× s×

ωLead------------------------------ 1+ +

s sωLag----------- 1+

-------------------------------------------------------------------------=

Diagrama A: Características do processo Diagrama B: Controlador de segunda ordem

(Continuação)

freqüência natural do sistema

o avanço de segunda ordem (WLead) move o ganho de –1 a +1

Publicação 1756-RM006A-PT-P - Junho 2000

Page 165: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-39

A instrução SOC pode ser usada em uma aplicação reguladora de torque ou tensão, onde uma célula de carga ou transdutor de força é usado como feedback e a saída do esquema regulador opera diretamente na malha secundária de torque (atual) do inversor. Em muitas destas aplicações, o sistema controlado pode ser mecanicamente sub-amortecido e ter uma freqüência natural, que é difícil de estabilizar, pois torna-se refletida através do próprio dispositivo de feedback.

motor carga

Ao usar a instrução SOC, o ajuste de PID é simplificado, pois os termos reguladores podem ser organizados, de forma que você tenha WLead e ZLead como entradas para a instrução SOC, ao invés dos valores de Kp, Ki e Kd. Desta maneira, as freqüências de ângulo do controlador/regulador são mais fáceis de ajustar e configurar, em comparação ao processo real. Durante o startup, a freqüência natural do sistema e o fator de amortecimento podem ser medidos empiricamente ou na fábrica. Em seguida, os parâmetros do regulador podem ser ajustados para corresponderem às características do processo, permitindo maior ganho e maior controle estável do processo final.

(continuação)

controlador de segunda ordem processo

freqüência natural do sistema

o avanço de segunda ordem (WLead) move o ganho de –1 a +1

inversor

sinal de torque

Publicação 1756-RM006A-PT-P - Junho 2000

Page 166: Cópia de 1756-rm006a-pt-p

2-40 Instruções de Drives

No sistema acima, se Wlead for energizado igual à freqüência natural do sistema e se Wlag for energizado substancialmente acima da freqüência de cruzamento desejada (> 5 vezes de cruzamento), a resposta resultante do sistema será semelhante a:

Em uma aplicação real, as etapas de uso e configuração desta instrução incluem:

1. Reconhecimento do tipo de processo que está sendo controlado. Se a resposta do sistema para uma função de step resultar em um alto grau de ringing ou puder ser caracterizada pela curva de processo mostrada abaixo, este bloco pode fornecer as características reguladoras para o controle estável.

2. Determinação da freqüência natural do sistema/processo. Isto pode ser alcançado empiricamente – ou pode ser medido na fábrica. Ajuste WLead, de forma que corresponda ou esteja ligeiramente à frente da freqüência natural do próprio processo.

3. Ajuste o fator de amortecimento, Zlead, de forma que ele cancele qualquer excedente no sistema.4. Mova WLag longe o suficiente da freqüência de cruzamento do sistema (> 5 vezes) e comece a aumentar o Ganho geral para alcançar a

resposta desejada do sistema.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 167: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-41

Acumulador para Cima/para Baixo (Up/Down) (UPDN)

A instrução UPDN adiciona e subtrai duas entradas em um valor acumulado.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura UPDN: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco UP_DOWN_ACCUM estrutura Estrutura UPDN

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

Initialize (Inicializar) BOOL Entrada de inicialização (initialize) para a instrução. Quando Inicialize (Inicializar) é energizado, a instrução energiza Out e o acumulador interno em InitialValue.o padrão é desabilitado

InitialValue REAL Valor de Initialize (inicializar) para a instrução.válido = qualquer flutuantepadrão = 0,0

InPlus REAL Entrada adicionada ao acumulador.válido = qualquer flutuantepadrão = 0,0

InMinus REAL Entrada subtraída do acumulador.válido = qualquer flutuantepadrão = 0,0

Hold BOOL Entrada mantida para a instrução. Quando Hold é energizado e Initialize é desenergizado, Out é mantido. o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 168: Cópia de 1756-rm006a-pt-p

2-42 Instruções de Drives

Parâmetros de saída:

Descrição: A instrução UPDN segue estes algoritmos.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL Saída da instrução. Os flags de status aritmético estão configurados para esta saída.

Condição: Ação:

Hold é desabilitado eInitialize é desabilitado

Hold é habilitado eInitialize é desabilitado

Initialize é habilitado

AccumValuen AccumValuen 1– InPlus InMinus–+=

Out AccumValuen=

AccumValuen AccumValuen 1–=

Out AccumValuen=

AccumValuen InitialValue=

Out AccumValuen=

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução AccumValuen-1 = 0,0

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 169: Cópia de 1756-rm006a-pt-p

Instruções de Drives 2-43

Exemplo de Bloco deFunções:

A instrução UPDN integra contagens de uma varredura a outra. Esta instrução pode ser usada para aplicações de posicionamento simples ou para outros tipos de aplicações, onde a integração simples é requisitada para criar um valor acumulado a partir de um sinal de feedback diferenciado do processo. No exemplo abaixo, Initial_Position é energizado para zero, enquanto Differential_Position_Plus e Differential_Position_Minus obtêm valores variáveis em um período de tempo. Com esta instrução, InPlus e InMinus também podem aceitar valores negativos.

Position_Integrated

Initialize_Position Initialize_Position

Differential_Position_Plus = 1Differential_Position_Minus = 3

Differential_Position_Plus = 1Differential_Position_Minus = 0

varredura de uma tarefa

Publicação 1756-RM006A-PT-P - Junho 2000

Page 170: Cópia de 1756-rm006a-pt-p

2-44 Instruções de Drives

Notas:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 171: Cópia de 1756-rm006a-pt-p

Capítulo 3

Instruções de Filtro

Introdução Estas instruções de filtro estão disponíveis:

Se você quiser: Use esta instrução: Consulte página:

calcular a quantidade de mudança de um sinal no tempo em unidades por segundo.

Derivative (Derivativo) (DERV)

3-2

filtrar freqüências de entrada que estão abaixo da freqüência de corte

High Pass Filter (Filtro Passa Alta) (HPF)

3-5

filtrar com um par pólo e um par zero. Second-Order Lead Lag (Atraso/Avanço de Segunda Ordem) (LDL2)

3-10

filtrar freqüências de entrada que estão acima da freqüência de corte

Low Pass Filter (Filtro Passa Baixa) (LPF)

3-15

filtrar freqüências de entrada que estão na freqüência de rejeita borda

Notch Filter (Filtro de Rejeita Borda) (NTCH)

3-20

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 172: Cópia de 1756-rm006a-pt-p

3-2 Instruções de Filtro

Derivativo (DERV)

A instrução DERV calcula a quantidade de mudança de um sinal no tempo, em unidades por segundo.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura DERV: Parâmetros de entrada

Bloco de Funções

Linguagens Disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco derivative (derivativo) estrutura Estrutura DERV

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Ganho REAL Multiplicador derivativoválido = qualquer flutuantepadrão = 1,0

ByPass BOOL Pedido para bypass do algoritmo. Quando ByPass é energizado, a instrução energiza Out = In.o padrão é desabilitado

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 173: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-3

Parâmetros de saída:

Descrição: A instrução DERV suporta uma entrada bypass que permite que você pare de calcular o derivativo e passe o sinal diretamente para a saída.

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido.

Quando Bypass está: A instrução usa esta equação:

habilitado

desabilitado eDeltaT > 0

onde DeltaT está em segundos

Out Inn=

Inn 1– Inn=

Out GainInn Inn 1––

DeltaT----------------------------=

Inn 1– Inn=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 174: Cópia de 1756-rm006a-pt-p

3-4 Instruções de Filtro

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Inn-1 = Inn

primeira execução da instrução Inn-1 = Inn

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

A instrução derivativa calcula a quantidade de mudança de um sinal no tempo, em unidades por segundo. A instrução é geralmente usada no controle de malha fechada para criar um caminho de feedforward no regulador, para compensar processos que têm um alto grau de inércia.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 175: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-5

Filtro Passa Alta (HPF)

A instrução HPF fornece um filtro para atenuar as freqüências de entrada que estão abaixo da freqüência de corte.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura HPF: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FILTER_HIGH_PASS estrutura Estrutura HPF

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Pedido para a inicialização do algoritmo de controle de filtro. Quando energizado, a instrução energiza Out = In.o padrão é desabilitado

WLead REAL Freqüência do avanço em radianos/segundo. Se WLead < mínimo ou WLead > máximo, a instrução energiza o bit apropriado em Status e limita WLead. válido = consulte a seção Descrição, abaixo, para as faixas válidaspadrão = 0,0

Seqüência: REAL Seqüência do filtro. Order controla a precisão do corte. Se Order for inválido, a instrução energiza o bit apropriado em Status e usa Order = 1.válido = 1 a 3padrão = 1

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 176: Cópia de 1756-rm006a-pt-p

3-6 Instruções de Filtro

Parâmetros de saída

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

WLeadInv (Status.1) BOOL WLead < valor mínimo ou WLead > valor máximo.

OrderInv (Status.2) BOOL Valor de Order inválido.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 177: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-7

Descrição: A instrução usa o parâmetro Order para controlar a precisão do corte. A instrução HPF é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

A instrução HPF usa estas equações:

com estes limites de parâmetro (onde DeltaT está em segundos):

Sempre que o valor calculado para a saída for inválido, NAN, ou ±INF, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Quando o valor calculado para a saída torna-se válido, a instrução inicializa os parâmetros internos e energiza Out = In.

Quando: A instrução usa esta função de transferência:

Order = 1

Order = 2

Order = 3

Parâmetro: Limites:

Primeiro pedido de WLead LowLimit

Segundo pedido de WLead LowLimit

Terceiro pedido de WLeadLowLimit

HighLimit

ss ω+------------

s2

s2

2 s× ω ω2+×+

--------------------------------------------------

s3

s3

2 s2× ω×( ) 2 s×+ ω2 ω3

+×+------------------------------------------------------------------------------------

0.0000001DeltaT

-------------------------

0.00005DeltaT-------------------

0.001DeltaT------------------

0.7πDeltaT------------------

Publicação 1756-RM006A-PT-P - Junho 2000

Page 178: Cópia de 1756-rm006a-pt-p

3-8 Instruções de Filtro

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução A instrução energiza Out = In.O algoritmo de controle não é executado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 179: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-9

Exemplo de Bloco deFunções:

A instrução HPF atenua sinais que ocorrem abaixo da freqüência de corte configurada. Esta instrução é tipicamente usada para filtrar “ruído” ou distúrbios de baixa freqüência, que se originam de fontes elétricas ou mecânicas. Você pode selecionar uma seqüência (order) específica do filtro, para alcançar diversos graus de atenuação. Observe que seqüências mais altas aumentam o tempo de execução para a instrução de filtro.

Os seguintes gráficos ilustram o efeito das diversas seqüências do filtro para uma freqüência de corte determinada. Para cada gráfico, aproximações assintóticas ideais são fornecidas em escalas logarítmicas. A resposta real do filtro se aproxima dessas curvas, mas não corresponde exatamente a elas.

Filtro: Gráfico:

Filtro de 1ª seqüência

Filtro de 2ª seqüência

Filtro de 3ª seqüência

Ganho

Freqüência:rad/seg., fator de escala log.

Ganho

Freqüência:rad/seg., fator de escala log.

Ganho

Freqüência:rad/seg., fator de escala log.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 180: Cópia de 1756-rm006a-pt-p

3-10 Instruções de Filtro

Atraso/Avanço de Segunda Ordem (LDL2)

A instrução LDL2 fornece um filtro com um par pólo e um par zero. A freqüência e o amortecimento dos pares pólo e zero são ajustáveis. Os pares pólo e zero podem ser complexos (amortecimento menor que a unidade) ou reais (amortecimento maior ou igual à unidade).

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura LDL2: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco LEAD_LAG_SEC_ORDER estrutura Estrutura LDL2

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Pedido para a inicialização do algoritmo de controle de filtro. Quando habilitado, a instrução energiza Out = In.o padrão é desabilitado

WLead REAL Freqüência de avanço do ângulo em radianos/segundo. Se WLead < mínimo ou WLead > máximo, a instrução energiza o bit apropriado em Status e limita WLead. Se a taxa de WLag > taxa máxima, a instrução energiza o bit apropriado em Status e limita WLag.válido = consulte a seção Descrição, abaixo, para as faixas válidaspadrão = 0,0

WLag REAL Freqüência de atraso em radianos/segundo. Se WLag < mínimo ou Wlag > máximo, a instrução energiza o bit apropriado em Status e limita WLag. Se WLag: taxa de WLag > taxa máxima, a instrução energiza o bit apropriado em Status e limita WLag.válido = consulte a seção Descrição, abaixo, para as faixas válidaspadrão = 0,0

ZetaLead REAL Fator de amortecimento de avanço de segunda ordem. Usado apenas quando Order = 2. Se ZetaLead < mínimo ou ZetaLead > máximo, a instrução energiza o bit apropriado em Status e limita ZetaLead.válido = 0,0 a 4,0padrão = 0,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 181: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-11

Parâmetros de saída

ZetaLag REAL Fator de amortecimento do atraso de segunda ordem. Usado apenas quando Order = 2. Se ZetaLag < mínimo ou ZetaLag > máximo, a instrução energiza o bit apropriado em Status e limita ZetaLag.válido = 0,05 a 4,0padrão = 0,0

Seqüência: REAL Seqüência do filtro. Seleciona o algoritmo de filtro de primeira ou segunda ordem. Se inválido, a instrução energiza o bit apropriado em Status e usa Order = 2.válido = 1 a 2padrão = 2

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

WLeadInv (Status.1) BOOL WLead < valor mínimo ou WLead > valor máximo.

WLagInv (Status.2) BOOL WLag < valor mínimo ou WLag > valor máximo.

ZetaLeadInv (Status.3) BOOL Fator de amortecimento do avanço < valor mínimo ou valor de amortecimento do avanço > valor máximo.

ZetaLagInv (Status.4) BOOL Fator de amortecimento do atraso < valor mínimo ou valor de amortecimento do atraso > valor máximo.

OrderInv (Status.5) BOOL Valor de Order inválido.

WLagRatioInv (Status.6)

BOOL WLag: taxa de WLead maior que o valor máximo.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 182: Cópia de 1756-rm006a-pt-p

3-12 Instruções de Filtro

Descrição: O filtro da instrução LDL2 é usado nas metodologias de controle de force de referência e force de feedback. A instrução LDL2 é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

A instrução LDL2 usa estas equações:

com estes limites de parâmetro (onde DeltaT está em segundos):

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido.

Parâmetro de Saída: Tipo de Dados: Descrição:

Quando: A instrução usa esta função de transferência Laplace:

Order = 1

Order = 2

Normaliza o filtro, de forma que ωLead = 1

Parâmetro: Limites:

Primeiro pedido de WLeadLowLimit

Segundo pedido de WLeadLowLimit

HighLimit

H s( )

sωLead-------------- 1+

sωLag------------ 1+------------------------=

H s( )

s2

ωLead2

--------------2 ξLead× s×

ωLead------------------------------- 1+ +

s2

ωLag2

------------2 ξLag× s×

ωLag----------------------------- 1+ +

--------------------------------------------------------------=

H s( )s

22 ξLead× s× 1+ +

s2

ωLag2

------------2 ξLag× s×

ωLag----------------------------- 1+ +

---------------------------------------------------------=

0.0000001DeltaT

-------------------------

0.00005DeltaT-------------------

0.7πDeltaT------------------

Publicação 1756-RM006A-PT-P - Junho 2000

Page 183: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-13

Sempre que o valor calculado para a saída for inválido, NAN, ou ±INF, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Quando o valor calculado para a saída torna-se válido, a instrução inicializa os parâmetros internos e energiza Out = In.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

WLead: taxa de WLag Se WLead > WLag, sem limitações

Se WLag > WLead:• sem limite mínimo para WLag:WLead• primeira ordem máxima para WLag:WLead = 40:1 e a

instrução limita WLag para reforçar esta taxa• segunda ordem máxima para WLag:WLead = 10:1 e a

instrução limita WLag para reforçar esta taxa

Apenas ZetaLead de segunda ordem

LowLimit = 0,0HighLimit = 4,0

Apenas ZetaLag de segunda ordem

LowLimit = 0,05HighLimit = 4,0

Parâmetro: Limites:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução A instrução energiza Out = In.O algoritmo de controle não é executado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 184: Cópia de 1756-rm006a-pt-p

3-14 Instruções de Filtro

Exemplo de Bloco deFunções:

A instrução LDL2 pode atenuar entre duas freqüências ou pode amplificar entre duas freqüências, dependendo de como você configurar a instrução. Como as freqüências Lead (Avanço) e Lag (Atraso) podem ser definidas para valores que são maiores ou menores que cada uma, a instrução pode se comportar como um bloco Lead-Lag (Avanço-Atraso) ou como um bloco Lag-Lead (Atraso-Avanço), no qual a freqüência é configurada primeiro. Observe que seqüências mais altas aumentam o tempo de execução para a instrução de filtro.

Filtro: Gráfico:

avanço-atraso de 1ª ordem(ωLead < ωLag)

avanço-atraso de 2ª ordem(ωLead < ωLag)

avanço-atraso de 1ª ordem(ωLag < ωLead)

avanço-atraso de 2ª ordem(ωLag < ωLead)

Ganho

Freqüência:rad/seg., fator de escala log.

Ganho

Freqüência:rad/seg., fator de escala log.

Ganho

Freqüência:rad/seg., fator de escala log.

Ganho

Freqüência:rad/seg., fator de escala log.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 185: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-15

Filtro Passa Baixa (LPF)

A instrução LPF fornece um filtro para atenuar as freqüências de entrada que estão acima da freqüência de corte.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura LPF: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FILTER_LOW_PASS estrutura Estrutura LPF

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Pedido para a inicialização do algoritmo de controle de filtro. Quando energizado, a instrução energiza Out = In.o padrão é desabilitado

WLag REAL Freqüência de atraso em radianos/segundo. Se WLag < mínimo ou Wlag > máximo, a instrução energiza o bit apropriado em Status e limita WLag. válido = consulte a seção Descrição, abaixo, para as faixas válidaspadrão = máximo flutuante positivo

Seqüência: REAL Seqüência do filtro. Order controla a precisão do corte. Se Order for inválido, a instrução energiza o bit apropriado em Status e usa Order = 1.válido = 1 a 3padrão = 1

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 186: Cópia de 1756-rm006a-pt-p

3-16 Instruções de Filtro

Parâmetros de saída:

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

WLagInv (Status.1) BOOL WLag < valor mínimo ou WLag > valor máximo.

OrderInv (Status.2) BOOL Valor de Order inválido.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 187: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-17

Descrição: A instrução LPF usa o parâmetro Order para controlar a precisão do corte. A instrução LPF é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

A instrução LPF usa estas equações:

com estes limites de parâmetro (onde DeltaT está em segundos):

Sempre que o valor calculado para a saída for inválido, NAN, ou ±INF, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Quando o valor calculado para a saída torna-se válido, a instrução inicializa os parâmetros internos e energiza Out = In.

Quando: A instrução usa esta função de transferência:

Order = 1

Order = 2

Order = 3

Parâmetro: Limites:

Primeira seqüência de WlagLowLimit

Segunda seqüência de WlagLowLimit

Terceira seqüência de WlagLowLimit

HighLimit

ωs ω+------------

ω2

s2

2 s× ω ω2+×+

--------------------------------------------------

ω3

s3

2 s2× ω×( ) 2 s ω2××( )+ ω3×+

-----------------------------------------------------------------------------------------

0.0000001DeltaT

-------------------------

0.00005DeltaT-------------------

0.001DeltaT------------------

0.7πDeltaT------------------

Publicação 1756-RM006A-PT-P - Junho 2000

Page 188: Cópia de 1756-rm006a-pt-p

3-18 Instruções de Filtro

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução A instrução energiza Out = In.O algoritmo de controle não é executado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 189: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-19

Exemplo de Bloco deFunções:

A instrução LPF atenua sinais que ocorrem acima da freqüência de corte configurada. Esta instrução é tipicamente usada para filtrar “ruído” ou distúrbios de alta freqüência, que se originam de fontes elétricas ou mecânicas. Você pode selecionar uma seqüência (order) específica do filtro, para alcançar diversos graus de atenuação. Observe que seqüências mais altas aumentam o tempo de execução para a instrução.

Os seguintes gráficos ilustram o efeito das diversas seqüências do filtro para uma freqüência de corte determinada. Para cada gráfico, aproximações assintóticas ideais são fornecidas em escalas logarítmicas. A resposta real do filtro se aproxima destas curvas, mas não corresponde exatamente a elas.

Filtro: Gráfico:

Filtro de 1ª seqüência

Filtro de 2ª seqüência

Filtro de 3ª seqüência

Ganho

Freqüência:rad/seg., fator de escala log.

Ganho

Freqüência:rad/seg., fator de escala log.

Ganho

Freqüência:rad/seg., fator de escala log.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 190: Cópia de 1756-rm006a-pt-p

3-20 Instruções de Filtro

Filtro de Rejeita Borda (NTCH)

A instrução NTCH fornece um filtro para atenuar as freqüências de entrada que estão na freqüência de rejeita borda.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura NTCH: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FILTER_NOTCH estrutura Estrutura NTCH

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Initialize (Inicializar) BOOL Pedido para a inicialização do algoritmo de controle de filtro. Quando energizado, a instrução energiza Out = In.o padrão é desabilitado

WNotch REAL Freqüência central do filtro em radianos/segundo. Se WNotch < mínimo ou WNotch > máximo, a instrução energiza o bit apropriado em Status e limita WNotch.válido = consulte a seção Descrição, abaixo, para as faixas válidaspadrão = máximo flutuante positivo

QFactor REAL Controla a taxa de largura e profundidade. Energiza QFactor = 1 / (2*fator de amortecimento desejado). Se QFactor < mínimo ou QFactor > valor máximo, a instrução energiza o bit apropriado em Status e limita QFactor.válido = 0,5 a 100,0padrão = 0,5

Seqüência: REAL Seqüência do filtro. Order controla a precisão do corte. Se Order for inválido, a instrução energiza o bit apropriado em Status e usa Order = 2.válido = 2 ou 4padrão = 2

Publicação 1756-RM006A-PT-P - Junho 2000

Page 191: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-21

Parâmetros de saída:

Descrição: A instrução NTCH usa o parâmetro Order para controlar a precisão do corte. O parâmetro QFactor controla a taxa de largura e a profundidade do notch. A instrução NTCH é projetada para executar uma tarefa onde a taxa de varredura permanece constante.

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

WNotchInv (Status.1) BOOL WNotch < mínimo ou WNotch > máximo.

QFactorInv (Status.2) BOOL QFactor < mínimo ou QFactor > máximo.

OrderInv (Status.3) BOOL Valor de Order inválido.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 192: Cópia de 1756-rm006a-pt-p

3-22 Instruções de Filtro

A instrução NTCH usa esta equação:

onde i é operador de Order com estes limites de parâmetro (onde DeltaT está em segundos):

Sempre que o valor calculado para a saída for inválido, NAN, ou ±INF, a instrução energiza Out = valor inválido e energiza o flag de status de overflow aritmético. Quando o valor calculado para a saída torna-se válido, a instrução inicializa os parâmetros internos e energiza Out = In.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Parâmetro: Limites:

Segunda ordem de WNotch LowLimit

Quarta ordem de WNotchLowLimit

HighLimit

QFactor LowLimit = 0,5HighLimit = 100,0

s2 ω2

+( )i

s2

s ωQ---- ω2

+×+ i--------------------------------------------

0.0000001DeltaT

-------------------------

0.001DeltaT------------------

0.7πDeltaT------------------

Publicação 1756-RM006A-PT-P - Junho 2000

Page 193: Cópia de 1756-rm006a-pt-p

Instruções de Filtro 3-23

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução A instrução energiza Out = In.O algoritmo de controle não é executado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

A instrução NTCH atenua uma freqüência de ressonância específica. Tipicamente, estas freqüências de ressonância estão diretamente na faixa de resposta sendo regulada pelo sistema de controle de malha fechada. Geralmente, elas são geradas por ligações mecânicas frouxas, que causam recuo e vibração no sistema. Apesar da melhor solução ser corrigir a compatibilidade mecânica na maquinaria, o filtro de rejeita borda pode ser usado para suavizar os efeitos destes sinais no esquema regulador da malha fechada.

O seguinte diagrama mostra a curva de ganho ideal em uma faixa de freqüência para uma freqüência central e fator Q específicos. À medida que Q aumenta, o rejeita borda torna-se mais largo e mais raso. À medida que Q diminui, o rejeita borda torna-se mais profundo e mais estreito. A instrução pode ser energizada para uma ordem de 2 ou 4. Ordens maiores precisam de mais tempo de execução.

GanhoQ energizado menor

Q energizado maior

Freqüência

Publicação 1756-RM006A-PT-P - Junho 2000

Page 194: Cópia de 1756-rm006a-pt-p

3-24 Instruções de Filtro

Notas:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 195: Cópia de 1756-rm006a-pt-p

Capítulo 4

Instruções de Seleção/Limite

Introdução Estas instruções de seleção/limite estão disponíveis:

Se você quiser: Use esta instrução: Consulte página:

selecionar uma de até seis entradas. Enhanced Select (Seleção Avançada) (ESEL)

4-2

limitar uma entrada analógica entre dois valores.

High/Low Limit (Limite Alto/Baixo) (HLL)

4-8

selecionar uma de oito entradas. Multiplexer (Multiplexador) (MUX)

4-11

limitar a quantidade de mudança de um sinal no tempo.

Rate Limiter (Limitador de Taxa) (RLIM)

4-14

selecionar uma de duas entradas. Select (Selecionar) (SEL) 4-18

selecionar entre o valor da entrada e o valor de entrada negativo.

Selected Negate (Negação Selecionada) (SNEG)

4-20

selecionar entradas real para serem somadas.

Selected Summer (Soma Selecionada) (SSUM)

4-22

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 196: Cópia de 1756-rm006a-pt-p

4-2 Instruções de Seleção/Limite

Seleção Avançada (ESEL)

A instrução ESEL permite que você selecione uma de até seis entradas. As opções de seleção incluem:

• seleção manual (pelo operador ou pelo programa)

• seleção alta

• seleção baixa

• seleção média

• seleção de valor médio (média)

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura ESEL: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco SELECT_ENHANCED estrutura Estrutura ESEL

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In1 REAL Primeira entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In2 REAL Segunda entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 197: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-3

In3 REAL Terceira entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In4 REAL Quarta entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In5 REAL Quinta entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In6 REAL Sexta entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In1Fault BOOL Problemas com o indicador para In1. Se In1 for lido a partir de uma entrada analógica, então In1Fault é normalmente controlado pelo status de falha na entrada analógica. Se todas as entradas de Inn Fault forem energizadas, a instrução energiza o bit apropriado em Status, o algoritmo de controle não é executado e Out não é atualizado.padrão = desabilitado

In2Fault BOOL Problemas com o indicador para In2. Se In2 for lido a partir de uma entrada analógica, então In2Fault é normalmente controlado pelo status de falha na entrada analógica. Se todas as entradas de Inn Fault forem energizadas, a instrução energiza o bit apropriado em Status, o algoritmo de controle não é executado e Out não é atualizado.padrão = desabilitado

In3Fault BOOL Problemas com o indicador para In3. Se In3 for lido a partir de uma entrada analógica, então In3Fault é normalmente controlado pelo status de falha na entrada analógica. Se todas as entradas de Inn Fault forem energizadas, a instrução energiza o bit apropriado em Status, o algoritmo de controle não é executado e Out não é atualizado.padrão = desabilitado

In4Fault BOOL Problemas com o indicador para In4. Se In4 for lido a partir de uma entrada analógica, então In4Fault é normalmente controlado pelo status de falha na entrada analógica. Se todas as entradas de Inn Fault forem energizadas, a instrução energiza o bit apropriado em Status, o algoritmo de controle não é executado e Out não é atualizado.padrão = desabilitado

In5Fault BOOL Problemas com o indicador para In5. Se In5 for lido a partir de uma entrada analógica, então In5Fault é normalmente controlado pelo status de falha na entrada analógica. Se todas as entradas de Inn Fault forem energizadas, a instrução energiza o bit apropriado em Status, o algoritmo de controle não é executado e Out não é atualizado.padrão = desabilitado

In6Fault BOOL Problemas com o indicador para In6. Se In6 for lido a partir de uma entrada analógica, então In6Fault é normalmente controlado pelo status de falha na entrada analógica. Se todas as entradas de Inn Fault forem energizadas, a instrução energiza o bit apropriado em Status, o algoritmo de controle não é executado e Out não é atualizado.padrão = desabilitado

InsUsed DINT Número de entradas usadas. Isto define o número de entradas que a instrução usa. A instrução considera apenas In1 através de InInsUsed nos modos de seleção alta, seleção baixa, seleção média e média. Se este valor for inválido, a instrução energiza o bit apropriado em Status. A instrução não atualiza Out se InsUsed for inválido, se a instrução não estiver no modo manual de seleção e se Override (Supressão) for desabilitado. válido = 1 a 6padrão = 1

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 198: Cópia de 1756-rm006a-pt-p

4-4 Instruções de Seleção/Limite

SelectorMode DINT Entrada do modo seletor. Este valor determina a ação da instrução.Valor: Descrição:0 seleção manual1 seleção alta2 seleção baixa3 seleção mediana4 média

Se este valor for inválido, a instrução energiza o bit apropriado em Status e não atualiza Out.válido = 0 a 4padrão = 0

ProgSelector DINT Entrada do seletor de programa. Quando o modo seletor está na seleção manual e a instrução está em controle de Programa, ProgSelector determina qual entrada (In1-In6) mover em Out. Se ProgSelector = 0, a instrução não atualiza Out. Se ProgSelector for inválido, a instrução energiza o bit apropriado em Status. Se inválido e a instrução estiver em controle de Programa e o modo da seletora estiver no modo manual de seleção ou Override (Supressão) for energizado, a instrução não atualiza Out.válido = 0 a 6 padrão = 0

OperSelector DINT Entrada do seletor de operação. Quando o modo da seletora está na seleção manual e a instrução está em controle de Operação, OperSelector determina qual entrada (In1-In6) mover para Out. Se OperSelector = 0, a instrução não atualiza Out. Se OperSelector for inválido, a instrução energiza o bit apropriado em Status. Se inválido e a instrução estiver em controle de Operação e o modo da seletora estiver em seleçaõ manual ou Override (Supressão) for energizado, a instrução não atualiza Out.válido = 0 a 6padrão = 0

ProgProgReq BOOL Solicitação de modo de programa pelo programa. Definido pelo programa do usuário para o pedido do controle de Programa. Ignorado se ProgOperReq estiver energizado. Manter a energização e o ProgOperReq removido trava a instrução no controle de Programa.o padrão é desabilitado

ProgOperReq BOOL Pedido de operação do programa. Definido pelo programa do usuário para o pedido do controle de Operação. Manter a energização trava a instrução no controle de Operação.o padrão é desabilitado

ProgOverrideReq BOOL Pedido de supressão do programa. Definido pelo programa do usuário para pedir que o dispositivo entre no modo de Supressão. Ignorado se ProgOper for desabilitado.o padrão é desabilitado

OperProgReq BOOL Pedido de programa de operação. Definido pela interface de operação para o pedido do controle de Programa. A instrução desenergiza esta entrada.o padrão é desabilitado

OperOperReq BOOL Solicitação de modo de operação pelo operador. Definido pela interface de operação para o pedido do controle de Operação. A instrução desenergiza esta entrada.o padrão é desabilitado

ProgValueReset BOOL Reseta valores de controle de programa. Quando habilitado, todas as entradas de pedido de programa são desenergizadas a cada execução da instrução.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 199: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-5

Parâmetros de saída:

Descrição: A instrução ESEL opera como segue:

Para SelectorMode de 1 a 4, uma indicação de problemas para qualquer das entradas faz com que a entrada com problemas seja desconsiderada na seleção. Por exemplo, se SelectorMode = 1 (seleção alta) e se In6 apresentou o valor mais alto, mas teve problemas, então a próxima entrada mais alta sem problemas é movida para a saída.

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

SelectedIn DINT Número da entrada selecionada. A instrução usa este valor para mostrar o número da entrada sendo colocada na saída no momento. Se o modo da seletora for média, a instrução energiza SelectedIn = 0.

ProgOper BOOL Indicador de controle de Programa/Operação. Energizado quando estiver em controle de Programa. Desenergizado quando estiver em controle de Operação.

Override BOOL Modo de Supressão. Energizado quando a instrução estiver no modo Override (Supressão).

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

InsFaulted (Status.1) BOOL As entradas de InnFault para todas as entradas de Inn usadas são energizadas.

InsUsedInv (Status.2) BOOL Valor de InsUsed inválido.

SelectorModeInv (Status.3)

BOOL Valor de SelectorMode inválido.

ProgSelectorInv (Status.4)

BOOL Valor de ProgSelector inválido.

OperSelectorInv (Status.5)

BOOL Valor de OperSelector inválido.

Condição: Ação:

SelectorMode = 0 (seleção manual) ouOverride é energizado, ProgOper é desenregizado e OperSelector ≠ 0

Out = In[OperSelector]SelectedIn = OperSelector

SelectorMode = 0 (seleção manual) ouOverride é energizado, ProgOper é desenergizado e ProgSelector ≠ 0

Out = In[ProgSelector]SelectedIn = ProgSelector

SelectorMode = 1 (seleção alta) eOverride é desabilitado

Out = máximo de In[InsUsed]SelectedIn = índice para o valor máximo de entrada

SelectorMode = 2 (seleção baixa) eOverride é desabilitado

Out = mínimo de In[InsUsed]SelectedIn = índice para o valor mínimo de entrada

SelectorMode = 3 (seleção mediana) e Override é desabilitado

Out = mediana de In[InsUsed]SelectedIn = índice para o valor de mediana de entrada

SelectorMode = 4 (média) eOverride é desabilitado

Out = valor médio de In[InsUsed]SelectedIn = 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 200: Cópia de 1756-rm006a-pt-p

4-6 Instruções de Seleção/Limite

Para o modo de seleção alto ou baixo, se duas entradas forem iguais e forem altas ou baixas, a instrução faz sair a primeira entrada encontrada. Para o modo de seleção de mediana, o valor da mediana sempre representa um valor selecionado a partir das entradas disponíveis. Se mais de um valor pode ser a mediana, a instrução faz sair a primeira entrada encontrada.

Monitoração da instrução ESEL

Existe uma tela de operação disponível para a instrução ESEL. Para maiores informações, consulte o apêndice Controles da Tela de Operação do Bloco de Funções.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Todas as entradas de pedido de operação são removidas.Se ProgValueReset for energizado, todas as entradas de pedidos do programa são removidas.

primeira execução da instrução A instrução é energizada para controle de Operação.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 201: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-7

Exemplo de Bloco deFunções:

Comutação entre o controle de Programa e o controle de Operação

O seguinte diagrama mostra como a instrução ESEL muda entre o controle de Programa e o controle de Operação.

(1) Você pode travar a instrução no modo de controle de Operação, deixando ProgOperReq energizado.(2) Você pode travar a instrução no modo de controle de Programa, deixando ProgProgReq energizado, enquanto

ProgOperReq é desenergizado

Esta instrução ESEL seleciona In1, In2 ou In3, baseada em SelectorMode. Neste exemplo, SelectorMode = 1, o que significa seleção alta. A instrução determina qual valor de entrada é o maior e energiza Out = maior In, que torna-se um parâmetro de entrada para function_block_C.

function_block_C

Controle de Programa

O programa do usuário energiza ProgOperReq. (1)

O pedido tem preferência e é sempre atendido.

O operador energiza OperOperReq. O pedido é atendido se ProgProgReq for desenergizado.

O programa do usuário energiza ProgProgReq.(2)

O pedido é atendido se ProgOperReq for desenergizado.

O operador energiza OperProgReq.O pedido é atendido se ProgOperReq for desenergizado.

Controle de Operação

Publicação 1756-RM006A-PT-P - Junho 2000

Page 202: Cópia de 1756-rm006a-pt-p

4-8 Instruções de Seleção/Limite

Limite Alto/Baixo (HLL)

A instrução HLL limita uma entrada analógica entre dois valores. Você pode selecionar limites alto/baixo, alto ou baixo.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura HLL: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco HL_LIMIT estrutura Estrutura HLL

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

HighLimit REAL Limite alto para a Entrada. Se HighLimit ≤ LowLimit, a instrução energiza o bit apropriado em Status e energiza Out = LowLimit.válido = HighLimit > LowLimitpadrão = máximo flutuante positivo

LowLimit REAL Limite baixo para a Entrada. Se HighLimit ≤ LowLimit, a instrução energiza o bit apropriado em Status e energiza Out = LowLimit.válido = LowLimit < HighLimitpadrão = máximo flutuante negativo

SelectLimit DINT Entrada do limite de seleção. Esta entrada tem três configurações:Valor: Descrição:0 usa ambos os limites1 usa o limite alto2 usa o limite baixo

Se SelectLimit for inválido, a instrução assume SelecLimit = 0 e energiza o bit apropriado em Status.válido = 0 a 2padrão = 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 203: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-9

Parâmetros de saída

Descrição: A instrução HLL determina o valor de Out usando estas regras:

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

HighAlarm BOOL Indicador de alarme alto. Energizado quando In ≥ HighLimit.

LowAlarm BOOL Indicador de alarme baixo. Energizado quando In ≤ LowLimit.

Status: DINT Status do Bloco de Funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

LimitsInv (Status.1) BOOL HighLimit ≤ LowLimit.

SelectLimitInv (Status.2)

BOOL O valor de SelectLimit não é 0, 1 ou 2.

Seleção: Condição: Ação:

SelectLimit = 0(usa os limites alto e baixo)

In < HighLimit eIn > LowLimit

Out = In

In ≥ HighLimit Out = HighLimitHighAlarm é habilitado

In ≤ LowLimit Out = LowLimitLowAlarm é habilitado

HighLimit ≤ LowLimit Out = LowLimitHighAlarm é habilitadoLowAlarm é habilitadoLimitsInv é habilitado

SelectLimit = 1(usa apenas o limite alto)

In < HighLimit Out = In

In ≥ HighLimit Out = HighLimitHighAlarm é habilitado

SelectLimit = 2(usa apenas o limite baixo)

In > LowLimit Out = In

In ≤ LowLimit Out = LowLimitLowAlarm é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 204: Cópia de 1756-rm006a-pt-p

4-10 Instruções de Seleção/Limite

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Esta instrução HLL limita In entre dois valores e energiza HighAlarm ou LowAlarm, se necessário quando In está fora dos limites. A instrução energiza Out = valor limitado de In, que torna-se um parâmetro de entrada para function_block_C.

function_block_Cfunction_block_A

Publicação 1756-RM006A-PT-P - Junho 2000

Page 205: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-11

Multiplexador (MUX)

A instrução MUX seleciona uma de oito entradas, baseada na entrada do seletor.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura MUX: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco MULTIPLEXER estrutura Estrutura MUX

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In1 REAL Primeira entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In2 REAL Segunda entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In3 REAL Terceira entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In4 REAL Quarta entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In5 REAL Quinta entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 206: Cópia de 1756-rm006a-pt-p

4-12 Instruções de Seleção/Limite

Parâmetros de saída

Descrição: Baseada no valor do Seletor, a instrução MUX energiza Out igual a uma das oito entradas.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

In6 REAL Sexta entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In7 REAL Sétima entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In8 REAL Oitava entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Seletor DINT Entrada do seletor para a instrução. Esta entrada determina qual das entradas (1 – 8) é movida em Out. Se este valor for inválido (o que inclui 0), a instrução energiza o bit apropriado em Status e mantém Out em seu valor atual.válido = 1 a 8padrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída selecionada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

SelectorInv (Status.1) BOOL Valor de Selector inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 207: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-13

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Os parâmetros internos são desabilitados.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Esta instrução MUX seleciona In1, In2 ou In3, baseada no Seletor. A instrução energiza Out = In n, que torna-se um parâmetro de entrada para function_block_C. Por exemplo, se select_value = 2, a instrução energiza Out = analog_input2.

function_block_C

Publicação 1756-RM006A-PT-P - Junho 2000

Page 208: Cópia de 1756-rm006a-pt-p

4-14 Instruções de Seleção/Limite

Limitador de Taxa (RLIM)

A instrução RLIM limita a quantidade de mudança de um sinal no tempo.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura RLIM: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco RATE_LIMITER estrutura Estrutura RLIM

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

IncRate REAL Taxa máxima de incremento de saída em unidades por segundo. Se inválido, a instrução energiza IncRate = 0,0 e energiza o bit apropriado em Status.válido = qualquer flutuante ≥ 0,0padrão = 0,0

DecRate REAL Taxa máxima de decremento de saída em unidades por segundo. Se inválido, a instrução energiza DecRate = 0,0 e energiza o bit apropriado em Status.válido = qualquer flutuante ≥ 0,0padrão = 0,0

ByPass BOOL Pedido para bypass do algoritmo. Energizado quando Out = In o padrão é desabilitado

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo realPara maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

válido = 0 a 2padrão = 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 209: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-15

Parâmetros de saída

OversampleDT REAL Tempo de execução para o modo de sobreamostra (oversample).válido = 0 a 4.194.303 segundospadrão = 0

RTSTime DINT Período de atualização do módulo para o modo de amostragem em tempo realválido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para o modo de amostragem em tempo realválido = 0 a 32.767 mspadrão = 0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

IncRateInv (Status.1) BOOL IncRate < 0. A instrução usa 0.

DecRate (Status.2) BOOL DecRate < 0. A instrução usa 0.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.Para maiores informações sobre os modos de temporização, consulte o apêndice Atributos do Bloco de Funções.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 210: Cópia de 1756-rm006a-pt-p

4-16 Instruções de Seleção/Limite

Descrição: A instrução RLIM fornece taxas de incremento e decremento separadas em unidades por segundo. A entrada ByPass permite que você pare o limite de taxa e passe o sinal diretamente para a saída.

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Condição: Ação:

ByPass é energizado Outn = InnOutn-1 = Inn

ByPass é desenrgizado eDeltaT > 0

Se Slope (Curvatura) ≤ –DecRate, então YSlope = –DecRateSe –DecRate ≤ Slope ≤ IncRate, então YSlope = Slope (Curvatura)Se IncRate ≤ Slope, então YSlope = IncRateOutn = Outn-1 + DeltaT x YSlopeOutn-1 = Outn

onde DeltaT está em segundos

SlopeInn Outn 1––

DeltaT---------------------------------=

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Outn-1 = Inn

primeira execução da instrução Outn-1 = Inn

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 211: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-17

Exemplo de Bloco deFunções:

A instrução RLIM limita In por IncRate. Se analog_input1 mudar a uma taxa maior que o valor de IncRate, a instrução limita In. A instrução energiza Out = valor limitado da taxa, que torna-se um parâmetro de entrada para function_block_C.

function_block_C

Publicação 1756-RM006A-PT-P - Junho 2000

Page 212: Cópia de 1756-rm006a-pt-p

4-18 Instruções de Seleção/Limite

Seleção (SEL)

A instrução SEL usa uma entrada digital para selecionar uma de duas entradas.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura SEL: Parâmetros de entrada

Parâmetros de saída

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco Select (Selecionar) estrutura Estrutura SEL

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In1 REAL Primeira entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

In2 REAL Segunda entrada com sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

SelectorIn BOOL A entrada que é selecionada entre In1 e In2.o padrão é desabilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 213: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-19

Descrição: A instrução SEL opera como segue:

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

SelectorIn é habilitado Out = In2

SelectorIn é desabilitado Out = In1

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Esta instrução SEL seleciona In1 ou In2, baseada em SelectorIn. Se SelectorIn for habilitado, a instrução energiza Out = In2. Se SelectorIn for desabilitado, a instrução energiza Out = In1. Out torna-se um parâmetro de entrada para function_block_C.

function_block_C

function_block_A

Publicação 1756-RM006A-PT-P - Junho 2000

Page 214: Cópia de 1756-rm006a-pt-p

4-20 Instruções de Seleção/Limite

Negação Selecionada (SNEG)

A instrução SNEG usa uma entrada digital para selecionar entre o valor de entrada e o valor negativo do valor de entrada.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura SNEG: Parâmetros de entrada

Parâmetros de saída

Descrição: A instrução SNEG opera como segue:

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco SELECTABLE_NEGATE estrutura Estrutura SNEG

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.

NegateEnable BOOL Habilitação de Negate (Negação). Quando NegateEnable é habilitado, a instrução energiza Out para o valor negativo de In.o padrão é habilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

Condição: Ação:

NegateEnable é habilitado Out = –In

NegateEnable é desabilitado Out = In

Publicação 1756-RM006A-PT-P - Junho 2000

Page 215: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-21

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

A saída de function_block_A determina se In será um número negativo ou não. A instrução energiza Out = In se NegateEnable for desenergizado. A instrução energiza Out = −In se NegateEnable for energizado. Out torna-se um parâmetro de entrada para function_block_C.

function_block_C

function_block_A

Publicação 1756-RM006A-PT-P - Junho 2000

Page 216: Cópia de 1756-rm006a-pt-p

4-22 Instruções de Seleção/Limite

Soma Selecionada (SSUM)

A instrução SSUM usa entradas booleanas para selecionar entradas reais a serem somadas de forma algébrica.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura SSUM: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco SELECTABLE_SUMMER estrutura Estrutura SSUM

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In1 REAL Primeira entrada a ser somada. válido = qualquer flutuantepadrão = 0,0

Gain1 REAL Ganho para a primeira entrada.válido = qualquer flutuantepadrão = 1,0

Select1 BOOL Sinal seletor para a primeira entrada. o padrão é desabilitado

In2 REAL Segunda entrada a ser somada.válido = qualquer flutuantepadrão = 0,0

Gain2 REAL Ganho para a segunda entrada.válido = qualquer flutuantepadrão = 1,0

Select2 BOOL Sinal seletor para a segunda entrada.o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 217: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-23

In3 REAL Terceira entrada a ser somada.válido = qualquer flutuantepadrão = 0,0

Gain3 REAL Ganho para a terceira entrada.válido = qualquer flutuantepadrão = 1,0

Select3 BOOL Sinal seletor para a terceira entrada.o padrão é desabilitado

In4 REAL Quarta entrada a ser somada.válido = qualquer flutuantepadrão = 0,0

Gain4 REAL Ganho para a quarta entrada.válido = qualquer flutuantepadrão = 1,0

Select4 BOOL Sinal seletor para a quarta entrada.o padrão é desabilitado

In5 REAL Quinta entrada a ser somada.válido = qualquer flutuantepadrão = 0,0

Gain5 REAL Ganho para a quinta entrada.válido = qualquer flutuantepadrão = 1,0

Select5 BOOL Sinal seletor para a quinta entrada.o padrão é desabilitado

In6 REAL Sexta entrada a ser somada.válido = qualquer flutuantepadrão = 0,0

Gain6 REAL Ganho para a sexta entrada.válido = qualquer flutuantepadrão = 1,0

Select6 BOOL Sinal seletor para a sexta entrada.o padrão é desabilitado

In7 REAL Sétima entrada a ser somada.válido = qualquer flutuantepadrão = 0,0

Gain7 REAL Ganho para a sétima entrada.válido = qualquer flutuantepadrão = 1,0

Select7 BOOL Sinal seletor para a sétima entrada.o padrão é desabilitado

In8 REAL Oitava entrada a ser somada.válido = qualquer flutuantepadrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 218: Cópia de 1756-rm006a-pt-p

4-24 Instruções de Seleção/Limite

Parâmetros de saída:

Descrição: A instrução SSUM opera como segue:

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Gain8 REAL Ganho para a oitava entrada.válido = qualquer flutuantepadrão = 1,0

Select8 BOOL Sinal seletor para a oitava entrada.o padrão é desabilitado

Bias REAL Entrada de sinal de bias. A instrução adiciona Bias à soma das entradas.válido = qualquer flutuantepadrão = 0,0

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

Condição: Ação:

Nenhum In é selecionado

In é selecionado

Out Bias=

Out

8

Σn 1=

Inn Gainn×( ) Bias+=

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 219: Cópia de 1756-rm006a-pt-p

Instruções de Seleção/Limite 4-25

Exemplo de Bloco deFunções:

Os valores de select1 e select 2 determinam se a seleção de analogInput1 e analog_input2 será feita, respectivamente. A instrução, então, adiciona as entradas selecionadas e coloca o resultado em Out. Out torna-se um parâmetro de entrada para function_block_C.

function_block_C

Publicação 1756-RM006A-PT-P - Junho 2000

Page 220: Cópia de 1756-rm006a-pt-p

4-26 Instruções de Seleção/Limite

Notas:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 221: Cópia de 1756-rm006a-pt-p

Capítulo 5

Instruções Estatísticas

Introdução Estas instruções estatísticas estão disponíveis:

Se você quiser: Use esta instrução: Consulte página:

calcular uma média de tempo. Moving Average (Média de Móvel) (MAVE)

5-2

encontrar o sinal máximo em tempo. Maximum Capture (Captura Máxima) (MAXC)

5-6

encontrar o sinal mínimo em tempo. Minimum Capture (Captura Mínima) (MINC)

5-8

calcular um desvio padrão de movimento. Moving Standard Deviation (Desvio Padrão de Móvel) (MSTD)

5-10

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 222: Cópia de 1756-rm006a-pt-p

5-2 Instruções Estatísticas

Média de Móvel (MAVE)

A instrução MAVE calcula uma média de tempo para o sinal de In. Esta instrução, opcionalmente, suporta pesos especificados pelo usuário.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura MAVE: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco MOVING_AVERAGE estrutura Estrutura MAVE

Armazenamento REAL matriz mantém as amostras da média móvel. Esta matriz deve ser pelo menos do tamanho de NumberOfSamples.

peso REAL matriz (opcional)usado para médias ponderadas. Esta matriz deve ser pelo menos do tamanho de NumberOfSamples. O elemento [0] é usado para a amostra mais recente; o elemento [n] é usado para a amostra mais antiga.

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

InFault BOOL Indicador de problemas para a entrada. Se In for lido a partir de uma entrada analógica, então InFault é normalmente controlado pelo status de falha na entrada analógica. Quando energizado, InFault indica que o sinal de entrada tem um erro, a intrução energiza o bit apropriado em Status e a instrução mantém Out em seu valor atual. Quando InFault faz a transição de energizado para desenergizado, a instrução inicializa o algoritmo da média e continua a execução. o padrão é desabilitado

Initialize (Inicializar) BOOL Entrada Initialize (Inicializar) para a instrução. Quando habilitado, a instrução mantém Out = In, exceto quando InFault é energizado, onde a instrução mantém Out em seu valor atual. Quando Initialize faz a transição de energizado para desenergizado, a instrução inicializa o algoritmo da média e continua a execução.o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 223: Cópia de 1756-rm006a-pt-p

Instruções Estatísticas 5-3

Parâmetros de saída:

Descrição: A instrução MAVE calcula uma valor de média ponderada ou não móvel do sinal de entrada. NumberOfSamples especifica o comprimento de amplitude da média móvel. A cada varredura do bloco, quando SampleEnable é energizado, a instrução move o valor de In para a matriz de armazenamento e descarta o valor mais antigo. Cada Inn tem um Peson, configurado pelo usuário, que é usado se UseWeights for energizado.

SampleEnable BOOL Habilitação para a tomada de uma amostra de In. Quando habilitado, a instrução insere o valor de In na matriz de armazenamento e calcula um novo valor de Out. Quando SampleEnable é desabilitado e Initialize é desabilitado, a instrução mantém Out em seu valor atual.o padrão é habilitado

NumberOfSamples DINT Número de amostras a serem usadas no cálculo. Se este valor for inválido, a instrução energiza o bit apropriado em Status e mantém Out em seu valor atual. Quando NumberOfSamples torna-se novamente válido, a instrução inicializa o algoritmo da média e continua a execução.válido = 1 a (tamanho mínimo de StorageArray ou WeightArray (se usado))padrão = 1

UseWeights BOOL Entrada do esquema da média para a instrução. Quando habilitado, a instrução usa o método ponderado para calcular Out. Quando desabilitado, a instrução usa o método uniforme para calcular Out.o padrão é desabilitado

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL A saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

InFaulted (Status.1) BOOL Problemas em In (InFault é energizado).

NumberOfSampInv (Status.2)

BOOL NumberOfSamples inválido ou não compatível com o tamanho da matriz.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 224: Cópia de 1756-rm006a-pt-p

5-4 Instruções Estatísticas

A instrução MAVE usa estas equações:

A instrução não colocará um valor inválido de In (NAN ou ±INF) na matriz de armazenamento. Quando In for inválido, a instrução energiza Out = In e energiza o flag de status de overflow aritmético. Quando In torna-se válido, a instrução inicializa o algoritmo da média e continua a execução.

Você pode fazer com que o tempo de execução mude para o parâmetro NumberOfSamples. Se você aumentar o número, a instrução faz a média, em forma de incremento, dos novos dados a partir do tamanho da amostra atual para o novo tamanho da amostra. Se você diminuir o número, a instrução re-calcula a média a partir do começo da matriz de amostra para o novo valor de NumberOfSamples.

Inicialização do algoritmo da média

Certas condições, como a primeira varredura da instrução ou primeira execução da instrução, requisitam que a instrução inicialize o algoritmo da média móvel. Quando isto ocorre, a instrução considera a matriz de amostra vazia e faz a média, em forma de incrementos, das amostras a partir de 1 para o valor de NumberOfSamples. Por exemplo:

NumberOfSamples = 3, UseWeights é habilitadoVarredura 1: Out = Inn*Peso1

Varredura 2: Out = (Inn*Peso1)+(Inn-1*Peso2)

Varredura 3: Out = (Inn*Peso1)+(Inn-1*Peso2) +(Inn-2*Peso3)

NumberOfSamples = 3, UseWeights é desabilitadoVarredura 1: Out = Inn/1

Varredura 2: Out = (Inn+Inn-1)/2

Varredura 3: Out = (Inn+Inn-1+Inn-2)/NumberOfSamples

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Condição: Equação:

método de valor de média ponderadaUseWeights é habilitado

método da média uniformeUseWeights é desabilitado

Out

NumberOfSamples

Σn 1=

Weightn Inn×=

Out

NumberOfSamples

Σn 1=

Inn

NumberOfSamples----------------------------------------------------------=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 225: Cópia de 1756-rm006a-pt-p

Instruções Estatísticas 5-5

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Se InFault for desabilitado, a instrução inicializa o algoritmo e continua.

primeira execução da instrução Se InFault for desabiltado, a instrução inicializa o algoritmo e continua.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado Em uma transição de desabilitado para habilitado de Enable In, a instrução inicializa o algoritmo e continua.A instrução é executada.EnableOut é habilitado.

A cada varredura, a instrução coloca input_value na matriz de armazenamento. A instrução calcula a média dos valores em uma matriz de armazenamento, opcionalmente, usando valores ponderados em peso de matriz e coloca o resultado em Out, que torna-se um parâmetro de entrada para function_block_C.

function_block_C

Publicação 1756-RM006A-PT-P - Junho 2000

Page 226: Cópia de 1756-rm006a-pt-p

5-6 Instruções Estatísticas

Captura Máxima (MAXC)

A instrução MAXC encontra o máximo do sinal de Entrada no tempo.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura MAXC: Parâmetros de entrada

Parâmetros de saída

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco MAXIMUM_CAPTURE estrutura Estrutura MAXC

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Rearmar BOOL Pedido para resetar o algoritmo de controle. A instrução energiza Out = ResetValue, desde que Reset esteja energizado. o padrão é desabilitado

ResetValue REAL Valor de reset para a instrução. A instrução energiza Out = ResetValue, desde que Reset esteja energizado.válido = qualquer flutuantepadrão = 0,0

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL Saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 227: Cópia de 1756-rm006a-pt-p

Instruções Estatísticas 5-7

Descrição: A instrução MAXC executa este algoritmo:

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

Reset é habilitado Outn-1 = ResetValueOut = ResetValue

Reset é desabilitado Out = In quando In > Out n-1Out = Outn-1 quando In ≤ Outn-1Outn-1 = Out

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Outn-1 = In

primeira execução da instrução Outn-1 = In

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Se Reset for energizado, a instrução energiza Out = ResetValue. Se Reset for desenergizado, a instrução energiza Out = In quando In > Outn-1. Senão, a instrução energiza Out = Outn-1. Out torna-se um parâmetro de entrada para function_block_C.

function_block_C

function_block_A

Publicação 1756-RM006A-PT-P - Junho 2000

Page 228: Cópia de 1756-rm006a-pt-p

5-8 Instruções Estatísticas

Captura Mínima (MINC)

A instrução MINC encontra o mínimo do sinal de Entrada no tempo.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura MINC: Parâmetros de entrada

Parâmetros de saída

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco MINIMUM_CAPTURE estrutura Estrutura MINC

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

Rearmar BOOL Pedido para resetar o algoritmo de controle. A instrução energiza Out = ResetValue, desde que Reset esteja energizado.o padrão é desabilitado

ResetValue REAL Valor de reset para a instrução. A instrução energiza Out = ResetValue, desde que Reset esteja energizado.válido = qualquer flutuantepadrão = 0,0

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL Saída calculada do algoritmo. Os flags de status aritmético estão energizados para esta saída.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 229: Cópia de 1756-rm006a-pt-p

Instruções Estatísticas 5-9

Descrição: A instrução MINC executa este algoritmo:

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

Reset é energizado Outn-1 = ResetValueOut = ResetValue

Reset é desabilitado Out = In quando In < Out n-1Out = Outn-1 quando In ≥ Outn-1Outn-1 = Out

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Outn-1 = In

primeira execução da instrução Outn-1 = In

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Se Reset for energizado, a instrução energiza Out = ResetValue. Se Reset for desenergizado, a instrução energiza Out = In quando In < Outn-1. Senão, a instrução energiza Out = Outn-1. Out torna-se um parâmetro de entrada para function_block_C.

function_block_C

function_block_A

Publicação 1756-RM006A-PT-P - Junho 2000

Page 230: Cópia de 1756-rm006a-pt-p

5-10 Instruções Estatísticas

Desvio Padrão Móvel (MSTD)

A instrução MSTD calcula um desvio padrão móvel e a média para o sinal de In.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura MSTD: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco MOVING_STD_DEV estrutura Estrutura MSTD

armazenamento REAL matriz mantém as amostras de In. Esta matriz deve ser pelo menos do tamanho de NumberOfSamples.

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In REAL Entrada de sinal analógico para a instrução.válido = qualquer flutuantepadrão = 0,0

InFault BOOL Indicador de problemas para a entrada. Se In for lido a partir de uma entrada analógica, então InFault é normalmente controlado pelo status de falha na entrada analógica. Quando energizado, InFault indica que o sinal de entrada tem um erro, a intrução energiza o bit apropriado em Status e a instrução mantém Out e Average (Média) em seus valores atuais. Quando InFault faz a transição de energizado para desenergizado, a instrução inicializa o algoritmo da média e continua a execução.o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 231: Cópia de 1756-rm006a-pt-p

Instruções Estatísticas 5-11

Parâmetros de saída

Descrição: A instrução MSTD suporta qualquer comprimento de fila de entrada. A cada varredura, se SampleEnable for energizado, a instrução insere o valor de In em uma matriz de armazenamento. Quando a matriz de armazenamento está cheia, cada novo valor de In faz com que a inserção mais antiga seja deletada.

A instrução MSTD usa estas equações para as saídas:

Initialize (Inicializar) BOOL Entrada Initialize (Inicializar) para a instrução. Quando habilitado, a intrução energiza Out = 0,0 e Average = In, exceto quando InFault é energizado, onde a instrução mantém Out e Average (Média) em seus valores atuais. Quando Initialize faz a transição de energizado para desenergizado, a instrução inicializa o algoritmo de desvio padrão e continua a execução.o padrão é desabilitado

SampleEnable BOOL Habilitação para a tomada de uma amostra de In. Quando habilitado, a instrução insere o valor de In na matriz de armazenamento e calcula um novo valor de Out e Average. Quando SampleEnable é desabilitado e Initialize é desabilitado, a instrução mantém Out e Average em seus valores atuais.o padrão é desabilitado

NumberOfSamples DINT Número de amostras a serem usadas no cálculo. Se este valor for inválido, a instrução energiza o bit apropriado em Status e mantém Out e Average em seus valores atuais. Quando NumberOfSamples torna-se novamente válido, a instrução inicializa o algoritmo de desvio padrão e continua a execução.válido = 1 ao tamanho da matriz de armazenamentopadrão = 1

Parâmetro de Entrada:

Tipo de Dados: Descrição:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out REAL Saída calculada do algoritmo. A instrução mantém Out em seu valor atual quando SampleEnable é desabilitado. Os flags de status aritmético estão energizados para esta saída.

Média REAL Média calculada do algoritmo.

Status: DINT Status do bloco de funções.

InstructFault (Status.0) BOOL A instrução detectou um dos seguintes erros de execução. Este não é um erro grave ou de advertência do controlador. Verifique os bits de status restantes para determinar o que ocorreu.

InFaulted (Status.1) BOOL Existem problemas em In. InFault é energizado.

NumberOfSampInv (Status.2)

BOOL NumberOfSamples inválido ou não compatível com o tamanho da matriz.

Condição: Igual:

Média

Out

AverageΣn 1=

NumberOfSamplesInn

NumberOfSamples-----------------------------------------------------=

OutΣn 1=

NumberOfSamplesInn Average–( )2

NumberOfSamples-----------------------------------------------------------------------------------------=

Publicação 1756-RM006A-PT-P - Junho 2000

Page 232: Cópia de 1756-rm006a-pt-p

5-12 Instruções Estatísticas

A instrução não colocará um valor inválido de In (NAN ou ±INF) na matriz de armazenamento. Quando In for inválido, a instrução energiza Out = In, energiza Average = In e energiza o flag de status de overflow aritmético. Quando In torna-se válido, a instrução inicializa o algoritmo de desvio padrão e continua a execução.

Você pode fazer com que o tempo de execução mude para o parâmetro NumberOfSamples. Se você aumentar o número, a instrução processa, em forma de incremento, os novos dados a partir do tamanho da amostra atual para o novo tamanho da amostra. Se você diminuir o número, a instrução re-calcula o desvio padrão a partir do começo da matriz de amostra para o novo valor de NumberOfSamples.

Inicialização do algoritmo de desvio padrão

Certas condições, como a primeira varredura da instrução ou primeira execução da instrução, requisitam que a instrução inicialize o algoritmo de desvio padrão. Quando isto ocorre, a intrução considera a matriz de amostra vazia e processa, em forma de incremento, as amostras a partir de 1 para o valor de NumberOfSamples. Por exemplo:

NumberOfSamples = 3

Varredura 1: Média (Average) = Inn/1

Out = Raiz quadrada (Square root) (((Inn-Média (Average)2)/1)

Varredura 2: Média (Average) = (Inn+Inn-1)/2

Out = Raiz quadrada (Square root) (((Inn-Média (Average)2+(Inn-1-Média

(Average))2)/2)

Varredura 3: Média (Average) = (Inn+Inn-1+Inn-2)/NumberOfSamples

Out = Raiz quadrada (Square root) (((Inn-Média (Average)2+(Inn-1-Média

(Average)2+(Inn-2-Média (Average)2)/NumberOfSamples)

Flags de Status Aritmético: Os flags de status aritmético estão energizados para a saída Out.

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 233: Cópia de 1756-rm006a-pt-p

Instruções Estatísticas 5-13

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Se InFault for desabilitado, a instrução inicializa o algoritmo e continua.

primeira execução da instrução Se InFault for desabilitado, a instrução inicializa o algoritmo e continua.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado Em uma transição de desabilitado para habilitado de Enable In, a instrução inicializa o algoritmo e continua.A instrução é executada.EnableOut é habilitado.

A cada varredura que SampleEnable é energizado, a instrução coloca o valor de In na matriz de armazenamento, calcula o desvio padrão dos valores na matriz de armazenamento e coloca o resultado em Out. Out torna-se um parâmetro de entrada para function_block_C.

function_block_C

function_block_A

Publicação 1756-RM006A-PT-P - Junho 2000

Page 234: Cópia de 1756-rm006a-pt-p

5-14 Instruções Estatísticas

Notas:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 235: Cópia de 1756-rm006a-pt-p

Capítulo 6

Instruções de Deslocamento/Lógica

Introdução Estas instruções de deslocamento/lógica estão disponíveis:

Se você quiser: Use esta instrução: Consulte página:

AND, lógica, até oito entradas booleanas. Boolean AND (E Booleano) (BAND)

6-2

complementar uma entrada booleana. Boolean NOT (NÃO Booleano) (BNOT)

6-5

OU, lógica, até oito entradas booleanas. Boolean OR (OU Booleano) (BOR)

6-7

realizar um OU exclusivo em duas entradas booleanas.

Boolean Exclusive OR (OU Exclusivo Booleano) (BXOR)

6-10

energizar a saída Q no estado da entrada D em uma transição de entrada de Tempo (Clock).

D Flip-Flop (DFF) 6-12

complementar as saídas Q e QNot quando a entrada Clock fizer a transição.

JK Flip-Flop (JKFF) 6-15

usar as entradas Set e Reset para controlar entradas travadas quando a entrada Reset tiver preferência sobre a entrada Set.

Reset Dominant (Reset Dominante) (RESD)

6-17

usar as entradas Set e Reset para controlar entradas travadas quando a entrada Set tiver preferência sobre a entrada Reset.

Set Dominant (Set Dominante) (SETD)

6-20

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 236: Cópia de 1756-rm006a-pt-p

6-2 Instruções de Deslocamento/Lógica

E Booleano (BAND)

A instrução BAND realiza lógicas ANDs (Es) em até oito entradas booleanas.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura BAND: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FBD_BOOLEAN_AND estrutura Estrutura BAND

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In1 BOOL Primeira entrada booleana. o padrão é habilitado

In2 BOOL Segunda entrada booleana. o padrão é habilitado

In3 BOOL Terceira entrada booleana.o padrão é habilitado

In4 BOOL Quarta entrada booleana. o padrão é habilitado

In5 BOOL Quinta entrada booleana.o padrão é habilitado

In6 BOOL Sexta entrada booleana.o padrão é habilitado

In7 BOOL Sétima entrada booleana.o padrão é habilitado

In8 BOOL Oitava entrada booleana.o padrão é habilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 237: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-3

Parâmetros de saída

Descrição: A instrução BAND realiza lógicas ANDs (Es) em até oito entradas booleanas. Se a entrada não for usada, o padrão é nergizado (1).

Out = In1 E In2 E In3 E In4 E In5 E In6 E In7 E In8

Flags de Status Aritmético: não afetados

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out BOOL Saída da instrução.

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 238: Cópia de 1756-rm006a-pt-p

6-4 Instruções de Deslocamento/Lógica

Exemplo de Bloco deFunções:

Quando habilitada, a instrução BAND realiza lógicas ANDs em até 8 entradas. Este exemplo realiza soma (AND) as entradas In1 e In2. A instrução coloca o resultado em Out, que torna-se um parâmetro de entrada para function_block_C.

Se In1 for: Se In2 for: Então Out é:

0 0 0

0 1 0

1 0 0

1 1 1

function_block_C

Publicação 1756-RM006A-PT-P - Junho 2000

Page 239: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-5

NÃO Booleano (BNOT)

A instrução BNOT complementa uma entrada booleana.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura BNOT: Parâmetros de entrada

Parâmetros de saída:

Descrição: A instrução BNOT complementa uma entrada booleana.

Out = NOT In

Flags de Status Aritmético: não afetados

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FBD_BOOLEAN_NOT estrutura Estrutura BNOT

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In BOOL Entrada para a instrução.o padrão é habilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out BOOL Saída da instrução.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 240: Cópia de 1756-rm006a-pt-p

6-6 Instruções de Deslocamento/Lógica

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

function_block_C

Quando habilitada, a instrução BNOT complementa In. A instrução coloca o resultado em Out, que torna-se um parâmetro de entrada para function_block_C.

Se In1 for: Então Out é:

0 1

1 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 241: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-7

OU Booleano (BOR)

A instrução BOR realiza lógica OR (OUs) em até oito entradas booleanas.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura BOR: Parâmetros de entrada

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FBD_BOOLEAN_OR estrutura Estrutura BOR

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In1 BOOL Primeira entrada booleana.o padrão é desabilitado

In2 BOOL Segunda entrada booleana.o padrão é desabilitado

In3 BOOL Terceira entrada booleana.o padrão é desabilitado

In4 BOOL Quarta entrada booleana.o padrão é desabilitado

In5 BOOL Quinta entrada booleana.o padrão é desabilitado

In6 BOOL Sexta entrada booleana.o padrão é desabilitado

In7 BOOL Sétima entrada booleana.o padrão é desabilitado

In8 BOOL Oitava entrada booleana.o padrão é desabilitado

Publicação 1756-RM006A-PT-P - Junho 2000

Page 242: Cópia de 1756-rm006a-pt-p

6-8 Instruções de Deslocamento/Lógica

Parâmetros de saída

Descrição: A instrução BOR realiza a lógica OR em até oito entradas booleanas. Se uma entrada não for usada, o padrão é desabilitado (0).

Out = In1 OU In2 OU In3 OU In4 OU In5 OU In6 OU In7 OU In8

Flags de Status Aritmético: não afetados

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out BOOL Saída da instrução.

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 243: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-9

Exemplo de Bloco deFunções:

function_block_C

Quando habilitada, a instrução BOR realiza lógica ORs (OUs) em até 8 entradas. Este exemplo realiza lógica OR (OUs) das entradas In1 e In2. A instrução coloca o resultado em Out, que torna-se um parâmetro de entrada para function_block_C.

Se In1 for: Se In2 for: Então Out é:

0 0 0

0 1 1

1 0 1

1 1 1

Publicação 1756-RM006A-PT-P - Junho 2000

Page 244: Cópia de 1756-rm006a-pt-p

6-10 Instruções de Deslocamento/Lógica

OU Exclusivo Booleano (BXOR)

BXOR realiza um OU exclusivo de duas entradas boolenas.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura BXOR: Parâmetros de entrada

Parâmetros de saída

Descrição: A instrução BXOR realiza um OU exclusivo de duas entradas boolenas.

Out = In1 XOR In2

Flags de Status Aritmético: não afetados

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FBD_BOOLEAN_XOR estrutura Estrutura BXOR

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

In1 BOOL Primeira entrada booleana.o padrão é desabilitado

In2 BOOL Segunda entrada booleana.o padrão é desabilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out BOOL Saída da instrução.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 245: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-11

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Nenhuma ação tomada.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

function_block_C

Quando habilitada, a instrução BXOR realiza um OU exclusivo de In1 e In2. A instrução coloca o resultado em Out, que torna-se um parâmetro de entrada para function_block_C.

Se In1 for: Se In2 for: Então Out é:

0 0 0

0 1 1

1 0 1

1 1 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 246: Cópia de 1756-rm006a-pt-p

6-12 Instruções de Deslocamento/Lógica

D Flip-Flop (DFF)

A instrução DFF energiza a saída Q no estado da entrada D em uma transição de desenergizado para energizado da entrada Clock. A saída QNot é energizada no estado oposto da saída Q.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura DFF: Parâmetros de entrada

Parâmetros de saída

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FLIP_FLOP_D estrutura Estrutura DFF

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

D BOOL Entrada para a instrução.o padrão é desabilitado.

Zeramento BOOL Entrada desenergizada para a instrução. Se habilitado, a instrução desenergiza Q e energiza QNot. o padrão é desabilitado

Clock (Tempo) BOOL Entrada Clock (Tempo) para a instrução.o padrão é desabilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Q BOOL Saída da instrução.

QNot BOOL Complemento da saída Q.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 247: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-13

Descrição: Quando Clear é energizado, a instrução desenergiza Q e energiza QNot. Senão, se Clock for energizado e Clockn-1 for desenergizado, a

instrução energiza Q = D e energiza QNot = NOT (D).

A instrução energiza Clockn-1 = estado de Clock a cada varredura.

Flags de Status Aritmético: não afetados

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Clockn-1 é energizadoQ é desenergizadoQNot é energizado

primeira execução da instrução Clockn-1 é energizadoQ é desenergizadoQNot é energizado

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 248: Cópia de 1756-rm006a-pt-p

6-14 Instruções de Deslocamento/Lógica

Exemplo de Bloco deFunções:

function_block_C

Quando Clock vai de desenergizado para energizado, a instrução DFF energiza Q = D. Quando Clear é energizado, Q é desenergizado. A instrução DFF energiza QNot no estado oposto de Q.

function_block_D

Publicação 1756-RM006A-PT-P - Junho 2000

Page 249: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-15

JK Flip-Flop (JKFF)

A instrução JKFF complementa as saídas Q e QNot quando a entrada Clock faz a transição de desenergizado para energizado.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura JKFF: Parâmetros de entrada

Parâmetros de saída

Descrição: Quando Clear é energizado, a instrução desenergiza Q e energiza QNot. Senão, se Clock for energizado e Clockn-1 for desenergizado, a

instrução alterna Q e QNot.

A instrução energiza Clockn-1 = estado de Clock a cada varredura.

Flags de Status Aritmético: não afetados

Condições de Falha: nenhuma

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco FLIP_FLOP_JK estrutura Estrutura JKFF

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

Zeramento BOOL Entrada desenergizada para a instrução. Se energizado, a instrução desenergiza Q e energiza QNot.o padrão é desabilitado

Clock (Tempo) BOOL Entrada Clock (Tempo) para a instrução.o padrão é desabilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Q BOOL Saída da instrução.

QNot BOOL Complemento da saída Q.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 250: Cópia de 1756-rm006a-pt-p

6-16 Instruções de Deslocamento/Lógica

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Exemplo de Bloco deFunções:

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Clockn-1 é energizadoQ é desenergizadoQNot é energizado

primeira execução da instrução Clockn-1 é energizadoQ é desenergizadoQNot é energizado

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

function_block_C

Quando Clock vai de desenergizado para energizado, a instrução JKFF alterna Q. Se Clear é energizado, Q é sempre desenergizado. A instrução JKFF energiza QNot no estado oposto de Q.

function_block_D

Publicação 1756-RM006A-PT-P - Junho 2000

Page 251: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-17

Reset Dominante (RESD)

A instrução RESD usa as entradas Set e Reset para controlar saídas retentivas. A entrada Reset tem preferência sobre a entrada Set.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura RESD: Parâmetros de entrada

Parâmetros de saída

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco DOMINANT_RESET estrutura Estrutura RESD

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

Definir BOOL Entrada Set (Energizada) para a instrução.o padrão é desabilitado

Rearmar BOOL Entrada Reset (Resetada) para a instrução.o padrão é desabilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out BOOL Saída da instrução.

OutNot BOOL Saída invertida da instrução.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 252: Cópia de 1756-rm006a-pt-p

6-18 Instruções de Deslocamento/Lógica

Descrição: O seguinte diagrama ilustra como a instrução RESD opera.

Flags de Status Aritmético: não afetados

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Out é desenergizadoOutNot é energizado

Set é energizado e Reset é desenergizado

Reset é energizado

Out é energizadoOutNot é desenergizado

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Out é desenergizado.OutNot é energizado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 253: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-19

Exemplo de Bloco deFunções:

function_block_C

Quando Set for energizado, Out é energizado; quando Reset é energizado Out é desenergizado. Reset tem preferência sobre Set.

function_block_D

Publicação 1756-RM006A-PT-P - Junho 2000

Page 254: Cópia de 1756-rm006a-pt-p

6-20 Instruções de Deslocamento/Lógica

Set Dominante (SETD)

A instrução SETD usa as entradas Set e Reset para controlar saídas retentivas. A entrada Set tem preferência sobre a entrada Reset.

Operandos de LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Operandos do Bloco deFunções:

Estrutura SETD: Parâmetros de entrada

Parâmetros de saída

Bloco de Funções

Linguagens disponíveis:

Operando: Tipo: Formato: Descrição:

tag do bloco DOMINANT_SET estrutura Estrutura SETD

Parâmetro de Entrada:

Tipo de Dados: Descrição:

EnableIn BOOL Habilitação de Entrada. Se desabilitado, a instrução não é executada e as saídas não são atualizadas.o padrão é habilitado

Definir BOOL Entrada Set (Energizada) para a instrução.o padrão é desabilitado

Rearmar BOOL Entrada Reset (Resetada) para a instrução.o padrão é desabilitado

Parâmetro de Saída: Tipo de Dados: Descrição:

EnableOut BOOL Habilitação de saída.

Out BOOL Saída da instrução.

OutNot BOOL Saída invertida da instrução.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 255: Cópia de 1756-rm006a-pt-p

Instruções de Deslocamento/Lógica 6-21

Descrição: O seguinte diagrama ilustra como a instrução SETD opera.

Flags de Status Aritmético: não afetados

Condições de Falha: nenhuma

Execução da LógicaLadder:

Esta instrução não está disponível na lógica ladder.

Execução do Bloco deFunções:

Out é desenergizadoOutNot é energizado

Set é energizado

Reset é energizado e Set é desenergizado

Out é energizadoOutNot é desenergizado

Condição: Ação:

pré-varredura Nenhuma ação tomada.

primeira varredura da instrução Nenhuma ação tomada.

primeira execução da instrução Out é energizado.OutNot é desenergizado.

EnableIn é desabilitado EnableOut é desabilitado.

EnableIn é habilitado A instrução é executada.EnableOut é habilitado.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 256: Cópia de 1756-rm006a-pt-p

6-22 Instruções de Deslocamento/Lógica

Exemplo de Bloco deFunções:

function_block_C

Quando Set for energizado, Out é energizado; quando Reset é energizado Out é desenergizado. Set tem preferência sobre Reset.

function_block_D

Publicação 1756-RM006A-PT-P - Junho 2000

Page 257: Cópia de 1756-rm006a-pt-p

Apêndice A

Atributos do Bloco de Funções

Introdução Este apêndice descreve os problemas que são exclusivos das instruções do bloco de funções. Examine as informações neste apêndice para garantir que compreendeu como as rotinas do bloco de funções operarão.

Dados Retentivos Se você usar um IREF para especificar dados de entrada para uma instrução do bloco de funções, os dados no IREF são retidos para a varredura da rotina do bloco de funções. O IREF retém os dados dos tags do programa e de uso geral do controlador. O controlador atualiza todos os dados de IREF no começo de cada varredura.

IMPORTANTE Ao programar o bloco de funções, restrinja a faixa de unidades de medida

para +/–10 +/–15, pois os cálculos internos de ponto flutuante são feitos usando ponto flutuante de precisão única. As unidades de medida fora desta faixa podem resultar em perda de precisão se os resultados se aproximarem

dos limites do ponto flutuante de precisão única (+/–10 +/–38).

IREF

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 258: Cópia de 1756-rm006a-pt-p

A-2 Atributos do Bloco de Funções

Neste exemplo, o valor de tagA é armazenado no começo da execução da rotina. O valor armazenado é usado quando Block_01 é executado. O mesmo valor armazenado é usado quando Blcock_02 é executado. Se o valor de tagA mudar durante a execução da rotina, o valor armazenado de tagA em IREF não muda até a próxima execução da rotina.

Este exemplo é o mesmo daquele mostrado acima. O valor de tagA é armazenado apenas uma vez no começo da execução da rotina. A rotina usa este valor armazenado em toda a rotina.

Ordem de Execução O software de programação RSLogix 5000 determina automaticamente a ordem de execução para os blocos de funções em uma rotina quando você:

• verifica a rotina do bloco de funções

• verifica um projeto que contenha uma rotina do bloco de funções

• descarrega um projeto que contenha uma rotina do bloco de funções

Você define a ordem de execução, conectando blocos de funções juntos e indicando quaisquer conexões de feedback localizadas, se necessário.

TagA

Block_01

Block_02

TagA

Block_01

Block_02

TagA

Publicação 1756-RM006A-PT-P - Junho 2000

Page 259: Cópia de 1756-rm006a-pt-p

Atributos do Bloco de Funções A-3

Se os blocos de funções não forem conectados juntos, não há ordem de execução a determinar.

Se você conectar os blocos seqüencialmente, a ordem de execução move-se da entrada para a saída. As entradas de um bloco têm que estar disponíveis antes que o controlador possa executar o bloco. Por exemplo, o bloco 2 tem que ser executado antes do bloco 3, pois as saídas do bloco 2 alimentam as entradas do bloco 3.

A ordem de execução é relativa somente aos blocos que são conectados juntos. O seguinte exemplo ilustra bem este caso, pois os dois grupos de blocos não estão conectados juntos. Os blocos em um grupo específico são executados na ordem correta, em relação aos blocos naquele grupo.

1 2 3

1 3 5

2 4 6

Publicação 1756-RM006A-PT-P - Junho 2000

Page 260: Cópia de 1756-rm006a-pt-p

A-4 Atributos do Bloco de Funções

Se um grupo de blocos estiver em uma malha, o controlador não consegue determinar quais entradas devem estar disponíveis primeiro. Use uma conexão de feedback localizada para determinar quais entradas devem estar disponíveis primeiro. Se um pino de entrada não estiver conectado à conexão de feedback localizada, a entrada não tem que estar disponível antes que o bloco possa ser executado. Neste exemplo, o bloco 1 usa a saída do bloco 3, que foi produzida na execução anterior da rotina.

Em resumo, uma rotina do bloco de funções é executada nesta ordem:

1. O controlador trava todos os valores de dados em IREFs.

2. O controlador executa os outros blocos de funções na ordem determinada, de acordo com a conexão.

3. O controlador escreve saídas em OREFs.

1 2 3

conexão de feedback localizada

Publicação 1756-RM006A-PT-P - Junho 2000

Page 261: Cópia de 1756-rm006a-pt-p

Atributos do Bloco de Funções A-5

Respostas do Bloco de Funções para Condições de Overflow

Em geral, as instruções do bloco de funções que mantêm histórico não atualizam o histórico com valores ±NAN ou ±INF quando um overflow ocorre. Cada instrução tem uma destas respostas para uma condição de overflow:

Modos de Temporização Estas instruções de controle de processo e drives suportam modos de temporização diferentes.

DEDT NTCH

DERV PI

HPF PIDE

INTG RLIM

LDLG SCRV

LDL2 SOC

LPF TOT

Resposta 1:Os blocos executam seus algoritmos e verificam o resultado para ±NAN ou ±INF. Se ±NAN ou ±INF, o bloco faz sair ±NAN ou ±INF.

Resposta 2:Blocos sem limite de saída executam seus algoritmos e verificam o resultado para ±NAN ou ±INF. Os limites de saída são definidos pelos parâmetros de entrada HighLimit e LowLimit. Se ±INF, o bloco produz um resultado limitado. Se ±NAN, os limites de saída não são usados e o bloco produz ±NAN.

Resposta 3:Uma condição de overflow não se aplica. Estas instruções têm, tipicamente, uma saída booleana.

ALM NTCHDEDT PMULDERV POSPESEL RLIMFGEN RMPSHPF SCRVLDL2 SELLDLG SNEGLPF SRTPMAVE SSUMMAXC TOTMINC UPDNMSTDMUX

HLLINTGPIPIDESCLSOC

BAND OSRIBNOT RESDBOR RTORBXOR SETDCUTD TOFRD2SD TONRD3SDDFFJKFFOSFI

Publicação 1756-RM006A-PT-P - Junho 2000

Page 262: Cópia de 1756-rm006a-pt-p

A-6 Atributos do Bloco de Funções

Existem três modos de temporização diferentes:

Instruções baseadas em tempo requisitam um valor constante para DeltaT, para que o algoritmo de controle calcule corretamente a saída do processo. Se DeltaT variar, uma descontinuidade ocorre na saída de processo. A severidade da descontinuidade depende da instrução e da faixa na qual DeltaT varia. A descontinuidade ocorre se:

• a instrução não for executada durante uma varredura.

• a instrução for executada múltiplas vezes durante uma tarefa.

• a tarefa estiver sendo executada e a taxa de varredura da tarefa ou o tempo de amostra da entrada de processo mudar.

• o usuário mudar o modo de base de tempo enquanto a tarefa estiver sendo executada.

• O parâmetro Order for mudado em um bloco de filtro enquanto a tarefa estiver sendo executada. A mudança do parâmetro Order seleciona um algoritmo de controle diferente na instrução.

Modo de Temporização: Descrição:

periódico No modo periódico, o tempo delta (DeltaT) usado pela instrução é a taxa de varredura da tarefa quando a instrução é executada em uma tarefa periódica. Se a instrução for executada em uma tarefa contínua, o DeltaT é igual ao tempo transcorrido desde a execução anterior.

A atualização da entrada de processo precisa estar sincronizada com a execução da tarefa ou exemplificada de 5 – 10 vezes mais rápido do que a tarefa é executada, para minimizar erros de amostragem entre a entrada e a instrução.

sobreamostra No modo de sobreamostra, o tempo delta (DeltaT) usado pela instrução é o valor escrito no parâmetro OversampleDT da instrução. Use este modo quando a instrução for executada em uma tarefa contínua e a entrada de processo não tiver um registro de data e hora associado com suas atualizações. Se a entrada de processo tiver um valor de registro de data e hora, use o modo de amostragem em tempo real.

Adicione a lógica a seu programa para executar o controle quando a instrução for executada. Por exemplo, você pode usar um temporizador energizado para o valor de OversampleDeltaT para controlar a execução, usando a entrada EnableIn da instrução.

A entrada de processo precisa ser exemplificada de 5 – 10 vezes mais rápido do que a instrução é executada, para minimizar erros de amostragem entre a entrada e a instrução.

amostragem em tempo real No modo de amostragem em tempo real, o tempo delta (DeltaT) usado pela instrução é a diferença entre dois valores de registro de data e hora que correspondem às atualizações da entrada de processo. Use este modo quando a instrução for executada em uma tarefa contínua e a entrada de processo tiver um registro de data e hora associado com suas atualizações.

O valor do registro de data e hora é lido a partir do nome do tag inserido para o parâmetro RTSTimeStamp da instrução. Normalmente, este nome de tag é um parâmetro no módulo de entrada associado com a entrada de processo.

A instrução compara o valor configurado de RTSTime (período de atualização esperado) com o DeltaT calculado para determinar se cada atualização da entrada de processo está sendo lida pela instrução. Se DeltaT não estiver em 1 milissegundo da configuração de tempo, a instrução energiza o bit de status de RTSMissed para indicar que um problema existe na leitura das atualizações para a entrada no módulo.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 263: Cópia de 1756-rm006a-pt-p

Atributos do Bloco de Funções A-7

Parâmetros comuns de instrução para os modos de temporização

As instruções que suportam modos de base de tempo têm estes parâmetros de entrada e saída:

Parâmetros de entrada

Parâmetro de Entrada:

Tipo de Dados: Descrição:

TimingMode DINT Seleciona o modo de execução da temporização.Valor: Descrição:0 modo periódico1 modo de sobreamostra (oversample)2 modo de amostragem em tempo real

válido = 0 a 2padrão = 0

Quando TimingMode = 0 e a tarefa é periódica, a temporização periódica é habilitada e DeltaT é energizado para a taxa de varredura da tarefa. Quando TimingMode = 0 e a tarefa é contínua, a temporização periódica é habilitada e DeltaT é energizado igual ao amplitude de tempo transcorrido desde a última vez que a instrução foi executada.

Quando TimingMode = 1, a temporização de sobreamostra é habilitada e DeltaT é energizado para o valor do parâmetro OversampleDT.

Quando TimingMode = 2, a temporização de amostragem em tempo real é habilitada e DeltaT é a diferença entre os valores de registro de data e hora atual e anterior, lidos a partir do módulo associado com a entrada.

Se TimingMode for inválido, a instrução energiza o bit apropriado em Status.

OversampleDT REAL Tempo de execução para o modo de temporização de sobreamostra (oversample). O valor usado para DeltaT está em segundos. Se TimingMode = 1, então OversampleDT = 0,0 desabilita a execução do algoritmo de controle. Se inválido, a instrução energiza DeltaT = 0,0 e energiza o bit apropriado em Status.válido = 0 a 4.194.303 segundospadrão = 0,0

RTSTime DINT Período de atualização do módulo para o modo de temporização de amostragem em tempo real. O período de atualização de DeltaT esperado está em milissegundos. O período de atualização é normalmente o valor que foi usado para configurar o tempo de atualização do módulo. Se inválido, a instrução energiza o bit apropriado em Status e desabilita a verificação de RTSMissed.válido = 1 a 32.767 mspadrão = 1

RTSTimeStamp DINT Valor de registro de data e hora do módulo para a temporização de amostragem em tempo real. Valor de registro de data e hora que corresponde à última atualização do sinal de entrada. Este valor é usado para calcular DeltaT. Se inválido, a instrução energiza o bit apropriado em Status, desabilita a execução do algoritmo de controle e desabilita a verificação de RTSMissed.

válido =1 a 32.767 ms (passa de 32.767 a 0)1 contagem = 1 milissegundopadrão = 0

Publicação 1756-RM006A-PT-P - Junho 2000

Page 264: Cópia de 1756-rm006a-pt-p

A-8 Atributos do Bloco de Funções

Parâmetros de saída

Parâmetro de Saída: Tipo de Dados: Descrição:

DeltaT REAL Tempo transcorrido entre as atualizações. Este é o tempo transcorrido em segundos, usado pelo algoritmo de controle para calcular a saída de processo.

Periódico: DeltaT = taxa de varredura da tarefa se a tarefa for uma tarefa Periódica, o DeltaT = tempo transcorrido desde a execução anterior da entrada se a tarefa for uma tarefa Contínua.

Sobreamostra: DeltaT = OversampleDT

Amostragem em Tempo Real: DeltaT = (RTSTimeStampn – RTSTimeStampn-1)

Status: DINT Status do bloco de funções.

TimingModeInv (Status.27)

BOOL Valor de TimingMode inválido.

RTSMissed (Status.28) BOOL Usado apenas no modo de amostragem em tempo real. Energizar quando ABS | DeltaT – RTSTime | > 1 (0,001 segundo).

RTSTimeInv (Status.29)

BOOL Valor de RTSTime inválido.

RTSTimeStampInv (Status.30)

BOOL Valor de RTSTimeStamp inválido.

DeltaTInv (Status.31) BOOL Valor de DeltaT inválido.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 265: Cópia de 1756-rm006a-pt-p

Atributos do Bloco de Funções A-9

Características gerais dos modos de temporização

O seguinte diagrama mostra como uma instrução determina o modo de temporização apropriado.

TimingMode = 2TimingMode = 1TimingMode = 0

Determine o modo de base de tempo.

Temporização em tempo realTemporização de sobreamostraTemporização periódica

Determine o tipo de tarefa

tarefa periódica Tarefas não periódica

DeltaT = OversampleDT

Se DeltaT < 0 ou DeltaT > 4.194.303 seg., a instrução energiza DeltaT = 0,0 e energiza o bit apropriado em Status.

Se DeltaT > 0, a instrução é executada.

DeltaT = RTSTimeStampn – RTSTimeStampn-1

Se DeltaT > 0, a instrução é executada.

Se |RTSTIME – DeltaT| > 1, a instrução energiza o bit RTSMissed em Status.

DeltaT = tempo de varredura da tarefa

Se DeltaT > 0, a instrução é executada.

DeltaT = tempo transcorrido desde a última execução

Se DeltaT > 0, a instrução é executada.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 266: Cópia de 1756-rm006a-pt-p

A-10 Atributos do Bloco de Funções

le

le

Controle de Programa/Operação

Diversas instruções suportam o conceito de controle de Programa/Operação. Estas instruções incluem:

• Enhanced Select (Seleção Avançada) (ESEL)

• Totalizer (Totalizador) (TOT)

• Enhanced PID (PID Avançado) (PIDE)

• Ramp/Soak (Rampa/Saturação) (RMPS)

• Discrete 2-State Device (Dispositivo Discreto de 2 Estados) (D2SD)

• Discrete 3-State Device (Dispositivo Discreto de 3 Estados) (D3SD)

O controle de Programa/Operação permite que você controle estas instruções simultaneamente a partir de seu programa do usuário ou de um dispositivo de interface de operação. Quando estiver em controle de Programa, a instrução é controlada pelas entradas de Programa para a instrução; quando estiver em controle de Operação, a instrução é controlada pela entradas de Operação para a instrução.

O controle de Programa ou Operação é determinado usando estas entradas:

Para determinar se uma instrução está em controle de Programa ou Controle, examine a saída ProgOper. Se ProgOper for energizado, a instrução está no controle de Programa; se ProgOper for desenergizado, a instrução está no controle de Operação.

O controle de Operação tem preferência sobre o controle de Programa se ambos os bits de pedido de entrada forem energizados. Por exemplo, se ProgProgReq e ProgOperReq forem energizados, a instrução vai para o controle de Operação.

Entrada: Descrição:

.ProgProgReq Um programa faz o pedido para ir para o controle de Programa.

.ProgOperReq Um programa faz o pedido para ir para o controle de Operação.

.OperProgReq Um operador faz o pedido para ir para o controde Programa.

.OperOperReq Um operador faz o pedido para ir para o controde Operação.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 267: Cópia de 1756-rm006a-pt-p

Atributos do Bloco de Funções A-11

As entradas de pedido de Programa têm preferência sobre as entradas de pedido de Operação. Isto fornece a capacidade de usar as entradas ProgProgReq e ProgOperReq para “travar” uma instrução em um controle desejado. Por exemplo, vamos assumir que uma instrução Totalizer (Totalizador) será sempre usada em controle de Operação e seu programa do usuário nunca controlará a execução e a parada do Totalizador. Neste caso, você pode conectar um valor de 1 literal em ProgOperReq. Isto previne o operador de colocar o Totalizador em controle de Programa, energizando OperProgReq a partir de um dispositivo de interface de operação.

Como a entrada ProgOperReq está sempre energizada, pressionar o botão “Program” na tela (o que energiza a entrada OperProgReg) não tem efeito. Normalmente, energizar OperProgReq coloca TOT em controle de Programa.

Conectar um “1” em ProgOperReq significa que o programa do usuário sempre quer que TOT esteja em controle de Operação.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 268: Cópia de 1756-rm006a-pt-p

A-12 Atributos do Bloco de Funções

Da mesma forma, energizar constantemente ProgProgReq pode “travar” a instrução em controle de Programa. Isto é útil para seqüências automáticas de partida, quando você quer que o programa controle a ação da instrução sem se preocupar com um operador que assuma o controle da instrução inadvertidamente. Neste exemplo, o programa energiza a entrada ProgProgReq durante a partida e, então desenergiza a entrada ProgProgReq, uma vez que a partida foi concluída. Uma vez que a entrada ProgProgReq é desenergizada, a instrução permanece em controle de Programa até que receba um pedido de mudança. Por exemplo, o operador pode energizar a entrada OperOperReq a partir de uma tela para assumir o controle daquela instrução. O seguinte exemplo mostra como travar uma instrução em controle de Programa.

As entradas de pedido de Operação para uma instrução são sempre desenergizadas pela instrução quando ela é executada. Isto permite que interfaces de operação trabalhem com estas instruções, simplesmente energizando o bit de pedido do modo desejado. Você não tem que programar a interface de operação para resetar os bits de pedido. Por exemplo, se uma interface de operação energiza a entrada OperAutoReq para uma instrução PIDE, quando a instrução PIDE é executada, ela determina qual resposta seria apropriada e remove OperAutoReq.

Quando StartupSequenceActive está energizado, a instrução PIDE é colocada em controle de Programa e em modo Manual. O valor de StartupCV é usado como a saída da malha.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 269: Cópia de 1756-rm006a-pt-p

Atributos do Bloco de Funções A-13

As entradas de pedido de Programa não são normalmente desenergizadas pela instrução, pois são normalmente conectadas como entradas na instrução. Se a instrução desenergizar estas entradas, a entrada será energizada somente pela entrada conectada. Podem existir situações onde você queira usar outra lógica para energizar pedidos de Programa, de forma que você queira que os pedidos de Programa sejam desenergizados pela instrução. Neste caso, você pode energizar a entrada ProgValueReset e a instrução sempre removerá as entradas de pedido de modo de Programa quando for executada.

Neste exemplo, uma linha de lógica ladder em outra rotina é usada para o travamento monoestável de ProgAutoReq para uma instrução PIDE quando um botão é pressionado. Como a instrução PIDE desenergiza, automaticamente, os pedidos de modo de Programa, você não precisa escrever uma lógica ladder para remover ProgAutoReq depois que a rotina é executada, sendo que a instrução PIDE receberá apenas um pedido para ir para Automático, todas as vezes em que o botão for pressionado.

Quando o Botão TIC101AutoReq for pressionado, a retenção monoestável de ProgAutoReq para a instrução PIDE é TIC101. TIC101 foi configurado com a entrada ProgValueReset energizada, então quando a instrução PIDE for executada, ela desenergizará ProgAutoReq, automaticamente.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 270: Cópia de 1756-rm006a-pt-p

A-14 Atributos do Bloco de Funções

Notas:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 271: Cópia de 1756-rm006a-pt-p

Apêndice B

Atributos Comuns

Introdução Este apêndice descreve os atributos que são comuns às instruções do Logix.

Valores Imediatos Sempre que você inserir um valor imediato (constante) no formato decimal (por ex.: –2,3), o controlador armazenará o valor usando 32 bits. Se você inserir um valor em uma base diferente da decimal como, por exemplo, binária ou hexadecimal, e não especificar todos os 32 bits, o controlador colocará um zero nos bits não especificados (preenchimento com zero).

Conversões de Dados Conversões de dados ocorrem quando você combina tipos de dados na programação:

Para mais informações sobre: Consulte página:

Valores Imediatos B-1

Conversões de Dados B-1

EXEMPLO Preenchimento com zero de valores imediatos

Se você inserir: O controlador armazenará:

–1 16#ffff ffff (–1)

16#ffff (–1) 16#0000 ffff (65535)

8#1234 (668) 16#0000 029c (668)

2#1010 (10) 16#0000 000a (10)

Quando estiver programando em:

As conversões podem ocorrer quando:

lógica ladder tipos de dados são combinados para os parâmetros em uma instrução

bloco de funções você conecta dois parâmetros que têm tipos de dados diferentes

1 Publicación 1756-RM006A-PT-P - Junho 2000

Page 272: Cópia de 1756-rm006a-pt-p

B-2 Atributos Comuns

As instruções são executadas mais rapidamente e requisitam menos memória se todos os operandos da instrução usarem:

• os mesmos tipos de dados

• um tipo de dado ótimo:

– Na seção “Operandos” de cada instrução neste manual, um tipo de dados em negrito indica um tipo de dado ótimo.

– Os tipos de dados DINT e REAL são geralmente os tipos de dados otimizados.

– A maioria das instruções de bloco de funções suporta apenas um tipo de dados (o tipo de dados otimizado) para seus operandos.

Se você combinar os tipos de dados e usar as variáveis que não são do tipo de dado ótimo, o controlador converterá os dados de acordo com estas regras

• Alguns operandos são um valor REAL?

• Depois da execução da instrução, o resultado (um valor DINT ou REAL) é convertido para o tipo de dado de destino, se necessário.

Não é possível especificar um tag BOOL em uma instrução que opera com tipos de dados inteiros ou REAL.

Como a conversão de dados precisa de memória e tempo adicionais, é possível aumentar a eficiência dos programas através:

• do uso do mesmo tipo de dado em toda a instrução

• da redução do uso de tipos de dados SINT ou INT

Em outras palavras, use todos os tags DINT ou REAL, juntamente com os valores imediatos, nas suas instruções.

As seções a seguir explicam como os dados serão convertidos ao usar os tags SINT ou INT ou ao combinar tipos de dados.

Se: Então os operandos de entrada (por ex.: fonte, tag em uma expressão, limite) são convertidos em:

sim REALs

não DINTs

Publicación 1756-RM006A-PT-P - Junho 2000

Page 273: Cópia de 1756-rm006a-pt-p

Atributos Comuns B-3

SINT ou INT para DINT

Para aquelas instruções que convertem os valores SINT ou INT em valores DINT, as seções “Operandos” neste manual identificam o método de conversão.

O exemplo a seguir mostra os resultados da conversão de um valor usando uma extensão de sinal e preenchimento com zero.

Como os valores imediatos são sempre preenchidos com zero, a conversão de um valor SINT ou INT pode produzir resultados inesperados. No exemplo a seguir, a comparação é falsa porque Source A, tipo INT, converte por extensão de sinal; enquanto que Source B, valor imediato, é preenchida com zero.

Este método de conversão: Converte os dados, colocando:

extensão de sinal o valor do bit mais à esquerda (o sinal do valor) em cada posição binária à esquerda dos bits existentes até que haja 32 bits.

Preenchimento com zero zeros à esquerda dos bits existentes até que haja 32 bits

Este valor. 2#1111_1111_1111_1111 (–1)

Converte este valor por extensão de sinal

2#1111_1111_1111_1111_1111_1111_1111_1111 (–1)

Converte este valor por preenchimento com zero

2#0000_0000_0000_0000_1111_1111_1111_1111 (65.535)

EqualSource A remote_rack_1:I.Data[0] 2#1111_1111_1111_1111Source B 2#1111_1111_1111_1111

EQU

EqualSource A remote_rack_1:I.Data[0] 2#1111_1111_1111_1111Source B int_0 2#1111_1111_1111_1111

EQU

42093

Publicación 1756-RM006A-PT-P - Junho 2000

Page 274: Cópia de 1756-rm006a-pt-p

B-4 Atributos Comuns

Se você usar um tag SINT ou INT e um valor imediato em uma instrução que converte dados por extensão de sinal, use um destes métodos para manusear os valores imediatos:

• Especifique um valor imediato na base decimal

• Se você estiver inserindo o valor em uma base diferente da decimal, especifique todos os 32 bits do valor imediato. Para tanto, insira o valor no bit à esquerda em cada posição binária a sua esquerda até que haja 32 bits.

• Crie um tag para cada operando e use o mesmo tipo de dados em toda a instrução. Para atribuir um valor constante, é possível:

– Insira um valor em um dos tags

– Acrescente uma instrução MOV que move o valor para um dos tags.

• Use uma instrução MEQ para verificar somente os bits requisitados.

Os exemplos a seguir mostram duas formas de misturar um valor imediato com um tag INT. Os dois exemplos verificam os bits de um módulo 1771 de E/S para determinar se todos os bits estão energizados. Como a palavra de dados de entrada de um módulo 1771 de E/S é um tag INT, é mais fácil usar um valor constante de 16 bits.

EXEMPLO Exemplo: Combinação de um tag INT com um valor imediato

Já que remote_rack_1:I.Data[0] é um tag INT, o valor com o qual deve ser comparado também é inserido como um tag INT.

EXEMPLO Exemplo: Combinação de um tag INT com um valor imediato

Já que remote_rack_1:I.Data[0] é um tag INT, o valor com o qual deve ser comparado primeiro se move para int_0, em um tag INT, também. Em seguida, a instrução EQU compara as duas variáveis.

EqualSource A remote_rack_1:I.Data[0] 2#1111_1111_1111_1111Source B int_0 2#1111_1111_1111_1111

EQU

42093

MoveSource 2#1111_1111_1111_1111 Dest int_0 2#1111_1111_1111_1111

MOVEqualSource A remote_rack_1:I.Data[0] 2#1111_1111_1111_1111Source B int_0 2#1111_1111_1111_1111

EQU

42093

Publicación 1756-RM006A-PT-P - Junho 2000

Page 275: Cópia de 1756-rm006a-pt-p

Atributos Comuns B-5

Inteiro para REAL

O controlador armazena os valores REAL em uma precisão única IEEE, formato de número de ponto flutuante. Usa um bit para o sinal do valor, 23 bits para o valor base e 8 bits para o expoente (total de 32 bits). Se combinar um tag de inteiro (SINT, INT ou DINT) e um tag REAL como entradas na mesma instrução, o controlador converte o valor inteiro em REAL antes da instrução ser executada.

• Um valor SINT ou INT sempre é convertido para o mesmo valor REAL.

• Um valor DINT pode não ser convertido para o mesmo valor REAL:

– Um valor REAL usa até 24 bits para o valor base (23 bits armazenados mais um bit “escondido”).

– Um valor DINT usa até 32 bits para o valor (um para o sinal e 31 para o valor).

– Se o valor DINT requerer mais do que 24 bits significativos, pode não converter para o mesmo valor REAL. Se não converter, o controlador arredonda para o valor REAL mais próximo, usando 24 bits significativos.

DINT para SINT ou INT

Para converter um valor DINT para um valor SINT ou INT, o controlador trunca a parte superior de DINT e energiza o flag de status de overflow, se necessário. O exemplo a seguir mostra o resultado de um conversão de DINT para SINT ou INT.

EXEMPLO Conversão de um DINT para um INT e um SINT

Este valor DINT: Converte para este valor menor:

16#0001_0081 (65.665) INT: 16#0081 (129)

SINT: 16#81 (–127)

Publicación 1756-RM006A-PT-P - Junho 2000

Page 276: Cópia de 1756-rm006a-pt-p

B-6 Atributos Comuns

REAL para um inteiro

Para converter um valor REAL para um valor inteiro, o controlador arredonda a parte fracionária e trunca a parte superior da parte não fracionária. Se os dados forem perdidos, o controlador energiza o flag de status de overflow. Os números são arredondados da seguinte forma:

• Números diferentes de x0,5 são arredondados para o número inteiro mais próximo.

• X0,5 é arredondado para o número par mais próximo.

O exemplo a seguir mostra o resultado da conversão de valores REAL em valores DINT.

EXEMPLO Conversão de valores REAL em valores DINT

IMPORTANTE Os flags de status aritmético são baseados no valor a ser armazenado. As instruções que normalmente não afetam as palavras-chaves do status aritmético podem parecer fazê-lo se a conversão de tipo ocorrer por causa dos tipos de dados para os parâmetros da instrução. O processo de conversão de tipo define as palavras-chaves do status aritmético.

Este valor REAL: Converte para este valor DINT:

–2,5 –2

–1,6 –2

–1,5 –2

–1,4 –1

1,4 1

1,5 2

1,6 2

2,5 2

Publicación 1756-RM006A-PT-P - Junho 2000

Page 277: Cópia de 1756-rm006a-pt-p

Apêndice C

Controles da Tela de Operação do Bloco de Funções

Introdução O software de programação RSLogix5000 inclui telas de operação (controles) para algumas das instruções do bloco de funções. Estas telas são controles Active-X que você pode usar no software RSView32 ou em qualquer outra aplicação que possa agir como um container de Active-X. As telas se comunicam com o controlador através do servidor RSLinx OPC.

Estas instruções têm telas:

As telas são configuradas nas páginas de propriedades que você abre através do aplicativo do container, como o software RSView32.

Todas as telas têm três páginas de propriedades em comum.

• página de propriedades gerais

• página de propriedades de display

• página de propriedades de fontes

IMPORTANTE O software de programação RSLogix 5000 não é um container de Active-X válido. Você deve ter um container de Active-X como o software RSView32, para usar as telas.

Instrução: Consulte página:

Alarm (Alarme) (ALM) C-5

Enhanced Select (Seleção Avançada) (ESEL)

C-7

Totalizer (Totalizador) (TOT) C-8

Ramp/Soak (Rampa/Saturação) (RMPS) C-10

Discrete 2-State Device (Dispositivo Discreto de 2 Estados) (D2SD)

C-13

Discrete 3-State Device (Dispositivo Discreto de 3 Estados) (D3SD)

C-15

Enhanced PID (PID Avançado) (PIDE) C-17

1 Publicação 1756-RM006A-PT-P - Junho 2000

Page 278: Cópia de 1756-rm006a-pt-p

C-2 Controles da Tela de Operação do Bloco de Funções

Configuração das propriedades gerais

A página de propriedades gerais determina como o controle opera.

Recursos da página de propriedades: Descrição:

Tag do Bloco Esta entrada conecta uma instrução específica do bloco de funções com o controle.

Topic (Tópico) Esta opção configura o caminho de acesso. Este valor é necessário para se conectar ao Servidor RSLinx OPC

Update Rate (Taxa de Atualização) Esta opção configura a Taxa de Atualização do controle em segundos. Use o controle de rotação para modificar a taxa em incrementos de 0,25 segundos. padrão = 1,00 segundo

IMPORTANTE O exemplo de Block Tag na tela acima, mostra um nome de tag de uso geral do controlador. Por padrão, o bloco de funções atribui automaticamente um tag de bloco do programa quando você insere o bloco de funções. Para especificar um tag de bloco do programa, chamado PID1, insira:

programa: program_name.PID1

onde program_name é o nome do programa.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 279: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-3

Configuração das propriedades de display

A página de propriedades de display determina as propriedades gerais da tela.

Recursos da página de propriedades: Descrição:

Background Color (Cor de Fundo) Este botão é para a cor de fundo da placa.padrão = light gray (cinza claro)

Show Frame (Mostrar Moldura) Esta opção liga e desliga uma moldura tridimensional para o controle. Isto permite que o usuário separe o controle de outros itens que possam estar no display.padrão = checked (selecionado)

Publicação 1756-RM006A-PT-P - Junho 2000

Page 280: Cópia de 1756-rm006a-pt-p

C-4 Controles da Tela de Operação do Bloco de Funções

Configuração das propriedades de fonte

A página de propriedades de fonte determina as fontes que aparecerão nas telas. Configure um ControlFont para ser usado como parte principal das telas e uma fonte MinorFont para ser usada em fatores de escala e outras partes secundárias das telas.

Recursos da página de propriedades: Descrição:

Property Name (Nome da Propriedade) Use este menu para selecionar a fonte a ser configurada. Selecione ControlFont ou MinorFont.padrão = ControlFont

Font (Fonte) Selecione a fonte para o controle. A lista contém todas as fontes disponíveis no sistema. padrão = Arial

Size (Tamanho) Configure o tamanho da fonte.padrão ControlFont = 10,5 pontospadrão MinorFont = 8,25 pontos

Effects (Efeitos) Selecione sublinhar ou destacar a fonte.padrão = both unchecked (ambos não selecionados)

Publicação 1756-RM006A-PT-P - Junho 2000

Page 281: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-5

Controle ALM

O recurso do controle: Exibe:

In Valor atual de In.

Rate Of Change (Taxa de Mudança) (ROC) valor de ROC. Seos valores de ROCPosAlarm ou ROCNegAlarm são energizados, a cor do texto fica vermelha. Uma dica é mostrada com o texto de “Rate Of Change” quando o cursor indica o controle.

Alarm Bar Meter (Medidor da Barra de Alarme)

Valor de In do bloco, à medida em que se relaciona com os Limites de Alarme do bloco. Se os valores de HAlarm ou LAlarm são energizados, a barra fica amarela. Da mesma forma, se os valores de HHAlarm ou LLAlarm são energizados, a barra fica vermelha. Se não houver alarmes, a cor da barra é verde.

Alarm Marking Bars (Barras de Identificação de Alarme)

valores de HHLim, HLim, LLim e LLLim.As barras de HHLim e LLLim são vermelhas, as barras de HLim e LLim são amarelas.

Alarm Meter Scale (Valor de Fator de Escala do Alarme)

fator de escala da barra de alarme. A parte alta do fator de escala = HHLim + Deadband. A extremidade inferior do fator de escala = LLLim – Deadband.

Detail Button (Botão de Detalhe) Detalha o menu Dialog.

Status: todos os bits de status são energizados no bloco. Se nenhum bit for energizado, o status mostra “OK”.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 282: Cópia de 1756-rm006a-pt-p

C-6 Controles da Tela de Operação do Bloco de Funções

O controle ALM tem esta página adicional de propriedades.

Configure esta propriedade: Para especificar:

In Units (Unidades de In) unidades para o campo In do controle.

Meter Color (Cor do Medidor) cor da barra do medidor quando nenhum alarme é atual.

H-L Color (Cor H-L) cor da barra do medidor quando a instrução está no estado de alarme Alto ou Baixo.

HH-LL Color (Cor HH-LL) cor da barra do medidor quando a instrução está no estado de alarme Alto-Alto ou Baixo-Baixo.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 283: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-7

Controle ESEL

O recurso do controle: Exibe:

Mode (Modo) modo do bloco.

Input (Entrada) entradas para o bloco.O número de displays (1 – 6) depende do número de InsUsed.

Fault Indicator (Indicador de Falhas) a letra “F” à esquerda da entrada mostra se uma entrada específica tem falhas.

Selected Indicator (Indicador Selecionado) o triângulo à esquerda do display de entrada indica a entrada selecionada.

Program Button (Botão de Programa) OperProgReq é energizado quando você clica neste botão.

Operator Button (Botão de Operação) OperOperReq é energizado quando você clica neste botão.

Selected In (In Selecionado) valor de SelectedIn.

Selector Type (Tipo de Seletor) modo de seleção.

Output (Saída) valor de Out.

Status: todos os bits de status são energizados no bloco.Se nenhum bit for energizado, o status mostra “OK”.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 284: Cópia de 1756-rm006a-pt-p

C-8 Controles da Tela de Operação do Bloco de Funções

Controle TOT

O recurso do controle: Exibe:

Mode (Modo) modo do bloco.

Total valor de Total.

OldTotal (Total Antigo) valor de Total anterior.

Input (Entrada) valor de In.

Total Meter (Medidor Total) faixa dos valores de Total.

Target Dev1 and Dev2 Tick Marks (Marcas Alvo de Dev1 e Dev2)

valores de TargetDev1 e TagetDev2.

Total Scale (Fator de Escala Total) fator de escala total do medidor. A parte alta do fator de escala = Target. A extremidade inferior do fator de escala = Reset.

Program Button (Botão de Programa) OperProgReq é energizado quando você clica neste botão.

Operator Button (Botão de Operação) OperOperReq é energizado quando você clica neste botão.

Start Button (Botão de Início) OperStartReq é energizado quando você clica neste botão.

Stop Button (Botão de Parada) OperStopReq é energizado quando você clica neste botão.

Reset Button (Botão de Reset) OperResetReq é energizado quando você clica neste botão.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 285: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-9

O controle TOT tem esta página adicional de propriedades.

Detail Button (Botão de Detalhe) Detalha o menu Dialog.

Low Input Cutoff Active (Corte da Entrada Low)

declaração “Low Input Cutoff Active” apenas quando LowInCutoffFlag é energizado.

Status: todos os bits de status são energizados no bloco.Se nenhum bit for energizado, o status mostra “OK”.

O recurso do controle: Exibe:

Configure esta propriedade: Para especificar:

In Units (Unidades de In) unidades para o campo In do controle.

Total Units (Total de Unidades) unidades para os campos Total e Old Total no controle.

Meter Color (Cor do Medidor) cor da barra do medidor.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 286: Cópia de 1756-rm006a-pt-p

C-10 Controles da Tela de Operação do Bloco de Funções

Controle RMPS

O recurso do controle: Exibe:

Mode (Modo) modo do bloco.

Output (Saída) valor de Out.

PV valor de PV.

Current Segment (Segmento Atual) valor do Segmento Atual.

Ramp Value (Valor da Rampa) valor de RampValue[ ] para o segmento atual.

Soak Value (Valor de Saturação) valor de SoakValue[ ] para o segmento atual.

Soak Time (Tempo de Saturação) valor de SoakTime[ ] para o segmento atual.

Soak Time Left (Tempo Restante de Saturação)

valor de SoakTimeLeft.

Program Button (Botão de Programa) OperProgReq é energizado quando você clica neste botão.

Operator Button (Botão de Operação) OperOperReq é energizado quando você clica neste botão.

Auto Button (Botão Automático) OperAutoReq é energizado quando você clica neste botão.

Manual Button (Botão Manual) OperManualReq é energizado quando você clica neste botão.

Initialize Button (Botão de Inicialização) Initialize é energizado quando você clica neste botão.Este botão é habilitado somente quando o bloco está no modo Manual de Operação.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 287: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-11

Detail Button (Botão de Detalhe) Detalha o menu Dialog.

Cur Seg Oper valor de CurrentSegOper.

Out Oper valor de OutOper.

Soak Time Oper valor de SoakTimeOper.

Guaranteed Ramp or Soak in Effect (Rampa Garantida ou Saturação em Efeito)

declaração “Guaranteed Ramp in Effect” ou “Guaranteed Soak in Effect” quando os bits correspondentes a GuarRamp ou GuarSoak são energizados.

Status: todos os bits de status são energizados no bloco.Se nenhum bit for energizado, o status mostra “OK”.

O recurso do controle: Exibe:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 288: Cópia de 1756-rm006a-pt-p

C-12 Controles da Tela de Operação do Bloco de Funções

O controle RMPS tem esta página adicional de propriedades.

Configure esta propriedade: Para especificar:

Ramp Value Array (Matriz de Valor de Rampa)

matriz no controlador que contém os valores de rampa.

Soak Value Array (Matriz de Valor de Saturação)

matriz no controlador que contém os valores de saturação.

Soak Time Array (Matriz de Tempo de Saturação)

matriz no controlador que contém os tempos de saturação.

PV Units (Unidades de PV) unidades que são mostradas no controle.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 289: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-13

Controle D2SD

O recurso do controle: Exibe:

Mode modo do bloco.

State Buttons (Botões de Estado) estado aberto ou fechado de Commanded State Label (Etiqueta de Estado Comandado), conforme definido na página de propriedades do controle. O botão superior energiza Oper1Req. O botão inferior energiza Oper0Req. Quando clicado, o botão energiza o campo OperReq para aquele estado específico.

Ordered State Indicator (Indicador do Estado Pedido)

valor de Command Status (Status de Comando), apontando para o botão de pedido para aquele estado.

Actual State Indicators (Indicadores de Estado Atual)

status do estado atual.Se DeviceStatus for energizado, o estado atual é conforme o configurado para o estado fornecido.

Non-Permissive Indicator (Indicador Não Permitido)

letras “NP” à esquerda do botão, se StatePerm não for energizado para aquele estado.

Fault Alarm Indicator (Indicador de Alarme de Falha)

indicador se FaultAlarm for energizado.

Mode Alarm Indicator (Indicador de Alarme de Modo)

indicador se ModeAlarm for energizado.

Unlatch Button (Botão de Desenergização) status de FaultAlmUnlatch.Quando este botão é clicado, FaultAlmUnlatch é energizado. Este botão é habilitado somente quando FaultAlarm e FaultAlmLatch são energizados.

Program Button (Botão de Programa) OperProgReq é energizado quando você clica neste botão.

Operator Button (Botão de Operação) OperOperReq é energizado quando você clica neste botão.

FB1 valor de FB1.

FB0 valor de FB0.

Status: todos os bits de status são energizados no bloco.Se nenhum bit for energizado, o status mostra “OK”.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 290: Cópia de 1756-rm006a-pt-p

C-14 Controles da Tela de Operação do Bloco de Funções

O controle D2SD tem esta página adicional de propriedades.

Close

Open

Fechado

Aberto

Configure esta propriedade: Para especificar:

Commanded State 0 Label (Etiqueta 0 do Estado Comandado)

etiqueta para o Estado Comandado 0.

Commanded State 1 Label (Etiqueta 1 do Estado Comandado)

etiqueta para o Estado Comandado 1.

Actual State 0 Label (Etiqueta 0 do Estado Real)

etiqueta para o Estado Real 0.

Actual State 1 Label (Etiqueta 1 do Estado Real)

etiqueta para o Estado Real 1.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 291: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-15

Controle D3SD

O recurso do controle: Exibe:

Mode (Modo) modo do bloco.

State Buttons (Botões de Estado) estado aberto ou fechado de Commanded State Label (Etiqueta Estado Comandado), conforme definido na página de propriedades do controle.O botão superior energiza Oper2Req. O botão do meio energiza Oper1Req. O botão inferior energiza Oper0Req. Quando clicado, o botão energiza o campo OperReq para aquele estado específico.

Ordered State Indicator (Indicador do Estado Pedido)

valor de Command Status (Status de Comando), apontando para o botão de pedido para aquele estado.

Actual State Indicators (Indicadores de Estado Atual)

status do estado atual.Se DeviceStatus for energizado, o estado atual é conforme o configurado para o estado fornecido.

Non-Permissive Indicator (Indicador Não Permitido)

letras “NP” à esquerda do botão, se StatePerm não for energizado para aquele estado.

Fault Alarm Indicator (Indicador de Alarme de Falha)

indicador se FaultAlarm for energizado.

Mode Alarm Indicator (Indicador de Alarme de Modo)

indicador se ModeAlarm for energizado.

Program Button (Botão de Programa) OperProgReq é energizado quando você clica neste botão.

Operator Button (Botão de Operação) OperOperReq é energizado quando você clica neste botão.

FB3 valor de FB3.

FB2 valor de FB2.

FB1 valor de FB1.

FB0 valor de FB0.

Unlatch Button (Botão de Desenergização) status de FaultAlmUnlatch.Quando este botão é clicado, FaultAlmUnlatch é energizado. Este botão é habilitado somente quando FaultAlarm e FaultAlmLatch são energizados.

Status: todos os bits de status são energizados no bloco.Se nenhum bit for energizado, o status mostra “OK”.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 292: Cópia de 1756-rm006a-pt-p

C-16 Controles da Tela de Operação do Bloco de Funções

O controle D3SD tem esta página adicional de propriedades.

Off

Drib-

Fast

Off

Drib-

Fast

Configure esta propriedade: Para especificar:

Commanded State 0 Label (Etiqueta 0 do Estado Comandado)

etiqueta para o Estado Comandado 0.

Commanded State 1 Label (Etiqueta 1 do Estado Comandado)

etiqueta para o Estado Comandado 1.

Commanded State 2 Label (Etiqueta 2 do Estado Comandado)

etiqueta para o Estado Comandado 2.

Actual State 0 Label (Etiqueta 0 do Estado Real)

etiqueta para o Estado Real 0.

Actual State 1 Label (Etiqueta 1 do Estado Real)

etiqueta para o Estado Real 1.

Actual State 2 Label (Etiqueta 2 do Estado Real)

etiqueta para o Estado Real 2.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 293: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-17

Controle PIDE

O recurso do controle: Exibe:

Mode (Modo) modo do bloco.

PV Barmeter (Medidor de Barra PV) valor de PV. Os limites do medidor de barra são PVEUMax e PVEUMin.

Alarm Bars (Barras de Alarme) limites para os Limites de Alarme de Desvio e PV.As Barras de Alarme de Desvio estão à esquerda e movem-se com SP. Os Alarmes de Limite de PV estão à direita e permanecem levemente estáticos.

SP Slider (Dispositivo Corrediço SP) valor de SP.Os limites do dispositivo corrediço são PVEUMax e PVEUMin. O dispositivo corrediço está confinado a SPHLimit e SPLLimit por seu canal, que pode não cobrir completamente a Faixa de PV.

ROC Alarm Indicator (Indicador de Alarme de ROC)

status de PVROCPosAlarm e PVROCNegAlarm.

Ratio (Taxa) valor de Ratio.Este display é mostrado somente se os bits AllowCasRat e UseRatio são energizados.

SP valor de SP. O usuário pode inserir o novo SP nesta edição, também.

PV valor de PV.

CV Slider (Dispositivo Corrediço de CV) valor de CV.Os limites do dispositivo corrediço são de 0% a 100%.

CV valor de CV.

Program Button (Botão de Programa) OperProgReq é energizado quando você clica neste botão.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 294: Cópia de 1756-rm006a-pt-p

C-18 Controles da Tela de Operação do Bloco de Funções

Operator Button (Botão de Operação) OperOperReq é energizado quando você clica neste botão.

Cas/Rat Button (Botão Casc/Taxa) OperCasRatReq é energizado quando você clica neste botão.

Auto Button (Botão Automático) OperAutoReq é energizado quando você clica neste botão.

Manual Button (Botão Manual) OperManualReq é energizado quando você clica neste botão.

Detail Button (Botão de Detalhe) Detalha o menu Dialog.

Tune Button (Botão de Ajuste) Ajuste do menu Dialog.

Status: todos os bits de status são energizados no bloco.Se nenhum bit for energizado, o status mostra “OK”.

O recurso do controle: Exibe:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 295: Cópia de 1756-rm006a-pt-p

Controles da Tela de Operação do Bloco de Funções C-19

O controle PIDE tem esta página adicional de propriedades.

Configure esta propriedade: Para especificar:

PV Units (Unidades de PV) string para as unidades de PV e SP no controle.

Time Span (Amplitude de Tempo) quantidade de tempo no qual os valores são mantidos para as tabelas de tendências.

Display Time (Tempo do Display) quantidade de tempo no qual os valores são mostrados nas tabelas de tendências.

PV, SP, and CV Colors (Cores de PV, SP e CV)

cor da linha da tabela de tendência para cada parâmetro.

Alarm Colors (Cores de Alarme) as cores de alarme representam as cores nas barras de cores. Alarm 1 Color representa os alarmes Baixo ou Alto. Alarm 2 Color representa os alarmes baixo-baixo ou alto-alto.

Publicação 1756-RM006A-PT-P - Junho 2000

Page 296: Cópia de 1756-rm006a-pt-p

C-20 Controles da Tela de Operação do Bloco de Funções

Notas:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 297: Cópia de 1756-rm006a-pt-p

Índice

AAcumulador para Cima/para Baixo

(Up/Down) 2-41Alarme 1-2ALM 1-2Atraso/Avanço de Segunda Ordem 3-10atributos

conversão de tipos de dados B-1valores imediatos B-1

atributos comuns B-1conversão de tipos de dados B-1valores imediatos B-1

Avanço/Atraso 1-36

BBAND 6-2BNOT 6-5BOR 6-7BXOR 6-10

CCaptura Máxima 5-6Captura Mínima 5-8combinação de tipos de dados B-1condições de overflow A-5Controlador de Segunda Ordem (SOC) 2-33controle de programa/operação

características gerais A-10conversão de tipos de dados B-1Curva S 2-25

DD Flip-Flop 6-12D2SD 1-6D3SD 1-14dados retentivos A-1DEDT 1-27Derivativo 3-2DERV 3-2Desvio Padrão de Movimento 5-10DFF 6-12Dispositivo Discreto de 2 Estados 1-6Dispositivo Discreto de 3 Estados 1-14

EE Booleano 6-2ESEL 4-2exemplos de programação

ALM 1-5BAND 6-4BNOT 6-6

BOR 6-9BXOR 6-11D2SD 1-10D3SD 1-21DEDT 1-31DERV 3-4DFF 6-14ESEL 4-7FGEN 1-35HLL 4-10HPF 3-9INTG 2-5JKFF 6-16LDL2 3-14LDLG 1-39LPF 3-19MAVE 5-5MAXC 5-7MINC 5-9MSTD 5-13MUX 4-13NTCH 3-23PI 2-16PIDE 1-54PMUL 2-22POSP 1-77RESD 6-19RLIM 4-17RMPS 1-84SCL 1-94SCRV 2-32SEL 4-19SETD 6-22SNEG 4-21SOC 2-38SRTP 1-99SSUM 4-25TOT 1-105UPDN 2-43

FFator de Escala 1-91FGEN 1-32Filtro de Notch 3-20Filtro Passa Alta, HPF 3-5Filtro Passa Baixa 3-15

GGerador de Funções 1-32

HHLL 4-8

Publicação 1756-RM006A-PT-P - Junho 2000

Page 298: Cópia de 1756-rm006a-pt-p

2 Índice

Iinstruções de controle de processo

ALM 1-2D2SD 1-6D3SD 1-14DEDT 1-27FGEN 1-32LDLG 1-36PIDE 1-40POSP 1-72RMPS 1-78SCL 1-91SRTP 1-95TOT 1-100

instruções de deslocamento/LógicaBAND 6-2BNOT 6-5BOR 6-7BXOR 6-10DFF 6-12JKFF 6-15RESD 6-17SETD 6-20

instruções de drivesINTG 2-2PI 2-7PMUL 2-18SCRV 2-25SOC 2-33UPDN 2-41

instruções de filtroDERV 3-2HPF 3-5LDL2 3-10LPF 3-15NTCH 3-20

instruções de seleção/limiteESEL 4-2HLL 4-8MUX 4-11RLIM 4-14SEL 4-18SNEG 4-20SSUM 4-22

instruções estatísticasMAVE 5-2MAXC 5-6MINC 5-8MSTD 5-10

Integrador 2-2INTG 2-2

JJK Flip-Flop 6-15

JKFF 6-15

LLDL2 3-10LDLG 1-36Limitador de Taxa 4-14Limite Alto/Baixo 4-8LPF 3-15

MMAVE 5-2MAXC 5-6Média Móvel 5-2MINC 5-8modos de temporização A-5MSTD 5-10Multiplexador 4-11Multiplicador de Pulso 2-18MUX 4-11

NNÃO Booleano 6-5Negação Selecionada 4-20NTCH 3-20

Oordem de execução A-2OU Booleano 6-7OU Exclusivo Booleano 6-10overflow de status aritmético

overflow A-5

Publicação 1756-RM006A-PT-P - Junho 2000

Page 299: Cópia de 1756-rm006a-pt-p

Índice 3

PPI 2-7PID Avançado 1-40PIDE 1-40placas

D3DS 1-19PMUL 2-18POSP 1-72programa/controle de operação

D2SD 1-10D3SD 1-22ESEL 4-7PIDE 1-57RMPS 1-85TOT 1-106

Proporcional + Integral 2-7Proporcional de Posição 1-72Proporcional de Tempo da Faixa de Divisão 1-95

RRampa/Saturação 1-78RESD 6-17Reset Dominante 6-17RLIM 4-14RMPS 1-78

SSCL 1-91SCRV 2-25SEL 4-18Seleção 4-18Seleção Avançada 4-2

Set Dominante 6-20SETD 6-20SNEG 4-20SOC 2-33Soma Selecionada 4-22SRTP 1-95SSUM 4-22

Ttelas de operação

ALM 1-4, E-5D2DS 1-9D2SD E-13D3SD E-15ESEL 4-6, E-7PIDE 1-52, E-17propriedades de display E-3propriedades de fonte E-4propriedades gerais E-2RMPS 1-82, E-10TOT 1-104, E-8

Tempo Morto 1-27TOT 1-100Totalizador 1-100

UUPDN 2-41

Vvalores imediatos B-1

Publicação 1756-RM006A-PT-P - Junho 2000

Page 300: Cópia de 1756-rm006a-pt-p

4 Índice

Notas:

Publicação 1756-RM006A-PT-P - Junho 2000

Page 301: Cópia de 1756-rm006a-pt-p
Page 302: Cópia de 1756-rm006a-pt-p

Quarta Capa

Publicação 1756-RM006A-PT-P - Junho 2000 5 PN 957308-55© 2000 Rockwell International Corporation