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 | ![]() |
| 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, 
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.