Pular para o conteúdo principal

STR_COMPARE

STR_COMPARE compara STR1 e STR2 e grava o resultado da comparação em COMP. A comparação pode diferenciar ou não maiúsculas de minúsculas, dependendo da entrada SENSITIVE.

Representação em Ladder

Representação do bloco STR_COMPARE

Estrutura de blocos

Tipo de variávelNomeTipo de dadoDescrição
VAR_INPUTENBOOLHabilita o bloco.
VAR_INPUTSTR1STRINGPrimeira string usada na comparação.
VAR_INPUTSTR2STRINGSegunda string usada na comparação.
VAR_INPUTSENSITIVEBOOLDefine se caracteres maiúsculos e minúsculos são tratados como diferentes.
VAR_OUTPUTDONEBOOLIndica que a operação foi concluída com sucesso.
VAR_OUTPUTCOMPBYTEValor do resultado da comparação.

Operação

Enquanto EN for TRUE, o bloco compara STR1 com STR2 e atualiza COMP.

Quando SENSITIVE é TRUE, caracteres maiúsculos e minúsculos são comparados como caracteres diferentes. Quando SENSITIVE é FALSE, a comparação ignora diferenças de maiúsculas e minúsculas.

A comparação utiliza os valores ASCII dos caracteres. Quando a operação é concluída com êxito, DONE passa o valor de EN para o próximo bloco Ladder.

Resultado da comparação

COMPSignificado
0STR1 e STR2 são iguais.
-1STR1 vem antes de STR2 em ordem alfabética.
1STR1 vem depois de STR2 em ordem alfabética.

Compatibilidade

EquipamentoVersão
PLC3002.10 ou superior

Fluxograma de execução

Fluxograma de execução do STR_COMPARE

Exemplos

Exemplo de Ladder com STR_COMPARE, onde STR1 vem antes de STR2

O código ASCII de a, o primeiro caractere de STR1, é menor que o código ASCII de c, o primeiro caractere de STR2. COMP recebe -1, e DONE é ativado quando o bloco é concluído com êxito.

Exemplo de Ladder com STR_COMPARE em que STR1 vem depois de STR2

O código ASCII de a, o primeiro caractere de STR1, é maior que o código ASCII de ., o primeiro caractere de STR2. COMP recebe 1, e DONE é ativado quando o bloco é concluído com êxito.

Exemplo de Ladder STR_COMPARE com strings iguais

STR1 e STR2 são iguais. COMP recebe 0, e DONE é ativado quando o bloco é concluído com êxito.

Exemplo de Ladder com STR_COMPARE e comparação que não diferencia maiúsculas de minúsculas

STR1 e STR2 são iguais quando diferenças de maiúsculas e minúsculas são ignoradas, pois SENSITIVE é FALSE. COMP recebe 0, e DONE é ativado quando o bloco é concluído com êxito.

Exemplo Ladder de STR_COMPARE com comparação sensível a maiúsculas e minúsculas

STR1 e STR2 são diferentes quando se consideram diferenças de maiúsculas e minúsculas, pois SENSITIVE é TRUE. O código ASCII de a, o primeiro caractere de STR1, é maior que o código ASCII de A, o primeiro caractere de STR2; portanto, COMP recebe 1, e DONE é ativado quando o bloco é concluído com êxito.