PLCGenerator.py
changeset 864 bf4f7f0801b9
parent 854 c10f2092c43a
child 883 235a9ec83b95
equal deleted inserted replaced
863:b1ead41fbd3b 864:bf4f7f0801b9
   190                     element_type = element.type.getcontent()
   190                     element_type = element.type.getcontent()
   191                     # Structure element derived directly from a user defined type 
   191                     # Structure element derived directly from a user defined type 
   192                     if element_type["name"] == "derived":
   192                     if element_type["name"] == "derived":
   193                         elementtype_name = element_type["value"].getname()
   193                         elementtype_name = element_type["value"].getname()
   194                         self.GenerateDataType(elementtype_name)
   194                         self.GenerateDataType(elementtype_name)
       
   195                     elif element_type["name"] == "array":
       
   196                         base_type = element_type["value"].baseType.getcontent()
       
   197                         # Array derived directly from a user defined type 
       
   198                         if base_type["name"] == "derived":
       
   199                             basetype_name = base_type["value"].getname()
       
   200                             self.GenerateDataType(basetype_name)
       
   201                         # Array derived directly from a string type 
       
   202                         elif base_type["name"] in ["string", "wstring"]:
       
   203                             basetype_name = base_type["name"].upper()
       
   204                         # Array derived directly from an elementary type 
       
   205                         else:
       
   206                             basetype_name = base_type["name"]
       
   207                         dimensions = ["%s..%s" % (dimension.getlower(), dimension.getupper())
       
   208                                       for dimension in element_type["value"].getdimension()]
       
   209                         elementtype_name = "ARRAY [%s] OF %s" % (",".join(dimensions), basetype_name)
   195                     # Structure element derived directly from a string type 
   210                     # Structure element derived directly from a string type 
   196                     elif element_type["name"] in ["string", "wstring"]:
   211                     elif element_type["name"] in ["string", "wstring"]:
   197                         elementtype_name = element_type["name"].upper()
   212                         elementtype_name = element_type["name"].upper()
   198                     # Structure element derived directly from an elementary type 
   213                     # Structure element derived directly from an elementary type 
   199                     else:
   214                     else: