Example #1
0
        public TSIForm(string VIN, DynoCmd dynoCmd, MainSetting mainCfg, ModelLocal db, EnvironmentData envData, Logger log)
        {
            InitializeComponent();
            _lastHeight = Height;
            _VIN        = VIN;
            _dynoCmd    = dynoCmd;
            _mainCfg    = mainCfg;
            _db         = db;
            _envData    = envData;
            _log        = log;
            EmissionInfo ei = new EmissionInfo();

            _db.GetEmissionInfoFromVIN(_VIN, ei);
            _RatedRPM = ei.RatedRPM;

            _dtRealTime = new DataTable("TSIRealTime");
            _dtRealTime.Columns.Add("VIN");
            _dtRealTime.Columns.Add("StartTime");
            _dtRealTime.Columns.Add("TimeSN");
            _dtRealTime.Columns.Add("Step");
            _dtRealTime.Columns.Add("RPM");
            _dtRealTime.Columns.Add("CurrentStageTime");
            _dtRealTime.Columns.Add("Lambda");
            _dtRealTime.Columns.Add("OilTemp");
            _dtRealTime.Columns.Add("HResult");
            _dtRealTime.Columns.Add("LResult");

            _resultData = new TSIResultData();

            _timer           = new System.Timers.Timer(_mainCfg.RealtimeInterval);
            _timer.Elapsed  += OnTimer;
            _timer.AutoReset = true;

            f_result = new TSIResultForm();
        }
Example #2
0
        public void SaveEmissionInfo(string strVIN, EmissionInfo ei)
        {
            string    strSQL = "select * from SH_VehicleInfo where VIN = '" + strVIN + "'";
            DataTable dtVI   = new DataTable("SH_VehicleInfo");

            Query(strSQL, dtVI);

            strSQL = "select ID from SH_EmissionInfo where VehicleModel = '" + ei.VehicleModel + "' and OpenInfoSN = '" + ei.OpenInfoSN + "'";
            object EI_ID = QueryOne(strSQL);

            DataTable dtEI = new DataTable("SH_EmissionInfo");

            GenerateDataTableFromClass(dtEI, ei);
            if (dtVI.Rows.Count > 0)
            {
                if (EI_ID != null)
                {
                    UpdateRecords(dtEI, "ID", new List <string>()
                    {
                        EI_ID.ToString()
                    });
                }
                else
                {
                    InsertRecords(dtEI);
                }
            }
            else
            {
                dtVI.Columns.Remove("TestQTY");
                DataRow dr = dtVI.NewRow();
                dr["VIN"]          = strVIN;
                dr["VehicleModel"] = ei.VehicleModel;
                dr["OpenInfoSN"]   = ei.OpenInfoSN;
                dtVI.Rows.Add(dr);
                InsertRecords(dtVI);
                if (EI_ID != null)
                {
                    UpdateRecords(dtEI, "ID", new List <string>()
                    {
                        EI_ID.ToString()
                    });
                }
                else
                {
                    InsertRecords(dtEI);
                }
            }
        }
Example #3
0
        /// <summary>
        /// 输入VehicleModel获取EmissionInfo信息,返回true表示已有该VehicleModel记录,返回false表示无该VehicleModel记录
        /// </summary>
        /// <param name="strVehicleModel"></param>
        /// <param name="ei"></param>
        /// <returns></returns>
        public bool GetEmissionInfoFromVehicleModel(string strVehicleModel, EmissionInfo ei)
        {
            DataTable dtEI   = new DataTable("SH_EmissionInfo");
            string    strSQL = "select * from SH_EmissionInfo where VehicleModel = '" + strVehicleModel + "'";

            Query(strSQL, dtEI);
            if (dtEI.Rows.Count > 0)
            {
                FillClassFromDataTable(dtEI, ei);
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #4
0
        /// <summary>
        /// 输入VIN获取EmissionInfo信息,返回找到的VIN在数据库中的主键ID值,若未找到则返回-1
        /// </summary>
        /// <param name="strVIN"></param>
        /// <param name="ei"></param>
        /// <returns></returns>
        public int GetEmissionInfoFromVIN(string strVIN, EmissionInfo ei)
        {
            string    strSQL = "select * from SH_VehicleInfo where VIN = '" + strVIN + "'";
            DataTable dtVI   = new DataTable("SH_VehicleInfo");

            Query(strSQL, dtVI);
            if (dtVI.Rows.Count > 0)
            {
                DataRow   dr   = dtVI.Rows[dtVI.Rows.Count - 1];
                DataTable dtEI = new DataTable("SH_EmissionInfo");
                strSQL = "select * from SH_EmissionInfo where VehicleModel = '" + dr["VehicleModel"] + "' and OpenInfoSN = '" + dr["OpenInfoSN"] + "'";
                Query(strSQL, dtEI);
                FillClassFromDataTable(dtEI, ei);
                return((int)dr["ID"]);
            }
            else
            {
                return(-1);
            }
        }
Example #5
0
 public VehicleLoginForm(ModelLocal db, DynoCmd dynoCmd, MainSetting mainCfg, Logger log)
 {
     InitializeComponent();
     _lastHeight = Height;
     _db         = db;
     _dynoCmd    = dynoCmd;
     _mainCfg    = mainCfg;
     _log        = log;
     if (_mainCfg.ScannerPort.Length > 0)
     {
         _sp = new SerialPortClass(
             _mainCfg.ScannerPort,
             _mainCfg.ScannerBaud,
             Parity.None,
             8,
             StopBits.One
             );
         try {
             _sp.OpenPort();
             _sp.DataReceived += SerialDataReceived;
         } catch (Exception ex) {
             _log.TraceError("Open serial port error: " + ex.Message);
             MessageBox.Show("打开串口扫码枪出错", "初始化错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     _serialRecvBuf = string.Empty;
     if (_mainCfg.DynoParamIP.Length > 0)
     {
         try {
             _dynoParamRecver = new DynoParamRecv(_mainCfg.DynoParamIP, _mainCfg.DynoParamPort);
             _dynoParamRecver.DynoParamRecvEvent += OnDynoParamRecv;
             _dynoParamRecvFlag = new ManualResetEvent(true);
         } catch (Exception ex) {
             _log.TraceError("Connect to dyno parameter server error: " + ex.Message);
             MessageBox.Show("无法连接到测功机参数服务端软件", "初始化错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     VI     = new VehicleInfo();
     EI     = new EmissionInfo();
     _carID = -1;
 }
Example #6
0
 private void OnDynoParamRecv(object sender, DynoParamRecvEventArgs e)
 {
     _dynoParamRecvFlag.Set();
     if (e.Code == "200")
     {
         EI = JsonConvert.DeserializeObject <EmissionInfo>(e.Msg);
         VI.VehicleModel = EI.VehicleModel;
         EI.OpenInfoSN   = string.Empty;
         VI.OpenInfoSN   = string.Empty;
         EI.EngineSN     = string.Empty;
         EI.Name         = string.Empty;
     }
     else
     {
         _log.TraceError(string.Format("Get dyno parameter from MES error, Code: {0}, Error: {1}", e.Code, e.Msg));
         MessageBox.Show(string.Format("从MES获取测功机参数失败, Code: {0}, Error: {1}", e.Code, e.Msg),
                         "获取测功机参数", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     Invoke((EventHandler) delegate {
         FillInputTextBox();
     });
 }
Example #7
0
        public LugdownForm(string VIN, DynoCmd dynoCmd, MainSetting mainCfg, ModelLocal db, EnvironmentData envData, Logger log)
        {
            InitializeComponent();
            _lastHeight = Height;
            _VIN        = VIN;
            _dynoCmd    = dynoCmd;
            _mainCfg    = mainCfg;
            _db         = db;
            _envData    = envData;
            _log        = log;
            EmissionInfo ei = new EmissionInfo();

            _db.GetEmissionInfoFromVIN(_VIN, ei);
            _RatedRPM     = ei.RatedRPM;
            _MaxRPM       = -1;
            _canGetMaxRpm = false;

            _dtRealTime = new DataTable("LugdownRealTime");
            _dtRealTime.Columns.Add("VIN");
            _dtRealTime.Columns.Add("StartTime");
            _dtRealTime.Columns.Add("TimeSN");
            _dtRealTime.Columns.Add("RPM");
            _dtRealTime.Columns.Add("Speed");
            _dtRealTime.Columns.Add("Power");
            _dtRealTime.Columns.Add("Torque");
            _dtRealTime.Columns.Add("K");
            _dtRealTime.Columns.Add("CO2");
            _dtRealTime.Columns.Add("NOx");

            _resultData = new LDResultData();

            _timer           = new System.Timers.Timer(_mainCfg.RealtimeInterval);
            _timer.Elapsed  += OnTimer;
            _timer.AutoReset = true;

            f_result = new LDResultForm();
        }