internal void OpenViaOpennessDlls() { for (int i = 0; i < 10; i++) { try { if (tiaPortal != null) { tiaPortal.Dispose(); tiaPortal = null; } tiaPortal = new Siemens.Engineering.TiaPortal(Siemens.Engineering.TiaPortalMode.WithoutUserInterface); tiapProject = tiaPortal.Projects.Open(new FileInfo(ProjectFile)); } catch (Siemens.Engineering.EngineeringSecurityException ex) { throw; } catch (Exception ex) { if (i == 9) { throw; } } if (tiapProject != null) { break; } } LoadViaOpennessDlls(); }
internal void LoadViaOpennessDlls() { tiaPortal = new TiaPortal(TiaPortalMode.WithoutUserInterface); tiapProject = tiaPortal.Projects.Open(ProjectFile); var main = new TIAOpennessProjectFolder(this) { Name = "Main" }; ProjectStructure = main; foreach (var d in tiapProject.Devices) { if (d.Subtype.StartsWith("S7300") || d.Subtype.StartsWith("S7400")) { var fld = new TIAOpennessProjectFolder(this) { Name = d.Name, Comment = d.Comment != null?d.Comment.GetText(CultureInfo.CurrentCulture) : null }; main.SubItems.Add(fld); LoadSubDevicesViaOpennessDlls(fld, d); } } // switch (tiaType) //{ // case "Siemens.Automation.DomainModel.ProjectData": // fld = new TIAProjectFolder(this, Node); // break; // case "Siemens.Automation.DomainModel.FolderData": // { // var subType = Node.SelectSingleNode("attribSet[@id='" + CoreAttributesId + "']/attrib[@name='Subtype']").InnerText; // if (subType == "ProgramBlocksFolder" || subType == "ProgramBlocksFolder.Subfolder") // { // fld = new TIABlocksFolder(this, Node); // } // else // { // fld = new TIAProjectFolder(this, Node); // } // break; // } // case "Siemens.Simatic.HwConfiguration.Model.DeviceData": // fld = new TIAProjectFolder(this, Node); // break; // case "Siemens.Simatic.HwConfiguration.Model.S7ControllerTargetData": // fld = new TIACPUFolder(this, Node); // break; // case "Siemens.Automation.DomainModel.EAMTZTagTableData": // fld = new TIASymTabFolder(this, Node); // break; // //case "Siemens.Simatic.PlcLanguages.Model.DataBlockData": // // fld = new TIAProjectFolder(this, Node); // // break; // default: // break; //} }
internal void OpenViaOpennessDlls(Credentials credentials) { for (int i = 0; i < 10; i++) { try { if (tiaPortal != null) { tiaPortal.Dispose(); tiaPortal = null; } tiaPortal = new Siemens.Engineering.TiaPortal( Siemens.Engineering.TiaPortalMode.WithoutUserInterface); if (credentials != null) { tiapProject = tiaPortal.Projects.Open(new FileInfo(ProjectFile), c => { c.Type = UmacUserType.Project; c.Name = credentials.Username; c.SetPassword(credentials.Password); }); } else { tiapProject = tiaPortal.Projects.Open(new FileInfo(ProjectFile)); } } catch (Siemens.Engineering.EngineeringSecurityException ex) { throw; } catch (Exception ex) { if (i == 9) { throw; } } if (tiapProject != null) { break; } } LoadViaOpennessDlls(); }
internal void LoadViaOpennessDlls() { for (int i = 0; i < 10; i++) { try { if (tiaPortal != null) { tiaPortal.Dispose(); tiaPortal = null; } tiaPortal = new Siemens.Engineering.TiaPortal(Siemens.Engineering.TiaPortalMode.WithoutUserInterface); tiapProject = tiaPortal.Projects.Open(new FileInfo(ProjectFile)); } catch (Siemens.Engineering.EngineeringSecurityException ex) { throw; } catch (Exception ex) { if (i == 9) { throw; } } if (tiapProject != null) { break; } } var main = new TIAOpennessProjectFolder(this) { Name = "Main" }; ProjectStructure = main; //var frm = new sliver.Windows.Forms.StateBrowserForm(); //frm.ObjectToBrowse = tiapProject; //frm.Show(); foreach (var d in tiapProject.Devices) { if (d.TypeIdentifier != null && d.TypeIdentifier.EndsWith(".S71500")) { foreach (DeviceItem deviceItem in d.DeviceItems) { var target = ((IEngineeringServiceProvider)deviceItem).GetService <SoftwareContainer>(); if (target != null && target.Software is PlcSoftware) { var software = (PlcSoftware)target.Software; var fld = new TIAOpennessControllerFolder(this, software) { Name = software.Name, //TiaPortalItem = software, //Comment = d.Comment != null ? d.Comment.GetText(CultureInfo.CurrentCulture) : null }; main.SubItems.Add(fld); LoadControlerFolderViaOpennessDlls(fld, software); } } //var controller = d.DeviceItems.OfType<Siemens.Engineering.HW.ControllerTarget>().FirstOrDefault(); //if (controller == null) //{ // var fld = new TIAOpennessProjectFolder(this) // { // Name = d.Name, // TiaPortalItem = d, // Comment = d.Comment != null ? d.Comment.GetText(CultureInfo.CurrentCulture) : null // }; // main.SubItems.Add(fld); // //LoadSubDevicesViaOpennessDlls(fld, d); //} //else //{ // var fld = new TIAOpennessControllerFolder(this) // { // Name = d.Name, // TiaPortalItem = d, // Comment = d.Comment != null ? d.Comment.GetText(CultureInfo.CurrentCulture) : null // }; // main.SubItems.Add(fld); // //LoadControlerFolderViaOpennessDlls(fld, controller); //} } } }
internal void LoadViaOpennessDlls() { for (int i = 0; i < 10; i++) { try { if (tiaPortal != null) { tiaPortal.Dispose(); tiaPortal = null; } tiaPortal = new TiaPortal(TiaPortalMode.WithoutUserInterface); tiapProject = tiaPortal.Projects.Open(ProjectFile); } catch (Siemens.Engineering.EngineeringSecurityException ex) { throw; } catch (Exception ex) { if (i == 9) { throw; } } if (tiapProject != null) { break; } } var main = new TIAOpennessProjectFolder(this) { Name = "Main" }; ProjectStructure = main; //var frm = new sliver.Windows.Forms.StateBrowserForm(); //frm.ObjectToBrowse = tiapProject; //frm.Show(); foreach (var d in tiapProject.Devices) { Console.WriteLine(d.Subtype); if (d.Subtype.EndsWith(".Device") && !d.Subtype.StartsWith("GSD.") && !d.Subtype.StartsWith("ET200eco.")) //d.Subtype.StartsWith("S7300") || d.Subtype.StartsWith("S7400") || d.Subtype.StartsWith("S71200") || d.Subtype.StartsWith("S71500")) { var controller = d.DeviceItems.OfType <ControllerTarget>().FirstOrDefault(); if (controller == null) { var fld = new TIAOpennessProjectFolder(this) { Name = d.Name, TiaPortalItem = d, Comment = d.Comment != null?d.Comment.GetText(CultureInfo.CurrentCulture) : null }; main.SubItems.Add(fld); LoadSubDevicesViaOpennessDlls(fld, d); } else { var fld = new TIAOpennessControllerFolder(this) { Name = d.Name, TiaPortalItem = d, Comment = d.Comment != null?d.Comment.GetText(CultureInfo.CurrentCulture) : null }; main.SubItems.Add(fld); LoadControlerFolderViaOpennessDlls(fld, controller); } } } }
internal void LoadViaOpennessDlls() { for (int i = 0; i < 10; i++) { try { if (tiaPortal != null) { tiaPortal.Dispose(); tiaPortal = null; } tiaPortal = new TiaPortal(TiaPortalMode.WithoutUserInterface); tiapProject = tiaPortal.Projects.Open(ProjectFile); } catch (Siemens.Engineering.EngineeringSecurityException ex) { throw; } catch (Exception ex) { if (i == 9) throw; } if (tiapProject != null) break; } var main = new TIAOpennessProjectFolder(this) { Name = "Main" }; ProjectStructure = main; //var frm = new sliver.Windows.Forms.StateBrowserForm(); //frm.ObjectToBrowse = tiapProject; //frm.Show(); foreach (var d in tiapProject.Devices) { Console.WriteLine(d.Subtype); if (d.Subtype.EndsWith(".Device") && !d.Subtype.StartsWith("GSD.") && !d.Subtype.StartsWith("ET200eco.")) //d.Subtype.StartsWith("S7300") || d.Subtype.StartsWith("S7400") || d.Subtype.StartsWith("S71200") || d.Subtype.StartsWith("S71500")) { var controller = d.DeviceItems.OfType<ControllerTarget>().FirstOrDefault(); if (controller == null) { var fld = new TIAOpennessProjectFolder(this) { Name = d.Name, TiaPortalItem = d, Comment = d.Comment != null ? d.Comment.GetText(CultureInfo.CurrentCulture) : null }; main.SubItems.Add(fld); LoadSubDevicesViaOpennessDlls(fld, d); } else { var fld = new TIAOpennessControllerFolder(this) { Name = d.Name, TiaPortalItem = d, Comment = d.Comment != null ? d.Comment.GetText(CultureInfo.CurrentCulture) : null }; main.SubItems.Add(fld); LoadControlerFolderViaOpennessDlls(fld, controller); } } } }