Терминалы сбора данных CipherLab 8000 и 8001 являются классическими представителями мобильных устройств для складского учета. Несмотря на их солидный возраст, они остаются востребованными благодаря своей надежности и низкому энергопотреблению. Однако стандартные настройки не всегда удовлетворяют потребностям бизнеса, особенно когда речь идет об объемах справочников товаров. Разберем подробно, как устроена программная часть этих устройств, как создать собственную логику работы и оптимизировать память для загрузки больших баз данных.
Прежде чем приступать к разработке, проанализируем, что именно понимается под термином "прошивка" в контексте данных устройств. ТСД CipherLab серии 8000 работают на базе проприетарной операционной системы. Программное обеспечение обычно состоит из двух уровней:
SHX, который определяет логику работы терминала: какие меню отображать, какие штрихкоды считывать и в какие поля записывать данные. Именно этот файл пользователи обычно называют "прошивкой".Рассмотрим три способа создания такого файла, от простого к сложному.
Это самый доступный метод, не требующий навыков программирования. Мы используем визуальный конструктор, чтобы определить последовательность действий пользователя.
Рассмотрим основные шаги работы в Генераторе Приложений:
SHX.Выясним причину популярности этого метода: он позволяет быстро создать рабочее решение, которое будет совместимо со стандартными драйверами от компании Сканкод или Атол. Однако, как отмечалось в обсуждении, Генератор Приложений не позволяет реализовать сложные циклы или ветвления "если-то".
Если возможностей визуального конструктора недостаточно, проанализируем вариант с BASIC Compiler. Это позволяет писать полноценный код. Для этого потребуется специальная среда разработки от CipherLab.
Пример простой логики на языке Basic может выглядеть следующим образом:
WHILE (1)
GET_BARCODE(code$)
IF code$ <> "" THEN
BEEP(1)
DISPLAY_TEXT(1, 1, "Код: " + code$)
END IF
WEND
Важный нюанс: Использование коммерческого компилятора Basic часто требует приобретения лицензии. В некоторых случаях именно это становится барьером, о котором упоминали участники форума при обсуждении стоимости решений.
Для максимально глубокой настройки мы можем использовать C SDK. Это позволяет работать с памятью напрямую, реализовывать собственные протоколы обмена данными и создавать интерфейсы любой сложности. Это уровень системного программиста, где результат также компилируется в формат SHX.
Один из главных вопросов автора темы касается увеличения объема базы товаров. В ТСД CipherLab 8000 используется статическая память (SRAM). Посмотрим, как мы можем оптимизировать ее использование через Application Generator или прямое редактирование структуры данных.
Разберем по шагам методику оптимизации:
Lookup File освобождает значительное пространство.Проанализируем пример: Если у нас есть 2 Мб памяти и запись о товаре занимает 100 байт, мы загрузим 20 000 позиций. Сократив длину записи до 50 байт, мы получим уже 40 000 позиций.
Многие пользователи опасаются, что после изменения прошивки придется писать свой драйвер для 1С. Разберем, так ли это.
Если вы используете Генератор Приложений от Сканкод, то структура передаваемых данных остается стандартной. В 1С подключается внешняя компонента (ВК), которая "общается" с терминалом через COM-порт (или эмуляцию USB-COM). Пока формат выгрузки (последовательность полей в CSV-подобном виде) соответствует тому, что ожидает драйвер, переписывать код в 1С не потребуется.
Если же вы полностью меняете логику обмена (например, переходите на свой протокол через C SDK), вам действительно придется:
ActiveX или Native API).COM-порта.Чтобы отправить созданный файл SHX в устройство, выполним следующие действия:
7 + 9 + Power (для входа в системное меню) или 1 + 7 + Power (для входа в режим Kernel).Download.exe или ProgLoad.exe, выберем нужный COM-порт, скорость (обычно 115200) и укажем путь к файлу SHX.Важный совет: Если при загрузке возникают ошибки, попробуйте снизить скорость передачи до 57600. ИК-связь в старых моделях чувствительна к внешнему освещению и качеству контактов подставки.
Таким образом, создание собственной "прошивки" для CipherLab 8000 — задача вполне реальная. Для большинства задач достаточно Генератора Приложений, который позволяет гибко настроить структуру полей и увеличить объем хранимых данных без необходимости глубокого программирования.