plcopen/plcopen.py
changeset 616 8a60ffcfd70b
parent 608 b67536e93c11
child 617 1a80e0598045
--- a/plcopen/plcopen.py	Sun Jan 08 18:23:55 2012 +0100
+++ b/plcopen/plcopen.py	Sun Jan 08 19:16:58 2012 +0100
@@ -1288,17 +1288,25 @@
             self.interface.appendcontent({"name" : VarTypes[vartype], "value" : varlist})
     setattr(cls, "setvars", setvars)
     
-    def addpouVar(self, type, name, location="", description=""):
+    def addpouLocalVar(self, type, name, location="", description=""):
+        self.addpouVar(type, name, location=location, description=description)
+    setattr(cls, "addpouLocalVar", addpouLocalVar)
+        
+    def addpouExternalVar(self, type, name):
+        self.addpouVar(type, name, "externalVars")
+    setattr(cls, "addpouExternalVar", addpouExternalVar)
+    
+    def addpouVar(self, type, name, var_class="localVars", location="", description=""):
         if self.interface is None:
             self.interface = PLCOpenClasses["pou_interface"]()
         content = self.interface.getcontent()
-        if len(content) == 0 or content[-1]["name"] != "localVars":
-            content.append({"name" : "localVars", "value" : PLCOpenClasses["interface_localVars"]()})
+        if len(content) == 0 or content[-1]["name"] != var_class:
+            content.append({"name" : var_class, "value" : PLCOpenClasses["interface_%s" % var_class]()})
         else:
             varlist = content[-1]["value"]
             variables = varlist.getvariable()
             if varlist.getconstant() or varlist.getretain() or len(variables) > 0 and variables[0].getaddress():
-                content.append({"name" : "localVars", "value" : PLCOpenClasses["interface_localVars"]()})
+                content.append({"name" : var_class, "value" : PLCOpenClasses["interface_%s" % var_class]()})
         var = PLCOpenClasses["varListPlain_variable"]()
         var.setname(name)
         var_type = PLCOpenClasses["dataType"]()