private void UCLichSuCan_Load(object sender, EventArgs e) { timeout = 0; string MO, SoThe, ChemicalOrder, ChemicalOrder2, BatchNo, Weight, intime, indat, username, status = ""; DataTable dt = SQL_Conn.SelectHistory(); for (int i = 0; i < dt.Rows.Count; i++) { MO = dt.Rows[i][0].ToString(); SoThe = dt.Rows[i][1].ToString(); ChemicalOrder = dt.Rows[i][2].ToString(); ChemicalOrder2 = dt.Rows[i][3].ToString(); BatchNo = dt.Rows[i][4].ToString(); Weight = dt.Rows[i][5].ToString(); intime = dt.Rows[i][6].ToString(); indat = dt.Rows[i][7].ToString(); username = dt.Rows[i][9].ToString(); if (dt.Rows[i][10].ToString() == "1") { status = "Hoàn thành"; } else { status = "Đang chạy"; } dataGridView1.Rows.Add(MO, SoThe, ChemicalOrder, ChemicalOrder2, BatchNo, Weight, intime, indat, username, status); } dataGridView1.Refresh(); }
private void txtQRNV_TextChanged(object sender, EventArgs e) { if (txtQRNV.Text.Length >= 5) { DataTable dt = SQL_Conn.CheckNV(txtQRNV.Text); if (dt.Rows.Count > 0) { FormUsed.FormNow = ""; Thread.Sleep(2000); lbError.Text = ""; pCheckNV.Visible = false; Form1.Instance.MetroContainer.Controls.Clear(); if (MoThung == true) { if (!Form1.Instance.MetroContainer.Controls.ContainsKey("UCCanTuDong")) { UCCanTuDong uc = new UCCanTuDong(); uc.Dock = DockStyle.Fill; Form1.Instance.MetroContainer.Controls.Add(uc); Form1.Instance.MetroBack.Visible = true; } } if (CanTram1 == true) { PictureBox myform1textbox1 = (Form1.Instance.Controls["pbTram"] as PictureBox); myform1textbox1.Image = Image.FromFile("1.png"); myform1textbox1.Visible = true; if (!Form1.Instance.MetroContainer.Controls.ContainsKey("UCCanBanTuDong")) { UCCanBanTuDong uc = new UCCanBanTuDong(); uc.Dock = DockStyle.Fill; Form1.Instance.MetroContainer.Controls.Add(uc); Form1.Instance.MetroBack.Visible = true; } } Error.User = txtQRNV.Text; txtQRNV.Text = ""; } else { txtQRNV.Text = ""; txtQRNV.Clear(); txtQRNV.Focus(); txtQRNV.SelectAll(); lbError.Text = "Số thẻ không có quyền truy cập"; } } }
private void UpdateTemp(string text) { if (text == "2") //Update tạm số hộp { SQL_Conn.updateAuTotalTemp(dtChoose.Rows[0][0].ToString(), Total[soau - 1, 1], soau.ToString(), 2); } if (text == "3") //Update tạp số thứ tự hóa chất { SQL_Conn.updateSttTemp(dtChoose.Rows[0][0].ToString(), soau.ToString(), 2); } if (text == "4") //Update chi tiết hóa chất { SQL_Conn.updateTempDetail(dtChoose.Rows[0][0].ToString(), Total[soau - 1, 0], lbNguyenLieu.Text.Substring(8, lbNguyenLieu.Text.Length - 8).Trim(), ActualKG, 2, ""); } }
private void timer2_Tick(object sender, EventArgs e) { show++; timeout = 0; if (show == 1) { string[] open = new string[2]; //Mo thung string[] light = new string[2]; DataTable dt = SQL_Conn.GetBucketPosition(txtQRCode.Text); if (dt.Rows.Count > 0) { try { open = dt.Rows[0][2].ToString().Split('.'); light = dt.Rows[0][3].ToString().Split('.'); var a = cJ2Compolet1.ReadMemoryBit(OMRON.Compolet.CIP.CJ2Compolet.MemoryTypes.CIO, int.Parse(open[0]), Int16.Parse(open[1])); if (a == true) { cJ2Compolet1.ForceCancel(OMRON.Compolet.CIP.CJ2Compolet.ForceMemoryTypes.CIO, int.Parse(open[0]), Int16.Parse(open[1])); cJ2Compolet1.ForceCancel(OMRON.Compolet.CIP.CJ2Compolet.ForceMemoryTypes.CIO, int.Parse(light[0]), Int16.Parse(light[1])); } else { cJ2Compolet1.ForceSet(OMRON.Compolet.CIP.CJ2Compolet.ForceMemoryTypes.CIO, int.Parse(open[0]), Int16.Parse(open[1])); cJ2Compolet1.ForceSet(OMRON.Compolet.CIP.CJ2Compolet.ForceMemoryTypes.CIO, int.Parse(light[0]), Int16.Parse(light[1])); } } catch { } txtQRCode.Text = ""; timer2.Enabled = false; show = 0; } else { txtQRCode.Text = ""; timer2.Enabled = false; show = 0; } } }
string[] light = new string[2]; //Mo den public void getMaterial() { int chiathung = 0; int demthung = 0; int countLastHoaChat = 0; int j = 5; soau = Stt_Can_Temp + 1; if (Stt_Temp > 0) { j = 5 + ((Stt_Temp - 1) * 2); } for (int i = 0; i < dtChooseCTY.Rows.Count; i++) { for (int k = 0; k < dtBucket.Rows.Count; k++) { try { light = dtBucket.Rows[k][3].ToString().Split('.'); cJ2Compolet1.ForceSet(OMRON.Compolet.CIP.CJ2Compolet.ForceMemoryTypes.CIO, int.Parse(light[0]), Int16.Parse(light[1])); } catch { } } //Lấy dữ liệu từ cột 5 đến cột 32 tương đương với 14 chất và khối lượng for (; j <= 32; j++) { //Kiểm tra xem cột hóa chất có bị rỗng không if (dtChooseCTY.Rows[i][j].ToString() != "" && dtChooseCTY.Rows[i][j].ToString() != "0") { //Set den, mo thung plc try { var row = dtBucket.Select("MaterialName = '" + dtChooseCTY.Rows[i][j].ToString().Trim() + "'"); foreach (var item in row) { open = item[2].ToString().Split('.'); light = item[3].ToString().Split('.'); } } catch { } try { cJ2Compolet1.ForceSet(OMRON.Compolet.CIP.CJ2Compolet.ForceMemoryTypes.CIO, int.Parse(open[0]), Int16.Parse(open[1])); } catch { } timeout = 0; //Nháy màu thay đổi tên nguyên liệu if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(SetNL); this.Invoke (d, new object[] { "" }); } //Set lại gridview hóa chất của nguyên liệu if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(setDgv); this.Invoke (d, new object[] { (soau - 1).ToString() }); } txtKGR.WaterMark = dtChooseCTY.Rows[soau - 1][j + 1].ToString(); //set số lượng cần //Cân đủ số âu thì chuyển sang chất khác if (!quytrinh1) { while (choqua == false && soau <= int.Parse(dtChoose.Rows[i]["BatchNo"].ToString())) { //Set label số thứ tự hộp if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetLabelStt); this.Invoke (d, new object[] { soau.ToString() }); } //Set label tên nguyên liệu if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetLabelNL); this.Invoke (d, new object[] { dtChooseCTY.Rows[i][j].ToString() }); } for (int u = 0; ; u++) { if (choqua == true && result == "OK") { break; } else { result = COMgetData(dtChooseCTY.Rows[soau - 1][j + 1].ToString()); Thread.Sleep(60); } } //Ẩn nút xác nhận if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetBtXacNhan); this.Invoke (d, new object[] { "" }); } //Lấy liệu từ cổng COM if (result == "OK" && choqua) { Total[soau - 1, 1] = (Double.Parse(Total[soau - 1, 1]) + ActualKG).ToString(); //Update bảng lưu tạm if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(UpdateTemp); this.Invoke (d, new object[] { "2" }); } if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(UpdateTemp); this.Invoke (d, new object[] { "3" }); } if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(UpdateTemp); this.Invoke (d, new object[] { "4" }); } //Thay đổi khổi lượng gridview của từng hộp if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(setDgv); this.Invoke (d, new object[] { (soau - 1).ToString() }); } soau++; //Cân đủ khối lượng chuyển sang chất kế tiếp if (soau > int.Parse(dtChoose.Rows[i]["BatchNo"].ToString())) { //result = "OK"; } else { //Set màu cho label số hộp if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(SetStt); this.Invoke (d, new object[] { "" }); } txtKGR.WaterMark = dtChooseCTY.Rows[soau - 1][j + 1].ToString(); //set số lượng cần result = ""; choqua = false; } } else { choqua = false; } } } else { if (dtChooseCTY.Rows[i][j].ToString().Trim() == "AS-150" || dtChooseCTY.Rows[i][j].ToString().Trim() == "VM56") { if (dtChooseCTY.Rows[i][j].ToString().Trim() == "AS-150") { var countMaterialT2 = SQL_Conn.CountMaterialT2(dtChoose.Rows[0]["ManufactureOrderNo"].ToString(), dtChooseCTY.Rows[i][j].ToString().Trim()); countLastHoaChat = countMaterialT2.Rows.Count; if (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) < 4000) { chiathung = 1; sChiaThung[0] = dtChooseCTY.Rows[soau - 1][j + 1].ToString(); } if (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) < 8000 && double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) > 4000) { chiathung = 2; sChiaThung[0] = "4000"; sChiaThung[1] = (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) - 4000).ToString(); } if (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) >= 8000) { chiathung = 3; sChiaThung[0] = "4000"; sChiaThung[1] = "4000"; sChiaThung[2] = (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) - 8000).ToString(); } } if (dtChooseCTY.Rows[i][j].ToString().Trim() == "VM56") { var countMaterialT2 = SQL_Conn.CountMaterialT2(dtChoose.Rows[0]["ManufactureOrderNo"].ToString(), dtChooseCTY.Rows[i][j].ToString().Trim()); countLastHoaChat = countMaterialT2.Rows.Count; if (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) <= 6400) { chiathung = 1; sChiaThung[0] = dtChooseCTY.Rows[soau - 1][j + 1].ToString(); } if (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) < 12800 && double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) > 6400) { chiathung = 2; sChiaThung[0] = "6400"; sChiaThung[1] = (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) - 6400).ToString(); } if (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) >= 12800) { chiathung = 3; sChiaThung[0] = "6400"; sChiaThung[1] = "6400"; sChiaThung[2] = (double.Parse(dtChooseCTY.Rows[soau - 1][j + 1].ToString()) - 12800).ToString(); } } demthung = countLastHoaChat; txtKGR.WaterMark = sChiaThung[demthung]; } while (choqua == false && soau <= int.Parse(dtChoose.Rows[i]["BatchNo"].ToString())) { //Set label tên nguyên liệu if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetLabelNL); this.Invoke (d, new object[] { dtChooseCTY.Rows[i][j].ToString() }); } //Set label số thứ tự hộp if (!quytrinh1) { if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetLabelStt); this.Invoke (d, new object[] { soau.ToString() }); } } for (int u = 0; ; u++) { if (choqua == true && result == "OK") { break; } else { result = COMgetData(txtKGR.WaterMark); Thread.Sleep(60); } } //Ẩn nút xác nhận if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetBtXacNhan); this.Invoke (d, new object[] { "" }); } //Lấy liệu từ cổng COM if (result == "OK" && choqua) { Total[soau - 1, 1] = "0"; //Update bảng lưu tạm if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(UpdateTemp); this.Invoke (d, new object[] { "2" }); } if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(UpdateTemp); this.Invoke (d, new object[] { "4" }); } //Thay đổi khổi lượng gridview của từng hộp if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(setDgv); this.Invoke (d, new object[] { (soau - 1).ToString() }); } if (dtChooseCTY.Rows[i][j].ToString().Trim() == "AS-150" || dtChooseCTY.Rows[i][j].ToString().Trim() == "VM56") { demthung++; if (chiathung == demthung) { countLastHoaChat = 1; if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(UpdateTemp); this.Invoke (d, new object[] { "3" }); } break; } } else { if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(UpdateTemp); this.Invoke (d, new object[] { "3" }); } soau++; } //Cân đủ khối lượng chuyển sang chất kế tiếp if (soau > int.Parse(dtChoose.Rows[i]["BatchNo"].ToString())) { //result = "OK"; } else { //Set màu cho label số hộp if (!quytrinh1) { if (this.InvokeRequired) { SetTimerCheckAu d = new SetTimerCheckAu(SetStt); this.Invoke (d, new object[] { "" }); } txtKGR.WaterMark = dtChooseCTY.Rows[soau - 1][j + 1].ToString(); //set số lượng cần } else { if (dtChooseCTY.Rows[i][j].ToString().Trim() == "AS-150" || dtChooseCTY.Rows[i][j].ToString().Trim() == "VM56") { txtKGR.WaterMark = sChiaThung[demthung]; } else { txtKGR.WaterMark = dtChooseCTY.Rows[soau - 1][j + 1].ToString(); } } result = ""; choqua = false; } } else { choqua = false; } } } choqua = false; chiathung = 0; demthung = 0; soau = 1; //Reset âu để cân hóa chất tiếp theo if (!quytrinh1) { if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetLabelStt); this.Invoke (d, new object[] { soau.ToString() }); } } Thread.Sleep(3000); //Close plc //Close plc try { cJ2Compolet1.ForceCancel(OMRON.Compolet.CIP.CJ2Compolet.ForceMemoryTypes.CIO, int.Parse(open[0]), Int16.Parse(open[1])); cJ2Compolet1.ForceCancel(OMRON.Compolet.CIP.CJ2Compolet.ForceMemoryTypes.CIO, int.Parse(light[0]), Int16.Parse(light[1])); } catch { } } j++; result = ""; } } bool b = SQL_Conn.updateMachine(dtChooseCTY.Rows[0][0].ToString(), 2); //Cập nhật hoàn thành lệnh quytrinh1 = false; if (this.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetEnd); this.Invoke (d, new object[] { "" }); } }
//msg m3 = new msg("Không kết nối được cân trạm 1"); private void timer1_Tick(object sender, EventArgs e) { dtChoose = SQL_Conn.SelectMOActive(); if (run == 0 && dtChoose.Rows.Count > 0) { try { if (!m2.IsDisposed) { m2.Close(); } } catch { } if (!comport.IsOpen) { COMOpen(); } PLCOpen(); timeout = 0; run = 1; if (a.IsAlive) { a.Abort(); } DataRow[] r = dtChoose.Select(@"SoThe like '%_1'"); if (r.Length > 0) { dtSortMaterial = SQL_Conn.GetSortMaterial(dtChoose.Rows[0]["SoThe"].ToString()); quytrinh1 = true; } else { quytrinh1 = false; } Au = null; Total = null; soau = 1; Stt_Temp = 0; Stt_Can_Temp = 0; Stt_Au_Temp = 1; btXacNhan.Visible = true; lbMaKeo.Visible = true; lbSoMe.Visible = true; lbSoKG.Visible = true; lbMaLenh.Visible = true; for (int k = 0; k < dgCty.Columns.Count; k++) { dgCty.Columns[k].Visible = true; //Hides Column } for (int k = 0; k < dgCty2.Columns.Count; k++) { dgCty2.Columns[k].Visible = true; //Hides Column } dgCty.DataSource = null; dgCty2.DataSource = null; lbMaLenh.Text = "Mã lệnh: " + dtChoose.Rows[0][0].ToString(); dtBucket = SQL_Conn.SelectBuckets2(dtChoose.Rows[0][0].ToString()); dtChooseCTY = SQL_Conn.SelectCommandCTY(dtChoose.Rows[0][0].ToString(), 2); MaterialTemp = SQL_Conn.SelectCommandTemp(dtChoose.Rows[0][0].ToString(), 2); Au = new string[int.Parse(dtChoose.Rows[0]["BatchNo"].ToString()), 2]; //Khai báo số Âu theo lệnh điều động Total = new string[int.Parse(dtChoose.Rows[0]["BatchNo"].ToString()), 2]; //Khai báo tổng số lượng của từng âu //Gán dữ liệu để quét tiếp nếu bị lỗi cân khi đang quét for (int i = 0; i < MaterialTemp.Rows.Count; i++) { Au[i, 0] = MaterialTemp.Rows[i][1].ToString(); Au[i, 1] = MaterialTemp.Rows[i][4].ToString(); Total[i, 0] = MaterialTemp.Rows[i][1].ToString(); Total[i, 1] = MaterialTemp.Rows[i][5].ToString(); int ChemicalStt = int.Parse(MaterialTemp.Rows[i][3].ToString()); int AuNumber = int.Parse(MaterialTemp.Rows[i][2].ToString()); if (AuNumber >= Stt_Au_Temp && double.Parse(Total[i, 1]) != 0) { Stt_Au_Temp = AuNumber + 1; } if (ChemicalStt >= Stt_Temp && ChemicalStt > 0) { Stt_Temp = ChemicalStt; if (AuNumber == int.Parse(dtChoose.Rows[0]["BatchNo"].ToString())) { Stt_Temp += 1; Stt_Can_Temp = 0; } else { Stt_Can_Temp = AuNumber; } } } //Gán thông tin keo mà tổng số âu lbSoKG.Text = "Số kg: " + dtChoose.Rows[0]["Weight"].ToString(); lbMaKeo.Text = "Mã keo 1: " + dtChoose.Rows[0]["ChemicalOrderCode"].ToString(); if (dtChoose.Rows[0]["ChemicalOrderCode2"].ToString() != "") { lbMaKeo2.Text = "Mã keo 2: " + dtChoose.Rows[0]["ChemicalOrderCode2"].ToString(); lbMaKeo2.Visible = true; } lbSoMe.Text = "Tổng số hộp: " + dtChoose.Rows[0]["BatchNo"].ToString(); lbNguyenLieu.Visible = true; lbStt.Visible = true; txtKG.Visible = true; txtKGR.Visible = true; panelCan.Visible = true; soau = 1; //Set số âu về 1 để cân hóa chất a = new Thread(getMaterial); a.IsBackground = true; a.Start(); //Mở timer 1 cân hóa chất // timer1.Enabled = true; timer4.Enabled = true; timer1.Enabled = false; timer1.Interval = 60000; } else { COMClose(); try { m2.Dispose(); } catch { } try { if (!can) { m2 = new msg("Không kết nối được cân điện"); m2.TopMost = true; m2.Show(); } else { m2 = new msg("Đang chờ lệnh cân"); m2.TopMost = true; m2.Show(); } } catch { } timer1.Interval = 60000; } }