Содержание
Запуск
Запуск demo
Выполнить:
jroboplc/start.bat
Сервис под linux (рекомендуемый способ)
Только для систем, использущих systemd. Проверить наличие и версию можно командами:
ps -p 1 -o comm= systemctl --version
Скрипты:
jroboplc
└─ svc.lin
├─ _console - запустить как приложение
├─ _install - установить сервис
├─ _remove - удалить сервис
├─ _restart - перезапустить сервиса
├─ _start - запустить сервис
├─ _status - показать статус сервиса
└─ _stop - остановить сервис
Конфигурация сервиса находится в файле:
jroboplc
└─ svc.lin
└─ jrobo.service
Перед установкой сервиса прописать нужные значения параметров:
[Unit] Description=jrobo [Service] User=jrobo Group=jrobo
Имя сервиса задается именем service-файла.
Сервис под windows (рекомендуемый способ)
Только для Windows 7+ x64.
Используется утилита servy.
Скрипты:
jroboplc
└─ svc.win
├─ console.bat - запустить как приложение
├─ get-servy.bat - скачать утилиту servy-cli.exe
├─ install.bat - установить сервис
├─ remove.bat - удалить сервис
├─ restart.bat - перезапустить сервиса
├─ start.bat - запустить сервис
├─ status.bat - показать статус сервиса
└─ stop.bat - остановить сервис
Перед использованием отредактировать файл install.bat:
set SERVICE_NAME="jrobo" set SERVICE_DESCR="jrobo" set JAVA_PATH="C:\Program Files\Java\jdk-21\bin\java.exe"
Запуск через wrapper tanuki
Скачивание
Перейти в каталог jroboplc/wrapper/ и выполнить соответствующий скрипт:
- download_wrapper_linux.sh (для linux)
- download_wrapper_windows.bat (для windows)
Скрипты запуска в Linux
Скрипты запуска находятся в каталоге jroboplc/ctl.lin:
_console - запустить как приложение _install - установить сервис _remove - удалить сервис _restart - перезапустить сервиса _start - запустить сервис _status - показать статус сервиса _stop - остановить сервис
Для изменения имени сервиса (если на одной машине планируется несколько инсталляций) использовать параметры APP_NAME и APP_LONG_NAME в файле jroboplc/ctl.lin/jroboplc.
Скрипты запуска в Windows
Скрипты запуска находятся в каталоге jroboplc/ctl.win:
_console.bat - запустить как приложение _install.bat - установить сервис _remove.bat - удалить сервис _restart.bat - перезапустить сервиса _start.bat - запустить сервис _status.bat - показать статус сервиса _stop.bat - остановить сервис
Для изменения имени сервиса (если на одной машине планируется несколько инсталляций) использовать параметры в файле jroboplc/wrapper/wrapper-conf/wrapper.win.conf:
wrapper.name=jroboplc wrapper.displayname=jroboplc wrapper.description=jroboplc
Конфигурационные файлы
В каталоге jroboplc/wrapper-conf находятся настроенные по умолчанию конфигурационные файлы раздельно для linux и windows:
- wrapper.lin.conf
- wrapper.win.conf
Наиболее важные параметры этих файлов:
# для linux set.JAVA_HOME=/usr/lib/jvm/java-8-oracle wrapper.java.command=%JAVA_HOME%/bin/java # для windows wrapper.java.command=java # при этом java и javac должны быть в PATH системы # для linux и windows wrapper.java.classpath.1=../lib/wrapper.jar wrapper.java.classpath.2=../../../jar/core/jroboplc.jar wrapper.java.library.path.1=../lib wrapper.app.parameter.1=promauto.jroboplc.core.JRoboPLC wrapper.app.parameter.2=-plg wrapper.app.parameter.3=../../../jar/plugin wrapper.app.parameter.4=-cfg wrapper.app.parameter.5=../../../conf wrapper.app.parameter.6=-cmd wrapper.app.parameter.7="ansi off|start" wrapper.logfile=../../../log/wrapper wrapper.console.title=JRoboPLC # для windows wrapper.name=jroboplc wrapper.displayname=jroboplc wrapper.description=jroboplc wrapper.ntservice.starttype=DEMAND_START # либо AUTO_START, DELAY_START # опционально wrapper.disable_forced_shutdown=TRUE # если операционная система не правильно отдает текущую временную зону, то прописать явно соответствующую зону (рекоммендуемый вариант): wrapper.timezone=Asia/Yekaterinburg # либо так #wrapper.java.additional.1=-Duser.timezone="Asia/Yekaterinburg" #wrapper.java.additional.1=-Duser.timezone="Etc/GMT-5" # либо, если ubuntu, см. след. раздел
Внимание! От версии к версии производитель wrapper'а меняет названия параметров, поэтому могут быть несовпадения.
Исправление часового пояса в Ubuntu
sudo cp /etc/timezone /etc/timezone.dist echo "Asia/Yekaterinburg" | sudo tee /etc/timezone sudo dpkg-reconfigure --frontend noninteractive tzdata
Установка сертификатов в windows
Иногда при запуске под windows происходит примерно следующее:
wrapper | A signature was found in "C:\wrapper-windows-x86-32-3.5.7-pro\bin\wra pper.exe", but checksum failed: (Errorcode: 0x800b010a) A certificate chain could not be built to a trusted root authority. (0x800b010a) wrapper | Signer Certificate: wrapper | Serial Number: wrapper | 00 97 06 fe b5 6e 56 cc cb 66 3a bb 55 a7 a0 e4 76 wrapper | Issuer Name: UTN-USERFirst-Object wrapper | Subject Name: Tanuki Software Ltd. wrapper | TimeStamp Certificate: wrapper | Serial Number: wrapper | 47 8a 8e fb 59 e1 d8 3f 0c e1 42 d2 a2 87 07 be wrapper | Issuer Name: UTN-USERFirst-Object wrapper | Subject Name: COMODO Time Stamping Signer wrapper | Date of TimeStamp : 2010/12/19 22:32 wrapper | The Wrapper will shutdown!
Решение проблемы заключается в установке недостающих/просроченных сертификатов, и описано здесь: https://wrapper.tanukisoftware.com/doc/english/troubleshooting.html#9
Если доступ на сайт отсутствует, то использовать online proxy. Копия страницы troubleshooting здесь: http://prom-auto.ru/doc/wrapper/troubleshooting.html
Сертификаты можно скачать здесь: http://prom-auto.ru/download/?dir=dist/wrapper/cert
Запуск как java-приложение
Пример строки запуска, если текущий каталог jroboplc:
java -jar jar/core/jroboplc.jar -cfg conf -cmd "ansi on|start"