define(`TITLE', `M-Bus Master, Part 4 (Gas)')
define(`DATE', `2013-09-11')
define(`CONTENT', `
And finally, the gas meter talks:
First, assign address 0x40:
so 68 06 06 68 53 fe 51 01 7a 40 5d 16
success
SO RESP: E5
And it works:
so 10 40 40 80 16
success
SO RESP: E5
And here is the measurement:
so 10 5b 40 9b 16
success
SO RESP: 68 56 56 68 08 40 72 43 60 52 00 77 04 14 03 CA 10 00 00 0C 78 76 03 01 10 0D 7C 08 44 49 20 2E 74 73 75 63 0A 30 30 30 30 30 30 30 30 30 30 04 6D 38 15 AA 19 02 7C 09 65 6D 69 74 20 2E 74 61 62 22 0C 04 13 C1 0E 00 00 04 93 7F 4E 01 00 00 44 13 5D 08 00 00 0F 01 00 1F DE 16
[table]Octet(s), Field, Meaning
68 56 56 68, preamble and length,
08, C Field,
40, A Field,
72, CI Field, variable data response
43 60 52 00, Ident. No.,
77 04, Manufacturer, ACW; Actaris (Itron)
14, Version,
03, Medium, Gas,
CA, Access No,
10, Status,
00 00, Signature,
0C, DIF, 8 digit BCD
78, VIF, Fabrication No
76 03 01 10, Value,
0D, DIF, variable length
7C, VIF, true in following string; length in first byte
08, VIF, first byte; length = 8
44 49 20 2E 74 73 75 63, VIF, Value (LSB first) = "cust. ID";
0A, Value, length = 10
30 30 30 30 30 30 30 30 30 30, Value, data
04, DIF, 32bit integer
6D, VIF, Time Point; time&date
38 15 AA 19, Value,
02, DIF, 16bit integer
7C, VIF, true in following string; length in first byte
09, VIF, first byte; length = 9
65 6D 69 74 20 2E 74 61 62, VIF, Value (LSB first) = "bat. time"
22 0C, Value;
04, DIF, 32bit integer
13, VIF, Volume; 10^(3-6)m^3
C1 0E 00 00, Value,
04, DIF, 32bit integer
93, VIF, ext; Volume; 10^(3-6)m^3
7F, VIFE,
4E 01 00 00, Value,
44, DIF, 32bit integer
13, VIF, Volume; 10^(3-6)m^3
5D 08 00 00, Value,
0F, DIF, Special Functions; Start of manufacturer specific data structures to end of user data
01 00 1F, ,
DE , Checksum,
16, Stopbyte
[/table]
')