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]
')