Browse Source

熟化房连续模式

localhost 3 years ago
parent
commit
414127a38f
1 changed files with 87 additions and 1 deletions
  1. 87 1
      WCS.Workflow/ConvPlc04.cs

+ 87 - 1
WCS.Workflow/ConvPlc04.cs

@@ -49,7 +49,9 @@ namespace WCS.Workflow
             //刷新任务数据
             WCSWorkflow.RefreshData();
             //上传熟化开始结束时间信息
-            ThreadHelper.TaskThread(MatureSignalGet);
+            //ThreadHelper.TaskThread(MatureSignalGet);
+            UploadMatureTimeInfo(Conv_1164);
+            UploadMatureTimeInfo(Conv_1165);
             //MatureSignalGet();
             //更新熟化连续模式
             ThreadHelper.TaskThread(UploadMatureMode);
@@ -785,6 +787,90 @@ namespace WCS.Workflow
             }
         }
 
+        private void UploadMatureTimeInfo(string conNo)
+        {
+            try
+            {        
+                    var plc = Current.PlcSet.FirstOrDefault(v => v.PLC_NAME == PlcName);
+                    var conveyor = plc.WCS_EquipmentInfoSet.FirstOrDefault(v => v.Equ_No == conNo);
+                    var cs = conveyor.EquSignal_Conv;
+                    // 开始与结束信号已被PLC复位,同时开始与结束确认信号为置位状态,开始复位确认信号
+                    if(!cs.DB521_B_Outside && !cs.DB521_L_Outside)
+                    {
+                        if (cs.DB520_Confirm || cs.DB520_TaskDelete)
+                        {
+                        var converywrite = new WCSWriteToConveyorSignal();
+                        converywrite.Plc = plc.Plc;
+                        converywrite.DBName = plc.WriteDBName;
+                        converywrite.ConveyorNo = conNo;
+                        converywrite.WriteStartAddress = cs.EquDbInfo_ReadWrite.DBReadIndox;
+                        converywrite.Confirm = false;
+                        converywrite.TaskDelete = false;
+                        WriteTaskToBuffer(converywrite, true);
+                        return;
+                        }
+                    }                 
+                    string matureNo = conNo == "1164" ? "A" : "B";
+                    if (!cs.DB521_B_Outside && !cs.DB521_L_Outside) return;
+                    int isContinueMode = cs.DB521_F_Outside == true ? 1 : 0;//是否连续熟化模式
+                    int num = cs.DB521_Goodstype;//熟化架数量
+                    //开始熟化信号true,开始确认信号、结束熟化信号false,此时上传开始熟化信息
+                    if (cs.DB521_B_Outside && !cs.DB520_Confirm && !cs.DB521_L_Outside)//开始熟化标志    DB520_Confirm  开始确认标志
+                    {
+                        //调用上传WMS的接口上传熟化房信息
+                        var param = new GetMatureContinueParam
+                        {
+                            MatureRoomNo = matureNo,
+                            IsContinueMode = isContinueMode,
+                            MatureStartTime = DateTime.Now,
+                            MatureEndTime = null,
+                            MatureFrameNum = num
+                        };
+                        //BaseWorkflow.GetMatureContinueMode(param, cs, plc, 1, item);
+                        if (BaseWorkflow.GetMatureContinueMode(param))
+                        {
+                            var converywrite = new WCSWriteToConveyorSignal();
+                            converywrite.Plc = plc.Plc;
+                            converywrite.DBName = plc.WriteDBName;
+                            converywrite.ConveyorNo = conNo;
+                            converywrite.WriteStartAddress = cs.EquDbInfo_ReadWrite.DBReadIndox;
+
+                            converywrite.Confirm = true;
+                            WriteTaskToBuffer(converywrite, true);
+                        }
+                    }
+                    //开始、结束熟化信号为true,结束熟化确认信号false,此时上传结束熟化信息
+                    else if (cs.DB521_L_Outside && !cs.DB520_TaskDelete && cs.DB521_B_Outside)////结束熟化标志  DB520_TaskDelete 结束确认标志
+                    {
+                        //调用上传WMS的接口上传熟化房信息
+                        var param = new GetMatureContinueParam
+                        {
+                            MatureRoomNo = matureNo,
+                            IsContinueMode = isContinueMode,
+                            MatureStartTime = null,
+                            MatureEndTime = DateTime.Now,
+                            MatureFrameNum = num
+                        };
+                        //BaseWorkflow.GetMatureContinueMode(param, cs, plc, 2, item);
+                        if (BaseWorkflow.GetMatureContinueMode(param))
+                        {
+                            var converywrite = new WCSWriteToConveyorSignal();
+                            converywrite.Plc = plc.Plc;
+                            converywrite.DBName = plc.WriteDBName;
+                            converywrite.ConveyorNo = conNo;
+                            converywrite.WriteStartAddress = cs.EquDbInfo_ReadWrite.DBReadIndox;
+
+                            converywrite.TaskDelete = true;
+                            WriteTaskToBuffer(converywrite);
+                        }
+                    }        
+            }
+            catch (Exception ex)
+            {
+                LogMessageHelper.RecordLogMessage(ex);
+            }         
+        }
+
         private void RequestInByMatureConv(string convNo, string matureRoomNo)
         {
             try