概述
private short _cardNum=0;//卡号
private short sRtn;
//复位
private void button60_Click(object sender, EventArgs e)
{
Reset();
sRtn = mc.GT_ZeroPos(_cardNum, 1, 1);
sRtn = mc.GT_ZeroPos(_cardNum, 2, 1);
sRtn = mc.GT_ZeroPos(_cardNum, 3, 1);
MessageBox.Show("复位成功!");
}
//复位方法
public void Reset() {
for (short i = 1; i <= 3; i++)
{
打开使能
mc.GT_AxisOn(_cardNum, i);
//限位为低电平触发,这是个雷区,开启以后只能运动一个轴
//GTS.GT_LmtSns(_cardNum,3);
//编码器不取反,保证规划位置与实际位置方向一致
//GTS.GT_EncSns(_cardNum,1);
//设置回原点参数
mc.THomePrm prm = new mc.THomePrm();
//获取home参数
mc.GT_GetHomePrm(_cardNum, i, out prm);
//回原点模式
prm.mode = 10;
//搜索原点时的运动方向,1正向,0负方向
prm.moveDir = -1;
//搜索index的运动方向,1正向,0负方向
//prm.indexDir = 1;
// 设置捕获沿:0-下降沿,1-上升沿
prm.edge = 0;
//用于设置触发器:取值-1 和[1,8],i
//-1 表示 使用的触发器和轴号对应,其它值表示使 用其它轴的触发器,
//触发器用于实现高速 硬件捕获,默认设置为-1 即可
prm.triggerIndex = i;
//回原点运动的高速速度
prm.velHigh = 50;
//回原点运动的低速速度
prm.velLow = 5;
//回原点运动的加速度
prm.acc = 0.1;
// 回原点运动的减速
prm.dec = 0.1;
// 回原点运动的平滑时间:取值[0,50],单位:ms,
//具体含义与 GTS 系列控制器点位运动相似
prm.smoothTime = 25;
// 设定的搜索 Home 的搜索范围,0 表示 搜索距离为 805306368
prm.searchHomeDistance = 0;
// 设定的搜索 Index 的搜索范围, 0 表示 搜索距离为 805306368
prm.searchIndexDistance = 0;
// 采用“限位回原点” 方式时,反方向离开 限位的脱离步长
prm.escapeStep = 5000;
//没有限位开关则取消限位,取消限位信息
//GTS.GT_LmtsOn(_cardNum, i, 0);
//清除轴状态
mc.GT_ClrSts(_cardNum, i, 1);
//
mc.GT_ZeroPos(_cardNum, i, 1);
//启动自动回原点
mc.GT_GoHome(_cardNum, i, ref prm);
mc.THomeStatus status = new mc.THomeStatus();
do
{
mc.GT_GetHomeStatus(_cardNum, i, out status);
int num = status.run;
} while (Convert.ToBoolean(status.run));
}
}
最后
以上就是单身白羊为你收集整理的C# 固高运动Smart Home限位回零的全部内容,希望文章能够帮你解决C# 固高运动Smart Home限位回零所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复