plcopen/plcopen.py
changeset 1371 3c55c99b10ab
parent 1355 9183fb765f16
child 1382 675a6229fc60
equal deleted inserted replaced
1370:ee795a8d4404 1371:3c55c99b10ab
  1195             self.interface = PLCOpenParser.CreateElement("interface", "pou")
  1195             self.interface = PLCOpenParser.CreateElement("interface", "pou")
  1196         content = self.interface.getcontent()
  1196         content = self.interface.getcontent()
  1197         if len(content) == 0:
  1197         if len(content) == 0:
  1198             varlist = PLCOpenParser.CreateElement(var_class, "interface")
  1198             varlist = PLCOpenParser.CreateElement(var_class, "interface")
  1199             self.interface.setcontent([varlist])
  1199             self.interface.setcontent([varlist])
  1200         elif content[-1] != var_class:
  1200         elif content[-1].getLocalTag() != var_class:
  1201             varlist = PLCOpenParser.CreateElement(var_class, "interface")
  1201             varlist = PLCOpenParser.CreateElement(var_class, "interface")
  1202             content[-1].addnext(varlist)
  1202             content[-1].addnext(varlist)
  1203         else:
  1203         else:
  1204             varlist = content[-1]
  1204             varlist = content[-1]
  1205             variables = varlist.getvariable()
  1205             variables = varlist.getvariable()
  1240                 for var in varlist.getvariable():
  1240                 for var in varlist.getvariable():
  1241                     if var.getname() == name:
  1241                     if var.getname() == name:
  1242                         vartype_content = var.gettype().getcontent()
  1242                         vartype_content = var.gettype().getcontent()
  1243                         if vartype_content.getLocalTag() == "derived" and vartype_content.getname() == var_type:
  1243                         if vartype_content.getLocalTag() == "derived" and vartype_content.getname() == var_type:
  1244                             varlist.remove(var)
  1244                             varlist.remove(var)
       
  1245                             if len(varlist.getvariable()) == 0:
       
  1246                                 self.interface.remove(varlist)
  1245                             break
  1247                             break
  1246                 if len(varlist.getvariable()) == 0:
       
  1247                     content.remove(varlist)
       
  1248                     break
       
  1249     setattr(cls, "removepouVar", removepouVar)
  1248     setattr(cls, "removepouVar", removepouVar)
  1250     
  1249     
  1251     def hasblock(self, name=None, block_type=None):
  1250     def hasblock(self, name=None, block_type=None):
  1252         if self.getbodyType() in ["FBD", "LD", "SFC"]:
  1251         if self.getbodyType() in ["FBD", "LD", "SFC"]:
  1253             for instance in self.getinstances():
  1252             for instance in self.getinstances():