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 |
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;
(* ... *)