Помогите с протоколом ОВЕН
Пишу в LabVIEW 8.6 программку для снятия инфы с МВА8, для связи выбрал протокол ОВЕН, стал разбираться в сути протокола, возникли проблемы:( :
1. в описании протокола в структурной схеме есть квадратик "Размер блока данных в байтах -2", поясните его, пожалуйста, непонятки в куске "-2" :confused: и как его посчитать - просто сумма байтов данных?
2. есть затруднения в понимании расчёта hash-функции и CRC-функции, строковое описание алгоритма, которое приводится не понял, т.к. не работал со строковыми языками программирования
x16+x15+x11+x10+x9+x8+x6+x4+x2+x1+x0:confused: а почему там нет x13,x12,x7,x5,x3 ?
3. допустим у меня в МВА8 на 5-ом входе висит "Датчик 4...20мА"
3.1 напишите, пожалуйста, как будет выглядеть команда в HЕX коде на посылку запроса значения даных с этого датчика и чем будет отличаться если ещё и время снятия данных запросить?
3.2 как должен выглядеть ответ от МВА8? (тоже в HEX коде)
3.3 и можно подробный пример расчёта HASH и CRC хотя бы для запросной команды? (подробный - т.е. если вручную считать "на бумаже", проверить правильно ли считается в программе)
Заранее спасибо :)
к Pc_dos и тем, кто может помочь
за
Цитата:
Сообщение от
PC_DOS
ЗЫ символы обрамления пакетов посылать тоже следует из лабвью
БОЛЬШТЕ СПАСИБО, учту:)
а теперь...->
по ссылке
http://www.owen.ru/forum/showthread....F1%F3%EC%EC%E0
нашёл пост
http://www.owen.ru/forum/showpost.ph...39&postcount=8
Цитата:
Сообщение от
Дмитрий Егоренков
если коротко, число состоящее из всех битов пакета делится на выбранный полином. crc - остаток от деления.
1. как именно число "состоит из всех битов пакета"? сложить байты? сложить полубайты? или что-то ещё?
2. полином (из описания протокола ОВЕН) вот такой х16+х15+х11+х10+х9+х8+х6+х4+х2+х1+х0
рядом спросить не у кого:( , поэтому спрашиваюю у вас:) - что КОНКРЕТНО означает x16 и т.д.
3. вопрос по "вот программка CRC на LabView" - первое действие со строкой символов - это разложение в 1D массив с символами из этой строки.
затем идёт неизвествный виай - судя по входу, выходу и названию массив с символами преобразуется в число (с преджставлением I32) - в чём суть преобразования ? может я сам допишу не достающее?
ps: по-моему 1 и 3 вопросы как-то связаны
:)