1
huanghongfeng
10 天以前 0b4792ff8245f9eac16e6d02452eb9a091f6f72b
´úÂë¹ÜÀí/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SpeStackerCraneJob/SpeStackerCraneJob.cs
@@ -77,6 +77,28 @@
                            CommonStackerCrane_AGVTaskCompletedEventHandler(getStackerObject, speStackerCrane);
                        }
                        //判断当前设备是入库还是出库
                        /*if (GetDeviceAddress.OutbounMotherChildCartbool(speStackerCrane.DeviceCode))
                        {
                            //判断当前安全门是否为绿色灯
                            if (GetDeviceAddress.ReadAqmDecicStice(1))
                            {
                                return null;
                            }
                        }
                        else
                        {
                            //判断入库端安全门是否正常
                            if (GetDeviceAddress.ReadAqmDecicStice(2))
                            {
                                return null;
                            }
                        }*/
                        if (getStackerObject.RgvCraneAutoStatusValue == RgvCraneAutoStatus.Automatic &&
                        getStackerObject.StaclerkJobJobStatusValue == RGV_Rgvtaskstutas.Ready && getStackerObject.RgvCraneWorkStatusValue == RGVStepprocess.NoAction)
                        {
@@ -139,8 +161,12 @@
            }
            else if (getStackerObject.StaclerkJobJobStatusValue == RGV_Rgvtaskstutas.AbnormalCompletion && getStackerObject.CurrentRgvtaskid != 0 && getStackerObject.CurrentRgvtaskid != 30001)
            {
                //修改任务状态为异常完成
                _taskService.HandleInAbnormal(getStackerObject.CurrentRgvtaskid);
                //写入异常完成报警信息
                speStackerCrane.Communicator.Write<short>("DB101.36", 1);
                speStackerCrane.Communicator.Write<short>("DB101.36", 1);   //写入报警
            }
        }
        #endregion
@@ -179,7 +205,7 @@
                    => GoodsPlacedCorridor(RGVTaskdevice),    //子车放货任务(已完成)
                ((int)RGVEquipment.Mothertrailer, RgvEquipmentStatus.HasCargo)
                    => MotherVehicleMovement(RGVTaskdevice),        //(已完成)
                    => MotherVehicleMovement(RGVTaskdevice),        //母车移动(已完成)
                _ => null
            };
@@ -434,7 +460,13 @@
                    }
                    else
                    {
                        RGVMovetask(Muche.ZicheMotherinlaw, Muche.ChildPosiDeviceCode);  //如果没有任务,则可以进行移动出来
                        //判断母车是否有任务
                        Dt_Task _Task1 = _taskService.MothermacTask(Muche.ChildPosiDeviceCode);
                        if (task == null)
                        {
                            RGVMovetask(Muche.ZicheMotherinlaw, Muche.ChildPosiDeviceCode);  //如果没有任务,则可以进行移动出来
                        }
                    }
                }
            }
@@ -480,7 +512,12 @@
                Dt_Task task = _taskService.MothermachinemovementTask2(Muche2.ChildPosiDeviceCode);   //获取到母车移动任务
                if (task == null)
                {
                    RGVMovetask(Muche2.ZicheMotherinlaw, Muche2.ChildPosiDeviceCode);  //如果没有任务,则可以进行移动出来
                    Dt_Task _Task1 = _taskService.MothermacTask(Muche.ChildPosiDeviceCode);
                    if (task == null)
                    {
                        RGVMovetask(Muche2.ZicheMotherinlaw, Muche2.ChildPosiDeviceCode);  //如果没有任务,则可以进行移动出来
                    }
                }
            }
            return null;
@@ -511,7 +548,7 @@
                AGVStation Muche2 = _agvStationService.GetMothervehicle(aGVStation.MotherCardeputy);    //内侧母车
                int mucheaddre2 = GetDeviceAddress.GetEquipmentlocation(Muche2.ChildPosiDeviceCode);
                if ((neizichecurraddres == neiziche.WaitmomentOne || neizichecurraddres == neiziche.WaitmomentTwo) && task == null && mucheaddre1 == Muche.Motherinlaw && mucheaddre2 == Muche2.Motherinlaw)
                if ((neizichecurraddres == neiziche.WaitmomentOne || neizichecurraddres == neiziche.WaitmomentTwo) && task == null && neizichecurraddres != neiziche.HCJStorageaddress && mucheaddre1 == Muche.Motherinlaw && mucheaddre2 == Muche2.Motherinlaw)
                {
                    return _Task;
                }
@@ -869,7 +906,7 @@
                GetStackerObject getStackerObject = GetDeviceAddress.GetChildDeviceCode(zichestation.ChildPosiDeviceCode);
                if (getStackerObject.StaclerkJobJobStatusValue != RGV_Rgvtaskstutas.Executing && getStackerObject.RgvCraneAutoStatusValue == RgvCraneAutoStatus.Automatic
                     && (getStackerObject.RGVCurrentlocation == zichestation.WaitmomentOne || getStackerObject.RGVCurrentlocation == zichestation.WaitmomentTwo) && getStackerObject.RGVCurrentlocation != zichestation.ZicheMotherinlaw)
                     && (getStackerObject.RGVCurrentlocation == zichestation.WaitmomentOne || getStackerObject.RGVCurrentlocation == zichestation.WaitmomentTwo || getStackerObject.RGVCurrentlocation==1171) && getStackerObject.RGVCurrentlocation != zichestation.ZicheMotherinlaw)
                {
                    RGVMovetask(GdZiche.Motherinlaw, GdZiche.ChildPosiDeviceCode);
                }