diff -r 919f72861bfb -r e837b67cb184 PLCControler.py --- a/PLCControler.py Fri Dec 19 15:08:54 2008 +0100 +++ b/PLCControler.py Fri Jan 09 17:09:59 2009 +0100 @@ -957,43 +957,33 @@ vars.append(tempvar) return vars - # Return the interface of the pou given by its name - def GetPouInterfaceVarsByName(self, name, debug = False): - project = self.GetProject(debug) - if project is not None: - # Found the pou correponding to name and return the interface vars - pou = project.getpou(name) - if pou is not None: - return self.GetPouInterfaceVars(pou, debug) - return None - # Recursively generate element name tree for a structured variable def GenerateVarTree(self, typename, debug = False): project = self.GetProject(debug) if project is not None: blocktype = self.GetBlockType(typename, debug = debug) if blocktype is not None: - tree = {} + tree = [] for var_name, var_type, var_modifier in blocktype["inputs"] + blocktype["outputs"]: - tree[var_name] = self.GenerateVarTree(var_type, debug) + tree.append((var_name, var_type, self.GenerateVarTree(var_type, debug))) return tree datatype = project.getdataType(typename) if datatype is not None: - tree = {} + tree = [] basetype_content = datatype.baseType.getcontent() if basetype_content["name"] == "derived": tree = self.GenerateVarTree(basetype_content["value"].getname()) elif basetype_content["name"] == "array": base_type = basetype_content["value"].baseType.getcontent() if base_type["name"] == "derived": - tree = self.GenerateVarTree(base_type["value"].getname()) + tree = [self.GenerateVarTree(base_type["value"].getname())] elif basetype_content["name"] == "struct": for element in basetype_content["value"].getvariable(): element_type = element.type.getcontent() if element_type["name"] == "derived": - tree[element.getname()] = self.GenerateVarTree(element_type["value"].getname()) + tree.append((element.getname(), element_type["value"].getname(), self.GenerateVarTree(element_type["value"].getname()))) else: - tree[element.getname()] = {} + tree.append((element.getname(), element_type["name"], [])) return tree return {} @@ -1005,7 +995,7 @@ # Extract variables from every varLists for type, varlist in pou.getvars(): for var in varlist.getvariable(): - tempvar = {"Name" : var.getname(), "Class" : type, "Tree" : {}} + tempvar = {"Name" : var.getname(), "Class" : type, "Tree" : []} vartype_content = var.gettype().getcontent() if vartype_content["name"] == "derived": tempvar["Type"] = vartype_content["value"].getname()