Настройка и работа с загрузчиком R1ScaleLoader
Содержание
Загрузка данных на весы
Для загрузки данных на весы необходимо выполнить следующие шаги:
- Установить общие настройки: каталог импорта, логирование и другие параметры;
- Создать правила импорта в настройках;
- Записать шаблоны этикеток в каталог загрузчика (по умолчанию:
./Data/Labels/
) и создать записи о шаблонах этикеток (не обязательно); - Создать записи о весах в настройках;
- Записать файл с импортируемыми данными в каталог импорта. Возможен импорт на одиночные весы или на все весы из списка весов.
Далее весы импортируют переданные им данные.
По умолчанию весы LS515 импортируют данные только в период неактивности (по умолчанию 20 секунд после последней активности на весах).
Весы LS215 импортируют данные в фоновом режиме. Во время импорта на экране появляется сообщение: Загрузка
.
Настройка загрузчика
Для изменения настроек загрузчика можно использовать разработанную для этого WEB-консоль R1ScaleLoaderControl, либо напрямую изменять файл настроек загрузчика Settings.ini
.
Файл настроек находится в каталоге Settings
каталога программы. Файл настроек является общим для WEB-консоли и загрузчика.
При изменении файла настроек они применяются загрузчиком автоматически.
Общие настройки
Настройки находятся к группе Main
Название настройки | Тип значения | Значение по умолчанию | Описание |
---|---|---|---|
UserName | string | root | Имя пользователя используемое для подключения в весам LS515 по протоколу SSH |
Password | string | 3342222 | Пароль используемый для подключения в весам LS515 по протоколу SSH |
PasswordAlt | string | teraoka | Альтернативный пароль используемый для подключения в весам LS515 по протоколу SSH, если не подошел основной пароль. Данная ситуация может возникнуть, если включить поддержку протокола Digi на стороне весов. При это весы автоматически меняют пароль пользователя root |
MainDataPath | string | ./Data | Путь к данным ПО. В данном каталоге хранятся данные, используемые при работе загрузчика: картинки, этикетки, шрифты и т.д. |
Настройки логирования
Настройки находятся к группе Logging
Название настройки | Тип значения | Значение по умолчанию | Описание |
---|---|---|---|
EnableLog | bool | True | Включение ведения логов |
SaveLogDays | int | 7 | Количество дней, которое сохраняются логи |
MaxLogSize | int | 5000000 | Максимальный размер файла лога до выполнения ротации лог-файлов. Размер в байтах |
LogLevel | string | INFO | Уровень логирования. Возможные варианты: DEBUG, INFO, WARNING, ERROR, CRITICAL |
LogPath | string | ./Log/ | Путь сохранения файлов логов |
EnableDigiLogFile | bool | True | Разрешить ведение логов в формате QLoad |
DigiLogPath | string | ./Log/ | Путь сохранения файлов логов в формате QLoad |
Настройки импорта
Настройки находятся к группе Import
Название настройки | Тип значения | Значение по умолчанию | Описание |
---|---|---|---|
ImportPath | string | ./Import | Каталог импорта файлов |
ImportImagesPath | string | ./Import/Images | Каталог импорта файлов картинок. Если у товаров и/или групп заданы картинки, то они ищутся в данном каталоге и в случае обнаружения, передаются на весы в каталог /opt/R1Sensor/Data/Images
|
Encoding | string | utf-8 | Кодировка файлов импорта. Возможные варианты: 'windows-1251', 'dos-866', 'utf-8', 'windows-1256' |
RemoteFilesOnStart | bool | True | Удалять файлы совпадающие с правилами импорта, находящиеся в каталоге импорта при запуске загрузчика. Данная опция возможно понадобится при отладке работы загрузчика |
Update | bool | False | По умолчанию обновлять базу товаров, иначе выполнять сначала полную очистку базы, а потом загрузку новых данных |
SyncTime | bool | True | Синхронизировать время компьютер <-> весы при загрузке данных в весы |
LoadLabelsOnLoadDataBase | bool | True | Загружать шаблоны этикеток при загрузке данных в весы |
LoadFontssOnLoadDataBase | bool | True | Загружать шрифты при загрузке данных в весы. Данная опция работает только с весами LS215 |
DateTimeFormat | string | %Y%m%d%H%M | Формат даты времени в файлах импорта |
Список весов
Настройки находятся к группе ScaleX
Где Х - это порядковый номер весов.
Название настройки | Тип значения | Значение по умолчанию | Описание |
---|---|---|---|
Enabled | bool | True | Разрешить использование данных весов |
Name | string | Название | |
Type | string | Тип весов. Возможные варианты: LS515, LS2M3, Digi SM100/300 | |
IP | string | IP-адрес весов | |
Labels | string | Шаблоны этикеток используемые весами. Задаются номера шаблон этикеток (один или более) | |
Comment | string | Примечание |
! | Весы Digi на 17.03.2023 не поддерживаются |
Список шаблонов этикеток
Настройки находятся к группе LabelX
Где Х - это порядковый номер шаблона этикеткив.
Название настройки | Тип значения | Значение по умолчанию | Описание |
---|---|---|---|
Enabled | bool | True | Разрешить использование данных весов |
Number | int | Номер шаблона этикетки в весах | |
FormatFile | string | Файл содержащий формат этикетки | |
MapFile | string | Файл содержащий задний фон этикетки (статические объекты) | |
TblFile | string | Файл содержащий исходный (редактируемый) шаблон этикетки. Данный файл может отсутствовать | |
Comment | string | Примечание |
Список правил импорта
Настройки находятся к группе ImportRuleX
Где Х - это порядковый номер правила импорта.
Название настройки | Тип значения | Значение по умолчанию | Описание |
---|---|---|---|
Enabled | bool | True | Разрешить использование данного правила |
Name | string | Название | |
RegExp | string | Регулярное выражение в формате Python для захвата файлов импорта | |
Type | string | Тип правила. Возможные варианты: database, labels, files, digicsv | |
Path | string | Путь на весах LS515. Используется в правилах копирования файлов | |
Comment | string | Примечание |
Типы правил:
- database
- используется для импорта файлов с данными товарной базы.
- поддерживаются форматы
csv
иxml
- формат файлов
csv
описан в соответствующем разделе руководства - формат файлов
xml
описан в соответствующем разделе руководства - перед передачей данные файлы преобразуются в зависимости от типа весов, на которые ведется передача
- labels
- используется для передачи шаблонов этикеток на весы
- files
- данное правило используется только при работе с весами LS515
- используется для простого копирования файлов на весы
- при использовании данного правила необходимо задать путь на весах, куда будут скопированы файлы
- digicsv
- данное правило не поддерживается
- используется для импорта файлов с данными товарной базы из файлов в формате QLoad.
- поддерживаются формат
csv
- перед передачей данные файлы преобразуются в зависимости от типа весов, на которые ведется передача
Создание регулярного выражения для правил
Правило захвата файлов загрузчиком построено на регулярных выражений в формате Python. В правилах используются именованные группы, именно они должны быть описаны в формате Python. В остальном регулярные выражения стандартны.
Использование именованных групп:
- Для задания IP адреса весов - <IP>
- Для задания № этикетки - <NUM>
Для проверки правил можно использовать бесплатный онлайн сервис regular expressions 101 или аналогичные.
Пример для задания этикеток с привязкой к номерам:
.*[tTlL](?P<NUM>\d+).*_fmt(?P<IP>(?:#)\d{1,3}
Этому примеру соответствует:
L17_fmt.lnx
Где 17 - это номер этикетки. Этикетка рассылается на все весы из списка весов.
L17_fmt#158.lnx
Где 17 - это номер этикетки. Файл передается на весы с адресом .158 в последней части IP адреса.
Пример правила простого копирования файла на весы:
.*(?P<IP>#\d{1,3}
Этому примеру соответствует:
input.xml
Файл рассылается на все весы из списка весов.
input#158.xml
Файл передается на весы с адресом .158 в последней части IP адреса.
Запуск загрузчика
Для работы программы необходим Python версии 3.10 и новее.
Так же необходимо установить используемые в программе библиотеки, указанные в файле requirements.txt
.
Команда установки зависимостей:
pip install -r /opt/PyR1ScaleService/requirements.txt
ОС Windows
Для запуска загрузчика используются файл run-loader.bat
, находящийся в каталоге ПО.
Для запуска ПО вручную необходимо выполнить команду из каталога ПО: python R1ScaleLoaderMain.py
ОС Linux
Каталог, где должно находится ПО по умолчанию: /opt/PyR1ScaleService
Для запуска загрузчика в качестве сервиса systemd необходимо установить службу r1scaleloader.service
командой systemctl enable r1scaleloader.service
.
В случае расположения ПО по другому пути, необходимо внести соответствующие изменения в файл r1scaleloader.service
.
Для запуска ПО вручную необходимо выполнить команду из каталога ПО: python3 R1ScaleLoaderMain.py