1
huanghongfeng
2025-10-22 8d558cb173873004cd8a0d6c12f37865f03d7a4f
´úÂë¹ÜÀí/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SpeStackerCraneJob/GetStackerObject.cs
@@ -32,11 +32,16 @@
        public RgvCraneAutoStatus RgvCraneAutoStatusValue => GetRgvCraneAutoStatus();
        /// <summary>
        /// åˆå§‹åŒ–功能(0:已初始化,1:未初始化)
        /// </summary>
        public RGVInitialize RGVInitializationValue=> GetRGVInitializationValue();
        /// <summary>
        /// ä»»åŠ¡çŠ¶æ€ï¼ˆ0空闲、1执行中、2已完成、3异常完成)
        /// </summary>
        /// <param name="speStackerCrane"></param>
        /// <returns></returns>
        public RgvJobCraneStatus StaclerkJobJobStatusValue => GetRgvJobCraneWorkStatus();
        public RGV_Rgvtaskstutas StaclerkJobJobStatusValue => GetRgvJobCraneWorkStatus();
        /// <summary>
        /// æ­¥è¿›çŠ¶æ€ï¼ˆ0无动作、1取货行走、2取货、3放货行走、4放货、5仅行走中)
@@ -49,6 +54,11 @@
        /// å½“前,子母车的地址
        /// </summary>
        public int RGVCurrentlocation => GetRGVCurrentlocation();
        /// <summary>
        /// å½“前子母车的目标位子
        /// </summary>
        public int RGVNdexlocation => GetRGVNdexlocation();
        /// <summary>
        /// å½“前rgv任务
@@ -78,6 +88,15 @@
        }
        /// <summary>
        /// èŽ·å–rgv手自动状态
        /// </summary>
        /// <returns></returns>
        private RGVInitialize GetRGVInitializationValue()
        {
            return Enum.Parse<RGVInitialize>(GetStatus(nameof(RGVInitialize)));
        }
        /// <summary>
        /// èŽ·å–rgv工作状态
        /// </summary>
        /// <returns></returns>
@@ -90,11 +109,10 @@
        /// èŽ·å–rgv作业状态
        /// </summary>
        /// <returns></returns>
        private RgvJobCraneStatus GetRgvJobCraneWorkStatus()
        private RGV_Rgvtaskstutas GetRgvJobCraneWorkStatus()
        {
            return Enum.Parse<RgvJobCraneStatus>(GetStatus(nameof(RgvJobCraneStatus)));
            return Enum.Parse<RGV_Rgvtaskstutas>(GetStatus(nameof(RGV_Rgvtaskstutas)));
        }
        /// <summary>
        /// èŽ·å–å½“å‰åœ°å€
@@ -103,10 +121,33 @@
        private int GetRGVCurrentlocation()
        {
            DeviceProDTO deviceProDTO = _speStackerCrane.DeviceProDTOs.FirstOrDefault((DeviceProDTO x) => x.DeviceProParamName == "RGVCurrentlocation");
            try
            {
                DeviceProDTO deviceProDTO = _speStackerCrane.DeviceProDTOs.FirstOrDefault((DeviceProDTO x) => x.DeviceProParamName == "RGVCurrentlocation");
                if (deviceProDTO != null)
                {
                    return (short)_speStackerCrane.Communicator.ReadAsObj(deviceProDTO.DeviceProAddress, "int", 1);
                }
                return 0;
            }
            catch (Exception ex)
            {
                return 0;
                throw;
            }
        }
        /// <summary>
        /// ç›®æ ‡ä½ç½®
        /// </summary>
        /// <returns></returns>
        private int GetRGVNdexlocation()
        {
            DeviceProDTO deviceProDTO = _speStackerCrane.DeviceProDTOs.FirstOrDefault((DeviceProDTO x) => x.DeviceProParamName == "RGVCurrentlocationt");
            if (deviceProDTO != null)
            {
                return (int)_speStackerCrane.Communicator.ReadAsObj(deviceProDTO.DeviceProAddress, deviceProDTO.DeviceDataType, 1);
                return (short)_speStackerCrane.Communicator.ReadAsObj(deviceProDTO.DeviceProAddress, "int", 1);
            }
            return 0;
        }
@@ -117,11 +158,10 @@
        /// <returns></returns>
        private int GetCurrentRgvtaskid()
        {
            DeviceProDTO deviceProDTO = _speStackerCrane.DeviceProDTOs.FirstOrDefault((DeviceProDTO x) => x.DeviceProParamName == "RGV_Rgvtaskid");
            if (deviceProDTO != null)
            {
                return (int)_speStackerCrane.Communicator.ReadAsObj(deviceProDTO.DeviceProAddress, deviceProDTO.DeviceDataType, 1);
                return (short)_speStackerCrane.Communicator.ReadAsObj(deviceProDTO.DeviceProAddress, "int", 1);
            }
            return 0;
        }
@@ -136,7 +176,7 @@
            DeviceProDTO deviceProDTO = _speStackerCrane.DeviceProDTOs.FirstOrDefault((DeviceProDTO x) => x.DeviceProParamName == "RGV_Lanjiantaskid");
            if (deviceProDTO != null)
            {
                return (int)_speStackerCrane.Communicator.ReadAsObj(deviceProDTO.DeviceProAddress, deviceProDTO.DeviceDataType, 1);
                return (short)_speStackerCrane.Communicator.ReadAsObj(deviceProDTO.DeviceProAddress, "int", 1);
            }
            return 0;
        }
@@ -192,10 +232,10 @@
            {
                if(_speStackerCrane.IsConnected)
                {
                    _speStackerCrane.SetValue(RgvCraneDBName.RGV_RGVTasklocation, command.RGV_RGVTasklocation);
                    _speStackerCrane.SetValue(RgvCraneDBName.RGV_RGVtasktype, command.RGV_RGVtasktype);
                    _speStackerCrane.SetValue(RgvCraneDBName.RGV_Rgvtaskid, command.RGV_Rgvtaskid);
                    _speStackerCrane.SetValue(RgvCraneDBName.RGV_Lanjiantaskid, command.RGV_Lanjiantaskid);
                    _speStackerCrane.SetValue(RgvCraneDBName.RGV_RGVTasklocationt, command.RGV_RGVTasklocation);
                    _speStackerCrane.SetValue(RgvCraneDBName.RGV_RGVtasktypet, command.RGV_RGVtasktype);
                    _speStackerCrane.SetValue(RgvCraneDBName.RGV_Rgvtaskidt, command.RGV_Rgvtaskid);
                    _speStackerCrane.SetValue(RgvCraneDBName.RGV_Lanjiantaskidt, command.RGV_Lanjiantaskid);
                    return true;
                }
                return false;