yfpfly
刘工,你好,
在使用dmc-b140中碰到问题,使用上位机发送指令控制模式,当只单独查询位置或输入信号进,command 返回正常,但当我同时查询时(有用互锁),返回结果就乱套了。查输入可能返空,或位置
刘岩利
"同时查询"所用的完整指令是什么?您用的什么操作系统?哪一版本的驱动函数?什么开发工具(语言?)
RP 查询位置, TI查询位置, xp 操作系统,GalilTools1.6.4.550, vc6.0调用组件方式。
后来我分析了一下,可能是我使用查询指令时,在最后多加了一个“\r" 回车符,以致发送和接收无法对应,导致混乱。去掉所有多余的回车符后情况好很多,从界面上看输入信号变动少一点,但还是有这个现象,请问有什么更好的方法?
总结:
实质上是,当前指令(多个)发送后,我无法确定是否接收完,又启动下一轮查询。
重复一下:“同时查询”所用的完整指令是什么?
在200ms的定时器中,先用RP查询位置,再用TI查询输入
我上一指您的程序中使用那一行或几行程序的准确\完整内容.
1,查位置
strCmd="RP";strRel=g.command(strCmd, "\r", ":", true);
2, 查输入
strCmd="TI";strRel=g.command(strcmd, "\r", ":", true);
这样啊,那不如
strCmd="RP;TI";strRel=g.command(strCmd, "\r", ":", true);
已将这两个指令单独封装为函数,方便使用。可以单独用,也可以结合。
单独用都没问题,问题在于结合用时,返回数据就对不上
"已将这两个指令单独封装为函数,"
也就是说,您给我的依然不是完整的程序
完整程序太多且加密,也没法让你看到
那就到此为止吧