编了一个比较大的程序,其中数据采集和用户操作部分采用了生产者-消费者模式。
而有一部分功能要实现在上位机显示下位机PLC测量到的数据,用的是opc协议和DataSocket的读取模块,并且利用了与其他功能并行的while循环,为了保证数据显示和刷新的实时性,设定循环一次的时间为200ms,如图所示。
但是现在出现了问题,在程序其他功能都能正常实现的情况下,通过opc通讯显示的数据总是有一定的延时才能实现,我把PLC程序调上来看了,里面的数据都是实时改变的,也就是说PLC测量到的数据都是正常的,但是通过opc以后再显示出来的数据却大概有个几秒的延时以后才能在程序界面上显示出来,就感觉这个循环每隔几秒才循环一次一样,非常奇怪。
我想问问这是怎么回事?有没有什么解决办法?谢谢大家了。
一周热门 更多>