注册 登录
编程论坛 VB6论坛

有个小问题一直搞不懂

ooo289 发布于 2013-05-30 22:11, 513 次点击
   我自己写了一个VB-PLC通信程序,一方面随时可能通过按钮向PLC发送数据或开关命令,另一方面是每隔一秒钟要向PLC查询某个元件的开关状态(被查询的元件可以由操作台进行开关输入,也可以在该程序中进行操作)并反应到程序上.
   现在的问题是:我测试时,运行都还正常,但是只要连续按钮点快一些,程序就会无响应了.而且我那双核电脑的CPU占用率达到50%,居高不下.程序也死了.
  我想请问按键操作与自动查询这两个通信之间会不会产生冲突?如果会,又该如何避免呢?
  我试过在循环中加入DOevents ,也试过自定义延时过程,都没能很好地解决这一问题.
        恳请各位大师给我一些指点! 小弟在此先行谢过了.
2 回复
#2
风吹过b2013-05-31 11:39
在通信时,设置标志位。
通信结束时,再次设置标志位。

每次通信前,都检查这个标志位,如果检测到 已经在通信,那么等待多少秒后,报 系统忙,然后返回到界面。
#3
ooo2892013-06-01 00:21
受益匪浅,感激不尽!
1