/// <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); }
/// <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); }
/// <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); } }
/// <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); } }
/// <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); } }