更改了CAN和LIN的标志着色问题

保存图片触发两次
CANLIN的一些数据回读到PLC
This commit is contained in:
2025-01-12 15:32:02 +08:00
parent e49a48fb25
commit 914a8b3dbc
15 changed files with 333 additions and 46 deletions

View File

@@ -68,6 +68,12 @@ namespace CapMachine.Wpf.Services
/// </summary>
public int ChartRtDataCacheTimeSec { get; set; } = 3600_8;
/// <summary>
/// 曲线保存临时状态
/// 曲线照片保存会执行两次,这个是屏蔽的状态
/// </summary>
public bool ChartSavePageTempState { get; set; } = false;
/// <summary>
/// CAN和LIN的运行状态模型
/// </summary>

View File

@@ -1154,7 +1154,96 @@ namespace CapMachine.Wpf.Services
default:
break;
}
}
else if(itemTag.Value.NameNoUnit == "通讯母线电压")
{
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
{
case CanLinEnum.Can:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)CanDriveService.GetDbcSpeedValueBySpeedName("通讯母线电压"));
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)LinDriveService.GetLdfSpeedValueBySpeedName("通讯母线电压"));
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
}
}
else if (itemTag.Value.NameNoUnit == "通讯母线电流")
{
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
{
case CanLinEnum.Can:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)CanDriveService.GetDbcSpeedValueBySpeedName("通讯母线电流"));
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)LinDriveService.GetLdfSpeedValueBySpeedName("通讯母线电流"));
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
}
}
else if (itemTag.Value.NameNoUnit == "通讯相电流")
{
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
{
case CanLinEnum.Can:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)CanDriveService.GetDbcSpeedValueBySpeedName("通讯相电流"));
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)LinDriveService.GetLdfSpeedValueBySpeedName("通讯相电流"));
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
}
}
else if (itemTag.Value.NameNoUnit == "通讯功率")
{
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
{
case CanLinEnum.Can:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)CanDriveService.GetDbcSpeedValueBySpeedName("通讯功率"));
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)LinDriveService.GetLdfSpeedValueBySpeedName("通讯功率"));
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
}
}
else if (itemTag.Value.NameNoUnit == "通讯芯片温度")
{
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
{
case CanLinEnum.Can:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)CanDriveService.GetDbcSpeedValueBySpeedName("通讯芯片温度"));
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//通信转速 Dbc中间配置名称的转速数据读取出来 给PLC
SiemensDrive.Write(itemTag.Value.PVAddress, (short)LinDriveService.GetLdfSpeedValueBySpeedName("通讯芯片温度"));
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
}
}
OperateResultShort = SiemensDrive.ReadInt16(itemTag.Value.PVAddress);
@@ -1285,7 +1374,7 @@ namespace CapMachine.Wpf.Services
}
DiagnosticsTime.Stop();
ConfigService.PlcCycleTime = (int)DiagnosticsTime.Elapsed.TotalMilliseconds;
ConfigService.PlcCycleTime = (int)DiagnosticsTime.Elapsed.TotalMilliseconds-300;
//Console.WriteLine($"扫描时间:{DiagnosticsTime.Elapsed.TotalMilliseconds.ToString()}");
}
});