Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> Контрольная СУММА, Какой вид выбрать ?
Kaibara
сообщение 1.4.2010, 11:03
Сообщение #1





Группа: Участники форума
Сообщений: 80
Регистрация: 17.4.2008
Пользователь №: 17865



Добрый день !!!
У меня вопрос ,как правильно прописать контрольную сумму?
В описании протокола :
“The destination address is included in order to prepare a future enhanced version of the protocol.
For heat meters the destination address is 3Fh. The logger top module use 7Fh and the logger base module use BFh.
Included in the data link layer is a CRC with reference to the CCITT-standard using the polynomial 1021h.
Only deviation from the standard is the initial value, which is 0000h instead of FFFFh.
The CRC result is calculated for destination address, CID and data. CRC is transmitted with MSByte first and LSByte last.”
Из следует что CRC-16 CCITT, Poly: 0x1021 x^16 + x^12 + x^5 + 1, Init : 0x0000 Revert: false XorOut: 0xFFFF/ “Это я правильно понимаю?”
Контроллер понимает вот такие виды CCITT :
CRC &endash; CCITT 1: контрольная сумма, получаемая из 16-битовых челых чисел, инициализируемых на нулевую величину.
CRC &endash; CCITT 2:: 16-битовое целое число, инициализируемое на величину 0xFFFF.
CRC &endash; CCITT 3: контрольная сумма, получаемая из байтов, инициализируемых на нулевую величину.
CRC &endash; CCITT 4: байты, инициализируемые на величину 0xFFFF.
Использую 1 , в итоге в порт уходит :
80 3F 02 (33 46) 0D а не нужные мне 80 3F 02 (35 E9) 0D
C Другими пробовал тоже не то значение =(
Вывод : я не знаю что делать и где искать правду =(
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
shylock
сообщение 1.4.2010, 17:25
Сообщение #2





Группа: Участники форума
Сообщений: 220
Регистрация: 13.1.2007
Из: UK
Пользователь №: 5511



CRC считается для "80 3F 02"? Это и есть "destination address, CID and data"? Почему адрес вторым байтом?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
GYUR22
сообщение 1.4.2010, 19:48
Сообщение #3





Группа: Участники форума
Сообщений: 824
Регистрация: 23.7.2008
Из: гН.Новгород
Пользователь №: 20923



найдете разные реализации и посчитайте ими что совпадет с примером там и счастье (я так делал)
посчитайте сразных мест и байты иногда верхний нижний меняют
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kaibara
сообщение 2.4.2010, 6:36
Сообщение #4





Группа: Участники форума
Сообщений: 80
Регистрация: 17.4.2008
Пользователь №: 17865



CRC считается для "80 3F 02"? Это и есть "destination address, CID and data"? Почему адрес вторым байтом?

80 это стартовый
3F адрес
02 CID
33 46 CRC
0D Стоповый

Тут считается для сида и адреса , тк данные жестко забиты в памяти .
Для считывания изменяющихся данных формат немножко отличается
10 01 00 80 CID and data

3F 10 01 00 80 Destination address added

3F 10 01 00 80 D4 08 CRC added

3F 10 01 00 1B 7F D4 08 Byte stuffing

80 3F 10 01 00 1B 7F D4 08 0D Start and stop byte added


Сообщение отредактировал Kaibara - 2.4.2010, 6:48
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kaibara
сообщение 2.4.2010, 6:42
Сообщение #5





Группа: Участники форума
Сообщений: 80
Регистрация: 17.4.2008
Пользователь №: 17865



GYUR22 . меня больше смущает то что в поле формат есть выбор , и не самый большой (Decimal ASCII, Hex as ASCII, Binary) . ASCII ?!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
shylock
сообщение 2.4.2010, 12:33
Сообщение #6





Группа: Участники форума
Сообщений: 220
Регистрация: 13.1.2007
Из: UK
Пользователь №: 5511



То есть в приведённом примере CRC должен считаться от 3F 02 (без стартового байта)?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kaibara
сообщение 2.4.2010, 14:27
Сообщение #7





Группа: Участники форума
Сообщений: 80
Регистрация: 17.4.2008
Пользователь №: 17865



То есть в приведённом примере CRC должен считаться от 3F 02 (без стартового байта)?
да
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kaibara
сообщение 2.4.2010, 14:33
Сообщение #8





Группа: Участники форума
Сообщений: 80
Регистрация: 17.4.2008
Пользователь №: 17865



Ну в общем ,Контроллер Unitronics v570. ПО можно взять на сайте VisiLogic.
Вот думаю в порт посылать жестко прописанный запрос ,а принимать по стартовому и стоповому ,потом уже в самом контроллере разбивать и считать .Только еще не знаю как это правильно сделать и какая при этом будет скорость. dry.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
GYUR22
сообщение 2.4.2010, 19:07
Сообщение #9





Группа: Участники форума
Сообщений: 824
Регистрация: 23.7.2008
Из: гН.Новгород
Пользователь №: 20923



че за протокол то?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kaibara
сообщение 5.4.2010, 6:39
Сообщение #10





Группа: Участники форума
Сообщений: 80
Регистрация: 17.4.2008
Пользователь №: 17865



KMP Kamstrup Heat Meter Protocol ph34r.gif
Прикрепленные файлы
Прикрепленный файл  5512447_M1_GB.pdf ( 301,32 килобайт ) Кол-во скачиваний: 55
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
GYUR22
сообщение 5.4.2010, 11:17
Сообщение #11





Группа: Участники форума
Сообщений: 824
Регистрация: 23.7.2008
Из: гН.Новгород
Пользователь №: 20923



насколько я понял crc считается до байт стаффинга (замены символов) и для всей посылки- включая адрес, перед добавление стартового и конечного байтов (80 и 0D)
отличие CRC от стандарного в начальной инициализации -0000h (вмесо FFFFh)
смотрю уже на который тепловой счетчик и меня не покидает чуство что его делали если не извращенцы то очень странные люди - как то все неудобно (через жо...у)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kaibara
сообщение 5.4.2010, 15:14
Сообщение #12





Группа: Участники форума
Сообщений: 80
Регистрация: 17.4.2008
Пользователь №: 17865



Ну , телефон и меж город мне в руки =)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
GYUR22
сообщение 5.4.2010, 15:21
Сообщение #13





Группа: Участники форума
Сообщений: 824
Регистрация: 23.7.2008
Из: гН.Новгород
Пользователь №: 20923



?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kaibara
сообщение 6.4.2010, 6:14
Сообщение #14





Группа: Участники форума
Сообщений: 80
Регистрация: 17.4.2008
Пользователь №: 17865



Hex as ASCII вот в этом дело .Протокол КМП нормальный , все понятно. В самом контроллере контрольная сумма считается даже правильно ,но в порт выбрасывает не 2' HEX а 4' ASCII .
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274



ООО "Русич" ИНН 9721068883 / ЕРИД 2Vtzqx9HerZ


ООО «УНИСПЛИТ» ИНН: 6453155081 erid: 2VtzqvmjJqS

ООО "АйДи-Электро" ИНН:6670013662 erid:2Vtzqwtpv5j

Последние сообщения Форума






RSS Текстовая версия Сейчас: 26.6.2025, 20:46
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных