Inicio > Foro > Terminales de operador (Weintek) > Publicar imágenes automáticas desde una memoria USB
- Este tema tiene 4 respuestas, 2 participantes y se actualizó por última vez 4 años, hace 11 meses da Marcello.
-
autorPublicación
-
Mayo 4, 2019 en 7: 16 am #47394Marcellopartícipe
En un panel MT8070IER, me gustaría ejecutar imágenes cargadas en la memoria USB como protector de pantalla. Utilicé el objeto visor de imágenes y mediante una macro cambio las imágenes a tiempo.
Hasta aquí todo va bien lamentablemente tengo que subir imágenes todas con el mismo nombre, extensión y con una parte variable como img (1) .jpg, img (2) .jpg etc ...
Esto es bastante molesto, así que pensé en usar el objeto Examinar y seleccionar uno por uno los archivos que me interesan cargándolos en una receta, ya que el objeto Examinar no se comporta como el objeto Lista de opciones y no tiene direcciones de referencia para seleccionarlos. automáticamente.
Creé una macro que captura con RecipeQuery la cantidad de registros en la receta, luego un GetData que captura el nombre del archivo seleccionado (manualmente) en el Navegar y finalmente a través de RecipeSetData escribo el nombre del archivo en la receta. Mientras escribía la macro, noté que "RecipeSetData" no estaba resaltado en azul y cuando inicié el programa, la macro demostró no ser efectiva. ¿Como lo puedo hacer?
Podría pasar por un PLC SlimLine pero me parece increíble tener que crear una conexión Ftp y luego pasar el nombre del archivo a la HMI a través de Modbus master en la referencia LW del visor.
Hay sugerencias ...
Mayo 4, 2019 en 8: 19 am #47397Sergio BertanaAdministrador del foroDebería ver cómo hizo la macro y la estructura de la receta para comprender los pasos utilizados.
Dicho esto como una sugerencia, puede usar setdata para escribir los datos en un registro de recetas y luego guardarlos.
Alternativamente, sin pasar por la macro, puede seleccionar el archivo desde el navegador, luego confirmar con una tecla de combinación para transferir desde el navegador LW a la receta (indexada) y aumentar el puntero para ir a la siguiente imagen que se ingresará.
Al final del botón de confirmación, eso no hace más que guardar la secuencia en la base de datos de recetas.
Mayo 7, 2019 en 9: 11 am #47399MarcellopartícipeAdjunto la macro para entender dónde puede estar mal:
macro_command main ()
int nrRec
Nombre de archivo de char [40]
bool ok
ok = RecipeQuery ("SELECT * FROM Images", nrRec) // obtén el número de elementos en la receta
si ok == verdadero entonces
GetData (Nombre de archivo [0], "HMI local", LW, 11320,40) // obtener el nombre del archivo
ok = RecipeSetData (NomeFile [0], “Images.IMG”, nrRec) // escribe el nombre del archivo en la receta
end ifend macro_command
La receta se inicializa con valores ASCII de la palabra 20. Esta macro se activa mediante una tecla de función.
Mayo 7, 2019 en 9: 13 am #47401Sergio BertanaAdministrador del foroLo que seguramente no regresa a mí es el uso de nrRec en la función RecipeSetData:
Debido a que la función va a escribir en la receta de la imagen, los datos de IMG correspondientes al número de receta nrREC, pero nrREC se calcula en la fila de RecipeQuery como el número de recetas actuales, por lo que si, por ejemplo, tenemos una receta del tipo:
0
1
2
3
4nrRec se aplica a 5, por lo que RecipeSetData intenta escribir en una receta "5" que no existe en la base de datos.
Mayo 13, 2019 en 3: 46 pm #47402MarcellopartícipeEntendí que RecipeSetData podría agregar elementos a la receta. Opté por: Examinar objeto + botón "Transferencia de datos" usando la notificación OFF con el comando Seguir como para agregar (el combo administra la transferencia de datos en los cMT).
Lástima que no haya posibilidad de acceder al nombre de los archivos en el stick por macro.
-
autorPublicación
- Debe iniciar sesión para responder a este tema.