--- a/PLCControler.py Wed Apr 16 10:26:33 2008 +0200
+++ b/PLCControler.py Tue Apr 22 10:25:24 2008 +0200
@@ -1227,7 +1227,7 @@
infos["type"] = "Array"
infos["dimensions"] = []
for dimension in basetype_content["value"].getdimension():
- infos["dimensions"].append(str(dimension.getupper()))
+ infos["dimensions"].append((dimension.getlower(), dimension.getupper()))
base_type = basetype_content["value"].baseType.getcontent()
if base_type["value"] is None:
infos["base_type"] = base_type["name"]
@@ -1284,11 +1284,14 @@
datatype.baseType.setcontent({"name" : "enum", "value" : enumerated})
elif infos["type"] == "Array":
array = plcopen.derivedTypes_array()
- for dimension in infos["dimensions"]:
+ for i, dimension in enumerate(infos["dimensions"]):
dimension_range = plcopen.rangeSigned()
- dimension_range.setlower(1)
- dimension_range.setupper(int(dimension))
- array.appenddimension(dimension_range)
+ dimension_range.setlower(dimension[0])
+ dimension_range.setupper(dimension[1])
+ if i == 0:
+ array.setdimension([dimension_range])
+ else:
+ array.appenddimension(dimension_range)
if infos["base_type"] in self.GetBaseTypes():
if infos["base_type"] == "STRING":
array.baseType.setcontent({"name" : "string", "value" : plcopen.elementaryTypes_string()})