Multi Master/Slave answers cluster
If a field of the payload starts with 0x, this means that it's an hexadecimal representation, and if it starts with 0b, it is a binary representation.
Any multi-byte numerical value is serialized in “Big Endian” order.
Present value
Standard report
Report
Features | Fctrl | CmdID | ClusterID | AttributeID | Attribute type | Data | Comment |
---|---|---|---|---|---|---|---|
Report attributes | 0x11 | 0x0A | 0x80 0x09 | 0x00 0x00 | 0x41 | 0xss 0xdd 0xdd 0xdd 0xaa...aa | Current Multi answers frame got in the last Master/Slaves exchanges 0xss: Data size (size of 0xdddddd + 0xaa..aa) 0xdd 0xdd 0xdd: Data descriptor 0xaa..0xaa : All the current available answers, got in the last Master/Slave exchanges, aggregated (with or without ModBus headers according to the Header option attribute). First datas corresponding to the smallest set bit index on Data descriptor, and so on. This report can be sent on several frames if it is longer than 51 bytes |
In the tab here above,a "Data descriptor" can be seen (0xdddddd). This descriptor is used to describe the data that are after it in the payload. Here below, can be see the analysis of what is inside this descriptor.
0xdddddd = 0b cccccccc nnntttpp pppppppp where :
- cccccccc (on 1 byte) : Number of the "frame series" sent, from 0 to 255 (cyclic counter). This number is incremented every time a report is sent
- nnn (on 3 bits) : Number of the current frame
- ttt (on 3 bits) : Number of the last frame to send with this series number (0bssssssss). Thus, it is the total number of frames to send for this report, minus 1
- pppppppppp (on 10 bits) : Presence or absence of the Master/Slave answer, from the EndPoint corresponding to the bit index, in the frame
- Example: if 0bpppppppppp = 0b0000001011, then only the Master/Slave answers from EndPoint n°0,1 and 3 are present in the rest of the payload
Configuration
Features | Fctrl | CmdID | ClusterID | Payload | Comment |
---|---|---|---|---|---|
Configure reporting | 0x11 | 0x06 | 0x80 0x09 | 0x00 0x00 0x00 0x41 0xmmmm 0xMMMM 0x01 0x00 | This command allows to configure a report on the Multi answers frame, containing all the Serial Master/Slave answers 0x00 0x00: Attribute ID 0x41: Attribute type 0xmmmm: Minimum reporting interval 0xMMMM: Maximum reporting interval 0x01 : size of reportable change 0x00: reportable change => A report will be trigged only on the maximum reporting interval |
Configure reporting response | 0x11 | 0x07 | 0x80 0x09 | 0xss 0x00 0x00 0x00 | 0xss:status (0x00 if everything is OK) |
Read reporting configuration | 0x11 | 0x08 | 0x80 0x09 | 0x00 0x00 0x00 | 0x00 0x00: Attribute ID |
Read reporting configuration response | 0x11 | 0x09 | 0x80 0x09 | 0xss 0x00 0x00 0x00 0x41 0xmmmm 0xMMMM 0x01 0x00 | 0xss:status (0x00 if everything is OK) 0x00 0x00:Attribute ID 0x41: Attribute type 0xmmmm: Minimum reporting interval 0xMMMM: Maximum reporting interval 0x01 : size of reportable change 0x00: reportable change |
Read/Write
Features | Fctrl | CmdID | ClusterID | Attribute ID | Status | Attribute type | Data | Comment |
---|---|---|---|---|---|---|---|---|
Read attribute request | 0x11 | 0x00 | 0x80 0x09 | 0x00 0x00 | Ask the current Multi answers frame containing all the current answers got in the last Master/Slave exchanges | |||
Read attribute response | 0x11 | 0x01 | 0x80 0x09 | 0x00 0x00 | 0x00 | 0x41 | 0xss 0xdd 0xdd 0xdd 0xaa...aa | Current Multi answers frame got in the last Master/Slave exchanges 0xss : Data size (size of 0xdddddd + 0xaa..aa) 0xdd 0xdd 0xdd : Data descriptor 0xaa..0xaa : All the current available answers, got in the last Master/Slave exchanges, aggregated This response can be sent on several frames it it is longer than 51 bytes |
Header option
Read/Write
Features | Fctrl | CmdID | ClusterID | AttributeID | Status | Attribute type | Data | Comment |
---|---|---|---|---|---|---|---|---|
Read attribute request | 0x11 | 0x00 | 0x80 0x09 | 0x00 0x01 | Ask the current Header option of the cluster | |||
Read attribute response | 0x11 | 0x01 | 0x80 0x09 | 0x00 0x01 | 0x00 | 0x10 | 0xhh | Current Header option that will be used in the Present value report 0xhh: Header option if 0xhh=0x01 [default value], all the ModBus answers' headers are kept in the Present value reports if 0xhh=0x00, the ModBus answers' headers are not kept in order to optimize the Present value report frame size |
Write attribute no response | 0x11 | 0x05 | 0x80 0x09 | 0x00 0x01 | 0x10 | 0xhh | Set the current value of the Header option (see here below for more explanation) |