private void BtnADD_Click(object sender, EventArgs e) { Config.i++; Config.Equal = "false"; try { for (int j = 0; j < Config.i; j++) { if (Config.AGVNum1[j] == int.Parse(ComAGVNum.Text)) ///如果输入的AGV已经存在,那么就把当前的目的地值赋给它 { Config.Equal = "true"; Config.AGVTar1[j] = (int.Parse(ComAGVTar.Text)); Config.i--; } } if (Config.Equal == "false") { Config.AGVNum1.Add(int.Parse(ComAGVNum.Text)); Config.AGVPath1.Add(int.Parse(ComAGVPath.Text)); Config.AGVTar1.Add(int.Parse(ComAGVTar.Text)); } } catch { for (int j = 0; j < Config.i; j++) { if (Config.AGVNum1[j] == 0) { Config.Equal = "true"; Config.i--; } } if (Config.Equal == "false") { Config.AGVNum1.Add(0); Config.AGVPath1.Add(11); Config.AGVTar1.Add(1); } } Config.AGVLoct1.Add(1); ///////路径上的位置 Config.AGVStar1.Add(1); if (Config.Equal == "false") { AGVClass.AGVThread(Config.i, Config.AGVLabel[Config.AGVNum1[Config.i]]); //创建线程 } AGVClass.AGVLabelStop(Config.AGVNum1[Config.i]); //阻塞线程 btnAGVRun.Text = "开"; if (Config.AGVLabel[Config.i] != null) ///////使增加的AGV可视 { if (Config.AGVStar1[Config.i] == 1) { AGVClass.MoveAGV(Config.i, Config.AGVPath1[Config.i]); Config.AGVLabel[Config.AGVNum1[Config.i]].Visible = true; } } }
private void TimMoveAGV_Tick(object sender, EventArgs e) { for (int j = 0; j <= Config.i; j++) { if (Config.AGVLabel[j] != null) { if (Config.AGVStar1[j] == 1) { AGVClass.MoveAGV(j, Config.AGVPath1[j]); /*更新AGVLabel的位置*/ } } } }