CONCAT

Realiza a concatenação (junção) de um número variável de strings (mínimo 2) e retorna a string resultante. É uma função pura (sem estado).

Biblioteca: IEC_STD · Namespace: IEC · Tipo: função

Função

                  CONCAT
              +-----------+
ANY_STRING ---|IN0      OUT|--- ANY_STRING
              |             |
ANY_STRING ---|IN1          |
              |             |
              | :           |
ANY_STRING ---|INn          |
              +-----------+

Realiza a concatenação das strings de entrada IN0, IN1, …, INn e retorna a string resultante. A função aceita qualquer tipo de dados do grupo ANY_STRING.

Importante

A string de saída que irá receber o valor concatenado não pode ser nenhuma string da lista fornecida, exceto a primeira string. Por exemplo:

  • Correto: S1 := CONCAT(S1, S2, S3);

  • Incorreto: S2 := CONCAT(S1, S2, S3); (resultado incorreto)

Nota

Se a operação resultar em uma string maior que a capacidade da string de saída, o processo será cancelado e o tipo de erro pode ser obtido através da função GET_SYSTEM_ERR.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

IN0

IN

ANY_STRING

—

—

Primeira string de entrada.

IN1

IN

ANY_STRING

—

—

Segunda string de entrada.

INn

IN

ANY_STRING

—

—

Strings adicionais (número variável de parâmetros).

Retorno / Saídas

Tipo

Descrição

ANY_STRING

String resultante da concatenação de todas as strings de entrada.

Observações

  • Esta função aceita como parâmetros de entrada qualquer tipo de dados do grupo ANY_STRING.

  • Todos os parâmetros de entrada e o valor de retorno devem ser do mesmo tipo.

  • A função é extensível: aceita um número variável de parâmetros (mínimo 2).

Ver também

GET_HEXASC_STR, Grupos de tipos de dados

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    value_in1 : STRING := 'A';   (* valor do operando de entrada 1 *)
    value_in2 : STRING := 'BC';  (* valor do operando de entrada 2 *)
    value_in3 : STRING := 'DEF'; (* valor do operando de entrada 3 *)
    value_in4 : STRING := 'XZ';  (* valor do operando de entrada 4 *)
    value_out : STRING;          (* valor resultante da operação *)
END_VAR

(* Exemplo de ativação da função dentro da POU *)
value_out := CONCAT(value_in1, value_in2, value_in3, value_in4);
(* resultado value_out = 'ABCDEFXZ' *)