Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        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;
            }
        }