Banco de Dados em Flash - Leitura de Variáveis¶
| Bloco de Controle Padrão | |
| Função | Banco de Dados em Flash - Leitura de Variáveis |
| Código | 001 / 003 ![]() |
| Caminho | Programa/Editor Ladder/Elementos/Especiais/Bloco de controle Padrão |
| Grupo | Especiais |
| Ícone | ![]() |
| Tabela de compatibilidade de firmwares | |
| Geração de Firmware | GI, GII, GII-DUO, G3, G3S, G3R |
A função deste bloco é viabilizar o acesso ao Banco de Dados em Flash (DB Flash), ou seja,
ler um registro de dados do BD para a base de dados do PLC. Considera-se como registro de dados
uma combinação qualquer de variáveis do tipo R, M, D ou L
. Este bloco é executado em um único ciclo
de scan do programa ladder.
O Banco de Dados em Flash ROM tem a capacidade de armazenar uma quantidade de variáveis e os dados armazenados nestas variáveis não são perdidos quando se desliga o equipamento.
A quantidade de dados pode variar de acordo com o controlador utilizado. Para saber a capacidade de armazenamento, é necessário verificar a especificação do controlador a ser utilizado.
Nas aplicações é possível mesclar os Tipos de variáveis a serem
salvas no Banco de Dados, de modo a permitir salvar registros de dados compostos
pelas variáveis R, M, D e L(Banco de Dados em Flash - Escrita de Variáveis)
. De maneira
análoga, permite-se a leitura de registros de dados compostos por variáveis R, M, D e L
.
Em linhas gerais, a memória Flash é uma memória que depende de uma carga elétrica para ser escrito um valor especifico e depois de uma descarga para ser gravado o valor inverso, e, por isso, especifica-se o limite de 10.000 ciclos de escrita efetivos em cada conjunto de 128 bytes, denominados de páginas da memória no BD.
Para utilizar o BD nos controladores é necessário, configurar a quantidade de
variáveis que serão mapeadas no BD para cada tipo de variável (R, M, D e L
).
Para isso, deve-se entrar no ambiente de programação e selecionar o
Setup do Programa .
Para inseri-lo no programa, deve-se posicionar o cursor na posição desejada, selecionar no menu
à esquerda o grupo Especiais e clicar no ícone correspondente,
.
Parâmetros¶
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | 0..Max(K) | Função do bloco SCB de acesso de leitura
no BD. Deve ser uma constante inteira,
cujo o valor deve ser 1 ou 3 . |
| P2 | M | M[x + 0] | Número inicial da variável tipo contato (R) ser lido no BD.(Endereço na origem R base de dados em flash) |
| M[x + 1] | Quantidade de variáveis do tipo contato(R) a serem lidos no BD. Caso não existam variáveis do tipo R a serem lidas, deve-se especificar o valor 0 (zero). (Quantidade de variáveis R a serem lidas na base de dados em flash) | ||
| M[x + 2] | Número inicial da variável tipo contato (R) na base de dados do PLC, a partir do qual serão armazenados os dados lidos do BD. (Endereço destino R na base de dados do PLC). | ||
| M[x + 3] | Número inicial da variável tipo memória inteira (M) ser lida no BD. (Endereço origem M na base de dados em flash) | ||
| M[x + 4] | Quantidade de variáveis do tipo memória inteira (M) a sereml lidas no BD. Caso não existam variáveis do tipo M a serem lidas, deve-se especificar o valor 0 (zero).(Quantidade de variáveis M a serem lidas na base de dados em flash). | ||
| M[x + 5] | Número inicial da variável tipo memória inteira (M) na base de dados do PLC, a partir do qual serão armazenados os dados lidos do BD.(Endereçodestino M na base de dados do PLC). | ||
| M[x + 6] | Número inicial da variável tipo memória real (D) ser lida no BD.(Endereço origem D na base de dados em flash) | ||
| M[x + 7] | Quantidade de variáveis do tipo memória real (D) a serem lidos no BD. Caso não existam variáveis do tipo D a serem lidas, deve-se especificar o valor 0 (zero). (Quantidade de variáveis D a serem lidas na base de dados em flash). | ||
| M[x + 8] | Número inicial da variável tipo memória real (D) na base de dados do PLC, a partir do qual serão armazenados os dados lidos do BD. (Endereço destino D na base de dados do PLC) | ||
| M[x + 9] | Número inicial da variável tipo memória
real (L) ser lida no BD.(Endereço origem
L na base de dados em flash). ![]() |
||
| M[x + 10] | Quantidade de variáveis do tipo memória
real (L) a serem lidos no BD. Caso não
existam variáveis do tipo L a serem lidas,
deve-se especificar o valor 0 (zero).
(Quantidade de variáveis L a serem lidas
na base de dados em flash). ![]() |
||
| M[x + 11] | Número inicial da variável tipo memória
real (L) na base de dados do PLC, a partir
do qual serão armazenados os dados lidos
do BD.(Endereço destino L na base de
dados do PLC). ![]() |
||
| P3 | M | M[y + 0] | Parâmetro não utilizado para esta função (parâmetro dummy). |
| P4 | M | M[z + 0] | Código de retorno da execução da função. Para mais informações sobre os códigos de erro, consulte a Tabela de códigos de retorno do controlador . |
Entradas¶
Saída¶
| Descrição das Saídas | |||
|---|---|---|---|
| Saída | Função | Estado | Descrição |
| B1 | Ativação/Falha | Inativo | A saída B1 sempre estará inativa se a entrada A1 estiver inativa. Quando a entrada A1 for ativada a saída B1 permanecerá inativa enquando o bloco estiver executando o comando associado indicando que o processo ainda não terminou. |
| Ativo | Indica fim de execução do processo associado ao bloco. Para identificar se a função foi executada com sucesso é necessário examinar o parâmetro P4, que contém o código indicando o resultado da execução do processo associado. Para mais informações sobre os códigos disponíveis para esta função consulte a Tabela de códigos de retorno do controlador. | ||
Descrição de alguns códigos de retorno em P4¶
| Código de Retorno | Descrição |
|---|---|
| 0 | Função executada com sucesso. Nenhuma falha identificada no processo. |
| 206 | Variável R, M, D ou L acessada na base de dados do PLC pelo programa de aplicação não está alocada. Exemplo: Solicitar a leitura de dados do BD e nem todas as variáveis R, M, D ou L, indicadas como destino dos dados, estão alocadas na base de dados da aplicação. Por exemplo, solicitar a leitura de 100 memórias M do BD e que serão salvas nas memórias M200 a M299 da base de dados do PLC, mas na base de dados da aplicação têm-se alocadas até a memória M250. Exemplo: Solicitar a escrita de dados no BD e nem todas as variáveis R, M, D ou L, indicadas como origem dos dados, estão alocadas na base de dados da aplicação. Por exemplo, solicitar a escrita de 50 memórias D no BD, cujos valores estão nas memórias D100 a D149 da base de dados da aplicação, mas na base de dados da aplicação têm-se alocadas até a memória D120. |
| 212 | Variável R, M, D ou L a ser lida/escrita no BD não foi alocada no BD. Exemplo: Solicitar a leitura de dados do BD e nem todas as variáveis R, M, D ou L indicadas como origem dos dados estão alocadas no BD. Por exemplo, solicitar a leitura de 100 memórias M do BD, mas na configuração do BD têm-se alocadas apenas 80 variáveis do tipo M. Exemplo: Solicitar a escrita de dados no BD e nem todas as variáveis R, M, D ou L indicadas como destino dos dados estão alocadas no BD solicitar a escrita de 50 memórias D no BD, mas na configuração do BD não existe nenhuma variável do tipo D alocada. |
| 213 | Variáveis R, M,D ou L acessadas na base de dados do PLC estão distribuídas na memória RAM e NVRAM. Neste caso deve-se executar a função desejada (read / write) em duas etapas, uma contemplando todas as variáveis desejadas que estão na RAM e outra contemplando todas as variáveis desejadas que estão na NVRAM. Exemplo: Solicitar a leitura de dados do BD e uma parte das variáveis R, M, D ou L indicadas como destino dos dados estão alocadas em memória RAM e outra parte das variáveis está alocada em memória NVRAM da base de dados do PLC. Exemplo: Solicitar a escrita de dados no BD e uma parte das variáveis R, M, D ou L indicadas como origem dos dados estão alocadas em memória RAM e outra parte das variáveis está alocada em memória NVRAM da base de dados do PLC. |


