PLC获取变更

This commit is contained in:
quowingwang 2026-01-24 10:29:47 +08:00
parent 5d847999b7
commit ad2f0021e6

View File

@ -300,11 +300,6 @@ namespace RIZO.Admin.WebApi.PLC.Service
if (slot < 0 || slot > 4)
return (false, null, $"PLC槽位号{slot}无效有效值0-4");
// 仅放行指定工位,防止非法请求
var supportedPlcs = new HashSet<string> { "OP070-1", "OP080" };
if (!supportedPlcs.Contains(plcName))
return (false, null, $"仅支持OP070-1/OP080当前工位{plcName}");
Plc plc = null;
bool isConnReused = false;
var poolKey = $"{ip}_{rack}_{slot}_{cpuType}";
@ -361,39 +356,40 @@ namespace RIZO.Admin.WebApi.PLC.Service
return (false, null, $"");
}
//给PLC返回数据
if (iQueryRequest == 1)
{
}
// 5. 多工位专属数据读取(预留扩展,逻辑隔离)
if (plcName == "OP070-1")
if (iSaveRequest == 1)
{
if (iSaveRequest == 1)
// 5. 多工位专属数据读取(预留扩展,逻辑隔离)
if (plcName == "OP070-1" || plcName == "OP070-2" || plcName == "OP070-3" || plcName == "OP075")
{
prodData = await ReadOP070_1DataAsync(plc, ip, plcName);
}
}
else if (plcName == "OP080")
{
//prodData = await ReadOP080DataAsync(plc, ip);
}
else if (plcName == "OP080")
{
//prodData = await ReadOP080DataAsync(plc, ip);
}
// 6. 统一空值兜底(避免空引用)
if (prodData != null)
{
prodData.QualificationFlag ??= "0";
prodData.ReworkFlag ??= "0";
prodData.ProductionCycle ??= 0;
// 6. 统一空值兜底(避免空引用)
if (prodData != null)
{
prodData.QualificationFlag ??= "0";
prodData.ReworkFlag ??= "0";
prodData.ProductionCycle ??= 0;
// 7. 异步保存数据日志补充PLC名称便于定位
_ = Task.Run(() => _plcProductionDataService.AddPlcProductionData(prodData))
.ContinueWith(t =>
{
if (t.IsFaulted)
// 7. 异步保存数据日志补充PLC名称便于定位
_ = Task.Run(() => _plcProductionDataService.AddPlcProductionData(prodData))
.ContinueWith(t =>
{
Console.WriteLine($"{plcName}({ip})数据保存失败:{t.Exception?.InnerException?.Message}");
}
});
if (t.IsFaulted)
{
Console.WriteLine($"{plcName}({ip})数据保存失败:{t.Exception?.InnerException?.Message}");
}
});
}
}
// 8. 个性化返回消息(区分工位和连接类型)