Сейчас на форуме: zds (+5 невидимых) |
![]() |
eXeL@B —› Программирование —› Расчет контрольной суммы СЕ303 |
Посл.ответ | Сообщение |
|
Создано: 07 апреля 2014 04:13 · Личное сообщение · #1 Доброго времени, пишу утилиту для снятия показаний эл. счетчика СЕ303. Затупил на следующем этапе - при подаче команд счетчику вычисляется контрольный символ блока Протокол обмена ответствует ГОСТ Р МЭК 61107-2001). Описание имеется но очень куцо, лично я ничего не понял. Возможно кто-то имел дело с данным протоколом ? Если имеется пример на любом яву, буду очень благодарен. ![]() |
|
Создано: 07 апреля 2014 04:48 · Личное сообщение · #2 Есть пример последовательности блока команд и его контрольной суммы? Как-то эмпиречским путем для какого-то счетчика подбирал однобайтовую КС. ![]() |
|
Создано: 07 апреля 2014 05:09 · Поправил: New_user · Личное сообщение · #3 |
|
Создано: 11 апреля 2014 03:36 · Личное сообщение · #4 Вот опять время появилось занятся, так и не могу понять как же формируется контрольный байт, на сайте разработчиков нашел вот что: Изменение формата байта выполняется функцией программного контроля четности. Анализируется каждый байт: если число единиц в двоичном формате нечетное, то старший бит устанавливается в 1, если четное – в 0. Запрос, на сколько я понял состоит из: SOH<01>STX<02>ETX<03>BCC И вот еще цитата с ГОСТ-а: Примечание - Область действия ВСС соответствует ИСО 1745 и распространяется от символа, непосредственно следующего за первым SON- или STX-символом, до символа ЕТХ включительно, который завершает сообщение. Вычисленный ВСС следует сразу за символом ЕТХ. Помогите плиз не могу вкурить че да как, пробовал суммировать - цифири получаются огромные. ![]() |
|
Создано: 11 апреля 2014 06:22 · Поправил: Zorn · Личное сообщение · #5 Попробуй так Начинаем со второго байта (распространяется от символа, непосредственно следующего за первым SON- или STX-символом) Считаем единичные биты и ставим старший в зависимости от четности. Складываем все это и оставляем только младший байт (& $FF или переполнение) Code:
![]() |
|
Создано: 11 апреля 2014 18:03 · Поправил: New_user · Личное сообщение · #6 |
![]() |
eXeL@B —› Программирование —› Расчет контрольной суммы СЕ303 |
Эта тема закрыта. Ответы больше не принимаются. |