diff --git a/DotNetSiemensPLCToolBoxLibrary.TIAV19/Step7ProjectV19Tia.cs b/DotNetSiemensPLCToolBoxLibrary.TIAV19/Step7ProjectV19Tia.cs index af24b306..b7be48da 100644 --- a/DotNetSiemensPLCToolBoxLibrary.TIAV19/Step7ProjectV19Tia.cs +++ b/DotNetSiemensPLCToolBoxLibrary.TIAV19/Step7ProjectV19Tia.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Security; using System.Xml.Linq; using DotNetSiemensPLCToolBoxLibrary.DataTypes; using DotNetSiemensPLCToolBoxLibrary.DataTypes.Blocks; @@ -459,6 +458,11 @@ public List TagTables return retVal; } } + + public override void ImportFile(FileInfo file, bool overwrite, bool importFromSource) + { + this.group.TagTables.Import(file, overwrite ? ImportOptions.Override : ImportOptions.None); + } } public class TIAOpennessWatchTable : ITIAWatchTable diff --git a/DotNetSiemensPLCToolBoxLibrary.TIAV20/Step7ProjectV20Tia.cs b/DotNetSiemensPLCToolBoxLibrary.TIAV20/Step7ProjectV20Tia.cs index 6f9d0d1a..1b379b7a 100644 --- a/DotNetSiemensPLCToolBoxLibrary.TIAV20/Step7ProjectV20Tia.cs +++ b/DotNetSiemensPLCToolBoxLibrary.TIAV20/Step7ProjectV20Tia.cs @@ -458,6 +458,10 @@ public List TagTables } return retVal; } + } + public override void ImportFile(FileInfo file, bool overwrite, bool importFromSource) + { + this.group.TagTables.Import(file, overwrite ? ImportOptions.Override : ImportOptions.None); } } diff --git a/LibNoDaveConnectionLibrary/DataTypes/Blocks/Step7V11/ITIAVarTabFolder.cs b/LibNoDaveConnectionLibrary/DataTypes/Blocks/Step7V11/ITIAVarTabFolder.cs index 9fdad60f..7d588ff0 100644 --- a/LibNoDaveConnectionLibrary/DataTypes/Blocks/Step7V11/ITIAVarTabFolder.cs +++ b/LibNoDaveConnectionLibrary/DataTypes/Blocks/Step7V11/ITIAVarTabFolder.cs @@ -1,9 +1,10 @@ using DotNetSiemensPLCToolBoxLibrary.DataTypes.Projectfolders; +using DotNetSiemensPLCToolBoxLibrary.Projectfiles.TIA.Openness; using System.Collections.Generic; namespace DotNetSiemensPLCToolBoxLibrary.DataTypes.Blocks.Step7V11 { - public interface ITIAVarTabFolder: IProjectFolder + public interface ITIAVarTabFolder: ITIAOpennessProjectFolder { List TagTables { get; } } diff --git a/TiaImporter/Program.cs b/TiaImporter/Program.cs index f3e32b83..f6db4b45 100644 --- a/TiaImporter/Program.cs +++ b/TiaImporter/Program.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using DotNetSiemensPLCToolBoxLibrary.DataTypes.Projectfolders; +using DotNetSiemensPLCToolBoxLibrary.DataTypes.Blocks.Step7V11; using DotNetSiemensPLCToolBoxLibrary.Projectfiles; using DotNetSiemensPLCToolBoxLibrary.Projectfiles.TIA.Openness; @@ -116,6 +116,7 @@ void ImportFiles() { var dtFolder = importFolder as ITIAOpennessPlcDatatypeFolder; var pgFolder = importFolder as ITIAOpennessProgramFolder; + var tagFolder = importFolder as ITIAVarTabFolder; if (dtFolder != null) { @@ -123,30 +124,12 @@ void ImportFiles() } else if (pgFolder != null) { - //if (importFile.ToLower().EndsWith("scl")) - //{ - // string srcBeforeScl = null; - // var blkInfo = pgFolder.BlockInfos.FirstOrDefault(x => x.Name.ToLower() == Path.GetFileNameWithoutExtension(importFile).ToLower()); - // if (blkInfo != null) - // { - // Console.WriteLine("SCL File with XML File: " + relativePath); - // Console.WriteLine("Export current XML..."); - // srcBeforeScl = blkInfo.Export(ExportFormat.Xml); - // Console.WriteLine("Import SCL..."); - // } - // pgFolder.ImportFile(new FileInfo(importFile), true, !importFile.ToLower().EndsWith("xml")); - // if (blkInfo != null) - // { - // Console.WriteLine("Export new XML..."); - // var blkAfter = pgFolder.BlockInfos.FirstOrDefault(x => x.Name.ToLower() == Path.GetFileNameWithoutExtension(importFile).ToLower()); - // var srcAfter = blkAfter.Export(ExportFormat.Xml); - // Console.WriteLine("Import combined XML..."); - // } - //} - //else - { - pgFolder.ImportFile(new FileInfo(importFile), true, !importFile.ToLower().EndsWith("xml")); - } + + pgFolder.ImportFile(new FileInfo(importFile), true, !importFile.ToLower().EndsWith("xml")); + } + else if (tagFolder != null) + { + tagFolder.ImportFile(new FileInfo(importFile), true, false); } Console.ForegroundColor = ConsoleColor.Green;