plcopen/plcopen.py
changeset 143 015a34da60eb
parent 141 c0242a51774c
child 145 4fb225afddf4
equal deleted inserted replaced
142:f5f43f009709 143:015a34da60eb
   451         var = PLCOpenClasses["varListPlain_variable"]()
   451         var = PLCOpenClasses["varListPlain_variable"]()
   452         var.setName(name)
   452         var.setName(name)
   453         var_type = PLCOpenClasses["dataType"]()
   453         var_type = PLCOpenClasses["dataType"]()
   454         derived_type = PLCOpenClasses["derived"]()
   454         derived_type = PLCOpenClasses["derived"]()
   455         derived_type.setName(type)
   455         derived_type.setName(type)
   456         var_type.setValue(derived_type)
   456         var_type.setContent("derived", derived_type)
   457         var.setType(var_type)
   457         var.setType(var_type)
   458         content[-1]["value"].appendVariable(var)
   458         content[-1]["value"].appendVariable(var)
   459     setattr(cls, "addPouVar", addPouVar)
   459     setattr(cls, "addPouVar", addPouVar)
   460     
   460     
   461     def changePouVar(self, old_type, old_name, new_type, new_name):
   461     def changePouVar(self, old_type, old_name, new_type, new_name):
   475         content = self.interface.getContent()
   475         content = self.interface.getContent()
   476         for varlist in content:
   476         for varlist in content:
   477             variables = varlist["value"].getVariable()
   477             variables = varlist["value"].getVariable()
   478             for var in variables:
   478             for var in variables:
   479                 if var.getName() == name:
   479                 if var.getName() == name:
   480                     var_type = var.getType().getValue()
   480                     vartype_content = var.getType().getContent()
   481                     if isinstance(var_type, PLCOpenClasses["derived"]) and var_type.getName() == type:
   481                     if vartype_content["name"] == "derived" and vartype_content["value"].getName() == type:
   482                         variables.remove(var)
   482                         variables.remove(var)
   483                         break
   483                         break
   484             if len(varlist["value"].getVariable()) == 0:
   484             if len(varlist["value"].getVariable()) == 0:
   485                 content.remove(varlist)
   485                 content.remove(varlist)
   486                 break
   486                 break