--- a/PLCControler.py Thu Nov 15 23:32:54 2012 +0100
+++ b/PLCControler.py Thu Nov 15 23:49:08 2012 +0100
@@ -613,7 +613,7 @@
self.ComputePouName(words[1]), debug)]
- def RecursiveGetPouInstanceTagName(self, project, pou_type, parts):
+ def RecursiveGetPouInstanceTagName(self, project, pou_type, parts, debug = False): pou = project.getpou(pou_type)
@@ -627,7 +627,7 @@
return self.RecursiveGetPouInstanceTagName(
vartype_content["value"].getname(),
if pou.getbodyType() == "SFC" and len(parts) == 1:
for action in pou.getactionList():
@@ -636,6 +636,17 @@
for transition in pou.gettransitionList():
if transition.getname() == parts[0]:
return self.ComputePouTransitionName(pou_type, parts[0])
+ block_infos = self.GetBlockType(pou_type, debug=debug) + if (block_infos is not None and + block_infos["type"] in ["program", "functionBlock"]): + return self.ComputePouName(pou_type) + for varname, vartype, varmodifier in block_infos["inputs"] + block_infos["outputs"]: + if varname == parts[0]: + return self.RecursiveGetPouInstanceTagName(project, vartype, parts[1:], debug) def GetPouInstanceTagName(self, instance_path, debug = False):
@@ -662,7 +673,7 @@
return self.RecursiveGetPouInstanceTagName(
pou_instance.gettypeName(),
def GetInstanceInfos(self, instance_path, debug = False):