--- a/PLCGenerator.py Thu Aug 23 09:50:35 2007 +0200
+++ b/PLCGenerator.py Mon Aug 27 17:37:50 2007 +0200
@@ -53,7 +53,6 @@
compute += "\n"
return compute
-
def GeneratePouProgram(pou_name):
if not pouComputed.get(pou_name, True):
pouComputed[pou_name] = True
@@ -468,7 +467,7 @@
steps.extend(self.ExtractConvergenceInputs(step, pou))
elif isinstance(instance, plcopen.simultaneousConvergence):
steps.extend(self.ExtractConvergenceInputs(instance, pou))
- transition_infos = {"from": [], "to" : []}
+ transition_infos = {"priority": transition.getPriority(), "from": [], "to" : []}
transitionValues = transition.getConditionContent()
if transitionValues["type"] == "inline":
transition_infos["content"] = "\n := %s;\n"%transitionValues["value"]
@@ -552,7 +551,10 @@
def ComputeSFCTransition(self, transition):
if transition in self.SFCNetworks["Transitions"].keys():
transition_infos = self.SFCNetworks["Transitions"].pop(transition)
- self.Program += " TRANSITION FROM "
+ self.Program += " TRANSITION"
+ if transition_infos["priority"] != None:
+ self.Program += " (PRIORITY := %d)"%transition_infos["priority"]
+ self.Program += " FROM "
if len(transition_infos["from"]) > 1:
self.Program += "(%s)"%", ".join(transition_infos["from"])
else: