# HG changeset patch # User Laurent Bessard # Date 1375745322 -7200 # Node ID abf63a3105326987462bc049144c69ef38ffd3fb # Parent f3cfe1ff917e09a04ea99cf785434e75bd1e3e11 Fixed GetBlockTypes method diff -r f3cfe1ff917e -r abf63a310532 PLCControler.py --- a/PLCControler.py Sun Aug 04 22:55:12 2013 +0900 +++ b/PLCControler.py Tue Aug 06 01:28:42 2013 +0200 @@ -212,7 +212,8 @@ self.ConfNodeTypes = [] self.TotalTypesDict = StdBlckDct.copy() self.TotalTypes = StdBlckLst[:] - + self.ProgramFilePath = "" + def GetQualifierTypes(self): return plcopen.QualifierList @@ -1632,22 +1633,25 @@ name = None project = self.GetProject(debug) if project is not None: - blocktypes = [] + pou_type = None if words[0] in ["P","T","A"]: + blocktypes = [] name = words[1] - typename = self.GetPouType(name, debug) - if typename == "function": - for category in self.TotalTypes: - cat = {"name" : category["name"], "list" : []} - for block in category["list"]: - if block["type"] == "function": - cat["list"].append(block) - if len(cat["list"]) > 0: - blocktypes.append(cat) - blocktypes.append({"name" : USER_DEFINED_POUS, - "list": project.GetCustomBlockTypes(name, - typename == "function" or words[0] == "T")}) - return blocktypes + pou_type = self.GetPouType(name, debug) + if pou_type == "function": + for category in self.TotalTypes: + cat = {"name" : category["name"], "list" : []} + for block in category["list"]: + if block["type"] == "function": + cat["list"].append(block) + if len(cat["list"]) > 0: + blocktypes.append(cat) + else: + blocktypes = [category for category in self.TotalTypes] + blocktypes.append({"name" : USER_DEFINED_POUS, + "list": project.GetCustomBlockTypes(name, + pou_type == "function" or words[0] == "T")}) + return blocktypes return self.TotalTypes # Return Function Block types checking for recursion