コード例 #1
0
        void _motorUnits_SelectedIndexChanged(object sender, EventArgs e)
        {
            _selectedMotor = _motors[(sender as ComboBox).SelectedIndex];
            _project.Motor = _selectedMotor;

            _selectedMotor.SetCooling(_cooling);

            _peakForce.Text = _motors[(sender as ComboBox).SelectedIndex].PeakForce.ToString();
            _continuousForce.Text = _motors[(sender as ComboBox).SelectedIndex].ContinuousForce.ToString();
            _forceConstant.Text = _motors[(sender as ComboBox).SelectedIndex].ForceConstant.ToString();
            _motorConstant.Text = _motors[(sender as ComboBox).SelectedIndex].MotorConstant.ToString();
            _backEMF.Text = _motors[(sender as ComboBox).SelectedIndex].BackEMFConstant.ToString();
            _hotCoilResistance.Text = _motors[(sender as ComboBox).SelectedIndex].Resistance.ToString();
            _thermalResistance.Text = _motors[(sender as ComboBox).SelectedIndex].ThermalResistance.ToString();
            _coilMass.Text = _motors[(sender as ComboBox).SelectedIndex].CoilMass.ToString();
            _coilLength.Text = _motors[(sender as ComboBox).SelectedIndex].CoilLength.ToString();
            _movingMass.Text = "0";
            _totalStageMass.Text = "0";

            _project.Profile.Solve();
        }
コード例 #2
0
        public Database()
        {
            string MotorName;
            double MotorForceConstant;
            double MotorMotorConstant;
            double MotorBackEMFConstant;
            double MotorResistance;
            double MotorPeakForce;
            double MotorPeakCurrent;
            double MotorContinuousForce_0psi;
            double MotorContinuousForce_10psi;
            double MotorContinuousForce_20psi;
            double MotorContinuousForce_40psi;
            double MotorContinuousCurrent_0psi;
            double MotorContinuousCurrent_10psi;
            double MotorContinuousCurrent_20psi;
            double MotorContinuousCurrent_40psi;
            double MotorCoilMass;
            double MotorCoilLength;
            double MotorThermalResistance_100CTEMP_0psi;
            double MotorThermalResistance_100CTEMP_10psi;
            double MotorThermalResistance_100CTEMP_20psi;
            double MotorThermalResistance_100CTEMP_40psi;
            double MotorThermalResistance_Catalog_0psi;
            double MotorThermalResistance_Catalog_20psi;
            double MotorThermalResistance_PercentDifference_0psi;
            double MotorThermalResistance_PercentDifference_20psi;

            Motor temp;
            _searchedMotors = new List<Motor>();
            _motors = new List<Motor>();
            const string sql = "select * from Motors;";
            var conn = new SQLiteConnection("Data Source=" + _dbfilename + ";Version=3;");
            conn.Open();
            DataSet ds = new DataSet();
            var da = new SQLiteDataAdapter(sql, conn);
            da.Fill(ds);
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                MotorName = ds.Tables[0].Rows[i]["Motor"].ToString();
                MotorForceConstant = 0.0;
                MotorMotorConstant = 0.0;
                MotorBackEMFConstant = 0.0;
                MotorResistance = 0.0;
                MotorPeakForce = 0.0;
                MotorPeakCurrent = 0.0;
                MotorContinuousForce_0psi = 0.0;
                MotorContinuousForce_10psi = 0.0;
                MotorContinuousForce_20psi = 0.0;
                MotorContinuousForce_40psi = 0.0;
                MotorContinuousCurrent_0psi = 0.0;
                MotorContinuousCurrent_10psi = 0.0;
                MotorContinuousCurrent_20psi = 0.0;
                MotorContinuousCurrent_40psi = 0.0;
                MotorCoilMass = 0.0;
                MotorCoilLength = 0.0;
                MotorThermalResistance_100CTEMP_0psi = 0.0;
                MotorThermalResistance_100CTEMP_10psi = 0.0;
                MotorThermalResistance_100CTEMP_20psi = 0.0;
                MotorThermalResistance_100CTEMP_40psi = 0.0;
                MotorThermalResistance_Catalog_0psi = 0.0;
                MotorThermalResistance_Catalog_20psi = 0.0;
                MotorThermalResistance_PercentDifference_0psi = 0.0;
                MotorThermalResistance_PercentDifference_20psi = 0.0;
                MotorForceConstant = Convert.ToDouble(ds.Tables[0].Rows[i]["ForceConstant"].ToString());
                MotorMotorConstant = Convert.ToDouble(ds.Tables[0].Rows[i]["MotorConstant"].ToString());
                MotorBackEMFConstant = Convert.ToDouble(ds.Tables[0].Rows[i]["BackEMFConstant"].ToString());
                MotorResistance = Convert.ToDouble(ds.Tables[0].Rows[i]["Resistance"].ToString());
                MotorPeakForce = Convert.ToDouble(ds.Tables[0].Rows[i]["PeakForce"].ToString());
                if (ds.Tables[0].Rows[i]["PeakCurrent"].ToString().Length != 0)
                    MotorPeakCurrent = Convert.ToDouble(ds.Tables[0].Rows[i]["PeakCurrent"].ToString());
                MotorContinuousForce_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousForce_0psi"].ToString());
                MotorContinuousForce_10psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousForce_10psi"].ToString());
                MotorContinuousForce_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousForce_20psi"].ToString());
                MotorContinuousForce_40psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousForce_40psi"].ToString());
                if (ds.Tables[0].Rows[i]["ContinuousCurrent_0psi"].ToString().Length != 0)
                    MotorContinuousCurrent_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousCurrent_0psi"].ToString());
                if (ds.Tables[0].Rows[i]["ContinuousCurrent_10psi"].ToString().Length != 0)
                    MotorContinuousCurrent_10psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousCurrent_10psi"].ToString());
                if (ds.Tables[0].Rows[i]["ContinuousCurrent_20psi"].ToString().Length != 0)
                    MotorContinuousCurrent_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousCurrent_20psi"].ToString());
                if (ds.Tables[0].Rows[i]["ContinuousCurrent_40psi"].ToString().Length != 0)
                    MotorContinuousCurrent_40psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousCurrent_40psi"].ToString());
                MotorCoilMass = Convert.ToDouble(ds.Tables[0].Rows[i]["CoilMass"].ToString());
                MotorCoilLength = Convert.ToDouble(ds.Tables[0].Rows[i]["CoilLength"].ToString());
                if (ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_0psi"].ToString().Length != 0)
                    MotorThermalResistance_100CTEMP_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_0psi"].ToString());
                if (ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_10psi"].ToString().Length != 0)
                    MotorThermalResistance_100CTEMP_10psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_10psi"].ToString());
                if (ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_20psi"].ToString().Length != 0)
                    MotorThermalResistance_100CTEMP_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_20psi"].ToString());
                if (ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_40psi"].ToString().Length != 0)
                    MotorThermalResistance_100CTEMP_40psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_40psi"].ToString());
                if (ds.Tables[0].Rows[i]["ThermalResistance_Catalog_0psi"].ToString().Length != 0)
                    MotorThermalResistance_Catalog_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_Catalog_0psi"].ToString());
                if (ds.Tables[0].Rows[i]["ThermalResistance_Catalog_20psi"].ToString().Length != 0)
                    MotorThermalResistance_Catalog_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_Catalog_20psi"].ToString());
                if (ds.Tables[0].Rows[i]["ThermalResistance_PercentDifference_0psi"].ToString().Length != 0)
                    MotorThermalResistance_PercentDifference_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_PercentDifference_0psi"].ToString());
                if (ds.Tables[0].Rows[i]["ThermalResistance_PercentDifference_20psi"].ToString().Length != 0)
                    MotorThermalResistance_PercentDifference_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_PercentDifference_20psi"].ToString());
                temp = new Motor(MotorName, MotorForceConstant, MotorMotorConstant, MotorBackEMFConstant, MotorResistance, MotorPeakForce, MotorPeakCurrent, MotorContinuousForce_0psi, MotorContinuousForce_10psi, MotorContinuousForce_20psi, MotorContinuousForce_40psi, MotorContinuousCurrent_0psi, MotorContinuousCurrent_10psi, MotorContinuousCurrent_20psi, MotorContinuousCurrent_40psi, MotorCoilMass, MotorCoilLength, MotorThermalResistance_100CTEMP_0psi, MotorThermalResistance_100CTEMP_10psi, MotorThermalResistance_100CTEMP_20psi, MotorThermalResistance_100CTEMP_40psi, MotorThermalResistance_Catalog_0psi, MotorThermalResistance_Catalog_20psi, MotorThermalResistance_PercentDifference_0psi, MotorThermalResistance_PercentDifference_20psi);
                _searchedMotors.Add(temp);
                _motors.Add(temp);
            }
        }
コード例 #3
0
 //constructor
 public Project(IMotor motor)
 {
     _Motor = (Motor)motor;
 }
コード例 #4
0
        public List<Motor> Get(String[,] MotorProperties)
        {
            string MotorName;
            double MotorForceConstant;
            double MotorMotorConstant;
            double MotorBackEMFConstant;
            double MotorResistance;
            double MotorPeakForce;
            double MotorPeakCurrent;
            double MotorContinuousForce_0psi;
            double MotorContinuousForce_10psi;
            double MotorContinuousForce_20psi;
            double MotorContinuousForce_40psi;
            double MotorContinuousCurrent_0psi;
            double MotorContinuousCurrent_10psi;
            double MotorContinuousCurrent_20psi;
            double MotorContinuousCurrent_40psi;
            double MotorCoilMass;
            double MotorCoilLength;
            double MotorThermalResistance_100CTEMP_0psi;
            double MotorThermalResistance_100CTEMP_10psi;
            double MotorThermalResistance_100CTEMP_20psi;
            double MotorThermalResistance_100CTEMP_40psi;
            double MotorThermalResistance_Catalog_0psi;
            double MotorThermalResistance_Catalog_20psi;
            double MotorThermalResistance_PercentDifference_0psi;
            double MotorThermalResistance_PercentDifference_20psi;
            Motor temp;
            _motors = new List<Motor>();
            String WhereSQL = "";
            for (int i = 0; i <= MotorProperties.GetUpperBound(0); i++)
            {
                if (i == 0)
                {
                    WhereSQL += " WHERE " + MotorProperties[i, 0] + " " + MotorProperties[i, 1] + " " + MotorProperties[i, 2];
                }
                else
                {
                    WhereSQL += " AND " + MotorProperties[i, 0] + " " + MotorProperties[i, 1] + " " + MotorProperties[i, 2];
                }
            }

            string sql = "select * from _motors" + WhereSQL + ";";
            Console.WriteLine(sql);
            var conn = new SQLiteConnection("Data Source=" + _dbfilename + ";Version=3;");
            conn.Open();
            DataSet ds = new DataSet();
            var da = new SQLiteDataAdapter(sql, conn);
            da.Fill(ds);
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                MotorName = ds.Tables[0].Rows[i]["Motor"].ToString();
                MotorForceConstant = Convert.ToDouble(ds.Tables[0].Rows[i]["ForceConstant"].ToString());
                MotorMotorConstant = Convert.ToDouble(ds.Tables[0].Rows[i]["MotorConstant"].ToString());
                MotorBackEMFConstant = Convert.ToDouble(ds.Tables[0].Rows[i]["BackEMFConstant"].ToString());
                MotorResistance = Convert.ToDouble(ds.Tables[0].Rows[i]["Resistance"].ToString());
                MotorPeakForce = Convert.ToDouble(ds.Tables[0].Rows[i]["PeakForce"].ToString());
                MotorPeakCurrent = Convert.ToDouble(ds.Tables[0].Rows[i]["PeakCurrent"].ToString());
                MotorContinuousForce_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousForce_0psi"].ToString());
                MotorContinuousForce_10psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousForce_10psi"].ToString());
                MotorContinuousForce_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousForce_20psi"].ToString());
                MotorContinuousForce_40psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousForce_40psi"].ToString());
                MotorContinuousCurrent_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousCurrent_0psi"].ToString());
                MotorContinuousCurrent_10psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousCurrent_10psi"].ToString());
                MotorContinuousCurrent_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousCurrent_20psi"].ToString());
                MotorContinuousCurrent_40psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ContinuousCurrent_40psi"].ToString());
                MotorCoilMass = Convert.ToDouble(ds.Tables[0].Rows[i]["CoilMass"].ToString());
                MotorCoilLength = Convert.ToDouble(ds.Tables[0].Rows[i]["CoilLength"].ToString());
                MotorThermalResistance_100CTEMP_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_0psi"].ToString());
                MotorThermalResistance_100CTEMP_10psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_10psi"].ToString());
                MotorThermalResistance_100CTEMP_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_20psi"].ToString());
                MotorThermalResistance_100CTEMP_40psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_100CTEMP_40psi"].ToString());
                MotorThermalResistance_Catalog_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_Catalog_0psi"].ToString());
                MotorThermalResistance_Catalog_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_Catalog_20psi"].ToString());
                MotorThermalResistance_PercentDifference_0psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_PercentDifference_0psi"].ToString());
                MotorThermalResistance_PercentDifference_20psi = Convert.ToDouble(ds.Tables[0].Rows[i]["ThermalResistance_PercentDifference_20psi"].ToString());
                temp = new Motor(MotorName, MotorForceConstant, MotorMotorConstant, MotorBackEMFConstant, MotorResistance, MotorPeakForce, MotorPeakCurrent, MotorContinuousForce_0psi, MotorContinuousForce_10psi, MotorContinuousForce_20psi, MotorContinuousForce_40psi, MotorContinuousCurrent_0psi, MotorContinuousCurrent_10psi, MotorContinuousCurrent_20psi, MotorContinuousCurrent_40psi, MotorCoilMass, MotorCoilLength, MotorThermalResistance_100CTEMP_0psi, MotorThermalResistance_100CTEMP_10psi, MotorThermalResistance_100CTEMP_20psi, MotorThermalResistance_100CTEMP_40psi, MotorThermalResistance_Catalog_0psi, MotorThermalResistance_Catalog_20psi, MotorThermalResistance_PercentDifference_0psi, MotorThermalResistance_PercentDifference_20psi);
                _motors.Add(temp);
            }
            return _motors;
        }