[SPDSW] String de Parâmetros no Setup de Programas / Log na dataflash

Tutoriais, duvidas e outras informações do SPDSW e OPPE
Roberto
Posts: 8
Joined: Wed Mar 29, 2017 5:48 pm

[SPDSW] String de Parâmetros no Setup de Programas / Log na dataflash

Post by Roberto »

Olá,

Ao configurar o registro no setup de programas há o campo "String de parâmetros". Que valor deve ser preenchido no local pois muitas vezes aparece o erro "Valor inválido para o parâmetro".


Att,
Roberto
User avatar
sato-sam
Moderadores
Posts: 81
Joined: Thu Dec 15, 2016 7:37 pm

Re: String de Parâmetros no Setup de Programas

Post by sato-sam »


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.


Prezado Roberto,

Ao se os campos e a string de parâmetros, é necessário alocar strings no CLP. Para isto, na mesma janela setup de programa, vá até a aba Textos e configure a quantidade de strings necessárias.

Note: Se você configurar no campo String de Parâmetros o valor 1, devem estar alocadas no CLP duas strings, pois você selecionou para ser sua string de parâmetros a variável X1. A imagem a seguir mostra este exemplo.
spdsw_setup_prog.png
spdsw_setup_prog.png (45.97 KiB) Viewed 6841 times
Para te auxiliar, sugiro a consulta:

Nota de aplicação: ENA.00057 - Data Logger utilizando o ZAP-900, acesso neste link.

Programa de exemplo: EPE.00041 - Utilização do Log de dados da FIFO da Data Flash - Controladores GII, acesso neste link.

Estou à disposição para eventuais dúvidas.
Roberto
Posts: 8
Joined: Wed Mar 29, 2017 5:48 pm

Re: [SPDSW] String de Parâmetros no Setup de Programas

Post by Roberto »

Olá,

Eu criei um registro com 5 campos e um arquivo chamado Historico.dat.
No programa ladder eu estou usando o bloco SCB para abrir o arquivo Historico.dat, salvar o registro, fazer o flush na memória e depois fechar o arquivo. Pelo que entendi essa string de parâmetros meio que faz esse processo dependendo de como ela for inicializada. Procurei na documentação mas não encontrei nada muito claro de como é feita essa parametrização. Preciso inicializar essa variável já que estou utilizando outros blocos para abrir o arquivo no modo que eu desejo através de outros blocos SCB? Quais parâmetros posso utilizar?

Att,
Roberto
Roberto
Posts: 8
Joined: Wed Mar 29, 2017 5:48 pm

Re: [SPDSW] String de Parâmetros no Setup de Programas

Post by Roberto »

Abaixo estão minhas telas do setup de programa e o erro apresentado. Oque está causando?

Image
User avatar
sato-sam
Moderadores
Posts: 81
Joined: Thu Dec 15, 2016 7:37 pm

Re: [SPDSW] String de Parâmetros no Setup de Programas

Post by sato-sam »

Prezado Roberto,

Não consegui reproduzir seu cenário aqui.

O programa ladder foi feito para qual CLP? Qual versão do SPDSW que você está utilizando?

Sugiro para versão final você diminuir o índice das strings, pois, quanto maior o índice das strings, maior chance de ocorrer o erro das mesmas serem sobrescritas (pois os bytes coincidem com variáveis M de índice inferior, que geralmente são as mais utilizadas no ladder).

Se possível, encaminha o programa ladder para o email suporte@hitecnologia.com.br

Estou à disposição para eventuais dúvidas.
Roberto
Posts: 8
Joined: Wed Mar 29, 2017 5:48 pm

Re: [SPDSW] String de Parâmetros no Setup de Programas

Post by Roberto »

Sato,

Consegui colocar configurar o registro. Anteriormente eu tinha colocado um valor na string de parâmetro (100) maior que o número de textos alocados (50) e o programa tinha aceitado, quando tentei reconfigurar o registro ele não aceitava outro valor. Tive que colocar um número maior de textos alocados que 100 e então o programa me permitiu alterar o valor da string parâmetro e depois diminuir a quantidade de textos alocados.

Voltando a minha dúvida anterior. Como configuro essa string parâmentro? preciso configura-la ou posso utilizar os blocos SCB para abertura e fechamento dos arquivos da memória?

Att,
Roberto
User avatar
sato-sam
Moderadores
Posts: 81
Joined: Thu Dec 15, 2016 7:37 pm

Re: [SPDSW] String de Parâmetros no Setup de Programas

Post by sato-sam »

Prezado Roberto,

Vou utilizar o EPE.00041 de exemplo e a nota de aplicação ENA.00057, ok? Mandei o link deles em mensagem anterior.

No EPE.00041, a string de parâmetros configurada é X0. Dois campos são configurados: 1 data-hora e 4 valores reais.

Dito isso, vamos no Editor Ladder. Se você pressionar F7, a descrição das variáveis irá abrir. Na aba de constante texto (W), olhe a W0.
Ctew0_fifo.PNG
Ctew0_fifo.PNG (25.77 KiB) Viewed 6829 times
O conteúdo de W0 "DADOS.DAT;3;300" irá configurar a string de parâmetros X0. Vamos à página 19 da ENA.00057 (8.3.2.4 Módulo de Interface com o Coletor de Dados). Aí está a descrição do comando. Note, a memória M300 é a interface entre o ladder e o coletor, ou seja, a memória que você configurar nesta string deve estar reservada no seu programa ladder. Veja que a string X0 de parâmetros é inicializada na rotina de inicialização T0.

Agora, temos configurar quais são as 4 memórias reais (tipo D) e a variável do timestamp (tipo M) que serão logadas. Para isto, precisamos utilizar o famoso Bloco de Controle Padrão. Para encontrar o bloco no EPE.00041, pressione F3 e digite:
f3_scb.PNG
f3_scb.PNG (5.18 KiB) Viewed 6829 times
Pressione Procura.

O bloco SCB encontrado (figura abaixo) é o bloco SCB de configuração das variáveis que são logadas na Dataflash. Para mais informações dos parâmetros, pressione CTRL + H sobre o componente para abrir a página de Help.
scb_df_32.PNG
scb_df_32.PNG (15.29 KiB) Viewed 6829 times
Se você for na linha 83 do EPE.00041, verá que as variáveis do bloco SCB estão sendo inicializadas com valores, tais que:

- M310 = 2: Código de escrita na Flash
- M311 = 0: ID da FIFO utilizada
- M312 = 1: Quantidade de registros R,M,D a escreverr [1..255] na FIFO da data flash.
- M313 = 100: Endereço da memória M100 que contem o timestamp do CLP. (Vou explicar mais abaixo)
- M314 = 0: Endereço inicial das memórias reais que serão logadas. No caso, as variáveis são: D0, D1, D2 e D3.

Neste programa de exemplo, o contato R50 habilita a aquisição (linha 97).

Com relação à obtenção do timestamp, utilize o bloco SCB de código 66 para ler o RTC e o bloco SCB de obtenção do timestamp, de código 68 (linha 78).

Estou à disposição para eventuais dúvidas.
Roberto
Posts: 8
Joined: Wed Mar 29, 2017 5:48 pm

Re: [SPDSW] String de Parâmetros no Setup de Programas / Log na dataflash

Post by Roberto »

Olá Sato,

Durante os últimos meses eu tenho salvado os arquivos na DataFlash, porém eu tive uns erros para utilizar a FIFO e acabei utilizando os blocos SCB para salvar os dados diretamente num arquivo DAT que eu criei. Pensei que poderia usar o Extractor para importar os dados e formatá-los porém percebi que não é possível... Tentei então utilizar os dados do arquivo DAT diretamente mas os valores inteiros possuem uma formatação que o meu sistema não consegue "ler". Ainda posso utilizar os dados salvos no DAT? Como posso formatá-los para um valor legível?

Att,
Roberto
User avatar
sato-sam
Moderadores
Posts: 81
Joined: Thu Dec 15, 2016 7:37 pm

Re: [SPDSW] String de Parâmetros no Setup de Programas / Log na dataflash

Post by sato-sam »

Prezado Roberto, bom dia.

Pelo que entendi, este arquivo .dat foi criado por você ao utilizar a função de Salvar um Registro de Dados na Data flash diretamente, via bloco de controle padrão (SCB) de código 31. Este arquivo .dat não será lido pelo D2W Extractor pois o mesmo necessita de alguns parâmetros de controle que são salvos no arquivo .dat quando a escrita de parâmetros na FIFO segue os mesmos passos mostrados no EPE00041, discutido nos itens acima.

Se você quiser apenas um arquivo .csv para análise dos dados, sugiro utilizar o sistema de arquivos de seu controlador com o programa de exemplo EPE0060 - Exemplo de arquivo de dados histórico baseado em arquivos texto compatível com formato CSV, disponível neste link.

Ao salvar diretamente os dados no arquivo .dat, o valor binário dos dados foi salvo. Para ler estes valores, utilize a função de leitura de registros na Data Flash, que deverá ser implementada no ladder. A descrição desta função pode ser acessada ao se pressionar CTRL + H dentro do Editor Ladder. No manual que abrir, clique em Elementos do Progama Ladder > Bloco de Controle Padrão > Acesso Rondômico à Data Flash.

Boa sorte e estou à disposição,
Sato-sam.
Roberto
Posts: 8
Joined: Wed Mar 29, 2017 5:48 pm

Re: [SPDSW] String de Parâmetros no Setup de Programas / Log na dataflash

Post by Roberto »

Olá Sato

Resolvi reescrever parte do código para permitir o uso do Extractor.
Infelizmente não posso testar o código livremente visto que o CLP se encontra em uso, por isso peço algumas orientações.

Para que sejam salvos os registros na Data Flash vou copiar os blocos T200 e T300 do programa exemplo e colocá-los no final do meu programa (antes do bloco "END" e depois do bloco "EMR" do meu programa).

Vou inicializar a string de parâmetros do modo "HIST.DAT;2;300" para que o programa utilize sempre o mesmo arquivo HIST.DAT

Minha dúvida é como salvar os registros durante meu programa.

Antes eu estava abrindo o arquivo HIST.DAT, salvando os registros e realizando o Flush de memória em um certo momento do meu programa no qual eu tinha certeza que os valores das variáveis eram os corretos.

Devo continuar realizando esse procedimento?

Preciso alterar alguma coisa nos blocos T200 e T300? Vi que já usam um bloco SCB no T200 mas ele está programada para leitura (k=32).

Novamente muito obrigado pelo apoio Sato

Roberto.
Post Reply