/// <summary> /// 讀取馬達參數表 /// </summary> private void LoadMotorTable() { MotorTable.Load(); MotorParameters temporaryStorage_1 = new MotorParameters(); MotorParameters temporaryStorage_2 = new MotorParameters(); MotorParameters temporaryStorage_3 = new MotorParameters(); MotorTable.GetMotorParameter("X_Axis", ref temporaryStorage_1); motors[MotorType.X_Axis] = temporaryStorage_1; MotorTable.GetMotorParameter("Y_Axis", ref temporaryStorage_2); motors[MotorType.Y_Axis] = temporaryStorage_2; MotorTable.GetMotorParameter("θ_Axis", ref temporaryStorage_3); motors[MotorType.θ_Axis] = temporaryStorage_3; }
public void TestsValidParametrs(int lenBox, int diameretBox, int lenRotor, int diameretRotor, int lenPin, int widthFindings, int lenFindings, int heightFindings, int diameretPorts, int countPorts, int countGrille) { var motorParametrs = new List <int>() { lenBox, diameretBox, lenRotor, diameretRotor, lenPin, widthFindings, lenFindings, heightFindings, diameretPorts, countPorts, countGrille }; MotorParameters parameters = new MotorParameters(motorParametrs); }
/// <summary> /// 讀取馬達參數 /// </summary> /// <param name="axisName">馬達代號</param> /// <param name="motorParameters">馬達參數</param> /// <returns></returns> public bool GetMotorParameter(string axisName, ref MotorParameters motorParameters) { bool isGet = false; try { DataRow[] drArray = motorCollection.Tables["Device"].Select("AxisName = '" + axisName + "'"); if (drArray.Length == 1) { motorParameters.ECatAxisDevice.CardNum = Convert.ToUInt16(drArray[0]["CardID"]); motorParameters.ECatAxisDevice.NodeID = Convert.ToUInt16(drArray[0]["NodeID"]); motorParameters.ECatAxisDevice.SlotID = Convert.ToUInt16(drArray[0]["SlotID"]); motorParameters.ECatAxisDevice.MotorName = Convert.ToString(drArray[0]["AxisName"]); motorParameters.ECatAxisDevice.StationNo = Convert.ToUInt16(drArray[0]["StationNo"]); motorParameters.ECatAxisDevice.Pulse_PerRev = Convert.ToUInt32(drArray[0]["PulsePerRev"]); motorParameters.ECatAxisDevice.MM_PerRev = Convert.ToSingle(drArray[0]["MilliMeterPerRev"]); motorParameters.ECatAxisDevice.MaxRPM = Convert.ToUInt32(drArray[0]["MaxRPM"]); if (motorCollection.Tables.Contains(axisName)) { DataTable pointTable = motorCollection.Tables[axisName]; motorParameters.RunParameter = new MotorParameters.MoveParameters[pointTable.Rows.Count]; for (int i = 0; i < motorParameters.RunParameter.Length; i++) { motorParameters.RunParameter[i] = new MotorParameters.MoveParameters(); motorParameters.RunParameter[i].DirType = Convert.ToString(pointTable.Rows[i]["Type"]); motorParameters.RunParameter[i].Position = Convert.ToDouble(pointTable.Rows[i]["Position"]); motorParameters.RunParameter[i].iniVelocity = Convert.ToDouble(pointTable.Rows[i]["iniVelocity"]); motorParameters.RunParameter[i].maxVelocity = Convert.ToDouble(pointTable.Rows[i]["maxVelocity"]); motorParameters.RunParameter[i].tAcc = Convert.ToDouble(pointTable.Rows[i]["tAcc"]); motorParameters.RunParameter[i].tDec = Convert.ToDouble(pointTable.Rows[i]["tDec"]); } isGet = true; } } } catch (Exception e) { StackFrame[] stackFrames = new StackTrace(true).GetFrames(); LogFile.LogTryCatch(stackFrames, e.Message, true, true); } return(isGet); }