-
Контрольные суммы: протоколы ОВЕН и Modbus
Помогите разобраться с вычислением контрольных сумм. В техдокументации на протокол ОВЕН есть пример на Си, но у меня он почему-то не работает. Возможно, где-то опечатка или я не во всем разобрался.
Пример сообщения по протоколу ОВЕН:
#GOGJPHGNMKGGGGNHVS
Если я правильно понял - последние 4 символа - это контрольные суммы. Но у меня при вычислении по указанному в документации алгоритму получаются другие значения.
А вот строка Modbus ASCII:
:00100000000204003200199F
Функция № 16. Здесь почему то для контрольных сумм остался только один байт (число 9F).
Хотелось бы увидеть рабочий пример на любом языке высокого уровня.
Спасибо за внимание.
-
Modbus
Поскольку никто не отозвался, отвечу сам себе)))
С Modbus я немного погорячился - надо было документацию внимательно читать ))))
В Modbus RTU контрольные суммы (CRC) - два байта, а в Modbus ASCII контрольные суммы (LRC) - один байт.
-
осталось внимательно почитать описание протокола овен и пример на языке высокого уровня C -- http://www.owen.ru/forum/showpost.ph...99&postcount=2.
в протоколе ОВЕН контрольная сумма расчитывается до упаковки в ascii.
Последний раз редактировалось Дмитрий Егоренков; 15.12.2009 в 11:44.
-
Добрый день.
Помогите понять причину.
Пытаюсь работать с приборами фирмы ОВЕН ТРМ201
Адрес прибора 2, чтение первых 5 регистров.
Протокол ModBus ASCII
Посылка к прибору
BIN- : 02 03 0000 0005 F6 0D 0A
ASCII- 3A 3032 3033 30303030 30303035 4636 0D 0A
Приходит ответ
ASCII- BA B0 B2 B0 B3 B0 C1 B0 B0 B0 B0 B0 B1 B3 B6 B0 B1 B2 C3 B0 B0 B0 B0 B0 B0 B0 B0 B8 C4 8D 8A
Конечно прослеживается видимость ответа, но формат не ясен.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума