MID

Retorna um número L de caracteres da string de entrada IN 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

                    MID
              +-------------+
ANY_STRING ---|IN           |--- ANY_STRING
              |             |
   ANY_INT ---|L            |
              |             |
   ANY_INT ---|P            |
              +-------------+

Esta função retorna L caracteres da string IN, iniciando na posição P.

Nota

Caso o valor de L seja menor que zero 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 L ou maior que o tamanho da string IN 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

IN

IN

ANY_STRING

—

String de entrada.

L

IN

ANY_INT

—

Número de caracteres a partir da posição inicial.

P

IN

ANY_INT

—

Posição inicial da string a ser obtida.

Retorno / Saídas

Tipo

Faixa / Unidade

Descrição

ANY_STRING

—

String resultante da operação.

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    value_in  : STRING; (* valor do operando de entrada *)
    value_out : STRING; (* valor resultante da operação *)
    value_l   : INT;    (* tamanho da string retornada *)
    value_p   : INT;    (* posição inicial da string a ser retornada *)
END_VAR

(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_in  := 'ABCDE'; (* STRING a ser fornecido *)
value_l   := 3;       (* Valor a ser fornecido *)
value_p   := 2;       (* Valor a ser fornecido *)
value_out := MID(IN := value_in, L := value_l, P := value_p);
    (* resultado value_out = 'BCD' *)
(* ... *)