| | |
| | | //ReSendThread.Name = "向WIP重新推送报文"; |
| | | //StartThread(ReSendThread); |
| | | |
| | | //开启推送给MES的出入库完成线程 【Editby shaocx,2025-09-17】 |
| | | new Thread(mesDataTranfficForRealMes.Handler).Start(); |
| | | |
| | | } |
| | | |
| | |
| | | //结束生成入库主任务的线程 |
| | | CloseThread(CreatMainTaskInThread); |
| | | |
| | | //结束生成出库主任务的线程 |
| | | //结束生成出库主任务的线程 |
| | | CloseThread(CreatMainTaskOutThread); |
| | | |
| | | //关闭分解任务的线程 |
| | |
| | | |
| | | var s = (StackerEntity)stacker; |
| | | //LogTextHelper.WriteLine(Resources.LogDir, "获取堆垛机{0}状态线程已开启", s.Equipment.EquipName); |
| | | var items = new string[] |
| | | { |
| | | var items = new string[] |
| | | { |
| | | s.OpcReadItems.SrmNo,// 1Srm编号 |
| | | s.OpcReadItems.Mode,// 2任务号 |
| | | s.OpcReadItems.Alarm,// 3告警 |
| | |
| | | { |
| | | gateService.HandleMsgSCReceive(gateService.ReadFromDatagramPoolSCReceive()); |
| | | } |
| | | else |
| | | else |
| | | { |
| | | gateService.HandleMsgReceive(gateService.ReadFromDatagramPoolReceive()); |
| | | gateService.HandleMsgAlarmReceive(gateService.ReadFromDatagramPoolAlarmReceive()); |
| | |
| | | /// </summary> |
| | | private void CreateMainInTask() |
| | | { |
| | | var c = (ConveyorEntity)CacheEntity.Conveyors.Find(x => x.Equipment.EquipName == "conveyor1"); |
| | | var mainTaskContainer = new MainTaskContainer(); |
| | | var 生成入库主任务 = new 根据扫码生成入库主任务(c, mainTaskContainer); |
| | | var 保存生成的任务 = new 保存生成的入库任务(c, mainTaskContainer); |
| | | 生成入库主任务.NextHandler = 保存生成的任务; |
| | | var c = (ConveyorEntity)CacheEntity.Conveyors.Find(x => x.Equipment.EquipName == "conveyor1"); |
| | | var mainTaskContainer = new MainTaskContainer(); |
| | | var 生成入库主任务 = new 根据扫码生成入库主任务(c, mainTaskContainer); |
| | | var 保存生成的任务 = new 保存生成的入库任务(c, mainTaskContainer); |
| | | 生成入库主任务.NextHandler = 保存生成的任务; |
| | | |
| | | while (true) |
| | | while (true) |
| | | { |
| | | if (CacheEntity.IsAutoRun) |
| | | { |
| | | if (CacheEntity.IsAutoRun) |
| | | { |
| | | 生成入库主任务.Handle(); |
| | | } |
| | | Thread.Sleep(1000); |
| | | 生成入库主任务.Handle(); |
| | | } |
| | | Thread.Sleep(1000); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 生成出库主任务 |
| | |
| | | { |
| | | try |
| | | { |
| | | // string stackerName = Enum.GetName(typeof(EEquipmentCnName), EEquipmentCnName.stacker1); |
| | | // string stackerName = Enum.GetName(typeof(EEquipmentCnName), EEquipmentCnName.stacker1); |
| | | var reports = dbModel.COUNTStackerReports.Where(x => x.isfinished == (int)EYesOrNo.否).ToList(); |
| | | var stacker = CacheEntity.Stackers.FirstOrDefault(x => x.Equipment.EquipName == "stacker1"); |
| | | var unfinishedReport = reports.FirstOrDefault(x => x.name == stacker.Equipment.EquipName); |