Изменения

Перейти к навигации Перейти к поиску

Настройка и работа с загрузчиком R1ScaleLoader

15 109 байт добавлено, 14:58, 22 марта 2023
Нет описания правки
__TOC__
 
= Загрузка данных на весы =
 
Для загрузки данных на весы необходимо выполнить следующие шаги:
 
#Установить общие настройки: каталог импорта (каталог находится на компьютере, где запущен загрузчик), передачу шрифтов/этикеток, логирование и другие параметры;
#Создать правила импорта файлов с данными в настройках;
#Записать шаблоны этикеток в каталог загрузчика (по умолчанию: {{Путь к файлу|./Data/Labels/}}) и создать записи связывающие номера шаблонов этикеток с конкретными файлами. Данный пункт не является обязательным;
#Создать записи о весах в настройках;
#Записать файл с импортируемыми данными в каталог импорта. Файл можно записать в каталог импорта непосредственно на компьютер, где установлен загрузчик, либо передать с помощью WEB-консоли. Возможен импорт на одиночные весы или на все весы из списка весов, все определяется правилами и зависит от имени файла.
 
'''Далее весы импортируют переданные им данные.'''
 
По умолчанию весы LS515 импортируют данные только в период неактивности (по умолчанию 20 секунд после последней активности на весах).
 
Весы LS215 импортируют данные в фоновом режиме. Во время импорта на экране появляется сообщение: {{Пункт меню|Загрузка}}.
= Настройка загрузчика =
 
{{К сведению|Для изменения настроек загрузчика рекомендуется использовать разработанную для этого WEB-консоль '''R1ScaleLoaderControl'''.}}
 
При необходимости для изменения настроек можно напрямую изменять файл настроек загрузчика {{Путь к файлу|Settings.ini}}.
 
Файл настроек находится в каталоге {{Путь к файлу|Settings}} каталога программы. Файл настроек является общим для WEB-консоли и загрузчика.
 
При изменении файла настроек они применяются загрузчиком автоматически.
== Общие настройки ==
 
Настройки находятся к группе {{Пункт меню|Main}}
 
{| class="wikitable"
|-
! Название настройки !! Тип значения !! Значение по умолчанию !! Описание
|-
| UserName || string || root || Имя пользователя используемое для подключения в весам LS515 по протоколу SSH
|-
| Password || string || 3342222 || Пароль используемый для подключения в весам LS515 по протоколу SSH
|-
| PasswordAlt || string || teraoka || Альтернативный пароль используемый для подключения в весам LS515 по протоколу SSH, если не подошел основной пароль. Данная ситуация может возникнуть, если включить поддержку протокола Digi на стороне весов. При это весы автоматически меняют пароль пользователя ''root''
|-
| MainDataPath || string || ./Data || Путь к данным ПО. В данном каталоге хранятся данные, используемые при работе загрузчика: картинки, этикетки, шрифты и т.д.
|}
 
== Настройки логирования ==
 
Настройки находятся к группе {{Пункт меню|Logging}}
 
{| class="wikitable"
|-
! Название настройки !! Тип значения !! Значение по умолчанию !! Описание
|-
| 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}}
 
{| class="wikitable"
|-
! Название настройки !! Тип значения !! Значение по умолчанию !! Описание
|-
| 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}}
 
Где Х - это порядковый номер весов.
 
{| class="wikitable"
|-
! Название настройки !! Тип значения !! Значение по умолчанию !! Описание
|-
| Enabled || bool || True || Разрешить использование данных весов
|-
| Name || string || || Название
|-
| Type || string || || Тип весов. Возможные варианты: LS515, LS2M3, Digi SM100/300
|-
| IP || string || || IP-адрес весов
|-
| Labels || string || || Шаблоны этикеток используемые весами. Задаются номера шаблон этикеток (один или более)
|-
| Comment || string || || Примечание
|}
 
{{К сведению|Весы Digi на 17.03.2023 не поддерживаются}}
 
== Список шаблонов этикеток ==
 
Настройки находятся к группе {{Пункт меню|LabelX}}
 
Где Х - это порядковый номер шаблона этикеткив.
 
{| class="wikitable"
|-
! Название настройки !! Тип значения !! Значение по умолчанию !! Описание
|-
| Enabled || bool || True || Разрешить использование данных весов
|-
| Number || int || || Номер шаблона этикетки в весах
|-
| FormatFile || string || || Файл содержащий формат этикетки
|-
| MapFile || string || || Файл содержащий задний фон этикетки (статические объекты)
|-
| TblFile || string || || Файл содержащий исходный (редактируемый) шаблон этикетки. Данный файл может отсутствовать
|-
| Comment || string || || Примечание
|}
== Список правил импорта ==
 
Настройки находятся к группе {{Пункт меню|ImportRuleX}}
 
Где Х - это порядковый номер правила импорта.
 
{| class="wikitable"
|-
! Название настройки !! Тип значения !! Значение по умолчанию !! Описание
|-
| Enabled || bool || True || Разрешить использование данного правила
|-
| Name || string || || Название
|-
| RegExp || string || || Регулярное выражение в формате Python для захвата файлов импорта
|-
| Type || string || || Тип правила. Возможные варианты: database, labels, files, digicsv
|-
| Path || string || || Путь на весах LS515. Используется в правилах копирования файлов
|-
| Comment || string || || Примечание
|}
 
Типы правил:
 
:*'''database'''
::используется для импорта файлов с данными товарной базы.
::поддерживаются форматы {{Путь к файлу|csv}} и {{Путь к файлу|xml}}
::формат файлов {{Путь к файлу|csv}} описан {{Описано в разделе|Импорт_данных_из_CSV_файлов#.D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D0.B4.D0.BB.D1.8F_.D0.B8.D0.BC.D0.BF.D0.BE.D1.80.D1.82.D0.B0_.D0.B8.D0.B7_.D1.84.D0.B0.D0.B9.D0.BB.D0.BE.D0.B2_Excel}}
::формат файлов {{Путь к файлу|xml}} описан {{Описано в разделе|Импорт_данных_из_XML_файлов}}
::перед передачей данные файлы преобразуются в зависимости от типа весов, на которые ведется передача
 
:*'''labels'''
::используется для передачи шаблонов этикеток на весы
 
:*'''files'''
::'''''данное правило используется только при работе с весами LS515'''''
::используется для простого копирования файлов на весы
::при использовании данного правила необходимо задать путь на весах, куда будут скопированы файлы
 
:*'''digicsv'''
::'''''данное правило не поддерживается'''''
::используется для импорта файлов с данными товарной базы из файлов в формате QLoad.
::поддерживаются формат {{Путь к файлу|csv}}
::перед передачей данные файлы преобразуются в зависимости от типа весов, на которые ведется передача
 
=== Создание регулярного выражения для правил ===
 
Правило захвата файлов загрузчиком построено на регулярных выражений в формате Python. В правилах используются именованные группы, именно они должны быть описаны в формате Python. В остальном регулярные выражения стандартны.
 
Использование именованных групп:
 
:Для задания IP адреса весов - '''<IP>'''
 
:Для задания № этикетки - '''<NUM>'''
 
 
Для проверки правил можно использовать бесплатный онлайн сервис [https://regex101.com/ '''regular expressions 101'''] или аналогичные.
 
 
'''Пример для задания этикеток с привязкой к номерам:'''
 
:{{Пункт меню|.*[tTlL](?P<NUM>\d+).*_fmt(?P<IP>(?:#)\d{1,3}|)\.lnx$}}
 
Этому примеру соответствует:
 
:{{Путь к файлу|L17_fmt.lnx}}
 
Где 17 - это номер этикетки.
Этикетка рассылается на все весы из списка весов.
 
 
:{{Путь к файлу|L17_fmt#158.lnx}}
 
Где 17 - это номер этикетки.
Файл передается на весы с адресом .158 в последней части IP адреса.
 
 
'''Пример правила простого копирования файла на весы:'''
 
:{{Пункт меню|.*(?P<IP>#\d{1,3}|)\.(?:xml|txt|csv)$}}
 
Этому примеру соответствует:
 
:{{Путь к файлу|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}}

Навигация