| | |
| | | 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; |
| | | using System.Collections.Generic; |
| | | 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; |
| | |
| | | public bool mesStatus |
| | | { |
| | | get => _mesStatus; |
| | | set => RaiseAndSetIfChanged(ref _mesStatus, value); |
| | | set => Set(ref _mesStatus, value); |
| | | } |
| | | |
| | | private string _produceStatus = "INIT"; |
| | |
| | | public string produceStatus |
| | | { |
| | | get => _produceStatus; |
| | | set => RaiseAndSetIfChanged(ref _produceStatus, value); |
| | | set => Set(ref _produceStatus, value); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | private void axApplicationMgr_ExecutionClosed(object sender, _ApplicationMgrEvents_ExecutionClosedEvent e) |
| | | { |
| | | |
| | | } |
| | | |
| | | private void axApplicationMgr_UIMessageEvent(object sender, _ApplicationMgrEvents_UIMessageEventEvent e) |
| | |
| | | LoadProduct(); |
| | | testResultView.InitTestStandEngine(); |
| | | Start_Click(null, null); |
| | | Loaded -= UserControl_Loaded; |
| | | } |
| | | |
| | | 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; |
| | | } |
| | |
| | | { |
| | | 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); |
| | |
| | | //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; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | try |
| | | { |
| | | testResultView.StartTestSequence(); |
| | | |
| | | this.modelSelect.IsEnabled = false; |
| | | this.btnStart.IsEnabled = false; |
| | | this.btnStop.IsEnabled = true; |
| | |
| | | { |
| | | scannerWindow1 = new Scanner("一区扫码"); |
| | | scannerWindow1.FinishBarcode += ScannerWindow_FinishBarcode; |
| | | scannerWindow1.Owner = Window.GetWindow(this); |
| | | //scannerWindow1.Owner = Window.GetWindow(this); |
| | | scannerWindow1.Closed += ScannerWindow1_Closed; |
| | | scannerWindow1.Show(); |
| | | } |
| | |
| | | |
| | | private void testResultView_Loaded(object sender, RoutedEventArgs e) |
| | | { |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |