//Soukromé metody #region Private methods /// <summary> /// Načtení inicializačních dat z Init.xml do statické třídy InitInfo /// </summary> private void nacistDataZXml() { InitInfo.GetInfo(); XmlRW initXml = new XmlRW(InitInfo.AdresarDat + "\\Init.xml"); //initInfo.AdresarDat obsahuje dafaultně cestu aplikace/Data InitInfo.Ladeni = initXml.ReadBool("bLadeni", "Value", false); string defAdrDat = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Deimos"; InitInfo.AdresarDat = initXml.ReadString("StrAdresarDat", "Value", defAdrDat); }
/// <summary> /// Inicializace watchdogů, které budou hlídat, jestli bliká livebit /// </summary> private void inicializaceWatchDogu() { watchDog = new WatchDog(8); watchDog.OnTimeout += () => { mainWinRef.labelErrKomunikacePLC.Visibility = Visibility.Visible; //Varovná hláška, že PLC nekomunikuje Vizualizace.Log(TypUdalosti.Warning, "PLC nekomunikuje"); }; watchDog.OnReseted += () => { mainWinRef.labelErrKomunikacePLC.Visibility = Visibility.Collapsed; }; Stroj.OpcClient.PrijataData.LiveBitCopy.OnChangeValue += (varValue) => { watchDog.Reset(); }; watchDogShutdown = new WatchDog(40); XmlRW xmlRw = new XmlRW(InitInfo.AdresarDat + SettingsXml); if (xmlRw.ReadBool("ShutdounWatchdog", "Enable", true) && !InitInfo.Ladeni) { watchDogShutdown.OnTimeout += new WatchDog.TimeoutHandler(watchDogShutdown_OnTimeout); //Vypnutí PC } Stroj.OpcClient.PrijataData.LiveBitCopy.OnChangeValue += (varValue) => { watchDogShutdown.Reset(); }; }