Home > Forum > Bedienterminals (Weintek) > Veröffentlichen Sie automatische Bilder von einem USB-Stick
- Dieses Thema hat 4 Antworten, 2 Teilnehmer und wurde zuletzt aktualisiert 4 Jahre, 11 Monate da Marcello.
-
AutorPost
-
Mai 4, 2019 bei 7: 16 bin #47394MarcelloPartecipante
Auf einem MT8070IER-Panel möchte ich Bilder, die auf den USB-Stick geladen sind, als Bildschirmschoner ausführen. Ich habe das Bildbetrachterobjekt verwendet und über ein Makro die Bilder rechtzeitig geändert.
So weit so gut, leider muss ich Bilder mit demselben Namen, derselben Erweiterung und einem variablen Teil wie img (1) .jpg, img (2) .jpg usw. hochladen.
Dies ist ziemlich ärgerlich, daher habe ich mir überlegt, das Durchsuchen-Objekt zu verwenden und nacheinander die Dateien auszuwählen, die mich interessieren, indem ich sie in ein Rezept lade, da sich das Durchsuchen-Objekt nicht wie das Optionslistenobjekt verhält und keine Referenzadressen zum Auswählen hat automatisch.
Ich habe ein Makro erstellt, das mit RecipeQuery die Anzahl der Datensätze im Rezept erfasst, dann eine GetData, die den Namen der beim Durchsuchen (manuell) ausgewählten Datei erfasst und schließlich über RecipeSetData den Namen der Datei in das Rezept schreibt. Beim Schreiben des Makros habe ich festgestellt, dass "RecipeSetData" nicht blau hervorgehoben ist, und als ich das Programm startete, erwies sich das Makro als nicht effektiv. Wie kann ich?
Ich könnte durch eine SPS gehen SlimLine Es erscheint mir jedoch unglaublich, eine FTP-Verbindung herstellen und dann den Dateinamen über den Modbus-Master auf der Referenz-LW des Viewers an das HMI zurückgeben zu müssen.
Es gibt Vorschläge ...
Mai 4, 2019 bei 8: 19 bin #47397Sergio BertanaAdministrator des ForumsSie sollten sehen, wie Sie die Makro- und Rezeptstruktur ausgeführt haben, um die verwendeten Schritte zu verstehen.
Als Vorschlag können Sie setdata verwenden, um die Daten in ein Rezeptregister zu schreiben, und dann zum Speichern.
Alternativ können Sie, ohne das Makro zu durchlaufen, die Datei im Browser auswählen und dann mit einer Combo-Taste bestätigen, um vom LW-Browser zum (indizierten) Rezept zu gelangen, und den Zeiger vergrößern, um zum nächsten eingegebenen Bild zu gelangen.
Am Ende speichert die Bestätigungsschaltfläche nichts anderes als die Sequenz in der Rezeptdatenbank zu speichern.
Mai 7, 2019 bei 9: 11 bin #47399MarcelloPartecipanteIch hänge das Makro an, um zu verstehen, wo es falsch sein kann:
Makro_Kommando main ()
int nrRec
char Dateiname [40]
Bool ok
ok = RecipeQuery ("SELECT * FROM Images", nrRec) // Anzahl der Elemente im Rezept abrufen
wenn ok == wahr dann
GetData (Dateiname [0], "Local HMI", LW, 11320,40) // Dateinamen abrufen
ok = RecipeSetData (NomeFile [0], "Images.IMG", nrRec) // Schreibe den Namen der Datei in das Rezept
end ifBeenden Sie Makrobefehl
Das Rezept wird mit ASCII-Werten aus dem 20-Wort initialisiert. Dieses Makro wird durch eine Funktionstaste aktiviert.
Mai 7, 2019 bei 9: 13 bin #47401Sergio BertanaAdministrator des ForumsWas definitiv nicht meine Rückkehr ist, ist die Verwendung von nrRec in der RecipeSetData-Funktion:
Da die Funktion im Bildrezept die IMG-Daten schreibt, die der Rezeptnummer nrREC entsprechen, wird in der RecipeQuery-Zeile jedoch nrREC als Anzahl der vorhandenen Rezepte berechnet. Wenn wir beispielsweise ein Rezept des Typs haben:
0
1
2
3
4nrRec gilt für 5, daher versucht RecipeSetData, in ein "5" -Rezept zu schreiben, das nicht in der Datenbank vorhanden ist.
Mai 13, 2019 bei 3: 46 pm #47402MarcelloPartecipanteIch habe verstanden, dass RecipeSetData dem Rezept Elemente hinzufügen kann. Ich entschied mich für: Objekt durchsuchen + Schaltfläche "Datenübertragung" mit der AUS-Benachrichtigung und dem Befehl "Folgen" zum Hinzufügen (die Kombination verwaltet die Datenübertragung auf den cMTs).
Schade, dass es keine Möglichkeit gibt, per Makro auf den Namen der Dateien auf dem Stick zuzugreifen.
-
AutorPost
- Sie müssen angemeldet sein, um auf dieses Thema antworten zu können.