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

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

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

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


Сообщения - Simple_Scada

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пожелание обязательно учтем и рассмотрим.

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

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

Цитировать
Проверить в скрипте содержимое у меня получается через поле .text. А вот изменить его содержимое не получилось
Изменить содержимое поля через свойство Text получится только в случае, когда поле не связано с переменной.

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

Формат задается через соответствующее свойство "Формат" - см. пример по ссылке. Кликните ПКМ по колонке с датой, нажмите на иконку "#.#" и выберите требуемый формат.  Форматы даты и времени, которые отмечены звездочкой (*), соответствуют региональным параметрам даты и времени, заданным в панели управления Windows.

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

Цитировать
Не могу найти в руководстве описания ограничений на тип данных для сообщений.
Таких ограничений нет.

Цитировать
Это проблема именно с типом данных или оно должно работать и я где-то еще допустил ошибку?
Проблема не связана с типом данных переменной.
1. Разместите на мнемосхеме компонент "Поле" и свяжите его с переменной, по которой формируется сообщение. Сохраните и перезапустите проект, после чего посмотрите значение переменной в поле - оно должно соответствовать значению, по которому формируется сообщение.
2. Убедитесь, что после внесения изменений в проект он был сохранён и перезапущен на сервере Simple-Scada.

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

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