/// <summary> /// Vytvoření a zobrazení okna pro ovládání stroje v režimu seřizování, načtení textů z XML, obsluha událostí... /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void comIOExecute(object sender, ExecutedRoutedEventArgs e) { Strana str = WinVyberStrany.VyberStrany(false); bool rightSide = ((str & Strana.Prava) != 0); string strXml = @"\Data\SerizovaniL.xml"; WindowSerizovani winSerizovani = vizualizace.WinSerizovaniL; if (rightSide) { strXml = @"\Data\SerizovaniP.xml"; } if ((str != Strana.Zadna) && (InitInfo.Ladeni || (vizualizace.Stroj.OpcClient != null && vizualizace.Stroj.OpcClient.PrijataData.EnableManual.Value))) { try { Vizualizace.Log(TypUdalosti.Info, "Aktivován režim seřizování"); winSerizovani = new WindowSerizovani(InitInfo.AdresarAplikace + strXml); winSerizovani.Title = rightSide ? "Seřizování - Pravá strana" : "Seřizování - Levá strana"; if (rightSide) { vizualizace.WinSerizovaniP = winSerizovani; } else { vizualizace.WinSerizovaniL = winSerizovani; } winSerizovani.ShowDialog(); vizualizace.WinSerizovaniL = null; vizualizace.WinSerizovaniP = null; } catch (Exception ex) { try { winSerizovani.Close(); } catch { } winSerizovani = null; string strErr = "Nepodařilo se vytvořit formulář vstupů/výstupů. "; vizualizace.HandlerChyby(strErr + "Message: " + ex.Message, false); } } }
/// <summary> /// Vynulování statistik /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void comVynulovatExecute(object sender, ExecutedRoutedEventArgs e) { Strana str = WinVyberStrany.VyberStrany(true); if (str != Strana.Zadna) { MessageBoxResult mBRes = MessageBox.Show("Chcete opravdu vynulovat statistiky?", "Vynulování", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No); if (mBRes == MessageBoxResult.Yes) { vizualizace.Stroj.OpcClient.DataKOdeslani.L.ResetStatistik.Value = ((str & Strana.Leva) != 0); vizualizace.Stroj.OpcClient.DataKOdeslani.P.ResetStatistik.Value = ((str & Strana.Prava) != 0); DispatcherTimer dt = new DispatcherTimer(); dt.Interval = TimeSpan.FromSeconds(2); dt.Tick += (se, ea) => { vizualizace.Stroj.OpcClient.DataKOdeslani.L.ResetStatistik.Value = false; vizualizace.Stroj.OpcClient.DataKOdeslani.P.ResetStatistik.Value = false; dt.Stop(); }; dt.Start(); Vizualizace.Log(TypUdalosti.Info, "Vynulovány statistiky"); } } }