上位机如何知道下位机的程序执行完毕了 点击:640 | 回复:1



suzizus

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:153
  • 注册:2011年12月16日
发表于:2013-01-23 18:33:27
楼主

刘工您好

     上位机VB,现在上位机发送指令要执行下位机的某一段程度,比如执行#HOME

等到回零之后,上位机再执行下面的程序。但是上位机如何知道下位机的程序已经执行完毕呢?

另外,有一个API函数DMCGetUnsolicitedResponse

我这样用RC = DMCGetUnsolicitedResponse(hDmc, responseMG, ResponseLength)

上位机可以通过这个函数捕捉到MG的内容吗?




刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2013-01-24 17:21:39
1楼

查询下位机程序状态,可以用指令MG_HXn,n是线程号(如果XQ指令没指定线程好的话,默认在0线程执行)。反馈0表示线程是空的(程序执行完了),1表示有程序在执行,2表示线程在等待(执行AM之类的指令)

DMCGetUnsolicitedResponse可以得到下位程序MG指令的输出以及出错信息一类的输出(如果是多通讯通道的卡,要确认指定了正确的通道)。

 


热门招聘
相关主题

官方公众号

智造工程师