Перейти к содержанию

Контрольная Сумма Crc16 Запроса


kukovich

Рекомендуемые сообщения

Здравствуйте. Необходимо связаться с Sepam 40 посредством OPC сервера и получить значение фазного напряжения U2. Для этого необходимо послать ему запрос вида (для примера беру запрос на фазный ток I2): 01 03 0107 0001 3437;

здесь 01 - адрес Sepam

03 - номер функции

0107 - регистр памяти, хранящий значение фазного тока I2

0001 3437 - контрольная сумма CRC 16

Для напряжения запрос следующий: 01 03 0114, но контрольную сумму подсчитать не могу, поиски в интернете не помогли.

Помогите рассчитать контрольную сумму для запроса фазного напряжения.

Спасибо

Изменено пользователем kukovich
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Контрольная сумма CRC16 - это два байта, в вашем случае "3437".

Для подсчета воспльзуйтесь калькулятором, если вам не важен принцип подсчета CRC16.

Я пользуюсь этой программой fractal.com.ru/_util/pic18_terminal.zip - вкладка терминал.

Если важна суть подсчета CRC16 - пишите, объясню.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Контрольная сумма CRC16 - это два байта, в вашем случае "3437".

Для подсчета воспльзуйтесь калькулятором, если вам не важен принцип подсчета CRC16.

Я пользуюсь этой программой fractal.com.ru/_util/pic18_terminal.zip - вкладка терминал.

Если важна суть подсчета CRC16 - пишите, объясню.

А для запроса 01 03 0114 XXXX XXXX какая будет контрольная сумма?

Контрольная сумма CRC16 - это два байта, в вашем случае "3437".

Для подсчета воспльзуйтесь калькулятором, если вам не важен принцип подсчета CRC16.

Я пользуюсь этой программой fractal.com.ru/_util/pic18_terminal.zip - вкладка терминал.

Если важна суть подсчета CRC16 - пишите, объясню.

Во вкладке "ТЕРМИНАЛ" ввожу цифры 0107 выдает следующее:

=> 07 FE 82 (для варианта {мл байт} {ст байт})

=> 07 82 FE (для варианта {ст байт} {мл байт} )

каким образом это можно интерпретировать

п.с. спасибо за помощь

Изменено пользователем kukovich
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Для запроса 01 03 01 14 crc= F047

Пишите там побайтно - 01 07

Эта программа отправляет в порт компьютера вашу последовательность и дописывает контрольную сумму.

Изменено пользователем Станислав
Ссылка на комментарий
Поделиться на другие сайты

Для запроса 01 03 01 14 crc= F047

Пишите там побайтно - 01 07

Для запроса 01 03 01 14 crc= F047

Пишите там побайтно - 01 07

код F047 получил, сошлось. но для варианта 01 03 0107 выходит не 3437, а B1 8A

Для запроса 01 03 01 14 crc= F047

Пишите там побайтно - 01 07

Для запроса 01 03 01 14 crc= F047

Пишите там побайтно - 01 07

код F047 получил, сошлось. но для варианта 01 03 0107 выходит не 3437, а B1 8A

добавил следующий запрос => 01 03 01 07 00 01 34 37 получилось!

но теперь не ясно для запроса фазного напряжения имею код 01 03 0114 откуда брать следующие 4 числа

Ссылка на комментарий
Поделиться на другие сайты

Два байта в конце пакета – это контрольная сумма CRC16.

Пошаговая процедура расчета CRC16:

1.​ Загрузить 16-ти разрядный регистр числом 0FFFFH

2.​ Выполнить операцию XOR над первым байтом данных и старшим байтом регистра, поместить результат в регистр.

3.​ Сдвинуть регистр на один разряд вправо.

4.​ Если выдвинутый вправо бит единица, выполнить операцию XOR между регистром и полиномом 0A001H.

5.​ Если выдвинутый бит ноль, вернуться к шагу 3

6.​ Повторять шаги 3 и 4 до тех пор пока не будут выполнены 8 сдвигов регистра.

7.​ Выполнить операцию XOR над следующим байтом данных и регистром.

8.​ Повторять шаги 3-7 до тех пор пока не выполнена операция XOR над всеми байтами данных и регистром.

9.​ Содержимое регистра представляет собой два байта CRC и добавляется к исходному

PS

H - в конце числа означает то что число шестнадцатиричное. 0A001H=0xA001 (разные варианты записи.)

Изменено пользователем Станислав
Ссылка на комментарий
Поделиться на другие сайты

Все, что Вы хотели бы знать о CRC-алгоритмах, но боялись спросить,

опасаясь, что ошибки Ваших знаний могут быть обнаружены.

Элементарное руководство по CRC.PDF

.....Выбор полинома чем то сродни черной магии, и читатель отсылается к работе

[Tanenbaum81] (стр.130 132), где этот вопрос обсуждается очень подробно. Цель же

данного раздела состоит лишь в том, чтобы запугать до смерти любого, кто захочет

задаться идеей создания собственного полинома. Если же Вас не интересует, по

чему один полином лучше другого, и Вы лишь хотите составить высокоскоростную

реализацию алгоритма, то выберите себе один из перечисленных в конце статьи

полиномов и просто перейдите к следующему разделу....

:crazy::bye::dance2:

Изменено пользователем ГОГА рижский

Мыши кололись, плакали, но продолжали жрать кактус.

Ссылка на комментарий
Поделиться на другие сайты

Все, что Вы хотели бы знать о CRC-алгоритмах, но боялись спросить,

опасаясь, что ошибки Ваших знаний могут быть обнаружены.

Элементарное руководство по CRC.PDF

.....Выбор полинома чем то сродни черной магии, и читатель отсылается к работе

[Tanenbaum81] (стр.130 132), где этот вопрос обсуждается очень подробно. Цель же

данного раздела состоит лишь в том, чтобы запугать до смерти любого, кто захочет

задаться идеей создания собственного полинома. Если же Вас не интересует, по

чему один полином лучше другого, и Вы лишь хотите составить высокоскоростную

реализацию алгоритма, то выберите себе один из перечисленных в конце статьи

полиномов и просто перейдите к следующему разделу....

:crazy::bye::dance2:

спасибо за источник, но я обойдусь простым калькулятором суммы =) т.к. генерирование crc16 лишь малая толика необходимого для решения моей задачи ...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...