| | |
| | | using HMI.Core.Util; |
| | | using HMI.Util; |
| | | using Plugin.TestResult; |
| | | using Plugin.TestResult_WPF.Model; |
| | | using Plugin.TestResult_WPF.Util; |
| | | using SuperSocket.SocketBase.Protocol; |
| | | using System; |
| | | using System.CodeDom.Compiler; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.IO; |
| | |
| | | set { RaiseAndSetIfchanged(ref tcpServerInfo, value); } |
| | | } |
| | | |
| | | |
| | | private static CommonCodeParser codeParser = new CommonCodeParser(); |
| | | private readonly int index; |
| | | private readonly int cellCount; |
| | | private readonly string chartTitle; |
| | |
| | | this.chartTitle = config.MainChartTitle; |
| | | DataContext = this; |
| | | InitializeComponent(); |
| | | mainGrid.Columns = config.PositionColumn; |
| | | this.chart = new Chart(this.chartTitle, false, config.MaxSize, config.RefreshInterval); |
| | | this.multiChart = new Chart(config.DetailChartTitle, true, config.MaxSize, config.RefreshInterval) |
| | | { |
| | |
| | | |
| | | for (int i = 0; i < this.cellCount; i++) |
| | | { |
| | | var cell = new SingleCell(title, i, config.CellListMaxSize); |
| | | var cell = new SingleCell(title, i, config.CellListMaxSize, countIniPath); |
| | | mainGrid.Children.Add(cell); |
| | | cells[i] = cell; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | private Scanner scanner; |
| | | |
| | | private void Window_Closed(object sender, EventArgs e) |
| | | { |
| | | window = null; |
| | |
| | | ClearChartData(); |
| | | parent.SetStartFlag(this.index, true); |
| | | } |
| | | |
| | | private void ScanWindow_Click(object sender, RoutedEventArgs e) |
| | | { |
| | | if (scanner != null) |
| | | { |
| | | scanner.Activate(); |
| | | } |
| | | else |
| | | { |
| | | scanner = new Scanner(this.lang("Tr.ScanTitle", title)) |
| | | { |
| | | Tag = title |
| | | }; |
| | | scanner.FinishBarcode += Scanner_FinishBarcode; |
| | | scanner.Closed += Scanner_Closed; |
| | | scanner.Show(); |
| | | } |
| | | } |
| | | |
| | | private void Scanner_Closed(object sender, EventArgs e) |
| | | { |
| | | scanner = null; |
| | | } |
| | | |
| | | private void Scanner_FinishBarcode(object sender, BarcodeEventArg e) |
| | | { |
| | | if (parent.SequenceContext == null) return; |
| | | CellInfo cellInfo = codeParser.GetCellInfoByCode(e.positionCode); |
| | | |
| | | string paramName = $"StationState.StartScanner_{title}"; |
| | | parent.engine.Globals.SetValBoolean(paramName, 0, true); |
| | | string positionCode = e.positionCode, snrCode = e.snrCode; |
| | | //TODO 需要增加条码校验功能 |
| | | |
| | | //将读到的条码写入到SN中 |
| | | int dutNo = Convert.ToInt16(positionCode.Split('-')[2]) - 1; |
| | | dutNo = this.index * this.cellCount + dutNo; |
| | | |
| | | string LookupStr = $"StationState.SN[{dutNo}]"; |
| | | |
| | | parent.engine.Globals.SetValString(LookupStr, 0, snrCode); |
| | | parent.engine.CommitGlobalsToDisk(promptOnSaveConflicts: false); |
| | | string code = parent.engine.Globals.GetValString(LookupStr, 0); |
| | | parent.nameTables[cellInfo.OvenName].GetSingleCell(cellInfo.Index).SetStatus("hadCode"); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 清空两个图表数据 |
| | |
| | | Console.WriteLine(ex.ToString()); |
| | | } |
| | | } |
| | | |
| | | public void SetProductSource(List<string> productSource) |
| | | { |
| | | CbProduct.ItemsSource = productSource; |
| | | } |
| | | |
| | | public void SetCurrentProduct(string currentProduct) |
| | | { |
| | | CbProduct.SelectedItem = currentProduct; |
| | | } |
| | | |
| | | private void CbProduct_SelectionChanged(object sender, SelectionChangedEventArgs e) |
| | | { |
| | | if (e.AddedItems.Count > 0) |
| | | { |
| | | var str = e.AddedItems[0]; |
| | | parent.SetOvenProduct(index, str.ToString()); |
| | | } |
| | | else |
| | | { |
| | | parent.SetOvenProduct(index, ""); |
| | | } |
| | | } |
| | | |
| | | public void ClearElectricData() |
| | | { |
| | | foreach (var cell in cells) |
| | | { |
| | | cell.ClearElectricData(); |
| | | } |
| | | } |
| | | |
| | | private void Button_Click_1(object sender, RoutedEventArgs e) |
| | | { |
| | | ScannerSetting setting = new ScannerSetting() |
| | | { |
| | | Owner = Window.GetWindow(this) |
| | | }; |
| | | setting.Open(true, this.title); |
| | | } |
| | | } |
| | | } |