i am watching for an error input over profinet inside a thread and want to pause a thread execution with a popup with argument blocking=True. Though it does trigger the popup it just doesn’t pause the execution of the thread, meaning it ignores the blocking=True.
Is this a bug?
I tried from the primary/secondary interfaces with:
printf 'def test(): \n thread Thread_1(): \n sleep(3) \n popup("test block", blocking=True) \n end_freedrive_mode() \n end \n threadId_Thread_1 = run Thread_1() \n freedrive_mode() \n while(1): \n sync() \n end \nend \n' | telnet 192.168.1.150 30002
def test(): thread Thread_1(): sleep(3) popup("test block", blocking=True) end_freedrive_mode() end threadId_Thread_1 = run Thread_1() freedrive_mode() while(1): sync() end end
It worked fine like that, it enters freedrive mode, waits 3 sec til a popup comes up, when I press continue, it ends the freedrive mode.
I also tested it from the GUI, on a working program, adding a thread with:
Thread_1 Wait: 4 Script: popup("test block", blocking= True ) Halt
As soon as I pressed Continue on the popup, it halted.
What version of PolyScope are you running? I did it on the version 3.7, so maybe it is an older bug that has been fixed?
It could ofc be something specifically with Profinet input, but I can’t think why the popup doesn’t block the thread.
Maybe it would be helpful if you sent the program as you have it, script, urp or however else it is done.