Esempio n. 1
0
        /// <summary>
        ///     板卡初始化
        /// </summary>
        public bool InitMotionCard(STRUCT_MOTION_CARD sCardNum)
        {
            //如果该类对象链表里面为空
            if (_LIST_MOTION_WORK.Count < 1)
            {
                MessageBox.Show(@"板卡初始化失败,请先添加运动控制板卡!");
                m_fileTcp.DisplayWarningInfo(@"板卡初始化失败,请先添加运动控制板卡!");
                return(false);
            }

            //获取卡号
            int iCardNo = Convert.ToInt32(sCardNum.strCardNo);
            //从传入的结构体里获取该板卡的配置文件
            var bRtn = _LIST_MOTION_WORK[iCardNo].InitMotionCard(sCardNum.strCfgPath);

            if (!bRtn)
            {
                MessageBox.Show(@"板卡初始化失败");
                m_fileTcp.DisplayWarningInfo(@"板卡初始化失败");
                return(false);
            }

            //从传入的结构体里获取轴的细分
            m_bMotionCardInit = true;
            double dResoX = Convert.ToDouble(sCardNum.m_listAxisRes[0]);
            double dResoY = Convert.ToDouble(sCardNum.m_listAxisRes[0]);
            double dResoZ = Convert.ToDouble(sCardNum.m_listAxisRes[0]);

            //设置轴的细分
            _LIST_MOTION_WORK[iCardNo].SetAxisResolution((short)AXIS_TYPE.X_AXIS, dResoX);
            _LIST_MOTION_WORK[iCardNo].SetAxisResolution((short)AXIS_TYPE.Y_AXIS, dResoY);
            _LIST_MOTION_WORK[iCardNo].SetAxisResolution((short)AXIS_TYPE.Z_AXIS, dResoZ);
            return(true);
        }
Esempio n. 2
0
        /// <summary>
        ///     板卡初始化
        /// </summary>
        public short InitMotionCard(STRUCT_MOTION_CARD sCardNum)
        {
            //如果该类对象链表里面为空
            if (s_listMotionWork.Count < 1)
            {
                MessageBox.Show(@"运动控制板卡为空,请先添加运动控制板卡!");
                return(-1);
            }

            //获取卡号
            var iCardNo = ConverToInt32(sCardNum.m_strCardNo);
            //从传入的结构体里获取该板卡的配置文件
            var bRtn = s_listMotionWork[iCardNo].InitMotionCard(sCardNum.m_strCfgPath);

            if (!bRtn)
            {
                MessageBox.Show(@"板卡初始化失败");
                return(-2);
            }

            //从传入的结构体里获取轴的细分
            m_bMotionCardInit = true;
            var dResoX = Convert.ToDouble(sCardNum.m_listOfAxisRes[0]);
            var dResoY = Convert.ToDouble(sCardNum.m_listOfAxisRes[0]);
            var dResoZ = Convert.ToDouble(sCardNum.m_listOfAxisRes[0]);

            //设置轴的细分
            s_listMotionWork[iCardNo].SetAxisResolution((short)ENUM_AXIS_TYPE.X_AXIS, dResoX);
            s_listMotionWork[iCardNo].SetAxisResolution((short)ENUM_AXIS_TYPE.Y_AXIS, dResoY);
            s_listMotionWork[iCardNo].SetAxisResolution((short)ENUM_AXIS_TYPE.Z_AXIS, dResoZ);
            return(0);
        }
Esempio n. 3
0
        /// <summary>
        /// 从ini文件的到设备信息
        /// </summary>
        /// <param name="sMotionCard"></param>
        public void GetMachineParaFromIni(ref STRUCT_MOTION_CARD sMotionCard)
        {
            string strSection = sMotionCard.strName + @"-" + sMotionCard.strCardNo;

            sMotionCard.strMaxNum  = m_tIniFile.ReadContentValueFromIni(strSection, @"MaxAxisNum", m_strMotionCardSettingPath);
            sMotionCard.strCfgPath = m_tIniFile.ReadContentValueFromIni(strSection, @"CfgPath", m_strMotionCardSettingPath);
            for (int i = 0; i < sMotionCard.m_listAxisRes.Count; i++)
            {
                string strAxis = string.Format(@"AxisRes-{0:D2}", i + 1);
                sMotionCard.m_listAxisRes[i] = m_tIniFile.ReadContentValueFromIni(strSection, strAxis, m_strMotionCardSettingPath);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 设置设备参数到ini文件
        /// </summary>
        /// <param name="sMotionCard">参数结构体</param>
        public void SetMachineParaToIni(STRUCT_MOTION_CARD sMotionCard)
        {
            string strSection = sMotionCard.strName + @"-" + sMotionCard.strCardNo;

            m_tIniFile.WriteContentValueToIni(strSection, @"MaxAxisNum", sMotionCard.strMaxNum, m_strMotionCardSettingPath);
            m_tIniFile.WriteContentValueToIni(strSection, @"CfgPath", sMotionCard.strCfgPath, m_strMotionCardSettingPath);

            for (int i = 0; i < sMotionCard.m_listAxisRes.Count; i++)
            {
                string strAxis = string.Format(@"AxisRes-{0:D2}", i + 1);
                m_tIniFile.WriteContentValueToIni(strSection, strAxis, sMotionCard.m_listAxisRes[i], m_strMotionCardSettingPath);
            }
        }
Esempio n. 5
0
        /// <summary>
        ///     从ini文件的到设备信息
        /// </summary>
        /// <param name="sMotionCard"></param>
        public void GetMachineParaFromIni(ref STRUCT_MOTION_CARD sMotionCard)
        {
            var strSection = sMotionCard.m_strCardName + @"-" + sMotionCard.m_strCardNo;

            //获得最大轴数
            sMotionCard.m_strMaxAxisNum =
                m_oIniFile.ReadContentValueFromIni(strSection, @"MaxAxisNum", m_strPathOfSetMotionCard);
            //获得配置文件路径
            sMotionCard.m_strCfgPath =
                m_oIniFile.ReadContentValueFromIni(strSection, @"CfgPath", m_strPathOfSetMotionCard);

            var maxAxisNum = ConverToInt32(sMotionCard.m_strMaxAxisNum);

            for (var i = 0; i < maxAxisNum; i++)
            {
                var strAxis = string.Format(@"AxisRes-{0:D2}", i + 1);
                sMotionCard.m_listOfAxisRes[i] =
                    m_oIniFile.ReadContentValueFromIni(strSection, strAxis, m_strPathOfSetMotionCard);
            }
        }