Показано с 1 по 2 из 2

Тема: МСД-100 и Modbus [Несоответствие стандарту?]

  1. #1

    Question МСД-100 и Modbus [Несоответствие стандарту?]

    Такой вопрос: почему при опросе устройств МСД-100 генерирует запрос (функция #03 Read Holding Registers) не по стандарту Modbus RTU: в поле где должно быть указано кол-во регистров для чтения - он указывает удвоенное их кол-во.

    Даю запросы полученные с МСД-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 - ответ
    Последний раз редактировалось eupsychian; 13.08.2010 в 17:51.

  2. #2

    По умолчанию

    ВСЁ ОК... Дело тут вот чём было (как мне объяснил сотрудник ОВЕН):
    Если формат регистра Float, то при чтении 1 регистра в запросе будет указано 2, при 2 - 4, 3 - 6, и т.д.. Так как тип Float занимает 4 байта области памяти, а в запросе под 1 регистр выделяется 2 байта.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •