.. include:: glb_defs.txt .. |ico| image:: ../shared_img/_cmd/m7.png .. _`Banco de Dados em Flash - Escrita de Variáveis`: Banco de Dados em Flash - Escrita de Variáveis ################################################ .. rst-class:: tbst +---------------------------------------------------------------------------------+ |:ref:`Bloco de Controle Padrão` | +=============+===================================================================+ |Função |Banco de Dados em Flash - Escrita de Variáveis | +-------------+-------------------------------------------------------------------+ |Código |**002** / **004** |Z1| | +-------------+-------------------------------------------------------------------+ |Caminho |Programa/Editor Ladder/Elementos/Especiais/Bloco de controle Padrão| +-------------+-------------------------------------------------------------------+ |Grupo |Especiais | +-------------+-------------------------------------------------------------------+ |Ícone ||ico| | +-------------+-------------------------------------------------------------------+ .. only:: hitec .. rst-class:: tbst +----------------------------------------------------+ |:ref:`compatibilidade de firmware` | +-------------------+--------------------------------+ |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 |Z1|. 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 |Z1|. De maneira análoga, permite-se a leitura de registros de dados compostos por variáveis R, M, D e L (:ref:`Banco de Dados em Flash - Leitura de Variáveis`). .. only:: hitec or incon 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 |Z1|). Para isso, deve-se entrar no ambiente de programação e selecionar o :ref:`Setup de 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 |ico|. Parâmetros *********** .. rst-class:: tbst +------------+------+----------+-----------------------------------------------------+ |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** |Z1|. | +------------+------+----------+-----------------------------------------------------+ |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). |Z1| |Z2| | | | +----------+-----------------------------------------------------+ | | |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) |Z1| |Z2|. | | | +----------+-----------------------------------------------------+ | | |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) |Z1| |Z2|. | +------------+------+----------+-----------------------------------------------------+ |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 | | | | |:ref:`tabela de códigos de erro` . | +------------+------+----------+-----------------------------------------------------+ .. only:: hitec or incon .. rst-class:: tbobs ======= ===================================================================== |obs| |Z1| O código **02** quando utilizado considera como base de dados as variáveis do tipo R, M e D. O código **04** quando utilizado considera como base de dados as variáveis do tipo R, M, D e L. |Z2| Escrita de variável tipo L disponível apenas para equipamentos com firmware **G3S** e **G3R** (utilizar parâmetro P1 = 4). |Z3| O tratamento das operações sobre as funções no bloco SCB **somente** é executado a cada transição de ativação desta entrada A1, devendo permanecer ativa até o término da execução da função, indicada quando a saída B1 torna-se energizada. ======= ===================================================================== Entradas ========== .. rst-class:: tbst +---------+---------+--------+----------------------------------------------------+ |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. |Z3| | +---------+---------+--------+----------------------------------------------------+ Saída ======= .. rst-class:: tbst +-------+----------------+---------+------------------------------------------------+ |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 :ref:`tabela de códigos de erro`. | +-------+----------------+---------+------------------------------------------------+ Descrição de alguns códigos de retorno em P4 ============================================== .. rst-class:: tbst +-----------------+------------------------------------------------------------------------------------------------------------+ |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. | +-----------------+------------------------------------------------------------------------------------------------------------+ .. note:: 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. .. raw:: pdf PageBreak