plcopen/plcopen.py
changeset 1406 82db84fe88ea
parent 1400 65a751cbb9b9
child 1534 d2abe4109467
equal deleted inserted replaced
1405:0b9cd761a356 1406:82db84fe88ea
  1179     def setvars(self, vars):
  1179     def setvars(self, vars):
  1180         if self.interface is None:
  1180         if self.interface is None:
  1181             self.interface = PLCOpenParser.CreateElement("interface", "pou")
  1181             self.interface = PLCOpenParser.CreateElement("interface", "pou")
  1182         self.interface.setcontent(vars)
  1182         self.interface.setcontent(vars)
  1183     setattr(cls, "setvars", setvars)
  1183     setattr(cls, "setvars", setvars)
  1184     
       
  1185     def addpouLocalVar(self, var_type, name, location="", description=""):
       
  1186         self.addpouVar(var_type, name, location=location, description=description)
       
  1187     setattr(cls, "addpouLocalVar", addpouLocalVar)
       
  1188         
  1184         
  1189     def addpouExternalVar(self, var_type, name):
  1185     def addpouExternalVar(self, var_type, name):
  1190         self.addpouVar(type, name, "externalVars")
  1186         self.addpouVar(var_type, name, "externalVars")
  1191     setattr(cls, "addpouExternalVar", addpouExternalVar)
  1187     setattr(cls, "addpouExternalVar", addpouExternalVar)
  1192     
  1188     
  1193     def addpouVar(self, var_type, name, var_class="localVars", location="", description=""):
  1189     def addpouVar(self, var_type, name, var_class="localVars", location="", description="", initval=""):
  1194         if self.interface is None:
  1190         if self.interface is None:
  1195             self.interface = PLCOpenParser.CreateElement("interface", "pou")
  1191             self.interface = PLCOpenParser.CreateElement("interface", "pou")
  1196         content = self.interface.getcontent()
  1192         content = self.interface.getcontent()
  1197         if len(content) == 0:
  1193         if len(content) == 0:
  1198             varlist = PLCOpenParser.CreateElement(var_class, "interface")
  1194             varlist = PLCOpenParser.CreateElement(var_class, "interface")
  1213             var.setaddress(location)
  1209             var.setaddress(location)
  1214         if description != "":
  1210         if description != "":
  1215             ft = PLCOpenParser.CreateElement("documentation", "variable")
  1211             ft = PLCOpenParser.CreateElement("documentation", "variable")
  1216             ft.setanyText(description)
  1212             ft.setanyText(description)
  1217             var.setdocumentation(ft)
  1213             var.setdocumentation(ft)
       
  1214         if initval != "":
       
  1215             el = PLCOpenParser.CreateElement("initialValue", "variable")
       
  1216             el.setvalue(initval)
       
  1217             var.setinitialValue(el)
  1218         
  1218         
  1219         varlist.appendvariable(var)
  1219         varlist.appendvariable(var)
  1220     setattr(cls, "addpouVar", addpouVar)
  1220     setattr(cls, "addpouVar", addpouVar)
       
  1221     setattr(cls, "addpouLocalVar", addpouVar)
  1221     
  1222     
  1222     def changepouVar(self, old_type, old_name, new_type, new_name):
  1223     def changepouVar(self, old_type, old_name, new_type, new_name):
  1223         if self.interface is not None:
  1224         if self.interface is not None:
  1224             content = self.interface.getcontent()
  1225             content = self.interface.getcontent()
  1225             for varlist in content:
  1226             for varlist in content: