Ejemplo n.º 1
0
        /// <summary>
        ///     初始化运动卡
        /// </summary>
        /// <param name="nCardNum">卡号</param>
        /// <param name="nAxisNum">轴数</param>
        /// <param name="pFile">配置文件</param>
        /// <returns></returns>
        public override short InitMotionCard(short nCardNum, short nAxisNum, string pFile)
        {
            short nRtn = 0;

            nRtn |= CMc.GT_Open(nCardNum, 0, 1); //打开运动控制器设备

            if (nRtn != 0)
            {
                MessageBox.Show(@"打开运动卡失败,可能原因:1.运动卡没有插好;2.有其他的程序正在对运动卡操作", @"提示", MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
                return(nRtn);
            }

            if (File.Exists("gts.dll") && File.Exists("ExtMdl.cfg"))
            {
                nRtn |= CMc.GT_OpenExtMdl(nCardNum, "gts.dll");
                nRtn |= CMc.GT_LoadExtConfig(nCardNum, "ExtMdl.cfg");
            }
            else
            {
                MessageBox.Show(@"扩展模块加载失败,请检查文件是否存在", @"提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            nRtn |= CMc.GT_Reset(nCardNum); //复位运动控制器


            nRtn |= CMc.GT_LoadConfig(nCardNum, pFile); //加载配置文件


            if (nRtn == 0)
            {
                m_maxAxisNum = nAxisNum;
                nRtn         = CMc.GT_ClrSts(nCardNum, 1, m_maxAxisNum);
                InitAxis(nCardNum, m_maxAxisNum);
            }

            return(nRtn);
        }