EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

Алиасы директорий: домашняя, рабочая, директория проекта


Author Message
Written on: 05. 04. 2016 [15:40]
livello
Сергей Конюхов
Topic creator
registered since: 20.04.2015
Posts: 11
При подготовке шаблона нового проекта openscada включаю в него базовые библиотеки
/home/livello/.openscada/pureRiko/pureLibs/OscadaLibs.db
/home/livello/.openscada/pureRiko/pureLibs/vcaBase.db
/home/livello/.openscada/pureRiko/pureLibs/vcaElectroEls.db
/home/livello/.openscada/pureRiko/pureLibs/vcaTest.db

При копировании проекта pureRiko -> pureRiko2 понадобится исправить все пути к библиотекам в конфигурационном файле /home/livello/.openscada/pureRiko/oscada.xml:

<fld ID="GenDB" TYPE="SQLite" NAME="Gen DB" ADDR="/home/livello/.openscada/pureRiko/St.db" CODEPAGE="UTF-8" EN="1" />
<fld ID="oScadaLibs" TYPE="SQLite" NAME="Библиотеки функций" ADDR="/home/livello/.openscada/pureRiko/pureLibs/OscadaLibs.db" CODEPAGE="UTF-8"



Было бы удобно иметь возможность задавать относительные пути к подключаемым файлам БД вида $HOME, $PROJECT...

Written on: 05. 04. 2016 [16:22]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"livello" wrote:

Было бы удобно иметь возможность задавать относительные пути к подключаемым файлам БД вида $HOME, $PROJECT...

Ну так и указывайте относительно, Вам кто не дал?
В рабочей версии текущая директория устанавливается в директорию проекта, соответственно все адреса БД имеют вид просто имени файла БД, а библиотеки префикс "LibDB/*"

P.S. Может Вы бы вначале Быстрый Старт почитали и на БемоБД посмотрели, а потом велосипеды мастырить, причём чужими руками, предлагали?
P.P.S. И да, мне так как есть очень просто и наглядно и на такие предложения я смотрю не более чем как на глупость!

Learn, learn and learn better than work, work and work.
Written on: 05. 04. 2016 [16:59]
livello
Сергей Конюхов
Topic creator
registered since: 20.04.2015
Posts: 11
"roman" wrote:

В рабочей версии текущая директория устанавливается в директорию проекта, соответственно все адреса БД имеют вид просто имени файла БД

Прошу прощения. Оказыается рабочая директория зависит от текущего каталога, где была запущена openscada.
Я запускал командой:
livello@ldesktop:~$ /usr/bin/openscada --CoreDumpAllow --Config=/home/livello/.openscada/pureRiko/oscada.xml --log=0x2

Есть ли рекомендация по запуску станции с заданной рабочей директорией?


Назрел еще один вопрос. В "Быстром старте" создается шаблон параметра:
http://wiki.oscada.org/Doc/QuickStart#h988-13
При этом шаблон сохраняется в системную базовую библиотеку.
Можно ли как-то создавать шаблон параметра и сохранять его в отдельную БД?
А то при обновлении можно лишиться созданных объектов или "сломать" библиотеки.
Written on: 05. 04. 2016 [17:17]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"livello" wrote:

Прошу прощения. Оказыается рабочая директория зависит от текущего каталога, где была запущена openscada.

Не только.

"livello" wrote:

Я запускал командой:
livello@ldesktop:~$ /usr/bin/openscada --CoreDumpAllow --Config=/home/livello/.openscada/pureRiko/oscada.xml --log=0x2

Ну так, и кто сам себе злобный Буратино?

"livello" wrote:

Есть ли рекомендация по запуску станции с заданной рабочей директорией?

Скрипт "openscada_start" специально создан для запуска/создания проектов. Быстрый Старт нормально читаем!
С произвольной нет и не нужно, разве только вот так, через командную строку, но тогда не нужно претензий и глупых предложений сюда вкидывать.

"livello" wrote:

При этом шаблон сохраняется в системную базовую библиотеку.
Можно ли как-то создавать шаблон параметра и сохранять его в отдельную БД?
А то при обновлении можно лишиться созданных объектов или "сломать" библиотеки.

http://wiki.oscada.org/Doc/QuickStart#h988-10

Learn, learn and learn better than work, work and work.
Written on: 05. 04. 2016 [18:22]
livello
Сергей Конюхов
Topic creator
registered since: 20.04.2015
Posts: 11
"roman" wrote:

Скрипт "openscada_start" специально создан для запуска/создания проектов.

Верно. Некоторое время назад мне удалось, используя "Быстрый старт" настроить сбор данных и просмотр архива для нескольких контроллеров modbus. БД была на postgres.
Затем появились проблемы. Основной проект стал множиться - появлялись новые папки вида %PROJECT_NAME%|%PROJECT_NAME%. Часть объектов в конфигурации пропала...
В этот момент и была опробована модель запуска openscada из командной строки, что позволяло запустить нужную станцию без "размножения" проекта.

Более того, никак не удавалось найти\настроить запись отладочной информации в текстовый файл. Для того, чтобы видеть лог ошибок и вообще понимать, что происходит с openscada, я и стал запускать из консоли.

http://wiki.oscada.org/Doc/OpisanieProgrammy#h827-1
"В архив — указывает на необходимость вывода сообщений в архив сообщений OpenSCADA. Этот параметр обычно включен, а его выключение приводит к фактическому отключению архивирования сообщений на станции."

https://lh5.googleusercontent.com/-DHHcvQ3e3eM/VwPV0V3IwSI/AAAAAAAAK5Y/1ievLr8ooC84x24AF5Wc2-X4939ITjClw/w1101-h929-no/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2016-04-05%2B18%253A10%253A17.png

https://lh3.googleusercontent.com/-7cQhhEAWD70/VwPV0Sd5QfI/AAAAAAAAK5U/FBciz23VqOcm3CYAiOGRGXLWHifCYpOSw/w1101-h929-no/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2016-04-05%2B18%253A10%253A29.png

https://lh3.googleusercontent.com/-KKdkatohoN8/VwPV0zMOldI/AAAAAAAAK5g/iDLAZKLXW_Uscb23Wlp8ZFI-uJoppR7aA/w1101-h929-no/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2016-04-05%2B18%253A10%253A38.png

Теперь вот пытаюсь настроить запись отладочной информации в файл, но не выходит. Галочки стоят, архиватор сообщений на файловую систему создан..

Вывод же ошибок в syslog заработал сразу после установки галочки в свойствах станции.


Этот раздел я читал. Сам же и привел ссылку на создание шаблона параметра. Беда в том, что созданный шаблон хранится в системной библиотеке элементов openscada. И при переносе станции на другой сервер понадобится копировать эти измененные системные библиотеки...
Written on: 06. 04. 2016 [07:11]
livello
Сергей Конюхов
Topic creator
registered since: 20.04.2015
Posts: 11
"roman" wrote:

Скрипт "openscada_start" специально создан для запуска/создания проектов. Быстрый Старт нормально читаем!
С произвольной нет и не нужно, разве только вот так, через командную строку, но тогда не нужно претензий и глупых предложений сюда вкидывать.


Рабочая директория бывает:
openscada_start -> $HOME/.openscada/%PROJECT_NAME%
service openscada start -> /
/usr/bin/openscada --Config=.... -> текущая директория

В чем тогда смысл понятия Рабочая Директория, если она не детерминирована?
Юзкейс. Отредактировал конфигурацию проекта с помощью пускателя openscada_start. Затем решил сделать этот проект запускаемым службой. Скопировал oscada.xml в /etc/oscada.xml
Рабочая директория сменилась. БД SQLite наверняка бы отвалились, будь они прописаны через относительные пути.
Attachment

Снимок экрана от 2016-04-06 07:02:49.png (File type: image/png, Size: 170.68 kilobytes) — 1603 downloads



11003