Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Неправильно считает CRC KUNKIN KL7206

  1. #1
    Пользователь
    Регистрация
    08.04.2013
    Адрес
    Москва
    Сообщений
    6

    Lightbulb Неправильно считает CRC KUNKIN KL7206

    Приветствую ув. форумчане. Столкнулся с проблемой, прошу помочь.

    Купил китайскую нагрузку KUNKIN KL7206 работает по протоколу MODBUS RTU, но в ее ответах CRC идет с перепутанными битами (зеркальными от старшего к младшему). Как лучше поступить в такой ситуации? (проще исправить)
    Вложения Вложения

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

    По умолчанию

    Прикольно, байты CRC местами неправильно стоят. Пишите китайцам по данному поводу, пусть исправляют прошивку.
    Это уже второй случай, который вижу от китайцев, где байты CRC изменены местами....

    В довесок, примеры Modbus еще не парсятся... в топку такие устройства, или там очередное -- Modbus подобный протокол ?
    Последний раз редактировалось melky; 19.06.2023 в 09:01.

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

    По умолчанию

    Страница 14

    Load return data: 01 03 30 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13
    D14 D15 D16 D17 D18 CRCH CRCL - каким надо быть, чтобы старший байт CRC поставить первым в Modbus, то есть уже не соответствует стандарту.

  4. #4
    Пользователь
    Регистрация
    08.04.2013
    Адрес
    Москва
    Сообщений
    6

    По умолчанию

    Китайцем написал, но не факт что от них получится что-либо получить...
    А так да Modbus подобный протокол, но вот решил подключить ее к Codesys 3,5 и возникли проблемы. Хочу совета как проще исправить (соответственно не устройство, а Codesys) чтобы не писать полностью руками опрос, если это возможно.

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

    По умолчанию

    Если дело только в расположении байт CRC то можно взять библиотеку Modbus с открытым кодом и там исправить положение байт. Если это возможно.
    Но примеры в документации даны криво или обобщенно, некоторые не поддаются парсингу Modbus даже если поменять CRC

  6. #6

    По умолчанию

    Круто. А ещё удивлялся - кому может понадобиться нечто вроде такого?
    [MODBUS]DoCRC

    Enables or disables the Modbus Cyclic Redundancy Check (CRC), a communications check. The MODBUS driver does a CRC on incoming data and provides a CRC remainder in outgoing data blocks. In some limited cases, such as the testing of “slave” drivers, it may be necessary to disable the CRC.

  7. #7

    По умолчанию

    Цитата Сообщение от SteroidMan Посмотреть сообщение
    Приветствую ув. форумчане. Столкнулся с проблемой, прошу помочь.

    Купил китайскую нагрузку KUNKIN KL7206 работает по протоколу MODBUS RTU, но в ее ответах CRC идет с перепутанными битами (зеркальными от старшего к младшему). Как лучше поступить в такой ситуации? (проще исправить)
    Опрашивай как нестандартное устройство через библиотеку.

  8. #8
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от SteroidMan Посмотреть сообщение
    ...Как ..... (проще исправить)
    1.Делаешь копию modbus.lib. Например modbus_with_kunkin.lib
    2.Добавляешь туда глобальную переменную fucking_kunkin
    3.Открываешь MB_CRC
    4.Добавляешь в конце
    Код:
    MB_CRC := sel(fucking_kunkin, MB_CRC, rol(MB_CRC, 8)); //или чего там - байты таки или биты зеркально?
    5.Сохраняешь либу
    6.Открываешь проект и меняешь modbus на modbus_with_kunkin
    7.ФБ с обращением к kunkin обрамляешь:
    Код:
    fucking_kunkin := true;
    ..(...); //ФБ с обращением к kunkin
    fucking_kunkin := false;
    8. Спрашиваешь куда перевести благодарность


    PS
    работа с modbus.lib - см. рэ и форум

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

    По умолчанию

    Валенок там если примеры посмотреть, они почему-то не парсятся как Modbus запросы/ответы даже если поменять местами байты CRC....
    При этом некоторые парсятся. Возможно просто ошибка в документаци а возможно и отсебятина....

  10. #10
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Так ТС сказал "по протоколу MODBUS RTU, но в ее ответах CRC идет с перепутанными" Я пдф не смотрел и верю Вашему п#3. Поэтому и акцентировал - байты или биты ?

    Привел простейшую правку для условий когда CRC и отправка и ответа - левые, а биб-ка должна работать и с нормальными модбасами и с кункином одновременно. То что именно "в ... ответах" - то это ТС пусть сам ищет нужную развилку. Принцип показан. Мозги есть, коли нашел про CRC.

    "не парсятся как Modbus запросы/ответы" - вот пусть сам код распарсивания напишет, а показать место куда и как - не проблема. Хотя если разберет - сам найдет скорее всего.

    И Вы же сказали - "возможно..". TC'а не с ложечки кормить же. Пусть сам и исследует и рез-ты кладет сюда если не знает что дальше.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. расчет считает два раза...
    от kjum4n в разделе Master SCADA 3
    Ответов: 8
    Последнее сообщение: 25.03.2022, 16:52
  2. Формат времени %t работает неправильно
    от Фирст в разделе СПК1хх
    Ответов: 20
    Последнее сообщение: 24.09.2019, 08:35
  3. ПЛК110-60.Р-М + энкодер. Не считает импульсы
    от **Leonid70** в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 04.09.2017, 12:35
  4. ТТР работает неправильно
    от voby в разделе Твердотельное реле
    Ответов: 19
    Последнее сообщение: 13.07.2015, 20:18
  5. В МВА8 неправильно показывает
    от koval.sergei в разделе Подбор Оборудования
    Ответов: 5
    Последнее сообщение: 22.10.2007, 14:59

Ваши права

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