From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
Plugin.CurrentSensorControl/BurnInOven.xaml.cs | 260 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 260 insertions(+), 0 deletions(-)
diff --git a/Plugin.CurrentSensorControl/BurnInOven.xaml.cs b/Plugin.CurrentSensorControl/BurnInOven.xaml.cs
new file mode 100644
index 0000000..10b2b6c
--- /dev/null
+++ b/Plugin.CurrentSensorControl/BurnInOven.xaml.cs
@@ -0,0 +1,260 @@
+锘縰sing CommunityToolkit.Mvvm.ComponentModel;
+using HslCommunication.Profinet.Siemens;
+using PLCHelper;
+using Plugin.CurrentSensorControl.Entity;
+using System.Windows.Controls;
+
+namespace Plugin.CurrentSensorControl
+{
+ /// <summary>
+ /// BurnInOven.xaml 鐨勪氦浜掗�昏緫
+ /// </summary>
+ [ObservableObject]
+ public partial class BurnInOven : UserControl
+ {
+ private BaseConfig config;
+
+ private static readonly string[] datas = new string[] { "_LEDLight", "_Req", "_SetTemp", "_SaveTemp", "_TempDown", "_TempUp", "_AvgTemp" };
+
+ [ObservableProperty]
+ private string header;
+
+ [ObservableProperty]
+ private string req;
+ [ObservableProperty]
+ private string reqStatus;
+
+ [ObservableProperty]
+ private string coolerStatus;
+
+ [ObservableProperty]
+ private string setTemp;
+ [ObservableProperty]
+ private string saveTemp;
+ [ObservableProperty]
+ private string tempDown;
+ [ObservableProperty]
+ private string tempUp;
+ [ObservableProperty]
+ private string avgTemp;
+
+ private bool lightStatus;
+
+ public bool LightStatus
+ {
+ get => lightStatus;
+ set
+ {
+ try
+ {
+ string name = $"Oven{ovenIndex + 1}_LEDLight";
+ if (S7Context.WriteData(api, name, value))
+ {
+ lightStatus = value;
+ OnPropertyChanged(nameof(lightStatus));
+ }
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+ }
+
+ private int ovenIndex;
+
+ private SiemensS7Net api;
+
+ private int cellCount;
+
+ private BurnInCell[] cells;
+
+ public BurnInOven(int ovenIndex)
+ {
+ this.ovenIndex = ovenIndex;
+ config = BaseConfig.Instance;
+ this.cellCount = config.PositionCount;
+ this.cells = new BurnInCell[cellCount];
+ DataContext = this;
+ api = S7Context.Get($"1");
+ InitializeComponent();
+ InitGrid();
+ }
+
+ private void InitGrid()
+ {
+ mainGrid.Columns = config.PositionColumn;
+ for (int i = 0; i < cellCount; i++)
+ {
+ var cell = new BurnInCell(ovenIndex, i);
+ cells[i] = cell;
+ mainGrid.Children.Add(cell);
+ }
+ }
+
+ public void Refresh()
+ {
+ try
+ {
+ //Task[] allTask = new Task[cells.Length];
+ //for (int i = 0; i < cells.Length; i++)
+ //{
+ // var cell = cells[i];
+ // var task = Task.Factory.StartNew(() =>
+ // {
+ // cell.Refresh();
+ // });
+ // allTask[i] = task;
+ //}
+ //Task.WaitAll(allTask);
+
+ foreach (var cell in cells)
+ {
+ cell.Refresh();
+ }
+
+ string name;
+ object v;
+ foreach (var data in datas)
+ {
+ name = $"Oven{ovenIndex + 1}{data}";
+ if (S7Context.GetData(api, name, out v))
+ {
+ var val = v?.ToString();
+ if (data == "_LEDLight")
+ {
+ lightStatus = bool.Parse(val);
+ OnPropertyChanged("LightStatus");
+ }
+ else if (data == "_Req")
+ {
+ Req = val;
+ if (val == "0")
+ {
+ ReqStatus = "鍋滄绛夊緟";
+ }
+ else if (val == "1")
+ {
+ ReqStatus = "鍔犵儹鍚姩";
+ }
+ else if (val == "2")
+ {
+ ReqStatus = "鍐峰嵈鍚姩";
+ }
+ }
+ else if (data == "_SetTemp")
+ {
+ SetTemp = val;
+ }
+ else if (data == "_SaveTemp")
+ {
+ SaveTemp = val;
+ }
+ else if (data == "_TempDown")
+ {
+ TempDown = val;
+ }
+ else if (data == "_TempUp")
+ {
+ TempUp = val;
+ }
+ else if (data == "_AvgTemp")
+ {
+ AvgTemp = val;
+ }
+ else if (data == "_CoolerStatus")
+ {
+ if (val == "1")
+ {
+ CoolerStatus = "杩愭按";
+ }
+ else if (val == "2")
+ {
+ CoolerStatus = "鍚规按";
+ }
+ else if (val == "3")
+ {
+ CoolerStatus = "娴嬪帇";
+ }
+ else if (val == "0")
+ {
+ CoolerStatus = "鍋滄";
+ }
+ }
+ }
+
+ //;
+ //if (api.DoFctReadSingle(name, out string val, out _))
+ //{
+ // if (data == "_Req")
+ // {
+ // Req = val;
+ // if (val == "0")
+ // {
+ // ReqStatus = "鍋滄绛夊緟";
+ // }
+ // else if (val == "1")
+ // {
+ // ReqStatus = "鍔犵儹鍚姩";
+ // }
+ // else if (val == "2")
+ // {
+ // ReqStatus = "鍐峰嵈鍚姩";
+ // }
+ // }
+ // else if (data == "_SetTemp")
+ // {
+ // SetTemp = val;
+ // }
+ // else if (data == "_SaveTemp")
+ // {
+ // SaveTemp = val;
+ // }
+ // else if (data == "_TempDown")
+ // {
+ // TempDown = val;
+ // }
+ // else if (data == "_TempUp")
+ // {
+ // TempUp = val;
+ // }
+ // else if (data == "_AvgTemp")
+ // {
+ // AvgTemp = val;
+ // }
+ //}
+ }
+
+ //if (api.Connec (out string errMsg))
+ //{
+
+ //}
+ //else
+ //{
+ // OPCContext.Connect($"Oven{ovenIndex}");
+ // Thread.Sleep(1000);
+ //}
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+
+ private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
+ {
+ var btn = sender as Button;
+ string name = $"Oven{ovenIndex + 1}_Cmd";
+ S7Context.WriteData(api, name, short.Parse(btn.Tag.ToString()));
+ //api.DoFctWriteSingle(name, btn.Tag.ToString(), out string errMsg);
+ }
+
+ private void Button_Click2(object sender, System.Windows.RoutedEventArgs e)
+ {
+ var btn = sender as Button;
+ string name = $"Oven{ovenIndex + 1}_CoolerStatus";
+ S7Context.WriteData(api, name, ushort.Parse(btn.Tag.ToString()));
+ //api.DoFctWriteSingle(name, btn.Tag.ToString(), out string errMsg);
+ }
+ }
+}
--
Gitblit v1.9.1