Вычисление CRC, обобщённый вариант.

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Вычисление CRC, обобщённый вариант.

Сообщение Юрий »

Потребовалось иметь некую программу, вычисляющую целостность передаваемых данных CRC алгоритмами в обобщённом виде. Если бы заранее знал, что это такая запутанная штука, то, наверное, не взялся бы за неё. Но всё же, после долгих мучений родились библиотеки, вычисляющие CRC на все случаи жизни (громко сказано, но жизнь же всё расставит по своим местам). Более - менее подробное описание - в приложении. Библиотеки могут вычислять CRC полиномами, порядок которых находится в пределах от 1 до 64 с шагом 1. Есть программа «Тест+.vi», с помощью которой проводилась отладка. В ней представлен небольшой список стандартных вариантов спецификаций CRC, на основе которых и отлаживалось. Этот список при желании можно дополнять, корректировать, есть возможность его записать в Excel-евский файл и прочитать его от туда. Соответственно корректировку можно делать и в Excelе. К слову: для кого то представит интерес небольшая библиотечка Excel.llb в папке «Тест», с помощью которой можно записывать и читать Excel-евские файлы без соответствующего тулкита. Очень бы хотелось, чтобы список спецификаций, он есть во вложениях, пополнялся, с миру по нитке, а всём рубашка. Программу «Тест+.vi» можно использовать как CRC калькулятор.
Вложения
CRC.ZIP
(790.94 КБ) 224 скачивания
СпецификацCRC.xlsx
(9.43 КБ) 188 скачиваний
CRC_Guide.pdf
(174.89 КБ) 236 скачиваний
Excel.llb
(178.26 КБ) 198 скачиваний
Описание.docx
(30.02 КБ) 179 скачиваний
Последний раз редактировалось Юрий 14 мар 2015, 18:49, всего редактировалось 1 раз.
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Вычисление CRC, обобщённый вариант.

Сообщение Юрий »

Тут внутренний голос мне сделал совершенно справедливое замечание: "А, что это программы, вычисляющие CRC по частям (---) и имеющие внутренний регистр, не реентрансные?". Это исправлено, заодно созданы самые простейшие иконки и в программе "Тест+vi" в две последние колонки (значения полинома нормальное и зеркальное) значения записываются программой. До этого они записывались вручную.
Вложения
CRC.ZIP
(804.48 КБ) 190 скачиваний
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Вычисление CRC, обобщённый вариант.

Сообщение Юрий »

Уточнил спецификацию CRC ModBus. Она оказалась такой: 16,15,2,0;FFFF;T,F,0,ТУ. Что за спецификация CRC-16 Standard и где она применяется не знаю. Возможно, что то и напутано.
Вложения
СпецификацCRC.xlsx
(9.53 КБ) 189 скачиваний
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»