Страница 5 из 5 ПерваяПервая ... 345
Показано с 41 по 47 из 47

Тема: Modbus RTU CRC16 полином A001h

  1. #41

    По умолчанию

    Разобрался с получением КС в десятичном формате. Как перевести в 16#?
    218 перевожу в HEX получается DA а в запросе должно 16#8B
    Скриншот 21-05-2021 190844_3.jpg

  2. #42
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Цитата Сообщение от Павел_Хабаровск Посмотреть сообщение
    Разобрался с получением КС в десятичном формате. Как перевести в 16#?
    218 перевожу в HEX получается DA а в запросе должно 16#8B
    Скриншот 21-05-2021 190844_3.jpg
    а как же здравый смысл? owen.png
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #43

    По умолчанию

    Да, такие же цифры. Но в КС младший байт из примера обозначен 8B.
    Вот и думаю как получили.
    Ладно там в примере запрос в шестнадцатеричном формате нужен для смещения точки. Т.к. предстоит считывать дискреты, то это можно опустить.
    А здравый смысл преобладает в спокойном состоянии.
    Затяжные сюрпризы с протоколом производителя, без опыта организации связки, да в командировке заставляют размозжить мозги. Состояние полёта в на орбиту.

  4. #44
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Цитата Сообщение от Павел_Хабаровск Посмотреть сообщение
    Да, такие же цифры. Но в КС младший байт из примера обозначен 8B.
    Вот и думаю как получили.
    Ладно там в примере запрос в шестнадцатеричном формате нужен для смещения точки. Т.к. предстоит считывать дискреты, то это можно опустить.
    А здравый смысл преобладает в спокойном состоянии.
    Затяжные сюрпризы с протоколом производителя, без опыта организации связки, да в командировке заставляют размозжить мозги. Состояние полёта в на орбиту.
    какой пример?
    Начните с чего нибудь внятного, например https://ru.wikipedia.org/wiki/Modbus раздел примеры, даны три различных посылки с ними и разбирайтесь
    ЗЫ У меня вот всё сходится во вложении
    Вложения Вложения
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #45
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    Павел_Хабаровск, если полный ответ вместе с CRC при проверке не получает 0 то это не Modbus, это только фишка CRC именно Modbus протокола, пока мне не попадались другие протоколы, где был бы ноль при расчете с учетом CRC

    Напишите строку в HEX при ответе прибора, любую, интересно посмотреть что там за контрольная сумма.

    capzap на счет документа не скажу. Но сам расчет CRC Modbus имеет данную фишку. Если в расчет CRC закинуть весь ответ вместе с полученной CRC то новая CRC будет равна 0. Всегда.

    то есть посылаем 8 байт, посчитали и прилепили согласно протокола еще 2 байта и потом в расчет кинем все 10 байт то получим новую CRC=0

    А, про 0 указано в документе на протокол, который выкладывал Павел. Но по коду там не похоже на расчет Modbus.

    И кстати >> это не ROR а SHIFT, выталкиваемые биты замещаются нулями. А, или я не понял, вот эта конструкция ROL ? ((x>>4)|(x<<4))
    Последний раз редактировалось melky; 21.05.2021 в 13:37.

  6. #46
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    SHR и SHL соотв. так это и есть shift вправо или влево с выталкиванием битов. то есть >> или <<

    ((x>>4)|(x<<4)) - а эта комбинация действительно ROL или ROR на 4 всего байта, переставление полубайт, обозванное инверсией.

  7. #47
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    ну да, на 4 бита всего байта. перестановка полубайт (дословно, не инверсия как выразился).

    з.ы. буду знать как ROL и ROR делать

Страница 5 из 5 ПерваяПервая ... 345

Ваши права

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