Настройка и работа с загрузчиком R1ScaleLoader: различия между версиями
Michael (обсуждение | вклад) |
Michael (обсуждение | вклад) |
||
(не показано 8 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
__TOC__ | __TOC__ | ||
+ | |||
+ | = Загрузка данных на весы = | ||
+ | |||
+ | Для загрузки данных на весы необходимо выполнить следующие шаги: | ||
+ | |||
+ | #Установить общие настройки: каталог импорта (каталог находится на компьютере, где запущен загрузчик), передачу шрифтов/этикеток, логирование и другие параметры; | ||
+ | #Создать правила импорта файлов с данными в настройках; | ||
+ | #Записать шаблоны этикеток в каталог загрузчика (по умолчанию: {{Путь к файлу|./Data/Labels/}}) и создать записи связывающие номера шаблонов этикеток с конкретными файлами. Данный пункт не является обязательным; | ||
+ | #Создать записи о весах в настройках; | ||
+ | #Записать файл с импортируемыми данными в каталог импорта. Файл можно записать в каталог импорта непосредственно на компьютер, где установлен загрузчик, либо передать с помощью WEB-консоли. Возможен импорт на одиночные весы или на все весы из списка весов, все определяется правилами и зависит от имени файла. | ||
+ | |||
+ | '''Далее весы импортируют переданные им данные.''' | ||
+ | |||
+ | По умолчанию весы LS515 импортируют данные только в период неактивности (по умолчанию 20 секунд после последней активности на весах). | ||
+ | |||
+ | Весы LS215 импортируют данные в фоновом режиме. Во время импорта на экране появляется сообщение: {{Пункт меню|Загрузка}}. | ||
= Настройка загрузчика = | = Настройка загрузчика = | ||
− | Для изменения настроек загрузчика | + | {{К сведению|Для изменения настроек загрузчика рекомендуется использовать разработанную для этого WEB-консоль '''R1ScaleLoaderControl'''.}} |
− | Файл настроек находится в каталоге {{Путь к файлу|Settings}} каталога программы. | + | При необходимости для изменения настроек можно напрямую изменять файл настроек загрузчика {{Путь к файлу|Settings.ini}}. |
+ | |||
+ | Файл настроек находится в каталоге {{Путь к файлу|Settings}} каталога программы. Файл настроек является общим для WEB-консоли и загрузчика. | ||
При изменении файла настроек они применяются загрузчиком автоматически. | При изменении файла настроек они применяются загрузчиком автоматически. | ||
Строка 17: | Строка 35: | ||
! Название настройки !! Тип значения !! Значение по умолчанию !! Описание | ! Название настройки !! Тип значения !! Значение по умолчанию !! Описание | ||
|- | |- | ||
− | | UserName || string || root || Имя пользователя используемое для подключения в весам LS515 | + | | UserName || string || root || Имя пользователя используемое для подключения в весам LS515 по протоколу SSH |
|- | |- | ||
− | | Password || string || 3342222 || Пароль используемый для подключения в весам LS515 | + | | Password || string || 3342222 || Пароль используемый для подключения в весам LS515 по протоколу SSH |
|- | |- | ||
− | | PasswordAlt || string || teraoka || Альтернативный пароль используемый для подключения в весам LS515, если не подошел основной пароль | + | | PasswordAlt || string || teraoka || Альтернативный пароль используемый для подключения в весам LS515 по протоколу SSH, если не подошел основной пароль. Данная ситуация может возникнуть, если включить поддержку протокола Digi на стороне весов. При это весы автоматически меняют пароль пользователя ''root'' |
|- | |- | ||
− | | MainDataPath || string || ./Data || Путь к данным ПО | + | | MainDataPath || string || ./Data || Путь к данным ПО. В данном каталоге хранятся данные, используемые при работе загрузчика: картинки, этикетки, шрифты и т.д. |
|} | |} | ||
Строка 38: | Строка 56: | ||
| SaveLogDays || int || 7 || Количество дней, которое сохраняются логи | | SaveLogDays || int || 7 || Количество дней, которое сохраняются логи | ||
|- | |- | ||
− | | MaxLogSize || int || 5000000 || Максимальный размер файла лога до | + | | MaxLogSize || int || 5000000 || Максимальный размер файла лога до выполнения ротации лог-файлов. Размер в байтах |
− | |||
− | |||
|- | |- | ||
| LogLevel || string || INFO || Уровень логирования. Возможные варианты: DEBUG, INFO, WARNING, ERROR, CRITICAL | | LogLevel || string || INFO || Уровень логирования. Возможные варианты: DEBUG, INFO, WARNING, ERROR, CRITICAL | ||
|- | |- | ||
| LogPath || string || ./Log/ || Путь сохранения файлов логов | | LogPath || string || ./Log/ || Путь сохранения файлов логов | ||
+ | |- | ||
+ | | EnableDigiLogFile || bool || True || Разрешить ведение логов в формате QLoad | ||
|- | |- | ||
| DigiLogPath || string || ./Log/ || Путь сохранения файлов логов в формате QLoad | | DigiLogPath || string || ./Log/ || Путь сохранения файлов логов в формате QLoad | ||
Строка 59: | Строка 77: | ||
| ImportPath || string || ./Import || Каталог импорта файлов | | ImportPath || string || ./Import || Каталог импорта файлов | ||
|- | |- | ||
− | | ImportImagesPath || string || ./Import/Images || Каталог импорта файлов картинок | + | | ImportImagesPath || string || ./Import/Images || Каталог импорта файлов картинок. Если у товаров и/или групп заданы картинки, то они ищутся в данном каталоге и в случае обнаружения, передаются на весы в каталог {{Путь к файлу|/opt/R1Sensor/Data/Images}} |
|- | |- | ||
| Encoding || string || utf-8 || Кодировка файлов импорта. Возможные варианты: 'windows-1251', 'dos-866', 'utf-8', 'windows-1256' | | Encoding || string || utf-8 || Кодировка файлов импорта. Возможные варианты: 'windows-1251', 'dos-866', 'utf-8', 'windows-1256' | ||
|- | |- | ||
− | | RemoteFilesOnStart || bool || True || Удалять файлы совпадающие с правилами, находящиеся в | + | | RemoteFilesOnStart || bool || True || Удалять файлы совпадающие с правилами импорта, находящиеся в каталоге импорта при запуске загрузчика. Данная опция возможно понадобится при отладке работы загрузчика |
|- | |- | ||
− | | Update || bool || False || По умолчанию обновлять базу товаров, иначе | + | | Update || bool || False || По умолчанию обновлять базу товаров, иначе выполнять сначала полную очистку базы, а потом загрузку новых данных |
|- | |- | ||
− | | SyncTime || bool || True || Синхронизировать время при загрузке данных в весы | + | | SyncTime || bool || True || Синхронизировать время ''компьютер <-> весы'' при загрузке данных в весы |
|- | |- | ||
| LoadLabelsOnLoadDataBase || bool || True || Загружать шаблоны этикеток при загрузке данных в весы | | LoadLabelsOnLoadDataBase || bool || True || Загружать шаблоны этикеток при загрузке данных в весы | ||
+ | |- | ||
+ | | LoadFontssOnLoadDataBase || bool || True || Загружать шрифты при загрузке данных в весы. Данная опция работает только с весами LS215 | ||
|- | |- | ||
| DateTimeFormat || string || %Y%m%d%H%M || Формат даты времени в файлах импорта | | DateTimeFormat || string || %Y%m%d%H%M || Формат даты времени в файлах импорта | ||
Строка 92: | Строка 112: | ||
| IP || string || || IP-адрес весов | | IP || string || || IP-адрес весов | ||
|- | |- | ||
− | | Labels || string || || Шаблоны этикеток используемые весами | + | | Labels || string || || Шаблоны этикеток используемые весами. Задаются номера шаблон этикеток (один или более) |
|- | |- | ||
| Comment || string || || Примечание | | Comment || string || || Примечание | ||
Строка 98: | Строка 118: | ||
{{К сведению|Весы Digi на 17.03.2023 не поддерживаются}} | {{К сведению|Весы Digi на 17.03.2023 не поддерживаются}} | ||
+ | |||
+ | == Список шаблонов этикеток == | ||
+ | |||
+ | Настройки находятся к группе {{Пункт меню|LabelX}} | ||
+ | |||
+ | Где Х - это порядковый номер шаблона этикеткив. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Название настройки !! Тип значения !! Значение по умолчанию !! Описание | ||
+ | |- | ||
+ | | Enabled || bool || True || Разрешить использование данных весов | ||
+ | |- | ||
+ | | Number || int || || Номер шаблона этикетки в весах | ||
+ | |- | ||
+ | | FormatFile || string || || Файл содержащий формат этикетки | ||
+ | |- | ||
+ | | MapFile || string || || Файл содержащий задний фон этикетки (статические объекты) | ||
+ | |- | ||
+ | | TblFile || string || || Файл содержащий исходный (редактируемый) шаблон этикетки. Данный файл может отсутствовать | ||
+ | |- | ||
+ | | Comment || string || || Примечание | ||
+ | |} | ||
== Список правил импорта == | == Список правил импорта == | ||
Строка 212: | Строка 255: | ||
Каталог, где должно находится ПО по умолчанию: {{Путь к файлу|/opt/PyR1ScaleService}} | Каталог, где должно находится ПО по умолчанию: {{Путь к файлу|/opt/PyR1ScaleService}} | ||
− | Для запуска загрузчика в качестве сервиса systemd необходимо установить службу {{Путь к файлу|r1scaleloader.service}} командой {{Путь к файлу|systemctl enable r1scaleloader.service}} | + | Для запуска загрузчика в качестве сервиса systemd необходимо установить службу {{Путь к файлу|r1scaleloader.service}} командой {{Путь к файлу|systemctl enable r1scaleloader.service}}. |
В случае расположения ПО по другому пути, необходимо внести соответствующие изменения в файл {{Путь к файлу|r1scaleloader.service}}. | В случае расположения ПО по другому пути, необходимо внести соответствующие изменения в файл {{Путь к файлу|r1scaleloader.service}}. | ||
Строка 218: | Строка 261: | ||
Для запуска ПО вручную необходимо выполнить команду из каталога ПО: {{Путь к файлу|python3 R1ScaleLoaderMain.py}} | Для запуска ПО вручную необходимо выполнить команду из каталога ПО: {{Путь к файлу|python3 R1ScaleLoaderMain.py}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 14:58, 22 марта 2023
Содержание
Загрузка данных на весы
Для загрузки данных на весы необходимо выполнить следующие шаги:
- Установить общие настройки: каталог импорта (каталог находится на компьютере, где запущен загрузчик), передачу шрифтов/этикеток, логирование и другие параметры;
- Создать правила импорта файлов с данными в настройках;
- Записать шаблоны этикеток в каталог загрузчика (по умолчанию:
./Data/Labels/
) и создать записи связывающие номера шаблонов этикеток с конкретными файлами. Данный пункт не является обязательным; - Создать записи о весах в настройках;
- Записать файл с импортируемыми данными в каталог импорта. Файл можно записать в каталог импорта непосредственно на компьютер, где установлен загрузчик, либо передать с помощью WEB-консоли. Возможен импорт на одиночные весы или на все весы из списка весов, все определяется правилами и зависит от имени файла.
Далее весы импортируют переданные им данные.
По умолчанию весы 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