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?
Hello!
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
Basically sending:
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.