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

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

Автор Тема: GetTrendClient  (Прочитано 4875 раз)

ZWolol

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
GetTrendClient
« : 16 Сентября 2024, 08:07:12 »
Можно сделать редактируемую группу трендов, а как сохранить выбранные переменные?

Если я правильно понял, то TimeTrends дает доступ к параметрам тренда проекта, а не клиента?
SetTrendClient задает клиенту для нужной группы и позиции переменную.
А как их считать?

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1407
    • Просмотр профиля
Re: GetTrendClient
« Ответ #1 : 16 Сентября 2024, 12:36:31 »
Здравствуйте.

Цитировать
Можно сделать редактируемую группу трендов, а как сохранить выбранные переменные?
Редактируемая группа трендов сохраняет текущий набор трендов до перезапуска клиента. После перезапуска, в редактируемой группе отобразится набор трендов, заданный при разработке проекта в редакторе.

Цитировать
Если я правильно понял, то TimeTrends дает доступ к параметрам тренда проекта, а не клиента?
TimeTrends – это свойство компонента "Временные тренды". Изменение любых свойств компонента отобразится сразу на всех клиентах.

Цитировать
SetTrendClient задает клиенту для нужной группы и позиции переменную. А как их считать?
Не совсем понятно, что Вы имеете в виду. Опишите задачу, которую Вы пытаетесь решить и, возможно, мы предложим решение.

ZWolol

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: GetTrendClient
« Ответ #2 : 17 Сентября 2024, 05:58:41 »
Значения трендов можно задать в проекте или изменить редактируемые на клиенте,
но после перезапуска все настройки сбрасываются.

При запуске клиента можно скриптами жестко задать нужные ему тренды,
но похоже, что считать и запомнить их не получится.

Как я понял, в проекте нет локальных переменных клиента.
Возможно-ли следующее:
Для локальных переменных задать массив (например Int64 Array).
Где каждый элемент для своего пользователя.
GetUserID дает ID пользователя, по которому можно взять соответствующий элемент массива.

Где можно посмотреть ID пользователей?

P.S.
Из таблицы трендов можно читать архивы, а можно ли туда писать данные с приборов?
« Изменён: 17 Сентября 2024, 08:12:39 от ZWolol »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1407
    • Просмотр профиля
Re: GetTrendClient
« Ответ #3 : 17 Сентября 2024, 11:36:58 »
Если требуется, чтобы каждый пользователь видел только нужные ему тренды, то можно распределить их по группам и через настройку прав пользователей задать видимость требуемых групп трендов для каждого пользователя. После этого пользователи будут видеть только нужные им группы трендов.

Цитировать
Где можно посмотреть ID пользователей?
Узнать ID пользователя можно только с помощью функции "GetUserID".

Цитировать
Из таблицы трендов можно читать архивы, а можно ли туда писать данные с приборов?
В БД архивируются только текущие данные, поступающие в скада-систему (если у переменной включена архивация). Записывать сторонние данные в таблицы БД созданные скада-системой нельзя. Это будет приводить к порче и искажению отображения трендов.

ZWolol

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: GetTrendClient
« Ответ #4 : 20 Сентября 2024, 05:06:32 »
Похоже, что отсутствие локальных переменных клиента вызывает проблемы не у меня одного...
А редактируемые тренды это только один из примеров.

Ни кто не будет выбирать и настраивать для себя группу из 10 трендов, если любая перезагрузка будет их сбрасывать.

Похоже переменные типа Array могут решить эту проблему.
Нажав на кнопку клиент может получить GetUserID и взять нужное значение из массива.
(Только не для всех скриптов это доступно).

Хоть ID пользователя в редакторе не видно, но надеюсь, что оно привязано к нему как у переменных.
Или может оно присваивается в порядке подключения клиентов???

Scada не читает архивы из OPC и трендам нельзя подставить значения из таблицы.
TM_Table работает с запросами SQL, было бы хорошо если б и тренды так умели...

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3215
    • Просмотр профиля
    • Simple-Scada
Re: GetTrendClient
« Ответ #5 : 21 Сентября 2024, 20:16:37 »
Цитировать
Похоже, что отсутствие локальных переменных клиента вызывает проблемы не у меня одного...
В Simple-Scada никогда не было "локальных переменных клиента" и не планируется их добавлять, т.к. нормально использовать их всё равно не получится.

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

ZWolol

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: GetTrendClient
« Ответ #6 : 24 Сентября 2024, 05:13:43 »
> Редактируемые группы обычно используют как временную группу...
В том-то и дело, что не обычно, а именно только как временную.

Нет проблем сделать любые группы, просто у меня сейчас нет доступа к проекту.
SetTrendClient может задать клиенту нужные тренды, но это бесполезно, если нельзя их считать.

P.S.
Я не вижу проблем с использованием локальных переменных через массивы по ID клиента.
Для этого даже не нужно ни чего менять в скаде.
Только желательно было бы показывать ID пользователя как у переменных.