public void PLCClose() { try { cJ2Compolet1.Active = false; } catch (Exception ex) { timer1.Enabled = false; msg m = new msg("Không kết nối được PLC"); m.Show(); } }
public void PLCOpen() { try { cJ2Compolet1.UseRoutePath = false; cJ2Compolet1.PeerAddress = "10.0.14.22"; cJ2Compolet1.LocalPort = 2; cJ2Compolet1.Active = true; } catch (Exception ex) { msg m = new msg("Không kết nối được PLC"); m.Show(); } }
public void PLCOpen() { try { cJ2Compolet1.UseRoutePath = false; cJ2Compolet1.PeerAddress = "10.0.14.22"; cJ2Compolet1.LocalPort = 2; cJ2Compolet1.Active = true; cJ2Compolet1.RunMode = OMRON.Compolet.CIP.CJ2Compolet.RunModeTypes.Monitor; } catch (Exception ex) { timer1.Enabled = false; msg m = new msg("Không kết nối được PLC"); m.Show(); } }
//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; } }