plcopen/plcopen.py
changeset 616 8a60ffcfd70b
parent 608 b67536e93c11
child 617 1a80e0598045
equal deleted inserted replaced
615:8baeb9dff775 616:8a60ffcfd70b
  1286         self.interface.setcontent([])
  1286         self.interface.setcontent([])
  1287         for vartype, varlist in vars:
  1287         for vartype, varlist in vars:
  1288             self.interface.appendcontent({"name" : VarTypes[vartype], "value" : varlist})
  1288             self.interface.appendcontent({"name" : VarTypes[vartype], "value" : varlist})
  1289     setattr(cls, "setvars", setvars)
  1289     setattr(cls, "setvars", setvars)
  1290     
  1290     
  1291     def addpouVar(self, type, name, location="", description=""):
  1291     def addpouLocalVar(self, type, name, location="", description=""):
       
  1292         self.addpouVar(type, name, location=location, description=description)
       
  1293     setattr(cls, "addpouLocalVar", addpouLocalVar)
       
  1294         
       
  1295     def addpouExternalVar(self, type, name):
       
  1296         self.addpouVar(type, name, "externalVars")
       
  1297     setattr(cls, "addpouExternalVar", addpouExternalVar)
       
  1298     
       
  1299     def addpouVar(self, type, name, var_class="localVars", location="", description=""):
  1292         if self.interface is None:
  1300         if self.interface is None:
  1293             self.interface = PLCOpenClasses["pou_interface"]()
  1301             self.interface = PLCOpenClasses["pou_interface"]()
  1294         content = self.interface.getcontent()
  1302         content = self.interface.getcontent()
  1295         if len(content) == 0 or content[-1]["name"] != "localVars":
  1303         if len(content) == 0 or content[-1]["name"] != var_class:
  1296             content.append({"name" : "localVars", "value" : PLCOpenClasses["interface_localVars"]()})
  1304             content.append({"name" : var_class, "value" : PLCOpenClasses["interface_%s" % var_class]()})
  1297         else:
  1305         else:
  1298             varlist = content[-1]["value"]
  1306             varlist = content[-1]["value"]
  1299             variables = varlist.getvariable()
  1307             variables = varlist.getvariable()
  1300             if varlist.getconstant() or varlist.getretain() or len(variables) > 0 and variables[0].getaddress():
  1308             if varlist.getconstant() or varlist.getretain() or len(variables) > 0 and variables[0].getaddress():
  1301                 content.append({"name" : "localVars", "value" : PLCOpenClasses["interface_localVars"]()})
  1309                 content.append({"name" : var_class, "value" : PLCOpenClasses["interface_%s" % var_class]()})
  1302         var = PLCOpenClasses["varListPlain_variable"]()
  1310         var = PLCOpenClasses["varListPlain_variable"]()
  1303         var.setname(name)
  1311         var.setname(name)
  1304         var_type = PLCOpenClasses["dataType"]()
  1312         var_type = PLCOpenClasses["dataType"]()
  1305         if type in [x for x,y in TypeHierarchy_list if not x.startswith("ANY")]:
  1313         if type in [x for x,y in TypeHierarchy_list if not x.startswith("ANY")]:
  1306             if type == "STRING":
  1314             if type == "STRING":