Last modified by Olli S. on 2017/04/28 21:52

From version 16.1
edited by Olli S.
on 2016/08/17 21:12
Change comment: Uploaded new attachment "knxprod_xml_size.png", version {1}
To version 17.1
edited by Olli S.
on 2016/08/17 21:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -104,7 +104,49 @@
104 104  
105 105  Dafür nimmt man sich wieder die Datei „M-0083_A-007-12-AADB.xml“ vor und hält nach einer Sektion Ausschau, die die Anfangsparameter <Parameter… und in der nächsten Zeile <Memory… hat. In diesem Fall ist das ab Zeile 1309:
106 106  
107 -
107 +(((
108 +[[image:knxprod_xml_memory.png||height="322" width="1639"]]
108 108  )))
110 +
111 +(% style="font-size:11.0pt;line-height:115%; font-family:~"Calibri~",~"sans-serif~";mso-ascii-theme-font:minor-latin;mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin; mso-bidi-font-family:~"Times New Roman~";mso-bidi-theme-font:minor-bidi; mso-ansi-language:DE;mso-fareast-language:EN-US;mso-bidi-language:AR-SA" %)Abbildung 6:Ausschnitt der Applikationsprogramm-Parameter
112 +
113 +(((
114 +Hier sind zu jedem Parameter, der in der ETS eingestellt und über den Bus übertragen wird, die Grundadresse und der Offset zu finden. Zusätzlich hat man durch die Namen einen guten Ansatz, welche Funktion durch den entsprechenden Parameter beeinflusst wird.
115 +
116 +Für ein Beispiel nehmen wir den Parameter aus Zeile 1324: ZyklSenden
117 +
118 +Dieser Parameter ist in der ETS unter der Bezeichnung „Messwert zyklisch senden“ zu finden:
119 +
120 +(((
121 +[[image:ets_parameter.png||height="348" width="770"]]
109 109  )))
123 +
124 +(((
125 +Abbildung 7: Ansicht in der ETS der Applikationsprogramm-Parameter
126 +
127 +Nun gilt es die Adresse dieses Parameters in dem userEeprom zu finden. Dazu wird der Parameter aus Zeile 1325 „CodeSegment=“M-0083_A-0047-12-AADB_AS-4400“ herangezogen. Die 0x4400 in diesem Parameter sind die Grundadresse aller Parameter. Dazu kommt jeweils der Offset, in diesem Fall Offset=“361“. Dieser Parameter ist allerdings in dezimaler Schreibweise angegeben! Somit sind 361 dez = 0x169, welche sich für die Gesamtadresse zu den 0x4400 hinzuaddieren.
128 +
129 +Für das Auslesen benötigt man allerdings noch die Information, wie viele Bytes man ab dieser Startadresse lesen möchte.
130 +Dazu sucht man in der Datei „M-0083_A-007-12-AADB.xml“ die Sektion
131 +<ParameterType Id="M-0083_A-0047-12-AADB_PT-TempCycle" Name="TempCycle">
132 +Die Id wird aus der Zeile 1324 unter „ParameterType“ herausgenommen und entsprechend danach gesucht.
133 +
134 +(((
135 +
136 +[[image:knxprod_xml_size.png||height="303" width="1041"]]
110 110  )))
138 +
139 +(% style="font-size:11.0pt;line-height:115%; font-family:~"Calibri~",~"sans-serif~";mso-ascii-theme-font:minor-latin;mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin; mso-bidi-font-family:~"Times New Roman~";mso-bidi-theme-font:minor-bidi; mso-ansi-language:DE;mso-fareast-language:EN-US;mso-bidi-language:AR-SA" %)Abbildung 8: Datentypgröße eines Applikationsprogramm-Parameters
140 +
141 +(((
142 +In dieser Sektion ist der Parameter „SizeInBit=8“ zu finden.
143 +
144 +Also kann der übertragene und in userEeprom abgespeicherte Wert mittels der Funktion userEeprom.getUInt8(0x4400 + 361);
145 +
146 +erfolgen.
147 +)))
148 +)))
149 +)))
150 +)))
151 +)))
152 +)))