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

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

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Simple_Scada

Страницы: [1] 2 3 ... 95
1
Здравствуйте.

Цитировать
Существует скрипт который исполняется раз в секунду, данные накапливаются и выводятся в рапорт, но столкнулся с проблемой что запись в переменные накопления происходят не у всех.
1. В первую очередь нужно проверить журнал сервера Simple-Scada, в нем могут содержаться ошибки выполнения скрипта или другие ошибки, которые подскажут причину проблемы.
2. Нужно проверять выполнение условий скрипта для проблемных переменных. Например, можно записывать в лог (Log_Add) все значения, участвующие в условиях по проблемным переменным и затем анализировать лог на выполнение условий скрипта.
3. Если требуется вычислять суммарную величину (например расход воды, расход электроэнергии и т.д.) по мгновенным значениям, то это можно реализовать без скриптов используя вычисление интеграла. В отчете нужно создать периодический источник данных и добавить в этот источник переменную расхода с типом обработки "Интеграл". В результате будет получен накопленный расход.

Вы можете прислать текущую версию Вашего проекта и целиком папку с логами на support@simple-scada.com. После проверки проекта и логов, возможно сможем дать дополнительные комментарии.

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

Обычно, архивные данные с приборов доступны для чтения по OPC-HDA. Но в Simple-Scada нет поддержки OPC-HDA, поэтому считать архивные данные не получится. В Simple-Scada можно работать только с текущими данными, поступающими от OPC-сервера.
 
Если каким-то способом у Вас получится передать нужные данные в Simple-Scada, то записать эти данные в штатные таблицы БД будет невозможно. В штатные таблицы архивируются только текущие данные, поступающие в скада-систему (если у переменной включена архивация).

3
Ваши вопросы / Re: Отчет по нагрузкам
« : 11 Сентября 2026, 12:07:25 »
Здравствуйте.

Цитировать
А как они попадут в следующий интервал, если "разница - Разница между последним и первым значением входящим в интервал." У меня в отчете один интервал. Допустим я считаю данные за январь и последнее значение от 31.01 23:55 равно 2000кВт. А первое значение за февраль будет от 01.02 00:05 и равно 2005кВт. Получается, что у меня 5 кВт не попадут ни в январь, ни в февраль.
Эти 5 кВт будут учтены в отчете за февраль. Показание 2000 кВт будет учитываться и как конец интервала за январь и как начало интервала за февраль. Т.к. и на 31.01 23:59:59 и на 01.02 00:00:00 показания были одинаковы и равны 2000 кВт.

Цитировать
Я правильно понимаю, что для Разница (точное) должны быть строки в БД с точной датой 01.01 00:00:00 для начала и 31.01 23:59:59 для конца? Если их нет, то значение не посчитается?
Нет, тип "разница (точное)" вернет 0, если на начало или конец периода построения отчета, в БД нет данных. Например из-за того, что был выключен ПК, проект не работал какое-то время, производился перезапуск проекта и т.д.

Цитировать
И можно ли поменять функцию обработки переменной после ее создания, например с "разница (точное)" на "разница"? Или надо старую удалить, а новую создать?
Можно изменить тип обработки переменной без её удаления. Посмотреть и отредактировать добавленные в источник колонки можно через меню "ССЫЛКИ" -> вкладка "Источники".

Если нужна максимальная точность расчетов, то установите переменной тип архивации "по изменению".

4
Ваши вопросы / Re: Отчет по нагрузкам
« : 10 Сентября 2026, 13:36:21 »
Здравствуйте.

Если не требуется высокая точность, то можно использовать тип архивации "по времени". Например, при текущих настройках архивации в отчет могут не попасть данные за последние 10 минут, но они попадут в следующий интервал.

Также, можно использовать тип архивации "по изменению" и установить для переменных нужную частоту опроса, например 10 секунд. Тогда новые точки будут добавляться в архив не чаще 10 сек.

5
Ваши вопросы / Re: Окно приветствия
« : 08 Сентября 2026, 20:40:24 »
Здравствуйте.

Такой возможности нет.

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

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

Редактируемая группа сохраняет текущий набор трендов до перезапуска клиента. Изменить набор трендов в редактируемой группе не перезапуская клиент можно только через скрипты, используя процедуры "SetTrendAll" или "SetTrendClient". Каких-либо других способов нет.

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

1. В меню OPC-серверов можно отключить целиком OPC-сервер.
2. Создать отдельные конфигурации для OPC-сервера - с полным набором переменных и с удаленными из конфигурации отключенными ПЛК/устройствами. Далее в зависимости от ситуации, загружать необходимую конфигурацию. Тогда в конфигурации OPC-сервера не будет отключенных ПЛК/устройств и он будет работать стабильно.
Каких-либо других способов нет.

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

Simple-Scada работает со всеми UA-серверами и их подписками строго в соответствии со спецификацией OPC-UA. После создания подписки, ее активность постоянно контролируется. Если обмен по подписке прекратился, то скада-система автоматически выполняет пересоздание подписки. ​​
​
В случае Regul, разработчики UA-сервера реализовали уникальное поведение (которое не используется ни в каких других UA-серверах). После загрузки данных в ПЛК Regul, старая подписка остаётся активной, OPC-сервер отвечает сообщением поддержания активности, но при этом не передаёт данные тегов. Т.е, подписка уже по сути не используется и по ней можно было бы не отвечать (удалить ее с UA-сервера), чтобы UA-клиент увидел это и создал новую. Но вместо этого UA-сервер Regul держит подписку активной и отвечает UA-клиенту, что с подпиской всё хорошо (хотя данные не передаются).

К сожалению, со стороны скада-системы повлиять на это не получится. Возможны только следующие решения:
1. Пытаться обойти проблемы UA-сервера со стороны скада-системы. Например, создать на мнемосхеме кнопку и по событию OnClick написать скрипт принудительного пересоздания подписок на UA-сервере при помощи процедуры RecreateSubscriptions. После загрузки изменений в ПЛК, можно будет нажать кнопку и пересоздать подписки без остановки проекта.
2. Получать данные с ПЛК Regul через специализированный UA-сервер от разработчиков Regul, который работает по уникальному поведению реализованному разработчиками Regul.

Цитировать
Меняли параметры в расширенных настройках(таймауты) OPC сервера в Editor
Рекомендуем вернуть параметры по умолчанию.

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

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

Цитировать
Функция «Найти и заменить» в редакторе скриптов
Такой функционал уже имеется – ссылка. Переключать интерфейс "поиска и замены" можно через меню "Действия -> Найти / Заменить" или используя сочетание клавиш "Ctrl + Н" и "Ctrl + F".

Цитировать
Отдельно возникают вопросы при импорте переменных из XLS/XLSX/CSV. Если в файле экспорта у существующей переменной остаётся прежний ID, а изменяется только имя переменной, логично ожидать обновление имени существующей переменной. Однако такая переменная может импортироваться как новая и получить новый ID, при этом штатно изменить или восстановить ID переменной невозможно.
Через импорт/экспорт из файла нельзя изменить имя переменной, т.к. при импорте имя используется как ключевой параметр. Если имя не совпадает ни с одной из существующих переменных, то будет создана новая переменная с новым ID. Для массового изменения имен переменных используйте групповое переименование.

Цитировать
Группировка объектов в редакторе
Такой функционал уже имеется – см. меню "Действия". Также, для создания однотипных объектов можно использовать систему шаблонов.

Цитировать
Настройка объекта «Список сообщений»
Внешний вид компонента "Список сообщений" зависит от выбранной в настройках БД системы архивации. При выборе системы архивации v2 компонент повторяет ту же структуру колонок, которая задана в настройках проекта для меню сообщений. Каких-либо изменений пока не планируется.

Цитировать
Отображение трендов за длительный период
Для десктоп-клиента в меню трендов можно задать любой интервал времени просмотра трендов – см. кнопку "Интервал времени просмотра". Для web-клиента интервал просмотра ограничен 1 годом.

На мнемосхемах сейчас можно использовать только компонент "Временные тренды" ограниченный 1 часом. В будущем мы планируем добавить новый компонент "Архивные тренды", который позволит выводить тренды на мнемосхему с функционалом, аналогичным просмотру архивных трендов. Но когда появится такой компонент, пока сказать сложно.

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

Для скада-системы работа на виртуальной машине ничем не отличается от работы на обычном ПК (при условии отсутствия проблем в работе или настройках виртуальной машины). Множество пользователей используют различные виртуальные машины в своих проектах без каких-либо проблем. Наш web демо-проект тоже работает на виртуальной машине. Как Вы указали, проект без проблем работал на обычном ПК, поэтому причину следует искать в работе/настройках конкретной виртуальной машины.

Пришлите для проверки на support@simple-scada.com следующую информацию:
1. Текущую версию Вашего проекта из директории "..\Simple-Scada 2\Projects".
2. Целиком папку с логами "..\Simple-Scada 2\Logs".
3. Уточните, как именно реализован проброс USB-ключа в виртуальную машину? Программный проброс (например, через VirtualHere), аппаратный (например, через Digi AnywhereUSB) или каким-то другим способом?
4. Журналы событий Windows (Панель управления - Администрирование - Просмотр событий) из разделов:
      - "Приложение";
      - "Система";
      - "Hyper-V-Worker" (Просмотр событий -> Журналы приложений и служб -> Microsoft -> Windows -> Hyper-V-Worker);
     
Как сохранить журнал событий Windows см. на скриншоте во вложении.

11
Ваши вопросы / Re: Всплывающие подсказки
« : 05 Августа 2026, 11:09:42 »
Здравствуйте.

Цитировать
Можно ли настроить автоматическое скрытие подсказки например через 5 сек при постоянном удержании курсора на объекте?
Такой возможности нет и ее добавление не планируется. Для того чтобы подсказка исчезла, необходимо переместить курсор за область объекта.

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

Цитировать
Если использовать одно Pop-up окно и менять видимость групп объектов (.Visible) по нажатию на кнопки-вкладки, то изменение происходит на стороне сервера и подменяет вкладку у всех подключенных клиентов одновременно.
Создать окно с несколькими вкладками возможности нет. Все объекты проекта существуют в единственном экземпляре и изменение их свойств (например видимости) будет отображаться на всех клиентах одновременно.

Цитировать
Вариант с дублированием окон (создание 5–10 идентичных окон Wnd_Tab1, Wnd_Tab2...
Рекомендуем использовать шаблонные окна. Тогда для каждого агрегата не придется создавать отдельные окна настроек, а для изменения окна достаточно будет внести изменения только в шаблон.
 
Цитировать
и их поочередное открытие через ShowClient/CloseClient
Для открытия окна не требуется писать скрипт. У каждого объекта имеется свойство "Окно", где можно указать окно, которое будет открываться при нажатии на объект.

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

Да, это возможно. Кнопка включает в себя несколько состояний и всегда находится в одном из этих состояний. Состояния кнопки связаны со значением переменной, которая указана в свойстве "Переменная" кнопки. При изменении значения переменной, кнопка перейдет в соответствующее этому значению состояние.

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

Совместить источник "Сообщения" с другим источником не получится. В данном случае можно только создать в БД свою таблицу с нужной структурой и записывать в нее необходимую информацию  - примеры скриптов для работы с БД, см. по ссылке. Далее в отчете использовать пользовательский источник данных - пример см. по ссылке и строить отчет на основании накопленных в нем данных.

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

Цитировать
Переходы реализованы через скрипт по изменению значения переменной
См. описание функции "GetClientName"– она не работает в скриптах, которые вызываются сервером скады (OnDataChange и т.д.). Вызов GetClientName в таких скриптах всегда будет возвращать пустую строку. Соответственно, переход по страницам будет выполняться только для десктоп-клиентов, в настройках которых имя клиента не задано, т.е. = пустой строке. Если задать любое произвольное имя для декстоп-клиента, то переход также не будет работать. Web-клиенты получают случайно сгенерированное имя, поэтому для них такой скрипт никогда не будет работать.

Для перехода по страницам через компонент "Список", можно использовать следующий способ:
1. Задайте нужным страницам однотипные имена, например PageDiagnostic1, PageDiagnostic2, PageDiagnostic3 и т.д.
2. Перейдите в меню редактирования скриптов и создайте новый глобальный модуль, например с именем "GlobalUnit" и следующим кодом:
Код: (delphi)
interface
 
var
  ClientData: TM_ClientData;
 
implementation
 
finalization
  FreeAndNil(ClientData);
end.
3. На событие "OnClick" списка используйте следующий код:
Код: (delphi)
begin
  ClientData := GetClientData;
end.
4. На событие "OnDataChange" списка используйте следующий код:
Код: (delphi)
var
  aPage: TM_Page;
begin
  // ищем страницу с именем PageDiagnostic + значение переменной списка
  aPage := GetPageByName('PageDiagnostic' + IntToStr((Sender as TM_ComboBox).AsInt));
  if aPage <> nil then                       // если страница существует
    aPage.GoToPageClient(ClientData.Name);   // то, перейти на нее
end.
Учитывайте, что такой способ будет работать на 100% корректно только в однопользовательской системе. При одновременной работе множества пользователей всегда есть вероятность, что несколько пользователей будут одновременно взаимодействовать со списком и мешать друг другу.

Страницы: [1] 2 3 ... 95