Touch Screen Problem

In case it helps someone, here’s the driver version and configuration for one that’s been in service for a long time with no complaints from operators:
image
About:
image
Touch Screen Properties:


Common Settings:
image

Windows version:
image

2 Likes

I was kind of able to resolve this issue by adding a script to ‘onTouchStart’ that reads the tag value before sending it to the PLC. I am not utilizing the ‘onTouchEnd’ to reset the value. After the write occurs, I reset the value to false after 500 ms. I also set the input false if it stays on for more than one second on the PLC. This was done for a standard pushbutton used to toggle between modes. I trended the tag value in the PLC to confirm it wasn’t double-triggering or writing twice, and everything behaved as expected. Code is included below.
Disclaimer: this approach worked for my application……

    import threading
    pb = system.tag.read("[default]SleevingArea/HMIPB_Sleeving_XFR_Mode_Select")
    if pb.value == False:
        
        paths = ["[default]SleevingArea/HMIPB_Sleeving_XFR_Mode_Select"]
        values = [1]
        system.tag.writeBlocking(paths, values)
        
        def turn_InputOff():
            values = [0]
            system.tag.writeBlocking(paths, values)
        
        t = threading.Timer(0.5, turn_InputOff)
        t.start()

... until it doesn't. Have the PLC turn the signal off. Don't rely on an external system to reliably send the 2nd message. All kinds of breakage can occur in that 500ms.

1 Like

That’s correct. As indicated in the original post, the input is forced off by the PLC after one second if it remains active.