Пример #1
0
        private void tbx_SerialWrite_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                string ser = tbx_SerialWrite.Text.Trim().ToUpper();

                if (ser.Length > 0)
                {
                    tbx_SerialWrite.Enabled = false;

                    paintBackgroundColor(statusType.START);

                    m_sCurrentUniqueTID = "";

                    m_sCurrentSerialNumber = ser;

                    WcfCaller.querySerialInfo((o, ex) =>
                    {
                        if (ex == null)
                        {
                            byte[] btData = TagDataFormat.CreateByteArray(o);

                            //call reader to write data to tag
                            UHFDeskMain.reader.WriteTag(btData);

                            //if (WriteData(btData))
                            //{
                            //    paintBackgroundColor(statusType.PASS);
                            //    WriteLog(lrtxtLog, "烧录成功!", 0);
                            //    common.rf_beep(ReaderInfo.icdev, 10);
                            //}
                            //else
                            //{
                            //    paintBackgroundColor(statusType.FAIL);
                            //    WriteLog(lrtxtLog, "烧录失败!", 1);
                            //    common.rf_beep(ReaderInfo.icdev, 20);
                            //}
                        }
                        else
                        {
                            WriteLog(lrtxtLog, "与服务器通讯发生异常" + ex.Message, 1);
                            //common.rf_beep(ReaderInfo.icdev, 20);
                            paintBackgroundColor(statusType.FAIL);
                        }
                    }, new string[] { m_sCurrentSerialNumber, m_sCurrentUniqueTID }
                                              );
                }
            }
        }
Пример #2
0
        //access
        public byte[] QueryAccess(RFIDConstants configData, string lot)
        {
            ModuleInfo objModule = new ModuleInfo();
            //读取配置文件
            string path = new Jsonhelp().readjson("AccessFilePath", AppDomain.CurrentDomain.BaseDirectory + "config.json");

            if (!System.IO.File.Exists(path))
            {
                MessageBox.Show("没有找到Access文件");
                paintBackgroundColor(statusType.FAIL);
                return(null);
            }

            string conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Persist Security Info=False;";
            //DbUtility sqlhelp = new DbUtility(conn, DbProviderType.OleDb);
            string sql = new Jsonhelp().readjson("AccessSql", AppDomain.CurrentDomain.BaseDirectory + "config.json");

            sql = string.Format(sql, lot);

            OleDbConnection oConn = new OleDbConnection();
            OleDbCommand    oCom  = new OleDbCommand();

            oConn.ConnectionString = conn;
            oConn.Open();
            oCom.Connection  = oConn;
            oCom.CommandText = sql;
            IDataReader dataReader = oCom.ExecuteReader();


            //IDataReader dataReader= sqlhelp.ExecuteReader(sql, null);
            string moduletime = string.Empty;

            if (dataReader.Read())
            {
                moduletime           = DateTime.Parse(dataReader["testtime"].ToString()).ToString("yyyy-MM-dd");//+ " " + DateTime.Parse(dataReader["Time"].ToString()).ToString("HH:mm:ss");
                objModule.PackedDate = moduletime;
                //电池生产时间从配置文件获取 modify by xue lei on 2018-9-28
                objModule.CellDate    = configData.cell_mfg_date;//new Jsonhelp().readjson("CellProductionDate", AppDomain.CurrentDomain.BaseDirectory + "config.json");  //moduletime;
                objModule.Pmax        = dataReader["Pmax"].ToString();
                objModule.Voc         = dataReader["Voc"].ToString();
                objModule.Vpm         = dataReader["Vpm"].ToString();
                objModule.Ipm         = dataReader["Ipm"].ToString();
                objModule.Isc         = dataReader["Isc"].ToString();
                objModule.FF          = dataReader["FF"].ToString();
                objModule.Module_ID   = lot;
                objModule.ProductType = configData.product_type;
            }
            else
            {
                DoFailStuff(m_sSerialNumber + " " + "未找到组件记录!");
                oConn.Close();
                return(null);
            }
            //dataReader.Close();
            ShowIVCurves(double.Parse(objModule.Isc), double.Parse(objModule.Ipm), double.Parse(objModule.Vpm), double.Parse(objModule.Voc));
            byte[] btData = TagDataFormat.CreateByteArray(objModule, configData);
            oModuleInfo = objModule;
            ShowModuleInfo(true, configData);
            paintBackgroundColor(statusType.PASS);
            oConn.Close();
            return(btData);
        }
Пример #3
0
        private void tbx_SerialWrite_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (chkbox_burningTag.Checked && cbx_customer.SelectedValue == null)
                {
                    MessageBox.Show("请选择客户!!!");
                    return;
                }

                string        customer         = cbx_customer.SelectedValue.ToString();
                RFIDConstants const_parameters = null;
                if (dic_customer_RFID_constants.ContainsKey(customer))
                {
                    const_parameters = dic_customer_RFID_constants[customer];
                    //ms_cfg_mfg_name = const_parameters.mfg_name;
                    //ms_cfg_mfg_country = const_parameters.mfg_country;
                    //ms_iec_date = const_parameters.iec_date;
                    //ms_iec_verfy = const_parameters.iec_verfy;
                    //ms_iso = const_parameters.iso_desc;
                    //ms_producttype = const_parameters.product_type;
                    //ms_cell_mfg = const_parameters.cell_mfg;
                    //ms_cellsource_country = const_parameters.cellsource_country;
                    //ms_iso9000_date = const_parameters.iso_9000_date;
                    //ms_iso9000_name = const_parameters.iso_9000_name;
                    //ms_iso14000_date = const_parameters.iso_14000_date;
                    //ms_iso14000_name = const_parameters.iso_14000_name;
                    //ms_polarity_of_terminal = const_parameters.polarity_of_terminal;
                    //ms_max_sys_vol = const_parameters.max_sys_vol;
                    //ms_cell_mfg_date = const_parameters.cell_mfg_date;
                }

                CleanIVCurves();
                ShowModuleInfo(false, null);
                string ser = tbx_SerialWrite.Text.Trim().ToUpper();
                //tbx_SerialWrite.Text = "";

                if (ser.Length > 0)
                {
                    paintBackgroundColor(statusType.START);
                    tbx_SerialWrite.Enabled = false;

                    SetLabelStatus(statusType.START);

                    m_sSerialNumber = ser;
                    //add by xue lei on 2019-1-6 数据源配置
                    var datatype = new Jsonhelp().readjson("DataType", AppDomain.CurrentDomain.BaseDirectory + "config.json");
                    if (datatype == "")
                    {
                        MessageBox.Show("请先配置数据源");
                        return;
                    }
                    if (chkbox_burningTag.Checked)
                    {
                        if (!GetTagUID())
                        {
                            WriteLog(lrtxtLog, "没有发现标签!", 1);
                            common.rf_beep(ReaderInfo.icdev, 20);
                            paintBackgroundColor(statusType.FAIL);
                            List <string> csvValueList = new List <string> {
                                System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", ""
                            };
                            WriteCSVLog.WriteCSV(csvValueList);
                            SetSerialTxtFocus();
                            Speech("烧录失败");
                        }
                        else
                        {
                            if (datatype == "csv")
                            {
                                WriteRfid(QueryCSVToOdbc(const_parameters, ser));
                            }
                            else if (datatype == "Access")
                            {
                                WriteRfid(QueryAccess(const_parameters, ser));
                            }
                            else
                            {
                                #region query data from database
                                WcfCaller.querySerialInfo((o, ex) =>
                                {
                                    if (ex == null)
                                    {
                                        if (o == null)
                                        {
                                            DoFailStuff(m_sSerialNumber + " " + "未找到组件记录!");
                                            return;
                                        }

                                        #region chech region state



                                        if (string.IsNullOrEmpty(o.ProductType))
                                        {
                                            o.ProductType = const_parameters.product_type;
                                            //DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt01);
                                            //return;
                                        }
                                        if (string.IsNullOrEmpty(o.CellDate))
                                        {
                                            o.CellDate = const_parameters.cell_mfg_date;
                                            //DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt02);
                                            //return;
                                        }
                                        if (string.IsNullOrEmpty(o.PackedDate))
                                        {
                                            DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt03);
                                            return;
                                        }
                                        if (string.IsNullOrEmpty(o.Pmax))
                                        {
                                            DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt04);
                                            return;
                                        }
                                        if (string.IsNullOrEmpty(o.Voc))
                                        {
                                            DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt05);
                                            return;
                                        }
                                        if (string.IsNullOrEmpty(o.Vpm))
                                        {
                                            DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt06);
                                            return;
                                        }
                                        if (string.IsNullOrEmpty(o.Ipm))
                                        {
                                            DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt07);
                                            return;
                                        }
                                        if (string.IsNullOrEmpty(o.Isc))
                                        {
                                            DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt08);
                                            return;
                                        }
                                        #endregion

                                        ShowIVCurves(double.Parse(o.Isc), double.Parse(o.Ipm), double.Parse(o.Vpm), double.Parse(o.Voc));

                                        o.customer = cbx_customer.SelectedValue.ToString();
                                        //SetRFIDConstants(o.customer);


                                        byte[] btData = TagDataFormat.CreateByteArray(o, const_parameters);

                                        oModuleInfo = o;

                                        m_sBasicInfo = o.ProductType + "|" + o.PackedDate.Replace("-", ".") + "|"
                                                       + o.Pivf + "|" + o.Module_ID + "|" + o.CellDate.Replace("-", ".") + "|3";

                                        if (WriteData(btData))
                                        {
                                            //WriteLog2DB();

                                            paintBackgroundColor(statusType.PASS);
                                            WriteLog(lrtxtLog, m_sSerialNumber + " " + "烧录成功!", 0);
                                            common.rf_beep(ReaderInfo.icdev, 10);
                                            List <string> csvValueList = new List <string> {
                                                System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Pass", m_sTagUIDstring, m_sBasicInfo
                                            };
                                            WriteCSVLog.WriteCSV(csvValueList);
                                            ShowModuleInfo(true, const_parameters);
                                            Speech("烧录成功");
                                        }
                                        else
                                        {
                                            DoFailStuff(m_sSerialNumber + " " + "烧录失败!");
                                        }
                                    }
                                    else
                                    {
                                        DoFailStuff("与服务器通讯发生异常" + ex.Message);
                                    }
                                    SetSerialTxtFocus();
                                }, new string[] { m_sSerialNumber, m_sTagUIDstring });
                                #endregion
                            }
                        }
                    }
                    else
                    {
                        if (datatype == "csv")
                        {
                            QueryCSVToOdbc(const_parameters, ser);
                        }
                        else if (datatype == "Access")
                        {
                            QueryAccess(const_parameters, ser);
                        }
                        else
                        {
                            #region query data from database
                            WcfCaller.querySerialInfo((o, ex) =>
                            {
                                if (ex == null)
                                {
                                    if (o == null)
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + "未找到组件记录!");
                                        return;
                                    }

                                    #region chech region state

                                    if (string.IsNullOrEmpty(o.ProductType))
                                    {
                                        o.ProductType = const_parameters.product_type;
                                        //DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt01);
                                        //return;
                                    }
                                    if (string.IsNullOrEmpty(o.CellDate))
                                    {
                                        o.CellDate = const_parameters.cell_mfg_date;
                                        //DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt02);
                                        //return;
                                    }
                                    if (string.IsNullOrEmpty(o.PackedDate))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt03);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Pmax))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt04);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Voc))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt05);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Vpm))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt06);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Ipm))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt07);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Isc))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt08);
                                        return;
                                    }
                                    #endregion

                                    ShowIVCurves(double.Parse(o.Isc), double.Parse(o.Ipm), double.Parse(o.Vpm), double.Parse(o.Voc));

                                    o.customer = cbx_customer.SelectedValue.ToString();
                                    //SetRFIDConstants(o.customer);

                                    oModuleInfo = o;

                                    paintBackgroundColor(statusType.PASS);

                                    ShowModuleInfo(true, const_parameters);

                                    WriteLog(lrtxtLog, m_sSerialNumber + " " + "获取功率信息成功!", 0);

                                    SetSerialTxtFocus();
                                }
                                else
                                {
                                    DoFailStuff("与服务器通讯发生异常" + ex.Message);
                                    //WriteLog(lrtxtLog, "与服务器通讯发生异常"+ex.Message, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //SetSerialTxtFocus();
                                    //Speech("烧录失败");
                                }
                            }, new string[] { m_sSerialNumber, m_sTagUIDstring });
                            #endregion }
                        }
                    }
                }
            }
        }
Пример #4
0
        //读取csv
        /// <summary>
        /// Odbc查询CSV
        /// </summary>
        public byte[] QueryCSVToOdbc(RFIDConstants configData, string lot)
        {
            ModuleInfo objModule = new ModuleInfo();

            //读取配置文件
            string path = new Jsonhelp().readjson("CSVFilePath", AppDomain.CurrentDomain.BaseDirectory + "config.json");

            //path = path.Replace("\\\\", "\\");
            if (!System.IO.File.Exists(path))
            {
                MessageBox.Show("没有找到CSV文件");
                paintBackgroundColor(statusType.FAIL);
                return(null);
            }
            string newfilename = System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv";
            string newfilepath = AppDomain.CurrentDomain.BaseDirectory + newfilename;

            System.IO.File.Copy(path, newfilepath);

            //文件路径
            string tableName = newfilepath.Substring(newfilepath.LastIndexOf('\\') + 1);
            string filePath  = newfilepath.Substring(0, newfilepath.LastIndexOf('\\') + 1);//AppDomain.CurrentDomain.BaseDirectory;

            string pContent = string.Empty;

            OdbcConnection odbcConn = new OdbcConnection();
            OdbcCommand    odbcCmd  = new OdbcCommand();
            OdbcDataReader dataReader;

            try
            {
                string strConnOledb = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=";
                strConnOledb += filePath;
                strConnOledb += ";Extensions=csv,txt;";

                odbcConn.ConnectionString = strConnOledb;
                odbcConn.Open();
                StringBuilder commandText = new StringBuilder("SELECT  ");
                commandText.AppendFormat("Date,Time,Snr,Voc,Isc,Pmax,Vpmax,Ipmax,FF From {0} where Snr ='" + lot + "' ", tableName);
                odbcCmd.Connection  = odbcConn;
                odbcCmd.CommandText = commandText.ToString();
                dataReader          = odbcCmd.ExecuteReader(CommandBehavior.CloseConnection);
                string moduletime = string.Empty;
                if (dataReader.Read())
                {
                    moduletime           = DateTime.Parse(dataReader["Date"].ToString()).ToString("yyyy-MM-dd");//+ " " + DateTime.Parse(dataReader["Time"].ToString()).ToString("HH:mm:ss");
                    objModule.PackedDate = moduletime;
                    //电池生产时间从配置文件获取 modify by xue lei on 2018-9-28
                    objModule.CellDate    = configData.cell_mfg_date;//new Jsonhelp().readjson("CellProductionDate", AppDomain.CurrentDomain.BaseDirectory + "config.json");  //moduletime;
                    objModule.Pmax        = dataReader["Pmax"].ToString();
                    objModule.Voc         = dataReader["Voc"].ToString();
                    objModule.Vpm         = dataReader["Vpmax"].ToString();
                    objModule.Ipm         = dataReader["Ipmax"].ToString();
                    objModule.Isc         = dataReader["Isc"].ToString();
                    objModule.FF          = dataReader["FF"].ToString();
                    objModule.Module_ID   = lot;
                    objModule.ProductType = configData.product_type;
                }
                else
                {
                    DoFailStuff(m_sSerialNumber + " " + "未找到组件记录!");
                }
                //dataReader.Close();
                ShowIVCurves(double.Parse(objModule.Isc), double.Parse(objModule.Ipm), double.Parse(objModule.Vpm), double.Parse(objModule.Voc));
                byte[] btData = TagDataFormat.CreateByteArray(objModule, configData);
                oModuleInfo = objModule;
                ShowModuleInfo(true, configData);
                paintBackgroundColor(statusType.PASS);
                return(btData);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
                odbcConn.Close();
                byte[] data = null;
                return(data);
            }
            finally
            {
                odbcConn.Close();
            }
        }
Пример #5
0
        private void tbx_SerialWrite_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (chkbox_burningTag.Checked && cbx_customer.SelectedValue == null)
                {
                    MessageBox.Show("请选择客户!!!");
                    return;
                }

                CleanIVCurves();
                ShowModuleInfo(false);
                string ser = tbx_SerialWrite.Text.Trim().ToUpper();

                if (ser.Length > 0)
                {
                    paintBackgroundColor(statusType.START);
                    tbx_SerialWrite.Enabled = false;

                    SetLabelStatus(statusType.START);

                    m_sSerialNumber = ser;

                    if (chkbox_burningTag.Checked)
                    {
                        if (!GetTagUID())
                        {
                            WriteLog(lrtxtLog, "没有发现标签!", 1);
                            common.rf_beep(ReaderInfo.icdev, 20);
                            paintBackgroundColor(statusType.FAIL);



                            List <string> csvValueList = new List <string> {
                                System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", ""
                            };
                            WriteCSVLog.WriteCSV(csvValueList);
                            SetSerialTxtFocus();
                            Speech("烧录失败");
                        }
                        else
                        {
                            #region query data from database
                            WcfCaller.querySerialInfo((o, ex) =>
                            {
                                if (ex == null)
                                {
                                    if (o == null)
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + "未找到组件记录!");
                                        return;
                                    }

                                    #region chech region state


                                    if (string.IsNullOrEmpty(o.ProductType))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt01);
                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt01, 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);
                                        //paintBackgroundColor(statusType.FAIL);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.CellDate))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt02);
                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt02, 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);
                                        //paintBackgroundColor(statusType.FAIL);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.PackedDate))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt03);
                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt03, 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);
                                        //paintBackgroundColor(statusType.FAIL);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Pmax))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt04);
                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt04, 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);
                                        //paintBackgroundColor(statusType.FAIL);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Voc))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt05);
                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt05, 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);
                                        //paintBackgroundColor(statusType.FAIL);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Vpm))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt06);
                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt06, 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);
                                        //paintBackgroundColor(statusType.FAIL);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Ipm))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt07);
                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt07, 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);
                                        //paintBackgroundColor(statusType.FAIL);
                                        return;
                                    }
                                    if (string.IsNullOrEmpty(o.Isc))
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt08);
                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt08, 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);
                                        //paintBackgroundColor(statusType.FAIL);
                                        return;
                                    }
                                    #endregion

                                    ShowIVCurves(double.Parse(o.Isc), double.Parse(o.Ipm), double.Parse(o.Vpm), double.Parse(o.Voc));

                                    o.customer = cbx_customer.SelectedValue.ToString();
                                    SetRFIDConstants(o.customer);


                                    byte[] btData = TagDataFormat.CreateByteArray(o);

                                    oModuleInfo = o;

                                    m_sBasicInfo = o.ProductType + "|" + o.PackedDate.Replace("-", ".") + "|"
                                                   + o.Pivf + "|" + o.Module_ID + "|" + o.CellDate.Replace("-", ".") + "|3";

                                    if (WriteData(btData))
                                    {
                                        WriteLog2DB();
                                        //paintBackgroundColor(statusType.PASS);
                                        //WriteLog(lrtxtLog, "烧录成功!", 0);
                                        //common.rf_beep(ReaderInfo.icdev, 10);
                                    }
                                    else
                                    {
                                        DoFailStuff(m_sSerialNumber + " " + "烧录失败!");
                                        //paintBackgroundColor(statusType.FAIL);
                                        //WriteLog(lrtxtLog, m_sSerialNumber + " " + "烧录失败!", 1);
                                        //common.rf_beep(ReaderInfo.icdev, 20);

                                        //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                        //WriteCSVLog.WriteCSV(csvValueList);
                                        //SetSerialTxtFocus();
                                        //Speech("烧录失败");
                                    }
                                }
                                else
                                {
                                    DoFailStuff("与服务器通讯发生异常" + ex.Message);
                                    //WriteLog(lrtxtLog, "与服务器通讯发生异常"+ex.Message, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //SetSerialTxtFocus();
                                    //Speech("烧录失败");
                                }
                            }, new string[] { m_sSerialNumber, m_sTagUIDstring });
                            #endregion
                        }
                    }
                    else
                    {
                        #region query data from database
                        WcfCaller.querySerialInfo((o, ex) =>
                        {
                            if (ex == null)
                            {
                                if (o == null)
                                {
                                    DoFailStuff(m_sSerialNumber + " " + "未找到组件记录!");
                                    return;
                                }

                                #region chech region state

                                if (string.IsNullOrEmpty(o.ProductType))
                                {
                                    DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt01);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt01, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    return;
                                }
                                if (string.IsNullOrEmpty(o.CellDate))
                                {
                                    DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt02);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt02, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    return;
                                }
                                if (string.IsNullOrEmpty(o.PackedDate))
                                {
                                    DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt03);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt03, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    return;
                                }
                                if (string.IsNullOrEmpty(o.Pmax))
                                {
                                    DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt04);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt04, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    return;
                                }
                                if (string.IsNullOrEmpty(o.Voc))
                                {
                                    DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt05);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt05, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    return;
                                }
                                if (string.IsNullOrEmpty(o.Vpm))
                                {
                                    DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt06);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt06, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    return;
                                }
                                if (string.IsNullOrEmpty(o.Ipm))
                                {
                                    DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt07);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt07, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    return;
                                }
                                if (string.IsNullOrEmpty(o.Isc))
                                {
                                    DoFailStuff(m_sSerialNumber + " " + Resources.strPrompt08);
                                    //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                    //WriteCSVLog.WriteCSV(csvValueList);
                                    //WriteLog(lrtxtLog, m_sSerialNumber + " " + Resources.strPrompt08, 1);
                                    //common.rf_beep(ReaderInfo.icdev, 20);
                                    //paintBackgroundColor(statusType.FAIL);
                                    return;
                                }
                                #endregion

                                ShowIVCurves(double.Parse(o.Isc), double.Parse(o.Ipm), double.Parse(o.Vpm), double.Parse(o.Voc));

                                o.customer = cbx_customer.SelectedValue.ToString();
                                SetRFIDConstants(o.customer);

                                oModuleInfo = o;

                                paintBackgroundColor(statusType.PASS);

                                ShowModuleInfo(true);

                                WriteLog(lrtxtLog, m_sSerialNumber + " " + "获取功率信息成功!", 0);

                                SetSerialTxtFocus();
                            }
                            else
                            {
                                DoFailStuff("与服务器通讯发生异常" + ex.Message);
                                //WriteLog(lrtxtLog, "与服务器通讯发生异常"+ex.Message, 1);
                                //common.rf_beep(ReaderInfo.icdev, 20);
                                //paintBackgroundColor(statusType.FAIL);
                                //List<string> csvValueList = new List<string> { System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m_sSerialNumber, "Fail", "" };
                                //WriteCSVLog.WriteCSV(csvValueList);
                                //SetSerialTxtFocus();
                                //Speech("烧录失败");
                            }
                        }, new string[] { m_sSerialNumber, m_sTagUIDstring });
                        #endregion
                    }
                }
            }
        }
Пример #6
0
        /*
         * timer callback function, read Tag every 2 seconds
         */
        private void ReadRfidTimerCallback(object sender)
        {
            if (_read_tag_timer_enable)
            {
                try
                {
                    string tagId = ReaderConfig._rfidReader.ReadTagID();

                    if (!string.IsNullOrEmpty(tagId))
                    {
                        if (m_sLastReadTagId != tagId)
                        {
                            m_sLastReadTagId = tagId;
                        }
                        else
                        {
                            _ReadTimer.Change(2000, Timeout.Infinite);
                            return;
                        }

                        System.Threading.Thread.Sleep(20);

                        byte[] buff = ReaderConfig._rfidReader.ReadTagBuff();

                        if (buff != null)
                        {
                            m_objModuleInfo = TagDataFormat.ParserTagData(buff);
                            //信息都从标签获取 modify by xue lei on 2018-7-11
                            //SetRFIDConstants(m_objModuleInfo.customer);

                            ChangeState(SystemState.ShowModuleInfo, m_objModuleInfo);

                            ReaderConfig._rfidReader.PlaySound();
                        }

                        //DataTable dt = new DataTable();
                        //dt.Columns.Add("Current");
                        //dt.Columns.Add("Voltage");
                        //dt.TableName = "dtPointsInfo";
                        //for (int i = 0; i < tag.PointArray.Length; i++)
                        //{
                        //    DataRow dr = dt.NewRow();
                        //    dr["Current"] = tag.PointArray[i].Current * 10000000;
                        //    dr["Voltage"] = tag.PointArray[i].Voltage * 10000000;
                        //    dt.Rows.Add(dr);
                        //}
                        //DataSet ds = new DataSet();
                        //ds.Tables.Add(dt);

                        //object[] args2 = new object[4];
                        //args2[0] = tagId;
                        //args2[1] = tag.SerialNo;
                        //args2[2] = tag.Profile;
                        //args2[3] = ds.GetXml();
                        //this.Invoke(new ReadLogDelegate(ReadLog), args2);
                        //dt = null; ds = null;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("操作异常,原因:" + ex.Message, "异常");
                    //FileLog.WriteError(ex.Message);
                }
            }


            _ReadTimer.Change(2000, Timeout.Infinite);
        }
Пример #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtRead_Click(object sender, EventArgs e)
        {
            paintBackgroundColor(statusType.START);

            if (!_RFIDDevice.ReadTagID())
            {
                WriteLog(lrtxtLog, "没有发现标签!", 1);
                _RFIDDevice.Beep(20);
                paintBackgroundColor(statusType.FAIL);
                return;
            }
            else
            {
                System.Threading.Thread.Sleep(20);

                ErrorCode ec = _RFIDDevice.IsTagWrited();// ReadData();
                switch (ec)
                {
                case ErrorCode.CanNotFindTag:
                    paintBackgroundColor(statusType.FAIL);
                    _RFIDDevice.Beep(20);
                    string str = "无法找到标签,请重试!";
                    WriteLog(lrtxtLog, str, 1);
                    break;

                case ErrorCode.OtherException:
                    paintBackgroundColor(statusType.FAIL);
                    _RFIDDevice.Beep(20);
                    str = "其他异常,请重试";
                    WriteLog(lrtxtLog, str, 1);
                    break;

                case ErrorCode.ReadFail:
                    paintBackgroundColor(statusType.FAIL);
                    _RFIDDevice.Beep(20);
                    str = "读取失败,请重试!";
                    WriteLog(lrtxtLog, str, 1);
                    break;

                case ErrorCode.ReadSuccessful:
                    paintBackgroundColor(statusType.PASS);
                    _RFIDDevice.Beep(10);
                    oModuleInfo = TagDataFormat.ParserTag(_RFIDDevice.rConfig.readBuffer);
                    ShowModuleInfo(true);
                    ShowIVCurves(double.Parse(oModuleInfo.Isc), double.Parse(oModuleInfo.Ipm), double.Parse(oModuleInfo.Vpm), double.Parse(oModuleInfo.Voc), oModuleInfo.Module_ID);

                    string storedDataString = Encoding.ASCII.GetString(_RFIDDevice.rConfig.readBuffer);
                    WriteLog(lrtxtLog, storedDataString.Replace("@@", "").Replace("##", ""), 0);
                    _RFIDDevice.Speech("读取成功");
                    break;

                case ErrorCode.TagHasNoData:
                    paintBackgroundColor(statusType.FAIL);
                    _RFIDDevice.Beep(20);
                    str = "空标签!";
                    WriteLog(lrtxtLog, str, 1);
                    break;

                default:
                    break;
                }
            }
        }
Пример #8
0
        private void btnWrite_Click(object sender, EventArgs e)
        {
            if (m_objModuleInfo == null)
            {
                MessageBox.Show("没有数据");
                return;
            }

            m_strTagUID = ReaderConfig._rfidReader.ReadTagID();

            if (m_strTagUID == "")
            {
                MessageBox.Show("没有找到标签");
                return;
            }

            #region chech region state

            if (string.IsNullOrEmpty(m_objModuleInfo.ProductType))
            {
                MessageBox.Show("产品类型不能为空");
                return;
            }
            if (string.IsNullOrEmpty(m_objModuleInfo.CellDate))
            {
                MessageBox.Show("电池片生产日期不能为空");
                return;
            }
            if (string.IsNullOrEmpty(m_objModuleInfo.PackedDate))
            {
                MessageBox.Show("包装时间不能为空");
                return;
            }
            if (string.IsNullOrEmpty(m_objModuleInfo.Pmax))
            {
                MessageBox.Show("Pmax不能为空");
                return;
            }
            if (string.IsNullOrEmpty(m_objModuleInfo.Voc))
            {
                MessageBox.Show("Voc不能为空");
                return;
            }
            if (string.IsNullOrEmpty(m_objModuleInfo.Vpm))
            {
                MessageBox.Show("Vpm不能为空");
                return;
            }
            if (string.IsNullOrEmpty(m_objModuleInfo.Ipm))
            {
                MessageBox.Show("Ipm不能为空");
                return;
            }
            if (string.IsNullOrEmpty(m_objModuleInfo.Isc))
            {
                MessageBox.Show("Isc不能为空");
                return;
            }
            #endregion

            byte[] m_aryData2Write = TagDataFormat.CreateByteArray(m_objModuleInfo);

            string m_strModuleBasicInfo = m_objModuleInfo.ProductType + "|" + m_objModuleInfo.PackedDate.Replace("-", ".") + "|"
                                          + m_objModuleInfo.Pivf + "|" + m_objModuleInfo.Module_ID + "|" + m_objModuleInfo.CellDate.Replace("-", ".") + "|3";

            if (ReaderConfig._rfidReader.WriteTagBuff(m_aryData2Write))
            {
                ReaderConfig._rfidReader.PlaySound();

                WcfCaller.WriteLog(ex =>
                {
                    if (ex == null)
                    {
                        m_objModuleInfo = null;
                        ChangeState(SystemState.ResetAll, null);
                        PlaySound();
                    }
                    else
                    {
                        MessageBox.Show(ex.Message);
                    }
                }, new string[] { m_strTagUID, m_strModuleID, m_strModuleBasicInfo });
            }
            else
            {
                MessageBox.Show("烧录失败");
            }
        }