/// <summary> /// Очистить канал от старой привязки /// </summary> private void ResetChannel() { int propertyNumber = (int)Eplan.EplApi.DataModel.Properties .Article.ARTICLE_TYPENR; string name = GetSelectedIOModuleArticleProperty(propertyNumber); var moduleInfo = new IOModuleInfo(); moduleInfo = moduleInfo.GetIOModuleInfo(name, out _); Dictionary <string, string> devicesComments = EplanDeviceManager.GetAssigment(SelectedClampFunction, moduleInfo, ResetDevicesChannel); foreach (KeyValuePair <string, string> pair in devicesComments) { var deviceName = pair.Key; var deviceComment = pair.Value; var device = DeviceManager.GetInstance().GetDevice(deviceName); string channelName = EplanDeviceManager.GetInstance(). GetChannelNameForIOLinkModuleFromString(deviceComment); device.ClearChannel(moduleInfo.AddressSpaceType, deviceComment, channelName); } }
private void OnUserPreCloseProject(IEventParameter iEventParameter) { String projectName = (new EventParameterString(iEventParameter)).String; int dot_pos = projectName.LastIndexOf('\\'); if (dot_pos > 0) { projectName = projectName.Substring(dot_pos + 1); } projectName = projectName.Remove(projectName.IndexOf('.')); if (projectName == EProjectManager.GetInstance().GetCurrentProjectName()) { EProjectManager.GetInstance().SaveAndClose(); EplanDeviceManager.GetInstance().ClearDevices(); DFrm.GetInstance().ShowNoDevices(); EProjectManager.GetInstance().ResetCurrentPrj(); EProjectManager.isPreCloseProjectComplete = true; } }