数据下发小更改

This commit is contained in:
2025-04-15 21:42:57 +08:00
parent 43e0ff62e7
commit cf627cf650
4 changed files with 41 additions and 15 deletions

View File

@@ -155,8 +155,6 @@ namespace CapMachine.Wpf.Models.ProModelPars
//RunEnable = false; //RunEnable = false;
//时间到了触发下载下一步步骤 //时间到了触发下载下一步步骤
//不为空的数据 //不为空的数据
if (NextProStepExe == null) if (NextProStepExe == null)
{ {
@@ -225,14 +223,30 @@ namespace CapMachine.Wpf.Models.ProModelPars
//组装斜坡数据,按照秒为间隔发送 //组装斜坡数据,按照秒为间隔发送
for (var i = 1; i <= NextProStepExe.KeepTime; i++) for (var i = 1; i <= NextProStepExe.KeepTime; i++)
{ {
var SlopExStep = new SlopExStep()
if (i == NextProStepExe.KeepTime)
{ {
StepNo = i, //最后一个打点步骤数据数据防止上面的相除得到误差故在最后一个打点数据用NextProStepExe.EndSV这样就确保了最后一个打点数据就是EndSV
SV = NextProStepExe.StartSV + (int)(SecStepValue * i), var SlopExStep = new SlopExStep()
IsHasEx = false, {
}; StepNo = i,
ListSlopExStep.Add(SlopExStep); SV = NextProStepExe.EndSV,
IsHasEx = false,
};
ListSlopExStep.Add(SlopExStep);
}
else//非最后一个数据,正常累加
{
var SlopExStep = new SlopExStep()
{
StepNo = i,
SV = NextProStepExe.StartSV + (int)(SecStepValue * i),
IsHasEx = false,
};
ListSlopExStep.Add(SlopExStep);
}
} }
//需要发送一次StartSV数据吗 //需要发送一次StartSV数据吗
//组装完成开始循环打点 //组装完成开始循环打点
@@ -373,7 +387,7 @@ namespace CapMachine.Wpf.Models.ProModelPars
} }
else else
{ {
return RunStepType.Step; return RunStepType.No;
} }
} }

View File

@@ -58,6 +58,11 @@ namespace CapMachine.Wpf.Models.ProModelPars
/// 带斜率的数据打点执行只传送SV值 /// 带斜率的数据打点执行只传送SV值
/// 比如速度0-5000 5秒此时执行第一秒1000第二秒2000第三秒3000第四秒4000第五秒5000 /// 比如速度0-5000 5秒此时执行第一秒1000第二秒2000第三秒3000第四秒4000第五秒5000
/// </summary> /// </summary>
SlopCell = 10 SlopCell = 10,
/// <summary>
/// 不需要发送任何数据
/// </summary>
No = 100
} }
} }

View File

@@ -2949,7 +2949,7 @@ namespace CapMachine.Wpf.Services
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down); var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败"); if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
} }
} }
break; break;
case RunStepType.StepSV: case RunStepType.StepSV:
@@ -2986,7 +2986,7 @@ namespace CapMachine.Wpf.Services
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down); var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败"); if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
} }
} }
break; break;
case RunStepType.Pid: case RunStepType.Pid:
@@ -3002,7 +3002,7 @@ namespace CapMachine.Wpf.Services
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D); var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败"); if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
} }
} }
break; break;
case RunStepType.Limit: case RunStepType.Limit:
@@ -3016,7 +3016,7 @@ namespace CapMachine.Wpf.Services
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down); var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败"); if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
} }
} }
break; break;
case RunStepType.SlopCell: case RunStepType.SlopCell:
@@ -3028,6 +3028,12 @@ namespace CapMachine.Wpf.Services
//速度SV到压缩机 //速度SV到压缩机
SendSpeedSvToCap(ProRunChannelData.SV); SendSpeedSvToCap(ProRunChannelData.SV);
}
break;
case RunStepType.No:
{
//没有任何动作
} }
break; break;
default: default:

View File

@@ -3150,7 +3150,8 @@ namespace CapMachine.Wpf.Services
var Data = ListPlcLoadConfigCell.Where(a => a.Name.Contains(Name)); var Data = ListPlcLoadConfigCell.Where(a => a.Name.Contains(Name));
if (Data.Any()) if (Data.Any())
{ {
return (int)(SV * (Data.FirstOrDefault()!.Precision)); return (int)Math.Round(SV * (Data.FirstOrDefault()!.Precision));
//return (int)(SV * (Data.FirstOrDefault()!.Precision));
} }
else else
{ {