当建立ethernet_ip连接时,GUI速度非常慢



我有一个GUI(tkinter(,我在其中监视来自几个传感器的数据。监控以实时绘图的形式实现,每100毫秒重新绘制一次。传感器的数据通过以太网/ip连接获取。因此,我使用这个包中的get_attribute_single函数(https://github.com/rossmann-engineering/eeip.py)。首先,我向我的网络通信单元(Keyence NU-EP1(注册会话。之后,我可以使用get_attribute-single从每个传感器获取单个数据。脚本运行得很好,但只有在我没有建立ethernet_ip连接的情况下,GUI才是交互式的。如果我使用假值(random.randint(((,那么gui和plot在交互式gui中工作得很好。如果我使用以太网/ip连接来获取和绘制真实数据,GUI会变得非常非常慢。单击按钮后,其颜色会发生变化。但是颜色的变化是在几秒钟后进行的,所以真的非常慢。有什么办法解决这个问题吗?提前谢谢。

除非我遗漏了什么(我不熟悉tkinter(,否则听起来就像你在一个线程中做所有事情。这将创建所描述的行为,因为GUI必须等待数据被获取才能更新
要解决这类问题,您应该研究并发编程,例如concurrent.foretures。
创建第二个获取数据的线程,并让主线程处理GUI。

最新更新