equal
deleted
inserted
replaced
50 if line != "": |
50 if line != "": |
51 compute += "%s%s\n"%(indent, line) |
51 compute += "%s%s\n"%(indent, line) |
52 else: |
52 else: |
53 compute += "\n" |
53 compute += "\n" |
54 return compute |
54 return compute |
55 |
|
56 |
55 |
57 def GeneratePouProgram(pou_name): |
56 def GeneratePouProgram(pou_name): |
58 if not pouComputed.get(pou_name, True): |
57 if not pouComputed.get(pou_name, True): |
59 pouComputed[pou_name] = True |
58 pouComputed[pou_name] = True |
60 global currentProject, currentProgram |
59 global currentProject, currentProgram |
466 steps.append(step) |
465 steps.append(step) |
467 elif isinstance(step, plcopen.simultaneousConvergence): |
466 elif isinstance(step, plcopen.simultaneousConvergence): |
468 steps.extend(self.ExtractConvergenceInputs(step, pou)) |
467 steps.extend(self.ExtractConvergenceInputs(step, pou)) |
469 elif isinstance(instance, plcopen.simultaneousConvergence): |
468 elif isinstance(instance, plcopen.simultaneousConvergence): |
470 steps.extend(self.ExtractConvergenceInputs(instance, pou)) |
469 steps.extend(self.ExtractConvergenceInputs(instance, pou)) |
471 transition_infos = {"from": [], "to" : []} |
470 transition_infos = {"priority": transition.getPriority(), "from": [], "to" : []} |
472 transitionValues = transition.getConditionContent() |
471 transitionValues = transition.getConditionContent() |
473 if transitionValues["type"] == "inline": |
472 if transitionValues["type"] == "inline": |
474 transition_infos["content"] = "\n := %s;\n"%transitionValues["value"] |
473 transition_infos["content"] = "\n := %s;\n"%transitionValues["value"] |
475 elif transitionValues["type"] == "reference": |
474 elif transitionValues["type"] == "reference": |
476 transitionContent = pou.getTransition(transitionValues["value"]) |
475 transitionContent = pou.getTransition(transitionValues["value"]) |
550 self.Program += " ACTION %s:\n%s END_ACTION\n\n"%(action_name, action_content) |
549 self.Program += " ACTION %s:\n%s END_ACTION\n\n"%(action_name, action_content) |
551 |
550 |
552 def ComputeSFCTransition(self, transition): |
551 def ComputeSFCTransition(self, transition): |
553 if transition in self.SFCNetworks["Transitions"].keys(): |
552 if transition in self.SFCNetworks["Transitions"].keys(): |
554 transition_infos = self.SFCNetworks["Transitions"].pop(transition) |
553 transition_infos = self.SFCNetworks["Transitions"].pop(transition) |
555 self.Program += " TRANSITION FROM " |
554 self.Program += " TRANSITION" |
|
555 if transition_infos["priority"] != None: |
|
556 self.Program += " (PRIORITY := %d)"%transition_infos["priority"] |
|
557 self.Program += " FROM " |
556 if len(transition_infos["from"]) > 1: |
558 if len(transition_infos["from"]) > 1: |
557 self.Program += "(%s)"%", ".join(transition_infos["from"]) |
559 self.Program += "(%s)"%", ".join(transition_infos["from"]) |
558 else: |
560 else: |
559 self.Program += "%s"%transition_infos["from"][0] |
561 self.Program += "%s"%transition_infos["from"][0] |
560 self.Program += " TO " |
562 self.Program += " TO " |