INSERT

Insere a string IN2 dentro da string IN1 a partir da posição P. É uma função pura (sem estado; retorna o resultado diretamente).

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

Função

                  INSERT
              +-------------+
ANY_STRING ---|IN1          |--- ANY_STRING
              |             |
ANY_STRING ---|IN2          |
              |             |
   ANY_INT ---|P            |
              +-------------+

Nota

Caso as strings IN1 ou IN2 sejam inválidas a string de saída não será alterada e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.

Caso o valor de P seja menor que 1 a string de saída não será alterada e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.

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

Parâmetros

Nome

Direção

Tipo

Faixa / Unidade

Descrição

IN1

IN

ANY_STRING

—

String de entrada a ser modificada.

IN2

IN

ANY_STRING

—

String a ser inserida.

P

IN

ANY_INT

>= 1

Posição de inserção.

Retorno / Saídas

Tipo

Faixa / Unidade

Descrição

ANY_STRING

—

String resultante da operação de inserção.

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    value_in1 : STRING; (* valor do operando de entrada 1 *)
    value_in2 : STRING; (* valor do operando de entrada 2 *)
    value_out : STRING; (* valor resultante da operação *)
    value_p   : INT;    (* posição de inserção *)
END_VAR

(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_in1 := 'AEF';  (* STRING a ser fornecido *)
value_in2 := 'BCD';  (* STRING a ser fornecido *)
value_p   := 2;
value_out := INSERT(IN1 := value_in1, IN2 := value_in2, P := value_p);
    (* resultado value_out = 'ABCDEF' *)
(* ... *)