Атол протокол для COM порта версий 2.х и 3.х

Протокол Атола для кассовых аппаратов с передачей данных реализован в версиях 2.х и 3.х для передачи через аппаратный COM порт (RS232) или виртуальный VCOM порт по USB. Причем скорость по VCOM значительно быстрее.

Версия 2.х устарела и почти не применяется.

Отличии версии 3.х в основном в формате передаваемых пакетов , но в целом 3.х очень похож на 2.х.

Протокол можно посмотреть любым анализаторов USB обмена ,. Нпример команда снятия Х-отчета выглядит так:


-> fe060023c10110000045ab
<- fe010023a2ee
<- fe0500f0a61055020055
-> fe020024c2102b
<- fe010024a371
-> fe070025c101110000670176
<- fe010025a2b4
<- fe0500f0a61155000017
-> fe020026c21196
-> fe060027c101120000455b
<- fe010026a3a8
<- fe010027a26dfe0500f0a6125522008e
-> fe020028c21232
-> fe060029c101130000450b
<- fe010028a3c5
<- fe010029a200
<- fe0500f0a613550200c9
-> fe02002ac2138f
<- fe01002aa31c

Таким образом протокол COM порта открыт для разработчиков.

Можно почитать инструкцию по протоколу "Протокол работы ККТ Версия 3.1" , там все описано :
FE - STX - начало пакета
Длина пакета это 2 и 3 байты.
Сквозная нумерация пакетов - 5 байт, увеличивается на 1 .
CRC - последний байт.
и т.д.

Прогон бумаги через TCP :


< fe 07 00 23 c1 00 10 00 00 4c 20 04
< fe 01 00 23 a2 ee

Номер команды четвертый байт увеличивается на 1 при очередной посылке команды и касса также в ответе указывает этот номер в 4 байте.

Контрольная сумма CRC8 по полям Id и Data (с учетом маскирования). Начальное значение: 0xFF (Полином: x8+x5+x4+1 / 0x31 / “CRC-8-Dallas/Maxim”).