eupsychian
13.08.2010, 14:30
Такой вопрос: почему при опросе устройств МСД-100 генерирует запрос (функция #03 Read Holding Registers) не по стандарту Modbus RTU (http://www.modbus.org/docs/PI_MBUS_300.pdf): в поле где должно быть указано кол-во регистров для чтения - он указывает удвоенное их кол-во.
Даю запросы полученные с МСД-100 и ответы на них:
запрос на чтение не подряд идущих 5 и 9 и 6 регистров
05 03 00 04 00 02 84 4e
05 03 04 70 A4 41 F4 D5 07 - ответ
05 03 00 08 00 02 44 4d
05 03 04 8a 00 46 06 27 89 - ответ
05 03 00 05 00 02 D5 8e
05 03 04 41 F4 Ff 7d 6b Ec - ответ
2/2 = 1 (запрос на чтение 1 регистра)
05 03 00 04 00 02 84 4e - запрос 5 регистра.
05 03 04 70 A4 41 F4 D5 07 - ответ
4/2 = 2 (запрос на чтение 2 регистров)
05 03 00 04 00 04 04 4c - запрос 5,6 регистров.
05 03 08 70 A4 41 F4 Ff 7d 42 Ab 0d De - ответ
6/2 = 3
05 03 00 04 00 06 85 8d - запрос 5,6,7 регистров.
05 03 0c 70 A4 41 F4 Ff 7d 42 Ab 8a 00 46 06 F4 68 - ответ
8/2 = 4
05 03 00 04 00 08 04 49 - запрос 5,6,7,8 регистров.
05 03 04 00 00 40 A0 00 00 40 E0 00 00 41 10 00 00 41 30 Ae Ca - ответ
10/2 = 5
05 03 00 04 00 0a 85 88 - запрос 5,6,7,8,9 регистров.
05 03 14 70 A4 41 F4 Ff 7d 42 Ab 8a 00 46 06 Cc Cd 41 78 00 00 42 4a 72 2d - ответ
12/2 = 6
05 03 00 04 00 0c 05 8a - запрос 5,6,7,8,9,10 регистров.
05 03 18 70 A4 41 F4 Ff 7d 42 Ab 8a 00 46 06 Cc Cd 41 78 00 00 42 4a 00 00 3f 80 64 4e - ответ
14/2 = 7
05 03 00 04 00 0e 84 4b - запрос 5,6,7,8,9,10,11 регистров.
05 03 1c 70 A4 41 F4 Ff 7d 42 Ab 8a 00 46 06 Cc Cd 41 78 00 00 42 4a 00 00 3f 80 00 00 42 64 4e 6b - ответ
Даю запросы полученные с МСД-100 и ответы на них:
запрос на чтение не подряд идущих 5 и 9 и 6 регистров
05 03 00 04 00 02 84 4e
05 03 04 70 A4 41 F4 D5 07 - ответ
05 03 00 08 00 02 44 4d
05 03 04 8a 00 46 06 27 89 - ответ
05 03 00 05 00 02 D5 8e
05 03 04 41 F4 Ff 7d 6b Ec - ответ
2/2 = 1 (запрос на чтение 1 регистра)
05 03 00 04 00 02 84 4e - запрос 5 регистра.
05 03 04 70 A4 41 F4 D5 07 - ответ
4/2 = 2 (запрос на чтение 2 регистров)
05 03 00 04 00 04 04 4c - запрос 5,6 регистров.
05 03 08 70 A4 41 F4 Ff 7d 42 Ab 0d De - ответ
6/2 = 3
05 03 00 04 00 06 85 8d - запрос 5,6,7 регистров.
05 03 0c 70 A4 41 F4 Ff 7d 42 Ab 8a 00 46 06 F4 68 - ответ
8/2 = 4
05 03 00 04 00 08 04 49 - запрос 5,6,7,8 регистров.
05 03 04 00 00 40 A0 00 00 40 E0 00 00 41 10 00 00 41 30 Ae Ca - ответ
10/2 = 5
05 03 00 04 00 0a 85 88 - запрос 5,6,7,8,9 регистров.
05 03 14 70 A4 41 F4 Ff 7d 42 Ab 8a 00 46 06 Cc Cd 41 78 00 00 42 4a 72 2d - ответ
12/2 = 6
05 03 00 04 00 0c 05 8a - запрос 5,6,7,8,9,10 регистров.
05 03 18 70 A4 41 F4 Ff 7d 42 Ab 8a 00 46 06 Cc Cd 41 78 00 00 42 4a 00 00 3f 80 64 4e - ответ
14/2 = 7
05 03 00 04 00 0e 84 4b - запрос 5,6,7,8,9,10,11 регистров.
05 03 1c 70 A4 41 F4 Ff 7d 42 Ab 8a 00 46 06 Cc Cd 41 78 00 00 42 4a 00 00 3f 80 00 00 42 64 4e 6b - ответ