| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 | 
							- using IMCS.DefaultList;
 
- using IMCS.Logic;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.ComponentModel;
 
- using System.Data;
 
- using System.Drawing;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows.Forms;
 
- using YG;
 
- namespace IMCS.UControl
 
- {
 
-     public partial class UserControl3 : UserControl
 
-     {
 
-         private short taskRun = 0;
 
-         bool Run = false;
 
-         short StartIndex = 0;
 
-         short EndIndex = 0;
 
-         public System.ComponentModel.BindingList<WeiLiTaskDefaultList> CurrentTask = new BindingList<WeiLiTaskDefaultList>();
 
-         public UserControl3()
 
-         {
 
-             InitializeComponent();
 
-             this.Load += UserControl3_Load;
 
-         }
 
-         YG.Device.DeviceS7 s7;
 
-         ZhiLiangZhongXinHandle longHaiTe;
 
-         private void UserControl3_Load(object sender, EventArgs e)
 
-         {
 
-             longHaiTe = new ZhiLiangZhongXinHandle();
 
-             longHaiTe.DeviceInit();
 
-             longHaiTe.DeviceStart();
 
-             longHaiTe.Msg += LongHaiTe_Msg;
 
-             foreach (Control cc in this.tableLayoutPanel1.Controls)
 
-             {
 
-                 if (cc is Label)
 
-                 {
 
-                     Label lb = (Label)cc;
 
-                     if (!lb.Tag.Equals("999"))
 
-                     {
 
-                         lb.AllowDrop = true;
 
-                         lb.MouseMove += new MouseEventHandler(Lb_MouseDown1);
 
-                         lb.DragEnter += new DragEventHandler(Label_DragEnter);
 
-                         lb.DragDrop += new DragEventHandler(Label_DragDrop);
 
-                     }
 
-                     lb.BackColor = System.Drawing.Color.AliceBlue;
 
-                     lb.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
 
-                     lb.AutoSize = false;
 
-                     lb.Width = 100;
 
-                     lb.Height = 45;
 
-                 }
 
-             }
 
-             Task.Factory.StartNew(async () =>
 
-             {
 
-                 while (true && !Run)
 
-                 {
 
-                     await Task.Delay(100);
 
-                     if (CurrentTask.Where(m => !m.Task_GameOver).Count() > 0)
 
-                     {
 
-                         CurrentTask.Where(m => !m.Task_GameOver).FirstOrDefault().FirstOrDefaultYG((t) =>
 
-                         {
 
-                             if (!t.Task_Send)
 
-                             {
 
-                                 Write_Plc((short)t.Task_Index, t.Task_StartIndex, t.Task_EndIndex, t.Task_Operation);
 
-                                 t.Task_Send = true;
 
-                             }
 
-                         });
 
-                     }
 
-                 }
 
-             });
 
-         }
 
-         private void Lb_MouseDown1(object sender, MouseEventArgs e)
 
-         {
 
-             Label startlable = sender as Label;
 
-             if ((e.Button == System.Windows.Forms.MouseButtons.Left))
 
-             {
 
-                 startlable.DoDragDrop(startlable, DragDropEffects.Copy | DragDropEffects.Move);
 
-                 //形成拖拽效果,移动+拷贝的组合效果     
 
-             }
 
-         }
 
-         private void Label_DragEnter(object sender, DragEventArgs e)
 
-         {
 
-             e.Effect = DragDropEffects.Copy;
 
-         }
 
-         private void Write_Plc(short title, short start, short end, short operatio)
 
-         {
 
-             lb_TaskId.Invoke(new Action(() => { lb_TaskId.Text = $"ID:{title}"; }));// .Text = $"执行任务ID{title}";
 
-             lb_StartPoint.Invoke(new Action(() => { lb_StartPoint.Text = $"起点:{start}"; }));//.Text = $"任务执行起点{start}";
 
-             lb_EndPoint.Invoke(new Action(() => { lb_EndPoint.Text = $"终点:{end}"; }));//.Text = $"任务结束点{end}";
 
-             lb_Run.Invoke(new Action(() => { lb_Run.Text = $"执行:{operatio}"; }));
 
-             taskRun = operatio;
 
-             longHaiTe.DeviceSend("DB200.44", title);
 
-             System.Threading.Thread.Sleep(500);
 
-             longHaiTe.DeviceSend("DB200.46", start);
 
-             System.Threading.Thread.Sleep(500);
 
-             longHaiTe.DeviceSend("DB200.48", end);
 
-             System.Threading.Thread.Sleep(500);
 
-             longHaiTe.DeviceSend("DB200.50", operatio);
 
-         }
 
-         private void Label_DragDrop(object sender, DragEventArgs e)
 
-         {
 
-             Label lb = (Label)sender;
 
-             EndIndex = (short)lb.Tag.ObjectToInt();
 
-             var cc = (Label)e.Data.GetData(typeof(Label));
 
-             StartIndex = cc.Tag.ObjectToShort();
 
-             Run = false;
 
-             {
 
-                 CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 1, Task_Type = TaskType.取, Task_StartIndex = StartIndex });
 
-                 CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 4, Task_Type = TaskType.放, Task_StartIndex = StartIndex });
 
-             }
 
-         }
 
-         private void LongHaiTe_Msg(string obje1, string obje2, string obje3)
 
-         {
 
-             System.Console.WriteLine($"{obje1}-->>{obje2}-->{obje3}");
 
-             if (obje3.Length - obje3.Replace(",", "").Length != 1)
 
-             {
 
-                 MessageBox.Show("接受到的值解析出现问题");
 
-                 return;
 
-             }
 
-             string[] vs = obje3.Split(new string[] { "," }, StringSplitOptions.None);
 
-             short state = vs[1].ObjectToShort();
 
-             lb_RunState.Invoke(new Action(() => { lb_RunState.Text = "状态:" + state.ToString(); }));
 
-             CurrentTask.Where(m => m.Task_Index.Equals(vs[0].StringToInt())).FirstOrDefault().FirstOrDefaultYG((t) =>
 
-             {
 
-                 if (t.Task_Type.Equals(TaskType.取) && state == 3)
 
-                 {
 
-                     t.Task_GameOver = true;
 
-                 }
 
-                 else if (t.Task_Type.Equals(TaskType.放) && state == 6)
 
-                 {
 
-                     t.Task_GameOver = true;
 
-                 }
 
-                 else if (t.Task_Type.Equals(TaskType.移动) && state == 8)
 
-                 {
 
-                     t.Task_GameOver = true;
 
-                 }
 
-                 t.Task_RunState = state;
 
-             });
 
-         }
 
-     }
 
- }
 
 
  |