Example #1
0
 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();
     }
 }
Example #2
0
 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();
     }
 }
Example #3
0
 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();
     }
 }
Example #4
0
        //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;
            }
        }