Home page > Fórum > Terminais de operador (Weintek) > Publicar imagens automáticas de um pendrive
- Este tópico tem 4 respostas, 2 participantes e foi atualizado pela última vez 4 anos, 11 meses atrás da Marcello.
-
autorPublique
-
Pode 4, 2019 em 7: 16 am #47394Marcelloparticipante
Em um painel do MT8070IER, gostaria de executar imagens carregadas no stick USB como um protetor de tela. Usei o objeto visualizador de imagens e através de uma macro alterei as imagens no tempo.
Até agora tudo bem, infelizmente eu tenho que fazer upload de imagens todas com o mesmo nome, extensão e com uma parte variável como img (1) .jpg, img (2) .jpg etc ...
Isso é muito chato, então pensei em usar o objeto Browse e selecionar um por um os arquivos que me interessam carregando-os em uma receita já que o objeto Browse não se comporta como o objeto Lista de Opções e não tem endereços de referência para selecioná-los automaticamente.
Criei uma macro que captura com RecipeQuery o número de registros da receita, depois um GetData que captura o nome do arquivo selecionado (manualmente) no Browse e finalmente através de RecipeSetData escrevo o nome do arquivo na receita. Enquanto escrevia a macro, notei que "RecipeSetData" não está destacado em azul e quando iniciei o programa a macro provou não ser eficaz. Como eu posso fazer?
Eu poderia passar por um CLP SlimLine mas me parece incrível ter que criar uma conexão Ftp e então passar o nome do arquivo de volta para a IHM via Modbus mestre na referência LW do visualizador.
Existem sugestões ...
Pode 4, 2019 em 8: 19 am #47397Sergio BertanaAdministrador do fórumVocê deve ver como você fez a macro e a estrutura da receita para entender as etapas usadas.
Tendo dito isso como uma sugestão você poderia usar setdata para gravar os dados em um registrador de receita, em seguida, para salvar.
Alternativamente, sem passar pela macro, você pode selecionar o arquivo do navegador, depois confirmar com uma tecla de combinação para transferir do navegador LW para a receita (indexada) e aumentar o ponteiro para ir para a próxima imagem a ser inserida.
No final do botão de confirmação, não há nada além de salvar a sequência no banco de dados de receitas.
Pode 7, 2019 em 9: 11 am #47399MarcelloparticipanteAnexei a macro para entender onde ela pode estar errada:
macro_command main ()
int nrRec
nome do arquivo char [40]
bool ok
ok = RecipeQuery ("SELECT * FROM Images", nrRec) // obtém o número de itens na receita
se ok == verdadeiro então
GetData (Filename [0], "Local HMI", LW, 11320,40) // obter o nome do arquivo
ok = RecipeSetData (NomeFile [0], "Images.IMG", nrRec) // escreve o nome do arquivo na receita
acabam sefim de macro_command
A receita é inicializada com valores ASCII da palavra 20. Esta macro é ativada por uma tecla de função.
Pode 7, 2019 em 9: 13 am #47401Sergio BertanaAdministrador do fórumO que certamente não volta para mim é o uso de nrRec na função RecipeSetData:
Como a função vai escrever na receita de imagem os dados IMG correspondentes ao número da receita nrREC, mas nrREC é calculado na linha RecipeQuery como número de receitas presentes, portanto se por exemplo temos uma receita do tipo:
0
1
2
3
4nrRec aplica-se ao 5, portanto, o RecipeSetData tenta gravar em uma receita "5" que não existe no banco de dados.
Pode 13, 2019 em 3: 46 pm #47402MarcelloparticipanteEu entendi que RecipeSetData poderia adicionar elementos à receita. Optei por: Navegar objeto + botão "Transferência de dados" usando a notificação OFF com o comando Seguir como para adicionar (o combo gerencia a transferência de dados nos cMTs).
Pena que não há possibilidade de acessar o nome dos arquivos no stick por macro.
-
autorPublique
- Você deve estar logado para responder a este tópico.