コード例 #1
0
            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);
            }
コード例 #2
0
            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);
            }
コード例 #3
0
            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;
            }