PLCGenerator.py
changeset 46 4379e98a30aa
parent 37 256eedd275d0
child 47 2b2f8d88e6d3
--- a/PLCGenerator.py	Thu Jul 19 11:53:14 2007 +0200
+++ b/PLCGenerator.py	Thu Jul 19 15:04:41 2007 +0200
@@ -62,8 +62,13 @@
         self.Interface = []
         self.InitialSteps = []
         self.SFCNetworks = {"Steps":{}, "Transitions":{}, "Actions":{}}
+        self.ActionNumber = 0
         self.Program = ""
     
+    def GetActionNumber(self):
+        self.ActionNumber += 1
+        return self.ActionNumber
+    
     def IsAlreadyDefined(self, name):
         for list_type, retain, constant, located, vars in self.Interface:
             for var_type, var_name, var_address, var_initial in vars:
@@ -272,6 +277,7 @@
             if step_name in self.SFCNetworks["Steps"].keys():
                 actions = actionBlock.getActions()
                 for action in actions:
+                    print action
                     action_infos = {"qualifier" : action["qualifier"], "content" : action["value"]}
                     if "duration" in action:
                         action_infos["duration"] = action["duration"]
@@ -279,6 +285,10 @@
                         action_infos["indicator"] = action["indicator"]
                     if action["type"] == "reference":
                         self.GenerateSFCAction(action["value"], pou)
+                    else:
+                        action_name = "INLINE%d"%self.GetActionNumber()
+                        self.SFCNetworks["Actions"][action_name] = "    %s\n"%action["value"]
+                        action_infos["content"] = action_name
                     self.SFCNetworks["Steps"][step_name]["actions"].append(action_infos)
     
     def GenerateSFCAction(self, action_name, pou):