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

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

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

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


Сообщения - Simple_Scada

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

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

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

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

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

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

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
Рекомендуем вернуть параметры по умолчанию.

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

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

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

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

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

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

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

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

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

Для скада-системы работа на виртуальной машине ничем не отличается от работы на обычном ПК (при условии отсутствия проблем в работе или настройках виртуальной машины). Множество пользователей используют различные виртуальные машины в своих проектах без каких-либо проблем. Наш 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 см. на скриншоте во вложении.

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

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

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

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

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

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

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

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

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

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

Цитировать
Переходы реализованы через скрипт по изменению значения переменной
См. описание функции "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% корректно только в однопользовательской системе. При одновременной работе множества пользователей всегда есть вероятность, что несколько пользователей будут одновременно взаимодействовать со списком и мешать друг другу.

12
Ваши вопросы / Re: Частота записи в БД
« : 08 Июля 2026, 21:35:56 »
Здравствуйте.

Если это нужно для передачи данных через БД в стороннее приложение, то возможен только способ описанный в сообщении выше - ссылка. Если для чего-то другого, то максимально подробно опишите задачу, возможно мы сможем предложить решение.

Цитировать
А с какой периодичностью данные попадают в БД с учетом этой оптимизации
Какого-либо фиксированного периода нет. Чем реже меняется переменная, тем реже данные попадают в БД. Также, данные сбрасываются в БД при остановке проекта.

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

Растянуть мнемосхему на два дисплея не получится. Можно разделить мнемосхему на несколько отдельных страниц. Затем, используя многомониторный режим, одновременно открыть разные страницы на каждом мониторе. Если такой вариант не подходит, то вместо обычных дисплеев можно использовать видеостену.

14
Ваши вопросы / Re: Иконки кнопок
« : 24 Июня 2026, 11:59:25 »
Здравствуйте.

К сожалению, такой возможности нет. Можно использовать только штатный набор иконок.

15
Сохранение/восстановление значений внешних переменных обычно реализуется на ПЛК. Если такой возможности нет и требуется записать значения сразу в несколько переменных, то подойдет вариант с записью по нажатию на кнопку (событие "OnClick").

Цитировать
а событие "OnDoneInputEvent" не поможет?
Нет. Как мы уже писали ранее, для изменения значения достаточно ввести новое значение в поле и нажать клавишу Enter. Если требуется записать значения в несколько разных переменных, то можно использовать скрипт по нажатию на кнопку.

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