Меркурий 119 контрольная сумма
Меркурий 119 контрольная сумма
Здравствуйте!
Читаю документацию Руководство по программированию АВЛГ 819.00.00-01 РП. Поле BCC- ОДИН байт. Ниже расписана сотня команд где поле BCC ДВА байта.
Вопрос:
- если один байт, то что в документации сотня ошибок?
- если два байта, то первым посылать старшую или младшую часть суммы.
Читаю документацию Руководство по программированию АВЛГ 819.00.00-01 РП. Поле BCC- ОДИН байт. Ниже расписана сотня команд где поле BCC ДВА байта.
Вопрос:
- если один байт, то что в документации сотня ошибок?
- если два байта, то первым посылать старшую или младшую часть суммы.
Re: Меркурий 119 контрольная сумма
А еще в этой документации по поводу типа данных BCC написана буква B, которая означает вот что:
1.1.4. Битовое (шестнадцатеричное) (B).
Битовое (шестнадцатеричное) поле представляет собой набор пар символов, которые передают один байт в ASCII представлении. Допустимыми символами для этого поля являются «0» ... «9» (ASCII 30H ... 39H), «A» ... «F» (ASCII 41H ... 46H), «a» ... «f» (ASCII 61H ... 66H). Длина поля различается в зависимости от конкретного применения.
Пример: 27 - «1B»
1.1.4. Битовое (шестнадцатеричное) (B).
Битовое (шестнадцатеричное) поле представляет собой набор пар символов, которые передают один байт в ASCII представлении. Допустимыми символами для этого поля являются «0» ... «9» (ASCII 30H ... 39H), «A» ... «F» (ASCII 41H ... 46H), «a» ... «f» (ASCII 61H ... 66H). Длина поля различается в зависимости от конкретного применения.
Пример: 27 - «1B»
Re: Меркурий 119 контрольная сумма
При чём здесь тип данных B? Вопрос был про кол-во байт.
А ещё есть сотня таблиц где есть столбец "Размер (БАЙТ)" и заметьте везде для BCC написано 2. Ну так мне ответит кто-нибудь BCC это 1 байт или это 2байта? Купили один для теста. Или не закупать ещё 11 принтеров из-за кривости документации? А найти аналоги получше документированные?
Варианты ответа длинна поля BCC:
1 байт
2 байта
Ответ: 1 байт. Значение посылается двумя ASCII символами.
А ещё есть сотня таблиц где есть столбец "Размер (БАЙТ)" и заметьте везде для BCC написано 2. Ну так мне ответит кто-нибудь BCC это 1 байт или это 2байта? Купили один для теста. Или не закупать ещё 11 принтеров из-за кривости документации? А найти аналоги получше документированные?
Варианты ответа длинна поля BCC:
1 байт
2 байта
Ответ: 1 байт. Значение посылается двумя ASCII символами.
Re: Меркурий 119 контрольная сумма
Тип данных B Здесь при том, что это тип для поле BCC, это указано в описании к данной команде.
Руководство для программистов же.
Попробую объяснить подробнее: поле ВСС содержит символьное представление одного байта, само оно будет двухбайтовое (2 символа), в символьном виде как раз нужно два байта, для представления одного. Поэтому везде написано 2 байта.
Если хотите могу сюда копирнуть текст исходника на языке С, где высчитывается это самое BCC
Руководство для программистов же.
Попробую объяснить подробнее: поле ВСС содержит символьное представление одного байта, само оно будет двухбайтовое (2 символа), в символьном виде как раз нужно два байта, для представления одного. Поэтому везде написано 2 байта.
Если хотите могу сюда копирнуть текст исходника на языке С, где высчитывается это самое BCC
Re: Меркурий 119 контрольная сумма
Понял, спасибо.
Re: Меркурий 119 контрольная сумма
Прошу подсказки.Строка отправляемая winexpert для тестирования соединения с регистратором
(запрос версии по ккм)
02 45 30 30 30 30 00 30 35 03.Как я понимаю 30 35 это и есть контрольная сумма.Разьясните пожалуста,пошагово как она получилась,
(запрос версии по ккм)
02 45 30 30 30 30 00 30 35 03.Как я понимаю 30 35 это и есть контрольная сумма.Разьясните пожалуста,пошагово как она получилась,
Re: Меркурий 119 контрольная сумма
рад помочь, убегаю с работы, если до завтра не ответят, то напишу.
Re: Меркурий 119 контрольная сумма
0x45 + 0x30 + 0x30 + 0x30 + 0x30 + 0x0 = 0x105, эта цифра в 1 байт не влазит, наберите в виндовый калькулятор 0x105 (шестнадцатиричная система счисления, 2 байта) и выберите кнопку 1 байт, получите цифру 0x05, соответственно в ФР передаётся 2 символа: '0' и '5', что соответствует байтам 0x30 и 0x35
Re: Меркурий 119 контрольная сумма
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
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
Re: Меркурий 119 контрольная сумма
уточнение: символы эти '0' и '5' (но не 0x0 и 0x5), а шестнадцатиричное представление этих символов 0х30 и 0x35Koro писал(а): посылается двумя символами 0x0 и 0x5, коды этих символов 0x30 и 0x35.
Re: Меркурий 119 контрольная сумма
Спасибо,все заработало.По ошибке байты не суммировал, а делал XOR :D .Да еще с использованием завершающего байта 03 https://forum.incotexkkm.ru/posting. ... 4986cd0e08#