chr
2025-03-03 7b903bb86375e9df24a725288d1c876b8d2b0e61
整合TestResult;
7个文件已修改
1个文件已添加
130 ■■■■■ 已修改文件
HMI.ParameterManage/HMI.ParameterManage.csproj 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HMI.ParameterManage/ParameterManage.xaml.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HMI.ParameterManage/Util/ParameterManager.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Plugin.TestResult/Plugin.TestResult.csproj 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Plugin.TestResult/ViewControl.xaml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Plugin.TestResult/ViewControl.xaml.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Plugin.TestResult/packages.config 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WPFProject/WPFProject.sln 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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;
        }
HMI.ParameterManage/Util/ParameterManager.cs
New file
@@ -0,0 +1,24 @@
using 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;
        }
    }
}
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">
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>
Plugin.TestResult/ViewControl.xaml.cs
@@ -1,7 +1,8 @@
using NationalInstruments.TestStand.Interop.API;
using 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);
        }
@@ -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;
            }
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" />
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