plcopen/plcopen.py
changeset 484 acef952101a5
parent 470 cc64bbb1d654
child 488 93bf600bae11
equal deleted inserted replaced
483:779a519f78f2 484:acef952101a5
   647                 customblocktypes.append(customblocktype["name"])
   647                 customblocktypes.append(customblocktype["name"])
   648         return customblocktypes
   648         return customblocktypes
   649     setattr(cls, "GetCustomBlockResource", GetCustomBlockResource)
   649     setattr(cls, "GetCustomBlockResource", GetCustomBlockResource)
   650 
   650 
   651     # Return Data Types checking for recursion
   651     # Return Data Types checking for recursion
   652     def GetCustomDataTypes(self, exclude = ""):
   652     def GetCustomDataTypes(self, exclude = "", complextypes = True):
   653         customdatatypes = []
   653         customdatatypes = []
   654         for customdatatype in self.getdataTypes():
   654         for customdatatype in self.getdataTypes():
   655             customdatatype_name = customdatatype.getname()
   655             customdatatype_name = customdatatype.getname()
       
   656             if not complextypes and customdatatype.baseType.getcontent()["name"] in ["array", "struct"]:
       
   657                 continue
   656             if customdatatype_name != exclude and not self.ElementIsUsedBy(exclude, customdatatype_name):
   658             if customdatatype_name != exclude and not self.ElementIsUsedBy(exclude, customdatatype_name):
   657                 customdatatypes.append(customdatatype_name)
   659                 customdatatypes.append(customdatatype_name)
   658         return customdatatypes
   660         return customdatatypes
   659     setattr(cls, "GetCustomDataTypes", GetCustomDataTypes)
   661     setattr(cls, "GetCustomDataTypes", GetCustomDataTypes)
   660 
   662