Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Вопросы по WEB в Simple-Scada 2  (Прочитано 64245 раз)

alan54

  • Постоялец
  • ***
  • Сообщений: 145
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #135 : 20 Ноября 2020, 21:27:08 »
Здравствуйте. С переходом на версию 2.4 веб-клиент на планшете нашего генерального директора стал жутко тормозить и зависать. Я, как сопровождающий программист, с удовольствием бы откатился на последнюю сборку версии 2.3 (она работала у директора без проблем), но  в проект уже внесено много доработок и он сохранен в версии 2.4. Как быть? Нельзя ли как-то облегчить сильно потяжелевшую веб-версию (да и не только ее, обычный клиент тоже стал неоправданно тяжелым).

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3009
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #136 : 21 Ноября 2020, 22:22:13 »
Здравствуйте.

Старая версия веб-клиента была сделана на скорую руку. Сервер генерировал html-код web-страницы целиком и отправлял его клиенту. И при переходах по страницам сервер каждый раз генерировал новый html-код. Самый большой недостаток этого способа в том, что сервер делает работу браузера и бесполезно нагружается, а также то, что по сети передаётся очень много ненужных данных (html теги, имена всех свойств в текстовом виде). Их много по объёму, из-за чего появляется сильная зависимость от скорости сети, что особенно плохо для web-клиентов, т.к. они обычно работают через интернет. Так web-клиенты не делаются.
Начиная с версии 2.4.0.0 мы наконец внедрили правильную систему и сейчас сервер передаёт минимально возможное количество данных клиентам. Передаются практически только цифры: координаты объектов, коды цветов, прозрачность, тип объекта и т.п. Web-клиент получает их и создаёт объекты по этим данным. Это стандартный правильный вариант web-клиента. Теперь он практически не зависит от скорости сети, т.к. между клиентом и сервером передаётся очень мало данных. Он может стабильно работать в плохой сети, в которой старый клиент просто отключался бы по пингу. Также компоненты "Кнопка", "Уровень" и "Поле" стали гораздо легче. Теперь это просто блоки <div>, а раньше были тяжелыми компонентами со своим набором стилей и отдельными .js-файлами. Остальные изменения описаны здесь.
В этом основное отличие старого web-клиента от нового. Мы пока не встречали проектов в которых новая версия клиента работает медленнее. В мелких проектах при работе по локальной сети производительность не отличается на глаз. В крупных проектах новый клиент работает быстрее. Другие пользователи отмечают более быструю работу клиентов, особенно скорость подключения к проекту и работу в нестабильных сетях.

Есть предположение, что повлиять на скорость могли другие доработки связанные с компонентами или опциями. Например, начиная с версии 2.3.6.8 компонент "Трубопровод" больше не заменяется линиями, а отображается как и в обычном клиенте, как изображение. Но он теперь гораздо тяжелее для отрисовки и браузер будет отрисовывать его дольше. Но при желании можно просто заменить компонент "Трубопровод" компонентом "Линия", тогда всё будет как раньше.
Начиная с версии 2.3.6.3 компонент "Временные тренды" поддерживает смену свойств через скрипты и визуально больше не отличается от отображения на обычном клиенте. Но из-за этого он также стал немного тяжелее для обработки браузером. Также многие компоненты стали поддерживать мигание (FlashColor), а раньше оно просто не работало. А чем больше мигающих объектов на странице, тем тяжелее браузеру. С версии 2.3.6.4 в настройки добавилась опция "Продвинутый просмотрщик отчетов", он имеет гораздо больше функций, чем стандартный просмотрщик, но для браузера он тяжелее. С версии 2.3.6.9 добавилась опция автоматического масштабирования мнемосхем, но она требует двойной перерисовки, поэтому тоже тяжелее. Если Вы используете их, то при желании можете отключить. На практике, судя по тестам, вышеописанные "утяжеления" обычно компенсируются более быстрой передачей данных в новом web-клиенте и облегчением других компонентов.
В целом наиболее тяжелыми для web-клиента являются: временные тренды (т.к. они периодически перерисовываются), мигание объектов, большие пользовательские изображения, анимация (чем выше скорость анимации, тем хуже, т.к. каждая смена кадра вызывает перерисовку). Если Вы в последнее время добавляли в проект много мигающих компонентов, или анимированных изображений, то производительность web-версии могла бы снизиться из-за них, а не из-за обновления скады.

Также сделали тесты с проектом "Oplax-Sever" (если речь идёт о нём), протестировали на двух планшетах (Android), на шести ПК и двух смартфонах (тоже Android) в браузере Chrome, сначала на версии Simple-Scada 2.3.5.0, затем на 2.4.0.10, в локальной сети. Проект очень лёгкий, на глаз никакой разницы не заметили, в двух случаях работает очень быстро. Если смотреть через панель разработчика Chrome, то видно только, что новый клиент передаёт гораздо меньше данных. Если проект сильно изменился за прошедшее время, то просьба выслать текущую версию для проверки, мы можем указать на конкретные компоненты, которые требуют наибольшего времени на загрузку или отрисовку.

Цитировать
с удовольствием бы откатился на последнюю сборку версии 2.3 (она работала у директора без проблем), но  в проект уже внесено много доработок и он сохранен в версии 2.4. Как быть?
Откатить версию проекта невозможно. Только открывать старую версию скады и проекта и дорабатывать его снова. Но нужно учитывать, что в случае отката придётся больше не обновлять скаду, т.к. клиенты точно никак не станут работать быстрее чем сейчас. Ведь как описано выше в них уже практически нечего улучшать, нельзя сократить передаваемые данные, т.к. сейчас передаются только чистые значения свойств, ничего лишнего.

Цитировать
...и зависать
На зависание планшета мы повлиять не можем. В коде web-страницы при желании можно написать жуткие вещи и от этого максимум можно добиться выключения web-страницы. Но на работу планшета или даже других вкладок браузера таким образом повлиять невозможно, насколько нам известно. Поэтому здесь нужно разбираться с самим планшетом.
« Изменён: 21 Ноября 2020, 22:44:09 от Simple-Scada »

alan54

  • Постоялец
  • ***
  • Сообщений: 145
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #137 : 24 Ноября 2020, 08:17:06 »
Спасибо за столь подробный ответ. Я тоже тестировал веб-клиент на своем планшете и смартфоне, вроде работало без особых проблем. Так что скорее всего дело в планшете директора, ему уже более 5 лет. Попробую обновить его прошивку. А свой проект с доработками вышлю вам на почту.
P.S. Но по моим ощущениям, и сервер, и клиент в локальной сети все-таки стали работать медленнее.
« Изменён: 24 Ноября 2020, 08:20:29 от alan54 »

titanicnwa

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #138 : 14 Апреля 2021, 08:50:27 »
Хотелось иметь возможность связать свойства переменной HighAlarm, LowAlarm с OPC тегами контроллера. Иметь возможность пользоваться штатным механизмом формирования аварийных сообщений SimpleScada и включать сирену на контроллере с учетом изменения аварийных границ.

grachev

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #139 : 14 Апреля 2021, 09:54:53 »
Добрый день.
версия скады 2.5.4.0
включен web-клиент на http на 8750
мобильные пользователи и пользователи использующие google chrome подключаются нормально.
Пользователи использующие IE и яндекс браузер получают ошибку:
Обрыв соединения с сервером. Перезагрузите страницу чтобы подключиться снова.
code: 1006

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3009
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #140 : 14 Апреля 2021, 11:52:12 »
Хотелось иметь возможность связать свойства переменной HighAlarm, LowAlarm с OPC тегами контроллера. Иметь возможность пользоваться штатным механизмом формирования аварийных сообщений SimpleScada и включать сирену на контроллере с учетом изменения аварийных границ.
Это можно реализовать только через скрипты, копируя значения переменных контроллера в свойства границ переменных.

включен web-клиент на http на 8750
У Вас web-клиент точно подключен на порт 8750. Это стандартный порт для обычных клиентов скады (не web). В веб-клиентах по-умолчанию используется порт 8755, т.к. ссылка выглядит как "http://127.0.0.1:8755/ProjectName". Вы меняли порты через утилиту настроек?

Цитировать
Пользователи использующие IE и яндекс браузер получают ошибку:
Обрыв соединения с сервером.
Перепроверили с Яндекс браузером. Работает корректно. C IE тоже (только нужно учитывать что скада с IE никогда не будет работать полноценно, т.к. мы не ведём разработку под этот браузер).
У Вас сообщение "Обрыв соединения с сервером" возникает сразу после подключения или через время?
Включено ли у Вас ограничение по IP или паролю?
После неудачного подключения обязательно проверьте журнал сервера скады. См. сообщения связанные с отключением клиентов.
Вышлите текущую версию проекта на support@simple-scada.com для проверки. Можем проверить его со всеми браузерами.
« Изменён: 14 Апреля 2021, 11:55:32 от Simple-Scada »

sidkurt

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #141 : 14 Апреля 2021, 18:07:36 »
Добрый день. В веб версии элемент "расписание" не отображается, можно ли его отображать хоть и без функции редактирования?

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1209
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #142 : 15 Апреля 2021, 10:39:10 »
Здравствуйте.

В web-клиенте компонент расписание недоступен. С другими ограничениями web-клиента можно ознакомиться по ссылке.

metamorphogenesis

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #143 : 31 Мая 2021, 09:44:35 »
У меня веб-клиент отваливается при бездействии, при том, что авторизованный пользователь имеет неограниченную длительность сессии. Это исправимо?


Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3009
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #144 : 31 Мая 2021, 09:52:40 »
Опция "Отключать по бездействию". В этой же статье можно прочесть описание других опций касающихся web-клиентов.

metamorphogenesis

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #145 : 02 Июня 2021, 08:22:36 »

Спасибо за ответ, недоглядел.

У меня вопрос по реализации мигания объекта цветом. Складывается впечатление, будто у каждого объекта свой собственный экземпляр таймера мигания, потому что в веб-клиенте объекты мигают несинхронно. Если среди синхронно мигающих объектов у одного выключить мигание и включить в произвольный момент времени, он начинает мигать начиная именно с этого момента, не дожидаясь цикла мигания, как это реализовано в приложении. Выглядит это сомнительно, это удастся исправить?


По ссылке демонстрация описанной работы
https://dropmefiles.com/x1foz

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3009
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #146 : 03 Июня 2021, 10:11:26 »
Да, в web-клиентах мигание может отображаться не синхронно. Внесем изменения в будущих обновлениях.

UPD: добавили синхронное мигание в обновлении 2.5.7.0.
« Изменён: 09 Июля 2021, 17:24:55 от Simple-Scada »

metamorphogenesis

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #147 : 09 Июля 2021, 10:00:00 »
Добрый день.


В веб версии у меня по клику на трендвьювер и текст не открылось привязанное к ним шаблонное окно. По клику на изображение открывается нормально. Так же на ярлыке текущей страницы разместил прозрачный шейп, который так же открывает шаблон, привязанный к этой странице. В приложении ярлык текущей страницы не является ссылкой и не работает, потому клик принимается шейпом и вызывается шаблон. в веб версии ярлык текущей страницы остается ссылкой на эту же страницу и при нажатии на него вместо шаблона просто обновляется страница.


Кроме того, в настройках шаблонного окна я отключил заголовок и использовал освобожденное место под объекты.







В веб-версии заголовок все равно отрисовывается и получается такое вот





Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3009
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #148 : 09 Июля 2021, 17:31:07 »
Здравствуйте.

Цитировать
В веб версии у меня по клику на трендвьювер и текст не открылось привязанное к ним шаблонное окно.
Да, шаблонные окна не открываются при клике по компонентам "Временные тренды" и "Таблица", исправим в ближайшем обновлении.
Но по компоненту "Текст" мы не смогли воспроизвести проблему, у нас окно при клике по тексту открывается. Может быть у Вас текст перекрыт другим объектом? Попробуйте переместить его на передний план.

Цитировать
Так же на ярлыке текущей страницы разместил прозрачный шейп, который так же открывает шаблон, привязанный к этой странице. В приложении ярлык текущей страницы не является ссылкой и не работает, потому клик принимается шейпом и вызывается шаблон. в веб версии ярлык текущей страницы остается ссылкой на эту же страницу и при нажатии на него вместо шаблона просто обновляется страница.
Если Вы хотите взять стандартную панель страниц и перекрыть её другими компонентами чтобы переопределить поведение кнопок, то так сделать не получится. Нужно определиться и использовать какой-то один вариант. Если Вам не подходит стандартная панель страниц, то её нужно скрыть и создать собственную панель страниц с нужным поведением.

Цитировать
В веб-версии заголовок все равно отрисовывается и получается такое вот
Исправили. В ближайшем обновлении в web окна со скрытыми заголовками будут отображаться правильно.
« Изменён: 09 Июля 2021, 17:32:11 от Simple-Scada »

metamorphogenesis

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: Вопросы по WEB в Simple-Scada 2
« Ответ #149 : 21 Августа 2021, 09:58:04 »
Добрый день. В версии 2.5.9 в приложении и вебе разное отображение текста кнопки в шаблонном окне (в других ситуациях не проверял). Ниже ссылка на видео-демонстрацию, а также код присвоения текста кнопке.


https://dropmefiles.com/YU7T7


Код: (delphi)
var
    button: TM_Button;
begin
    if not (Sender is TM_Button) then exit;

    button := TM_Button(Sender);

    if tempStatusTrendsVisibilityCode.Value <> 65535 then
    begin
        tempStatusTrendsVisibilityCode.Value := 65535;
        button.Caption := 'Скрыть все';
    end
    else begin
        tempStatusTrendsVisibilityCode.Value := 0;
        button.Caption := 'Показать все';
    end;
end.