Skip to content

Commit 118c487

Browse files
committed
Add client's project examples for SDM220Modbus and DDS238-1-ZN Energy meters
1 parent b4d02ad commit 118c487

File tree

2 files changed

+596
-0
lines changed

2 files changed

+596
-0
lines changed
Lines changed: 382 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,382 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project version="0.3.2">
3+
<name>Eastron SDM220Modbus</name>
4+
<author>serhmarch</author>
5+
<comment>Project to work with energy meter Eastron SDM220Modbus.
6+
7+
All data values in the SDM220Modbus smart meter are transferred as 32 bit IEEE754 floating
8+
point numbers, all 32-bit values have MSR (Most Signified Register) at first.
9+
So this setting was defined in Device Settings (Advanced&gt;Register Order).
10+
11+
All register read requests and data write requests must specify an even number of registers. Attempts to read/write an odd number of registers prompt the SDM220Modbus smart meter to return a Modbus Protocol exception message.</comment>
12+
<ports>
13+
<port>
14+
<timeoutFirstByte>1000</timeoutFirstByte>
15+
<name>Port</name>
16+
<serialPortName>COM3</serialPortName>
17+
<port>502</port>
18+
<stopBits>1</stopBits>
19+
<timeout>3000</timeout>
20+
<host>localhost</host>
21+
<dataBits>8</dataBits>
22+
<baudRate>9600</baudRate>
23+
<timeoutInterByte>50</timeoutInterByte>
24+
<type>RTU</type>
25+
<parity>No</parity>
26+
<flowControl>No</flowControl>
27+
</port>
28+
</ports>
29+
<devices>
30+
<device>
31+
<name>SDM220</name>
32+
<byteArrayFormat>Hex</byteArrayFormat>
33+
<stringEncoding>UTF-8</stringEncoding>
34+
<maxReadInputRegisters>127</maxReadInputRegisters>
35+
<maxWriteMultipleCoils>2040</maxWriteMultipleCoils>
36+
<registerOrder>MostSignifiedFirst</registerOrder>
37+
<portName>Port</portName>
38+
<maxReadCoils>2040</maxReadCoils>
39+
<maxWriteMultipleRegisters>127</maxWriteMultipleRegisters>
40+
<byteArraySeparator>\s</byteArraySeparator>
41+
<maxReadHoldingRegisters>127</maxReadHoldingRegisters>
42+
<stringLengthType>ZerroEnded</stringLengthType>
43+
<unit>1</unit>
44+
<maxReadDiscreteInputs>2040</maxReadDiscreteInputs>
45+
</device>
46+
</devices>
47+
<dataviews>
48+
<dataview name="dataView" period="1000">
49+
<item>
50+
<device>SDM220</device>
51+
<address>300001</address>
52+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
53+
<byteArraySeparator>\s</byteArraySeparator>
54+
<byteOrder>LessSignifiedFirst</byteOrder>
55+
<comment>Voltage (Volts)</comment>
56+
<format>Float</format>
57+
<period>1000</period>
58+
<registerOrder>DefaultOrder</registerOrder>
59+
<stringEncoding>DefaultStringEncoding</stringEncoding>
60+
<stringLengthType>DefaultStringLengthType</stringLengthType>
61+
<value>0</value>
62+
<variableLength>20</variableLength>
63+
</item>
64+
<item>
65+
<device>SDM220</device>
66+
<address>300007</address>
67+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
68+
<byteArraySeparator>\s</byteArraySeparator>
69+
<byteOrder>LessSignifiedFirst</byteOrder>
70+
<comment>Current (Amps)</comment>
71+
<format>Float</format>
72+
<period>1000</period>
73+
<registerOrder>DefaultOrder</registerOrder>
74+
<stringEncoding>DefaultStringEncoding</stringEncoding>
75+
<stringLengthType>DefaultStringLengthType</stringLengthType>
76+
<value>0</value>
77+
<variableLength>20</variableLength>
78+
</item>
79+
<item>
80+
<device>SDM220</device>
81+
<address>300013</address>
82+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
83+
<byteArraySeparator>\s</byteArraySeparator>
84+
<byteOrder>LessSignifiedFirst</byteOrder>
85+
<comment>Active Power (Watts)</comment>
86+
<format>Float</format>
87+
<period>1000</period>
88+
<registerOrder>DefaultOrder</registerOrder>
89+
<stringEncoding>DefaultStringEncoding</stringEncoding>
90+
<stringLengthType>DefaultStringLengthType</stringLengthType>
91+
<value>0</value>
92+
<variableLength>20</variableLength>
93+
</item>
94+
<item>
95+
<device>SDM220</device>
96+
<address>300019</address>
97+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
98+
<byteArraySeparator>\s</byteArraySeparator>
99+
<byteOrder>LessSignifiedFirst</byteOrder>
100+
<comment>Apparent Power (VoltAmps)</comment>
101+
<format>Float</format>
102+
<period>1000</period>
103+
<registerOrder>DefaultOrder</registerOrder>
104+
<stringEncoding>DefaultStringEncoding</stringEncoding>
105+
<stringLengthType>DefaultStringLengthType</stringLengthType>
106+
<value>0</value>
107+
<variableLength>20</variableLength>
108+
</item>
109+
<item>
110+
<device>SDM220</device>
111+
<address>300025</address>
112+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
113+
<byteArraySeparator>\s</byteArraySeparator>
114+
<byteOrder>LessSignifiedFirst</byteOrder>
115+
<comment>Reactive Power (VAr)</comment>
116+
<format>Float</format>
117+
<period>1000</period>
118+
<registerOrder>DefaultOrder</registerOrder>
119+
<stringEncoding>DefaultStringEncoding</stringEncoding>
120+
<stringLengthType>DefaultStringLengthType</stringLengthType>
121+
<value>0</value>
122+
<variableLength>20</variableLength>
123+
</item>
124+
<item>
125+
<device>SDM220</device>
126+
<address>300031</address>
127+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
128+
<byteArraySeparator>\s</byteArraySeparator>
129+
<byteOrder>LessSignifiedFirst</byteOrder>
130+
<comment>PF (Power Factor)</comment>
131+
<format>Float</format>
132+
<period>1000</period>
133+
<registerOrder>DefaultOrder</registerOrder>
134+
<stringEncoding>DefaultStringEncoding</stringEncoding>
135+
<stringLengthType>DefaultStringLengthType</stringLengthType>
136+
<value>0</value>
137+
<variableLength>20</variableLength>
138+
</item>
139+
<item>
140+
<device>SDM220</device>
141+
<address>300037</address>
142+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
143+
<byteArraySeparator>\s</byteArraySeparator>
144+
<byteOrder>LessSignifiedFirst</byteOrder>
145+
<comment>Phase Angle (Degree)</comment>
146+
<format>Float</format>
147+
<period>1000</period>
148+
<registerOrder>DefaultOrder</registerOrder>
149+
<stringEncoding>DefaultStringEncoding</stringEncoding>
150+
<stringLengthType>DefaultStringLengthType</stringLengthType>
151+
<value>0</value>
152+
<variableLength>20</variableLength>
153+
</item>
154+
<item>
155+
<device>SDM220</device>
156+
<address>300071</address>
157+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
158+
<byteArraySeparator>\s</byteArraySeparator>
159+
<byteOrder>LessSignifiedFirst</byteOrder>
160+
<comment>Frequency (Hz)</comment>
161+
<format>Float</format>
162+
<period>1000</period>
163+
<registerOrder>DefaultOrder</registerOrder>
164+
<stringEncoding>DefaultStringEncoding</stringEncoding>
165+
<stringLengthType>DefaultStringLengthType</stringLengthType>
166+
<value>0</value>
167+
<variableLength>20</variableLength>
168+
</item>
169+
<item>
170+
<device>SDM220</device>
171+
<address>300073</address>
172+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
173+
<byteArraySeparator>\s</byteArraySeparator>
174+
<byteOrder>LessSignifiedFirst</byteOrder>
175+
<comment>Import Active Energy (kWh)</comment>
176+
<format>Float</format>
177+
<period>1000</period>
178+
<registerOrder>DefaultOrder</registerOrder>
179+
<stringEncoding>DefaultStringEncoding</stringEncoding>
180+
<stringLengthType>DefaultStringLengthType</stringLengthType>
181+
<value>0</value>
182+
<variableLength>20</variableLength>
183+
</item>
184+
<item>
185+
<device>SDM220</device>
186+
<address>300075</address>
187+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
188+
<byteArraySeparator>\s</byteArraySeparator>
189+
<byteOrder>LessSignifiedFirst</byteOrder>
190+
<comment>Export Active Energy (kWh)</comment>
191+
<format>Float</format>
192+
<period>1000</period>
193+
<registerOrder>DefaultOrder</registerOrder>
194+
<stringEncoding>DefaultStringEncoding</stringEncoding>
195+
<stringLengthType>DefaultStringLengthType</stringLengthType>
196+
<value>0</value>
197+
<variableLength>20</variableLength>
198+
</item>
199+
<item>
200+
<device>SDM220</device>
201+
<address>300077</address>
202+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
203+
<byteArraySeparator>\s</byteArraySeparator>
204+
<byteOrder>LessSignifiedFirst</byteOrder>
205+
<comment>Import Reactive Energy (rVArh)</comment>
206+
<format>Float</format>
207+
<period>1000</period>
208+
<registerOrder>DefaultOrder</registerOrder>
209+
<stringEncoding>DefaultStringEncoding</stringEncoding>
210+
<stringLengthType>DefaultStringLengthType</stringLengthType>
211+
<value>0</value>
212+
<variableLength>20</variableLength>
213+
</item>
214+
<item>
215+
<device>SDM220</device>
216+
<address>300079</address>
217+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
218+
<byteArraySeparator>\s</byteArraySeparator>
219+
<byteOrder>LessSignifiedFirst</byteOrder>
220+
<comment>Export Reactive Energy (rVArh)</comment>
221+
<format>Float</format>
222+
<period>1000</period>
223+
<registerOrder>DefaultOrder</registerOrder>
224+
<stringEncoding>DefaultStringEncoding</stringEncoding>
225+
<stringLengthType>DefaultStringLengthType</stringLengthType>
226+
<value>0</value>
227+
<variableLength>20</variableLength>
228+
</item>
229+
<item>
230+
<device>SDM220</device>
231+
<address>300343</address>
232+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
233+
<byteArraySeparator>\s</byteArraySeparator>
234+
<byteOrder>LessSignifiedFirst</byteOrder>
235+
<comment>Total Active Energy (kWh)</comment>
236+
<format>Float</format>
237+
<period>1000</period>
238+
<registerOrder>DefaultOrder</registerOrder>
239+
<stringEncoding>DefaultStringEncoding</stringEncoding>
240+
<stringLengthType>DefaultStringLengthType</stringLengthType>
241+
<value>0</value>
242+
<variableLength>20</variableLength>
243+
</item>
244+
<item>
245+
<device>SDM220</device>
246+
<address>300345</address>
247+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
248+
<byteArraySeparator>\s</byteArraySeparator>
249+
<byteOrder>LessSignifiedFirst</byteOrder>
250+
<comment>Total Reactive Energy (kWh)</comment>
251+
<format>Float</format>
252+
<period>1000</period>
253+
<registerOrder>DefaultOrder</registerOrder>
254+
<stringEncoding>DefaultStringEncoding</stringEncoding>
255+
<stringLengthType>DefaultStringLengthType</stringLengthType>
256+
<value>0</value>
257+
<variableLength>20</variableLength>
258+
</item>
259+
<item>
260+
<device>SDM220</device>
261+
<address>400013</address>
262+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
263+
<byteArraySeparator>\s</byteArraySeparator>
264+
<byteOrder>LessSignifiedFirst</byteOrder>
265+
<comment>Relay Pulse Width:60;100;200 ms</comment>
266+
<format>Float</format>
267+
<period>1000</period>
268+
<registerOrder>DefaultOrder</registerOrder>
269+
<stringEncoding>DefaultStringEncoding</stringEncoding>
270+
<stringLengthType>DefaultStringLengthType</stringLengthType>
271+
<value>0</value>
272+
<variableLength>20</variableLength>
273+
</item>
274+
<item>
275+
<device>SDM220</device>
276+
<address>400019</address>
277+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
278+
<byteArraySeparator>\s</byteArraySeparator>
279+
<byteOrder>LessSignifiedFirst</byteOrder>
280+
<comment>Parity+Stop:0=N1;1=E1;2=O1;3=N2</comment>
281+
<format>Float</format>
282+
<period>1000</period>
283+
<registerOrder>DefaultOrder</registerOrder>
284+
<stringEncoding>DefaultStringEncoding</stringEncoding>
285+
<stringLengthType>DefaultStringLengthType</stringLengthType>
286+
<value>0</value>
287+
<variableLength>20</variableLength>
288+
</item>
289+
<item>
290+
<device>SDM220</device>
291+
<address>400021</address>
292+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
293+
<byteArraySeparator>\s</byteArraySeparator>
294+
<byteOrder>LessSignifiedFirst</byteOrder>
295+
<comment>Unit:1-247</comment>
296+
<format>Float</format>
297+
<period>1000</period>
298+
<registerOrder>DefaultOrder</registerOrder>
299+
<stringEncoding>DefaultStringEncoding</stringEncoding>
300+
<stringLengthType>DefaultStringLengthType</stringLengthType>
301+
<value>0</value>
302+
<variableLength>20</variableLength>
303+
</item>
304+
<item>
305+
<device>SDM220</device>
306+
<address>400029</address>
307+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
308+
<byteArraySeparator>\s</byteArraySeparator>
309+
<byteOrder>LessSignifiedFirst</byteOrder>
310+
<comment>Baud:0=2400;1=4800;2=9600;5=19200</comment>
311+
<format>Float</format>
312+
<period>1000</period>
313+
<registerOrder>DefaultOrder</registerOrder>
314+
<stringEncoding>DefaultStringEncoding</stringEncoding>
315+
<stringLengthType>DefaultStringLengthType</stringLengthType>
316+
<value>0</value>
317+
<variableLength>20</variableLength>
318+
</item>
319+
<item>
320+
<device>SDM220</device>
321+
<address>400087</address>
322+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
323+
<byteArraySeparator>\s</byteArraySeparator>
324+
<byteOrder>LessSignifiedFirst</byteOrder>
325+
<comment>Pulse1 output (look ref for details)</comment>
326+
<format>Float</format>
327+
<period>1000</period>
328+
<registerOrder>DefaultOrder</registerOrder>
329+
<stringEncoding>DefaultStringEncoding</stringEncoding>
330+
<stringLengthType>DefaultStringLengthType</stringLengthType>
331+
<value>0</value>
332+
<variableLength>20</variableLength>
333+
</item>
334+
<item>
335+
<device>SDM220</device>
336+
<address>462721</address>
337+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
338+
<byteArraySeparator>\s</byteArraySeparator>
339+
<byteOrder>LessSignifiedFirst</byteOrder>
340+
<comment>Interal-Slide-Scroll-Backlight: BCD (look ref)</comment>
341+
<format>Hex32</format>
342+
<period>1000</period>
343+
<registerOrder>DefaultOrder</registerOrder>
344+
<stringEncoding>DefaultStringEncoding</stringEncoding>
345+
<stringLengthType>DefaultStringLengthType</stringLengthType>
346+
<value>00000000</value>
347+
<variableLength>20</variableLength>
348+
</item>
349+
<item>
350+
<device>SDM220</device>
351+
<address>463761</address>
352+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
353+
<byteArraySeparator>\s</byteArraySeparator>
354+
<byteOrder>LessSignifiedFirst</byteOrder>
355+
<comment>Pulse1 const (kVArh/imp):0=0.001;1=0.01;2=0.1;3=1</comment>
356+
<format>Hex32</format>
357+
<period>1000</period>
358+
<registerOrder>DefaultOrder</registerOrder>
359+
<stringEncoding>DefaultStringEncoding</stringEncoding>
360+
<stringLengthType>DefaultStringLengthType</stringLengthType>
361+
<value>00000000</value>
362+
<variableLength>20</variableLength>
363+
</item>
364+
<item>
365+
<device>SDM220</device>
366+
<address>463776</address>
367+
<byteArrayFormat>DefaultDigitalFormat</byteArrayFormat>
368+
<byteArraySeparator>\s</byteArraySeparator>
369+
<byteOrder>LessSignifiedFirst</byteOrder>
370+
<comment>Measure (total):1=import;2=imp+exp;3=imp-exp</comment>
371+
<format>Hex32</format>
372+
<period>1000</period>
373+
<registerOrder>DefaultOrder</registerOrder>
374+
<stringEncoding>DefaultStringEncoding</stringEncoding>
375+
<stringLengthType>DefaultStringLengthType</stringLengthType>
376+
<value>00000000</value>
377+
<variableLength>20</variableLength>
378+
</item>
379+
</dataview>
380+
</dataviews>
381+
<windows>0c0000006461743a64617461566965770a0000000000000000000000bd06000099020000</windows>
382+
</project>

0 commit comments

Comments
 (0)