Acesso Randômico à Data Flash

Bloco de Controle Padrão
Função Acesso Rondômico à Data Flash
Código 032
Caminho Programa/Editor Ladder/Elementos/Especiais/Bloco de controle Padrão
Grupo Especiais
Ícone ico
Tabela de compatibilidade de firmwares
Geração de Firmware GII, GII-DUO

A função deste bloco é viabilizar o acesso à estrutura de FIFO na Data-Flash.

Para inseri-lo no programa, deve-se posicionar o cursor na posição desejada, selecionar no menu à esquerda o grupo “Especiais” e clicar no botão correspondente, ico

Nota

A execução deste comando pode levar vários ciclos de scan para ser concluído. Portanto, verifique a condição da saída do bloco para certificar-se que o processo está terminado e, avalie o valor para parâmetro P4 para identificar possíveis falhas.

Ler um Registro de Dados

Ler um registro de dados da FIFO da Data-Flash e transferi-lo para a base de dados do PLC.
Parâmetros Tipos Valores Descrição
P1 K 0..Max(K) Função do bloco SCB de acesso a DATAFLASH. Deve ser uma constante inteira, cujo o valor deve ser 32.
P2 M M[x + 0] Código da função DataFlash FIFO Read = código 1.
M[x + 1] Identificador da FIFO a ser acessada na data flash [0..3].
M[x + 2] Quantidade de registros R,M,D a acessar [1..255] na FIFO da data flash.
M[x + 3] Identificador da variável (R,M ou D) associada ao campo 1 do registro,a ser lido na FIFO.da !DataFlash.
M[x + 4] Identificador da variável (R,M ou D) associada ao campo 2, se existir, do registro a ser lido na FIFO.da !DataFlash.
M[x + 5] Identificador da variável (R,M ou D) associada ao campo 3, se existir, do registro a ser lido na FIFO.da !DataFlash.
M[x + 6] Identificador da variável (R,M ou D) associada ao campo 4, se existir, do registro a ser lido na FIFO.da !DataFlash.
M[x + 7] Identificador da variável (R,M ou D) associada ao campo 5, se existir, do registro a ser lido na FIFO.da !DataFlash.
P3 M M[y + 0] Quantidade de registro de dados efetivamente lidos na FIFO da data flash. A quantidade de registros lidos deve ser menor ou igual a quantidade de registros especificados no parâmetro de entrada P2, índice “M[x+2]”.
P4 M M[z + 0] Código de retorno da execução da função, onde: Igual a 0 Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide a lista de códigos de retorno.

Salvar um Registro de Dados

Salvar um registro de dados definido na base de dados do PLC na FIFO da Data-Flash.
Parâmetros Tipos Valores Descrição
P1 K 0..Max(K) Função do bloco SCB de acesso à DATAFLASH. Deve ser uma constante inteira, cujo o valor deve ser 32.
P2 M M[x + 0] Código da função DataFlash FIFO Write = código 2.
M[x + 1] Identificador da FIFO a ser acessada na data flash [0..3].
M[x + 2] Quantidade de registros R,M,D a escreverr [1..255] na FIFO da data flash.
M[x + 3] Identificador da variável (R,M ou D) associada ao campo 1 do registro a ser escrito na FIFO da DataFlash.
M[x + 4] Identificador da variável (R,M ou D) associada ao campo 2, do registro se existir, a ser escrito na FIFO da DataFlash.
M[x + 5] Identificador da variável (R,M ou D) associada ao campo 3, se existir, do registro, a ser escrito na FIFO da DataFlash.
M[x + 6] Identificador da variável (R,M ou D) associada ao campo 4, se existir, do registro a ser escrito na FIFO.da DataFlash.
M[x + 7] Identificador da variável (R,M ou D) associada ao campo 5, se existir, do registro a ser escrito na FIFO.da DataFlash.
P3 M M[y + 0] Quantidade de registro de dados efetivamente escritos na FIFO da data flash. A quantidade de registros escritos deve ser menor ou igual a quantidade de registros especificados no parâmetro de entrada P2, índice “M[x+2]”.
P4 M M[z + 0] Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide a lista de códigos de retorno.

Salvar os Dados Armazenados no Buffer Intermediário

Salvar os dados armazenados no buffer intermediário (“flush”) da FIFO na Data-Flash.
Parâmetros Tipos Valores Descrição
P1 K 0..Max(K) Função do bloco SCB de acesso à DATAFLASH. Deve ser uma constante inteira, cujo o valor deve ser 32.
P2 M M[x + 0] Código da função DataFlash FIFO Flush = código 3. Salvar os dados armazenados no buffer intermediário da Data-Flash. Este buffer é parte da DataFlash e é automaticamente salvo pelo controlador, a cada mudança de página da memória, ou quando a mesma estiver completa. Deste modo, somente será necessário utilizar esta função quando a aplicação terminou de enviar os dados necessários para a !DataFlash e necessita que os dados sejam efetivamente salvos na FIFO da DataFlash.
M[x + 1] Identificador da FIFO a ser acessada na data flash [0..3].
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, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide a lista de códigos de retorno.

Executar Função “Erase”

Executar função “erase” na FIFO da Data-Flash
Parâmetros Tipos Valores Descrição
P1 K 0..Max(K) Função do bloco SCB de acesso à “DATAFLASH”. Deve ser uma constante inteira, cujo o valor deve ser 32.
P2 M M[x + 0] Código da função “DataFlash FIFO Erase” = código 4
M[x + 1] Identificador da FIFO a ser acessada na data flash [0..3].
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, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador

Obter o Status da FIFO na Data-Flash

Obter o status da FIFO na Data-Flash
Parâmetros Tipos Valores Descrição
P1 K 0..Max(K) Função do bloco SCB de acesso à “DATAFLASH”. Deve ser uma constante inteira, cujo o valor deve ser 32.
P2 M M[x + 0] Código da função “DataFlash FIFO Status” = código 5
M[x + 1] Identificador da FIFO a obter o status na data flash [0..3]
P3 M M[x + 0] Total de bytes escritos no bloco corrente de escrita da FIFO.
M[y + 1] Total de blocos de 32K completos já escritos na FIFO.
M[y + 2] Capacidade em bytes do ultimo bloco corrente na FIFO.
M[y + 3] Capacidade em numero de blocos de 32K completos na FIFO.
P4 M M[z + 0] Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador .

Códigos de Erros de P4

Códigos de Erros de P4
Código de erro Descrição
0 Função executada com sucesso. Nenhuma falha identificada no processo.
5 Parâmetros inválidos na chamada da função de acesso à data flash. Exemplo: Código da função de acesso da data flash diferente de “!DataFlash Read”, “DataFlash Write”, “DataFlash Flush”, “DataFlash Erase” ou “DataFlash Status” Exemplo: Chamada da função “DataFlash Read” com o parâmetro de quantidade de registros a serem lidos igual a 0 (ZERO).
24 Controlador não possui a !DataFlash. Exemplo: Chamada de uma função de acesso à !DataFlash, mas o controlador não possui o hardware (opcional) associado à !DataFlash.
205 Variável R, M ou D acessada na base de dados de aplicação não está definida na base de dados da aplicação. Exemplo: Solicitar a leitura de dados da DataFlash e nem todas as variáveis R, M ou D, 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 da data flash, que serão salvas nas memórias M200 a M299, mas na base de dados da aplicação têm-se alocadas até a memória M250. Exemplo: Solicitar a escrita de dados na DataFlash e nem todas as variáveis R, M ou D, 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, cujos valores estão nas memórias D100 a D149, mas na base de dados da aplicação têm-se alocadas até a memória D120.
206 Base de dados associada à variável R, M ou D, acessada na base de dados de aplicação, não possui nenhuma variável alocada. Exemplo: Solicitar a leitura de dados da DataFlash e as variáveis R, M ou D, indicadas como destino dos dados, não possuem nenhuma variável alocada na base de dados da aplicação. Por exemplo, solicitou a leitura de um registro de dados composto por variável M e D, e não existe base de variáveis D alocados na aplicação Ladder. Exemplo: Solicitar a escrita de dados na DataFlash e as variáveis R, M ou D, indicadas como origem dos dados, não possuem nenhuma variável alocada na base de dados da aplicação. Por exemplo, solicitou a escrita de um registro de dados composto por variável R e M, e não existe base de variáveis R alocados na aplicação Ladder.
223 Erro no acesso à data flash do controlador.

Entradas

Descrição das Entradas
Entrada Função Estado Descrição
A1 Ativação Inativo Neste estado o bloco não executa nenhuma ação, repassando apenas o estado inativo para a saída B1.
Ativo Neste estado o bloco executa a funcionalidade associada ao mesmo. OBS: Cabe ressaltar que, para o bloco SCB, esta entrada opera por transição ou seja, o bloco é executado apenas quando a entrada A1 muda do estado inativo para o estado ativo. Uma vez ativada, a entrada A1 deverá permanecer ativa até o término da execução da função que é sinalizado através da ativação da saida B1 do bloco.

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 Códigos de Erros de P4 .

Nas aplicações é possível mesclar os Tipos de variáveis a serem salvas na Data-Flash, de modo a permitir salvar registros de dados compostos pelas variáveis R, M e D. De maneira análoga, permite-se a leitura de registros de dados compostos por variáveis R, M e D. Para saber a capacidade de armazenamento, deve ser verificado na especificação do controlador a ser utilizado.

Para utilizar a FIFO da data flash dos controladores, é necessário configurar a quantidade de FIFOS e os campos de cada FIFO. Para isso, deve-se entrar no ambiente de programação e selecionar o Setup do Programa

Deve-se verificar a disponibilidade de Data-Flash para cada modelo de controlador utilizado, pois pode ser um item opcional, ou mesmo pode não estar disponível.