Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }