/// <summary> /// Обновление подписей к клеммам модулей IO /// в соответствии с актуальным названием устройств. /// </summary> public void UpdateModulesBinding() { var errors = ""; try { Logs.Clear(); Logs.Show(); Logs.AddMessage("Выполняется синхронизация.."); errors = ModulesBindingUpdater.GetInstance().Execute(); Logs.Clear(); } catch (System.Exception ex) { Logs.AddMessage("Exception - " + ex); } finally { if (errors != "") { Logs.AddMessage(errors); } if (Logs.IsNull() == false) { Logs.AddMessage("Синхронизация завершена. "); Logs.SetProgress(100); Logs.EnableButtons(); } } }
/// <summary> /// Экспорт базы каналов, поток. /// </summary> /// <param name="param">Параметр потока</param> private void SaveAsXMLThread(object param) { var data = param as DataForSaveAsXML; Logs.Show(); Logs.DisableButtons(); Logs.Clear(); Logs.SetProgress(0); try { Logs.SetProgress(1); XMLReporter.SaveAsXML(data.pathToFile, data.rewrite, data.cdbxTagView, data.cdbxNewNames); Logs.SetProgress(50); Logs.AddMessage("Done."); } catch (System.Exception ex) { Logs.AddMessage("Exception - " + ex); } finally { if (Logs.IsNull() == false) { Logs.EnableButtons(); Logs.SetProgress(100); } } }
/// <summary> /// Экспорт технологических объектов в Excel. /// </summary> /// <param name="path">Путь к директории сохранения</param> /// <param name="projectName">Имя проекта</param> private void ExportToExcel(object param) { var par = param as string; Logs.Show(); Logs.DisableButtons(); Logs.Clear(); Logs.SetProgress(0); try { Logs.SetProgress(1); ExcelRepoter.ExportTechDevs(par); Logs.AddMessage("Done."); } catch (System.Exception ex) { Logs.AddMessage("Exception - " + ex); } finally { if (Logs.IsNull() == false) { Logs.EnableButtons(); Logs.SetProgress(100); } } }
/// <summary> /// Считывание описания. /// </summary> public int LoadDescription(out string errStr, string projectName, bool loadFromLua) { errStr = ""; Logs.Clear(); EProjectManager.GetInstance().ProjectDataIsLoaded = false; string LuaStr; int res = 0; var oProgress = new Eplan.EplApi.Base.Progress("EnhancedProgress"); oProgress.SetAllowCancel(false); oProgress.SetTitle("Считывание данных проекта"); try { oProgress.BeginPart(15, "Считывание IO"); projectConfiguration.ReadIO(); oProgress.EndPart(); oProgress.BeginPart(15, "Считывание устройств"); if (projectConfiguration.DevicesIsRead == true) { projectConfiguration.SynchronizeDevices(); } else { projectConfiguration.ReadDevices(); } oProgress.EndPart(); oProgress.BeginPart(25, "Считывание привязки устройств"); projectConfiguration.ReadBinding(); oProgress.EndPart(); if (loadFromLua) { EncodingDetector.MainFilesEncoding = null; oProgress.BeginPart(15, "Считывание технологических " + "объектов"); res = LoadDescriptionFromFile(out LuaStr, out errStr, projectName, $"\\{ProjectDescriptionSaver.MainTechObjectsFileName}"); techObjectManager.LoadDescription(LuaStr, projectName); errStr = ""; LuaStr = ""; res = LoadDescriptionFromFile(out LuaStr, out errStr, projectName, $"\\{ProjectDescriptionSaver.MainRestrictionsFileName}"); techObjectManager.LoadRestriction(LuaStr); oProgress.EndPart(); } oProgress.BeginPart(15, "Проверка данных"); projectConfiguration.Check(); oProgress.EndPart(); oProgress.BeginPart(15, "Расчет IO-Link"); IOManager.CalculateIOLinkAdresses(); oProgress.EndPart(true); EProjectManager.GetInstance().ProjectDataIsLoaded = true; } catch (System.Exception ex) { MessageBox.Show(ex.Message); oProgress.EndPart(true); EProjectManager.GetInstance().ProjectDataIsLoaded = false; } return(res); }