前两天做封装控制卡的需求,刚开始接触硬件封装的需求,熟悉了一下控制卡提供的库函数,着手开发具体实用功能了。
在写控制卡操作轴回零功能时,回零模式上并不是直接运行回零函数就可以,需要往负限位后回零,再往负方向移动一小段,然后正向回零,这样回零的精度就高一些。
开始思想:根据步骤负向移动到负限位,等待查询到负限位信号后,正向第一次回零,等待回零信号后,在负向移动距离。。。这样的方式只能单轴运行完后,下一个才开始回零。
但是需要实现轴同步回零。
最后思想:回零步骤中循环等待的都去掉,设置每个轴的步骤变量,以及每个轴的步骤标志位。当轴步骤未执行时,轴的步骤标志位为0,执行了步骤,未执行完成(轴未停止,信号量未查询到)时,轴步骤标志位为1。每个轴运行的步骤完成后,步骤变量加1,执行下一步。
这样实现了