Exemple #1
0
        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();
        }
Exemple #2
0
        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";
                }
            }
        }
Exemple #3
0
 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, "");
     }
 }
Exemple #4
0
        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;
                }
            }
        }
Exemple #5
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[] { "" });
            }
        }
Exemple #6
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;
            }
        }