PLCGenerator.py
changeset 80 c798a68c5560
parent 78 049f2e7090a2
child 93 c3c24b979a4d
--- 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: