Автор |
Повідомлення |
Повідомлення створено: 11. 03. 2010 [11:31]
|
Sasha
Aleksandr Kechin
Автор теми
Зареєстрован(а) с: 12.02.2010
Повідомлення: 13
|
roman wrote:
almaz wrote:
Обсчёт векторных примитивов, наверно, происходит в OpenSCADA. А вот как картинка доставляется в браузер? Может как обычная статичная картинка, только с периодическим обновлением?
Это конечно считается на сервере. Результатом является растровое изображение в формате PNG, которое и отправляется браузеру с периодичностью вычисления на сервере, но не чаще чем раз в секунду.
Вывод- Чтобы все выглядело красиво и не тормозило – для WEB лучше не использовать.
|
Повідомлення створено: 11. 03. 2010 [15:05]
|
almaz
Almaz Karimov
Contributor
Зареєстрован(а) с: 25.09.2008
Повідомлення: 516
|
Скорее по-другому - Чтобы всё выглядело красиво и не тормозило – WEB лучше не использовать.
Через Web получаем 1 кадр в секунду. Как-то скрасить данное можно только анимированным изображением.
Может как-то можно уменьшить время обновления (например, для высокоскоростной локальной сети некритичной к трафику)?
Или по-другому: нельзя ли это время регулировать по усмотрению пользователя?
Хотя браузеры не рассчитаны на высокую скорость обновления...
Через Qt можно свободно достичь и 24 кадров в секунду. Вот это действительно красиво...
И кстати, таким образом можно сократить трафик. Через сеть с критичным трафиком отправлять только данные для визуализации, а саму визуализацию производить в OpenSCADA на клиентской машине. Использовать, так сказать, SELF-протокол вместо WEB.
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Повідомлення створено: 14. 03. 2010 [17:49]
|
Sasha
Aleksandr Kechin
Автор теми
Зареєстрован(а) с: 12.02.2010
Повідомлення: 13
|
Связывать атрибуты виджитов удалось только через обработку Java .
А через WDG: не работает.
А про динамическое связывание я не чего не понял.
Расскажите пожалуйста как это правильнее делать.
|
Повідомлення створено: 14. 03. 2010 [18:54]
|
almaz
Almaz Karimov
Contributor
Зареєстрован(а) с: 25.09.2008
Повідомлення: 516
|
Если визуализируемая переменная не требует дополнительной обработки (точное соответствие начального значения и диапазона с параметрами атрибута виджета) просто связываем атрибут виджета с нужной переменной из DAQ. Делается это на вкладках "Обработка" и "Связи" ближайшего родительского виджета с активными вкладками.
В случае необходимости дополнительной обработки визуализации без ява-программы в родительском виджете никак.
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Повідомлення створено: 14. 03. 2010 [19:48]
|
Sasha
Aleksandr Kechin
Автор теми
Зареєстрован(а) с: 12.02.2010
Повідомлення: 13
|
almaz wrote:
Если визуализируемая переменная не требует дополнительной обработки (точное соответствие начального значения и диапазона с параметрами атрибута виджета) просто связываем атрибут виджета с нужной переменной из DAQ. Делается это на вкладках "Обработка" и "Связи" ближайшего родительского виджета с активными вкладками.
В случае необходимости дополнительной обработки визуализации без ява-программы в родительском виджете никак.
Через DAQ работает .
Интересно как связывать на прямую, атрибуты виджитов.
|
Повідомлення створено: 14. 03. 2010 [21:58]
|
almaz
Almaz Karimov
Contributor
Зареєстрован(а) с: 25.09.2008
Повідомлення: 516
|
Имеете ввиду атрибуты двух разных виджетов друг с другом?
Можно ява-скриптом родительского виджета. Просто присваиваете одним атрибутам значения других. Для родительского виджета все атрибуты вложенных виджетов доступны. Не забываем включать атрибуты в обработку на соответствующей вкладке.
Можно через промежуточную переменную на логическом уровне DAQ. Тут надо задавать направления передачи правильно. Всё это делается на активных вкладках родительского виджета "Обработка" и "Связи".
[Повідомлення редагувалось 4 раз(ів), останній раз 14.03.2010 в 22:16.]
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Повідомлення створено: 14. 03. 2010 [23:49]
|
Sasha
Aleksandr Kechin
Автор теми
Зареєстрован(а) с: 12.02.2010
Повідомлення: 13
|
almaz wrote:
Имеете ввиду атрибуты двух разных виджетов друг с другом?
Можно ява-скриптом родительского виджета. Просто присваиваете одним атрибутам значения других. Для родительского виджета все атрибуты вложенных виджетов доступны. Не забываем включать атрибуты в обработку на соответствующей вкладке.
Можно через промежуточную переменную на логическом уровне DAQ. Тут надо задавать направления передачи правильно. Всё это делается на активных вкладках родительского виджета "Обработка" и "Связи".
Спасибо .
Это я как раз понял .
Не понял Это:
wdg: - Связь на атрибут другого виджета или виджет в целом для группы атрибутов. Например, связь "wdg:/ses_AGLKS/pg_so/pg_1/pg_ggraph/pg_1/a_bordColor" осуществляет доступ атрибута одного виджета к атрибуту другого. На данный момент этот тип связи не предназначен для установки пользователем вручную, а устанавливается автоматически в режиме динамического связывания! -???
Вот еще -Может кто знает как быть с прозрачным фоном , для media — суть на картинке.
[Повідомлення редагувалось 1 раз(ів), останній раз 14.03.2010 в 23:52.]
Вкладений файл
Снимок экрана.png (Тип файлу: application/octet-stream, Розмір: 11.84 кілобайтів) — 619 завантажень
|
Повідомлення створено: 15. 03. 2010 [08:27]
|
Aleksey
Aleksey Popkov
Contributor
Зареєстрован(а) с: 31.07.2008
Повідомлення: 326
|
Воспользуйтесь API функциями:
vcaAttrSet() - устанавливает значение атрибут
vcaAttrGet() - берет значение атрибута
Атрибуты разных виджетов на одном родительском между собой не вяжуться. (Покрайне мере у меня не завязались.)
[Повідомлення редагувалось 2 раз(ів), останній раз 15.03.2010 в 08:37.]
|
Повідомлення створено: 15. 03. 2010 [08:53]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
Aleksey wrote:
vcaAttrSet() - устанавливает значение атрибут
vcaAttrGet() - берет значение атрибута
Атрибуты разных виджетов на одном родительском между собой не вяжуться. (Покрайне мере у меня не завязались.)
Во первых это устаревшее API. И во вторых всё там вяжется http://wiki.oscada.org/Doc/VCAEngine?v=188f#h668-23 .
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 15. 03. 2010 [09:46]
|
Aleksey
Aleksey Popkov
Contributor
Зареєстрован(а) с: 31.07.2008
Повідомлення: 326
|
roman wrote:
Aleksey wrote:
vcaAttrSet() - устанавливает значение атрибут
vcaAttrGet() - берет значение атрибута
Атрибуты разных виджетов на одном родительском между собой не вяжуться. (Покрайне мере у меня не завязались.)
Во первых это устаревшее API. И во вторых всё там вяжется http://wiki.oscada.org/Doc/VCAEngine?v=188f#h668-23 .
API Старые, но с ними все получилось, с новыми сразу не вышло.
|