public static void InsertBlocksFromSclSource(PlcSoftware plcSoftware, string sourceName, string sourcePath) { // Create source var source = plcSoftware.ExternalSourceGroup.ExternalSources.FirstOrDefault(obj => obj.Name.Equals(sourceName)); if (source == null) { Console.WriteLine("Load SCL sources..."); source = plcSoftware.ExternalSourceGroup.ExternalSources.CreateFromFile(sourceName, sourcePath); } // Create block from source PlcBlock block = plcSoftware.BlockGroup.Blocks.FirstOrDefault(obj => obj.Name.Equals(sourceName)); if (block == null) { Console.WriteLine("Generate block..."); GenerateBlockOption options = GenerateBlockOption.KeepOnError; source.GenerateBlocksFromSource(options); } }
private static void LoadSclSources(PlcSoftware plcSoftware) { // Create source var sourceName = "CheckArray"; var source = plcSoftware.ExternalSourceGroup.ExternalSources.FirstOrDefault(obj => obj.Name.Equals(sourceName)); if (source == null) { Console.WriteLine("Load SCL sources..."); string sourcePath = @"\\Mac\Home\Documents\GitHub\ibKastl.ApiShowcase\data\Siemens\CheckArray.scl"; source = plcSoftware.ExternalSourceGroup.ExternalSources.CreateFromFile(sourceName, sourcePath); } // Create block from source PlcBlock block = plcSoftware.BlockGroup.Blocks.FirstOrDefault(obj => obj.Name.Equals(sourceName)); if (block == null) { Console.WriteLine("Generate block..."); GenerateBlockOption options = GenerateBlockOption.KeepOnError; source.GenerateBlocksFromSource(options); } }