diff --git a/CapMachine.Wpf/Models/ProRunTimeCalc.cs b/CapMachine.Wpf/Models/ProRunTimeCalc.cs
index 36b0a71..1135bfb 100644
--- a/CapMachine.Wpf/Models/ProRunTimeCalc.cs
+++ b/CapMachine.Wpf/Models/ProRunTimeCalc.cs
@@ -33,14 +33,14 @@ namespace CapMachine.Wpf.Models
///
private void ProRunCycleAction(object? sender, ElapsedEventArgs e)
{
+ CycleTimer.Stop();
+
Application.Current.Dispatcher.BeginInvoke(new Action(() =>
{
CalcTime();
}));
- //CycleTimer.Stop();
-
- //CycleTimer.Start();
+ CycleTimer.Start();
}
///
@@ -49,15 +49,15 @@ namespace CapMachine.Wpf.Models
private void CalcTime()
{
ProEndDt = DateTime.Now;
-
- ProRunTimeStr = ConvertSecToDHMS((int)((ProEndDt - ProStartDt).TotalSeconds - PauseTotalSecTime));
+
+ ProRunTimeStr = ConvertSecToDHMS((int)Math.Round((ProEndDt - ProStartDt).TotalSeconds - PauseTotalSecTime));
}
private string ConvertSecToDHMS(int totalSeconds)
{
// 驗證非負(可根據需求調整)
if (totalSeconds < 0)
- return "00:00:00:00";
+ return "00天:00时:00分:00秒";
int days = totalSeconds / 86400; // 1天 = 86400秒
int remainingSeconds = totalSeconds % 86400;
@@ -79,6 +79,8 @@ namespace CapMachine.Wpf.Models
{
ProStartDt = DateTime.Now;
CycleTimer.Start();
+ //暂停时间清零,可能是多次开始执行程序,导致PauseTotalSecTime残留到下一个程序计时中
+ PauseTotalSecTime = 0;
}
///
@@ -104,6 +106,8 @@ namespace CapMachine.Wpf.Models
{
CycleTimer.Stop();
CalcTime();
+ //暂停时间清零,可能是多次开始执行程序,导致PauseTotalSecTime残留到下一个程序计时中
+ PauseTotalSecTime = 0;
}
///
diff --git a/CapMachine.Wpf/Services/ProRuntimeService.cs b/CapMachine.Wpf/Services/ProRuntimeService.cs
index feff63b..ff13549 100644
--- a/CapMachine.Wpf/Services/ProRuntimeService.cs
+++ b/CapMachine.Wpf/Services/ProRuntimeService.cs
@@ -3263,7 +3263,6 @@ namespace CapMachine.Wpf.Services
///
public void StartProRun()
{
-
//开始计时
ProRunTimeCalcModel.StartProRunTime();
@@ -3320,6 +3319,8 @@ namespace CapMachine.Wpf.Services
ProRunTaskScanTimeEnable = false;
ProRunTimeScanTokenSource.Cancel();
+ LogService.Info($"【时间】: {DateTime.Now.ToString()} - 程序执行暂停");
+
//斜坡打点暂定
foreach (var itemProExModel in ListProExModel)
{
@@ -3332,12 +3333,15 @@ namespace CapMachine.Wpf.Services
///
public void ContinueProRun()
{
+ ProRunTimeCalcModel.ContinueProRunTime();
+
PauseEndDt = DateTime.Now;
//统计的暂停的时间
var PauseTime = (PauseEndDt - PauseStartDt).TotalSeconds;
- ProRunTimeCalcModel.PauseTotalSecTime = ProRunTimeCalcModel.PauseTotalSecTime + (int)PauseTime;
- ProRunTimeCalcModel.ContinueProRunTime();
+ ProRunTimeCalcModel.PauseTotalSecTime = ProRunTimeCalcModel.PauseTotalSecTime + (int)Math.Round(PauseTime);
+
+ LogService.Info($"【时间】: {DateTime.Now.ToString()} - 程序执行继续");
//斜坡打点暂定
foreach (var itemProExModel in ListProExModel)