发布于 2011-01-24 00:58:04
7楼
程序比较长,使用了GUD7_MC.DEF,定义变量便于查找状态,用了两个子程序,一个用于处理文本,一个用于出错时显示的信息,因为篇幅就不写在这了。但思路提供给大家,我相信很多高手可能做得比我更好。
比如Renishaw LaserXL80 V20.02.01生成的数据文件第8行固定是采样的点数:
Target-count: n
用语句:READ(_ERRO, _DATAN, 8, 1, _COML)
;_ERRO出错代码,_DATAN雷尼绍数据文件名,读取第8行1行,保存到_COML.截取_COML文本冒号后的文字转换为数据,即可得到目标点数。目标点数减去1即是补偿的段数。读取软限位的正负限位,舍去个位数,即可得到行程,行程除以段数即是补偿的步距。
在雷尼绍的数据里,目标点数5个一行,也是有规律的,目标点数即可准确算出误差数据所在的位置。再判断一下是正坐标还是负坐标,就可以知道改从误差数据的哪个位置开始读取,再赋值到补偿表里。
如果用VB,C或其他语言开发成软件,实现这个功能更加容易。