Você está na página 1de 14

TIPOS DE COMPARADORES

IGUAL

Você pode usar a instrução "Equal" para determinar se um primeiro valor de comparação
(<Operand1>) é igual a um segundo valor de comparação (<Operand2>).

Se a condição da comparação for atendida, a instrução retorna o resultado da operação lógica


(RLO) “1”. Se a condição de comparação não for atendida, a instrução retornará RLO “0”. O RLO
da instrução é logicamente combinado com o RLO de toda a linha da seguinte forma:

Por AND, quando a instrução de comparação está conectada em série.

Por OR, quando a instrução de comparação está conectada em paralelo.

Especifique o primeiro valor de comparação (<Operand1>) no espaço reservado do operando


acima da instrução. Especifique o segundo valor de comparação (<Operand2>) no espaço
reservado do operando abaixo da instrução.

Se a verificação IEC estiver habilitada, os operandos a serem comparados deverão ser do


mesmo tipo de dados. Se a verificação IEC não estiver habilitada, a largura dos operandos
deverá ser a mesma.

Comparação de números de ponto flutuante

Se você quiser comparar os tipos de dados REAL ou LREAL, então em vez da instrução "CMP ==:
Equal" recomendamos usar a instrução "IN_RANGE: Valor dentro do intervalo".

Quando números de ponto flutuante são comparados, os operandos a serem comparados


devem ter o mesmo tipo de dados, independentemente da configuração do IEC Check.

Os padrões de bits especiais de números de ponto flutuante inválidos (NaN) que são o
resultado de resultados indefinidos (por exemplo, raiz de -1) não são comparáveis. Isso significa
que se um dos operandos tiver o valor NaN, a instrução “CMP ==:Equal” terá o resultado
FALSO.

Comparação de cadeias de caracteres

Os caracteres individuais são comparados por meio de seu código (por exemplo, 'a' é maior
que 'A') durante a comparação das strings. A comparação é realizada da esquerda para a
direita. O primeiro caractere diferente decide o resultado da comparação.

A tabela a seguir mostra exemplos de comparações de strings:

Comparação de temporizadores, data e hora

Padrões de bits de temporizadores, datas e horas inválidos, por ex. DT#2015-13-33-


25:62:99.999_999_999, não pode ser comparado. Isso significa que se um dos operandos
possuir valor inválido, a instrução "CMP ==:Equal" terá o resultado FALSO.
Nem todos os tempos podem ser comparados diretamente entre si, como S5TIME. Neste caso
eles são convertidos implicitamente em outro horário para que possam ser comparados, por
exemplo, com TIME.

Se você quiser comparar datas e horas de diferentes tipos de dados, o valor do tipo de dados
de data ou hora menor será convertido implicitamente no tipo de dados de data ou hora maior.
Isso significa que os dois tipos de dados de data e hora, DATE e DTL, por exemplo, são
comparados com base no DTL.

Quando as conversões implícitas falham, o resultado da comparação é FALSO.

Comparando tags do tipo de dados WORD com tags do tipo de dados S5TIME

Ambas as tags são convertidas para o tipo de dados TIME ao comparar uma tag do tipo de
dados WORD com uma tag do tipo de dados S5TIME. A tag WORD é interpretada como um
valor S5TIME. Se uma das duas tags não puder ser convertida, a comparação não será realizada
e o resultado será FALSO. Se a conversão for bem-sucedida, a comparação será realizada com
base na instrução de comparação selecionada.

Comparação de tipos de dados de hardware

Para poder comparar os operandos do tipo de dados PORT, você precisa selecionar o tipo de
dados WORD na lista suspensa na caixa de instruções.

Se você deseja comparar os dois tipos de dados de hardware HW_IO e HW_DEVICE, você deve
primeiro criar um tag do tipo de dados HW_ANY na seção "Temp" da interface do bloco e
depois copiar o LADDR (do tipo de dados HW_DEVICE) para o tag. É então possível comparar
HW_ANY e HW_IO.

Comparação de estruturas

Você pode comparar os valores de dois operandos estruturados quando ambas as tags são do
mesmo tipo de dados de estrutura. Quando as estruturas são comparadas, os operandos a
serem comparados devem ter o mesmo tipo de dados independente da configuração do IEC
Check. Uma exceção são as comparações nas quais um dos dois operandos é VARIANT ou ANY.
Se o tipo de dados ainda não for conhecido quando o programa foi criado, você poderá usar o
tipo de dados VARIANT. Neste caso você também pode comparar o operando com uma tag
estruturada de qualquer tipo de dados. Você também pode comparar duas tags do tipo de
dados VARIANT ou ANY entre si.

Você pode selecionar o tipo de dados VARIANT para comparação de estruturas na lista
suspensa na caixa de instruções. São possíveis tags dos seguintes tipos de dados:

Tipo de dados PLC (UDT)

STRUCT (ou a estrutura do tipo de dados STRUCT deve estar contida em um tipo de dados PLC
ou as duas estruturas a serem comparadas devem ser dois elementos de um ARRAY de STRUCT.
Blocos de dados de instância e tags de estruturas anônimas não são permitidos.)

Blocos de dados derivados de um tipo de dados PLC.

Tag para a qual ANY está apontando

Tag para a qual VARIANT está apontando


Os seguintes requisitos devem ser atendidos para comparar duas tags do tipo de dados ARRAY
com VARIANT selecionada:

Cada elemento deve ter o mesmo tipo de dados.

Os dois ARRAYs devem ter a mesma dimensão.

Todas as dimensões devem ter o mesmo número de elementos. Os limites exatos do ARRAY
não precisam ser iguais.

Se um elemento dentro das estruturas que você deseja comparar for um STRING/WSTRING
inválido, uma hora ou data inválida ou um número de ponto flutuante inválido, o resultado da
comparação no RLO (resultado da operação lógica) retornará o estado do sinal "0 ".

A saída "TagOut" é definida quando as seguintes condições são atendidas:

Os operandos “TagIn_1” e “TagIn_2” possuem estado de sinal “1”.

A condição da instrução de comparação é atendida se "Tag_Value1" = "Tag_Value2".

DIFERENTE

Você pode usar a instrução "Diferente" para determinar se um primeiro valor de comparação
(<Operand1>) não é igual a um segundo valor de comparação (<Operand2>).

Se a condição da comparação for atendida, a instrução retorna o resultado da operação lógica


(RLO) “1”. Se a condição de comparação não for atendida, a instrução retornará RLO “0”. O RLO
da instrução é logicamente combinado com o RLO de toda a linha da seguinte forma:

Por AND, quando a instrução de comparação está conectada em série.

Por OR, quando a instrução de comparação está conectada em paralelo.

Especifique o primeiro valor de comparação (<Operand1>) no espaço reservado do operando


acima da instrução. Especifique o segundo valor de comparação (<Operand2>) no espaço
reservado do operando abaixo da instrução.

Se a verificação IEC estiver habilitada, os operandos a serem comparados deverão ser do


mesmo tipo de dados. Se a verificação IEC não estiver habilitada, a largura dos operandos
deverá ser a mesma.

Comparação de números de ponto flutuante

Se você quiser comparar os tipos de dados REAL ou LREAL, então em vez da instrução "CMP <>:
Diferente" recomendamos usar a instrução "OUT_RANGE: Valor fora do intervalo".

Se números de ponto flutuante estiverem sendo comparados, os operandos a serem


comparados deverão ser do mesmo tipo de dados, independentemente da configuração de
verificação IEC.
Os padrões de bits especiais de números de ponto flutuante inválidos (NaN) que são o
resultado de resultados indefinidos (por exemplo, raiz de -1) não são comparáveis. Isso significa
que se um dos operandos tiver o valor NaN, a instrução “CMP <>: Diferente” terá o resultado
FALSO.

Comparação de cadeias de caracteres

Os caracteres individuais são comparados por meio de seu código (por exemplo, 'a' é maior
que 'A') durante a comparação das strings. A comparação é realizada da esquerda para a
direita. O primeiro caractere diferente decide o resultado da comparação.

A tabela a seguir mostra exemplos de comparações de strings:

Você também pode comparar caracteres individuais de uma string. O número do caractere a
ser comparado é especificado entre colchetes ao lado do nome do operando. "MyString[2]",
por exemplo, compara o segundo caractere da string "MyString".

Comparação de temporizadores, data e hora

Padrões de bits de temporizadores, datas e horas inválidos, por ex. DT#2015-13-33-


25:62:99.999_999_999, não pode ser comparado. Isso significa que se um dos operandos
possuir valor inválido, a instrução “CMP <>: Diferente” terá o resultado TRUE.

Nem todos os tempos podem ser comparados diretamente entre si, como S5TIME. Neste caso
eles são convertidos implicitamente em outro horário para que possam ser comparados, por
exemplo, com TIME.

Se você quiser comparar datas e horas de diferentes tipos de dados, o valor do tipo de dados
de data ou hora menor será convertido implicitamente no tipo de dados de data ou hora maior.
Isso significa que os dois tipos de dados de data e hora, DATE e DTL, por exemplo, são
comparados com base no DTL.

Quando as conversões implícitas falham, o resultado da comparação é FALSO.

Comparando tags do tipo de dados WORD com tags do tipo de dados S5TIME

Ambas as tags são convertidas para o tipo de dados TIME ao comparar uma tag do tipo de
dados WORD com uma tag do tipo de dados S5TIME. A tag WORD é interpretada como um
valor S5TIME. Se uma das duas tags não puder ser convertida, a comparação não será realizada
e o resultado será FALSO. Se a conversão for bem-sucedida, a comparação será realizada com
base na instrução de comparação selecionada.

Comparação de tipos de dados de hardware

Para poder comparar os operandos do tipo de dados PORT, você precisa selecionar o tipo de
dados WORD na lista suspensa na caixa de instruções.
Se você deseja comparar os dois tipos de dados de hardware HW_IO e HW_DEVICE, você deve
primeiro criar um tag do tipo de dados HW_ANY na seção "Temp" da interface do bloco e
depois copiar o LADDR (do tipo de dados HW_DEVICE) para o tag. É então possível comparar
HW_ANY e HW_IO.

Comparação de estruturas

Você pode comparar os valores de dois operandos estruturados quando ambas as tags são do
mesmo tipo de dados de estrutura. Quando as estruturas são comparadas, os operandos a
serem comparados devem ter o mesmo tipo de dados independente da configuração do IEC
Check. Uma exceção são as comparações nas quais um dos dois operandos é VARIANT ou ANY.
Se o tipo de dados ainda não for conhecido quando o programa foi criado, você poderá usar o
tipo de dados VARIANT. Neste caso você também pode comparar o operando com uma tag
estruturada de qualquer tipo de dados. Você também pode comparar duas tags do tipo de
dados VARIANT ou ANY entre si.

Você pode selecionar o tipo de dados VARIANT para comparação de estruturas na lista
suspensa na caixa de instruções. Os seguintes tipos de dados são possíveis:

Tipo de dados CLP

STRUCT (a estrutura do tipo de dados STRUCT deve estar contida em um tipo de dados PLC
(UDT) ou as duas estruturas a serem comparadas são dois elementos de um ARRAY de STRUCT.
Estruturas anônimas não são permitidas.)

Tag para a qual ANY está apontando

Tag para a qual VARIANT está apontando

Os seguintes requisitos devem ser atendidos para comparar duas tags do tipo de dados ARRAY
com VARIANT selecionada:

Cada elemento deve ter o mesmo tipo de dados.

Os dois ARRAYs devem ter a mesma dimensão.

Todas as dimensões devem ter o mesmo número de elementos. Os limites exatos do ARRAY
não precisam ser iguais.

Se um elemento dentro das estruturas que você deseja comparar for um STRING/WSTRING
inválido, uma hora ou data inválida ou um número de ponto flutuante inválido, o resultado da
comparação no RLO (resultado da operação lógica) retornará o estado do sinal "0 ".

A saída "TagOut" é definida quando as seguintes condições são atendidas:

Os operandos “TagIn_1” e “TagIn_2” possuem estado de sinal “1”.

A condição da instrução de comparação é atendida se "Tag_Value1" <> "Tag_Value2".

MAIOR OU IGUAL
Descrição

Você pode usar a instrução "Maior ou igual" para determinar se um primeiro valor de
comparação (<Operand1>) é maior ou igual a um segundo valor de comparação (<Operand2>).
Ambos os valores a serem comparados devem ser do mesmo tipo de dados.

Se a condição da comparação for atendida, a instrução retorna o resultado da operação lógica


(RLO) “1”. Se a condição de comparação não for atendida, a instrução retornará RLO “0”. O RLO
da instrução é logicamente combinado com o RLO de toda a linha da seguinte forma:

Por AND, quando a instrução de comparação está conectada em série.

Por OR, quando a instrução de comparação está conectada em paralelo.

Especifique o primeiro valor de comparação (<Operand1>) no espaço reservado do operando


acima da instrução. Especifique o segundo valor de comparação (<Operand2>) no espaço
reservado do operando abaixo da instrução.

Comparação de cadeias de caracteres

Os caracteres individuais são comparados por meio de seu código (por exemplo, 'a' é maior
que 'A') durante a comparação das strings. A comparação é realizada da esquerda para a
direita. O primeiro caractere diferente decide o resultado da comparação. Se a parte esquerda
da string mais longa for idêntica à string mais curta, a string mais longa será considerada maior.

A tabela a seguir mostra exemplos de comparações de strings:

Você também pode comparar caracteres individuais de uma string. O número do caractere a
ser comparado é especificado entre colchetes ao lado do nome do operando. "MyString[2]",
por exemplo, compara o segundo caractere da string "MyString".

Comparação de temporizadores, data e hora

Quando os valores de tempo são comparados, o RLO da instrução é "1" se o ponto de tempo
em <Operand1> for maior (mais recente) ou igual ao ponto de tempo em <Operand2>.

Nem todos os tempos podem ser comparados diretamente entre si, como S5TIME. Neste caso
eles são convertidos implicitamente em outro horário para que possam ser comparados, por
exemplo, com TIME.

Se você quiser comparar datas e horas de diferentes tipos de dados, o valor do tipo de dados
de data ou hora menor será convertido implicitamente no tipo de dados de data ou hora maior.
Isso significa que os dois tipos de dados de data e hora, DATE e DTL, por exemplo, são
comparados com base no DTL.

Quando as conversões implícitas falham, o resultado da comparação é FALSO.


Comparando tags do tipo de dados WORD com tags do tipo de dados S5TIME

Ambas as tags são convertidas para o tipo de dados TIME ao comparar uma tag do tipo de
dados WORD com uma tag do tipo de dados S5TIME. A tag WORD é interpretada como um
valor S5TIME. Se uma das duas tags não puder ser convertida, a comparação não será realizada
e o resultado será FALSO. Se a conversão for bem-sucedida, a comparação será realizada com
base na instrução de comparação selecionada.

A saída "TagOut" é definida quando as seguintes condições são atendidas:

Os operandos “TagIn_1” e “TagIn_2” possuem estado de sinal “1”.

A condição da instrução de comparação é atendida se "Tag_Value1" >= "Tag_Value2".

MENOR OU IGUAL

Descrição

Você pode usar a instrução "Less or equal" para determinar se um primeiro valor de
comparação (<Operand1>) é menor ou igual a um segundo valor de comparação
(<Operand2>). Ambos os valores a serem comparados devem ser do mesmo tipo de dados.

Se a condição da comparação for atendida, a instrução retorna o resultado da operação lógica


(RLO) “1”. Se a condição de comparação não for atendida, a instrução retornará RLO “0”. O RLO
da instrução é logicamente combinado com o RLO de toda a linha da seguinte forma:

Por AND, quando a instrução de comparação está conectada em série.

Por OR, quando a instrução de comparação está conectada em paralelo.

Especifique o primeiro valor de comparação (<Operand1>) no espaço reservado do operando


acima da instrução. Especifique o segundo valor de comparação (<Operand2>) no espaço
reservado do operando abaixo da instrução.

Comparação de cadeias de caracteres

Os caracteres individuais são comparados por meio de seu código (por exemplo, 'a' é maior
que 'A') durante a comparação das strings. A comparação é realizada da esquerda para a
direita. O primeiro caractere diferente decide o resultado da comparação. Se a parte esquerda
da string mais longa for idêntica à string mais curta, a string mais curta será considerada menor.

A tabela a seguir mostra exemplos de comparações de strings:


Você também pode comparar caracteres individuais de uma string. O número do caractere a
ser comparado é especificado entre colchetes ao lado do nome do operando. "MyString[2]",
por exemplo, compara o segundo caractere da string "MyString".

Comparação de temporizadores, data e hora

Quando os valores de tempo são comparados, o RLO da instrução será "1" se o ponto no
tempo em <Operand1> for menor (menos recente) ou igual ao ponto no tempo em
<Operand2>.

Nem todos os tempos podem ser comparados diretamente entre si, como S5TIME. Neste caso
eles são convertidos implicitamente em outro horário para que possam ser comparados, por
exemplo, com TIME.

Se você quiser comparar datas e horas de diferentes tipos de dados, o valor do tipo de dados
de data ou hora menor será convertido implicitamente no tipo de dados de data ou hora maior.
Isso significa que os dois tipos de dados de data e hora, DATE e DTL, por exemplo, são
comparados com base no DTL.

Quando as conversões implícitas falham, o resultado da comparação é FALSO.

Comparando tags do tipo de dados WORD com tags do tipo de dados S5TIME

Ambas as tags são convertidas para o tipo de dados TIME ao comparar uma tag do tipo de
dados WORD com uma tag do tipo de dados S5TIME. A tag WORD é interpretada como um
valor S5TIME. Se uma das duas tags não puder ser convertida, a comparação não será realizada
e o resultado será FALSO. Se a conversão for bem-sucedida, a comparação será realizada com
base na instrução de comparação selecionada.

A saída "TagOut" é definida quando as seguintes condições são atendidas:

Os operandos “TagIn_1” e “TagIn_2” possuem estado de sinal “1”.

A condição da instrução de comparação é atendida se "Tag_Value1" <= "Tag_Value2".

MAIOR

Descrição

Você pode usar a instrução "Maior que" para determinar se um primeiro valor de comparação
(<Operand1>) é maior que um segundo valor de comparação (<Operand2>). Ambos os valores
a serem comparados devem ser do mesmo tipo de dados.

Se a condição da comparação for atendida, a instrução retorna o resultado da operação lógica


(RLO) “1”. Se a condição de comparação não for atendida, a instrução retornará RLO “0”. O RLO
da instrução é logicamente combinado com o RLO de toda a linha da seguinte forma:

Por AND, quando a instrução de comparação está conectada em série.

Por OR, quando a instrução de comparação está conectada em paralelo.


Especifique o primeiro valor de comparação (<Operand1>) no espaço reservado do operando
acima da instrução. Especifique o segundo valor de comparação (<Operand2>) no espaço
reservado do operando abaixo da instrução.

Comparação de cadeias de caracteres

Os caracteres individuais são comparados por meio de seu código (por exemplo, 'a' é maior
que 'A') durante a comparação das strings. A comparação é realizada da esquerda para a
direita. O primeiro caractere diferente decide o resultado da comparação. Se a parte esquerda
da string mais longa for idêntica à string mais curta, a string mais longa será considerada maior.

A tabela a seguir mostra exemplos de comparações de strings:

Você também pode comparar caracteres individuais de uma string. O número do caractere a
ser comparado é especificado entre colchetes ao lado do nome do operando. "MyString[2]",
por exemplo, compara o segundo caractere da string "MyString".

Comparação de temporizadores, data e hora

Quando os valores de tempo são comparados, o RLO da instrução é "1" se o ponto de tempo
em <Operand1> for maior (mais recente) que o ponto de tempo em <Operand2>.

Nem todos os tempos podem ser comparados diretamente entre si, como S5TIME. Neste caso
eles são convertidos implicitamente em outro horário para que possam ser comparados, por
exemplo, com TIME.

Se você quiser comparar datas e horas de diferentes tipos de dados, o valor do tipo de dados
de data ou hora menor será convertido implicitamente no tipo de dados de data ou hora maior.
Isso significa que os dois tipos de dados de data e hora, DATE e DTL, por exemplo, são
comparados com base no DTL.

Quando as conversões implícitas falham, o resultado da comparação é FALSO.

Comparando tags do tipo de dados WORD com tags do tipo de dados S5TIME

Ambas as tags são convertidas para o tipo de dados TIME ao comparar uma tag do tipo de
dados WORD com uma tag do tipo de dados S5TIME. A tag WORD é interpretada como um
valor S5TIME. Se uma das duas tags não puder ser convertida, a comparação não será realizada
e o resultado será FALSO. Se a conversão for bem-sucedida, a comparação será realizada com
base na instrução de comparação selecionada.

A saída "TagOut" é definida quando as seguintes condições são atendidas:


Os operandos “TagIn_1” e “TagIn_2” possuem estado de sinal “1”.

A condição da instrução de comparação é cumprida se "Tag_Value1" > "Tag_Value2".

MENOR

Descrição

Você pode usar a instrução "Less than" para determinar se um primeiro valor de comparação
(<Operand1>) é menor que um segundo valor de comparação (<Operand2>). Ambos os valores
a serem comparados devem ser do mesmo tipo de dados.

Se a condição da comparação for atendida, a instrução retorna o resultado da operação lógica


(RLO) “1”. Se a condição de comparação não for atendida, a instrução retornará RLO “0”. O RLO
da instrução é logicamente combinado com o RLO de toda a linha da seguinte forma:

Por AND, quando a instrução de comparação está conectada em série.

Por OR, quando a instrução de comparação está conectada em paralelo.

Especifique o primeiro valor de comparação (<Operand1>) no espaço reservado do operando


acima da instrução. Especifique o segundo valor de comparação (<Operand2>) no espaço
reservado do operando abaixo da instrução.

Comparação de cadeias de caracteres

Os caracteres individuais são comparados por meio de seu código (por exemplo, 'a' é maior
que 'A') durante a comparação das strings. A comparação é realizada da esquerda para a
direita. O primeiro caractere diferente decide o resultado da comparação. Se a parte esquerda
da string mais longa for idêntica à string mais curta, a string mais curta será considerada menor.

A tabela a seguir mostra exemplos de comparações de strings:

Você também pode comparar caracteres individuais de uma string. O número do caractere a
ser comparado é especificado entre colchetes ao lado do nome do operando. "MyString[2]",
por exemplo, compara o segundo caractere da string "MyString".

Comparação de temporizadores, data e hora

Quando os valores de tempo são comparados, o RLO da instrução é "1" se o ponto no tempo
em <Operand1> for menor (menos recente) que o ponto no tempo em <Operand2>.

Nem todos os tempos podem ser comparados diretamente entre si, como S5TIME. Neste caso
eles são convertidos implicitamente em outro horário para que possam ser comparados, por
exemplo, com TIME.

Se você quiser comparar datas e horas de diferentes tipos de dados, o valor do tipo de dados
de data ou hora menor será convertido implicitamente no tipo de dados de data ou hora maior.
Isso significa que os dois tipos de dados de data e hora, DATE e DTL, por exemplo, são
comparados com base no DTL.

Quando as conversões implícitas falham, o resultado da comparação é FALSO.

Comparando tags do tipo de dados WORD com tags do tipo de dados S5TIME

Ambas as tags são convertidas para o tipo de dados TIME ao comparar uma tag do tipo de
dados WORD com uma tag do tipo de dados S5TIME. A tag WORD é interpretada como um
valor S5TIME. Se uma das duas tags não puder ser convertida, a comparação não será realizada
e o resultado será FALSO. Se a conversão for bem-sucedida, a comparação será realizada com
base na instrução de comparação selecionada.

A saída "TagOut" é definida quando as seguintes condições são atendidas:

Os operandos “TagIn_1” e “TagIn_2” possuem estado de sinal “1”.

A condição da instrução de comparação é atendida se "Tag_Value1" < "Tag_Value2".

DENTRO DO INTERVALO

Descrição

Você pode usar a instrução "Valor dentro do intervalo" para consultar se o valor na entrada VAL
está dentro de um intervalo de valores específico.

Você especifica os limites da faixa de valores com as entradas MIN e MAX. A instrução “Valor
dentro da faixa” compara o valor da entrada VAL com os valores das entradas MIN e MAX e
envia o resultado para a saída da caixa. Se o valor na entrada VAL satisfaz a comparação MIN <=
VAL ou VAL <=MAX, a saída da caixa tem o estado de sinal "1". Caso a comparação não seja
cumprida, a saída da caixa fica com o estado de sinal “0”.

Se a entrada da caixa tiver o estado de sinal “0”, a instrução “Valor dentro da faixa” não será
executada.

A função de comparação só pode ser executada se os valores a serem comparados forem do


mesmo tipo de dados e a entrada da caixa estiver interligada.

Parâmetros

A tabela a seguir mostra os parâmetros da instrução "Valor dentro da faixa":


A saída "TagOut" é definida quando as seguintes condições são atendidas:

Os operandos “TagIn_1” e “TagIn_2” possuem estado de sinal “1”.

O valor do operando “Tag_Value” está dentro da faixa de valores especificada pelos valores
atuais dos operandos “Tag_Min” e “Tag_Max” (MIN <= VAL ou VAL <= MAX).

O operando “TagIn_3” possui o estado de sinal “1”.

FORA DO INTERVALO

Descrição

Você pode usar a instrução "Valor fora do intervalo" para consultar se o valor na entrada VAL
está fora de um intervalo de valores específico.

Você especifica os limites da faixa de valores com as entradas MIN e MAX. A instrução “Valor
fora da faixa” compara o valor da entrada VAL com os valores das entradas MIN e MAX e envia
o resultado para a saída da caixa. Se o valor na entrada VAL satisfaz a comparação MIN > VAL
ou VAL >MAX, a saída da caixa tem o estado de sinal "1". A saída da caixa também possui o
estado de sinal “1” se um operando especificado com tipo de dados REAL apresentar um valor
inválido.

A saída da caixa retorna o estado do sinal “0”, se o valor na entrada VAL não satisfizer a
condição MIN > VAL ou VAL > MAX.

Se a entrada da caixa tiver o estado de sinal “0”, a instrução “Valor fora da faixa” não será
executada.

A função de comparação só pode ser executada se os valores a serem comparados forem do


mesmo tipo de dados e a entrada da caixa estiver interligada.

Parâmetros

A tabela a seguir mostra os parâmetros da instrução "Valor fora da faixa":


A saída "TagOut" é definida quando as seguintes condições são atendidas:

Os operandos “TagIn_1” e “TagIn_2” possuem estado de sinal “1”.

O valor do operando “Tag_Value” está fora da faixa de valores especificada pelos valores dos
operandos “Tag_Min” e “Tag_Max” (MIN > VAL ou VAL > MAX).

O operando “TagIn_3” possui o estado de sinal “1”.

VALIDO

Descrição

Você pode usar a instrução "Verificar validade" para verificar se o valor de um operando
(<operando>) é um número de ponto flutuante válido. A consulta é iniciada em cada ciclo do
programa quando o estado do sinal na entrada da instrução é “1”.

A saída da instrução possui estado de sinal “1” quando o valor do operando é um número de
ponto flutuante válido no momento da consulta e a entrada da instrução possui estado de sinal
“1”. Em todos os outros casos, o estado do sinal na saída da instrução "Verificar validade" é "0".

Você pode usar a instrução "Verificar validade" junto com o mecanismo EN. Se você conectar a
caixa de instruções a uma entrada de habilitação EN, a entrada de habilitação será definida
somente quando o resultado da consulta de validade do valor for positivo. Você pode usar esta
função para garantir que uma instrução seja habilitada somente quando o valor do operando
especificado for um número de ponto flutuante válido.

Parâmetros

A tabela a seguir mostra os parâmetros da instrução "Verificar validade":

Quando os valores dos operandos "Tag_Value1" e "Tag_Value2" apresentam números de ponto


flutuante válidos, a instrução "Multiply" é executada. O valor do operando “Tag_Value1” é
multiplicado pelo valor do operando “Tag_Value2”. O produto da multiplicação é então escrito
no operando “Tag_Result”. Se a instrução for executada sem erros, o operando TagOut na saída
habilita “ENO” passa para o estado de sinalização “1”.
INVALIDO

Descrição

Você pode usar a instrução "Verificar invalidez" para verificar se o valor de um operando
(<operando>) é um número de ponto flutuante inválido. A consulta é iniciada em cada ciclo do
programa quando o estado do sinal na entrada da instrução é “1”.

A saída da instrução possui estado de sinal “1” quando o valor do operando é um número de
ponto flutuante inválido no momento da consulta e a entrada da instrução possui estado de
sinal “1”. Em todos os outros casos, o estado do sinal na saída da instrução "Verificar invalidez"
é "0".

Parâmetros

A tabela a seguir mostra os parâmetros da instrução "Verificar invalidez":

Quando o valor do operando "TagIn_Value" for um número de ponto flutuante inválido, a


instrução "Mover valor" não será executada. O operando "TagOut" na saída de habilitação ENO
é colocado no estado de sinal "0".

Você também pode gostar