PLCControler.py
changeset 207 b1144bb36605
parent 197 8023d02d78ed
child 208 c70aefcadf66
--- 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()})