From 28bfb5dc1e3c0ce432e93e7af5a1c78a1a09e061 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 15 十月 2025 15:45:57 +0800
Subject: [PATCH] 更新 ResponeAgingInputDto 属性类型及数据库文件
---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs | 41 +++++++++++++++++++++++++++++++++--------
1 files changed, 33 insertions(+), 8 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
index f67ac7c..e40fb0c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
@@ -174,7 +174,7 @@
/// <returns>璇诲彇鍒扮殑鏁版嵁</returns>
public TRsult GetValue<TEnum, TRsult>(TEnum value, string deviceChildCode) where TEnum : Enum
{
- if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+ if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�� {DeviceName} 銆�");
DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString() && x.DeviceChildCode == deviceChildCode);
return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType);
}
@@ -197,7 +197,7 @@
/// <exception cref="Exception"></exception>
public bool SendCommand<T>(T command, string deviceChildCode) where T : IDataTransfer, new()
{
- if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+ if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�恵DeviceName}銆�");
DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
if (devicePro == null)
{
@@ -219,12 +219,12 @@
/// <exception cref="Exception"></exception>
public T ReadCustomer<T>(string deviceChildCode) where T : IDataTransfer, new()
{
- if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+ if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�恵DeviceName}銆�");
DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == "ReadDeviceCommand" && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
if (devicePro == null)
{
- throw new Exception("鏈壘鍒板崗璁俊鎭�");
+ throw new Exception("鏈壘鍒板崗璁俊鎭�:" + deviceChildCode);
}
else
{
@@ -242,12 +242,12 @@
/// <exception cref="Exception"></exception>
public T ReadCustomer<T>(string deviceChildCode, string deviceProParamType) where T : IDataTransfer, new()
{
- if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+ if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�恵DeviceName}銆�");
DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == deviceProParamType && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
if (devicePro == null)
{
- throw new Exception("鏈壘鍒板崗璁俊鎭�");
+ throw new Exception("鏈壘鍒板崗璁俊鎭�:" + deviceChildCode);
}
else
{
@@ -268,13 +268,13 @@
where TEnum : Enum
where TValue : notnull
{
- if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+ if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�� {DeviceName} 銆�");
DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString() && x.DeviceChildCode == deviceChildCode);
return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value);
}
/// <summary>
- ///
+ /// 妫�娴嬬珯鍙版槸鍚︽湁璐�
/// </summary>
/// <param name="deviceChildCode"></param>
/// <returns></returns>
@@ -306,6 +306,31 @@
return false;
}
+ /// <summary>
+ /// 妫�娴嬬珯鍙版槸鍚︽湁璐�
+ /// </summary>
+ /// <param name="deviceChildCode"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public bool IsOccupiedx(string deviceChildCode)
+ {
+ if (Communicator.IsConnected)
+ {
+ var device = _deviceProDTOs.Where(x => x.DeviceChildCode == deviceChildCode && x.DeviceProParamName == "InteractiveSignal").FirstOrDefault();
+
+ object readStatus = Communicator.ReadAsObj(device.DeviceProAddress, device.DeviceDataType);
+
+ //todo 鍗忚鏄庣粏淇℃伅鏈幏鍙栧埌鏃舵姏鍑哄紓甯�
+ if (readStatus.ToString() != "2")
+ {
+ return true;
+ }
+ return false;
+ }
+ //todo 閫氳鏈繛鎺ユ椂鎶涘嚭寮傚父
+ return false;
+ }
+
public void Dispose()
{
_heartStatr = false;
--
Gitblit v1.9.3