Example #1
0
        /// <summary>
        /// 上料
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnloadMaterial_Click(object sender, EventArgs e)
        {
            if (GlobalParameter.UseMode.Equals("0"))
            {
                MessageBox.Show("測試模式,無法使用上料。"); return;
            }
            PieceResultModel pieceResultModel = Step1驗證與板子計算();

            if (pieceResultModel == null)
            {
                return;
            }
            try
            {
                if (MessageBox.Show("上料確認:" + partNoJoinTrayAndLaser.PartNo, "Load",
                                    MessageBoxButtons.YesNo, MessageBoxIcon.Information).Equals(DialogResult.Yes))
                {
                    if (GlobalData.PLC線路異常)
                    {
                        MessageBox.Show("PLC斷線異常"); return;
                    }
                    Step2寫入PLC資料();
                    Step3寫入Laser資料(pieceResultModel);
                    Step4寫入DB_Table_LOT資料();
                    Step5雷射執行動作();
                    Step6條碼讀取器執行動作();
                    Step7結批執行動作();

                    // 使用者異動紀錄
                    recChangeService.AddData(new RecChange
                    {
                        NowTime  = Convert.ToDateTime(DateTime.Now.ToString("yyyy/MM/dd HH:ss:mm")),
                        Message  = "執行上料",
                        UserName = GlobalParameter.UserName
                    });
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception_Error");
                MessageBox.Show(ex.Message);
            }
        }
Example #2
0
        private void Step3寫入Laser資料(PieceResultModel pieceResultModel)
        {
            string cmd = string.Empty, response = string.Empty, record = string.Empty;

            if (formStartModel.允許雷射打印Tag)
            {
                // 設定 MKM
                if (formStartModel.SHT遮光閥狀態.Equals("1"))
                {
                    cmd      = LaserCommand.MKM指令接收控制設定("0");
                    response = LaserExecuteWrite.執行MRK印字觸控制設定(cmd);
                    if (ValidateUtility.DisplayMessage(response))
                    {
                        return;
                    }
                    formStartModel.SHT遮光閥狀態 = "0";
                    record += "1.SHT,";
                }

                // 設定 FNO
                cmd      = LaserCommand.FNO文件變更控制設定(partNoJoinTrayAndLaser.FnoNo);
                response = LaserExecuteWrite.執行FNO文件變更控制設定(cmd);
                if (ValidateUtility.DisplayMessage(response))
                {
                    return;
                }
                record += "2.FNO,";

                // 雷射功率
                cmd = LaserCommand.LPW激光功率控制設定(string.Format("{0:000.0}",
                                                             Convert.ToInt32(partNoJoinTrayAndLaser.Power)));
                response = LaserExecuteWrite.執行LPW激光功率控制設定(cmd);
                if (ValidateUtility.DisplayMessage(response))
                {
                    return;
                }
                record += "3.LPW,";

                // 掃描速度
                cmd = LaserCommand.SSP掃描速度控制設定(string.Format("{0:00000}",
                                                             Convert.ToInt32(partNoJoinTrayAndLaser.Speed)));
                response = LaserExecuteWrite.執行SSP掃描速度控制設定(cmd);
                if (ValidateUtility.DisplayMessage(response))
                {
                    return;
                }
                record += "4.SSP,";

                // 設定座標位置
                List <double> list = new List <double> {
                    { pieceResultModel.X位置 }, { pieceResultModel.Y位置 }
                };
                List <string> laserList = TypeMethod.SetFormatValue(list, "{0:000.000}");
                ModelSPC      modelSPC  = new ModelSPC
                {
                    SonCmd    = "S",
                    Xposition = laserList[0],
                    Yposition = laserList[1]
                };
                cmd      = LaserCommand.SPC文字條件控制設定(modelSPC);
                response = LaserExecuteWrite.執行SPC文字條件控制設定(cmd);
                if (ValidateUtility.DisplayMessage(response))
                {
                    return;
                }
                record += "5.SPC,";

                // 雷射參數儲存
                LaserExecuteWrite.執行FOR文件覆盖保存控制設定(LaserCommand.FOR文件覆盖保存控制設定);
                record += "6.FOR,";
            }
        }