/// <summary> /// 根据任务ID,进行装货操作 /// </summary> /// <param name="taskid"></param> /// <param name="carid"></param> /// <param name="result"></param> /// <returns></returns> public bool DoLoad(int taskid, int carid, out string result) { if (taskid == 0 || carid == 0) { result = "任务ID,车ID不能为零"; return(false); } NDCItem item = Items.Find(c => { return(c._mTask.TASKID == taskid && c.CarrierId == carid); }); if (item == null) { result = "找不到任务ID:" + taskid + ",小车:" + carid + "的任务."; return(false); } if (item.PLCStatus != NDCPlcStatus.LoadReady) { result = "小车为准备好接货"; return(false); } if (!LoadItemList.Contains(item._mTask.ORDERINDEX)) { LoadItemList.Add(item._mTask.ORDERINDEX); result = ""; return(true); } result = taskid + "的装货已经请求过了"; return(false); }
private void CheckPlc(NDCItem item, Message_vpil v) { Console.WriteLine("PLC:" + v.PlcLp1 + " Value:" + v.Value1); if (v.PlcLp1 == 29 && v.Value1 == 1) { //装货中 item.PLCStatus = NDCPlcStatus.Loading; LoadItemList.Remove(item._mTask.ORDERINDEX); //通知WCS AGVDataUpdate?.Invoke(item._mTask.TASKID, item.CarrierId + ""); } else if (v.PlcLp1 == 29 && v.Value1 == 2) { //卸货中 item.PLCStatus = NDCPlcStatus.Unloading; UnLoadItemList.Remove(item._mTask.ORDERINDEX); } /* * //switch (v.PlcLp1) * //{ * // case 1://装货中 * // item.PLCStatus = NDCPlcStatus.Loading; * // LoadItemList.Remove(item.OrderIndex); * // DataControl._mForAGVControl.SubmitAgvLoading(item.TaskID, item.CarrierId + ""); * // break; * * * // case 2://卸货中 * // item.PLCStatus = NDCPlcStatus.Unloading; * // UnLoadItemList.Remove(item.OrderIndex); * // break; * //} */ }
/// <summary> /// 根据任务ID,进行装货操作 /// </summary> /// <param name="taskid"></param> /// <param name="carid"></param> /// <param name="result"></param> /// <returns></returns> //public bool DoLoad(int taskid, int carid, out string result) public bool DoLoad(int taskid, out string result) { //if (taskid == 0 || carid == 0) if (taskid == 0) { //result = "任务ID,车ID不能为零"; result = "任务ID不能为零"; return(false); } NDCItem item = Items.Find(c => { //return c._mTask.TASKID == taskid && c.CARRIERID == carid; return(c._mTask.TASKID == taskid); }); if (item == null) { //result = "找不到任务ID:" + taskid + ",小车:" + carid + "的任务."; result = "找不到任务ID:" + taskid + "的任务."; return(false); } if (item.PLCStatus == NDCPlcStatus.Loading) { LoadItemList.Remove(item._mTask.NDCINDEX); //通知WCS //NoticeWcsOnLoad?.Invoke(item._mTask.TASKID, item.CARRIERID + ""); result = "小车已经启动辊台了"; return(true); } if (item.PLCStatus != NDCPlcStatus.LoadReady) { if (item.CARRIERID != 0) { // 查询状态 DoSelect(item.CARRIERID); } //result = "小车未准备好接货"; result = ""; return(false); } if (!LoadItemList.Contains(item._mTask.NDCINDEX)) { LoadItemList.Add(item._mTask.NDCINDEX); result = ""; return(true); } result = taskid + "的装货已经请求过了"; return(true); }
/// <summary> /// 检查AGV 棍台消息任务 /// </summary> /// <param name="item"></param> /// <param name="v"></param> private void CheckPlc(NDCItem item, Message_vpil v) { Console.WriteLine("PLC:" + v.PlcLp1 + " Value:" + v.Value1); if (v.PlcLp1 == 29 && v.Value1 == 1) { //装货中 item.PLCStatus = NDCPlcStatus.Loading; LoadItemList.Remove(item._mTask.NDCINDEX); //通知WCS _NoticeWcsLoading(item._mTask.TASKID, item.CARRIERID + ""); } else if (v.PlcLp1 == 29 && v.Value1 == 2) { //卸货中 item.PLCStatus = NDCPlcStatus.Unloading; UnLoadItemList.Remove(item._mTask.NDCINDEX); } }
private void Form1_Load(object sender, EventArgs e) { // загрузка списка итемов LoadItemList loadItemList = new LoadItemList(); loadItemList.LoadItemRecordList(); listBox1.ClearSelected(); listBox1.Refresh(); dataGridView1.ClearSelection(); // Grid dataGridView1.AutoGenerateColumns = false; DataGridViewCheckBoxColumn checkBoxCol = new DataGridViewCheckBoxColumn() { HeaderText = "Выбор", Width = 50, SortMode = DataGridViewColumnSortMode.Automatic }; DataGridViewTextBoxColumn category = new DataGridViewTextBoxColumn() { DataPropertyName = "Category", HeaderText = "Категория", Width = 150, SortMode = DataGridViewColumnSortMode.Automatic }; DataGridViewTextBoxColumn name = new DataGridViewTextBoxColumn() { DataPropertyName = "Name", HeaderText = "Название", Width = 150, SortMode = DataGridViewColumnSortMode.Automatic }; DataGridViewTextBoxColumn quantity = new DataGridViewTextBoxColumn() { DataPropertyName = "Quantity", HeaderText = "Качество", Width = 100, SortMode = DataGridViewColumnSortMode.Automatic }; DataGridViewTextBoxColumn costPrice = new DataGridViewTextBoxColumn() { DataPropertyName = "CostPrice", HeaderText = "Цена покупки", Width = 100, SortMode = DataGridViewColumnSortMode.Automatic }; DataGridViewTextBoxColumn sellPrice = new DataGridViewTextBoxColumn() { DataPropertyName = "SellPrice", HeaderText = "Цена продажи", Width = 100, SortMode = DataGridViewColumnSortMode.Automatic }; DataGridViewTextBoxColumn description = new DataGridViewTextBoxColumn() { DataPropertyName = "Description", HeaderText = "Описание", Width = 150, SortMode = DataGridViewColumnSortMode.Automatic }; dataGridView1.Columns.Add(checkBoxCol); dataGridView1.Columns.Add(category); dataGridView1.Columns.Add(name); dataGridView1.Columns.Add(quantity); dataGridView1.Columns.Add(costPrice); dataGridView1.Columns.Add(sellPrice); dataGridView1.Columns.Add(description); dataGridView1.DataSource = loadItemList.GetFullItemRecordList(); }