MERTECH C-120 и C-200. Протокол подключения к ПК

Примечание

Версия обновления протокола: 14.05.2025

Этот документ описывает спецификацию протокола обмена данными между счётчиками банкнот MERTECH C-120 и MERTECH C-200 и персональным компьютером через последовательный интерфейс.

Базовые параметры подключения

Для настройки последовательного порта (COM-порта) необходимо установить следующие параметры:

  • Скорость передачи (Baud rate): 115200

  • Чётность (Parity): Нет

  • Стоп-биты (Stop bits): 1

  • Биты данных (Data bits): 8

Структура кадра протокола

Общий формат кадра передачи данных:

stx + seq + cmd + data + etx + checksum
Описание полей кадра

Поле

Описание

Значение / Диапазон

stx

Начало кадра

0x02 (фиксированно)

seq

Последовательность (номер кадра)

0x30–0x39 (ASCII-символы „0“–„9“)

cmd

Команда

0x30–0x39 (ASCII-символы „0“–„9“)

data

Данные команды

Произвольные ASCII-символы (читайте все байты до etx)

etx

Конец кадра

0x03 (фиксированно)

checksum

Контрольная сумма

Сумма байтов seq + cmd + data по модулю 256, передаётся одним байтом

Примечание

Основные символы поля data лежат в диапазонах 0x30–0x39, 0x61–0x7A, 0x41–0x5A (цифры, строчные и заглавные латинские буквы). Однако фактические данные содержат разделители — запятую, точку с запятой, двоеточие, точку, дефис и пробел, — которые выходят за пределы этих диапазонов. Поэтому при реализации парсера не следует фильтровать байты по диапазону: корректнее читать все байты вплоть до маркера окончания кадра 0x03.

Спецификация команд (cmd)

Cmd 0x30 — Очистка предыдущего пересчёта

Команда отвечает за очистку результатов предыдущего пересчёта. Поле data фиксировано и равно значению cmd.

stx

seq

cmd

data

etx

checksum

0x02

0x30–0x39

0x30

0x30

0x03

0xXX

_images/c200-30.png

Cmd 0x31 — Начало нового пересчёта

Команда отвечает за инициализацию и старт нового цикла пересчёта. Поле data фиксировано и равно значению cmd.

stx

seq

cmd

data

etx

checksum

0x02

0x30–0x39

0x31

0x31

0x03

0xXX

_images/c200-31.png

Cmd 0x32 — Вывод информации о банкноте

Возвращает детальные сведения о просчитанной банкноте: валюта, порядковый номер в текущей сессии, номинал, год выпуска, сторона, серийный номер.

Пример data: USD100,1,1996,A,AC1234567

Поля данных:

Порядок

Значение

1

Валюта (USD)

2

Порядковый номер банкноты в текущей сессии

3

Номинал

4

Год выпуска

5

Сторона (A / B)

6

Серийный номер

stx

seq

cmd

data

etx

checksum

0x02

0x30–0x39

0x32

Текст (валюта, порядковый номер, номинал, год, сторона, серийный номер)

0x03

0xXX

_images/c200-32.png

Cmd 0x33 — Конец пересчёта

Команда сигнализирует о завершении текущей сессии пересчёта банкнот. Поле data фиксировано и равно значению cmd.

stx

seq

cmd

data

etx

checksum

0x02

0x30–0x39

0x33

0x33

0x03

0xXX

_images/c200-33.png

Cmd 0x34 — Вывод информации о валюте и номиналах

Возвращает идентификатор устройства, текущую валюту и список поддерживаемых номиналов.

Пример data: deviceID;USD:100,50,20,10,5,2,1

Поля данных:

Порядок

Значение

1

Идентификатор устройства

2

Валюта (через двоеточие — список номиналов (через запятую))

stx

seq

cmd

data

etx

checksum

0x02

0x30–0x39

0x34

Текст (ID устройства, валюта, номиналы)

0x03

0xXX

_images/c200-34.png

Cmd 0x35 — Вывод мультивалютной информации

Возвращает агрегированные данные по всем валютам: валюта, количество банкнот, сумма. Записи для разных валют разделяются точкой с запятой.

Пример data: USD,100,10000;EUR,100,5000

Поля данных (повторяются для каждой валюты):

Порядок

Значение

1

Валюта

2

Количество банкнот

3

Сумма

stx

seq

cmd

data

etx

checksum

0x02

0x30–0x39

0x35

Текст (валюта, количество, сумма — через точку с запятой (;) для каждой валюты)

0x03

0xXX

_images/c200-35.png

Cmd 0x36 — Вывод информации об отклонённых купюрах

Передаёт данные о банкнотах, не прошедших проверку: валюта, номинал, серийный номер, информация об отбраковке.

Пример data: USD100,AC1234567,IR50

Поля данных:

Порядок

Значение

1

Валюта и номинал

2

Серийный номер

3

Информация об отбракованной банкноте (код ошибки)

stx

seq

cmd

data

etx

checksum

0x02

0x30–0x39

0x36

Текст (валюта, номинал, серийный номер, причина отклонения)

0x03

0xXX

_images/c200-36.png

Cmd 0x37 — Вывод полной информации об устройстве

Возвращает конфигурацию прибора: идентификатор устройства, версия ПО, версия сборки, версия интерфейса, дата сборки, версия FPGA, версия аппаратного обеспечения, версия CIS.

Примечание

Данные отправляются автоматически при включении счётчика или при переходе в меню ВЕРСИЯ ПО.

Пример data: 600008441951,1.0,20241125100637,2.0,20241122122855,03C01220,2C1G,CIS30T9:ALC

Поля данных:

Порядок

Значение

1

Идентификатор устройства

2

Версия ПО

3

Версия сборки

4

Версия интерфейса

5

Дата сборки

6

Версия FPGA

7

Версия аппаратного обеспечения

8

Версия CIS

stx

seq

cmd

data

etx

checksum

0x02

0x30–0x39

0x37

Текст (ID устройства, версия ПО, версия сборки, версия интерфейса, дата сборки, FPGA, версия HW, версия CIS)

0x03

0xXX

_images/c200-37.png

Cmd 0x38 — Вывод информации о статусе устройства

Возвращает полный статус устройства: идентификатор, модель, режим суммирования, скорость, фасовку, режим работы, уровень детекции, сторону, ориентацию, способ начала пересчёта, валюту, серийный номер, версию номинала.

Пример data: 600008761E11,C-120,0,1,0100,0,2,0,0,1,1,0

Поля данных:

Порядок

Значение

1

Идентификатор устройства

2

Модель (C-120 или C-200)

3

Режим суммирования (0 — выкл., 1 — вкл.)

4

Скорость

5

Фасовка (количество или 0 — функция отключена)

6

Режим работы (0 — МИКС, 1 — СЧЁТ, 2 — НОМИНАЛ)

7

Уровень детекции

8

Сторона (0 — выкл., 1 — вкл.)

9

Ориентация (0 — выкл., 1 — вкл.)

10

Начало пересчёта (0 — автоматически, 1 — вручную)

11

Валюта

12

Серийный номер (0 — выкл., 1 — вкл.)

13

Версия номинала, режим ВЕР. (0 — выкл., 1 — вкл.)

Примечание

Значения режима работы (поле 6) в протоколе передаются числами. Соответствие с подписями на экране устройства:

На экране устройства

В протоколе

Расшифровка

МИКС

0

Смешанный счёт

СЧЁТ

1

Простой подсчёт

НОМИНАЛ

2

Счёт по номиналу

stx

seq

cmd

data

etx

checksum

0x02

0xXX

0x38

Текст (ID устройства, модель, режим суммирования, скорость, фасовка, режим, детекция, сторона, ориентация, начало пересчёта, валюта, серийный номер, версия номинала)

0x03

0xXX

_images/c200-38.png