private void LoadConfirmrequest() { if (!InTaskList.IsInTaskFinish()) { _comfirmintask = InTask.GetConfirmInTask(); if (_comfirmintask != null && _comfirmintask.INDEXNO > 0) { panelEx2.Visible = true; panelEx2.Dock = DockStyle.Fill; //labintaskno.Text = _comfirmintask.INTASKNO.ToString(); laborderdate.Text = _comfirmintask.ORDERDATE; //labintaskport.Text = _comfirmintask.INPORTCODE; labindexno.Text = _comfirmintask.INDEXNO.ToString() + "/" + maxtaskno; labcigcode.Text = _comfirmintask.BARCODE; labcigname.Text = _comfirmintask.CIGNAME; //labcigqty.Text = (_comfirmintask.INQTY/50).ToString(); } else { panelEx2.Visible = false; panelEx2.Dock = DockStyle.None; } } else { panelEx2.Visible = false; } }
private void MainForm_Load(object sender, System.EventArgs e) { labvision.Text = InTask.GetInTaskDate(); //SetVision(); monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "系统信息"; monitorLog.LOGINFO = "补货监控系统启动!"; monitorLog.LOGLOCATION = "系统"; monitorLog.LOGTYPE = 0; monitorLog.Save(); //LoadDefaultLayout(); SetDockWinTitle(); SetLog(global::MonitorMain.Properties.Resources.StartUpTime + DateTime.Now); // Load Quick Access Toolbar layout if one is saved from last session... LoadQuickAccessToolbar(); SetSeverStatus(); if (Convert.ToBoolean(ConfigurationManager.AppSettings["IsStart"])) { buttonItem23.Checked = true; StartInTask(); labtaskstatus.Text = "任务已启动"; } }
private bool IsVerifyPass() { InTask.IsCurrentInTask(); if (InTask.IsIndexRepetition()) { MessageBox.Show("任务中出现相同的顺序号,请检查补货数据后重新下载!"); return(false); } return(true); }
private int GetCurrentInfo() { InTask _comfirmintask = InTask.GetConfirmInTask(); string orderdate = InTask.GetInTaskDate(); labtitle.Text = "当前补货卷烟 (" + orderdate + ")"; if (_comfirmintask != null && _comfirmintask.INDEXNO > 0) { panelEx2.Visible = true; if (currentindex != _comfirmintask.INDEXNO) { if (currentcolor >= 3) { currentcolor = 1; } foreach (var control in panelEx4.Controls) { if (control is LabelX) { ((LabelX)control).ForeColor = colors[currentcolor]; } } currentcolor++; } labindexno.Text = _comfirmintask.INDEXNO + "/" + maxtaskno; labbarcode.Text = _comfirmintask.BARCODE; labcigname.Text = _comfirmintask.CIGNAME; currentindex = _comfirmintask.INDEXNO; return(_comfirmintask.INDEXNO); } else { labindexno.Text = "无"; labbarcode.Text = "无"; labcigname.Text = "无"; } return(0); //} //else //{ // labindexno.Text = "补货完成"; // labcigname.Text = "补货完成"; // labbarcode.Text = "补货完成"; // labnbarcode.Text = "补货完成"; // labncigname.Text = "补货完成"; // return 0; //} }
//private void TaskFinish() //{ // PlCResult plCResult = new PlCResult(); // while (taskStatus == TaskStatus.Run) // { // plCResult = operateOpcAndSoft.IsIntaskScanFinish(); // if (plCResult.Succeed) // { // //写日志 // MonitorLog monitorLog = MonitorLog.NewMonitorLog(); // monitorLog.LOGNAME = "PLC任务下达"; // monitorLog.LOGINFO = "PLCTASKNO:" + inTask.INDEXNO.ToString().PadRight(10); // monitorLog.LOGINFO = "CIG:" + inTask.CIGCODE + "-" + inTask.CIGNAME + "-" + // inTask.PICKLINENAME + // "-" + inTask.INQTY; // monitorLog.LOGLOCATION = "PLC"; // monitorLog.LOGTYPE = 0; // monitorLog.Save(); // //加载数据 // this.BeginInvoke(new MethodInvoker(LoadInTask)); // //while (!operateOpcAndSoft.IsIntaskScanFinish(inTask)) // //{ // // Thread.Sleep(300); // //} // } // else // { // //写日志 // MonitorLog monitorLog = MonitorLog.NewMonitorLog(); // monitorLog.LOGNAME = "PLC补货任务下达异常"; // monitorLog.LOGINFO = plCResult.Exception; // monitorLog.LOGLOCATION = "PLC"; // monitorLog.LOGTYPE = 0; // monitorLog.Save(); // } // } // Thread.Sleep(1000); // } private void CSortingTask_Load(object sender, EventArgs e) { DataGridViewTranslation.LoadMainColHeader(dgviewnone); DataGridViewTranslation.LoadMainColHeader(dgvconfirm); DataGridViewTranslation.LoadMainColHeader(dgviewfin); if (IsVerifyPass()) { LoadInTask(); monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "数据库读取"; monitorLog.LOGINFO = "补货数据读取成功!"; monitorLog.LOGLOCATION = "数据库"; monitorLog.LOGTYPE = 1; monitorLog.Save(); LoadPLCTask(); } maxtaskno = InTask.GetMaxIndex(); }
public void SetVision() { labvision.Text = InTask.GetInTaskDate(); //labservision.Text = InTask.GetServerInTaskDate(); //if (labvision.Text.Trim() != labservision.Text.Trim()) //{ // labelItem4.ForeColor = Color.Red; // labelItem5.ForeColor = Color.Red; // labvision.ForeColor = Color.Red; // labservision.ForeColor = Color.Red; //} //else //{ // labelItem4.ForeColor = Color.Black; // labelItem5.ForeColor = Color.Black; // labvision.ForeColor = Color.Black; // labservision.ForeColor = Color.Black; //} }
public void GetInPortInfo() { try { maxtaskno = InTask.GetMaxIndex(); int indexno = 0; indexno = GetCurrentInfo(); GetNextInfo(indexno); pic_nonetwork.Visible = false; } catch (Exception ex) { if (ex.Message.Contains("Unable to connect to any of the specified MySQL hosts")) { ; } { pic_nonetwork.Visible = true; } } }
/// <summary> /// 显示最后两件需要补货的卷烟 /// </summary> private void ShowFinish() { Thread.Sleep(20000); int indexno = GetCurrentInfo(); InTask intask = InTask.GetInTaskByIndex((indexno + 1).ToString()); labindexno.Text = intask.INDEXNO + "/" + maxtaskno; labbarcode.Text = intask.BARCODE; labcigname.Text = intask.CIGNAME; labnbarcode.Text = "无"; labncigname.Text = "无"; Thread.Sleep(20000); labindexno.Text = "补货完成"; labcigname.Text = "补货完成"; labbarcode.Text = "补货完成"; labnbarcode.Text = "补货完成"; labncigname.Text = "补货完成"; itemPanel1.BeginUpdate(); itemPanel1.Items.Clear(); itemPanel1.EndUpdate(); }
private void SetInTaskStatus(int status) { string indexcolname = ""; string custcolname = ""; foreach (DataGridViewColumn column in dataGridViewXs[superTabControl1.SelectedTab.Name].Columns) { if (column.DataPropertyName.ToUpper() == "INDEXNO") { indexcolname = column.Name; } } foreach (DataGridViewRow selectedRow in dataGridViewXs[superTabControl1.SelectedTab.Name].SelectedRows) { //改变任务状态 string indexcolvalue = selectedRow.Cells[indexcolname].Value.ToString(); InTask inTask = InTask.GetInTaskByIndex(indexcolvalue); inTask.Status = status; inTask.SaveInTaskProcess(inTask.ID); } }
protected override void DataPortal_Update() { //PLC写入下达任务 //throw new Exception("写入下达任务"); using (BypassPropertyChecks) { using (var cn = new MySqlConnection(AppUtility.AppUtil._LocalConnectionString)) { cn.Open(); using (var tran = cn.BeginTransaction()) { try { using (var cm = cn.CreateCommand()) { cm.Transaction = tran; StringBuilder SQL = new StringBuilder(); SQL.Append("UPDATE T_InTaskIssued "); SQL.Append(" SET ID = @ID,PLCFLAG = @PLCFLAG,PLCTASKNO = @PLCTASKNO,SLOCATION = @SLOCATION,CIGCODE = @CIGCODE,BARCODE = @BARCODE,INQTY = @INQTY "); SQL.Append(" WHERE ID = @ID"); cm.CommandText = SQL.ToString(); cm.Parameters.AddWithValue("@ID", ID); cm.Parameters.AddWithValue("@PLCFLAG", PLCFLAG); cm.Parameters.AddWithValue("@PLCTASKNO", PLCTASKNO); cm.Parameters.AddWithValue("@SLOCATION", SLOCATION); cm.Parameters.AddWithValue("@CIGCODE", CIGCODE); cm.Parameters.AddWithValue("@BARCODE", BARCODE); cm.Parameters.AddWithValue("@INQTY", INQTY); cm.ExecuteNonQuery(); } tran.Commit(); if (PLCTASKNO != "0" && SLOCATION != "0" && INQTY != 0) { m_inTask = InTask.GetInTaskByIndex(PLCTASKNO); if (m_inTask != null) { m_inTask.Status = 2; m_inTask.SaveInTaskProcess(PLCTASKNO); } MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "PLC任务下达"; monitorLog.LOGINFO = "PLCTASKNO:" + PLCTASKNO.PadRight(10); monitorLog.LOGINFO += CIGCODE + ":" + BARCODE + ":" + INQTY + " "; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); } //else //{ // m_sortingLineTask = SortingLineTask.GetSortingLineByIndex(PLCTASKNO); // if (m_sortingLineTask != null) // { // m_sortingLineTask.Status = 2; // m_sortingLineTask.SaveSortingTaskProcess(PLCTASKNO); // } //} } catch (Exception) { tran.Rollback(); throw; } } } } }
/// <summary> /// 补货任务下达方法 /// </summary> /// <param name="task">未下达且序号最小的任务一条</param> /// <returns></returns> public PlCResult ReplenishmentTask(InTask task) { bool isRun = false; PlcValue writeValue; PlCResult plCResult = new PlCResult(); try { PlcValue readValue = plc.GetPlcValue(ItemListEnum.db51Int0); if (Convert.ToInt32(readValue.Value) == 0) { IntaskModel mdl = IntaskList.dic.FirstOrDefault(o => o.Key == Convert.ToInt32(task.PLCADDRESS)).Value; int value = Convert.ToInt32(plc.GetPlcValue(mdl.TaskNoAddr).Value); if (task.INDEXNO <= value) { task.Status = 1; task.SaveInTaskProcess(task.ID); plCResult.Succeed = false; plCResult.Exception = task.INDEXNO + "已经下达过!"; return(plCResult); } else { writeValue = new PlcValue(); writeValue.Value = task.INDEXNO; isRun = plc.SetPlcValue(ItemListEnum.db51Int2, writeValue); if (isRun) { writeValue = new PlcValue(); writeValue.Value = task.ADDRESSCODE; isRun = plc.SetPlcValue(ItemListEnum.db51Int4, writeValue); } if (isRun) { writeValue = new PlcValue(); writeValue.Value = task.BARCODE.Replace("6901028", ""); isRun = plc.SetPlcValue(ItemListEnum.db51DInt6, writeValue); } if (isRun) { writeValue = new PlcValue(); if (task.INPORTCODE == "1") { writeValue.Value = 1; isRun = plc.SetPlcValue(ItemListEnum.db51Int10, writeValue); } else if (task.INPORTCODE == "2") { writeValue.Value = 2; isRun = plc.SetPlcValue(ItemListEnum.db51Int10, writeValue); } } if (isRun) { writeValue = new PlcValue(); writeValue.Value = 1; isRun = plc.SetPlcValue(ItemListEnum.db51Int0, writeValue); } if (isRun) { task.Status = 1; task.SaveInTaskProcess(task.ID); plCResult.Succeed = true; } else { plCResult.Succeed = false; plCResult.Exception = "任务号" + task.INDEXNO + "PLC补货任务写入异常"; } } } else { //如果下达区的标志为1不能下达时 //判断需要下达的任务号小于下达区的任务号直接改变任务状态 readValue = plc.GetPlcValue(ItemListEnum.db51Int2); if (task.INDEXNO <= Convert.ToInt32(readValue.Value)) { task.Status = 1; task.SaveInTaskProcess(task.ID); plCResult.Succeed = false; plCResult.Exception = task.INDEXNO + "已经下达过!"; return(plCResult); } } } catch (Exception ex) { plCResult.Succeed = false; plCResult.Exception = ex.Message; return(plCResult); } return(plCResult); }
private void ScanTask() { PlCResult plCResult = new PlCResult(); try { plCResult = operateOpcAndSoft.InDataToTaskAddress(); } catch { } if (plCResult.Succeed) { while (taskStatus == TaskStatus.Run) { if (!InTaskList.IsInTaskFinish()) { //获取需要下达的任务 InTask inTask = InTaskList.GetComfirmRequestInTask(); if (inTask != null) { if (!string.IsNullOrEmpty(inTask.ID)) { //下达补货任务 plCResult = operateOpcAndSoft.ReplenishmentTask(inTask); if (plCResult.Succeed) { //写日志 MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "PLC任务下达"; monitorLog.LOGINFO = "PLCTASKNO:" + inTask.INDEXNO.ToString().PadRight(10); monitorLog.LOGINFO += "CIG:" + inTask.CIGCODE + "-" + inTask.CIGNAME + "-" + inTask.PICKLINENAME + "-" + inTask.INQTY; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); //加载数据 this.BeginInvoke(new MethodInvoker(LoadInTask)); //while (!operateOpcAndSoft.IsIntaskScanFinish(inTask)) //{ // Thread.Sleep(300); //} } else if (!string.IsNullOrEmpty(plCResult.Exception)) { //写日志 MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "PLC补货任务下达异常"; monitorLog.LOGINFO = plCResult.Exception; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); } } } } else { //写日志 Thread.Sleep(2000); MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "PLC任务下达"; monitorLog.LOGINFO = "补货任务下达全部完成"; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); //设置完成后的界面及参数 BHMainForm.Instance.InTaskFinish(); break; } Thread.Sleep(1000); } } else { //写日志 MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "PLC补货绑定品牌下达异常"; monitorLog.LOGINFO = plCResult.Exception; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); } }