From 7b903bb86375e9df24a725288d1c876b8d2b0e61 Mon Sep 17 00:00:00 2001
From: chr <chr@mailcom>
Date: 星期一, 03 三月 2025 19:47:49 +0800
Subject: [PATCH] 整合TestResult;
---
HMI.ParameterManage/HMI.ParameterManage.csproj | 1
Plugin.TestResult/ViewControl.xaml.cs | 55 ++++-------------
HMI.ParameterManage/ParameterManage.xaml.cs | 2
Plugin.TestResult/packages.config | 3 +
HMI.ParameterManage/Util/ParameterManager.cs | 24 ++++++++
WPFProject/WPFProject.sln | 10 ---
Plugin.TestResult/ViewControl.xaml | 10 ++
Plugin.TestResult/Plugin.TestResult.csproj | 29 +++++++++
8 files changed, 79 insertions(+), 55 deletions(-)
diff --git a/HMI.ParameterManage/HMI.ParameterManage.csproj b/HMI.ParameterManage/HMI.ParameterManage.csproj
index f854a4d..0a42ad0 100644
--- a/HMI.ParameterManage/HMI.ParameterManage.csproj
+++ b/HMI.ParameterManage/HMI.ParameterManage.csproj
@@ -82,6 +82,7 @@
<DependentUpon>ProductModal.xaml</DependentUpon>
</Compile>
<Compile Include="Model\XmlModel.cs" />
+ <Compile Include="Util\ParameterManager.cs" />
<Page Include="ParameterManage.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
diff --git a/HMI.ParameterManage/ParameterManage.xaml.cs b/HMI.ParameterManage/ParameterManage.xaml.cs
index 8da173a..35adb6d 100644
--- a/HMI.ParameterManage/ParameterManage.xaml.cs
+++ b/HMI.ParameterManage/ParameterManage.xaml.cs
@@ -16,6 +16,7 @@
/// </summary>
public partial class ParameterManage : PluginControl
{
+ public static string FileFolder { get; private set; }
private XmlModel Model;
public ParameterManage()
@@ -26,6 +27,7 @@
public override void InitFinish()
{
Model = new XmlModel(BaseFolder);
+ FileFolder = BaseFolder;
DataContext = Model;
}
diff --git a/HMI.ParameterManage/Util/ParameterManager.cs b/HMI.ParameterManage/Util/ParameterManager.cs
new file mode 100644
index 0000000..ba73acf
--- /dev/null
+++ b/HMI.ParameterManage/Util/ParameterManager.cs
@@ -0,0 +1,24 @@
+锘縰sing HMI.Core.Util;
+using HMI.ParameterManage.Entity;
+using System.Collections.Generic;
+using System.IO;
+
+namespace HMI.ParameterManage.Util
+{
+ public class ParameterManager
+ {
+ public static List<ProductData> GetProducts()
+ {
+ string path = Path.Combine(ParameterManage.FileFolder, "Product.setting");
+ List<ProductData> datas = XmlHelper.DeserializeFromXml<List<ProductData>>(path);
+ return datas;
+ }
+
+ public static List<ParameterData> GetParametersByProductName(string productName)
+ {
+ string path = Path.Combine(ParameterManage.FileFolder, "Parameter", $"Parameter_{productName}.setting");
+ List<ParameterData> datas = XmlHelper.DeserializeFromXml<List<ParameterData>>(path);
+ return datas;
+ }
+ }
+}
diff --git a/Plugin.TestResult/Plugin.TestResult.csproj b/Plugin.TestResult/Plugin.TestResult.csproj
index d66425d..ed05612 100644
--- a/Plugin.TestResult/Plugin.TestResult.csproj
+++ b/Plugin.TestResult/Plugin.TestResult.csproj
@@ -61,6 +61,9 @@
<Reference Include="HarfBuzzSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
<HintPath>..\WPFProject\packages\HarfBuzzSharp.7.3.0.3\lib\net462\HarfBuzzSharp.dll</HintPath>
</Reference>
+ <Reference Include="log4net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
+ <HintPath>..\WPFProject\packages\log4net.3.0.3\lib\net462\log4net.dll</HintPath>
+ </Reference>
<Reference Include="NationalInstruments.TestStand.Interop.AdapterAPI, Version=20.0.0.49158, Culture=neutral, PublicKeyToken=ad9244eb3b825cd8, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>True</EmbedInteropTypes>
@@ -96,8 +99,11 @@
<Reference Include="OpenTK, Version=3.3.1.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
<HintPath>..\WPFProject\packages\OpenTK.3.3.1\lib\net20\OpenTK.dll</HintPath>
</Reference>
- <Reference Include="ParameterHelper">
- <HintPath>..\Libs\ParameterHelper.dll</HintPath>
+ <Reference Include="Panuon.WPF, Version=1.1.2.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\WPFProject\packages\Panuon.WPF.1.1.2.2\lib\net472\Panuon.WPF.dll</HintPath>
+ </Reference>
+ <Reference Include="Panuon.WPF.UI, Version=1.2.4.8, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\WPFProject\packages\Panuon.WPF.UI.1.2.4.9\lib\net472\Panuon.WPF.UI.dll</HintPath>
</Reference>
<Reference Include="ScottPlot, Version=5.0.47.0, Culture=neutral, PublicKeyToken=86698dc10387c39e, processorArchitecture=MSIL">
<HintPath>..\WPFProject\packages\ScottPlot.5.0.47\lib\net462\ScottPlot.dll</HintPath>
@@ -153,6 +159,7 @@
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\WPFProject\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
</Reference>
+ <Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
@@ -288,6 +295,24 @@
<ItemGroup>
<Resource Include="Resource\barcode.png" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\HMI.Base\HMI.Base.csproj">
+ <Project>{2a6f9720-a890-4036-9d73-41a0dae28341}</Project>
+ <Name>HMI.Base</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\HMI.Core\HMI.Core.csproj">
+ <Project>{3e3bf44a-0b69-45c5-9512-528cb48a7106}</Project>
+ <Name>HMI.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\HMI.ParameterManage\HMI.ParameterManage.csproj">
+ <Project>{736cd77d-b81e-4866-bb00-84b0b57110f0}</Project>
+ <Name>HMI.ParameterManage</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\HMI.UI\HMI.UI.csproj">
+ <Project>{f17de6b5-af1d-48c6-94a0-6b763a6546a6}</Project>
+ <Name>HMI.UI</Name>
+ </ProjectReference>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\WPFProject\packages\HarfBuzzSharp.NativeAssets.macOS.7.3.0.3\build\net462\HarfBuzzSharp.NativeAssets.macOS.targets" Condition="Exists('..\WPFProject\packages\HarfBuzzSharp.NativeAssets.macOS.7.3.0.3\build\net462\HarfBuzzSharp.NativeAssets.macOS.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
diff --git a/Plugin.TestResult/ViewControl.xaml b/Plugin.TestResult/ViewControl.xaml
index 1d320b9..8ddfc37 100644
--- a/Plugin.TestResult/ViewControl.xaml
+++ b/Plugin.TestResult/ViewControl.xaml
@@ -1,9 +1,15 @@
-锘�<UserControl x:Class="Plugin.TestResult_WPF.ViewControl"
+锘�<hb:PluginControl x:Class="Plugin.TestResult_WPF.ViewControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Plugin.TestResult_WPF"
+ xmlns:hb="clr-namespace:HMI.Base;assembly=HMI.Base"
+ xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
+xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
+xmlns:pw="https://opensource.panuon.com/wpf"
+xmlns:pu="https://opensource.panuon.com/wpf-ui"
+xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
mc:Ignorable="d"
Loaded="UserControl_Loaded"
d:DesignHeight="450" d:DesignWidth="800">
@@ -158,4 +164,4 @@
</GroupBox>
</StackPanel>
</Grid>
-</UserControl>
+</hb:PluginControl>
diff --git a/Plugin.TestResult/ViewControl.xaml.cs b/Plugin.TestResult/ViewControl.xaml.cs
index fc91920..7f06b2a 100644
--- a/Plugin.TestResult/ViewControl.xaml.cs
+++ b/Plugin.TestResult/ViewControl.xaml.cs
@@ -1,7 +1,8 @@
-锘縰sing NationalInstruments.TestStand.Interop.API;
+锘縰sing HMI.Base;
+using HMI.ParameterManage.Entity;
+using HMI.ParameterManage.Util;
+using NationalInstruments.TestStand.Interop.API;
using NationalInstruments.TestStand.Interop.UI.Ax;
-using NationalInstruments.TestStand.Utility;
-using ParameterHelper;
using Plugin.TestResult_WPF.Model;
using Plugin.TestResult_WPF.Util;
using System;
@@ -9,41 +10,17 @@
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
namespace Plugin.TestResult_WPF
{
/// <summary>
/// ViewControl.xaml 鐨勪氦浜掗�昏緫
/// </summary>
- public partial class ViewControl : UserControl, INotifyPropertyChanged
+ public partial class ViewControl : PluginControl
{
- public event PropertyChangedEventHandler PropertyChanged;
- public void RaisePropertyChanged(string name)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
- }
- public void RaiseAndSetIfChanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null)
- {
- old = @new;
- if (propertyName != null)
- {
- RaisePropertyChanged(propertyName);
- }
- }
- private ParameterManager parameterManager;
private CommonCodeParser codeParser = new CommonCodeParser();
private double TestTemperature = 60;
private int TestTime = 3600;
@@ -65,7 +42,7 @@
public bool mesStatus
{
get => _mesStatus;
- set => RaiseAndSetIfChanged(ref _mesStatus, value);
+ set => Set(ref _mesStatus, value);
}
private string _produceStatus = "INIT";
@@ -73,7 +50,7 @@
public string produceStatus
{
get => _produceStatus;
- set => RaiseAndSetIfChanged(ref _produceStatus, value);
+ set => Set(ref _produceStatus, value);
}
@@ -93,7 +70,7 @@
private void axApplicationMgr_ExecutionClosed(object sender, _ApplicationMgrEvents_ExecutionClosedEvent e)
{
-
+
}
private void axApplicationMgr_UIMessageEvent(object sender, _ApplicationMgrEvents_UIMessageEventEvent e)
@@ -143,14 +120,13 @@
public void LoadProduct()
{
- ProductManager prdManager = new ProductManager();
- prdManager.LoadProducts();
+ List<ProductData> products = ParameterManager.GetProducts();
this.modelSelect.Items.Clear();
- foreach (Product prd in prdManager.Products)
+ foreach (var prd in products)
{
this.modelSelect.Items.Add(prd.Name);
}
- if (prdManager.Products.Count > 0)
+ if (products.Count > 0)
{
this.modelSelect.SelectedIndex = 0;
}
@@ -160,10 +136,7 @@
{
try
{
- string ParaFile = @".\Config\ProductionSetting\Parameter\Parameter_" + this.modelSelect.SelectedItem + ".setting";
-
- this.parameterManager = new ParameterManager(ParaFile);
- this.parameterManager.LoadParameters();
+ List<ParameterData> parameters = ParameterManager.GetParametersByProductName(this.modelSelect.SelectedItem.ToString());
//MessageBox.Show("ParaFile:" + ParaFile + "ParaCount:" + this.parameterManager.Parameters.Count.ToString());
//this.TestTemperature = Convert.ToDouble(this.parameterManager.Find("TestTemperature").ParmValue);
//this.TestTime = Convert.ToInt32(this.parameterManager.Find("TestTime").ParmValue);
@@ -171,7 +144,7 @@
//this.SaftyTemperature = Convert.ToDouble(this.parameterManager.Find("SaftyTemperature").ParmValue);
//this.Time_Heating_Low = Convert.ToDouble(this.parameterManager.Find("Time_Heat_Low").ParmValue);
//this.Time_Heating_High = Convert.ToDouble(this.parameterManager.Find("Time_Heat_High").ParmValue);
- testResultView.testSeqFile = this.parameterManager.Find("TestSequence").ParmValue.ToString(); // @"D:\BurnIn\TestDemo.seq"
+ testResultView.testSeqFile = parameters.FirstOrDefault(p => p.Name == "TestSequence")?.Value;
}
@@ -186,7 +159,7 @@
try
{
testResultView.StartTestSequence();
-
+
this.modelSelect.IsEnabled = false;
this.btnStart.IsEnabled = false;
this.btnStop.IsEnabled = true;
diff --git a/Plugin.TestResult/packages.config b/Plugin.TestResult/packages.config
index 6693fcf..5fdea95 100644
--- a/Plugin.TestResult/packages.config
+++ b/Plugin.TestResult/packages.config
@@ -4,8 +4,11 @@
<package id="HarfBuzzSharp.NativeAssets.Linux" version="7.3.0.3" targetFramework="net472" />
<package id="HarfBuzzSharp.NativeAssets.macOS" version="7.3.0.3" targetFramework="net472" />
<package id="HarfBuzzSharp.NativeAssets.Win32" version="7.3.0.3" targetFramework="net472" />
+ <package id="log4net" version="3.0.3" targetFramework="net472" />
<package id="OpenTK" version="3.3.1" targetFramework="net472" />
<package id="OpenTK.GLWpfControl" version="3.3.0" targetFramework="net472" />
+ <package id="Panuon.WPF" version="1.1.2.2" targetFramework="net472" />
+ <package id="Panuon.WPF.UI" version="1.2.4.9" targetFramework="net472" />
<package id="ScottPlot" version="5.0.47" targetFramework="net472" />
<package id="ScottPlot.WPF" version="5.0.47" targetFramework="net472" />
<package id="SkiaSharp" version="2.88.9" targetFramework="net472" />
diff --git a/WPFProject/WPFProject.sln b/WPFProject/WPFProject.sln
index 80ca826..9d3d593 100644
--- a/WPFProject/WPFProject.sln
+++ b/WPFProject/WPFProject.sln
@@ -31,8 +31,6 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HMI.ParameterManage", "..\HMI.ParameterManage\HMI.ParameterManage.csproj", "{736CD77D-B81E-4866-BB00-84B0B57110F0}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommonLibs", "..\..\HMI.Old\Framework\CommonLibs\CommonLibs\CommonLibs.csproj", "{0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HMI.LogViewer", "..\HMI.LogViewer\HMI.LogViewer.csproj", "{20C23602-B029-4E21-8C11-B9E5F2223237}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugin.TestResult", "..\Plugin.TestResult\Plugin.TestResult.csproj", "{7375B74C-B6BF-4814-9838-E1CAACAD1897}"
@@ -157,14 +155,6 @@
{736CD77D-B81E-4866-BB00-84B0B57110F0}.Release|Any CPU.Build.0 = Release|Any CPU
{736CD77D-B81E-4866-BB00-84B0B57110F0}.Release|x64.ActiveCfg = Release|Any CPU
{736CD77D-B81E-4866-BB00-84B0B57110F0}.Release|x64.Build.0 = Release|Any CPU
- {0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Debug|x64.ActiveCfg = Debug|x64
- {0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Debug|x64.Build.0 = Debug|x64
- {0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Release|Any CPU.Build.0 = Release|Any CPU
- {0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Release|x64.ActiveCfg = Release|x64
- {0212E104-4E85-4F9F-AA70-FC4FAC25C3E5}.Release|x64.Build.0 = Release|x64
{20C23602-B029-4E21-8C11-B9E5F2223237}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20C23602-B029-4E21-8C11-B9E5F2223237}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20C23602-B029-4E21-8C11-B9E5F2223237}.Debug|x64.ActiveCfg = Debug|x64
--
Gitblit v1.9.1