This commit is contained in:
2026-05-14 15:23:03 +08:00
parent 196df6b181
commit 0fb230079b
2 changed files with 73 additions and 102 deletions

View File

@@ -102,6 +102,7 @@ namespace CapMachine.Wpf.Services
/// 在程序配置好后就确定要发送哪些数据
/// </summary>
public List<CanCmdData> CmdData { get; set; } = new List<CanCmdData>();
private readonly object _cmdDataLock = new object();
/// <summary>
/// 增加发送的指令数据
@@ -128,7 +129,10 @@ namespace CapMachine.Wpf.Services
break;
}
//添加到发送数据集合
CmdData.Add(SendCanCmdData);
lock (_cmdDataLock)
{
CmdData.Add(SendCanCmdData);
}
}
@@ -141,7 +145,10 @@ namespace CapMachine.Wpf.Services
{
if (SpeedCanCmdData != null)
{
SpeedCanCmdData.SignalCmdValue = SpeedData;
lock (_cmdDataLock)
{
SpeedCanCmdData.SignalCmdValue = SpeedData;
}
}
//if (EnableCanCmdData != null)
//{
@@ -157,7 +164,10 @@ namespace CapMachine.Wpf.Services
{
if (EnableCanCmdData != null)
{
EnableCanCmdData.SignalCmdValue = IsEnable ? 1 : 0;
lock (_cmdDataLock)
{
EnableCanCmdData.SignalCmdValue = IsEnable ? 1 : 0;
}
}
}
@@ -174,7 +184,18 @@ namespace CapMachine.Wpf.Services
//更新速度信息
UpdateSpeedCmdData(SpeedData);
ToomossCanDrive.SendCanMsg(CmdData);
List<CanCmdData> cmdDataSnapshot;
lock (_cmdDataLock)
{
cmdDataSnapshot = CmdData.Select(x => new CanCmdData
{
ConfigName = x.ConfigName,
MsgName = x.MsgName,
SignalName = x.SignalName,
SignalCmdValue = x.SignalCmdValue
}).ToList();
}
ToomossCanDrive.SendCanMsg(cmdDataSnapshot);
}
else
{