.. include:: glb_defs.txt .. |ico| image:: ../shared_img/_cmd/m7.png .. _`Banco de Dados em Flash - Leitura de Variáveis`: Banco de Dados em Flash - Leitura de Variáveis ################################################# .. rst-class:: tbst +---------------------------------------------------------------------------------+ |:ref:`Bloco de Controle Padrão` | +-------------+-------------------------------------------------------------------+ |Função |Banco de Dados em Flash - Leitura de Variáveis | +-------------+-------------------------------------------------------------------+ |Código |**001** / **003** |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, 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 |Z1|. 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. .. 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. Nas aplicações é possível mesclar os :ref:`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(:ref:`Banco de Dados em Flash - Escrita de Variáveis`) |Z1|. De maneira análoga, permite-se a leitura de registros de dados compostos por variáveis R, M, D e L |Z1|. 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 |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 correspondente, |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 leitura | | | | |no BD. Deve ser uma constante inteira, | | | | |cujo o valor deve ser **1** ou **3** |Z1|. | +------------+------+----------+-------------------------------------------+ |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). |Z1| |Z2| | | | +----------+-------------------------------------------+ | | |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). |Z1| |Z2| | | | +----------+-------------------------------------------+ | | |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). |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 **01** quando utilizado considera como base de dados as variáveis do tipo R, M e D. O código **03** 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 = 3). |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 +-----------------------------------------------------------------------------------+ |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 | | | | |: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 ================= ================================================================================================================= **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. ================= ================================================================================================================= .. raw:: pdf PageBreak