/// <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); } }
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,"; } }