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": |