|
@@ -31,6 +31,9 @@ namespace ivf_tl_Com
|
|
|
|
|
|
|
|
private List<string> errorlist = new List<string>();
|
|
private List<string> errorlist = new List<string>();
|
|
|
|
|
|
|
|
|
|
+ /// <summary>结构化坏舱清单(与 errorlist 并存,errorlist 仅日志兼容)。</summary>
|
|
|
|
|
+ public List<HouseFault> Faults { get; } = new List<HouseFault>();
|
|
|
|
|
+
|
|
|
public int TLNum = -1;
|
|
public int TLNum = -1;
|
|
|
|
|
|
|
|
public int dayLighting = -1;
|
|
public int dayLighting = -1;
|
|
@@ -119,6 +122,14 @@ namespace ivf_tl_Com
|
|
|
if (CCDidSn.ContainsValue(SnNumber))
|
|
if (CCDidSn.ContainsValue(SnNumber))
|
|
|
{
|
|
{
|
|
|
errorlist.Add($"ccdid:{i};ccdsn:{SnNumber}");
|
|
errorlist.Add($"ccdid:{i};ccdsn:{SnNumber}");
|
|
|
|
|
+ Faults.Add(new HouseFault
|
|
|
|
|
+ {
|
|
|
|
|
+ HouseSn = -1,
|
|
|
|
|
+ Type = HouseFaultType.CameraDuplicateSn,
|
|
|
|
|
+ Reason = $"相机SN重复 ccdid:{i};ccdsn:{SnNumber}",
|
|
|
|
|
+ Stage = "相机枚举",
|
|
|
|
|
+ At = DateTime.UtcNow
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
@@ -133,6 +144,14 @@ namespace ivf_tl_Com
|
|
|
lock (lockObject)
|
|
lock (lockObject)
|
|
|
{
|
|
{
|
|
|
errorlist.Add($"获取{i}号相机ccdSn异常");
|
|
errorlist.Add($"获取{i}号相机ccdSn异常");
|
|
|
|
|
+ Faults.Add(new HouseFault
|
|
|
|
|
+ {
|
|
|
|
|
+ HouseSn = -1,
|
|
|
|
|
+ Type = HouseFaultType.CameraReadFailed,
|
|
|
|
|
+ Reason = $"获取{i}号相机ccdSn异常",
|
|
|
|
|
+ Stage = "相机枚举",
|
|
|
|
|
+ At = DateTime.UtcNow
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -210,6 +229,15 @@ namespace ivf_tl_Com
|
|
|
if (itemModel != null)
|
|
if (itemModel != null)
|
|
|
{
|
|
{
|
|
|
errorlist.Add($"从{serialModel.housePort}串口获取到的模块号{serialModel.houseSn}和{itemModel.housePort}串口获取到的模块号{itemModel.houseSn}重复");
|
|
errorlist.Add($"从{serialModel.housePort}串口获取到的模块号{serialModel.houseSn}和{itemModel.housePort}串口获取到的模块号{itemModel.houseSn}重复");
|
|
|
|
|
+ Faults.Add(new HouseFault
|
|
|
|
|
+ {
|
|
|
|
|
+ HouseSn = serialModel.houseSn,
|
|
|
|
|
+ Port = serialModel.housePort,
|
|
|
|
|
+ Type = HouseFaultType.HouseSnDuplicate,
|
|
|
|
|
+ Reason = $"模块号{serialModel.houseSn}在{serialModel.housePort}与{itemModel.housePort}重复",
|
|
|
|
|
+ Stage = "扫口握手",
|
|
|
|
|
+ At = DateTime.UtcNow
|
|
|
|
|
+ });
|
|
|
goto CC;
|
|
goto CC;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -250,6 +278,15 @@ namespace ivf_tl_Com
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
errorlist.Add($"相机列表中不存在仓室的CCDSN{currentCCDSN}");
|
|
errorlist.Add($"相机列表中不存在仓室的CCDSN{currentCCDSN}");
|
|
|
|
|
+ Faults.Add(new HouseFault
|
|
|
|
|
+ {
|
|
|
|
|
+ HouseSn = serialModel.houseSn,
|
|
|
|
|
+ Port = serialModel.housePort,
|
|
|
|
|
+ Type = HouseFaultType.CcdSnMissing,
|
|
|
|
|
+ Reason = $"相机列表中不存在仓室的CCDSN{currentCCDSN}",
|
|
|
|
|
+ Stage = "扫口握手",
|
|
|
|
|
+ At = DateTime.UtcNow
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
serialModel.ccdSn = currentCCDSN;
|
|
serialModel.ccdSn = currentCCDSN;
|
|
@@ -258,6 +295,15 @@ namespace ivf_tl_Com
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
errorlist.Add($"从{serialModel.houseSn}号模块的{serialModel.housePort}串口获取到的{currentCCDSN}和{itemModel.ccdSn}模块{itemModel.housePort}串口的{itemModel.ccdSn}重复");
|
|
errorlist.Add($"从{serialModel.houseSn}号模块的{serialModel.housePort}串口获取到的{currentCCDSN}和{itemModel.ccdSn}模块{itemModel.housePort}串口的{itemModel.ccdSn}重复");
|
|
|
|
|
+ Faults.Add(new HouseFault
|
|
|
|
|
+ {
|
|
|
|
|
+ HouseSn = serialModel.houseSn,
|
|
|
|
|
+ Port = serialModel.housePort,
|
|
|
|
|
+ Type = HouseFaultType.CcdSnDuplicate,
|
|
|
|
|
+ Reason = $"舱{serialModel.houseSn}的CCDSN{currentCCDSN}与{itemModel.housePort}重复",
|
|
|
|
|
+ Stage = "扫口握手",
|
|
|
|
|
+ At = DateTime.UtcNow
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -316,6 +362,15 @@ namespace ivf_tl_Com
|
|
|
lock (lockObject)
|
|
lock (lockObject)
|
|
|
{
|
|
{
|
|
|
errorlist.Add($"获取端口信息异常{portName}:{ex.Message}");
|
|
errorlist.Add($"获取端口信息异常{portName}:{ex.Message}");
|
|
|
|
|
+ Faults.Add(new HouseFault
|
|
|
|
|
+ {
|
|
|
|
|
+ HouseSn = -1,
|
|
|
|
|
+ Port = portName,
|
|
|
|
|
+ Type = HouseFaultType.SerialReadException,
|
|
|
|
|
+ Reason = $"获取端口信息异常{portName}:{ex.Message}",
|
|
|
|
|
+ Stage = "扫口握手",
|
|
|
|
|
+ At = DateTime.UtcNow
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|