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 18.1
edited by Olli S.
on 2016/08/17 21:15
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -10,6 +10,8 @@
10 10  
11 11  (((
12 12  Abbildung 1: Dateistruktur der *.knxprod Datei
13 +
14 +
13 13  )))
14 14  
15 15  Hier ist der Ordner „M-0083“ auszuwählen und es wird folgender Inhalt angezeigt:
... ... @@ -20,6 +20,8 @@
20 20  
21 21  (((
22 22  Abbildung 2: Dateistruktur des Ordners „M-0083“
25 +
26 +
23 23  )))
24 24  
25 25  Die Datei „M-0083_A-007-12-AADB.xml“ lässt sich gut mit z.B. dem Notepad++ öffnen.
... ... @@ -42,6 +42,8 @@
42 42  (((
43 43  (((
44 44  Abbildung 3: Setup eines KNX Gerätes
49 +
50 +
45 45  )))
46 46  )))
47 47  
... ... @@ -86,6 +86,7 @@
86 86  BCU2 -> BCU_TYPE=20
87 87  BIM112 -> BIM112
88 88  
95 +
89 89  (((
90 90  [[image:Libraries_BCU_settings.png||height="813" width="799"]]
91 91  )))
... ... @@ -97,6 +97,7 @@
97 97  BCU2 -> "${workspace_loc:/sblib/Debug_BCU2}"
98 98  BIM112 -> "${workspace_loc:/sblib/Debug_BIM112}"
99 99  
107 +
100 100  Wenn nun noch die sblib in der korrekten Busankoppler Version kompiliert wurde, sollte ich das Projekt übersetzen lassen und das Gerät sich mittels ETS mit einer physikalischen Adresse und dem Applikationsprogramm versehen lassen.
101 101  Natürlich passiert (wenn überhaupt etwas passiert) nicht das richtige, aber man hat der ETS glaubhaft gemacht, dass ein entsprechendes Gerät am Bus angeschlossen ist.
102 102  
... ... @@ -104,7 +104,57 @@
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 -
115 +(((
116 +[[image:knxprod_xml_memory.png||height="322" width="1639"]]
108 108  )))
118 +
119 +(% 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
120 +
121 +
122 +(((
123 +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.
124 +
125 +Für ein Beispiel nehmen wir den Parameter aus Zeile 1324: ZyklSenden
126 +
127 +Dieser Parameter ist in der ETS unter der Bezeichnung „Messwert zyklisch senden“ zu finden:
128 +
129 +(((
130 +[[image:ets_parameter.png||height="348" width="770"]]
109 109  )))
132 +
133 +(((
134 +Abbildung 7: Ansicht in der ETS der Applikationsprogramm-Parameter
135 +
136 +
137 +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.
138 +
139 +Für das Auslesen benötigt man allerdings noch die Information, wie viele Bytes man ab dieser Startadresse lesen möchte.
140 +Dazu sucht man in der Datei „M-0083_A-007-12-AADB.xml“ die Sektion
141 +<ParameterType Id="M-0083_A-0047-12-AADB_PT-TempCycle" Name="TempCycle">
142 +Die Id wird aus der Zeile 1324 unter „ParameterType“ herausgenommen und entsprechend danach gesucht.
143 +
144 +(((
145 +[[image:knxprod_xml_size.png||height="303" width="1041"]]
110 110  )))
147 +
148 +(% 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
149 +
150 +
151 +(((
152 +(((
153 +In dieser Sektion ist der Parameter „SizeInBit=8“ zu finden.
154 +)))
155 +
156 +(((
157 +Also kann der übertragene und in userEeprom abgespeicherte Wert mittels der Funktion userEeprom.getUInt8(0x4400 + 361);
158 +)))
159 +
160 +(((
161 +erfolgen.
162 +)))
163 +)))
164 +)))
165 +)))
166 +)))
167 +)))
168 +)))