Re: [SPDSW] String de Parâmetros no Setup de Programas / Log na dataflash
Posted: Fri Sep 01, 2017 1:06 pm
Roberto, bom dia!
O bloco de controle padrão de código 32 é o Acesso Randômico à Data Flash, sendo que o primeiro dos parâmetros de P2 (M[x+0], pressione CTRL + H no componente para abrir o manual) é o sub-código que define a função a ser executada (leitura, escrita, flush). Veja a figura a seguir, no EPE00041, a memória que define qual função será executada é a M310. Ou seja, se M310 = 1 é leitura, se M310=2, escrita e assim por diante. Olhando a documentação com mais critério, vi que o código da função está igual a 31 nos itens escrita, Flush, Erase, Status. O correto é Função do bloco SCB de acesso à “DATAFLASH”. Deve ser uma constante inteira, cujo o valor deve ser 32. Já corrigi, será alterado na próxima versão do SPDSW!
A subrotina T200 contém apenas o bloco SCB de Acesso Randômico à Data Flash, mas os parâmetros deste bloco SCB que definem as funções são inicializados em pontos diferentes do ladder. Esta estratégia faz com que exista no ladder apenas um bloco SCB cujos parâmetros são configurados em determinados pontos da aplicação, garantindo maior controle e clareza no código. Ou seja, se você apenas colar essa subrotina em seu programa, é provável que não funcione.
A subrotina T300 é a subrotina de interface com o coletor de dados. Veja que não há bloco SCB de acesso à dataflash em seu interior, ela apenas efetua comandos para apresentação de telas do programa da IHM (este programa foi originalmente desenvolvido para um ZAP900, CLP com IHM integrada de firmware geração GII).
Ou seja, para você inserir partes do programa de exemplo em sua aplicação, você terá que estudar onde e quando as funções de acesso à dataflash estão sendo configuradas, com foco na rotina T20.
Recomendo fortemente você fazer o log e coleta de dados primeiramente com o programa de exemplo, pois o mesmo é o minimal que você precisa e o sequenciamento está funcionando. Após o EPE funcionar, você tenta inserir seu código.
Ah, como você perguntou de string de parâmetros, automaticamente assumi que você está utilizando um CLP GII. E se não fosse, você iria notar que o código de retorno do bloco SCB, memória M322, está igual a 7 (Comando não disponivel ou nao implementado).
Apenas para informar outros que estiverem consultando este tópico, se a geração for G3 ou G3S, ZAP91X, P7C e NEON, o log de dados é feito no sistema de arquivos do controlador e o programa de exemplo aplicável é o EPE.00062, disponível neste link. A nota de aplicação associada é a ENA.0076, disponível neste link.
Boa sorte e estou à disposição!
Sato-sam
O bloco de controle padrão de código 32 é o Acesso Randômico à Data Flash, sendo que o primeiro dos parâmetros de P2 (M[x+0], pressione CTRL + H no componente para abrir o manual) é o sub-código que define a função a ser executada (leitura, escrita, flush). Veja a figura a seguir, no EPE00041, a memória que define qual função será executada é a M310. Ou seja, se M310 = 1 é leitura, se M310=2, escrita e assim por diante. Olhando a documentação com mais critério, vi que o código da função está igual a 31 nos itens escrita, Flush, Erase, Status. O correto é Função do bloco SCB de acesso à “DATAFLASH”. Deve ser uma constante inteira, cujo o valor deve ser 32. Já corrigi, será alterado na próxima versão do SPDSW!
A subrotina T200 contém apenas o bloco SCB de Acesso Randômico à Data Flash, mas os parâmetros deste bloco SCB que definem as funções são inicializados em pontos diferentes do ladder. Esta estratégia faz com que exista no ladder apenas um bloco SCB cujos parâmetros são configurados em determinados pontos da aplicação, garantindo maior controle e clareza no código. Ou seja, se você apenas colar essa subrotina em seu programa, é provável que não funcione.
A subrotina T300 é a subrotina de interface com o coletor de dados. Veja que não há bloco SCB de acesso à dataflash em seu interior, ela apenas efetua comandos para apresentação de telas do programa da IHM (este programa foi originalmente desenvolvido para um ZAP900, CLP com IHM integrada de firmware geração GII).
Ou seja, para você inserir partes do programa de exemplo em sua aplicação, você terá que estudar onde e quando as funções de acesso à dataflash estão sendo configuradas, com foco na rotina T20.
Recomendo fortemente você fazer o log e coleta de dados primeiramente com o programa de exemplo, pois o mesmo é o minimal que você precisa e o sequenciamento está funcionando. Após o EPE funcionar, você tenta inserir seu código.
Ah, como você perguntou de string de parâmetros, automaticamente assumi que você está utilizando um CLP GII. E se não fosse, você iria notar que o código de retorno do bloco SCB, memória M322, está igual a 7 (Comando não disponivel ou nao implementado).
Apenas para informar outros que estiverem consultando este tópico, se a geração for G3 ou G3S, ZAP91X, P7C e NEON, o log de dados é feito no sistema de arquivos do controlador e o programa de exemplo aplicável é o EPE.00062, disponível neste link. A nota de aplicação associada é a ENA.0076, disponível neste link.
Boa sorte e estou à disposição!
Sato-sam