Фонове та віддалене виконання — сервер, середовище виконання ПЛК та віддалена розробка
Всі консольні операції можете виконати у консольному терміналі, наприклад, програма "konsole" у оточенні Живого Диску з діалогу запуску за Alt+F2. Та тека "{HOME}" тут, це "/home/user".
Організація проєкту OpenSCADA у окремій теці робить простим запуск готових проєктів у просторі сервісу — виконання у фоні, а також подальше оновлення та супровід цього проєкту без прямого віддаленого контролю. Фактично, ви можете розробляти проєкт локально, тримаючи його теку у користувацькій робочій теці (типово "{HOME}/.openscada"), а для запуску у просторі сервісу лише копіювати або пакувати, передавати на віддалений робочий пристрій та розпаковувати у системну робочу теку (типово "/usr/share/openscada").
Сервісне-фонове виконання програм в Linux обслуговується відповідним чином сформованим сценарієм-скриптом, який розташовується в теці "/etc/ini.d" та має бути окремим на кожен проєкт OpenSCADA що запускається у сервісному просторі. Для спрощення та виключення необхідності займатися створенням власних сценаріїв OpenSCADA надає відповідні для стандартних випадків-профілів та які зазвичай постачаються пакетами openscada-server і openscada-plc (openscada-lts-server і openscada-lts-plc для LTS).
Відтак, для запуску у просторі сервісу скажімо бібліотечного проєкту "АГЛКС" ми:
- встановлюємо пакет openscada-model-aglks (openscada-lts-model-aglks для LTS)та openscada-server (openscada-lts-server для LTS), якщо їх ще не встановлено та це не оточення Живого Диску або Linux Автоматизації від встановлення цього Диску;
- запускаємо проєкт "АГЛКС" для отримання його теки у користувацькій робочій теці;
- копіюємо теку проєкту "АГЛКС" до системної робочої теки із перейменуванням у "server", попередньо зупинивши фонове виконання проєкту "server" та видаливши його теку проєкту; наприклад, наступним чином із консолі:
# Підключитися від суперкористувача
su -
# ... для живого диску та деяких інших оточень Linux
sudo bash
# Зупинити виконання попередньої конфігурації серверу та видалити його теку
systemctl stop openscada-server.service # для SystemD
service openscada-server stop # для SysVinit
rm -R /usr/share/openscada/server
# ... для LTS
systemctl stop openscada-lts-server.service # для SystemD
service openscada-lts-server stop # для SysVinit
rm -R /usr/share/openscada/server
# Скопіювати проєкт "АГЛКС" із домашньої теки користувача "{HOME}" з перейменуванням у "server"
cp -R {HOME}/.openscada/AGLKS /usr/share/openscada/server
# Запустити сервер вже з проєктом "АГЛКС"
systemctl start openscada-server.service # для SystemD
service openscada-server start # для SysVinit
# ... для LTS
systemctl start openscada-lts-server.service # для SystemD
service openscada-lts-server start # для SysVinit
Зауважте, що локально ви можете не копіювати теку проєкту цілком, а лише встановити на неї символічне посилання, але ви отримаєте ризик подвійного виконання проєкту на спільну теку та дані, що призводить до аварійного завершення одного виконання або й обох!
Відмінність виконання проєкту у середовищі сервісу-фону від користувацького середовища робочої стільниці власне одна, звісно крім відсутності локального графічного інтерфейсу, це — відсутність у фоні визначення локалі, тобто мова інтерфейсу там буде Англійська. Та що можна просто виправити зміною або доданням конфігураційного параметру <prm id="Lang">uk_UA.UTF-8</prm> до секції-тегу "station" файлу oscada.xml фонового проєкту.