diff --git a/DotNetSiemensPLCToolBoxLibrary.TIAV19/Step7ProjectV19Tia.cs b/DotNetSiemensPLCToolBoxLibrary.TIAV19/Step7ProjectV19Tia.cs index 6aa34a11..0cbbd83f 100644 --- a/DotNetSiemensPLCToolBoxLibrary.TIAV19/Step7ProjectV19Tia.cs +++ b/DotNetSiemensPLCToolBoxLibrary.TIAV19/Step7ProjectV19Tia.cs @@ -21,6 +21,7 @@ using Siemens.Engineering.SW.WatchAndForceTables; using DotNetSiemensPLCToolBoxLibrary.Projectfiles.TIA.Openness; using Siemens.Engineering.SW.Alarm; +using Siemens.Engineering.SW.Alarm.TextLists; namespace DotNetSiemensPLCToolBoxLibrary.Projectfiles.V19 { @@ -855,6 +856,39 @@ public override void ExportTextlists(ProjectFolder folder, string exportPath) } } + public override void ExportAlarmTexts(ProjectFolder folder, string exportPath) + { + foreach (var d in tiapProject.Devices) + { + if (d.TypeIdentifier != null && (d.TypeIdentifier.EndsWith(".S71500") || d.TypeIdentifier.EndsWith("ET200SP_OC"))) + { + foreach (DeviceItem deviceItem in d.DeviceItems) + { + var parent = deviceItem.Parent; + var target = ((IEngineeringServiceProvider)deviceItem).GetService(); + if (target != null && target.Software is PlcSoftware) + { + var plcSoftware = (PlcSoftware)target.Software; + var plcAarmTextsProvider = plcSoftware.GetService(); + var plcAlarmTextsName = "PLC-Meldetexte"; + var filePath = Path.Combine(exportPath, folder.Name, deviceItem.Name.Replace("-", ""), "plcalarms", plcAlarmTextsName) + ".xlsx"; + var fileInfo = new FileInfo(filePath); + List cultureInfos = new List(); + + var directory = Path.GetDirectoryName(filePath); + if (!Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + + PlcAlarmTextXlsxResult result = plcAarmTextsProvider.ExportInstanceTextsToXlsx( fileInfo, cultureInfos, PlcAlarmTextXlsxExportOption.None); + var logFilePath = (FileInfo)result.LogFilePath; + } + } + } + } + } + internal void OpenViaOpennessDlls(Credentials credentials) { for (int i = 0; i < 10; i++) diff --git a/LibNoDaveConnectionLibrary/Projectfiles/Project.cs b/LibNoDaveConnectionLibrary/Projectfiles/Project.cs index a91804cb..54d24774 100644 --- a/LibNoDaveConnectionLibrary/Projectfiles/Project.cs +++ b/LibNoDaveConnectionLibrary/Projectfiles/Project.cs @@ -60,5 +60,9 @@ public virtual void ExportTextlists(ProjectFolder folder, string exportPath) { } + public virtual void ExportAlarmTexts(ProjectFolder folder, string exportPath) + { + } + } } diff --git a/TiaGitHandler/Program.cs b/TiaGitHandler/Program.cs index 84480af5..2bc85692 100644 --- a/TiaGitHandler/Program.cs +++ b/TiaGitHandler/Program.cs @@ -164,7 +164,7 @@ static void Main(string[] args) prj = Projects.AttachProject(ver); exportPath = Path.GetDirectoryName(prj.ProjectFile); - exportPath = Path.GetFullPath(Path.Combine(exportPath, "..\\out\\Export")); + exportPath = Path.GetFullPath(Path.Combine(exportPath, "..\\Export")); } else { @@ -273,8 +273,9 @@ static void Main(string[] args) Console.WriteLine("Exporting to Folder: " + exportPath); Console.WriteLine(); List skippedBlocksList = new List(); - ParseFolder(prj.ProjectStructure, exportPath, skippedBlocksList); - prj.ExportTextlists(prj.ProjectStructure, exportPath); + //ParseFolder(prj.ProjectStructure, exportPath, skippedBlocksList); + //prj.ExportTextlists(prj.ProjectStructure, exportPath); + prj.ExportAlarmTexts(prj.ProjectStructure, exportPath); var xlsxFiles = Directory.GetFiles(exportPath, "*.xlsx", SearchOption.AllDirectories); foreach (var xlsxFile in xlsxFiles.Where(x => x.Contains("plcalarmtextlistgroup")))