FDB_RD

Lê um registro de dados do tipo DATA com índice REC_NUM da tabela TAB_ID no banco de dados em flash.

A função retorna resultado do tipo “UINT” como um valor do tipo RET_CODE, podendo este ser HILS.SUCCESS se executada com sucesso, caso contrário, indica o respectivo código de erro.

Dica

Assista ao vídeo tutorial para aprender a utilizar os blocos de função relacionados a memória flash: Banco de dados em flash.

Bloco

             FDB_RD
        +---------------+
 INT ---|TAB_ID         |--- INT
        |               |
UINT ---|REC_NUM        |
        |               |
 ANY ---|DATA --------- |---
        +---------------+

Parâmetro

Nome

Classe

Tipo

Descrição

TAB_ID

Entrada

INT

Identificador da tabela a ser acessada

REC_NUM

Entrada

UINT

Nro do registro de dados a ser acessado

DATA

Entrada/Saída

Data a ser obtido

Retorno

Tipo Dado

Descrição

INT

Código de retorno na execução da função, do tipo RET_CODE, onde:

  • Se for igual a 0: Função executada com sucesso - código HILS.SUCCESS

  • Se for diferente de 0: Falha na execução da função indica o respectivo código de erro. [3]

A tabela abaixo ilustra alguns dos possíveis códigos de retorno desta função.

RESULT

LABEL [4]

Descrição

0

HILS.SUCCESS

Função executada com sucesso.

5

HILS.GL_INV_PAR

Parâmetro(s) inválido(s). Por exemplo, TAB_ID inválida, Tamanho do parâmetro DATA inválido.

39

HILS.RE_INV_ADDR

REC_NUM mapeia em um endereço inválido no banco de dados.

Exemplo

Declaração de Tipos de Dados

Exemplo de declaração de uma estrutura de dados definida pelo usuário, a ser utilizada para especificar os registros de dados a serem lidos/escritos na tabela em flash.

Tipos de Dados

Derivação

Nome

Tipo

Dimensão

Descrição

DBF_DATA

Estrutura

Estrutura de especificação do registro de dados

enable

BOOL

Habilitação do controle

setpoint

REAL

Valor do set point

histerese

REAL

Histerese do set point

tempoON

TIME

Tempo de operação da máquina

Declaração de Variáveis

Nome

Tipo

Descrição

data_user

DBF_DATA

Variável com tipo de dados do usuário

reg_idx

INT

Índice do registro dentro da tabela em flash

tab_code

UINT

Identificador da tabela a ser acessada

ret_code

INT

Código de retorno da execução da função

SP

REAL

Valor do set point

HS

REAL

Histerese do set point

Clique aqui para baixar a tabela de variáveis

Código ST

(* ... *)
(* Le o primeiro registro de dados do tipo "data_user" na tabela em flash *)

tab_code := 0;  (* identificador da tabela criada na flash, obtida da função "FDB_INIT" *)
reg_idx  := 0;  (* Indice do primeiro registro dentro da tabela em flash *)
ret_code := HILS.FDB_RD(TAB_ID := tab_code, REC_NUM := reg_idx, DATA := data_user);
if (ret_code = HILS.SUCCESS) then    (* testa se leitura do registro com sucesso na flash *)
  (* trata registro lido com sucesso da flash *)
  (* ... *)
  if (data_user.enable) then     (* checa  campo "enable"    do registro lido na flash *)
      SP := data_user.setpoint;   (* acessa campo "setpoint"  do registro lido na flash *)
      HS := data_user.histerese;  (* acessa campo "histerese" do registro lido na flash *)
      (* ... *)
  end_if;
end_if;
(* ... *)
(* Le o segundo registro de dados do tipo "data_user" na tabela em flash *)

tab_code := 0;  (* identificador da tabela criada na flash, obtida da função "FDB_INIT" *)
reg_idx  := 1;  (* Indice do segundo registro dentro da tabela em flash *)
ret_code := HILS.FDB_RD(tab_code, reg_idx, data_user);
if (ret_code = 0) then    (* testa se leitura do registro com sucesso na flash *)
  (* trata registro lido com sucesso da flash *)
  (* ... *)
end_if;
(* ... *)