From 8c6fd742db249ad4cc819cf041eb98d880a3ef73 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期四, 02 一月 2025 15:09:07 +0800 Subject: [PATCH] 1 --- WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs index e2d0ed2..6d19535 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs @@ -54,24 +54,54 @@ #endregion Private Member #region Public Member + /// <summary> + /// 閫氳瀵硅薄 + /// </summary> public BaseCommunicator Communicator => _communicator; + /// <summary> + /// 閫氳鍗忚淇℃伅 + /// </summary> public List<DeviceProDTO> DeviceProDTOs => _deviceProDTOs; + /// <summary> + /// 閫氳鍗忚鏄庣粏淇℃伅 + /// </summary> public List<DeviceProtocolDetailDTO> DeviceProtocolDetailDTOs => _deviceProtocolDetailDTOs; + /// <summary> + /// 涓婁竴娆℃墽琛岀殑浠诲姟鍙� + /// </summary> public int LastTaskNum => _lastTaskNum; + /// <summary> + /// 褰撳墠姝e湪鎵ц鐨勪换鍔″彿 + /// </summary> public int CurrentTaskNum => GetCurrentTaskNum(); + /// <summary> + /// 涓婁竴娆℃墽琛岀殑浠诲姟绫诲瀷 + /// </summary> public int? LastTaskType { get; set; } = null; + /// <summary> + /// 璁惧缂栧彿 + /// </summary> public string DeviceCode => _deviceCode; + /// <summary> + /// 璁惧鍚嶇О + /// </summary> public string DeviceName => _deviceName; + /// <summary> + /// 璁惧鏄惁宸茶繛鎺� + /// </summary> public bool IsConnected => Communicator.IsConnected && _isConnected; + /// <summary> + /// 鍫嗗灈鏈轰换鍔″懡浠� + /// </summary> public object StackerCraneTaskCommand { get; set; } #endregion @@ -154,11 +184,17 @@ #endregion #region Public Method + /// <summary> + /// 鑾峰彇鍫嗗灈鏈虹姸鎬� + /// </summary> public T GetStackerCraneStatus<T>() where T : notnull, Enum { return (T)GetStatus(typeof(T).Name); } + /// <summary> + /// 閲婃斁瀵硅薄 + /// </summary> public void Dispose() { _heartStatr = false; @@ -166,6 +202,14 @@ GC.SuppressFinalize(this); } + /// <summary> + /// 鏍规嵁鍙傛暟鍚嶇О璇诲彇鍫嗗灈鏈哄搴旂殑鏁版嵁銆� + /// </summary> + /// <typeparam name="TEnum">鍙傛暟鍚嶇О鏋氫妇绫诲瀷銆�</typeparam> + /// <typeparam name="TResult">璇诲彇缁撴灉鐨勮繑鍥炲�肩被鍨嬨��</typeparam> + /// <param name="value">鍙傛暟鍚嶇О銆�</param> + /// <returns>杩斿洖璇诲彇鍒扮殑鏁版嵁銆�</returns> + /// <exception cref="Exception"></exception> public TResult GetValue<TEnum, TResult>(TEnum value) where TEnum : Enum { if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�"); @@ -173,11 +217,19 @@ return devicePro == null ? throw new Exception($"璇诲彇鏁版嵁閿欒,鏈湪鍗忚淇℃伅閲岄潰鎵惧埌鍙傛暟{value.ToString()}") : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); } + /// <summary> + /// 蹇冭烦 + /// </summary> public void Heartbeat() { } + /// <summary> + /// 鍙戦�佷换鍔″懡浠� + /// </summary> + /// <param name="command">浠诲姟鍛戒护</param> + /// <returns></returns> public bool SendCommand<T>(T command) where T : IDataTransfer, new() { if (Communicator is SiemensS7) @@ -202,6 +254,15 @@ } } + /// <summary> + /// 鏍规嵁鍙傛暟鍚嶇О鍐欏叆鍫嗗灈鏈哄搴旂殑鏁版嵁銆� + /// </summary> + /// <typeparam name="TEnum">鍙傛暟鍚嶇О鏋氫妇绫诲瀷銆�</typeparam> + /// <typeparam name="TValue">瑕佸啓鍏ョ殑鏁版嵁绫诲瀷銆�</typeparam> + /// <param name="enum">鍙傛暟鍚嶇О銆�</param> + /// <param name="value">瑕佸啓鍏ョ殑鏁版嵁銆�</param> + /// <returns>杩斿洖鍐欏叆鎴愬姛鎴栧け璐�</returns> + /// <exception cref="Exception"></exception> public bool SetValue<TEnum, TValue>(TEnum @enum, TValue value) where TEnum : Enum where TValue : notnull -- Gitblit v1.9.3