一、回零控制原理:
1、回零信号
回零信号可采用限位传感器、home原点传感器、编码器或光栅尺Z(C)相信号。
- 限位传感器(Limit±输入):普通IO方式
- home传感器(Home输入):home捕获方式
- index信号(轴通道编码器Z相信号):index捕获方式()
限位信号采用普通IO触发方式,Home及Index信号使用FPGA捕获方式。
2、回零方式
通过限位、Home、Index三种信号组合共计7种回零方式:
-
限位回零
需要设置回零方向(触发正限位还是负限位)、反向脱离步长(轴第一次触发限位后反向离开距离),轴在触发正(负)限位后先反向移动反向脱离步长的距离再以低速回到限位。 -
Home回零
需要设置回零方向(从轴的哪边寻找Home信号),轴在捕获到Home信号时会立即捕获当前编码器位置并停止,重新将捕获位置设为目标位置并低速移动到目标位置(因为速度较高寻找Home时,捕获到Home位置后可能电机并不能立即停下,所以会有这样一个过程,即再以低速返回捕获位置,若回零设置速度低,该过程不明显)。缺点:回零初始方向不太好设定,轴停止在Home信号左边和右边不好判断。 -
Index回零:在电机单圈内寻找编码器Index信号,轴在捕获到Index信号时会立即捕获当前编码器位置并停止,重新将捕获位置设为目标位置并低速移动到目标位置(因为速度较高寻找Index时,捕获到Index位置后可能电机并不能立即停下,所以会有这样一个过程,即再以低速返回捕获位置,若回零设置速度低,该过程不明显)。
-
限位+Home回零: 轴先寻找限位再寻找Home信号。(最常见方式。)
-
限位+Index回零: 轴先寻找限位再寻找Index信号。(直线电机常见回零方式。)
-
Home+Index回零:轴先寻找Home再寻找Index信号。
-
限位+Home+Index回零:轴先寻找限位再寻找Home再寻找Index信号。
二、回零程序
1、回零参数设置与启动
/*举例:线程内单轴回零*/
private void btn_homeStart_Click(object sender, EventArgs e)
{
Thread threadHome; //回零线程
short cardNo = 0; //卡号为0
short axis = 1; //回零轴
mc.THomePrm tHomePrm = new mc