1225 infos["values"].append(value.getname()) |
1225 infos["values"].append(value.getname()) |
1226 elif basetype_content["name"] == "array": |
1226 elif basetype_content["name"] == "array": |
1227 infos["type"] = "Array" |
1227 infos["type"] = "Array" |
1228 infos["dimensions"] = [] |
1228 infos["dimensions"] = [] |
1229 for dimension in basetype_content["value"].getdimension(): |
1229 for dimension in basetype_content["value"].getdimension(): |
1230 infos["dimensions"].append(str(dimension.getupper())) |
1230 infos["dimensions"].append((dimension.getlower(), dimension.getupper())) |
1231 base_type = basetype_content["value"].baseType.getcontent() |
1231 base_type = basetype_content["value"].baseType.getcontent() |
1232 if base_type["value"] is None: |
1232 if base_type["value"] is None: |
1233 infos["base_type"] = base_type["name"] |
1233 infos["base_type"] = base_type["name"] |
1234 else: |
1234 else: |
1235 infos["base_type"] = base_type["value"].getname() |
1235 infos["base_type"] = base_type["value"].getname() |
1282 else: |
1282 else: |
1283 enumerated.values.appendvalue(value) |
1283 enumerated.values.appendvalue(value) |
1284 datatype.baseType.setcontent({"name" : "enum", "value" : enumerated}) |
1284 datatype.baseType.setcontent({"name" : "enum", "value" : enumerated}) |
1285 elif infos["type"] == "Array": |
1285 elif infos["type"] == "Array": |
1286 array = plcopen.derivedTypes_array() |
1286 array = plcopen.derivedTypes_array() |
1287 for dimension in infos["dimensions"]: |
1287 for i, dimension in enumerate(infos["dimensions"]): |
1288 dimension_range = plcopen.rangeSigned() |
1288 dimension_range = plcopen.rangeSigned() |
1289 dimension_range.setlower(1) |
1289 dimension_range.setlower(dimension[0]) |
1290 dimension_range.setupper(int(dimension)) |
1290 dimension_range.setupper(dimension[1]) |
1291 array.appenddimension(dimension_range) |
1291 if i == 0: |
|
1292 array.setdimension([dimension_range]) |
|
1293 else: |
|
1294 array.appenddimension(dimension_range) |
1292 if infos["base_type"] in self.GetBaseTypes(): |
1295 if infos["base_type"] in self.GetBaseTypes(): |
1293 if infos["base_type"] == "STRING": |
1296 if infos["base_type"] == "STRING": |
1294 array.baseType.setcontent({"name" : "string", "value" : plcopen.elementaryTypes_string()}) |
1297 array.baseType.setcontent({"name" : "string", "value" : plcopen.elementaryTypes_string()}) |
1295 elif infos["base_type"] == "WSTRING": |
1298 elif infos["base_type"] == "WSTRING": |
1296 array.baseType.setcontent({"name" : "wstring", "value" : plcopen.wstring()}) |
1299 array.baseType.setcontent({"name" : "wstring", "value" : plcopen.wstring()}) |