Banco de Dados em Flash - Escrita de Variáveis¶
| Bloco de Controle Padrão | |
|---|---|
| Função | Banco de Dados em Flash - Escrita de Variáveis |
| Código | 002 / 004 ![]() |
| 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, salvar um registro de dados definido na base de dados do PLC no BD.
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 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.
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
. De maneira análoga, permite-se a
leitura de registros de dados compostos por variáveis R, M, D e L (Banco de Dados em Flash - Leitura de Variáveis).
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.
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, 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
.
Parâmetros¶
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | 0..Max(K) | Função do bloco SCB de acesso de escrita no BD.
Deve ser uma constante inteira cujo valor deve ser
2 ou 4 . |
| P2 | M | M[x + 0] | Número inicial da variável tipo contato (R) na base de dados do PLC a ser escrita no BD.(Endereço origem R na base de dados do PLC) |
| 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) no BD a partir do qual serão escritos os dados da base de dados do PLC (Endereço destino R na base de dados em flash) | ||
| M[x + 3] | Número inicial da variável tipo memória inteira (M) na base de dados do PLC a ser escrita no BD. (Endereço origem M na base de dados do PLC) | ||
| M[x + 4] | Quantidade de variáveis do tipo memória inteira (M) a serem escritas no BD. Caso não existam variáveis do tipo M a serem escritas, deve-se especificar o valor 0 (zero). (Quantidade de variáveis M a serem escritas no BD em flash). | ||
| M[x + 5] | Número inicial da variável tipo memória inteira (M) no BD a partir do qualserão escritos os dados da base de dados do PLC (Endereço destino M na base de dados em flash) | ||
| M[x + 6] | Número inicial da variável tipo memória real (D) na base de dados do PLC a ser escrita no BD. (Endereço origem D na base de dados do PLC) . | ||
| M[x + 7] | Quantidade de variáveis do tipo memória real (D) a serem escritas no BD. Caso não existam variáveis do tipo D a serem escritas, deve-se especificar o valor 0 (zero).(Quantidade de variáveis D a serem escritas no BD em flash) | ||
| M[x + 8] | Número inicial da variável tipo memória real (D) no BD, a partir do qual serão escritos os dados da base de dados do PLC (Endereço destino D na base de dados em flash) | ||
| M[x + 9] | Número inicial da variável tipo memória real (L) na
base de dados do PLC a ser escrita no BD. (Endereço
origem L na base de dados do PLC). ![]() |
||
| M[x + 10] | Quantidade de variáveis do tipo memória real (L)
a serem escritas no BD. Caso não existam variáveis
do tipo L a serem escritas, deve-se especificar o
valor 0 (zero). (Quantidade de variáveis L a serem
escritas no BD em flash) . |
||
| M[x + 11] | Número inicial da variável tipo memória real (L) no
BD, a partir do qual serão escritos os dados da base
de dados do PLC (Endereço destino L na basede dados
em flash) . |
||
| 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¶
| 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 de erro, 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 |
| 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. 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. 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 ou D indicadas como destino dos dados estão alocadas no BD. Por exemplo, 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 ou D acessadas na base de dados do PLC estão distribuídas namemó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ão alocadas 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 VORAM e outra parte das variáveis está alocada em memória NVRAM da base de dados do PLC. |
Nota
Esta função ativa o processo de escrita na memória flash do controlador, aumentando em aproximadamente 3 ms o tempo de ciclo de scan quando a função for executada.


