mehrere WebVisu mit Wischgeste Bildwechsel ausführen

TwoFaceXX

Level-2
Beiträge
5
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
ich habe ein Problem bei der Inplementierung von der FlickGesture (Wischen) in meinem Projekt.
Ich benutze eine Kunbus Steuerung mit Soft-SPS und WEBVisu.
Die Visu ist 5 mal Instanziert (je Android Scanner eine WebVisu) und mit Schnittstelle (DUT) mit der SPS verbunden.
Jeder WebVisu habe ich einen ClientName übergeben.

Als Basis habe ich mich an der Vorlage von CoDeSys Multitouch Beispiel orientiert und bei der FlickGesture noch die Richtung des Wischens überprüft und mit VisuElems.CURRETVISU die jeweilige WebVisu untersucht, um dann den Trigger zum Umschalten zu erzeugen.

Problem:
Wenn ich mehrere Scanner aktiv habe, wird durch CURRETVISU eine Globale Variable erstellt, an die sich alle WebVisu orientieren. Bedeutet, alle WebVisu schalten auf dieses Bild.
Kann mir jemand sagen, wie ich in der HandleFlickGesture die aktuelle Visu identifizieren kann?


Auszug aus Code:

HandleFlickGesture := TRUE;
IF ABS(offset.iX) > ABS(offset.iY) THEN
IF offset.iX >0THEN//left
IF VisuElems.CURRENTVISU= 'Scanner01' THEN
SchnittstelleHmiScanner.Scanner1.AnwAktiverModiMinus10:=1;
END_IF
IF VisuElems.CURRENTVISU= 'Scanner02' THEN
SchnittstelleHmiScanner.Scanner2.AnwAktiverModiMinus10:=1;
END_IF
IF VisuElems.CURRENTVISU= 'Scanner03' THEN
SchnittstelleHmiScanner.Scanner3.AnwAktiverModiMinus10:=1;
END_IF
IF VisuElems.CURRENTVISU= 'Scanner04' THEN
SchnittstelleHmiScanner.Scanner4.AnwAktiverModiMinus10:=1;
END_IF
IF VisuElems.CURRENTVISU= 'Scanner05' THEN
SchnittstelleHmiScanner.Scanner5.AnwAktiverModiMinus10:=1;
END_IF
iHorCounter := iHorCounter - 1;
END_IF
 
Ich kenne weder Kunbus noch FlickGesture.
CurrentVisu betrifft immer alle Visu Client. Wenn du mit dieser Variable arbeitest ist keine Separierung möglich.

Ich habe auch nicht Verstanden was wischen mit Scanner zu hat. Erläutere doch mal. Evtl. gibt es eine Lösung.
welche Codesys 2.3 oder 3.5

Holger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Lösung bzlg. WebVisu habe ich inzwischen selber erstellen können,siehe hierzu Code unten.

Codesys Mutlitouch Example als Basis: https://store.codesys.com/multitouch-example.html
FlickGesture: HandleFlickGesture
Ist eine Erkennung des HMI einer Wischbewegung, damit soll das Bild umgeblätert werden.
Kunbus: ist eine Raspberry softSPS
Codesys 3.5
----------------------------------------------------------------
Code Lösung:
_VisuFbClientTagDataHelper(pClientData := pClient);
strVisuName := _VisuFbClientTagDataHelper.stName;
IF ABS(offset.iX) > ABS(offset.iY) THEN
IF offset.iX >0THEN//left
IF _VisuFbClientTagDataHelper.stName = 'Scanner01' THEN
SchnittstelleHmiScanner.Scanner01.AnwAktiverModiMinus10:=1;
END_IF
------------------------------------------------------------

Ich habe aber momentan noch das Problem, dass bei Änderungen im Programm die HandleFlickGesture nicht mehr aufgerufen wird. Dann muss ich immer "Reset warm" ausführen, damit durch das HMI ein Interrupt mit dem HandleFlickGesture ausgeführt wird.
 
Zurück
Oben