Escolar Documentos
Profissional Documentos
Cultura Documentos
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 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".
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.
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 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.
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.
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:
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.)
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 ".
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 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".
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.
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".
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.
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.
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:
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.)
Os seguintes requisitos devem ser atendidos para comparar duas tags do tipo de dados ARRAY
com VARIANT selecionada:
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 ".
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.
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.
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".
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.
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.
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.
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.
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.
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.
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.
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.
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".
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.
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.
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.
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.
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".
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.
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.
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.
Parâmetros
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).
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.
Parâmetros
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).
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
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