From 9211ec11c112e18cd99e77f889a01110a70031ce Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 24 十一月 2025 17:47:15 +0800
Subject: [PATCH] 优化项目结构
---
HMI.UnitTest/MainWindow.xaml.cs | 170 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 139 insertions(+), 31 deletions(-)
diff --git a/HMI.UnitTest/MainWindow.xaml.cs b/HMI.UnitTest/MainWindow.xaml.cs
index a267a28..2c18c54 100644
--- a/HMI.UnitTest/MainWindow.xaml.cs
+++ b/HMI.UnitTest/MainWindow.xaml.cs
@@ -3,15 +3,16 @@
using HMI.Core.Util;
using HMI.Simple.Util;
using log4net;
+using ModBusTcp;
using Panuon.WPF.UI;
using Plugin.DataBoard;
using Plugin.TestResult_WPF;
using Plugin.TsExecution;
using System;
+using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
-
namespace UnitTest
{
/// <summary>
@@ -25,6 +26,25 @@
ProductModelHelper.GetModelBySNR("cc123", out string model, out string msg);
LangUtil.Load();
InitializeComponent();
+ //RebuildDb();
+
+ ModBusTcpController controller = new ModBusTcpController("127.0.0.1", 502);
+ if (controller.Start(out msg)) {
+ bool res;
+ int? target;
+
+ controller.WriteBool("1", true, out msg);
+ controller.ReadDOBool("1", out res, out msg);
+ Console.WriteLine(res);
+ controller.ReadDOInt("1", out target, out msg);
+ Console.WriteLine(target);
+ controller.WriteInt("1", 1, out msg);
+ controller.ReadDOInt("1", out target, out msg);
+ Console.WriteLine(target);
+ Console.WriteLine(target);
+ }
+
+
//page.Children.Add(new UserControl1());
}
@@ -32,40 +52,128 @@
PipeClient2 client;
+ public string Conv(object obj)
+ {
+ if (obj == null || obj is DBNull)
+ {
+ return "NULL";
+ }
+ if (obj is DateTime dt)
+ {
+ return $"'{dt.ToString("yyyy-MM-dd HH:mm:ss")}'";
+ }
+ return $"'{obj.ToString()}'";
+ }
+
+
+ public void RebuildDb()
+ {
+ string folder = "C:\\Workspace\\VisualStudio\\WPFProject\\WPFProject\\bin\\x64\\Debug\\Config\\DataBoard";
+ var startDate = DateTime.Parse("2025-10-01");
+ var endDate = startDate.AddDays(1);
+ SqliteHelper sourceHelper = new SqliteHelper("C:\\Workspace\\VisualStudio\\WPFProject\\WPFProject\\bin\\x64\\Debug\\Config\\DataBoard\\DataLog.db");
+
+ while (endDate < DateTime.Parse("2025-10-12"))
+ {
+ string targetFile = Path.Combine(folder, $"Data_{startDate.ToString("yyyyMMdd")}.db");
+ SqliteHelper targetHelper = null;
+ if (!File.Exists(targetFile))
+ {
+ SqliteHelper.CreateDatabase(targetFile);
+ targetHelper = new SqliteHelper(targetFile);
+ targetHelper.ExecuteSql(@"CREATE TABLE IF NOT EXISTS serialData (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ sn TEXT NOT NULL,
+ model TEXT,
+ station TEXT NOT NULL,
+ step TEXT NOT NULL,
+ position TEXT,
+ limitDown TEXT,
+ limitUp TEXT,
+ unit TEXT,
+ offset TEXT,
+ value TEXT,
+ status TEXT,
+ finalStatus TEXT,
+ consumeTime TEXT,
+ totalConsumeTime TEXT,
+ time DATETIME NOT NULL);");
+ targetHelper.ExecuteSql(@"CREATE TABLE IF NOT EXISTS testResult (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ sn TEXT NOT NULL,
+ model TEXT,
+ station TEXT NOT NULL,
+ position TEXT,
+ status TEXT,
+ result TEXT NOT NULL,
+ time DATETIME NOT NULL);");
+
+ string sql = $@"SELECT sn,model,station,step,position,limitDown,limitUp,unit,offset,value,status,
+finalStatus,consumeTime,totalConsumeTime,time
+FROM serialData WHERE time>='{startDate.ToString("yyyy-MM-dd")}' AND time < '{endDate.ToString("yyyy-MM-dd")}';";
+
+ var dt = sourceHelper.GetDataTable(sql);
+ foreach (System.Data.DataRow dr in dt.Rows)
+ {
+ targetHelper.ExecuteSql($@"INSERT INTO serialData
+(sn,model,station,step,position,limitDown,limitUp,unit,offset,value,status,finalStatus,consumeTime,totalConsumeTime,time) VALUES
+({Conv(dr["sn"])}, {Conv(dr["model"])}, {Conv(dr["station"])}, {Conv(dr["step"])}, {Conv(dr["position"])}, {Conv(dr["limitDown"])}, {Conv(dr["limitUP"])},
+{Conv(dr["unit"])}, {Conv(dr["offset"])}, {Conv(dr["value"])}, {Conv(dr["status"])}, {Conv(dr["finalStatus"])}, {Conv(dr["consumeTime"])},
+{Conv(dr["totalConsumeTime"])}, {Conv(dr["time"])})");
+ }
+ sql = $@"SELECT sn,model,station,position,status,result,time FROM testResult WHERE time>='{startDate.ToString("yyyy-MM-dd")}'
+AND time < '{endDate.ToString("yyyy-MM-dd")}';";
+
+ dt = sourceHelper.GetDataTable(sql);
+ foreach (System.Data.DataRow dr in dt.Rows)
+ {
+ targetHelper.ExecuteSql($@"INSERT INTO testResult
+(sn,model,station,position,status,result,time) VALUES
+({Conv(dr["sn"])}, {Conv(dr["model"])}, {Conv(dr["station"])}, {Conv(dr["position"])}, {Conv(dr["status"])}, {Conv(dr["result"])}, {Conv(dr["time"])})");
+ }
+
+ targetHelper.Dispose();
+ startDate = startDate.AddDays(1);
+ endDate = endDate.AddDays(1);
+ }
+ }
+ sourceHelper.Dispose();
+ }
+
private void Button_Click(object sender, RoutedEventArgs e)
{
- Task.Run(() =>
- {
- for (int j = 0; j < 1000; j++)
- {
- string status = (j % 2 == 0) ? "Passed" : "Failed";
- string d = (j % 2 == 0) ? "9" : "9999999999999999999999999999999999999999999999999999999999999999995";
- tsExecution.AddTestData(0, $"ConnectivityCANRec,2,3,4,{d},6,{status}");
- Thread.Sleep(5);
- }
- });
+ //Task.Run(() =>
+ //{
+ // for (int j = 0; j < 1000; j++)
+ // {
+ // string status = (j % 2 == 0) ? "Passed" : "Failed";
+ // string d = (j % 2 == 0) ? "9" : "9999999999999999999999999999999999999999999999999999999999999999995";
+ // tsExecution.AddTestData(0, $"ConnectivityCANRec,2,3,4,{d},6,{status}");
+ // Thread.Sleep(5);
+ // }
+ //});
- Task.Run(() =>
- {
- for (int j = 0; j < 1000; j++)
- {
- string status = (j % 2 == 0) ? "Passed" : "Failed";
- string d = (j % 2 == 0) ? "9" : "9999999999999999999999999999999999999999999999999999999999999999995";
- tsExecution.AddTestData(1, $"ConnectivityCANRec,2,3,4,{d},6,{status}");
- Thread.Sleep(5);
- }
- });
+ //Task.Run(() =>
+ //{
+ // for (int j = 0; j < 1000; j++)
+ // {
+ // string status = (j % 2 == 0) ? "Passed" : "Failed";
+ // string d = (j % 2 == 0) ? "9" : "9999999999999999999999999999999999999999999999999999999999999999995";
+ // tsExecution.AddTestData(1, $"ConnectivityCANRec,2,3,4,{d},6,{status}");
+ // Thread.Sleep(5);
+ // }
+ //});
- Task.Run(() =>
- {
- for (int j = 0; j < 1000; j++)
- {
- string status = (j % 2 == 0) ? "Passed" : "Failed";
- string d = (j % 2 == 0) ? "9" : "9999999999999999999999999999999999999999999999999999999999999999995";
- tsExecution.AddTestData(2, $"ConnectivityCANRec,2,3,4,{d},6,{status}");
- Thread.Sleep(5);
- }
- });
+ //Task.Run(() =>
+ //{
+ // for (int j = 0; j < 1000; j++)
+ // {
+ // string status = (j % 2 == 0) ? "Passed" : "Failed";
+ // string d = (j % 2 == 0) ? "9" : "9999999999999999999999999999999999999999999999999999999999999999995";
+ // tsExecution.AddTestData(2, $"ConnectivityCANRec,2,3,4,{d},6,{status}");
+ // Thread.Sleep(5);
+ // }
+ //});
//Task.Run(() =>
//{
--
Gitblit v1.9.1