我是靠谱客的博主 单身白羊,最近开发中收集的这篇文章主要介绍C# 固高运动Smart Home限位回零,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

   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限位回零所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部