public List <ProjectBlockInfo> readPlcBlocksList() { if (_blockInfos != null) { return(_blockInfos); } _blockInfos = new List <ProjectBlockInfo>(); foreach (var block in blocks) { var info = new TIAOpennessProjectBlockInfo(block) { Name = block.Name, ParentFolder = this }; info.BlockType = DataTypes.PLCBlockType.FB; info.SetBlockLanguage = PLCLanguage.unkown; if (block.ProgrammingLanguage == ProgrammingLanguage.DB || block.ProgrammingLanguage == ProgrammingLanguage.CPU_DB || block.ProgrammingLanguage == ProgrammingLanguage.F_DB || block.ProgrammingLanguage == ProgrammingLanguage.Motion_DB) { info.BlockType = DataTypes.PLCBlockType.DB; info.SetBlockLanguage = PLCLanguage.DB; } else if (block.ProgrammingLanguage == ProgrammingLanguage.LAD || block.ProgrammingLanguage == ProgrammingLanguage.F_LAD || block.ProgrammingLanguage == ProgrammingLanguage.F_LAD_LIB) { info.SetBlockLanguage = PLCLanguage.KOP; } else if (block.ProgrammingLanguage == ProgrammingLanguage.STL || block.ProgrammingLanguage == ProgrammingLanguage.F_STL) { info.SetBlockLanguage = PLCLanguage.AWL; } else if (block.ProgrammingLanguage == ProgrammingLanguage.FBD || block.ProgrammingLanguage == ProgrammingLanguage.F_FBD || block.ProgrammingLanguage == ProgrammingLanguage.F_FBD_LIB) { info.SetBlockLanguage = PLCLanguage.FUP; } else if (block.ProgrammingLanguage == ProgrammingLanguage.CFC) { info.SetBlockLanguage = PLCLanguage.CFC; } else if (block.ProgrammingLanguage == ProgrammingLanguage.SCL) { info.SetBlockLanguage = PLCLanguage.SCL; } info.BlockNumber = block.Number; _blockInfos.Add(info); } return(_blockInfos); }
public List <ProjectBlockInfo> readPlcBlocksList() { if (_blockInfos != null) { return(_blockInfos); } Siemens.Engineering.SW.IBlockAggregation blocks = null; var o = this.TiaPortalItem as Siemens.Engineering.SW.ProgramblockUserFolder; if (o != null) { blocks = o.Blocks; } var q = this.TiaPortalItem as Siemens.Engineering.SW.ProgramblockSystemFolder; if (q != null) { blocks = q.Blocks; } _blockInfos = new List <ProjectBlockInfo>(); foreach (var block in blocks) { var info = new TIAOpennessProjectBlockInfo() { Name = block.Name, IBlock = block, ParentFolder = this }; if (block.Type == Siemens.Engineering.SW.BlockType.DB) { info.BlockType = DataTypes.PLCBlockType.DB; } else if (block.Type == Siemens.Engineering.SW.BlockType.FB) { info.BlockType = DataTypes.PLCBlockType.FB; } else if (block.Type == Siemens.Engineering.SW.BlockType.FC) { info.BlockType = DataTypes.PLCBlockType.FC; } else if (block.Type == Siemens.Engineering.SW.BlockType.OB) { info.BlockType = DataTypes.PLCBlockType.OB; } else if (block.Type == Siemens.Engineering.SW.BlockType.UDT) { info.BlockType = DataTypes.PLCBlockType.UDT; } info.BlockNumber = block.Number; _blockInfos.Add(info); } return(_blockInfos); }
public List<ProjectBlockInfo> readPlcBlocksList() { if (_blockInfos != null) return _blockInfos; IBlockAggregation blocks = null; var o = this.TiaPortalItem as ProgramblockUserFolder; if (o != null) blocks = o.Blocks; var q = this.TiaPortalItem as ProgramblockSystemFolder; if (q != null) blocks = q.Blocks; _blockInfos = new List<ProjectBlockInfo>(); foreach (var block in blocks) { var info = new TIAOpennessProjectBlockInfo() { Name = block.Name, IBlock = block }; if (block.Type == BlockType.DB) info.BlockType = DataTypes.PLCBlockType.DB; else if (block.Type == BlockType.FB) info.BlockType = DataTypes.PLCBlockType.FB; else if (block.Type == BlockType.FC) info.BlockType = DataTypes.PLCBlockType.FC; else if (block.Type == BlockType.OB) info.BlockType = DataTypes.PLCBlockType.OB; else if (block.Type == BlockType.UDT) info.BlockType = DataTypes.PLCBlockType.UDT; info.BlockNumber = block.Number; _blockInfos.Add(info); } return _blockInfos; }