Меркурий 119 контрольная сумма

Модели:
Меркурий-114.1К, Меркурий 115Ф, Меркурий 119Ф, Меркурий 130ф, Меркурий MS-K
Ответить
Аватара пользователя
Koro
Сообщения: 10
Зарегистрирован: 06 фев 2012, 11:03

Меркурий 119 контрольная сумма

Сообщение Koro »

Здравствуйте!
Читаю документацию Руководство по программированию АВЛГ 819.00.00-01 РП. Поле BCC- ОДИН байт. Ниже расписана сотня команд где поле BCC ДВА байта.
Вопрос:
- если один байт, то что в документации сотня ошибок?
- если два байта, то первым посылать старшую или младшую часть суммы.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Меркурий 119 контрольная сумма

Сообщение slan »

А еще в этой документации по поводу типа данных BCC написана буква B, которая означает вот что:

1.1.4. Битовое (шестнадцатеричное) (B).
Битовое (шестнадцатеричное) поле представляет собой набор пар символов, которые передают один байт в ASCII представлении. Допустимыми символами для этого поля являются «0» ... «9» (ASCII 30H ... 39H), «A» ... «F» (ASCII 41H ... 46H), «a» ... «f» (ASCII 61H ... 66H). Длина поля различается в зависимости от конкретного применения.
Пример: 27 - «1B»
Аватара пользователя
Koro
Сообщения: 10
Зарегистрирован: 06 фев 2012, 11:03

Re: Меркурий 119 контрольная сумма

Сообщение Koro »

При чём здесь тип данных B? Вопрос был про кол-во байт.

А ещё есть сотня таблиц где есть столбец "Размер (БАЙТ)" и заметьте везде для BCC написано 2. Ну так мне ответит кто-нибудь BCC это 1 байт или это 2байта? Купили один для теста. Или не закупать ещё 11 принтеров из-за кривости документации? А найти аналоги получше документированные?

Варианты ответа длинна поля BCC:
1 байт
2 байта

Ответ: 1 байт. Значение посылается двумя ASCII символами.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Меркурий 119 контрольная сумма

Сообщение slan »

Тип данных B Здесь при том, что это тип для поле BCC, это указано в описании к данной команде.
Руководство для программистов же.
Попробую объяснить подробнее: поле ВСС содержит символьное представление одного байта, само оно будет двухбайтовое (2 символа), в символьном виде как раз нужно два байта, для представления одного. Поэтому везде написано 2 байта.
Если хотите могу сюда копирнуть текст исходника на языке С, где высчитывается это самое BCC
Аватара пользователя
Koro
Сообщения: 10
Зарегистрирован: 06 фев 2012, 11:03

Re: Меркурий 119 контрольная сумма

Сообщение Koro »

Понял, спасибо.
Аватара пользователя
sasa
Сообщения: 2
Зарегистрирован: 15 май 2012, 17:32

Re: Меркурий 119 контрольная сумма

Сообщение sasa »

Прошу подсказки.Строка отправляемая winexpert для тестирования соединения с регистратором
(запрос версии по ккм)
02 45 30 30 30 30 00 30 35 03.Как я понимаю 30 35 это и есть контрольная сумма.Разьясните пожалуста,пошагово как она получилась,
Аватара пользователя
Koro
Сообщения: 10
Зарегистрирован: 06 фев 2012, 11:03

Re: Меркурий 119 контрольная сумма

Сообщение Koro »

рад помочь, убегаю с работы, если до завтра не ответят, то напишу.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Меркурий 119 контрольная сумма

Сообщение slan »

0x45 + 0x30 + 0x30 + 0x30 + 0x30 + 0x0 = 0x105, эта цифра в 1 байт не влазит, наберите в виндовый калькулятор 0x105 (шестнадцатиричная система счисления, 2 байта) и выберите кнопку 1 байт, получите цифру 0x05, соответственно в ФР передаётся 2 символа: '0' и '5', что соответствует байтам 0x30 и 0x35
Аватара пользователя
Koro
Сообщения: 10
Зарегистрирован: 06 фев 2012, 11:03

Re: Меркурий 119 контрольная сумма

Сообщение Koro »

02 -STX не считается в CRC
45 30 30 30 30 00 - суммируются 0х45+0х30+0х30+0х30+0х30=0х105 но только один младший байт. Остаётся 0х05.
30 35 -CRC по предыдущей строчке 0x05, посылается двумя символами 0x0 и 0x5, коды этих символов 0x30 и 0x35.
03 -ETX не считается в CRC
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Меркурий 119 контрольная сумма

Сообщение slan »

Koro писал(а): посылается двумя символами 0x0 и 0x5, коды этих символов 0x30 и 0x35.
уточнение: символы эти '0' и '5' (но не 0x0 и 0x5), а шестнадцатиричное представление этих символов 0х30 и 0x35
Аватара пользователя
sasa
Сообщения: 2
Зарегистрирован: 15 май 2012, 17:32

Re: Меркурий 119 контрольная сумма

Сообщение sasa »

Спасибо,все заработало.По ошибке байты не суммировал, а делал XOR :D .Да еще с использованием завершающего байта 03 https://forum.incotexkkm.ru/posting. ... 4986cd0e08#
Ответить