FDB_INIT

Cria uma tabela de dados a ser alocada no banco de dados em flash do controlador, para posterior acesso de leitura/escrita de registro de dados.

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.

A cada chamada desta função é alocado um espaço no banco de dados em flash para uma tabela com capacidade para MAX_RECS registros de dados do tipo DATA. Nesta tabela podem ser armazenados diversos tipos de registros de dados, por exemplo: configuração de setup da máquina, configuração de operação do processo, receitas para produtos da máquina, etc.

Importante

Para cada tipo de registro de dados é necessário criar uma tabela distinta, sendo que em cada tabela é possível armazenar vários registros do mesmo tipo de dados.

A função retorna resultado do tipo “UINT” de acordo com o resultado da execução da função. Quando realizada com sucesso, a função retorna um identificador TAB_ID para a tabela alocada. Este identificador deve ser utilizado posteriormente pelas funções de leitura (FDB_RD) e escrita (FDB_WR) de registros no banco de dados em flash.

Se a função falhar, esta retorna o valor -1. Os motivos de falha são:

  • nro máximo de tabelas disponíveis no equipamento foi atingido;

  • sem espaço disponível no banco de dados para alocar a tabela solicitada;

  • quantidade de registros a serem alocados na tabela inválido, por exemplo, igual a 0;

  • estrutura de dados de especificação do registro de dados inválida ou vazia.

Nota

O banco de dados em flash do controlador suporta um número de tabelas de dados a serem reservadas para leitura/escrita de registros de dados. O número máximo de tabelas suportadas é função do fimware do equipamento associado e pode ser obtido no manual do controlador.

Bloco

            FDB_INIT
         +----------------+
         |                |
UINT ----|MAX_RECS        |---- INT
         |                |
 ANY ----|DATA            |
         |                |
         +----------------+

Parâmetro

Nome

Parâmetro

Tipo Dado

V. Ini.

Descrição

MAX_RECS

Entrada

UINT

Quantidade de registros de dados a serem alocados nesta tabela em flash

DATA

Entrada/Saída

ANY

Variável cujo tipo de dado será utilizado como registro de dados da tabela

Retorno

Tipo Dado

Descrição

UINT

Identificador TAB_ID da tabela alocada no banco de dados em flash do controlador. Se sucesso na alocação, retorna identificador de 0 até a capacidade máxima de tabelas disponibilizada em cada família de controlador. Se a função falhar, retorna o valor -1.

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

tot_rec

UINT

Número de registros a serem alocados na tabela em flash

data_user

DBF_DATA

Variável do tipo estrutura “DBF_DATA” definida pelo usuário

tab_code

UINT

Identificador da tabela criada no banco dados em flash

Clique aqui para baixar a tabela de variáveis

Código ST

(* ... *)
(* Exemplo de criação de uma tabela na flash com 2 registros do tipo "data_user" *)

tot_rec  := 2;  (* total de registros a serem alocados nesta tabela em flash *)
tab_code := HILS.FDB_INIT(MAX_RECS := tot_rec, DATA := data_user);
if (tab_code <> -1) then
  (* Tabela criada com sucesso na flash *)
  (* ... *)
end_if;
(* ... *)