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. Этот параметр обычно включен, а его выключение приводит к фактическому отключению архивирования сообщений на станции."
Теперь вот пытаюсь настроить запись отладочной информации в файл, но не выходит. Галочки стоят, архиватор сообщений на файловую систему создан..
Вывод же ошибок в 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
|