Сообщение создано: 22. 11. 2017 [07:54]
|
automationEngineer
vk vk
Создатель темы
Зарегистрирован(а) с: 16.11.2017
Сообщения: 3
|
Добрый день!
Пишу автоматический генератор проектов (автоген) по данным из exel где описаны входы/выходы, краны и прочее..
Автоген подцепляется к открытому в openScada проекту и создает там необходимые элементы, в т.ч. и визуализацию.
Есть необходимость считать все атрибуты элемента (виджета).
Если использовать "Системный конфигуратор (WEB)" (WebCfg) то можно считать страницу с адресом виджета и отпарсить ее, но, т.к. есть "Динамический WEB конфигуратор" (WebCfgD) который намного более удобен для создания элементов, хочется использовать его для всего. Но через него я могу считывать атрибуты по одному, например запрос POST с телом <get/> по адресу виджета + %2fattr%2fgeomX вернет его X координату.
Вопрос: а возможно одним запросом считать все атрибуты через WebCfgD таким же, или подобным образом (запросом POST)? Есть где почитать про такие штуки %2fwdg%2fst%2fparent и про то, что можно писать в body?
С уважением, Виктор.
|
Сообщение создано: 22. 11. 2017 [10:07]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 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.
|
Сообщение создано: 22. 11. 2017 [10:58]
|
automationEngineer
vk vk
Создатель темы
Зарегистрирован(а) с: 16.11.2017
Сообщения: 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>
очень помогло для решения моей задачи!
|
Сообщение создано: 22. 11. 2017 [12:20]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"automationEngineer" wrote:
Проще это делать прямо в OpenSCADA
Каждому каменщику свой молоток дорог :)
Вообще, это как минимум логично и быстрее!
"automationEngineer" wrote:
можно в окружении пользовательского Web-интерфейса написать простой шлюз к тому-же интерфейсу управления OpenSCADA
Я только начал с OpenSCADA, это пока трудно для меня, к тому-же WebCfgD и есть такой шлюз если я правильно понял его суть.
WebCfgD это конфигуратор, хотя через него и можно отправлять запросы к интерфейсу управления, но парсить конечный XHTML интерфейс для этого не нужно.
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 22. 11. 2017 [12:48]
|
automationEngineer
vk vk
Создатель темы
Зарегистрирован(а) с: 16.11.2017
Сообщения: 3
|
логично и быстрее!
Согласен, что логично, и выполняться будет быстрее (например 300 мс на все а не 30 с если извне), но вот писать я буду долго... Вы OpenSCADA создаете и работаете в ней уже сколько лет? Конечно Вы в ней быстрее все сделаете, но я буду тупить над ней очень долго, а в своем привычном инструменте мне быстрее, поэтому и выбрал этот путь.
парсить конечный XHTML
Да, я имел в виду что в WebCfg надо парсить огромную страницу чтобы данные получить, а WebCfgD отдает уже XML на POST запросы, с ними уже веселее, по сути получается тот-же системный интерфейс, что описан в Вашей ссылке, только через WEB.
Вообще я в восторге от гибкости системы, структура очень продумана, много возможностей!
Задача почти решена, спасибо огромное за продукт и помощь на форуме!
|