Exemple #1
0
        private void Col_3_Btn_Click(object sender, EventArgs e)//控制第3列
        {
            byte highByte = Global.col_data_high, lowByte = Global.col_data_low;

            if ((lowByte & 0x04) != 0) //失能
            {
                lowByte            &= 0xfb;
                Col_3_Btn.BackColor = Color.DarkGray;
            }
            else //使能
            {
                lowByte            |= 0x04;
                Col_3_Btn.BackColor = Color.Green;
            }
            SerialServer.send_ColState(highByte, lowByte);//发送
        }
Exemple #2
0
 /// <summary>
 /// 窗口加载,数据初始化
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void MainForm_Load(object sender, EventArgs e)
 {   //按键
     StartBtn.Text      = "启动";
     StartBtn.BackColor = Color.Green;
     //禁止跨线程访问检测
     System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
     logoBox.Image = Image.FromFile(@"..\bata_logo.png");
     try
     {
         SerialServer.SerialPort_init();                      //初始化SerialPort对象 并打开
         comboPortName.Text = SerialServer.R485Port.PortName; //显示串口号
     }
     catch
     {
         MessageBox.Show("未发现串口!");
         Application.Exit();
     }
     data_Init();//从文件读取数据 ,并下发电路板
 }
Exemple #3
0
        //private void timer1_Tick(object sender, EventArgs e)//定时器接收消息
        //{
        //    if (receiveMessage != "" && receiveMessage != null)
        //    {
        //        if (receiveMessage == "run over a sponge")//跑完一张,计数减
        //        {
        //            if (Global.bed_num > 0)
        //            {
        //                Global.bed_num -= 1;
        //                SerialServer.send_BedNum((short)(Global.bed_num));
        //            }
        //            if (info_textBox.Lines.Length >= 5) info_textBox.Text = "";
        //            info_textBox.Text += "完成一张棉" + "  " + DateTime.Now + "\r\n";//显示完成时间
        //        }
        //        receiveMessage = "";

        //        bedNumLabel.Text = Global.bed_num.ToString();//显示张数,计数
        //        if (Global.bed_num == 0)
        //        {
        //            StartBtn_Click(null, null);//停止流水线
        //        }
        //    }
        //    else
        //    {
        //        Thread.Sleep(10);
        //    }
        //}
        /// <summary>
        /// 窗口关闭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (Global.my_start == 1)//机器人运行中
            {
                DialogResult result = MessageBox.Show("机器正在运行,确定关闭?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    SerialServer.send_start(0x00);
                    myThread.Abort();
                }
                else
                {
                    e.Cancel = true;
                    return;
                }
            }
            if (SerialServer.R485Port.IsOpen)
            {
                SerialServer.R485Port.Close();                               //关闭串口
            }
        }
Exemple #4
0
        private void countThread()
        {
            while (true)
            {
                if (receiveMessage != "" && receiveMessage != null)
                {
                    if (receiveMessage == "run over a sponge")//跑完一张,计数减
                    {
                        if (Global.bed_num > 0)
                        {
                            Global.bed_num -= 1;
                            SerialServer.send_BedNum((short)(Global.bed_num));

                            bedNumLabel.BeginInvoke(new Action(() =>
                            {
                                bedNumLabel.Text = Global.bed_num.ToString();//显示张数,计数
                            }));
                        }
                        if (info_textBox.Lines.Length >= 5)
                        {
                            info_textBox.Text = "";
                        }
                        info_textBox.Text += "完成一张棉" + "  " + DateTime.Now + "\r\n";//显示完成时间
                    }
                    receiveMessage = "";
                    if (Global.bed_num == 0)
                    {
                        StartBtn.BeginInvoke(new Action(() =>
                        {
                            StartBtn_Click(null, null);//停止流水线
                            MessageBox.Show("计数为零,请从新设置张数!");
                        }));
                    }
                }
                else
                {
                    Thread.Sleep(10);
                }
            }
        }
Exemple #5
0
        private void data_Init()//从文件读取数据,并下发电路板
        {
            Global.savebuf       = FileOperation.ReadByteFile("config.txt", Global.savebuf);
            Global.col_data_high = Global.savebuf[0];                                   //列切刀
            Global.col_data_low  = Global.savebuf[1];
            Global.row_num       = Global.savebuf[2];                                   //排数
            Global.bord_length   = Global.savebuf[3];                                   //前边距
            Global.bed_num       = (short)(Global.savebuf[4] << 8 | Global.savebuf[5]); //张数
            Global.work_mode     = Global.savebuf[6];                                   //工作模式
            for (int i = 0; i < 13; i++)                                                //0-12电磁阀的胶量
            {
                Global.glueNum[i] = Global.savebuf[i + 10];
            }

            //下发电路板各状态
            SerialServer.send_ColState(Global.col_data_high, Global.col_data_low); //列切刀
            SerialServer.send_RowNum(Global.row_num);                              //排数
            SerialServer.send_length(Global.bord_length);                          //前边距
            SerialServer.send_BedNum((short)Global.bed_num);                       //张数
            SerialServer.send_work_mode(Global.work_mode);                         //工作模式
            for (int i = 0; i < 13; i++)
            {
                SerialServer.send_glue_num((byte)i, Global.glueNum[i]);//0-12电磁阀的胶量
            }


            //更新列切刀使能位显示
            if ((Global.col_data_low & 0x01) != 0)
            {
                Col_1_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_1_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_low & 0x02) != 0)
            {
                Col_2_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_2_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_low & 0x04) != 0)
            {
                Col_3_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_3_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_low & 0x08) != 0)
            {
                Col_4_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_4_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_low & 0x10) != 0)
            {
                Col_5_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_5_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_low & 0x20) != 0)
            {
                Col_6_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_6_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_low & 0x40) != 0)
            {
                Col_7_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_7_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_low & 0x80) != 0)
            {
                Col_8_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_8_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_high & 0x01) != 0)
            {
                Col_9_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_9_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_high & 0x02) != 0)
            {
                Col_10_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_10_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_high & 0x04) != 0)
            {
                Col_11_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_11_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_high & 0x08) != 0)
            {
                Col_12_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_12_Btn.BackColor = Color.DarkGray;
            }
            if ((Global.col_data_high & 0x10) != 0)
            {
                Col_13_Btn.BackColor = Color.Green;
            }
            else
            {
                Col_13_Btn.BackColor = Color.DarkGray;
            }
            //前边距显示更新
            boradLenth0Btn.BackColor = Color.DarkGray;
            boradLenth1Btn.BackColor = Color.DarkGray;
            boradLenth2Btn.BackColor = Color.DarkGray;
            boradLenth3Btn.BackColor = Color.DarkGray;
            boradLenth4Btn.BackColor = Color.DarkGray;
            boradLenth5Btn.BackColor = Color.DarkGray;
            boradLenth6Btn.BackColor = Color.DarkGray;
            boradLenth7Btn.BackColor = Color.DarkGray;
            if (Global.bord_length == 0)
            {
                boradLenth0Btn.BackColor = Color.Green;
            }
            else if (Global.bord_length == 1)
            {
                boradLenth1Btn.BackColor = Color.Green;
            }
            else if (Global.bord_length == 2)
            {
                boradLenth2Btn.BackColor = Color.Green;
            }
            else if (Global.bord_length == 3)
            {
                boradLenth3Btn.BackColor = Color.Green;
            }
            else if (Global.bord_length == 4)
            {
                boradLenth4Btn.BackColor = Color.Green;
            }
            else if (Global.bord_length == 5)
            {
                boradLenth5Btn.BackColor = Color.Green;
            }
            else if (Global.bord_length == 6)
            {
                boradLenth6Btn.BackColor = Color.Green;
            }
            else if (Global.bord_length == 7)
            {
                boradLenth7Btn.BackColor = Color.Green;
            }
            //更新排数
            rowNumLabel.Text = Global.row_num.ToString();
            //更新张数
            bedNumLabel.Text = Global.bed_num.ToString();
            //更新工作模式
            holeAndGlueAndMagnetBtn.BackColor = Color.DarkGray;
            glueAndMagnetBtn.BackColor        = Color.DarkGray;
            onlyGlueBtn.BackColor             = Color.DarkGray;
            onlyMagnetBtn.BackColor           = Color.DarkGray;
            flowLineBtn.BackColor             = Color.DarkGray;
            flowLineBackBtn.BackColor         = Color.DarkGray;
            cleanGlueBtn.BackColor            = Color.DarkGray;
            if (Global.work_mode == 0)
            {
                holeAndGlueAndMagnetBtn.BackColor = Color.Green;
            }
            else if (Global.work_mode == 1)
            {
                glueAndMagnetBtn.BackColor = Color.Green;
            }
            else if (Global.work_mode == 2)
            {
                onlyGlueBtn.BackColor = Color.Green;
            }
            else if (Global.work_mode == 3)
            {
                onlyMagnetBtn.BackColor = Color.Green;
            }
            else if (Global.work_mode == 4)
            {
                flowLineBtn.BackColor = Color.Green;
            }
            else if (Global.work_mode == 5)
            {
                flowLineBackBtn.BackColor = Color.Green;
            }
            else if (Global.work_mode == 6)
            {
                cleanGlueBtn.BackColor = Color.Green;
            }
            //更新胶量
            glue1NumLabel.Text  = Global.glueNum[0].ToString();
            glue2NumLabel.Text  = Global.glueNum[1].ToString();
            glue3NumLabel.Text  = Global.glueNum[2].ToString();
            glue4NumLabel.Text  = Global.glueNum[3].ToString();
            glue5NumLabel.Text  = Global.glueNum[4].ToString();
            glue6NumLabel.Text  = Global.glueNum[5].ToString();
            glue7NumLabel.Text  = Global.glueNum[6].ToString();
            glue8NumLabel.Text  = Global.glueNum[7].ToString();
            glue9NumLabel.Text  = Global.glueNum[8].ToString();
            glue10NumLabel.Text = Global.glueNum[9].ToString();
            glue11NumLabel.Text = Global.glueNum[10].ToString();
            glue12NumLabel.Text = Global.glueNum[11].ToString();
            glue13NumLabel.Text = Global.glueNum[12].ToString();
        }