GET_SYSTEM_ERR

Retorna o código de falha (SYSTEM_ERR) atribuído pela última função de biblioteca chamada que pode gerar erro durante o processamento; deve ser consultada imediatamente após a função avaliada. É uma função.

Biblioteca: HI_STD · Namespace: HILS · Tipo: função

Função

 GET_SYSTEM_ERR
+---------------+
|               |---- INT
+---------------+

As funções de biblioteca que podem falhar atribuem, a cada execução, um código de retorno à variável interna do firmware SYSTEM_ERR. O valor SUCCESS (0) indica que a função foi executada corretamente; qualquer valor diferente de SUCCESS indica falha no processamento. GET_SYSTEM_ERR devolve o conteúdo atual dessa variável para o programa de aplicação validar a execução da função utilizada.

Importante

O teste do resultado deve ser realizado imediatamente após a execução da função avaliada, antes da chamada de qualquer outra função de biblioteca (que sobrescreveria SYSTEM_ERR).

Parâmetros

Nenhum.

Retorno / Saídas

Tipo

Faixa / Unidade

Descrição

INT

RET_CODE

Código de erro da última função executada. 0 (SUCCESS) = execução com sucesso; diferente de 0 = falha. Lista completa: RET_CODE - Códigos de retorno do firmware G5.

Pré-condições

  • A função avaliada deve ter sido chamada imediatamente antes, sem nenhuma outra chamada de função de biblioteca no intervalo.

Observações

  • O código retornado corresponde aos identificadores da tabela de códigos de retorno (ex.: HILS.SUCCESS, HILS.GL_INV_PAR).

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    str   : STRING := '123'; (* string de teste *)
    i_val : INT;             (* valor convertido *)
END_VAR

(* Exemplo de utilização da função GET_SYSTEM_ERR para verificação de erros de execução *)
(* ... *)
(* converte o conteudo de uma string em um valor numérico.
   Neste caso o conteúdo pode nao ser numérico, o que invalida a conversão *)
i_val := STRING_TO_INT(str);
IF (HILS.GET_SYSTEM_ERR() = HILS.SUCCESS) THEN
  (* conversão com sucesso: i_val recebe o valor 123 da string de teste *)
  ;
ELSE
  (* conversão com falha: i_val retorna 0 *)
  ;
END_IF;
(* ... *)