Вопросы по WEB в Simple-Scada 2

Автор Simple-Scada, 08 февраля 2018, 00:10:31

yukiaire

стало еще хуже, через web (браузер GoogleChrome) теперь при открытии отчета на клиенте просто темный фон с возможностью закрыть отчет сверху и скачивается файл DoneRep1.mdc. Сам файл не открывается

Simple-Scada

#181
Перезагрузите страницу в браузере с очисткой кэша.
Какая версия Simple-Scada используется?

yukiaire

спасибо за помощь, очистка кэша помогла. Версия simple Scada самая последняя 2.6.9.0

AndreyA

#183
Здравствуйте! Вопрос по правам доступа при работе через WEB интерфейс.
Есть несколько пользователей у которых разные права доступа до страниц и подстраниц и соответственно до объектов (кнопка например).
Если заходим клиентом,  можно заблокировать отдельные окна, элементы на экране и все работает в зависимости от прав, а вот если заходим через веб интерфейс - и хотим нажать кнопку или выбрать например интервал времени, то эти элементы заблокированы для всех пользователей ( пишет недостаточно прав).
Права доступа у всех  - Пользовательские (замки сняты). Чтение и запись до страниц открыто.
Спасибо.

Сам забыл что не включил настройку - разрешить управление в настройках проекта. Все работает.
Вопрос снят.

Paranar

Здравствуйте, а в веб-клиенте показываются отчеты? Версия 2.6.10, журнал сервера пишет что отчет сформировался и отправился клиенту, но у веб-клиента он не отображается.

Simple Scada

Здравствуйте.

Убедитесь, что в скрипте формирования отчета указано не конкретное имя клиента, а используется функция "GetClientName". Web-клиент не является отдельным приложением и работает в браузере, поэтому он получает случайно сгенерированное имя. Чтобы получить это имя, нужно использовать функцию "GetClientName".

Если дело не в этом, то повторите проблему, завершите работу сервера скады и пришлите нам на почту support@simple-scada.com целиком папку с логами "..\Simple-Scada 2\Logs". Также пришлите текущую версию Вашего проекта из директории "..\Simple-Scada 2\Projects\", укажите отчет и скрипт, которые нужно проверить.

alex6221

Здравствуйте. Из скрипта "Выполнены архивные процедуры" не получается открыть отчет на клиенте, не получается записать отчет на диск, но при этом отправка отчета по почте и в телеграмм работает.

Simple Scada

#187
Здравствуйте.

1. См. описание функции "GetClientName" – она не будет работать в скрипте с типом события "Выполнены архивные процедуры". Вместо GetClientName можно указать имя клиента, на котором требуется открыть/сохранить отчёт (имя клиента задаётся через настройки - "Имя этого клиента") или константу SS_SERVER_NAME для сохранения отчёта на серверном ПК (см. пример 6 по ссылке). 

2. Возможно, в Вашем случае проще создать Периодический отчет (если подходит). В нем можно использовать необходимые типы обработки, например "среднее", что позволит получить средневзвешенное по времени значение между значением переменной на конец интервала и значением на начало интервала. При этом архивные процедуры использовать не придётся.

3. Если вычислять архивные данные требуется именно в скриптах Simple-Scada, то для открытия отчета на клиенте, который вызвал вычисление архивных процедур по нажатию на кнопку, можно использовать следующий способ:
  • Перейдите в меню редактирования скриптов и создаёте новый глобальный модуль, например с именем "GlobalUnit" и следующим кодом:
Код: pascal
interface

var
  ClientData: TM_ClientData;

implementation

end.
  • В код скрипта, который вызывает вычисление архивных процедур (скрипт должен вызываться действием пользователя, например "OnClick"), добавьте строку:
Код: pascal
ClientData := GetClientData;
  • Код скрипта "raport_LVP" измените так:
Код: pascal
var
  aReport: TM_Report;
begin
  if ArcGroupTag = 2 then
  begin
    aReport := ReportBuild('Рапорт электроэнергия ЛВП');
    aReport.View(ClientData.Name);
  end;
end.
Не забудьте сохранить проект и перезапустить его на сервере.

alex6221

Попробовал вариант с использованием глобального модуля: работает только в десктоп-клиенте, а в Web - нет. Также пробовал вместо глобального модуля использовать глобальную переменную для записи в нее имени клиента - такая же история

Simple Scada

Извините, допустили ошибку в скрипте "raport_LVP". Правильный код:
Код: pascal
var
  aReport: TM_Report;
begin
  if ArcGroupTag = 2 then
  begin
    aReport := ReportBuildEx('Рапорт электроэнергия ЛВП', ClientData);
    aReport.View(ClientData.Name);
  end;
end.

alex6221


AndreyA

Здравствуйте!
Не подскажете как можно масштабировать шкалу в web клиенте - в обычном все ок. При нахождении курсора мышки  появляется стрелка с 2-мя указателями, а в web  клиенте такого нет ( прилагаю скрины).
Есть ли такая возможность в клиенте?
Спасибо
Браузер Chrome


Simple Scada

Здравствуйте.

В web-клиенте "Режим масштабирования" работает иначе, чем в десктоп-клиенте. Подробнее см. по ссылке.

AndreyA

Спасибо за оперативный ответ!
Да, такой вариант видел, но неудобно тех.персоналу - в десктопном варианте можно манипулировать стрелками и сразу накладывать на другие параметры. А так просто мы зону увеличиваем.

ACHE

Здравствуйте!
Есть проблемы с заменой IP адреса на домен.
Дано:    (все ip и имена хостов вымышленные)
- 3 сервера с скадой, у каждого присвоен свой статический внутрисетевой ip адрес, свой web порт и разные имена проектов:
192.168.0.2:8752/project_name1
192.168.0.3:8753/project_name2
192.168.0.4:8754/project_name3

- роутер в качестве интернет-шлюза с статическим "белым" ip адресом 10.10.10.10, с настроенными NAT правилами:
входящий трафик, попавший на 10.10.10.10 на порт 8752 перенаправлять на 192.168.0.2:8752
входящий трафик, попавший на 10.10.10.10 на порт 8753 перенаправлять на 192.168.0.2:8753
входящий трафик, попавший на 10.10.10.10 на порт 8754 перенаправлять на 192.168.0.2:8754
Имеем:
возможность подключаться к нашим скада-серверам через браузер находясь вне офиса к скаде, вводя следующие адреса:
http://10.10.10.10:8752/project_name1
http://10.10.10.10:8753/project_name2
http://10.10.10.10:8754/project_name3

Хотим:
возможность подключаться к нашим скада-серверам через браузер находясь вне офиса к скаде, вводя следующие адреса:
http://scada.companyname.ru/project_name1
http://scada.companyname.ru/project_name2
http://scada.companyname.ru/project_name3
ИЛИ
http://project_name1.companyname.ru
http://project_name2.companyname.ru
http://project_name3.companyname.ru

Как пытались реализовать:
- подняли в локальной сети Revers Proxy сервер 192.168.0.10 (пробовали два продукта nginx proxy manager и zoraxy)
- добавили A запись на dns сервере:
project_name1.companyname.ru 10.10.10.10
project_name2.companyname.ru 10.10.10.10
project_name3.companyname.ru 10.10.10.10
scada.companyname.ru 10.10.10.10

- на роутере добавили NAT правило - входящий трафик, попавший на роутер 10.10.10.10 на порт 80 и 443 перенаправлять на revers proxy сервер 192.168.0.10 порт 80 и 443

Тестируем:
Настроили на реверс прокси правило - запрос http://project_name1.companyname.ru:80 проксировать на 192.168.0.2:8752. Входим с браузера (с компьютера вне офиса) по ссылке http://project_name1.companyname.ru/project_name1 - все работает, но не элегантно (название проекта присутствует в имени сабдомена и имени каталога). В revers proxy сервере есть для этого функционал "Custom locations", там можно настроить – когда мы переходим по ссылке http://project_name1.companyname.ru (указав в поле "Virtual path" значение "/") проксироваться сразу на http://192.168.0.2:8752/project_name1, теперь при переходе по http://project_name1.companyname.ru получаем просто пустую web страницу с серым фоном скады.

Также пробуем вариант с единым доменным именем http://scada.companyname.ru но разными виртуальными путями:
/project_name1 проксируется на 192.168.0.2:8752/project_name1
/project_name2 проксируется на 192.168.0.3:8753/project_name2
/project_name3 проксируется на 192.168.0.4:8754/project_name3

Ожидаемый результат:
По ссылке http://scada.companyname.ru/project_name1 мы получим скаду спроскированную из http://192.168.0.2:8752/project_name1, но по факту получаем все ту же пустую страница с серым фоном скады.

Пробовали эти механизмы на других наших web сервисах, там они работают как нужно. Как подружить скаду с revers proxy? (можно ли веб-сервер скады настроить на работу только с одним проектом и уже на localhost'e не требовать в url пути указывать проект?).