Esempio n. 1
0
        /// <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;
        }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
        /// <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);
        }