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

Автоматизация проектирования через WEB интерфейс


Author Message
Written on: 22. 11. 2017 [07:54]
automationEngineer
vk vk
Topic creator
registered since: 16.11.2017
Posts: 3
Добрый день!

Пишу автоматический генератор проектов (автоген) по данным из exel где описаны входы/выходы, краны и прочее..
Автоген подцепляется к открытому в openScada проекту и создает там необходимые элементы, в т.ч. и визуализацию.
Есть необходимость считать все атрибуты элемента (виджета).

Если использовать "Системный конфигуратор (WEB)" (WebCfg) то можно считать страницу с адресом виджета и отпарсить ее, но, т.к. есть "Динамический WEB конфигуратор" (WebCfgD) который намного более удобен для создания элементов, хочется использовать его для всего. Но через него я могу считывать атрибуты по одному, например запрос POST с телом <get/> по адресу виджета + %2fattr%2fgeomX вернет его X координату.

Вопрос: а возможно одним запросом считать все атрибуты через WebCfgD таким же, или подобным образом (запросом POST)? Есть где почитать про такие штуки %2fwdg%2fst%2fparent и про то, что можно писать в body?

С уважением, Виктор.
Written on: 22. 11. 2017 [10:07]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"automationEngineer" wrote:

Пишу автоматический генератор проектов (автоген) по данным из exel где описаны входы/выходы, краны и прочее..

Как правило это однобоко, хотя если перечень типов ПЛК у Вас строго ограничен и для его параметров присутствуют нужные шаблоны и их представление то для потока проектов и тиражирования это нормально.

"automationEngineer" wrote:

Автоген подцепляется к открытому в openScada проекту и создает там необходимые элементы, в т.ч. и визуализацию.
Есть необходимость считать все атрибуты элемента (виджета).

Если использовать "Системный конфигуратор (WEB)" (WebCfg) то можно считать страницу с адресом виджета и отпарсить ее, но, т.к. есть "Динамический WEB конфигуратор" (WebCfgD) который намного более удобен для создания элементов, хочется использовать его для всего. Но через него я могу считывать атрибуты по одному, например запрос POST с телом <get/> по адресу виджета + %2fattr%2fgeomX вернет его X координату.

Вопрос: а возможно одним запросом считать все атрибуты через WebCfgD таким же, или подобным образом (запросом POST)? Есть где почитать про такие штуки %2fwdg%2fst%2fparent и про то, что можно писать в body?

Не нужно и жутко всё это!

Проще это делать прямо в OpenSCADA, открывая современный XML электронных таблиц, обходить его и создавать всё нужное через интерфейс управления OpenSCADA.
А если очень хочется извне и через HTTP, то можно в окружении пользовательского Web-интерфейса написать простой шлюз к тому-же интерфейсу управления OpenSCADA.

Learn, learn and learn better than work, work and work.
Written on: 22. 11. 2017 [10:58]
automationEngineer
vk vk
Topic creator
registered since: 16.11.2017
Posts: 3
Роман, спасибо за Ваш ответ!

Проще это делать прямо в OpenSCADA

Каждому каменщику свой молоток дорог :)

Поэтому и:
очень хочется извне


можно в окружении пользовательского Web-интерфейса написать простой шлюз к тому-же интерфейсу управления OpenSCADA

Я только начал с OpenSCADA, это пока трудно для меня, к тому-же WebCfgD и есть такой шлюз если я правильно понял его суть.

Спасибо за наводку на "14. Интерфейс управления системой и динамическое дерево объектов системы (TCntrNode)"
<CntrReqs path="/sub_DAQ/cntr_gate">
<get path="/%2fprm%2fcfg%2fNAME"/>
<get path="/%2fprm%2fcfg%2fDESCR"/>
<list path="/%2fserv%2fattr"/>
</CntrReqs>

очень помогло для решения моей задачи!
Written on: 22. 11. 2017 [12:20]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"automationEngineer" wrote:

Проще это делать прямо в OpenSCADA

Каждому каменщику свой молоток дорог :)

Вообще, это как минимум логично и быстрее!

"automationEngineer" wrote:

можно в окружении пользовательского Web-интерфейса написать простой шлюз к тому-же интерфейсу управления OpenSCADA

Я только начал с OpenSCADA, это пока трудно для меня, к тому-же WebCfgD и есть такой шлюз если я правильно понял его суть.

WebCfgD это конфигуратор, хотя через него и можно отправлять запросы к интерфейсу управления, но парсить конечный XHTML интерфейс для этого не нужно.

Learn, learn and learn better than work, work and work.
Written on: 22. 11. 2017 [12:48]
automationEngineer
vk vk
Topic creator
registered since: 16.11.2017
Posts: 3
логично и быстрее!

Согласен, что логично, и выполняться будет быстрее (например 300 мс на все а не 30 с если извне), но вот писать я буду долго... Вы OpenSCADA создаете и работаете в ней уже сколько лет? Конечно Вы в ней быстрее все сделаете, но я буду тупить над ней очень долго, а в своем привычном инструменте мне быстрее, поэтому и выбрал этот путь.

парсить конечный XHTML


Да, я имел в виду что в WebCfg надо парсить огромную страницу чтобы данные получить, а WebCfgD отдает уже XML на POST запросы, с ними уже веселее, по сути получается тот-же системный интерфейс, что описан в Вашей ссылке, только через WEB.

Вообще я в восторге от гибкости системы, структура очень продумана, много возможностей!

Задача почти решена, спасибо огромное за продукт и помощь на форуме!



3837