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

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

Автор Тема: Сервер + отчеты  (Прочитано 1637 раз)

Серега

  • Старожил
  • ****
  • Сообщений: 285
    • Просмотр профиля
Сервер + отчеты
« : 30 Августа 2019, 11:41:21 »
Добрый день!
Некоторые наблюдения. Возможно надо будет перенести в раздел "Ошибки". На Ваше усмотрение.
В окне сервера, на вкладке "Проекты", в области текущей версии запущенного проекта, в строке "Активных тэгов" отображается количество активных тэгов.
Вопрос №1. Что подразумевается под активными тэгами? Все тэги проекта, указанные в переменных? Только внешние? Только опрашиваемые через ОРС? Заведенные на мнемосхемы?
Вопрос №2. В тексте ввида "234 | изменения: 12 (max: 36)" можете как то более подробно написать что конкретно обозначает каждое число?
Теперь о возможных проблемах.
Редко наблюдается следующее. В тексте, который указан в вопросе №2 отображается следующее "2345 | изменения: 1547 (max: 26342)".
В принципе наблюдаются следующие ситуации:
1. Немного все "притормаживает". Отображение значения, проход команды после нажатия кнопки и т.д. Это возможно просто мое личное мнение. Остальные разработчики особо не замечали такого.
2. Был разработан отчет. Запускался все норм. Но при "2345 | изменения: 1547 (max: 26342)" он не открывался. Перезапуск проекта не помог. Попытка найти неточности в самом отчете (проверка привязки переменных, вызов скрипта) ни к чему не привели. После этого была произведена процедура полной перегрузки сервера скады через кнопку "Остановить и выйти". Это помогло. Как в диспетчерской, так и удалено у меня на рабочем компе отчет грузился достаточно шустро. При этом текст "2345 | изменения: 1547 (max: 26342)" изменился на "2345 | изменения: 159 (max: 342)".
Можете прокомментировать и дать свои ответы и рекомендации.


Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Сервер + отчеты
« Ответ #1 : 30 Августа 2019, 16:19:03 »
Здравствуйте.

Скада для информации фиксирует количество тегов проекта, их изменений и максимальное количество изменений. Эта информация может использоваться для обнаружения потенциальных проблем. Переменные объявленные внутри скриптов, например:
Код
var
  A, B, C: Integer;
begin

end.
Не считаются!

Когда проект работает, переменные проекта меняются и сервер старается максимально быстро эти изменения отправлять клиентам, чтобы новые значения тегов отобразились на экране. В строке "Активных тегов отображается три значения:
Код
 Активных тегов:  XXXX  |  изменения: YYYY (max: ZZZZ)"
XXXX - это количество активных тегов, т.е. внутренних и внешних тегов, которые объявлены в проекте в разделе "Переменные";
YYYY - столько тегов изменилось с момента последней отправки клиентам (обычно примерно за секунду);
ZZZZ - отображает максимальное значение YYYY на всё время работы проекта.

, т.е. по строке, которую Вы описали:
Код
2345 | изменения: 1547 (max: 26342)
можно сказать, что был момент времени, когда за короткий период времени (максимум в несколько секунд, скорее всего не более чем за две секунды) изменилось сразу 26342 переменных. Т.е. число 1547 в какой-то момент подпрыгнуло до 26342, поэтому скада зафиксировала его как максимум и отобразила: "(max: 26342)". Скада фиксирует изменение переменной если изменилось значение этой переменной или её качество. Почему столько тегов вдруг изменилось - трудно сказать. Может быть выполнился скрипт с большим присвоением во внутренние переменные (пример ниже), может быть компьютер или OPC-сервер на время подвис, а когда вернулся в нормальный режим, то скада получила от OPC-сервера сразу все изменения за время зависания.

Обратите внимание, что если в разделе "Переменные" создать новую внутреннюю переменную с именем vrTest и написать такой скрипт:
Код: (delphi)
var
  I: Integer;
begin
  for I := 1 to 10000 do
    vrTest.Value := I;
end.
, то при одном выполнении скрипта скада зафиксирует сразу 10000 изменений! Это сработает только для внутренних переменных. С внешней переменной (c OPC-сервера) такой вариант не сработает, ведь OPC-сервер отдаёт изменения с каким-то фиксированным периодом, а внутренняя переменная (как в коде выше) фиксирует изменение сразу после присвоения.

Цитировать
Был разработан отчет. Запускался все норм. Но при "2345 | изменения: 1547 (max: 26342)" он не открывался. Перезапуск проекта не помог. Попытка найти неточности в самом отчете (проверка привязки переменных, вызов скрипта) ни к чему не привели. После этого была произведена процедура полной перегрузки сервера скады через кнопку "Остановить и выйти". Это помогло. Как в диспетчерской, так и удалено у меня на рабочем компе отчет грузился достаточно шустро. При этом текст "2345 | изменения: 1547 (max: 26342)" изменился на "2345 | изменения: 159 (max: 342)".
Когда отчет не строится нужно проверить журнал сервера. В нём должны быть сообщения о неудачном построении и причины неудачи. Также учитывайте, что в версия Demo-Time и Demo-64 количество построений отчетов ограничено и сбрасывается только после перезапуска сервера скады! Без ограничений отчеты строятся только в версии Professional.