Escolar Documentos
Profissional Documentos
Cultura Documentos
128 REV 00 ControlLogix Programação Avançada - Guia de Instruções PDF
128 REV 00 ControlLogix Programação Avançada - Guia de Instruções PDF
Notas:
Onde Encontrar uma Use este localizador para encontrar detalhes de referência sobre as
instruções do Logix (as instruções em cinza estão disponíveis em
Instrução outros manuais) . Este localizador também lista as linguagens de
programação que estão disponíveis para as instruções.
AFI 10-17 lógica ladder BTW (tipo MSG) 3-2 lógica ladder
Tarefa/Meta: Documentos:
Programação do controlador para aplicações Manual de Referência Geral do Conjunto de Instruções dos Controladores Logix5000,
sequenciais publicação 1756-RM003
Você está aqui
Programação do controlador para aplicações Manual de Referência do Conjunto de Instruções dos Inversores e Controle de
de processo ou inversores Processo , publicação 1756-RM006
Programação do controlador para aplicações Logix5000 Controllers Motion Instruction Set Reference Manual,
de posicionamento publicação 1756-RM007
Importação de um arquivo de texto ou tags Manual de Referência de Exportação/Importação do Controlador Logix5000,
em um projeto publicação 1756-6.8.4PT
Exportação de um projeto ou tags para um
arquivo texto
Conversão de uma aplicação CLP-5 ou SLC Manual de Referência do Controlador Logix5550 para Conversão da Lógica do CLP-5
500 para uma aplicação Logix5000 ou SLC500 para a Lógica do Logix5000, publicação 1756-6.8.5PT
Quem Deve Utilizar este Este documento fornece ao programador detalhes sobre cada
instrução disponível para um controlador baseado em Logix. Você já
Manual deve estar familiarizado de como o controlador baseado em Logix
armazena e processa dados.
Objetivo do Manual Este manual fornece uma descrição de cada instrução neste formato.
Operandos do bloco de lista todos os operandos da instrução se esta estiver disponível no bloco de função
função exibe um bloco de função inicial
Os pinos mostrados no bloco de função inicial são somente pinos básicos. A tabela de
operandos lista todos os pinos possíveis para um bloco de função.
Estrutura da insturção lista os valores e os bits de status de controle da instrução, se houver
Descrição descreve o uso da instrução
define 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ético
consulte o apêndice Atributos Comuns
Condições de Falha: define se a instrução gera falhas graves ou de advertência
se necessário, define o código e o tipo da falha
Execução de Lógica Ladder Se disponível na Lógica Ladder, define os detalhes de como a instrução opera 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ção
inclui uma descrição explicando cada exemplo
Execução do bloco de Se disponível no bloco de função, define os detalhes de como a instrução opera durante:
função • pré-varredura
• primeira varredura da instrução
• primeira operação da instrução
• EnableIn é falso
• EnableIn é verdadeiro
Exemplo do bloco de Se disponível no bloco de função, fornece pelo menos um exemplo de programação
função inclui uma descrição explicando cada exemplo
bloco de função
Informações Comuns para O conjunto de instruções do Logix5000 possui alguns atributos comuns:
Todas as Instruções Para obter esta Consulte este apêndice
informação:
atributos comuns apêndice Atributos Comuns define:
• flags de status aritmético:
• tipos de dados
• palavras-chaves
atributos do bloco de apêndice Atributos de Bloco de Função define:
função • controle do programa e operador
• modos de temporização
Notas:
Capítulo 1
Instruções Binárias Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
(XIC, XIO, OTE, OTL, OTU, ONS, Examinar Se Desenergizado (XIC) . . . . . . . . . . . . . . . . . . . 1-1
OSR, OSF, OSRI, OSFI) Examinar Se Energizado (XIO) . . . . . . . . . . . . . . . . . . . . . 1-3
Energizar Saída
(OTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Energizar Saída com Retenção (OTL) . . . . . . . . . . . . . . . . . 1-6
Desenergizar Saída com Retenção (OTU) . . . . . . . . . . . . . . 1-7
Monoestável (ONS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Monoestável com Borda de Subida (OSR) . . . . . . . . . . . . . 1-10
Monoestável com Borda de Descida (OSF). . . . . . . . . . . . . 1-13
Monoestável com Borda de Subida com Entrada (OSRI) . . . 1-15
Monoestável com Borda de Descida com Entrada (OSFI) . . 1-17
Capítulo 2
Instruções do Temporizador e do Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Contador Temporizador de Energização (TON). . . . . . . . . . . . . . . . . 2-2
(TON, TOF, RTO, TONR, TOFR, Temporizador de Desenergização (TOF) . . . . . . . . . . . . . . 2-6
RTOR, CTU, CTD, CTUD, RES) Temporizador Retentivo Ligado (RTO) . . . . . . . . . . . . . . . . 2-10
Temporizador de Energização com Reset (TONR) . . . . . . . 2-14
Temporizador de Desenergização com Reset (TOFR) . . . . . 2-17
Temporizador Retentivo Energizado com Reset (RTOR) . . . 2-20
Contagem Crescente (CTU) . . . . . . . . . . . . . . . . . . . . . . . . 2-23
Contagem Decrescente (CTD) . . . . . . . . . . . . . . . . . . . . . . 2-27
Contagem Crescente/Decrescente (CTUD) . . . . . . . . . . . . . 2-31
Reset (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35
Capítulo 3
Instruções de Entrada/Saída Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
(MSG, GSV, SSV) Mensagem (MSG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Códigos de Erro MSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Códigos de erro do ControlLogix (CIP) . . . . . . . . . . . . . 3-8
Códigos de erros estendidos do ControlLogix . . . . . . . . 3-9
Códigos de erro do CLP e SLC (.ERR) . . . . . . . . . . . . . . 3-10
Códigos de erro estendiddos do CLP e SLC (.EXERR) . . 3-11
Códigos de erro de Block-Transfer . . . . . . . . . . . . . . . . 3-12
Códigos de erro do Logix5550 . . . . . . . . . . . . . . . . . . . 3-13
Códigos de erros estendidos do Logix5550 . . . . . . . . . . 3-13
Especificação dos Detalhes de Configuração (Guia Configuration)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Especificação de Mensagens CIP. . . . . . . . . . . . . . . . . . 3-15
Uso de mensagens CIP genéricas para resetar os módulos de
E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Especificação das mensagens do CLP-5. . . . . . . . . . . . . 3-18
Especificação de Mensagens do SLC . . . . . . . . . . . . . . . 3-19
Especificação das mensagens de block-transfer . . . . . . . 3-20
Capítulo 4
Instruções de Comparação Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
(CMP, EQU, GEQ, GRT, LEQ, LES, Comparação (CMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
LIM, MEQ, NEQ) expressões CMP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Operadores Válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Formatação de expressões . . . . . . . . . . . . . . . . . . . . . . 4-5
Determinação da seqüência de operação . . . . . . . . . . . 4-6
Igual a (EQU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Maior ou Igual a (GEQ). . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
Maior que (GRT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
Menor ou Igual a (LEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Menor Que (LES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Limite (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
Máscara Igual a (MEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Inserção de um valor de máscara imediato . . . . . . . . . . 4-28
Diferente de (NEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32
Capítulo 5
Instruções Matemáticas/Cálculo Introdução . . . . . . . . . . . . . . . .......... . . . . . . . . . . . 5-1
(CPT, ADD, SUB, MUL, DIV, MOD, Cálculo (CPT) . . . . . . . . . . . . . .......... . . . . . . . . . . . 5-2
SQR, NEG, ABS) Operadores válidos . . . . . . .......... . . . . . . . . . . . 5-4
Formatação de expressões . .......... . . . . . . . . . . . 5-4
Determinação da seqüência de operação . . . . . . . . . . . 5-5
Adição (ADD) . . . . . . . . . . . . . .......... . . . . . . . . . . . 5-6
Subtração (SUB) . . . . . . . . . . . .......... . . . . . . . . . . . 5-9
Multiplicação (MUL) . . . . . . . . .......... . . . . . . . . . . . 5-12
Divisão (DIV) . . . . . . . . . . . . . .......... . . . . . . . . . . . 5-15
Módulo (MOD) . . . . . . . . . . . . .......... . . . . . . . . . . . 5-19
Raiz Quadrada (SQR) . . . . . . . .......... . . . . . . . . . . . 5-23
Negação (NEG). . . . . . . . . . . . .......... . . . . . . . . . . . 5-26
Valor Absoluto (ABS) . . . . . . . .......... . . . . . . . . . . . 5-29
Capítulo 6
Instruções de Movimentação/ Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Lógica Movimentação (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
(MOV, MVM, BTD, MVMT, BTDT, Movimentação Mascarada (MVM). . . . . . . . . . . . . . . . . . . . 6-4
Inserção de um valor de máscara imediato . . . . . . . . . . 6-5
CLR, AND, OR, XOR, NOT)
Movimentação Mascarada com Target (MVMT). . . . . . . . . . 6-7
Distribuição do Campo do Bit (BTD) . . . . . . . . . . . . . . . . . 6-10
Distribuição do Campo do Bit com Target (BTDT) . . . . . . . 6-13
Zeramento (CLR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
Bitwise AND (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
Bitwise OR (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
Bitwise Exclusive OR (XOR) . . . . . . . . . . . . . . . . . . . . . . . 6-25
Bitwise NOT (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29
Capítulo 7
Instruções de Arquivo/Diversos Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
(FAL, FSC, COP, FLL, AVE, SRT, Seleção do Modo de Operação . . . . . . . . . . . . . . . . . . . . . 7-1
STD) Modo All (Todos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Modo Numerical (numérico) . . . . . . . . . . . . . . . . . . . . 7-3
Modo Incremental (incremento) . . . . . . . . . . . . . . . . . 7-5
Arquivamento Aritmético e Lógico (FAL) . . . . . . . . . . . . . . 7-7
expressões FAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17
Operadores válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17
Expressões de formatação . . . . . . . . . . . . . . . . . . . . . . 7-18
Determinação da seqüência de operação . . . . . . . . . . . 7-18
Comparação e Busca de Arquivo (FSC) . . . . . . . . . . . . . . . 7-19
Expressões FSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
Operadores válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
Formatação das expressões . . . . . . . . . . . . . . . . . . . . . 7-28
Determinação da seqüência de operação . . . . . . . . . . . 7-29
Cópia de Arquivo(COP)
Cópia de Arquivo Síncrona (CPS). . . . . . . . . . . . . . . . . . . . 7-30
Preenchimento de Arquivo (FLL) . . . . . . . . . . . . . . . . . . . . 7-35
Média de Arquivo (AVE) . . . . . . . . . . . . . . . . . . . . . . . . . . 7-39
Classificação de Arquivo (SRT) . . . . . . . . . . . . . . . . . . . . . 7-43
Desvio Padrão do Arquivo (STD) . . . . . . . . . . . . . . . . . . . 7-47
Capítulo 8
Instruções de Deslocamento/ Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Matriz (Arquivo) Deslocamento de Bit para a Esquerda (BSL). . . . . . . . . . . . 8-2
(BSL, BSR, FFL, FFU, LFL, LFU) Deslocamento de Bit para a Direita (BSR) . . . . . . . . . . . . . 8-6
Carga FIFO (FFL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10
Descarga FIFO (FFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16
Carga LIFO (LFL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22
Descarga LIFO (LFU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28
Capítulo 9
Instruções de Seqüenciador Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
(SQI, SQO, SQL) Entrada do Sequenciador (SQI) . . . . . . . . . . . . . . . . . . . . . 9-2
Inserção de um valor de máscara imediato . . . . . . . . . . 9-3
Utilização de SQI sem SQO . . . . . . . . . . . . . . . . . . . . . 9-6
Saída do Sequenciador (SQO) . . . . . . . . . . . . . . . . . . . . . . 9-7
Inserção de um valor de máscara imediato . . . . . . . . . . 9-8
Utilização de SQI com SQO . . . . . . . . . . . . . . . . . . . . . 9-11
Reset da posição de SQO . . . . . . . . . . . . . . . . . . . . . . . 9-11
Carga do Sequenciador (SQL) . . . . . . . . . . . . . . . . . . . . . . 9-12
Capítulo 10
Instruções de Controle de Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
Programa Salto para Label (JMP)
(JMP, LBL, JSR, RET, SBR, TND, Label (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Salto para Sub-rotina (JSR)
MCR, UID, UIE, AFI, NOP)
Sub-rotina (SBR)
Retorno (RET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
Fim Temporário (TND) . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Rearme do Controle Mestre (MCR). . . . . . . . . . . . . . . . . . 10-13
Desabilitação da Interrupção pelo Usuário (UID)
Habilitação da Interrupção pelo Usuário (UIE) . . . . . . . . . 10-15
Instrução Sempre Falsa (AFI) . . . . . . . . . . . . . . . . . . . . . . 10-17
Sem Operação (NOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18
Capítulo 11
Instruções For/Break Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
(FOR, BRK, RET) For (FOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
Break (BRK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
Capítulo 12
Instruções Especiais Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
(FBC, DDT, DTR, PID) Comparação de Bit de Arquivo (FBC) . . . . . . . . . . . . . . . . 12-2
Seleção do modo de busca. . . . . . . . . . . . . . . . . . . . . . 12-4
Detecção de Diagnóstico (DDT) . . . . . . . . . . . . . . . . . . . 12-10
Seleção do modo de busca. . . . . . . . . . . . . . . . . . . . . 12-12
Dados Transicionais (DTR) . . . . . . . . . . . . . . . . . . . . . . . 12-18
Inserção de uma valor de máscara imediato . . . . . . . . 12-19
Proporcional, Integral e Derivativo (PID) . . . . . . . . . . . . . 12-21
Configuração de uma Instrução PID. . . . . . . . . . . . . . . . . 12-26
Especificação do ajuste . . . . . . . . . . . . . . . . . . . . . . . 12-27
Especificação da configuração . . . . . . . . . . . . . . . . . . 12-27
Especificação de alarmes . . . . . . . . . . . . . . . . . . . . . . 12-28
Especificação de conversão de escala . . . . . . . . . . . . . 12-29
Utilização das Instruções PID. . . . . . . . . . . . . . . . . . . . . . 12-29
Windup anti-reset e transferência ininterrupta de manual para
automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-31
Temporização da instrução PID . . . . . . . . . . . . . . . . . 12-32
Reinicialização ininterrupta. . . . . . . . . . . . . . . . . . . . . 12-35
Polarização derivativa . . . . . . . . . . . . . . . . . . . . . . . . 12-36
Configuração da zona morta. . . . . . . . . . . . . . . . . . . . 12-37
Uso da limitação de saída. . . . . . . . . . . . . . . . . . . . . . 12-37
Feedforward ou polarização da saída (bias) . . . . . . . . 12-38
Malhas em cascata . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-38
Controle de um índice . . . . . . . . . . . . . . . . . . . . . . . . 12-38
Teoria PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-40
processo PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-40
processo PID com malhas mestre/escravo. . . . . . . . . . 12-40
Capítulo 13
Instruções Trigonométricas Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
(SIN, COS, TAN, ASN, ACS, ATN) Seno (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2
Co-seno (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5
Tangente (TAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
Arco Seno (ASN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-11
Arco Co-seno (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14
Arco Tangente (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16
Capítulo 14
Instruções Matemáticas Introdução . . . . . . . . . . ....... . . . . . . . . . . . . . . . . . . . 14-1
Avançadas Log Natural (LN) . . . . . . ....... . . . . . . . . . . . . . . . . . . . 14-2
(LN, LOG, XPY) Base Log de 10 (LOG). . ....... . . . . . . . . . . . . . . . . . . . 14-4
X Elevado à Potência de Y (XPY) . . . . . . . . . . . . . . . . . . . 14-7
Capítulo 15
Instruções de Conversão Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
Matemática Graus (DEG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2
(DEG, RAD, TOD, FRD, TRN) Radianos (RAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5
Conversão para BCD (TOD) . . . . . . . . . . . . . . . . . . . . . . . 15-8
Conversão para Inteiro (FRD) . . . . . . . . . . . . . . . . . . . . . 15-12
Truncagem (TRN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-15
Capítulo 16
Instruções de Porta Serial ASCII Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
(ABL, ACB, ACL, AHL, ARD, ARL, Códigos de Erro ASCII . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
AWA, AWT) Teste ASCII Para Linha do Buffer (ABL) . . . . . . . . . . . . . . . 16-5
Caracteres ASCII no Buffer (ACB) . . . . . . . . . . . . . . . . . . . 16-7
Remoção de Buffer e da Fila ASCII (ACL). . . . . . . . . . . . . . 16-9
Linhas ASCII Handshake (AHL) . . . . . . . . . . . . . . . . . . . . 16-11
Leitura ASCII (ARD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-14
Linha de Leitura ASCII (ARL) . . . . . . . . . . . . . . . . . . . . . . 16-17
Anexar Leitura ASCII (AWA) . . . . . . . . . . . . . . . . . . . . . . 16-21
Escrita ASCII (AWT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-24
Apêndice A
Atributos Comuns Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Valores Imediatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Conversões de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
SINT ou INT para DINT . . . . . . . . . . . . . . . . . . . . . . . . A-3
Inteiro para REAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
DINT para SINT para INT. . . . . . . . . . . . . . . . . . . . . . . A-5
REAL para um inteiro . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Apêndice B
Atributos de Bloco de Função Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Dados Retentivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Ordem de Execução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Respostas de Bloco de Função para Condições de Overflow B-5
Modos de Temporização . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
Parâmetros comuns de instrução para modos de temporização
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7
Características dos modos de temporização. . . . . . . . . . B-9
Controle de Programa/pelo Operador . . . . . . . . . . . . . . . B-10
Instruções Binárias
(XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
Desenergizado (XIC)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
dados BOOL tag bit para ser testado
binários
Execução da Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira
dado binário = 1
Exemplo de Lógica
Ladder:
exemplo 1 Se limit_switch_1 estiver energizado, isto habilitará a próxima
instrução (a saída da condição da linha é verdadeira).
(XIO)
Lógica Ladder
Operandos de Lógica
Ladder
Operando Tipo: Formato: Descrição:
dados BOOL tag bit para ser testado
binários
Execução da Lógica
Ladder :
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira
dado binário = 1
Exemplo da Lógica
Ladder :
exemplo 1 Se limit_switch_2 for desenergizado, isto habilitará a próxima
instrução (a saída da condição da linha é verdadeira).
(OTE)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
dados BOOL tag bit para ser energizado ou desenergizado
binários
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura O dado binário está desenergizado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O dado binário está desenergizado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira O dado binário está energizado.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder :
Quando habilitada, a instrução OTE energiza (acende) light_1. Quando desabilitada, a instrução OTE desenergiza (apaga) light_1.
Retenção (OTL)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
dados BOOL tag bit para ser energizado
binários
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura O dado binário não é modificado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O dado binário não é modificado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira O dado binário está energizado.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder :
Quando habilitada, a instrução OTL energiza light_2. Este bit permanece energizado
até ser desenergizado, geralmente por uma instrução OTU.
Retenção (OTU)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
dados BOOL tag bit para ser desenergizado
binários
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura O dado binário não é modificado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O dado binário não é modificado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira O dado binário está desenergizado.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder :
Lógica Ladder
Operandos de Lógica
Ladder : Operando Tipo: Formato: Descrição:
bit de BOOL tag bit de armazenamento interno
armazenam armazena a entrada da condição da linha
ento desde a última vez que a instrução
foi executada
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura O bit de armazenamento está energizado para prevenir um disparo inválido durante a
primeira varredura.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit de armazenamento é desenergizado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira
bit de armazenamento = 1
bit de armazenamento
permanece energizado
saída da condição da linha
é energizada quando falsa
fim
Exemplo de Lógica Geralmente, você antecede a instrução ONS com uma instrução de
Ladder : entrada porque realiza a varredura da instrução ONS quando a mesma
está habilitada e quando está desabilitada para que a mesma opere
corretamente. Uma vez que a instrução ONS está habilitada, a
condição de entrada de linha deve ser desenergizada ou o bit de
armazenamento deve ser desenergizado para a instrução ONS ser
habilitada novamente.
Em qualquer varredura para a qual o limit_switch_1 está desenergizado ou o storage_1 está energizado, esta linha não tem efeito. Em qualquer
varredura para a qual o limit_switch_1 está energizado e o storage_1 está desenergizado, a instrução ONS energiza o storage_1 e a instrução ADD
incrementa a soma (ADD) em 1. Durante o período em que o limit_switch_1 permanece energizado, a soma permanece no mesmo valor. O
limit_switch_1 deve ir de desenergizado para energizado novamente para que a soma seja incrementada novamente.
Subida (OSR)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
bit de BOOL tag bit de armazenamento interno
armazenam armazena a entrada da condição da linha
ento desde a última vez que a instrução
foi executada
bit de saída BOOL tag bit para ser energizado
Operandos do Bloco de Esta instrução está disponível no bloco de função como OSRI,
Função: consulte a página 1-15.
entrada da condição da
bit de armazenamento
bit de saída
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura O bit de armazenamento está energizado para prevenir um disparo inválido durante a
primeira varredura.
O bit de saída é desenergizado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit de armazenamento é desenergizado.
O bit de saída não é modificado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira
bit de armazenamento = 1
bit de armazenamento
permanece energizado
bit de saída é desenergizado
saída da condição da linha é
energizada quando verdadeira
fim
Exemplo de Lógica
Ladder :
Cada vez que limit_switch_1 vai de desenergizado para energizado, a instrução OSR energiza o output_bit_1 e a instrução ADD incrementa a soma
em 5. Durante o período em que olimit_switch_1 permanece energizado, a soma permanece no mesmo valor. O limit_switch_1 deve ir de
desenergizado para energizado novamente para que a soma seja incrementada novamente. Você pode usar o output_bit_1 em múltiplas linhas para
disparar outras operações.
Execução do Bloco de Esta instrução está disponível no bloco de função como OSRI,
Função: consulte a página 1-15.
Descida (OSF)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
bit de BOOL tag bit de armazenamento interno
armazenam armazena a entrada da condição da linha
ento desde a última vez que a instrução
foi executada
bit de saída BOOL tag bit para ser energizado
Operandos do Bloco de Esta instrução está disponível no bloco de função como OSFI,
Função: consulte a página 1-17.
entrada da
bit de
bit de saída
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura O bit de armazenamento é desenergizado para prevenir um disparo inválido durante a
primeira varredura.
O bit de saída é desenergizado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa
bit de
bit de armazenamento
armazenamento = 0
permanece desenergizado
examinar o bit de bit de saída é desenergizado
armazenamento saída da condição da linha é
energizada quando falsa
bit de armazenamento = 1
bit de armazenamento é
desenergizado
bit de saída é energizado
saída da condição da linha é
energizada quando falsa
fim
Exemplo de Lógica
Ladder :
Cada vez que o limit_switch_1 vai de energizado para desenergizado, a instrução OSF energiza o output_bit_2 e a instrução ADD incrementa a soma
em 5. Durante o período que limit_switch_1 permanece desenergizado, a soma permanece no mesmo valor. O limit_switch_1 deve ir de energizado
para desenergizado novamente para que a soma seja incrementada novamente. Você pode usar o output_bit_2 em linhas múltiplas para disparar
outras operações.
Execução do Bloco de Esta instrução está disponível no bloco de função como OSFI,
Função: consulte a página 1-17.
Operandos de Lógica Esta instrução está disponível em lógica ladder como OSR, consulte a
Ladder : página 1-10.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag de bloco FBD_ONESHOT estrutura Estrutura OSRI
Parâmetros de saída
InputBit
InputBitn-1
OutputBit
Execução de Lógica Esta instrução está disponível em lógica ladder como OSR, consulte a
Ladder : página 1-10.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeiro a instrução efetua a varredura InputBit n-1 é energizado.
primeiro a instrução efetua a operação InputBit n-1 é energizado.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado Em uma transição de desenergizado para energizado do EnableIn, a instrução energiza o
InputBit n-1.
A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
Quando limit_switch1 vai de desenergizado para energizado, a instrução OSRI energiza o OutputBit para uma varredura. Quando o OutputBit
é energizado, ele habilita a instrução ADD para incrementar o valor em SourceB pelo valor em SourceA.
Operandos de Lógica Esta instrução está disponível na lógica ladder como OSF, consulte a
Ladder : página 1-13.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag de bloco FBD_ONESHOT estrutura Estrutura OSFI
Parâmetros de saída
InputBit
InputBit n-1
OutputBit 40047
Execução de Lógica Esta instrução está disponível na lógica ladder como OSF, consulte a
Ladder : página 1-13.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeiro a instrução efetua a varredura InputBit n-1 é desenergizado.
primeiro a instrução efetua a operação InputBit n-1 é desenergizado.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado Em uma transição de desenergizado para energizado do EnableIn, a instrução
desenergiza o InputBit t n-1.
A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
Quando o limit_switch1 vai de energizado para desenergizado, a instrução OSFI energiza o OutputBit para uma varredura. Quando o OutputBit é
energizado, ele habilita a instrução ADD para incrementar o valor em SourceB pelo valor em SourceA.
Notas:
Energização (TON)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
Temporizador TIMER tag estrutura do temporizador
Preset DINT imediato Quanto tempo para retardar (tempo
acumulado)
Accum DINT imediato totalizar os ms que o temporizador contou
valor inicial é normalmente 0
Estrutura:
Operandos do Bloco de Esta instrução está disponível no bloco de função como TONR,
Função: consulte a página 2-14.
Condições de Falha:
Execução da Lógica
Ladder :
Condição: Ação:
pré-varredura O bit .EN é desenergizado.
O bit .TT é desenergizado.
O bit .DN é desenergizado.
O valor .ACC é desenergizado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit .EN é desenergizado.
O bit .TT é desenergizado.
O bit .DN é desenergizado.
O valor .ACC é desenergizado.
A saída da condição da linha é definida como falsa.
bit .DN = 1
examinar bit .DN
bit .DN = 0
bit .EN = 1
.DN é energizado
bit .TT é desenergizado
bit .EN é energizado
valor .ACC não
renova
.ACC = 2.147.483.647
fim
Exemplo de Lógica
Ladder :
Quando o limit_switch_1 é energizado, olight_2 fica aceso durante 180 ms (o timer_1 está cronometrando). Quando o timer_1.acc atinge 180, o
light_2 desenergiza e o light_3 energiza. O Light_3 permanece energizado até que a instrução TON seja desabilitada. Se o limit_switch_1 for
desenergizado enquanto otimer_1 está cronometrando, o light_2 desenergiza.
Execução do Bloco de Esta instrução está disponível no bloco de função como TONR,
Função: consulte a página 2-14.
Desenergização (TOF)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
Temporizador TIMER tag estrutura do temporizador
Preset DINT imediato Quanto tempo para retardar (tempo
acumulado)
Accum DINT imediato totalizar os ms que o temporizador contou
valor inicial é normalmente 0
Estrutura:
Operandos do Bloco de Esta instrução está disponível no bloco de função como TOFR,
Função: consulte a página 2-17.
Condições de Falha:
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura O bit .EN é desenergizado.
O bit .TT é desenergizado.
O bit .DN é desenergizado.
O valor .ACC é energizado para igualar-se ao valor .PRE.
A saída da condição da linha é definida como falsa.
bit .DN = 0
examinar bit .DN
bit .DN = 1
bit .EN = 0
.ACC = 2.147.483.647
fim
Exemplo de Lógica
Ladder :
Quando o limit_switch_2 é desenergizado, o light_2 fica energizado durante 180 ms (otimer_2 está cronometrando). Quando o timer_2.acc atinge
180, o light_2 desenergiza e o light_3 energiza. O Light_3 permanece energizado até que a instrução TOF seja habilitada. Se olimit_switch_2for
energizado enquanto o timer_2 está cronometrando, o light_2 desenergiza.
Execução do Bloco de Esta instrução está disponível no bloco de função como TOFR,
Função: consulte a página 2-17.
Ligado (RTO)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
Temporizador TIMER tag estrutura do temporizador
Preset DINT imediato Quanto tempo para retardar (tempo
acumulado)
Accum DINT imediato quantidade de ms que o temporizador
contou
valor inicial é normalmente 0
Estrutura:
Operandos do Bloco de Esta instrução está disponível no bloco de função como RTOR,
Função: consulte a página 2-20.
valor
pré-programado
16651
valor acumulado do temporizador (.ACC)
0
temporizador não atingiu o valor .PRE
Condições de Falha:
Execução Lógica
Ladder :
Condição: Ação:
pré-varredura O bit .EN é desenergizado.
O bit .TT é desenergizado.
O bit .DN é desenergizado.
O valor .ACC não é modificado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit .EN é desenergizado.
O bit .TT é desenergizado.
O bit .DN não é modificado.
O valor .ACC não é modificado.
A saída da condição da linha é definida como falsa.
bit .DN = 1
examinar bit .DN
bit .DN = 0
bit .EN = 1
.ACC = 2.147.483.647
fim
Exemplo de Lógica
Ladder :
Quando o limit_switch_1 é energizado, o light_1 fica ligado durante 180 ms (o timer_2 está cronometrando). Quando o timer_3.acc atinge 180, o
light_1 apaga e o light_2 acende. O Light_2 permanece até que o timer_3 seja resetado. Se o light_switch_1 for desenergizado enquanto o timer_3
está cronometrando, o light_1 permanece aceso. Quando o limit _switch_2 está energizado, a instrução RES reseta o timer_3 (remove os bits de
status e o valor .ACC).
Execução do Bloco de Esta instrução está disponível no bloco de função como RTOR,
Função: consulte a página 2-20.
Operandos de Lógica Esta instrução está disponível em Lógica Ladder como duas
Ladder : instruções separadas: TON (consulte a página 2-2) e RES (consulte a
página 2-35).
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag de bloco FBD_TIMER estrutura estrutura TONR
Parâmetros de saída
TimerEnable
Execução de Lógica Esta instrução está disponível na Lógica Ladder como duas instruções
Ladder : separadas: TON (consulte a página 2-2) e RES (consulte a página
2-35).
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução EN, TT e DN são desenergizados.
o valor ACC é definido em 0.
primeira operação da instrução EN, TT e DN são desenergizados.
o valor ACC é definido em 0.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado Quando o EnableIn efetua a transição de desenergizado para energizado, a instrução
inicializa como descrito para a primeira varredura da instrução.
A instrução é executada.
EnableOut é energizado.
reset Quando o parâmetro de entrada Reset é energizado, a instrução desenergiza EN, TT e
DN e define ACC = zero.
Exemplo do Bloco de
Função:
Para cada varredura cujo limit_switch1 é energizado, a instrução TONR incrementa o valor ACC
pelo tempo transcorrido até que o valor ACC alcance o valor PRE. Quando ACC ≥ PRE, o parâmetro
DN é energizado, o que habilita a instrução do bloco de função seguindo a instrução TONR.
Operandos de Lógica Esta instrução está disponível na Lógica Ladder como duas instruções
Ladder : separadas: TOF (consulte a página 2-6) e RES (consulte a página
2-35).
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag de bloco FBD_TIMER estrutura estrutura TOFR
Parâmetros de saída
TimerEnable
Execução da Lógica Esta instrução está disponível na Lógica Ladder como duas instruções
Ladder : separadas: TOF (consulte a página 2-6) e RES (consulte a página
2-35).
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução EN, TT e DN são desenergizados.
o valor ACC é energizado para PRE.
primeira varredura da instrução EN, TT e DN são desenergizados.
o valor ACC é energizado para PRE.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado Quando EnableIn faz a transição de desenergizado para energizado, a instrução se
inicializa como descrito para a primeira varredura da instrução.
A instrução é executada.
EnableOut é energizado.
reset Quando o parâmetro de entrada Reset for energizado, a instrução desenergizará o EN,
TT e DN e definirá o ACC = PRE. Note que isto é diferente de usar uma instrução RES em
uma instrução TOF.
Exemplo do Bloco de
Função:
Cada varredura após limit_switch1 é desenergizada, a instrução TOFR incrementa o valor ACC através do
tempo transcorrido até que o valor ACC alcance o valor PRE. Quando ACC ≥ PRE, o parâmetro DN é
desenergizado, o que desabilita a instrução do bloco de função que segue a instrução TOFR.
Operandos de Lógica Esta instrução está disponível na Lógica Ladder como duas instruções
Ladder : separadas: RTO (consulte a página 2-10) e RES (consulte a página
2-35).
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_TIMER estrutura estrutura RTOR
Parâmetros de saída
Descrição: Quando habilitada, a instrução RTO acumula tempo até que seja
desabilitada. Quando a instrução RTO é desabilitada, ela retém o valor
ACC. Deve-se desenergizar o valor ACC através da entrada Reset.
TimerEnable
Reset
valor pré-programado
16651
valor acumulado do temporizador (ACC)
0
o temporizador não alcançou o PRE value
Execução de Lógica Esta instrução está disponível na Lógica Ladder como duas instruções
Ladder : separadas: RTO (consulte a página 2-10) e RES (consulte a página
2-35).
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução EN, TT e DN são desenergizados
o valor ACC não é alterado
primeira operação da instrução EN, TT e DN são desenergizados
o valor ACC não é alterado
primeira operação do OLC EN, TT e DN são desenergizados
o valor ACC não é alterado
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado Quando EnableIn faz a transição de desenergizado para energizado, a instrução
inicializa como descrito para a primeira varredura da instrução.
A instrução é executada.
EnableOut é energizado.
reset Quando o parâmetro de entrada Reset for energizado, a instrução desenergiza EN, TT e
DN e define ACC = zero.
Exemplo do Bloco de
Função:
Para cada varredura cujo limit_switch1 é energizado, a instrução RTOR incrementa o valor ACC
através do tempo transcorrido até que o valor ACC alcance o valor PRE. Quando ACC ≥ PRE, o
parâmetro DN é energizado, o que habilita a instrução do bloco de função seguindo a instrução
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
Contador COUNTER tag estrutura do contador
Preset DINT imediato valor máximo de contagem
Accum DINT imediato quantidade de vezes que o contador contou
valor inicial é normalmente 0
Estrutura:
Operandos do Bloco de Esta instrução está disponível no bloco de função como CTUD,
Função: consulte a página 2-31.
valor pré-programado
Execução de Ladder
Relé:
Condição: Ação:
pré-varredura O bit .CU está energizado para prevenir incrementos inválidos durante a primeira
varredura do programa.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit .CU é desenergizado.
A saída da condição da linha é definida como falsa.
bit .UN = 0
.ACC ≥ .PRE
examinar .ACC
fim
Exemplo de Lógica
Ladder :
Depois que o limit_switch_1 passa de desabilitado para habilitado 10 vezes, o bit .DN é energizado e o light_1 acende. Se olimit_switch_1 continuar a
mudar de desabilitado para habilitado, o counter_1 continuará a incrementar a sua contagem e o bit .DN permanecerá energizado. Quando o
limit_switch_2 estiver habilitado, a instrução RES resetará o counter_1 (desenergizará os bits de status e o valor .ACC) e o light_1 será desligado.
Execução do Bloco de Esta instrução está disponível no bloco de função como CTUD,
Função: consulte a página 2-31.
(CTD)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
Contador COUNTER tag estrutura do contador
Preset DINT imediato valor mínimo de contagem
Accum DINT imediato quantidade de vezes que o contador contou
valor inicial é normalmente 0
Estrutura:
Operandos de Bloco de Esta instrução está disponível no bloco de função como CTUD,
Função: consulte a página 2-31.
Descrição: A instrução CTD é tipicamente usada com uma instrução CTU que
refere à mesma estrutura do contador.
valor pré-programado
16637
Execução da Lógica
Ladder :
Condição: Ação:
pré-varredura O bit .CD está energizado para prevenir decrementos inválidos durante a primeira
varredura do programa.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit .CD é desenergizado.
A saída da condição da linha é definida como falsa.
bit .OV = 0
.ACC ≥ .PRE
examinar .ACC
fim
Exemplo de Lógica
Ladder :
Um esteira transportadora traz peças para uma zona de buffer. Cada vez que uma peça entra, o limit_switch_1 é habilitado e o counter_1
incrementa em 1. Cada vez que uma peça sai, o limit_switch_2 é habilitado e o counter_1 decrementa em 1. Se houver 100 peças em uma zona
de buffer (o counter_1.dn estiver energizado), o conveyor_a liga e interrompe a operação da esteira, impedindo que mais peças sejam trazidas,
até que o buffer tenha espaço.
Execução do Bloco de Esta instrução está disponível no bloco de função como CTUD,
Função: consulte a página 2-31.
Crescente/Decrescente
(CTUD) Bloco de Função
Operandos de Lógica Esta instrução está disponível em Lógica Ladder como instruções
Ladder : separadas, CTU (página 2-23), CTD (página 2-27), e RES (página
2-35).
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_COUNTER estrutura estrutura CTUD
Parâmetros de saída
CUEnable
valor pré-programado
CDEnable
valor pré-programado
16637
Execução de Lógica Esta instrução está disponível na Lógica Ladder como três instruções
Ladder : separadas, CTU (página 2-23), CTD (página 2-27) e RES (página 2-35).
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Não requer inicialização.
primeira varredura da instrução o CUEnablen-1 e o CDEnablen-1 estão energizados.
primeira operação da instrução o CUEnablen-1 e o CDEnablen-1 estão energizados.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado Em uma transição de desenergizado para energizado de EnableIn, a instrução energiza
CUEnablen-1 e CDEnablen-1.
A instrução é executada.
EnableOut é energizado.
reset Quando energizada, a instrução desenergiza CUEnablen-1, CDEnablen-1, CU, CD, DN, OV e UN
e define ACC = zero.
Exemplo do Bloco de
Função:
Quando limit_switch1 vai de desenergizado para energizado, o CUEnable é energizado para uma
varredura e a instrução CTUD incrementa o valor ACC em 1. Quando ACC ≥ PRE, o parâmetro DN é
energizado, o que habilita a instrução do bloco de função seguindo a instrução CTUD.
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
estrutura TIMER tag estrutura para reset
CONTROL
COUNTER
!
Flags de Status Aritmético: não afetados
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira A instrução RES reseta a estrutura especificada.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder :
Exemplo: Descrição:
Quando habilitado, resete o timer_3.
Instruções de Entrada/Saída
(MSG, GSV, SSV)
Lógica Ladder
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
Controle de MESSAGE tag estrutura da mensagem
mensagem
Estrutura:
bit .EN
bit .EW
bit .ST
41382
1 2 3 4 5 6 7
Onde: Descrição:
1 entrada da condição da linha for verdadeira
.EN está energizado
.EW está energizado
a conexão está aberta*
2 a mensagem é enviada
.ST está energizado
.EW é desenergizado.
3 a mensagem foi executada ou apresentou erro e a entrada da
condição da linha é falsa
.DN ou .ER está energizado
.ST é desenergizado.
a conexão é fechada (se .EN_CC = 0)
.EN é desenergizado (porque a entrada da condição da linha é falsa)
4 a entrada da condição da linha é verdadeira e .DN ou .ER foi
energizado anteriormente
.EN está energizado
.EW está energizado
a conexão está aberta*
.DN ou .ER é desenergizado
*O bit .EW não é energizado se a mensagem não puder ser executada.
Onde: Descrição:
5 a mensagem é enviada
.ST está energizado
.EW é desenergizado.
6 a mensagem foi executada ou apresentou erro e a entrada da
condição da linha ainda é verdadeira
.DN ou .ER está energizado
.ST é desenergizado.
a conexão é fechada (se .EN_CC = 0)
7 a entrada da condição da linha se torna falsa e .DN ou .ER é
energizado
.EN é desenergizado.
*O bit .EW não é energizado se a mensagem não puder ser executada.
bit .EW = 1
examinar o bit .EW
bit .EW = 0
bit .ST = 1
examinar o bit .ST
bit .ST = 0
bit .DN = 1
examinar bit .DN
bit .DN = 0
não sim
bit .DN = 1
examinar bit .DN sim não
conexão do módulo
em funcionamento
bit .ER = 1
examinar bit .ER bit .EW está energizado bit .ER está energizado
bit .ER = 0
fim
Condição: Ação:
não sim
sim não
conexão do módulo
em funcionamento
fim
Códigos de Erro MSG Os códigos de erro dependem do tipo dos códigos de erro do
ControlLogix (CIP) da instrução MSG
O software não exibe texto para estes códigos de erros. Estes são os
códigos de erro estendidos para o código de erro 00F0.
Especificação dos Detalhes Depois de inserir a instrução MSG e especificar a estrutura MESSAGE,
use a janela Message Configuration no software de programação para
de Configuração (Guia especificar os detalhes da mensagem.
Configuration)
Se o dispositivo alvo for um: Selecione um dos seguintes tipos de Consulte página:
mensagens:
Dispositivo ControlLogix ou módulo de E/S leitura da tabela de dados CIP 3-15
1756
escrita da tabela de dados CIP
CIP genérico
controlador CLP-5 leitura de tipo para CLP-5 3-18
escrita de tipo para CLP-5
leitura da faixa de palavras do CLP-5
escrita da faixa de palavras do CLP-5
controlador SLC leitura de tipo para SLC 3-19
leitura de tipo para SLC
Módulo de block-transfer em uma rede de leitura de block-transfer 3-20
E/S Remota Universal
escrita de block-transfer
No campo: Especifique
Source Element/Tag Se você selecionar um tipo de mensagem de leitura, o Source Element é o endereço de
dados que você realizará a leitura no dispositivo alvo. Use a sintaxe de endereçamento
do dispositivo alvo.
Se você selecionar um tipo de mensagem de escrita, o Source Tag será o tag do dado
no controlador Logix5550 que você enviará para o dispositivo alvo.
Número de Elementos O número de elementos que você lê/grava depende do tipo de dado que está sendo
usado. Um elemento se refere a um "fragmento" dos dados relacionados. Por exemplo,
o tag temporizador1 é um elemento composto de uma estrutura de controle
do temporizador.
Destination Element/Tag Se você selecionar um tipo de mensagem de leitura, o Destination Tag será o tag no
controlador Logix5550 onde você armazenará os dados lidos do dispositivo alvo.
Se você selecionar o tipo de mensagem de escrita, o Destination Element é o endereço
do local no dispositivo alvo onde você escreverá os dados.
1 1 1 2 1
2 2 2 4 3
3 3 3
4 4 4
Os comandos de tipo mantêm o valor e a estrutura dos dados. Os comandos de faixa de palavra preenchem o tag de destino
de forma contínua. O valor e a estrutura dos dados são
modificados dependendo do tipo de dado de destino.
Os tags de fonte (para BTW) e destino (para BTR) devem ser grandes
para aceitar os dados solicitados, exceto para as estruturas MESSAGE,
AXIS e MODULE.
1 1 1 2 1
2 2 2 4 3
3 3 3
4 4 4
Os comandos de tipo mantêm o valor e a estrutura dos Os comandos de faixa de palavra preenchem o tag de destino
dados. de forma contínua. O valor e a estrutura dos dados são
modificados dependendo do tipo de dado de destino.
Especificações dos Ao configurar uma instrução MSG, você especifica estes detalhes na
guia Communication.
Detalhes de Comunicação
(Guia Communication)
Para a: Especifique
placa de fundo de qualquer módulo ou controlador 1756 1
a porta DF1 de um controlador 1756-L1 2
a porta ControlNet de um módulo 1756-CNB
a porta Ethernet de um módulo 1756-ENET
a porta DH+ em um canal A de um módulo 1756-DHRIO
a porta DH+ em um canal B de um módulo 1756-DHRIO 3
Percurso: 1, 0, 2, 42, 1, 3
Onde: Indica:
1 a porta da placa de fundo do controlador Logix5550 no chassi local
0 o número da ranhura do módulo 1756-CNB no chassi local
2 a porta da ControlNet do módulo 1756-CNB na ranhura do chassi local
42 o nó da ControlNet do módulo 1756-CNB na ranhura do chassi remoto
1 a porta da placa de fundo do módulo 1756-CNB no chassi remoto
3 o número da ranhura do controlador no chassi remoto
Percurso: 1, 1, 2, 127.127.127.12, 1, 3
Onde: Indica:
1 a porta da placa de fundo do controlador Logix5550 no chassi local
1 o número da ranhura do módulo 1756-ENET no chassi local
2 a porta da Ethernet do módulo 1756-ENET no chassi local
127.127.127.12 o endereço IP do módulo 1756-ENET no chassi remoto
1 a porta da placa de fundo do módulo 1756-ENET no chassi remoto
3 o número da ranhura do controlador no chassi remoto
chassi local
local chassis chassi 1771 com
1771 chassis with
DH+
DH+==nónode
37 37 controlador
PLC-5 processor
CLP-5
DH+ = DH+ = nó2424
node
Percurso: .EN = 11
Onde: Indica:
1 a porta da placa de fundo do controlador Logix5550 no chassi local
1 o número da ranhura do módulo 1756-DHRIO no chassi local
Esse tipo de mensagem: Usando esse método de Usa uma que você
comunicação: conexão: pode colocar
no cache:
leitura ou escrita da tabela de CIP ✓ ✓
dados CIP
CLP2, CLP3, CLP5 ou SLC (todos os CIP
tipos)
CIP com Identificação de
Fonte
DH+ ✓
CIP genérico N/A
leitura ou escrita em N/A ✓ ✓
block-transfer
Use a tabela a seguir para selecionar uma opção de cache para uma
mensagem.
Operandos de Lógica
Ladder :
Operando Tipo: Formato: Descrição:
Instrução GSV
Object class nome nome da classe do objeto
(Classe de
Objeto)
Object name nome nome do objeto específico, quando o
(nome do objeto requer um nome
objeto)
Attribute name nome atributo do objeto
(Nome do tipo de dado depende do
atributo) atributo selecionado
Destination SINT variável destino para os dados de atributo
INT
DINT
REAL
Instrução SSV
Object class nome nome da classe do objeto
(Classe de
Objeto)
Object name nome nome do objeto específico, quando o
(nome do objeto requer um nome
objeto)
Attribute name nome atributo do objeto
(Nome do
atributo)
Source SINT variável o tag contém os dados que você
INT copiará para o atributo
DINT
REAL
! pessoais.
Condições de Falha:
Execução de Lógica
Ladder :
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for Obtenha ou configure o valor especificado.
verdadeira A saída da condição da linha está definida como verdadeira.
Objetos GSV/SSV Ao inserir uma instrução GSV/SSV, você especifica o objeto e atributo
que você acessará. Em alguns casos, haverá mais do que um exemplo
do mesmo tipo de objeto, de forma que você também possa especificar
o nome do objeto. Por exemplo, a sua aplicação pode ter várias tarefas.
Cada tarefa tem o seu próprio objeto TASK (TAREFA) que é acessado
pelo nome da tarefa.
Com base no status de SW.1, coloque o valor apropriado no atributo disableflag do programa discrete.
Notas:
Instruções de Comparação
(CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Expressão SINT imediato uma expressão composta por tags
INT tag e/ou valores imediatos separados por
DINT operadores
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Flags de Status Aritmético: A instrução CMP afeta somente os flags de status aritmético se a
expressão contiver um operador (por exemplo, +, -, *, /) que afete os
flags de status aritmético.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
a expressão é falsa
a saída da condição da
linha é energizada quando
falsa
fim
Exemplo de Lógica
Ladder:
expressões CMP
Operadores Válidos
Formatação de expressões
Seqüência: Operação:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. − (negativo), NOT
5. *, /, MOD
6. <, <=, >, >=, =
7. − (subtração), +
8. AND
9. XOR
10. OR
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor a ser testado em relação a
INT tag Source B (Fonte B)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor a ser testado em relação a
INT tag Source A (Fonte A)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag de bloco FBD_COMPARE estrutura estrutura EQU
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
não
a saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor a ser testado em relação a
INT tag Source B (Fonte B)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor a ser testado em relação a
INT tag Source A (Fonte A)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag de bloco FBD_COMPARE estrutura estrutura GEQ
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
a saída da condição da
sim linha é energizada
Source A ≥ Source B quando verdadeira
não
a saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor a ser testado em relação a
INT tag Source B (Fonte B)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor a ser testado em relação a
INT tag Source A (Fonte A)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_COMPARE estrutura estrutura GRT
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
a saída da condição da
sim linha é energizada
Fonte A > Fonte B; quando verdadeira
não
a saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor a ser testado em relação a
INT tag Source B (Fonte B)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor a ser testado em relação a
INT tag Source A (Fonte A)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_COMPARE estrutura estrutura LEQ
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
a saída da condição da
sim linha é energizada
Fonte A ≤ Fonte B quando verdadeira
não
a saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor a ser testado em relação a
INT tag Source B (Fonte B)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor a ser testado em relação a
INT tag Source A (Fonte A)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_COMPARE estrutura estrutura LES
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
a saída da condição da
sim linha é energizada
Fonte A <Fonte B quando verdadeira
não
a saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada
primeira varredura da instrução Nenhuma ação tomada
primeira operação da instrução Nenhuma ação tomada
EnableIn é falso EnableOut é desenergizado
EnableIn é verdadeiro A instrução é executada
EnableOut é energizado
Exemplo do Bloco de
Função
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Limite Inferior SINT imediato valor do limite inferior
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Test (Teste) SINT imediato valor de acordo com o teste
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Limite SINT imediato valor do limite superior
Superior INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_LIMIT estrutura estrutura LIM
Parâmetros de saída
Descrição: A instrução LIM testa se o valor de teste está dentro da faixa de Limite
Inferior a Limite Superior.
Isto pode ser representado como uma linha de número circular (consulte
os seguintes diagramas). A instrução LIM começa no Limite Inferior e
incrementa no sentido horário até atingir o Limite Superior. Qualquer valor
de teste na faixa de sentido horário, desde o Limite Inferior até o Limite
Superior define a saída da condição da linha como verdadeira. Qualquer
valor de teste na faixa de sentido horário desde o Limite Superior até o
Limite Inferior define a saída da condição da linha como falsa.
0
0
−1 +1
−1 +1
limite inferior
limite superior
limite superior
limite inferior
−(n+1) +n
−(n+1) +n
n = valor máximo n = valor máximo
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
a comparação é verdadeira
avalie o limite a saída da condição da linha é
energizada quando verdadeira
a comparação é falsa
a saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
exemplo 1
exemplo 2
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é falso EnableOut é desenergizado.
EnableIn é verdadeiro A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
LowLimit ≤ HighLimit
Se LowLimit ≤ Test_value ≤ HighLimit, a instrução LIM energiza Dest, que habilita function_block_C.
LowLimit ≥ HighLimit
Se LowLimit ≤ Test_value ≤ HighLimit, a instrução LIM energiza Dest, que habilita function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor para ser testado comparando-se
INT tag com Compare
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Mask SINT imediato define que bits são bloqueados ou os
INT tag que passam
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Compare SINT imediato valor a ser testado em relação a
INT tag Source
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MASK_EQUAL estrutura estrutura MEQ
Parâmetros de saída
Prefixo: Descrição:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binário
por exemplo; 2#00110011
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
a saída da condição da
fonte mascarada sim linha é energizada
= comparação quando verdadeira
mascarada
não
a saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
exemplo 1
value_1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0
mask_1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 mask_1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
value_1 0 1 0 1 0 1 0 1 1 1 1 1 x x x x value_2 0 1 0 1 0 1 0 1 1 1 1 1 x x x x
mascarado mascarado
O value_1 é igual ao value_2 mascarado, portanto light_1 se acende. Um 0 na máscara impede que a máscara compare aquele
bit (mostrado por x no exemplo).
exemplo 2
value_1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0
mask_1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 mask_1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
value_1 x x x x x x x x x x x x 1 1 1 1 value_2 x x x x x x x x x x x x 0 0 0 0
mascarado mascarado
O value_1 mascarado não é igual ao value_2 mascarado, portanto light_1 se apaga. Um 0 na máscara impede que a máscara
compare aquele bit (mostrado por x no exemplo).
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Fonte 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 Compare 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0
Mask1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 Mask1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
Os valores de saídade function_block_A e function_block_B se tornam valores de entrada para Source e Compare, respectivamente.
Se masked Source = the masked Compare, a instrução MEQ energiza Dest, que habilita function_block_C. Um 0 na máscara impede
que a máscara compare aquele bit (mostrado por x no exemplo).
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor a ser testado em relação a
INT tag Source B (Fonte B)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor a ser testado em relação a
INT tag Source A (Fonte A)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_COMPARE estrutura estrutura NEQ
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
a saída da condição da
sim linha é energizada
Fonte A = Fonte B;
quando verdadeira
não
a saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Notas:
Instruções Matemáticas/Cálculo
(CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Expressão SINT imediato uma expressão composta por tags
INT tag e/ou valores imediatos separados por
DINT operadores
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução avalia a Expressão e coloca o resultado no Destino.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
exemplo 1
Quando habilitada, a instrução CPT avalia o value_1 multiplicado por 5 e divide esse resultado
pelo resultado do value_2 dividido por 7 e coloca o resultado final em result_1.
exemplo 2
Operadores válidos
Formatação de expressões
Seqüência: Operação:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. − (negativo), NOT
5. *, /, MOD
6. − (subtração), +
7. AND
8. XOR
9. OR
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor a ser somado à Source B (Fonte
INT tag B)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor a ser somado à Source A (Fonte
INT tag A)
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH estrutura estrutura ADD
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira Destination = Source A + Source B (Destino = Fonte A + Fonte B)
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor a partir do qual se subtrai a
INT tag Source B
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor a ser subtraído de Source A
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH estrutura estrutura SUB
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira Destino = Fonte B - Fonte A
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor do multiplicando
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor do multiplicador
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH estrutura estrutura MUL
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira Destino = Fonte B x Fonte A
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Execução de Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor do dividendo
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor do divisor
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH estrutura estrutura DIV
Parâmetros de saída
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira Destination = Fonte B / Fonte A
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução DIV divide float_value_1 por float_value_2 e coloca o resultado
em divide_result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn está definido A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor do dividendo
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source B SINT imediato valor do divisor
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH estrutura estrutura MOD
Parâmetros de saída
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira Destination = Source A – ( TRN ( Source A / Source B ) * Source B )
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução MOD divide o dividendo pelo divisor e coloca o resto em
remainder. Nesse exemplo, 10 é dividido por 3, com um resto de um.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato calcula a raiz quadrada desse valor
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura SQR
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
Destination = Source
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução SQR calcula a raiz quadrada de value_1 e coloca o resultado
em sqr_result .
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída do function_block_A se torna o valor de entrada para Source. A instrução calcula a
raiz quadrada de Source e coloca o valor em Dest, que se torna o parâmetro de entrada para
function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor a ser transformado em negativo
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura NEG
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira Destination = 0 − Source
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
Condição: Ação:
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor do qual se tira o valor absoluto
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ABS
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira Destination = | Source |
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
Condição: Ação:
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução calcula o
valor absoluto de Source e coloca o valor em Dest, que se torna o parâmetro de entrada para
function_block_C.
Notas:
Instruções de Movimentação/Lógica
(MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor a ser movido (copiar)
INT tag
DINT
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução copia Source em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
(MVM)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor a ser movido
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Mask SINT imediato quais bits devem ser bloqueados ou
INT tag podem passar
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag tag para armazenar o resultado
INT
DINT
Operandos do Bloco de Esta instrução está disponível no bloco de função como MVMT,
Função: consulte a página 6-7.
Descrição: Quando habilitada, a instrução MVM usa uma Máscara para deixar
passar ou bloquear os bits de dados em Source. Um “1“ na máscara
significa que o bit de dados passou. Um “0“ na máscara significa que
o bit de dados foi bloqueado.
Prefixo: Descrição:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binário
por exemplo; 2#00110011
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução passa o valor de Source pela Máscara e copia o resultado em Destination.
Os bits não mascarados em Destination permanecem inalterados.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução MVM copia os dados de value_a para value_b, e permite, ao mesmo tempo, que os dados sejam mascarados (um
value_a 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
mask_2 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
Execução do Bloco de Esta instrução está disponível no bloco de função como MVMT,
Função: consulte a página 6-7.
Operandos de Lógica Esta instrução está disponível em lógica de ladder a relé como MVM,
Ladder: consulte a página 6-4.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MASKED_MOVE estrutura estrutura MVMT
Parâmetros de saída
Descrição: Quando habilitada, a instrução MVMT usa uma Máscara para passar
ou bloquear os bits de dados Source. Um “1“ na máscara significa que
o bit de dados passou. Um “0“ na máscara significa que o bit de dados
foi bloqueado.
Prefixo: Descrição:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binário
por exemplo; 2#00110011
Execução de Lógica Esta instrução está disponível em lógica ladder como MVM, consulte a
Ladder: página 6-4.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução executa.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Etapa 1
O controlador copia Target para Dest.
Target 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Dest 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Etapa 2
A instrução mascara Source e o compara a Dest. Todas as alterações solicitadas são feitas em Dest, que se torna o parâmetro de entrada para
function_block_C. O Source e o Target se mantêm inalterados. Um 0 na máscara impede que a máscara compare aquele bit (mostrado por x no
exemplo).
.
Source 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Mask1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
Dest 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1
Bit (BTD)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato tag que contém os bits a serem
INT tag movimentados
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Bit Source DINT imediato número do bit (número do bit menos
(0-31 DINT) significativo) onde a movimentação
(0-15 INT) foi iniciada
(0-7 SINT) deve estar dentro da faixa válida de
tipos de dados Source
Destination SINT tag tag para onde os bits serão movidos
INT
DINT
Bit de Destino DINT imediato o número do bit (número de bit menos
(0-31 DINT) significativo) a partir de onde se inicia
(0-15 INT) a cópia de bits de Source
(0-7 SINT) deve estar dentro da faixa válida de
tipos de dados Destination
Length DINT imediato (1-32) número de bits a ser movido
Operandos do Bloco de Esta instrução está disponível no bloco de função como BTDT,
Função: consulte a página 6-13.
Descrição: Quando habilitada, a instrução BTD copia um grupo de bits de Source para
Destination. O grupo de bits é identificado pelo bit de Source (número de
bit menos significativo do grupo) e o Comprimento (número de bits a
serem copiados). O bit de Destination identifica o número de bit menos
significativo para iniciar em Destination. Source permanece inalterado.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução copia e muda os bits de Source para Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
exemplo 1
exemplo 2
Bit Source
value_1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Bit de Destino
value_2 antes da 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
instrução BTD
value_2 depois da 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
instrução BTD
Execução do Bloco de Esta instrução está disponível no bloco de função como BTDT,
Função: consulte a página 6-13.
Operandos de Lógica Esta instrução está disponível em lógica ladder como BTD, consulte a
Ladder: página 6-10.
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_BIT_FIELD_DISTRIBUTE estrutura estrutura BTDT
Parâmetros de saída
Execução de Lógica Esta instrução está disponível em lógica ladder como BTD, consulte a
Ladder: página 6-10.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução executa.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
function_block_D
Etapa 1
O controlador copia Target para Dest.
Target 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
Dest 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
Etapa 2
O SourceBit e o Length especificam que bits no Source devem ser copiados em Dest, começando por DestBit. O Source e o Target se mantêm
inalterados. O Dest alterado se torna o parâmetro de entrada para function_block_C.
DestBit SourceBit
Source 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
Dest 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Destination SINT tag tag a ser zerado
INT
DINT
REAL
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução zera Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor para AND com Source B
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Source B SINT imediato valor para AND com Source A
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_LOGICAL estrutura estrutura AND
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução realiza uma operação bitwise AND.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução AND realiza uma operação de bitwise AND em value_1 e value_2
e coloca o resultado em value_result_and.
value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
value_result_and 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução executa.
EnableOut é energizado.
Exemplo do Bloco de
Função
function_block_C
Quando habilitada, a instrução AND logicamente junta (AND) SourceA e SourceB. A instrução
coloca o resultado em Dest, que se torna um parâmetro de entrada para function_block_C.
SourceA 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
SourceB 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Dest 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor para OR com Source B
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Source B SINT imediato valor para OR com Source A
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_LOGICAL estrutura estrutura OR
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução realiza uma operação bitwise OR.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
value_result_or 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução executa.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_C
Quando habilitada, a instrução OR realiza uma operação lógica OR de SourceA e SourceB. A instrução
coloca o resultado em Dest, que se torna um parâmetro de entrada para function_block_C.
SourceA 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
SourceB 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Dest 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor para XOR com Source B
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Source B SINT imediato valor para XOR com Source A
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_LOGICAL estrutura estrutura XOR
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução realiza uma operação bitwise OR.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução XOR realiza uma operação de bitwise XOR em value_1 e value_2
e coloca o resultado em value_result_xor.
value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
value_result_xor 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução executa.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_C
Quando habilitada, a instrução XOR executa um OR exclusivo em SourceA e SourceB. A instrução coloca
o resultado em Dest, que se torna o parâmetro de entrada para function_block_C.
SourceA 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
SourceB 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Dest 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor para NOT
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_CONVERT estrutura estrutura NOT
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira A instrução realiza uma operação bitwise NOT.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução NOT realiza uma operação de bitwise NOT em value_1 e coloca o
resultado em value_result_not.
value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
value_result_not 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução executa.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_C
Source 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
Dest 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0
Notas:
Instruções de Arquivo/Diversos
(FAL, FSC, COP, FLL, AVE, SRT, STD)
Seleção do Modo de Para as instruções FAL e FSC, o modo informa o controlador sobre
como distribuir a operação de matriz
Operação
Se você quiser: Selecione este
modo:
operar em todos os elementos especificados em uma All (Todos)
matriz antes de prosseguir para a próxima instrução
distribuir a operação de matriz em várias varreduras Numerical
inserir o número de elementos para operar por varredura (Numérico)
(1-2147483647)
manipular um elemento da matriz cada vez que a entrada Incremental
da condição da linha passa de falsa para verdadeira (Incremento)
16639
uma
varredura
bit .EN
bit DN
zerar os bits de status e
zerar o valor .POS
varredura da instrução
nenhuma execução
operação completa ocorre 40010
uma varredura
segunda
varredura
próxima
varredura
16641
varreduras varreduras
múltiplas múltiplas
bit .EN
bit DN
varredura da instrução
16643
uma
varredura
bit .EN
bit DN
40014
varredura da instrução
Lógico (FAL)
lógica ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Control CONTROL tag estrutura de controle para a operação
Length DINT imediato número de elementos na matriz a
serem manipulados
Position DINT imediato elemento atual na matriz
valor inicial é normalmente 0
Mode DINT imediato como distribuir a operação
selecione INC, ALL ou insira um
número
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Expressão SINT imediato uma expressão composta por tags
INT tag e/ou valores imediatos separados por
DINT operadores
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Estrutura:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
.POS = .POS + 1
sim
.LEN = 0
não
sim
.POS = 0
não
não .POS < .LEN
não
modo .LEN>
bit .DN é energizado.
bit .EN é energizado
sim
modo .LEN>
bit .DN é energizado.
bit .EN é
desenergizado.
modo
numérico
página 7-13
fim
Condição: Ação:
entrada da condição da linha for verdadeira
não não
examinar bit .DN .LEN = 0 modo INC modo ALL
loop_count =
loop_count - 1
não
loop_count < 0 .POS = .POS + 1
sim
avaliar a expressão
não
examine S:V
sim
não
.POS = .LEN
sim
fim
Condição: Ação:
modo
INC
bit .EN = 1
examinar bit .EN
bit .EN = 0
bit = 1
examinar .POS = .POS + 1
bit interno
bit = 0
bit interno é
energizado
sim sim
.POS ≥ .LEN .POS = 0
não não
fim
Condição: Ação:
modo
ALL
sim sim
.POS ≥ .LEN .POS = 0
não não
Condição: Ação:
modo
numérico
bit .EN = 1
examinar bit .EN
bit .EN = 0
.POS = .POS + 1
bit = 1
examinar
bit interno
bit = 0
sim sim
.POS ≥ .LEN .POS = 0
não não
.POS = .POS -1
não
modo .LEN> modo .LEN ≥
sim
saída da condição da linha
bit .DN é energizado. é definida como
bit .EN é energizado bit .EN é energizado verdadeira
loop_count = .LEN - .POS
.POS = .POS -1
fim
modo ≥ sim
loop_count comum
página 7-10
não
Exemplo de Lógica
Ladder:
cópia de matriz para matriz
Quando habilitada, a instrução FAL copia cada elemento de
array_2 na mesma posição dentro de array_1.
Expressão Destino
array_2[control_2.pos] array_1[control_2.pos]
Expressão Destino
value_1 array_2[0,control_2.pos]
Cada vez que a instrução FAL é habilitada, ela copia o valor atual de
array_1 em value_1. A instrução FAL usa o modo de incremento, de
forma que somente um valor da matriz é copiado cada vez que a
instrução é habilitada. Na próxima vez em que a instrução é habilitada,
ela sobrescreve value_1 sobre o próximo valor em array_1.
Expressão Destino
array_1[control_1.pos] value_1
Expressão Destino
array_2[control_2.pos] / array_3[control_2.pos] array_1[control_2.pos]
Expressão Destino
value_1 + value_2 array_1[control_1.pos]
Expressão Destino
array_1[control_1.pos] + value_1 array_3[control_1.pos]
Expressão Destino
value_1 + array_1[control_1.pos] value_2
Expressão Destino
array_1[control_1.pos] * array_3[control_1.pos] value_1
expressões FAL
Operadores válidos
Expressões de formatação
Seqüência: Operação:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. − (negativo), NOT
5. *, /, MOD
6. − (subtração), +
7. AND
8. XOR
9. OR
Arquivo (FSC)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Control CONTROL tag estrutura de controle para a operação
Length DINT imediato número de elementos na matriz a
serem manipulados
Position DINT imediato offset na matriz
valor inicial é normalmente 0
Mode DINT imediato como distribuir a operação
selecione INC, ALL ou insira um
número
Expression SINT imediato uma expressão composta por tags
INT tag e/ou valores imediatos separados por
DINT operadores
REAL
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Estrutura:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
.POS = .POS + 1
sim
.LEN = 0
não
sim
.POS = 0
não
não .POS < .LEN
não
modo .LEN>
bit .DN é energizado.
bit .EN é energizado
sim
modo .LEN>
bit .DN é energizado.
bit .EN é
desenergizado.
modo
numérico
página 7-13
fim
Condição: Ação:
entrada da condição da linha for verdadeira
não não
examinar bit .IN .LEN = 0 modo INC modo ALL
bit .DN = 1
bit .IN = 0 sim sim sim
bit .DN = 0
loop_count =
loop_count - 1
não
loop_count < 0 .POS = .POS + 1
sim
avaliar comparação
não
correspondência
sim
não
.POS = .LEN
sim
fim
Condição: Ação:
modo
INC
bit .EN = 1
examinar bit .EN
bit .EN = 0
bit = 1
examinar .POS = .POS + 1
bit interno
bit = 0
sim sim
.POS ≥ .LEN .POS = 0
não não
página 7-22
fim
Condição: Ação:
modo
ALL
sim sim
.POS ≥ .LEN .POS = 0
não não
página 7-22
fim
Condição: Ação:
modo
numérico
bit .EN = 1
examinar bit .EN
bit .EN = 0
.POS = .POS + 1
bit = 1
examinar
bit interno
bit = 0
sim sim
.POS ≥ .LEN .POS = 0
não não
.POS = .POS -1
não
modo .LEN> modo .LEN ≥
sim
saída da condição da linha
bit .DN é energizado. é definida como
bit .EN é energizado bit .EN é energizado verdadeira
loop_count = .LEN - .POS
bit .FD é desenergizado.
.POS = .POS -1
fim
modo sim
≥loop_count comum
página 7-22
não
Exemplo de Lógica
Ladder:
exemplo 1
buscar uma correspondência entre
duas matrizes
Quando habilitada, a instrução FSC compara cada um dos 10 primeiros elementos em array_1 com os elementos correspondentes em
array_2.
00000000000000000000000000000000 00000000000000000000000000000000 0
00000000000000000000000000000000 00000000000000000000000000000000 1
00000000000000000000000000000000 00000000000000000000000000000000 2
00000000000000000000000000000000 00000000000000000000000000000000 3 A instrução FSC descobre que esses
elementos não são iguais. A instrução
00000000000000001111111111111111 11111111111111110000000000000000 4 energiza os bits .FD e .IN. O valor .POS (4)
11111111111111111111111111111111 11111111111111111111111111111111 5 indica a posição dos elementos que são
diferentes. Para continuar a realizar a
11111111111111111111111111111111 11111111111111111111111111111111 6
comparação no restante da matriz, zere o bit
11111111111111111111111111111111 11111111111111111111111111111111 7 .IN.
11111111111111111111111111111111 11111111111111111111111111111111 8
11111111111111111111111111111111 11111111111111111111111111111111 9
exemplo 2
buscar uma correspondência em uma
matriz
00000000000000000000000000000000 0
00000000000000000000000000000000 1
00000000000000000000000000000000 2
00000000000000000000000000000000 3
A instrução FSC descobre que esse
11111111111111110000000000000000 11111111111111110000000000000000 4 elemento da matriz é igual a MySearchKey.
A instrução energiza os bits .FD e .IN. O valor
11111111111111111111111111111111 5
.POS (4) indica a posição dos elementos
11111111111111111111111111111111 6 iguais. Para continuar a realizar a
11111111111111111111111111111111 7 comparação no restante da matriz, zere o bit
.IN.
11111111111111111111111111111111 8
11111111111111111111111111111111 9
Expressões FSC
Operadores válidos
Seqüência: Operação:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. − (negativo), NOT
5. *, /, MOD
6. <, <=, >, >=, =
7. − (subtração), +
8. AND
9. XOR
10. OR
(CPS) A instrução COP copia o(s) valor (es) de Source para Destination.
Source permanece inalterado.
Operandos de Lógica
Ladder: Operando Tipo: Formato: Descrição:
Source SINT tag elemento inicial para cópia
INT Importante: os operandos Source e
DINT Destination devem ter o mesmo tipo
REAL de dado ou podem ocorrer resultados
estrutura inesperados.
Destination SINT tag elemento inicial a ser sobrescrito por
INT Source
DINT Importante: os operandos Source e
REAL Destination devem ter o mesmo tipo
estrutura de dado ou podem ocorrer resultados
inesperados.
Length DINT imediato número de elementos em Destination
tag a serem copiados
!
As instruções COP e CPS operam na memória de dados contínua e
realizam uma cópia da memória direta byte-a-byte, que requer uma
compreensão do layout da memória do controlador.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
não
source_address = Source
destination_address = sim
end_address
não
fim
Exemplo de Lógica
Ladder:
exemplo 1
Tanto array_4 como array_5 são o mesmo tipo de dados. Quando habilitada, a instrução
COP copia os primeiros 10 elementos de array_4 nos primeiros 10 elementos de array_5.
exemplo 2
exemplo 3
A matriz project_data (100 elementos) armazena uma variedade de valores que se alteram em
CPS períodos diferentes na aplicação. Para enviar uma imagem completa de project_data em um
Synchronous Copy File
Source project_data[0] determinado período de tempo para outro controlador, a instrução CPS copia project_data to
Dest produced_array[0] produced_array.
Length 100
• Enquanto a instrução CPS copia os dados, nenhuma atualização de I/O ou outra tarefa pode
42578 alterar os dados.
• A tag produced_array produz os dados em uma rede ControlNet para consumo de outros
controladores.
• Para usar a mesma imagem de dados (ou seja, uma cópia sincronizada dos dados), o
controlador (ou controladores) de consumo utiliza uma instrução CPS para copiar os dados da
tag consumida para outra tag, para uso na aplicação.
exemplo 4
CPS
Local:0:I.Data armazena os dados de entrada para a rede DeviceNet que estiver conectada ao
Synchronous Copy File módulo 1756-DNB no slot 0. Para sincronizar as entradas com a aplicação, a instrução CPS copia os
Source Local:0:I.Data[0] dados de entrada em input_buffer.
Dest input_buffer[0] • Enquanto a instrução CPS copia os dados, nenhuma atualização de I/O pode alterar esses
Length 20
dados.
42578
Quando a aplicação é executada, ela utiliza para suas entradas os dados de entrada de
input_buffer.
exemplo 5
Esse exemplo inicializa uma matriz de estruturas de temporizador. Quando habilitadas, as instruções MOV inicializam os valores .PRE e .ACC do
primeiro elemento array_timer. Quando habilitada, a instrução COP copia um bloco contínuo de bytes, iniciando em array_timer[0]. O comprimento é
de nove estruturas de temporizador.
array_timer
array_timer[0] Primeiro a instrução copia os valores
timer[0] em timer[1]
array_timer[1]
Então, a instrução copia os valores
array_timer[2] timer[1] em timer[2]
array_timer[9]
(FLL)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato elemento para cópia
INT tag Importante: os operandos Source e
DINT Destination devem ter o mesmo tipo
REAL de dado ou podem ocorrer resultados
inesperados.
Destination SINT tag elemento inicial a ser sobrescrito por
INT Source
DINT Importante: os operandos Source e
REAL Destination devem ter o mesmo tipo
estrutura de dado ou podem ocorrer resultados
inesperados.
O melhor jeito para inicializar uma
estrutura é usar a instrução COP.
Length DINT imediato número de elementos a serem
preenchidos
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
end_address = start_address +
(Comprimento ∗ número de bytes em um
elemento em destination)
não
source_address = Source
destination_address = sim
end_address
não
fim
Exemplo de Lógica
Ladder:
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Array SINT tag da encontre a média dos valores nessa matriz
INT matriz especifique o primeiro elemento do grupo de
DINT elementos para a média
REAL não use CONTROL.POS em subscrito
Dimension DINT imediato a dimensão a ser usada
to vary (0, 1, 2) depende do número de dimensões, a
seqüência é
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Destination SINT tag resultado da operação
INT
DINT
REAL
Control CONTROL tag estrutura de controle para a operação
Length DINT imediato número de elementos da matriz para a média
Position DINT imediato elemento atual na matriz
valor inicial é normalmente 0
Estrutura:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura O bit .EN é desenergizado.
O bit .DN é desenergizado.
O bit .ER é desenergizado.
A saída da condição da linha é definida como falsa.
bit .DN = 0
examinar bit .DN
bit .DN = 1
fim
entrada da condição da linha for verdadeira A instrução AVE calcula a média, adicionando todos os elementos especificados na
matriz e dividindo pelo número de elementos.
Internamente, a instrução usa uma instrução FAL para calcular a média.
Expressão = cálculo da média
Modo = ALL
Para detalhes sobre como a instrução FAL é executada, consulte a página 7-9.
Exemplo de Lógica
Ladder:
exemplo 1
array_dint é DINT[4,5]
dimensão 1
su
b
sc
0 1 2 3 4
rit
os
0 20 19 18 17 16 19 + 14 + 9 + 4 46
AVE = ------------------------------------- = ------ = 11.5
4 4
1 15 14 13 12 11
dimensão 0
dint_ave = 12
2 10 9 8 7 6
3 5 4 3 2 1
exemplo 2
array_dint is DINT[4,5]
dimensão 1
su
b
sc
0 1 2 3 4
rit
os
0 20 19 18 17 16 5+4+3+2+1 15
AVE = ---------------------------------------- = ------ = 3
5 5
1 15 14 13 12 11
dimensão 0 dint_ave = 3
2 10 9 8 7 6
3 5 4 3 2 1
(SRT)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Array SINT tag da matriz para classificação
INT matriz especifique o primeiro elemento do grupo de
DINT elementos para classificação
REAL não use CONTROL.POS em subscrito
Dimension DINT imediato a dimensão a ser usada
to vary (0, 1, 2) depende do número de dimensões, a
seqüência é
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Control CONTROL tag estrutura de controle para a operação
Length DINT imediato número de elementos da matriz
para classificação
Position DINT imediato elemento atual na matriz
valor inicial é normalmente 0
Estrutura:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura O bit .EN é desenergizado.
O bit .DN é desenergizado.
O bit .ER é desenergizado.
A saída da condição da linha é definida como falsa.
bit .DN = 0
examinar bit .DN
bit .DN = 1
fim
entrada da condição da linha for verdadeira A instrução SRT classifica os elementos especificados da matriz em ordem crescente.
Exemplo de Lógica
Ladder:
exemplo 1
Antes Depois
dimensão 1 dimensão 1
su
su
b
b
sc
sc
0 1 2 3 4 0 1 2 3 4
ri t
rit
os
os
0 20 19 18 17 16 0 20 19 3 17 16
1 15 14 13 12 11 1 15 14 8 12 11
dimensão 0 dimensão 0
2 10 9 8 7 6 2 10 9 13 7 6
3 5 4 3 2 1 3 5 4 18 2 1
exemplo 2
int _array é DINT[4,5]
Antes Depois
dimensão 1 dimensão 1
su
su
b
b
sc
sc
0 1 2 3 4 0 1 2 3 4
rit
rit
o
o
s
s
0 20 19 18 17 16 0 20 19 18 17 16
1 15 14 13 12 11 1 15 14 13 12 11
dimensão 0 dimensão 0
2 10 9 8 7 6 2 6 7 8 9 10
3 5 4 3 2 1 3 5 4 3 2 1
(STD)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Array SINT tag da encontra o desvio padrão dos valores
INT matriz nessa matriz
DINT especifica o primeiro elemento do grupo de
REAL elementos a serem usados no cálculo do
desvio padrão
não use CONTROL.POS em subscrito
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Dimension DINT imediato a dimensão a ser usada
to vary (0, 1, 2) depende do número de dimensões, a
seqüência é
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Destination REAL tag resultado da operação
Control CONTROL tag estrutura de controle para a operação
Length DINT imediato número de elementos da matriz a
serem usados no cálculo do desvio padrão
Position DINT imediato elemento atual na matriz
valor inicial é normalmente 0
Estrutura:
N
2
∑ [ 〈 ( start + i )
X – AVE〉 ]
Desvio Padrão = i = 1
--------------------------------------------------------------------
(N – 1)
Onde:
• start = subscrito dimension-to-vary do operando array
• xi = elemento da tag na matriz
• N = número de elementos especificados na matriz
• AVE =
N
x ( start + i )
∑
i = 1
-----------------------------------------
N
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura O bit .EN é desenergizado.
O bit .DN é desenergizado.
O bit .ER é desenergizado.
A saída da condição da linha é definida como falsa.
bit .DN = 0
examinar bit .DN
bit .DN = 1
fim
entrada da condição da linha for verdadeira A instrução STD calcula o desvio padrão dos elementos especificados.
Internamente, a instrução usa uma instrução FAL para calcular a média.
Expressão = cálculo do desvio padrão
Modo = ALL
Para detalhes sobre como a instrução FAL é executada, consulte a página 7-9.
Exemplo de Lógica
Ladder:
exemplo 1
array_dint é DINT[4,5]
dimensão 1
su
b
sc
0 1 2 3 4
rit
s o
0 20 19 18 17 16
1 15 14 13 12 11
dimensão 0
2 10 9 8 7 6
16 + 11 + 6 + 1 34 3 5 4 3 2 1
AVE = ------------------------------------- = ------ = 8.5
4 4
2 2 2 2
〈 16 – 8.5〉 + 〈 11 – 8.5〉 + 〈 6 – 8.5〉 + 〈 1 – 8.5〉 - = 6.454972
STD = --------------------------------------------------------------------------------------------------------------------------
〈 4 – 1〉
real_std = 6,454972
exemplo 2
array_dint é DINT[4.5]
dimensão 1
su
b
sc
0 1 2 3 4
ri t
os
0 20 19 18 17 16
1 15 14 13 12 11
dimensão 0
2 10 9 8 7 6
20 + 19 + 18 + 17 + 16 90 3 5 4 3 2 1
AVE = ------------------------------------------------------- = ------ = 18
5 5
2 2 2 2 2
〈 20 – 18〉 + 〈 19 – 18〉 + 〈 18 – 18〉 + 〈 17 – 18〉 + 〈 16 – 18〉 - = 1.581139
STD = -----------------------------------------------------------------------------------------------------------------------------------------------------------
〈 5 – 1〉
real_std = 1,581139
Notas:
Esquerda (BSL)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Array DINT tag da matriz a ser modificada
matriz especifique o primeiro elemento do grupo de
elementos
não use CONTROL.POS no subscrito
Control CONTROL tag estrutura de controle para a operação
Bit Source BOOL tag bit a ser deslocado
Length DINT imediato número de bits da matriz a ser deslocada
Estrutura:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura O bit .EN é desenergizado.
O bit .DN é desenergizado.
O bit .ER é desenergizado.
O valor .POS é desenergizado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit .EN é desenergizado.
O bit .DN é desenergizado.
O bit .ER é desenergizado.
O valor .POS é desenergizado.
A saída da condição da linha é definida como falsa.
Condição: Ação:
entrada da condição da linha for verdadeira
bit .EN = 1
examinar bit .EN
bit .EN = 0
sim
.LEN = 0 bit .DN é energizado.
não
bit .UL permanece
.source bit = 1 energizado
examinar bit source
bit .ER é
sim energizado
.LEN < 0
.source bit = 0
não
bit .UL é energizado
deslocar matriz da esquerda uma posição
para a esquerda
Bit
bit .UL matriz Source
fim
Exemplo de Lógica
Ladder:
exemplo 1
9 8 7 6 5 4 3 2 1 0
array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
antes do
deslocamento 1
0 esses bits foram
input_1
deslocados à esquerda
bit .UL
9 8 7 6 5 4 3 2 1 0
array_dint[0]d 0 1 1 1 1 0 0 0 0 1
epois do
deslocamento
Quando habilitada, a instrução BSL inicia no bit 0 em array_dint[0]. A instrução descarrega array_dint[0].9 no bit .UL, desloca os
bits restantes e carrega input_1 em array_dint[0].0. Os valores nos bits restantes (10-31) são inválidos.
exemplo 2
31 0
array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
1
esses bits foram deslocados à esquerda
input_1
31 0
array_dint[1] 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
bit .UL
Quando habilitada, a instrução BSL inicia no bit 0 em array_dint[0]. A instrução descarrega array_dint[1].25 no bit .UL, desloca os
bits restantes e carrega input_1 em array_dint[0].0. Os valores nos bits restantes (31-26 in array_dint[1]) são inválidos. Observe
como array_dint[0].31 desloca-se através das palavras para array_dint[1].0.
Direita (BSR)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Array DINT tag da matriz a ser modificada
matriz especifica o elemento onde o deslocamento
deve começar
não use CONTROL.POS em subscrito
Control CONTROL tag estrutura de controle para a operação
Bit Source BOOL tag bit a ser deslocado
Length DINT imediato número de bits da matriz a ser deslocada
Estrutura:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura O bit .EN é desenergizado.
O bit .DN é desenergizado.
O bit .ER é desenergizado.
O valor .POS é desenergizado.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit .EN é desenergizado.
O bit .DN é desenergizado.
O bit .ER é desenergizado.
O valor .POS é desenergizado.
A saída da condição da linha é definida como falsa.
Condição: Ação:
entrada da condição da linha for verdadeira
bit .EN = 1
examinar bit .EN
bit .EN = 0
sim
.LEN = 0 bit .DN é energizado.
não
.source bit = 0
não
bit .UL é energizado
deslocar matriz uma posição para a esquerda
fim
Exemplo de Lógica
Ladder:
exemplo 1
9 8 7 6 5 4 3 2 1 0
array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
antes do
deslocamento
0
1 esses bits foram deslocados à direita
bit .UL
input_1
9 8 7 6 5 4 3 2 1 0
array_dint[0]d 1 0 0 1 1 1 1 0 0 0
epois do
deslocamento
Quando habilitada, a instrução BSR inicia no bit 9 em array_dint[0]. A instrução descarrega array_dint[0].0no bit .UL, desloca os
bits restantes para a direita e carrega input_1 em array_dint[0].9. Os valores nos bits restantes (10-31) são inválidos.
exemplo 2
31 0
array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
0
esses bits foram deslocados à direita
bit .UL
31 0
array_dint[1] 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
input_1
Quando habilitada, a instrução BSR inicia no bit 25 em array_dint[1]. A instrução descarrega array_dint[0].0 no bit .UL , desloca
os bits restantes para a direita e carrega input_1 em array_dint[1].25. Os valores nos bits restantes (31-26 em dint_array[1]) são
inválidos. Observe como array_dint[0].0 desloca-se através das palavras para array_dint[1].31.
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato dados a serem armazenados em FIFO
INT tag
DINT
REAL
estrutura
Source converte para o tipo de dados do tag da matriz. Um inteiro menor
converte para um inteiro maior pela extensão do sinal.
FIFO SINT tag da FIFO a ser modificado
INT matriz especifique o primeiro elemento de FIFO
DINT não use CONTROL.POS em subscrito
REAL
estrutura
Control CONTROL tag estrutura de controle para a operação
geralmente usa o mesmo CONTROL,
conforme associado a FFU
Length DINT imediato número máximo de elementos que FIFO pode
controlar de uma vez.
Position DINT imediato próxima localização em FIFO onde a instrução
carrega os dados.
valor inicial é normalmente 0
Se você usar uma estrutura definida pelo usuário como tipo de dados
para o operando Source ou FIFO, use a mesma estrutura para os dois
operandos.
Estrutura:
Descrição: Use a instrução FFL com a instrução FFU para armazenar e recuperar
dados na seqüência primeiro a entrar, primeiro a sair. Quando usada
em pares, as instruções FFL e FFU estabelecem um registro de
deslocamento assíncrono.
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura
sim
.LEN < 0
não
sim
.POS < 0
não
sim
.POS = 0 .EM é energizado
não
sim
.POS ≥ .LEN .DN é energizado
não
fim
Condição: Ação:
entrada da condição da linha for falsa
sim
.LEN < 0
não
sim
.POS < 0
não
sim
.POS = 0 .EM é energizado
não
sim
.POS ≥ .LEN .DN é energizado
não
fim
Condição: Ação:
.EN = 0 sim
examinar bit .EN bit .EN é energizado .LEN < 0
.EN = 1 não
sim sim
.LEN < 0 .POS < 0
não não
não
bit .EM é energizado
bit .EM é desenergizado. .DN é energizado
bit .DN é desenergizado. sim
.POS ≥ .LEN bit .DN é energizado.
não
sim
.POS = 0 bit .EM é energizado
.POS ou sim
não .LEN > falha grave
tamanho da
matriz
não
sim
.POS ≥ .LEN bit .DN é energizado.
sim
não .POS > .LEN .POS = .POS -1
não
FIFO[.POS - 1] = source
fim
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução FFL carrega value_1 para a próxima posição em FIFO, que é array_dint[5] nesse exemplo.
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
FIFO SINT tag da FIFO a ser modificado
INT matriz especifique o primeiro elemento de FIFO
DINT não use CONTROL.POS em subscrito
REAL
estrutura
Destination SINT tag valor que saiu de FIFO
INT
DINT
REAL
estrutura
O valor Destination converte para o tipo de dados do tag Destination. Um
inteiro menor converte para um inteiro maior pela extensão do sinal.
Control CONTROL tag estrutura de controle para a operação
geralmente usa o mesmo CONTROL, como a
FFL associada
Length DINT imediato número máximo de elementos que FIFO pode
controlar de uma vez.
Position DINT imediato próxima localização em FIFO onde a instrução
descarrega os dados.
valor inicial é normalmente 0
Se você usar uma estrutura definida pelo usuário como tipo de dados
para o operando FIFO ou Destination, use a mesma estrutura para os
dois operandos.
Estrutura:
Descrição: Use a instrução FFU com a instrução FFL para armazenar e recuperar
dados na seqüência primeiro a entrar, primeiro a sair.
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura
sim
.LEN < 0
não
sim
.POS < 0
não
sim
.POS = 0 .EM é energizado
não
sim
.POS ≥ .LEN .DN é energizado
não
fim
Condição: Ação:
entrada da condição da linha for falsa
sim
.LEN < 0
não
sim
.POS < 0
não
sim
.POS = 0 .EM é energizado
não
sim
.POS ≥ .LEN .DN é energizado
não
fim
Condição: Ação:
entrada da condição da linha for verdadeira
.EU = 0 sim
examinar bit .EU bit .EU é energizado .LEN < 0
.EU = 1 não
sim sim
.LEN < 0 .POS < 0
não não
não
bit .EM é energizado
bit .EM é desenergizado. .DN é energizado .LEN > sim
tamanho da falha grave
bit .DN é desenergizado.
não
sim
.POS = 0 bit .EM é energizado sim
.POS ≤ 1 bit .EM é energizado
não
não
sim
sim .POS < 1 Destination = 0
.POS ≥ .LEN bit .DN é energizado.
não
não
.POS = .POS -1
Destination = FIFO[0]
i=1
FIFO[i - 1] = FIFO[i]
i = i +1
sim
i < .LEN
fim
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução FFU descarrega array_dint[0] em value_2 e desloca os elementos restantes para array_dint.
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato dados a serem armazenados em LIFO
INT tag
DINT
REAL
estrutura
Source converte para o tipo de dados do tag da matriz. Um inteiro menor
converte para um inteiro maior pela extensão do sinal.
LIFO SINT tag da LIFO a ser modificado
INT matriz especifique o primeiro elemento de LIFO
DINT não use CONTROL.POS em subscrito
REAL
estrutura
Control CONTROL tag estrutura de controle para a operação
geralmente usa o mesmo CONTROL,
conforme a LFU associada
Length DINT imediato número máximo de elementos que LIFO pode
controlar de uma vez.
Position DINT imediato próxima localização em LIFO onde a instrução
carrega os dados.
valor inicial é normalmente 0
Se você usar uma estrutura definida pelo usuário como tipo de dados
para o operando Source ou LIFO, use a mesma estrutura para os dois
operandos.
Estrutura:
Descrição: Use a instrução LFL com a instrução LFU para armazenar e recuperar
dados na seqüência último a entrar, primeiro a sair. Quando usada em
pares, as instruções LFL e LFU estabelecem um registro de
deslocamento assíncrono.
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura
sim
.LEN < 0
não
sim
.POS < 0
não
sim
.POS = 0 .EM é energizado
não
sim
.POS ≥ .LEN .DN é energizado
não
fim
Condição: Ação:
entrada da condição da linha for falsa
sim
.LEN < 0
não
sim
.POS < 0
não
sim
.POS = 0 .EM é energizado
não
sim
.POS ≥ .LEN .DN é energizado
não
fim
Condição: Ação:
.EN = 0 sim
examinar bit .EN bit .EN é energizado .LEN < 0
.EN = 1 não
sim sim
.LEN < 0 .POS < 0
não não
não
bit .EM é energizado
bit .EM é desenergizado. .DN é energizado
bit .DN é desenergizado. sim
.POS ≥ .LEN bit .DN é energizado.
não
sim
.POS = 0 bit .EM é energizado
não
sim
.POS ≥ .LEN bit .DN é energizado.
sim
não .POS > .LEN .POS = .POS -1
não
LIFO[.POS - 1] = source
fim
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução LFL carrega value_1 para a próxima posição em LIFO, que é array_dint[5] nesse exemplo.
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
LIFO SINT tag da LIFO a ser modificado
INT matriz especifique o primeiro elemento de LIFO
DINT não use CONTROL.POS em subscrito
REAL
estrutura
Destination SINT tag valor que saiu de LIFO
INT
DINT
REAL
estrutura
O valor Destination converte para o tipo de dados do tag Destination. Um
inteiro menor converte para um inteiro maior pela extensão do sinal.
Control CONTROL tag estrutura de controle para a operação
geralmente usa o mesmo CONTROL,
conforme a LFL associada
Length DINT imediato número máximo de elementos que LIFO pode
controlar de uma vez.
Position DINT imediato próxima localização em LIFO onde a
instrução descarrega os dados.
valor inicial é normalmente 0
Se você usar uma estrutura definida pelo usuário como tipo de dados
para o operando LIFO ou Destination, use a mesma estrutura para os
dois operandos.
Estrutura:
Descrição: Use a instrução LFU com a instrução LFL para armazenar e recuperar
dados na seqüência último a entrar, primeiro a sair.
Condições de Falha:
Execução de Lógica
Ladder
Condição: Ação:
pré-varredura
sim
.LEN < 0
não
sim
.POS < 0
não
sim
.POS = 0 .EM é energizado
não
sim
.POS ≥ .LEN .DN é energizado
não
fim
Condição: Ação:
entrada da condição da linha for falsa
sim
.LEN < 0
não
sim
.POS < 0
não
sim
.POS = 0 .EM é energizado
não
sim
.POS ≥ .LEN .DN é energizado
não
fim
Condição: Ação:
entrada da condição da linha for verdadeira
.EU = 0 sim
examinar bit .EU bit .EU é energizado .LEN < 0
.EU = 1 não
sim sim
.LEN < 0 .POS < 0
não não
não
bit .EM é energizado
bit .EM é desenergizado. .DN é energizado sim
bit .DN é desenergizado. .POS ≤ 1 bit .EM é energizado
não
sim sim
.POS = 0 bit .EM é energizado .POS < 1 Destination = 0
não não
sim
.POS > .LEN .POS = .LEN
sim
.POS ≥ .LEN bit .DN é energizado.
não
não
.POS = .POS -1
não
Destination = LIFO[control.POS]
LIFO[control.POS) = 0
fim
Exemplo de Lógica
Ladder:
Notas:
Instruções de Seqüenciador
(SQI, SQO, SQL)
(SQI)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Array DINT tag da matriz do seqüenciador
matriz especifica o primeiro elemento da matriz do
seqüenciador
não use CONTROL.POS em subscrito
Mask SINT tag quais bits devem ser bloqueados ou podem
INT imediato passar
DINT
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Source SINT tag dados de entrada para a matriz do
INT seqüenciador
DINT
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Control CONTROL tag estrutura de controle para a operação
geralmente usa o mesmo CONTROL das
instruções SQO e SQL
Length DINT imediato número de elementos na Matriz (tabela do
seqüenciador) a serem comparados
Position DINT imediato posição atual na matriz
valor inicial é normalmente 0
Estrutura:
Prefixo: Descrição:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binário
por exemplo; 2#00110011
Execução do Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
.LEN ≤ 0
.POS < 0 não
ou bit .ER é desenergizado.
.POS > .LEN
sim
sim
fim
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução SQI passa o value_2 pela máscara para determinar se o
resultado é igual ao elemento atual em array_dint. A comparação mascarada é verdadeira,
portanto a saída da condição da linha se torna verdadeira.
Se você usar a instrução SQI sem uma instrução SQO no par, será
necessário incrementar externamente a matriz do seqüenciador.
(SQO)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Array DINT tag da matriz matriz do seqüenciador
especifica o primeiro elemento da matriz do
seqüenciador
não use CONTROL.POS em subscrito
Mask SINT tag quais bits devem ser bloqueados ou podem
INT imediato passar
DINT
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Destination DINT tag dados de saída da matriz de seqüenciador
Control CONTROL tag estrutura de controle para a operação
geralmente usa o mesmo CONTROL das
instruções SQI e SQL
Length DINT imediato número de elementos na Matriz (tabela do
seqüenciador) a serem colocados na saída
Position DINT imediato posição atual na matriz
valor inicial é normalmente 0
Estrutura:
Prefixo: Descrição:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binário
por exemplo; 2#00110011
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura O bit .EN é energizado para evitar uma carga falsa quando a varredura do programa
começar.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit .EN é desenergizado.
A saída da condição da linha é definida como falsa.
Condição: Ação:
entrada da condição da linha for verdadeira
não sim
.POS = .LEN .POS ≥ .LEN .POS = 1
sim não
não
sim
.POS = .LEN bit .DN é energizado.
não
não
.POS > .LEN
sim
erro
fim
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução SQO incrementa a posição, passa os dados naquela posição
em array_dint através da máscara e armazena o resultado emvalue_1.
(SQL)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Array DINT tag da matriz matriz do seqüenciador
especifica o primeiro elemento da matriz do
seqüenciador
não use CONTROL.POS em subscrito
Source SINT tag dados de entrada a serem carregados na
INT imediato matriz do seqüenciador
DINT
Um tag SINT ou INT é convertido para um valor DINT pela extensão de
sinal.
Control CONTROL tag estrutura de controle para a operação
geralmente usa o mesmo CONTROL das
instruções SQO e SQI
Length DINT imediato número de elementos na Matriz (tabela do
sequenciador) a serem carregados
Position DINT imediato posição atual na matriz
valor inicial é normalmente 0
Estrutura:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura O bit .EN é energizado para evitar uma carga falsa quando a varredura do programa
começar.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa O bit .EN é desenergizado.
A saída da condição da linha é definida como falsa.
Condição: Ação:
entrada da condição da linha for verdadeira
não sim
.POS = .LEN .POS ≥ .LEN .POS = 1
sim não
não
sim
.POS = .LEN bit .DN é energizado.
não
não
.POS > .LEN
sim
.LEN > sim
tamanho da
erro matriz
não
falha grave
fim
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução SQL carrega value_3 na próxima posição na matriz do sequenciador, que é array_dint[5] nesse
exemplo.
Notas:
Label (LBL)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Instrução JMP
Label name; nome do insere o nome para a instrução LBL
label; associada
Instrução LBL
Label name; nome do a execução salta para a instrução LBL
label; quando o nome do label é citado
!
A instrução LBL está no alvo da instrução JMP que tem o mesmo
nome de label. Certifique-se de que a instrução LBL é a primeira
instrução na linha.
Um nome de label deve ser único dentro de uma rotina. O nome pode:
• ser composto por até 40 caracteres
• conter letras, números e sublinhados (_)
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira A saída da condição da linha está definida como verdadeira.
A execução salta para a linha que contém a instrução LBL com o nome de
label referenciado.
Exemplo de Lógica
Ladder:
Quando a instrução JMP está habilitada, a execução salta linhas sucessivas da lógica até
alcançar a linha que contém a instrução LBL com label_20.
Sub-rotina (SBR)
Retorno (RET) Lógica Ladder Bloco de Função
A instrução JSR salta para uma rotina separada. A instrução SBR passa
dados para e executa uma rotina. A instrução RET devolve
os resultados.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Instrução JSR
Routine name ROUTINE nome rotina a ser executada
Input par SINT imediato parâmetros (0-n) a serem passados
INT tag para rotina
DINT tag da matriz
REAL
estrutura
Return par SINT tag parâmetros (0-n) a serem recebidos
INT tag da matriz da rotina
DINT
REAL
estrutura
Instrução SBR
Input par SINT tag parâmetros (0-n) recebidos de JSR
INT tag da matriz
DINT
REAL
estrutura
Instrução RET
Return par SINT imediato parâmetros (0-n) a serem retornados
INT tag para JSR
DINT tag da matriz
REAL
estrutura
rotina principal
SBR SBR SBR
action_1
JSR
action_2 action_3
JSR JSR
15294
Se: Então:
sim A. Na instrução JSR, operando Input par, digite o tag que contém
o(s) valor (es) a serem copiados.
B. Para cada entrada, repita a Etapa A.
não Omita os parâmetros de entrada
Se: Então:
sim A. Na instrução JSR, operando Return par, digite o tag que recebe
o(s) valor (es).
B. Para cada valor de retorno, repita a Etapa A.
não Omita os parâmetros de entrada
Se: Então:
sim A. Como a primeira instrução na sub-rotina, digite uma instrução
SBR.
B. No operando Input par da instrução SBR, digite o tag que
recebe o(s) valor (es) da instrução JSR.
C. Para cada operando Input par na instrução JSR, repita a
Etapa B.
não Vá para a Etapa 5.
Se: Então:
sim A. No fim da sub-rotina, adicione uma linha e digite uma instrução
RET.
B. No operando Return par da instrução RET, digite o tag que
fornece o(s) valor (es) para a instrução JSR.
C. Para cada parâmetro de retorno na instrução JSR, repita a
Etapa B.
não Vá para a Etapa 6.
Se: Então:
sim A. No local da sub-rotina onde você quer sair, digite uma linha.
B. Digite as condições para sair do local da sub-rotina.
C. Digite uma instrução RET.
D. Digite parâmetros de retorno, se necessário. Consulte as
etapas4. e5.
não Omita esta etapa.
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
O controlador executa todas as sub-rotinas independente da condição da linha,. Para
assegurar-se de que todas as linhas da sub-rotina passem por pré- varredura, o
controlador ignora as instruções RET (ou seja, as instruções RET não saem da
sub-rotina).
• Versão 6.x e anterior, parâmetros de entrada e retorno são passados.
• Versão 7.x e posterior, parâmetros de entrada e retorno não são passados.
Caso haja chamadas recorrentes para a mesma sub-rotina, realiza-se uma pré-varredura
na sub-rotina somente na primeira vez. Caso haja várias chamadas (não recorrentes)
para a mesma sub-rotina, realiza-se uma pré-varredura na sub-rotina todas as vezes.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
Condição: Ação:
não
não não
sim
fim da sub-rotina
não
fim
Exemplo de Lógica
Ladder:
exemplo 1
exemplo 2
Rotina Principal
Quando abc estiver energizado a sub-rotina_1 executa, calcula o número de cookies, e coloca um valor em cookies_1.
Sub-routine_1
Quando def estiver energizado, a instrução RET retornavalue_1para o parâmetro JSRcookies_1e uma varredura não é realizada no restante da
sub-rotina.
Quandodefestiver desenergizado (linha anterior) eghiestiver energizado, a instrução RET retorna value_2 para o parâmetro cookies_1 de JSR e
uma varredura não é realizada no restante da sub-rotina.
Quando defe ghiestiverem desenergizados (linhas anteriores) a instrução RET retorna value_3para o parâmetro cookies_1 de JSR.
Lógica Ladder
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira A saída da condição da linha está definida como verdadeira.
A rotina atual termina.
Quando a instrução TND estiver habilitada, o controlador interrompe a varredura da rotina atual.
(MCR)
Lógica Ladder
Descrição: Quando a zona MCR estiver habilitada, realiza-se uma varredura nas
linhas da zona MCR para verificar as condições normais de verdadeiro
e falso. Quando desabilitada, o controlador ainda realiza varredura
nas linhas que estão dentro de uma zona MCR, mas o tempo de
varredura é reduzido porque as saídas não retentivas na zona estão
desabilitadas. A entrada da condição da linha é falsa para todas as
instruções que estão dentro da zona MCR desabilitada.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
Realiza-se varredura nas instruções da zona, mas a entrada da condição da linha e as
saídas não retentivas na zona são desabilitadas.
entrada da condição da linha for verdadeira A saída da condição da linha está definida como verdadeira.
As instruções na zona são varridas normalmente.
Exemplo de Lógica
Ladder:
Quando a primeira instrução MCR estiver habilitada (input_1, input_2 e input_3 estão energizados), o controlador executa as linhas na
zona MCR (entre as duas instruções MCR) e energiza ou desenergiza as saídas, dependendo das condições de saída.
Quando a primeira instrução MCR estiver desabilitada (input_1, input_2 e input_3 não estão todos energizados), o controlador executa as linhas na
zona MCR (entre as duas instruções MCR) e a entrada da condição da linha se torna falsa para todas as linhas na zona MCR, independente das
condições de entrada.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira Interrupção por tarefas de prioridade mais elevada é habilitada.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica Quando um erro ocorre (error_bit está energizado), a instrução FSC verifica o código do
Ladder: erro em relação a uma lista de erros críticos. Se a instrução FSC encontra um erro que
seja crítico (error_check.FD is on), um alarme é acionado. As instruções UID e UIE evitam
que outras tarefas interrompam a verificação e o acionamento de alarmes.
UID
error_bit FSC
File Search/Compare EN
Control error_check DN
Length 10 ER
Position 8
Mode ALL
Expression error_code=error_list[error_check.POS]
error_check.FD alarm
UIE
(AFI)
Lógica Ladder
Descrição: A instrução AFI configura a sua saída da condição da linha como falsa.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira A saída da condição da linha é definida como falsa.
Exemplo de Lógica Use a instrução AFI para desabilitar temporariamente uma linha,
Ladder: enquanto estiver depurando um programa.
Lógica Ladder
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica Essa instrução é útil para localizar ramificações incondicionais quando
Ladder: se coloca a instrução NOP na ramificação.
Notas:
Instruções For/Break
(FOR, BRK, RET)
Introdução Use a instrução FOR para chamar repetidamente uma sub-rotina. Use
a instrução BRK para interromper a execução de uma sub-rotina.
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Routine ROUTINE nome da rotina a ser executada
name rotina
Index DINT tag conta quantas vezes a rotina foi executada
Initial value SINT imediato valor onde se inicia o índice
INT tag
DINT
Terminal SINT imediato valor onde parar a execução da rotina
value INT tag
DINT
Step size SINT imediato quantidade a ser acrescentada ao índice
INT tag cada vez que a instrução FOR executar a
DINT rotina
Tome cuidado para não realizar uma malha várias vezes em uma
única varredura. Um número excessivo de repetições pode fazer com
que o temporizador do watchdog do controlador expire e cause uma
falha grave.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
O controlador executa a sub-rotina uma vez.
Caso haja instruções FOR recorrentes na mesma sub-rotina, uma pré-varredura é
realizada somente na primeira vez na sub-rotina. Caso haja várias instruções FOR (não
recorrentes) na mesma sub-rotina, realiza-se uma pré-varredura na sub-rotina todas as
vezes.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira
index = initial_value
não
tamanho step < 0
sim
não
ir para o index ≤valor terminal
fim
executar rotina
index =(index + step_size)
fim
fim
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução FOR executa repetidamente routine_2 e incrementa value_2em 1 todas as vezes.
Quando value_2 é > 10 ou uma instrução BRK estiver habilitada, a instrução FOR não mais executa routine_2.
Lógica Ladder
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira A saída da condição da linha está definida como verdadeira.
A execução retorna para a instrução que segue a instrução FOR que está chamando.
Exemplo de Lógica
Ladder:
Lógica Ladder
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
rotina que está chamando sub-rotina
Quando habilitada, a instrução RTE retorna para a instrução FOR que está
chamando. A instrução FOR executa a sub-rotina novamente e
Quando habilitada, a instrução FOR executa repetidamente incrementa o valor Index pelo tamanho Step ou se o valor Index exceder o
routine_2 e incrementa value_2em 1 todas as vezes. valor Terminal, a instrução FOR é concluída e a execução se movimenta
Quando value_2 é > 10 ou uma instrução BRK estiver para a instrução que segue a instrução FOR.
habilitada, a instrução FOR não mais executa routine_2.
Notas:
Instruções Especiais
(FBC, DDT, DTR, PID)
Arquivo (FBC)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source DINT tag da matriz matriz a ser comparada com a referência
não use CONTROL.POS em subscrito
Reference DINT tag da matriz matriz a ser comparada com a fonte
não use CONTROL.POS em subscrito
Result: DINT tag da matriz matriz para armazenar o resultado
não use CONTROL.POS em subscripts
Cmp control CONTROL estrutura estrutura de controle para a comparação
Length DINT imediato número de bits a ser comparado
Position DINT imediato posição atual na fonte
valor inicial é normalmente 0
Result CONTROL estrutura estrutura de controle para os resultados
control
Length DINT imediato número de locais de armazenamento
no resultado
Position DINT imediato posição atual no resultado
valor inicial é normalmente 0
Estrutura de Comparação:
Estrutura de Resultado:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura
o bit compare.EN é
desenergizado.
o bit compare.FD é desenergizado.
compare .DN = 1
fim
Condição: Ação:
compare.DN = 1
fim
Condição: Ação:
compare.EN = 0
compare.DN = 0
não
sim
compare.POS < 0
sair
fim
página 12-8
Condição: Ação:
compara
result.DN = 1
o bit result.DN é
não desenergizado.
source[compare.POS] = o bit compare.FD é examinar o bit o valor result.POS é
reference[compare.POS] energizado. result.DN desenergizado.
sim result.DN = 0
compare.POS =
compare.POS + 1
sim
result.POS < 0
não
sim
result.LEN ≤ 0
result[result.POS] = compare.POS
result.POS = result.POS + 1
sim
Exemplo de Lógica
Ladder:
fonte 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
array_dint1
referência 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
array_dint2
resultado 5 3
array_dint3
Quando habilitada, a instrução FBC compara a fonte array_dint1 com a referência array_dint2 e armazena os
locais das diferenças no resultado array_dint3.
(DDT)
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source DINT tag da matriz a ser comparada com a referência
matriz não use CONTROL.POS em subscrito
Reference DINT tag da matriz a ser comparada com a fonte
matriz não use CONTROL.POS em subscrito
Result: DINT tag da matriz para armazenar os resultados
matriz não use CONTROL.POS em subscrito
Cmp control CONTROL estrutura estrutura de controle para a comparação
Length DINT imediato número de bits a ser comparado
Position DINT imediato posição atual na fonte
valor inicial é normalmente 0
Result CONTROL estrutura estrutura de controle para os resultados
control
Length DINT imediato número de locais de armazenamento
no resultado
Position DINT imediato posição atual no resultado
valor inicial é normalmente 0
Estrutura de Comparação:
Estrutura de Resultado:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura
compare.DN = 1
fim
Condição: Ação:
compare.DN = 1
fim
Condição: Ação:
compare.EN = 0
compare.DN bit = 0
não
sim
compare.POS < 0
sair
Comparar ir para a
saída
fim
página 12-16
Condição: Ação:
compara
result.DN = 1
o bit compare.FD é o bit result.DN é
source[compare.POS] = não energizado. desenergizado.
examinar o bit o valor result.POS é
reference[compare.POS] reference[compare.POS] result.DN
= source[compare.POS] desenergizado.
sim result.DN = 0
compare.POS =
compare.POS + 1
sim
result.POS < 0
não
sim
result.LEN ≤ 0
sim
result.POS > ir
falha grave tamanho da matriz de para
resultado
página 12-7
não
result[result.POS] = compare.POS
result.POS = result.POS + 1
não result.POS ≥
result.LEN
sim
Exemplo de Lógica
Ladder:
fonte 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
array_dint1
referência (antes da 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
comparação)
array_dint2
resultado: 5 3
array_dint3
referência (depois da 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
comparação)
array_dint2
Quando habilitada, a instrução DDT compara a fonte array_dint1 com a referência array_dint2 e armazena os
locais das diferenças no resultado array_dint3. O controlador também altera os bits de diferença na referência
array_dint2 para corresponder à fonte array_dint1.
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source DINT imediato matriz a ser comparada com a referência
tag
Mask DINT imediato quais bits devem ser bloqueados ou podem
tag passar
Reference DINT tag matriz a ser comparada com a fonte
Descrição: A instrução DTR passa o valor Source por Mask e compara o resultado
com o valor Reference. A instrução DTR também escreve o valor
Source mascarado no valor Reference para a próxima comparação.
Source permanece inalterado.
Prefixo: Descrição:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binário
por exemplo; 2#00110011
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura The Reference = Source AND Mask.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa The Reference = Source AND Mask.
A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira
sim
saída da condição da
linha é energizada
quando falsa
fim
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução DTR coloca uma máscara em value_1. Se houver diferença
entre dois valores, a saída da condição da linha é definida como verdadeira.
exemplo 1 exemplo 2
fonte
7 value_1
1 8 3 9 1 8 7
máscara = 0FFF
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
referência
value_2 1 8 7
varredura atual 0 1 8 3 0 varredura atual
varredura 0 1 8 3 0 1 8 3 varredura
anterior anterior
A linha permanecerá falsa enquanto o A linha permanecerá verdadeira durante uma
valor de entrada não for alterado. varredura quando uma alteração for detectada. 13385
Derivativo (PID)
Lógica Ladder
Operandos de Lógica
Ladder: Operando Tipo: Formato: Descrição:
PID PID estrutura estrutura PID
Process SINT tag valor a ser controlado
variable INT
DINT
REAL
Tieback SINT imediato (opcional)
INT tag saída de uma estação manual/automática de
DINT hardware que está realizando bypass da
REAL saída do controlador
insira 0 se você não quiser usar esse
parâmetro
Control SINT tag valor que vai para o dispositivo de controle
variable INT final (válvula, amortecedor etc.)
DINT se você estiver usando a zona morta, Control
REAL variable deve ser do tipo REAL ou o mesmo
será forçado em 0 quando houver um erro
dentro da zona morta
PID master PID estrutura opcional
loop tag PID para o PID mestre
Se você estiver realizando o controle em
cascata e esse PID for uma malha escrava,
insira o nome do PID mestre.
insira 0 se você não quiser usar esse
parâmetro
Inhold bit BOOL tag opcional
status atual do bit inhold de um canal de
saída analógico 1756 para suportar uma
reinicialização ininterrupta
insira 0 se você não quiser usar esse
parâmetro
Inhold value SINT tag opcional
INT valor de nova leitura de dados de uma canal
DINT de saída analógica 1756 para suportar uma
REAL reinicialização ininterrupta.
insira 0 se você não quiser usar esse
parâmetro
Estrutura: Especifique uma estrutura PID única para cada instrução PID.
bit .EN
estado da linha
execução da instrução PID
41027
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira A saída da condição da linha está definida como verdadeira.
Configuração de uma Depois de inserir a instrução PID e especificar a estrutura PID, use a
guia Configuration para especificar como a instrução PID
Instrução PID deve funcionar.
Especificação do ajuste
No campo: Especifique
Setpoint (SP) Insira um valor de setpoint (.SP).
Set output % Insira uma porcentagem de saída (.SO).
No modo manual do software, esse valor é usado para a saída.
No modo automático, esse valor exibe a % da saída.
Output bias Insira a procentagem de bias de saída (.BIAS).
Ganho proporcional (Kp) Insira o ganho proporcional (.KP).
Para ganhos independentes, este é o ganho proporcional (sem unidade).
Para ganhos dependentes, este é o ganho do controlador (sem unidade).
Ganho Integral (Ki) Insira o ganho integral (.KI).
Para os ganhos independentes, este é o ganho integral (1/s).
Para os ganhos dependentes, este é o tempo de reset (minutos por repetição).
Tempo derivativo (Kd) Insira o ganho derivativo (.KD).
Para ganhos independentes, este é o ganho derivativo (segundos).
Para os ganhos dependentes, este é o tempo da taxa em minutos.
Manual mode Selecione o manual (.MO) ou o manual do software (.SWM).
O modo Manual se sobrepõe ao manual do software se os dois forem selecionados.
Especificação da configuração
No campo: Especifique
PID equation Selecione os ganhos independentes ou ganhos dependentes (.PE).
Use independente, caso seja necessário que os três ganhos (P, I e D) operem de forma
independente. Use dependente, caso seja necessário que um ganho geral do
controlador afete os três termos (P, I e D).
Control action Selecione E=PV-SP ou E=SP-PV para control action (.CA).
Derivative of Selecione PV ou erro (.DOE).
Use o derivativo de PV para eliminar os impulsos de saída resultantes das alterações de
setpoint. Use o derivativo do erro para as respostas rápidas para as alterações de
setpoint quando o algoritmo pode tolerar excedentes.
Loop update time Insira o tempo de atualização (.UPD) para a instrução (maior do que ou igual a 0,01
segundo).
CV high limit Insira um limite superior para a variável de controle (.MAXO).
CV low limit Insira um limite inferior para a variável de controle (.MINO).
Deadband value Insira o valor da zona morta (.DB).
No derivative smoothing Habilita ou desabilita essa seleção (.NDF).
No campo: Especifique
No bias calculation Habilita ou desabilita essa seleção (.NOBC).
No zero crossing in Habilita ou desabilita essa seleção (.NOZC).
deadband
PV tracking Habilita ou desabilita essa seleção (.PVT).
Cascade loop Habilita ou desabilita essa seleção (.CL).
Cascade type Se a malha da cascata estiver habilitada, selecione escravo ou mestre (.CT).
Especificação de alarmes
No campo: Especifique
PV high Insira um valor de limite superior para o alarme alto para a PV (.PVH).
PV low Insira um valor de limite inferior para o alarme baixo para a PV (.PVL).
PV deadband Insira um valor de zona morta para o alarme de PV (.PVDB).
positive deviation Insira um valor de desvio positivo (.DVP).
negative deviation Insira um valor de desvio negativo (.DVN).
deviation deadband Insira um valor de zona morta para o alarme de desvio (.DVDB).
No campo: Especifique
PV unscaled maximum Insira um valor máximo de PV (.MAXI) igual ao valor máximo sem escala recebido do
canal de entrada analógica para o valor PV.
PV unscaled minimum Insira um valor mínimo de PV (.MINI) igual ao valor mínimo sem escala recebido do
canal de entrada analógica para o valor PV.
PV engineering units Insira as unidades de medida máximas correspondentes a .MAXI (.MAXS)
maximum
PV engineering units Insira as unidades de medida mínimas correspondentes a .MINII (.MINS)
minimum
CV maximum Insira um valor máximo de CV correspondente a 100% (.MAXCV).
CV minimum Insira um valor mínimo de CV correspondente a 0% (.MINCV).
Tieback maximum Insira um valor máximo de tieback (.MAXTIE) igual ao valor máximo sem escala
recebido do canal de entrada analógica para o valor de tieback.
Tieback minimum Insira um valor mínimo de tieback (.MINTIE) que seja igual ao valor mínimo sem escala
recebido do canal de entrada analógica para o valor de tieback.
PID Initialized Se você alterar as constantes de conversão de escala durante o modo Run, desligue
para reincializar os valores internos, anteriores à conversão de escala (.INI).
Utilização das Instruções O controle de malha fechada PID mantém uma variável de processo
em um setpoint desejado. A figura a seguir mostra um exemplo de
PID nível de taxa de fluído/fluxo:
setpoint - erro
equação PID
+
taxa de fluxo
variável de processo variável de
controle
detector de nível
14271
E = PV - SP
t
1 dPV
CV = K C E + ---- ∫ Edt + T d ----------- + BIAS
Ti dt
0
E = PV - SP
t
dPV
CV = K P E + K i ∫ Edt + Kd ----------- + BIAS
dt
0
Onde:
Variável: Descrição:
KP ganho proporcional (sem unidade)
Kp = Kc sem unidade
Ki ganho integral (segundos -1)
Para converter entre Ki (ganho integral) e Ti (tempo de reset), use:
KC
K i = -----------
60T i
Reinicialização ininterrupta
Insira o tag no bit de status InHold como o parâmetro do bit InHold da instrução PID. Insira o
tag do valor de nova leitura de Data como o parâmetro Inhold Value.
Quando o bit Inhold passar para verdadeiro, a instrução PID move Inhold Value para a saída
do tag de Controle e re-inicializa para fornecer suporte para uma reinicialização initerrupta
nesse valor. Quando o módulo de saída analógica receber esse valor de volta do
controlador, o mesmo desenergiza o bit de status InHold, o que permite que a instrução PID
inicie o controle normalmente.
Polarização derivativa
A zona morta ajustável permite que você selecione uma faixa de erro
acima e abaixo do setpoint, onde as saídas não serão alteradas desde
que o erro permaneça dentro da faixa. Essa zona morta permite o
controle do nível de correspondência entre a variável de processo e o
setpoint, sem que a saída seja alterada. A zona morta também ajuda a
reduzir o desgaste no seu dispositivo de controle final.
+ zona morta
tempo 41026
Se você estiver usando a zona morta, Control variable deve ser do tipo
REAL ou o mesmo será forçado em 0 quando houver um erro dentro
da zona morta
Malhas em cascata
Controle de um índice
Teoria PID Os números a seguir mostram o fluxo do processo para as instruções PID.
processo PID
SP Erro Exibido
Exibido como EUs
como EUs
Software A/M
ou
Modo A/M Station Polarização
Ação de da Saída %
Controle
Software A/M Define
Auto SP-PV Mode Saída %
Converte Unidades A/M Station
(Erro) em % (Out%) Auto Mode
+ Cálculo PID +
- Erro X 100 Auto Converte % em Unidades CV
SP Manual -1
PV-SP máx-mín. Limitação CV
PVT Manual da Saída CV%(máxcv-míncv)
+ míncv
não Define Manual 100
Saída %
PV
Exibido
sim como EUs Saída (CV) Exibida
em % do Fator de
Escala EU
Converte Binário para Converte Unidades de
Unidades de Medida Tieback em %
(PV-mín)(máx-mín) + min tieback-mintie
máx-min x100
maxtie-mintie
PV
Software
sim A/M Mode
Auto
Converte Binário em SP Converte Unidades
Unidades de Medida em %
Manual
(PV-mín)(máx-mín) Erro X 100 Manual
+ mín PV
maxi-mini máx-mín Os itens relacionados nesta caixa
são parâmetros, unidades e modos
pois pertencem à malha Escrava
PV
Malha
Escravo Ação de Polarização
Controle da Saída %
Define
Software A/M Saída %
Converte % em (SP) SP-PV Mode A/M Station
(Master.Out) Unidades de Medida Converte Unidades
+ em % Cálculo PID Auto Mode
X (máx-mín) - +
+ mín -1 Erro X 100 Auto Converte % em
100 PV-SP máx-mín Limitação
Manual da Saída CV%(maxcv-mincv)
Define + mincv
Converte Binário em Manual 100
Unidades de Medida Saída %
(PV-mín)(máx-mín)
+ mín Converte Unidades
maxi-mini
Tieback em %
tieback-mintie x100
maxtie-mintie
PV
Instruções Trigonométricas
(SIN, COS, TAN, ASN, ACS, ATN)
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato calcula o seno desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura SIN
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador calcula o seno de Source e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução SIN calcula o seno de <Φ1><Φ8><Φ1>. ϖαλυε e coloca o resultado em
result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato calcula o co-seno desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura COS
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador calcula o co-seno de Source e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução COS calcula o co-seno de <Φ1><Φ19><Φ1> ϖαλυε e coloca o resultado em result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor da saída de function_block_A se torna o valor da entrada para Source. A instrução calcula
o co-seno de Source e coloca o valor em Dest, que se torna o parâmetro de entrada para
function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato calcula a tangente desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura TAN
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador calcula a tangente de Source e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor da saída de function_block_A se torna o valor da entrada para Source. A instrução calcula a
tangente de Source e coloca o valor em Dest, que se torna o parâmetro da entrada para
function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato calcula o arco seno desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ASN
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador calcula o arco seno de Source e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução ASN calcula o arco seno de <Φ1><Φ19><Φ1>ϖαλυε e coloca o resultado em result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução calcula o
arco seno de Source e coloca o valor em Dest, que se torna o parâmetro de entrada para
function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato calcula o arco co-seno desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ACS
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador calcula o arco co-seno de Source e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução ACS calcula o arco co-seno de <Φ1><Φ19><Φ1>ϖαλυε e coloca o resultado em result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
instruction first run Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução calcula o
arco co-seno de Source e coloca o valor em Dest, que se torna o parâmetro de entrada para
function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato calcula o arco tangente desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ATN
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador calcula o arco tangente de Source e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução calcula o
arco tangente de Source e coloca o valor em Dest, que se torna o parâmetro de entrada para
function_block_C.
Notas:
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato encontrar o log natural desse valor.
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura LN
Parâmetros de saída
Descrição: O Source deve ser maior que zero, ou o bit de status de overflow
(S:V) é energizado. O valor resultante em Destination é maior do que
ou igual a -87,33655 e menor do que ou igual a 88,72284.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira O controlador calcula o log natural de Source e coloca o resultado em Destination.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução LN calcula o log natural de value<F1> e coloca o resultado em <F19><F1>result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn está desenergizado EnableOut está desenergizado.
EnableIn está energizado A instrução executa.
EnableOut está energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução calcula o
log natural de Source e coloca o valor em Dest, que se torna o parâmetro de entrada para
function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato encontrar o log natural desse valor.
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura LOG
Parâmetros de saída
Descrição: O Source deve ser maior que zero, ou o bit de status overflow (S:V) é
energizado. O valor resultante em Destination é maior do que ou
igual a -37,92978 e menor do que ou igual a 38,53184.
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira O controlador calcula o log de Source e coloca o resultado em Destination.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução LOG calcula o log natural de value<F1> e coloca o resultado em <F19><F1>result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn está desenergizado EnableOut está desenergizado.
EnableIn está energizado A instrução executa.
EnableOut está energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução calcula a
base de log 10 de Source e coloca o valor em Dest, que se torna o parâmetro de entrada para
function_block_C.
(XPY)
Lógica Ladder Bloco de Função
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source A SINT imediato valor de base
INT tag
DINT
REAL
Source B SINT imediato exponente
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH estrutura estrutura XPY
Parâmetros de saída
Descrição: Se Source A for negativo, Source B deve ser um valor inteiro ou uma
falha de advertência ocorrerá.
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira O controlador calcula Source A elevado à potência de Source B e coloca o resultado em
Destination.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução XPY calcula value_1 elevado à potência de value_2 e coloca o resultado em result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn está desenergizado EnableOut está desenergizado.
EnableIn está energizado A instrução executa.
EnableOut está energizado.
Exemplo do Bloco de
Função:
function_block_A
function_block_C
function_block_B
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor a ser convertido em graus.
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura DEG
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador converte Source em graus e coloca o resultado em Destination.
A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução DEG converte <Φ1><Φ19><Φ1>ϖαλυε em graus e coloca o resultado em result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução converte
Source (em radianos) para graus e coloca o resultado em Dest, que se torna o parâmetro de entrada
para function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor a ser convertido em radianos
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura RAD
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador converte Source em radianos e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução RAD converte <Φ1><Φ19><Φ1>ϖαλυε em radianos e coloca o resultado em result.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução converte
Source (em graus) para radianos e coloca o resultado em Dest, que se torna o parâmetro de entrada
para function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor a ser convertido em decimal.
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_CONVERT estrutura estrutura TOD
Parâmetros de saída
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira
não não
source < 0 source > 99.999.999 converter fonte para BCD
sim sim
S:V é definido em 1
fim
entrada se a condição da linha for verdadeira O controlador converte Source em BCD e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução TOD converte value_1 em um valor BCD e coloca o resultado em result_a.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A
O valor de saída de function_block_A se torna os valores de entrada para Source. A instrução converte
Source (valor decimal) para um valor BCD e coloca o resultado em Dest, que se torna OREF Test_value.
(FRD)
Lógica Ladder Bloco de Função
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source SINT imediato valor a ser convertido em decimal.
INT tag
DINT
Um tag SINT ou INT é convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_CONVERT estrutura estrutura FRD
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador converte Source em valor decimal e coloca o resultado em Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução FRD converte value_a para um valor decimal e coloca o resultado em result_1.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_C
O valor IREF se torna no valor de entrada para Source. A instrução converte Source
(valor BCD) em um valor decimal e coloca o resultado em Dest, que se torna o
parâmetro de entrada para function_block_C.
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Descrição:
Source REAL imediato valor a ser truncado
tag
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Operandos do Bloco de
Função:
Operando Tipo: Formato: Descrição:
tag do bloco FBD_TRUNCATE estrutura estrutura TRN
Parâmetros de saída
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada se a condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada se a condição da linha for verdadeira O controlador remove a parte fracionária de Source e coloca o resultado em
Destination.
A saída da condição da linha é definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando habilitada, a instrução TRN remove a parte fracionária de float_value_1, sem alterar a parte não
fracionária e coloca o resultado em float_value_1_truncated.
Execução do Bloco de
Função:
Condição: Ação:
pré-varredura Nenhuma ação tomada.
primeira varredura da instrução Nenhuma ação tomada.
primeira operação da instrução Nenhuma ação tomada.
EnableIn é desenergizado EnableOut é desenergizado.
EnableIn é energizado A instrução é executada.
EnableOut é energizado.
Exemplo do Bloco de
Função:
function_block_A function_block_C
O valor de saída de function_block_A se torna o valor de entrada para Source. A instrução trunca a parte fracional do
valor de Source e coloca o resultado em Dest, que se torna o parâmetro de entrada para function_block_C.
Instrução 4
Os dados fluem
A instrução entra na entre a tarefa e o
fila ASCII. buffer.
. EU off on
executa
quando efetuada a varredura e .DN
neste exemplo, ou .ER forem definidos, o bit .EM
encontra os caracteres energiza
de terminação.
A fila ASCII suporta até 16 instruções. Quando a fila está cheia, uma
instrução tenta entrar na fila em cada varredura subsequente da
instrução, como representado abaixo:
.EN off on
. EU off on
Buffer (ABL)
Lógica Ladder
Operandos de Lógica
Ladder:
ABL Operando Tipo: Formato: Insira:
ASCII Test For Buffer Line EN
Channel ? DN Channel: DINT imediato 0
SerialPort Control ? ER
Character Count ? tag
42225
Porta Serial SERIAL_PORT_ tag tag que controla a operação
ACL Control CONTROL
Character DINT imediato 0
Count
Durante a execução, exibe o número de
caracteres no buffer, até e incluindo o
primeiro conjunto dos caracteres de
terminação.
Estrutura:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira • O bit .EN está energizado.
• Os bits de status restantes, exceto .UL, são desenergizados.
• A instrução tenta entrar na fila ASCII.
• A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando temp_high_write está concluída (EM está energizado), a instrução testa continuamente o buffer quanto aos caracteres de
terminação
42226
(ACB)
Lógica Ladder
Operandos de Lógica
Ladder:
ACB Operando Tipo: Formato: Insira:
ASCII Chars in Buffer EN
Channel ? DN Channel: DINT imediato 0
SerialPort Control ? ER
Character Count ? tag
42225
Porta Serial SERIAL_PORT_ tag tag que controla a operação
AHL Control CONTROL
CII Handshake Lines EN
Character DINT imediato 0
Count
Durante a execução, exibe o número de
caracteres no buffer.
Estrutura:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira • O bit .EN está energizado.
• Os bits de status restantes, exceto .UL, são desenergizados.
• A instrução tenta entrar na fila ASCII.
• A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
weight_count.EN ACB
/ ASCII Chars in Buffer EN
Channel 0 DN
SerialPort Control weight_count ER
Character Count 0
42227
Operandos de Lógica
Ladder:
ACL Operando Tipo: Formato: Insira:
ASCII Clear Buffer
Channel ? Channel: DINT imediato 0
Clear Serial Port Read ?
Clear Serial Port Write ? tag
42225
Clear Serial BOOL imediato Para esvaziar o buffer e remover as
Port Read tag instruções ARD e ARL da fila, digite Yes.
Clear Serial BOOL imediato Para remover as instruções AWA e AWT da
Port Write tag fila, digite Yes.
Exemplo de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira • A instrução remove as instruções específicas e o(s) buffer(s).
• A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
S:FS ACL
ASCII Clear Buffer
Channel 0
Clear Serial Port Read 1
Clear Serial Port Write 1
42228
(AHL)
Lógica Ladder
Operandos de Lógica
Ladder:
AHL Operando Tipo: Formato: Insira:
ASCII Handshake Lines EN
Channel ?
AND Mask ? DN
Channel: DINT tag 0
?? imediato
OR Mask ? ER
?? ANDMask DINT imediato Consulte a descrição.
SerialPort Control ?
Channel Status(Decimal) ? tag
42225 ORMask DINT imediato
ARL
tag
Porta Serial SERIAL_PORT_ tag tag que controla a operação
Control CONTROL
Channel DINT imediato 0
Status
(Decimal) Durante a execução, exibe o status das
linhas de controle.
Estrutura:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira • O bit .EN está energizado.
• Os bits de status restantes, exceto .UL, são desenergizados.
• A instrução tenta entrar na fila ASCII.
• A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando get_control_line_status está on, a instrução AHL obtém o status das linhas de controle da porta serial e exibe o status no
operando Channel Status. Para vizualizar o status de uma linha de controle específica, monitore a tag SerialPort Control e expanda o
membro POS.
get_control_line_status AHL
ASCII Handshake Lines EN
Channel 0
AND Mask 0 DN
OR Mask 0 ER
42230
Lógica Ladder
Operandos de Lógica
Ladder:
ARD Operando Tipo: Formato: Insira:
ASCII Read EN
Channel ? Channel: DINT imediato 0
Destination ? DN
?? tag
SerialPort Control ? ER
String Length ? Destination SINT elemento primeiro elemento da matriz na qual os
Characters Read ?
INT de uma tag caracteres são movidos (leitura)
42225 DINT de matriz
AWA
ASCII W it A d EN Porta Serial SERIAL_PORT_ tag tag que controla a operação
Control CONTROL
String DINT imediato número de caracteres para mover para
Length destination (leitura)
Characters DINT imediato 0
Read
Durante a execução, exibe o número de
caracteres que foram lidos.
Estrutura:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira • O bit .EN é energizado.
• Os bits de status restantes, exceto .UL, são desenergizados.
• A instrução tenta entrar na fila ASCII.
• A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica O exemplo seguinte representa o uso de uma instrução ACB para
Ladder: verificar se o número correto de caracteres está no buffer antes que a
instrução ARD execute e leia os caracteres.
Uma balança envia os valores de pesos para a porta serial (canal 0) do controlador. Cada peso sempre contém sete caracteres. Para
determinar quando o controlador recebe um peso, a instrução ACB inclui continuamente os caracteres no buffer.
weight_count.EN ACB
/ ASCII Chars in Buffer EN
Channel 0 DN
SerialPort Control weight_count ER
Character Count 0
Quando o buffer contém ao menos sete caracteres, o controlador recebeu um peso. A instrução ARD move o peso para o tag weight_ascii,
que é uma matriz de SINTs.
GEQ ARD
Grtr Than or Eql (A>=B) ASCII Read EN
Source A weight_count.pos Channel 0
0 Destination weight_ascii[0] DN
Source B 7 '$00'
SerialPort Control weight_read ER
String Length 7
Characters Read 0
Quando o controlador termina de ler o peso (weight_read.EM está energizado), a sub-rotina Ascii_To_Real executa uma vez para
converter o peso para um valor de ponto flutuante (REAL) para uso na aplicação.
42227
(ARL)
Lógica Ladder
Operandos de Lógica
Ladder:
ARL Operando Tipo: Formato: Insira:
ASCII Read Line EN
Channel ? Channel: DINT imediato 0
Destination ? DN
?? tag
SerialPort Control ? ER
String Length ? Destination SINT elemento primeiro elemento da matriz na qual os
Characters Read ?
INT de um tag caracteres são movidos (leitura)
42225 DINT de matriz
AWT
ASCII W it EN Porta Serial SERIAL_PORT_ tag tag que controla a operação
Control CONTROL
String DINT imediato número de caracteres máximo para mover
Length para destination (ex.: quando parar de ler
se nenhum caracter de terminação for
encontrado)
Characters DINT imediato 0
Read
Durante a execução, exibe o número de
caracteres que foram lidos.
Estrutura:
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira • O bit .EN está energizado.
• Os bits de status restantes, exceto .UL, estão desenergizados.
• A instrução tenta entrar na fila ASCII.
• A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica O seguinte exemplo representa o uso de uma instrução ABL para
Ladder: testar o buffer quanto ao final da mensagem antes da instrução ARL
ler a mensagem.
Depois de enviar uma mensagem para o terminal MessageView, como indicado por temp_high_write.EM, o controlador espera que um
operador reconheça a mensagem. Cada reconhecimento varia de 3 a 6 caracteres, mas sempre termina em $r. Como $r é configurado
como o caracter de terminação na janela Properties do Controlador, guia User Protocol, a instrução ABL testa continuamente o buffer
quanto ao $r.
Quando a instrução ABL encontra o $r (ack.FD é energizado), o controlador recebeu o reconhecimento pelo operador. A instrução ARL
remove os caracteres do buffer, até e incluindo o $r, e coloca-os no tag temp_high_ack tag, que é uma matriz SINT.
ack.FD ARL
ASCII Read Line EN
Channel 0
Destination temp_high_ack[0] DN
'$00'
SerialPort Control temp_high_ack_read ER
String Length 6
Characters Read 0
42226
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Insira:
AWA
ASCII Write Append EN
Channel ? Channel: DINT imediato 0
Source ? DN tag
??
SerialPort Control ? ER Source SINT elemento primeiro elemento de matriz que contém
String Length ?
Characters Sent ? INT de uma tag o dado a ser enviado
42225 DINT de matriz
Porta Serial SERIAL_PORT_ tag tag que controla a operação
Control CONTROL
String DINT imediato número de caracteres a serem enviados
Length
Characters DINT imediato 0
sent
Durante a execução, exibe o número de
caracteres que foram enviados
Estrutura:
Se: Então:
sim Selecione modo do Usuário
não Selecione ou o modo do Sistema ou do
Usuário
3. Use uma matriz de SINTs para o source. Cada caracter ASCII usa
oito bits (um SINT), para que cada elemento da matriz armazene
um caracter.
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira • O bit .EN está energizado.
• Os bits de status restantes, exceto .UL, estã desenergizados.
• A instrução tenta entrar na fila ASCII.
• A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando a temperatura exceder o limite superior (temp_high is on), a instrução AWA envia uma mensagem para o terminal MessageView
que está conectado à porta serial do controlador. A mensagem contém nove caracteres da matriz msg_5. A instrução também envia
(anexa) os caracteres definidos nas propriedades do controlador. Neste exemplo, a instrução AWA envia um caracterer $0D, que marca o
fim da mensagem
temp_high AWA
ASCII Write Append EN
Channel 0
Source msg_5[0] DN
'$14'
SerialPort Control temp_high_write ER
String Length 9
Characters Sent 0
42226
Lógica Ladder
Operandos de Lógica
Ladder:
Operando Tipo: Formato: Insira:
AWT
ASCII Write EN
Channel ? Channel: DINT imediato 0
Source ? DN tag
??
SerialPort Control ? ER Source SINT elemento primeiro elemento de matriz que contém
String Length ?
Characters Sent ? INT de uma tag o dado a ser enviado
42225 DINT de matriz
Porta Serial SERIAL_PORT_ tag tag que controla a operação
Control CONTROL
String DINT imediato número de caracteres a serem enviados
Length
enviar DINT imediato 0
caracteres
Durante a execução, exibe o número de
caracteres que foram enviados
Estrutura:
3. Use uma matriz de SINTs para o source. Cada caracter ASCII usa
oito bits (um SINT), para que cada elemento da matriz tenha
armazenado um caracter.
Condições de Falha:
Execução de Lógica
Ladder:
Condição: Ação:
pré-varredura A saída da condição da linha é definida como falsa.
entrada da condição da linha for falsa A saída da condição da linha é definida como falsa.
entrada da condição da linha for verdadeira • O bit .EN está energizado.
• Os bits de status restantes, exceto .UL, estão desenergizados.
• A instrução tenta entrar na fila ASCII.
• A saída da condição da linha está definida como verdadeira.
Exemplo de Lógica
Ladder:
Quando a temperatura alcança o limite inferior (temp_low está energizado), a instrução AWT envia uma mensagem para o terminal
MessageView que está conectado à porta serial do controlador. A mensagem contém os primeiros 10 caracteres da matriz msg_4. O
décimo caracter é um $0D, que marca o fim da mensagem.
temp_low AWT
ASCII Write EN
Channel 0
Source msg_4[0] DN
'$00'
SerialPort Control temp_low_msg_send ER
String Length 10
Characters Sent 0
42229
Notas:
Atributos Comuns
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).
EQU
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B 2#1111_1111_1111_1111
42093
EQU
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B int_0
2#1111_1111_1111_1111
42093
MOV EQU
Move Equal
Source 2#1111_1111_1111_1111 Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Dest int_0 Source B int_0
2#1111_1111_1111_1111 2#1111_1111_1111_1111
42093
– 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.
Dados Retentivos Se usar um IREF para especificar dados de entrada para uma instrução
de bloco de função, os dados neste IREF serão retidos para a
varredura da rotina do bloco de função. O IREF retém dados de tags
de uso geral do controlador e específicos do programa. O controlador
atualiza todos os dados IREF no início de cada varredura.
IREF
tagA
Block_02
tagA
Block_02
tagA
1 2 3
1 3 5
2 4 6
1 2 3
DEDT NTCH
DERV PI
HPF PIDE
INTG RLIM
LDLG SCRV
LDL2 SOC
LPF TOT
A atualização da entrada do processo deve ser sincronizada com a execução da tarefa ou amostragem 5-10
vezes mais rápida do que a da tarefa, a fim de minimizar o erro de amostragem entre a entrada e
a instrução.
amostragem configurada No modo de amostragem configurada, o período delta (Delta T) usado pela instrução é o valor escrito no
parâmetro OversampleDT da instrução. Use este modo quando a instrução executa em uma tarefa contínua
e a entrada do processo não tem timestamp associado com as atualizações. Se a entrada do processo tiver
timestamp, prefira usar o modo de amostragem em tempo real.
Adicione lógica para o programa controlar quando a instrução executa. Por exemplo, pode-se usar um
temporizador ajustado para o valor OversampleDeltaT para controlar a execução usando a entrada EnableIn
da instrução.
A entrada do processo deve ser amostrada 5-10 vezes mais rápido do que a execução da instrução, a fim de
minimizar o erro de amostragem entre a entrada e a instrução.
amostragem em tempo real No modo de amostragem em tempo real, o período delta (Delta T) usado pela instrução é a diferença entre
dois valores de registro de data e hora que correspondem às atualizações da entrada do processo. Use este
modo quando a instrução executa em uma tarefa contínua e a entrada do processo tem um registro de data
e hora associado às atualizações.
O valor de registro de data e hora é lido a partir do nome do tag inserido no parâmetro RTSTimeStamp da
instrução. Normalmente, este nome de tag é um parâmetro no módulo de entrada associado com a entrada
do processo.
A instrução compara o valor configurado RTSTime (período programado de atualização) com o DeltaT
calculado para determinar se todas as atualizações da entrada do processo estão sendo lidas pela
instrução. Se o DeltaT não estiver dentro de 1 milissegundo do tempo de configuração, a instrução ajusta o
bit de status RTSMissed para indicar que um problema existe na leitura de atualizações para a entrada no
módulo.
Parâmetros de entrada
válido = 0 a 2
valor inicial = 0
Parâmetros de saída
Periódico: DeltaT = taxa de varredura da tarefa se a tarefa for Periodic, DeltaT = tempo
transcorrido desde a execução da instrução anterior se a tarefa for Continuous
Temporização na
Temporização periódica amostragem configurada Temporização em tempo real
Se DeltaT < 0 ou DeltaT > 4194,303 segs. Se DeltaT > 0, a instrução executa.
a instrução ajusta DeltaT = 0,0 e
energiza o bit apropriado em Status. Se |RTSTIME - DeltaT| > 1, a instrução energiza o bit
RTSMissed em Status.
Se DeltaT > 0, a instrução executa.
Determine o tipo de tarefa
Entrada: Descrição:
.ProgProgReq Um programa solicita para ir ao controle de
Programa.
.ProgOperReq Um programa solicita para ir ao controle pelo
Operador.
.OperProgReq Um operador solicita para ir ao controle de
Programa.
.OperOperReq Um operador solicita para ir ao controle pelo
Operador.
Quando StartupSequenceActive
é energizada, a instrução PIDE é
colocada no controle de
Programa e no modo Manual. O
valor StartupCV é usado como
uma saída de malha.
Quando o Botão TIC101AutoReq for pressionado, monoestável retém ProgAutoReq para a instrução PIDE
TIC101. O TIC101 foi configurado com o ajuste da entrada ProgValueReset, então quando a instrução PIDE
executa, esta desenergiza automaticamente ProgAutoReq.
Notas:
C E
cálculo 5-2 energizar saída 1-5
caracteres ASCII no buffer 16-7 energizar saída com retenção 1-6
carga do sequenciador 9-12 entrada do sequenciador 9-2
carga FIFO 8-10 escala 12-29
carga LIFO 8-22 escrita ASCII 16-24
classificação 7-43 estrutura CONTROL 7-7, 7-19, 7-39, 7-43, 7-47, 8-2,
códigos de erro 8-6, 8-10, 8-16, 8-22, 8-28, 9-2, 9-7, 9-12,
ASCII 16-4 12-3, 12-11
instrução MSG 3-8 estrutura da MENSAGEM 3-2
combinação de tipos de dados A-1 estrutura do CONTADOR 2-23, 2-27
comparação 4-2 estrutura FBD_BIT_FIELD_DISTRIBUTE 6-13
comparação de bit de arquivo 12-2 estrutura FBD_COMPARE 4-7, 4-10, 4-13, 4-16, 4-19,
comparação e busca de arquivo 7-19 4-32
condições de overflow B-5 estrutura FBD_CONVERT 6-29, 15-8, 15-12
configuração 3-14 estrutura FBD_COUNTER 2-31
instrução MSG 3-14 estrutura FBD_LIMIT 4-23
instrução PID 12-26 estrutura FBD_LOGICAL 6-17, 6-21, 6-25
contagem crescente 2-23 estrutura FBD_MASK_EQUAL 4-28
contagem crescente/decrescente 2-31 estrutura FBD_MASKED_MOVE 6-7
contagem decrescente 2-27 estrutura FBD_MATH 5-7, 5-10, 5-13, 5-16, 5-20,
controle de programa/pelo operador 14-7
O S
objeto AXIS 3-33 saída do sequenciador 9-7
objeto CONTROLLER 3-42 salto 10-2
objeto CONTROLLERDEVICE 3-42 salto para sub-rotina 10-4
T
tangente 13-8
temporizador de desenergização 2-6
temporizador de desenergização com reset 2-17
temporizador de energização 2-2
temporizador de energização com reset 2-14
temporizador retentivo energizado com reset 2-20
temporizador retentivo ligado 2-10
teste ASCII para linha buffer 16-5
truncagem 15-15
V
valor absoluto 5-29
valores imediatos A-1
X
X elevado à potência de Y 14-7
Z
zeramento 6-16
zona morta 12-37