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

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

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

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


Сообщения - Simple_Scada

Страницы: 1 [2] 3 4 ... 87
16
Тогда Вы можете попробовать реализовать требуемую логику используя возможности скриптов, но применение задержек это максимально плохой способ, который не рекомендуем использовать.

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

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

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

Цитировать
Одна переменная OPC через некоторое время перестает выводиться на тренде.
Для корректного отображения на трендах, переменная должна иметь шкалу соответствующую диапазону, в котором она изменяется. Например, если переменная изменяется в диапазоне 0-1000, то в скада-системе должна использоваться шкала 0-1000. Какая шкала используется для проблемной переменной и какое значение имеет переменная когда перестает отображаться на временном тренде?

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

Цитировать
У нас SCADA 2.6.11.0 подскажите как обновить до 2.7.0.0 ? Нужно писать на супорт ?
Вопросы связанные с покупкой, подпиской, получением обновлений и т.д. необходимо направлять на почту price@simple-scada.com. По данному вопросу написали Вам на почту. 

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

Цитировать
Как задать формат для TM_Field ?
Формат задаётся не у компонента, а у переменной – см. свойство "Формат".

Цитировать
И еще у Подписи зачем-то алтримятся пробелы (удаляются с переди и с зади).
Список Трендов выводится с лева на право. Приходится задавать их через один, чтоб получились столбцом, не удобно.
Пожелания обязательно учтем и рассмотрим. Если штатная подпись не подходит, то можно использовать вместо нее компонент "Текст" с необходимыми отступами.


20
Ваши вопросы / Re: Изображения и клиенты
« : 02 Апреля 2025, 10:33:29 »
Здравствуйте.

Цитировать
Как оказалось скада сохраняет свои файлы не в документы текущего пользователя, а в C:\Users\Администратор\Documents\Simple-Scada 2
Скада использует ту директорию, которая была указана на этапе установки (по умолчанию это документы пользователя, под которым производится установка). Если требуется работать под разными пользователями, то в качестве директории пользовательских данных при установке укажите директорию, доступную нужным пользователям.

21
Ваши вопросы / Re: Шаблонные сообщения
« : 28 Марта 2025, 12:34:52 »
Здравствуйте.

К сообщению можно привязать только одну переменную. Проще всего будет создать на ПЛК дополнительную переменную и менять ее значение в зависимости от состояний требуемых переменных кодов/аварий. Затем можно использовать полученную переменную в скада-системе. Если на ПЛК это сделать нельзя, то можно в Simple-Scada создать новую внутреннюю переменную и в скрипте "Изменились переменные" формировать ее значение по изменению требуемых переменных кодов/аварий и затем использовать ее в сообщениях. Либо можно сразу формировать сообщения через скрипты по нужным условиям без создания внутренней переменной.

Также, если у Вас переменная кода аварии всегда изменяется при возникновении любой аварии ПЧ (и коды аварий известны), то можно для формирования сообщения использовать только переменную кода аварии (тогда вторая переменная не понадобится).

22
Ваши вопросы / Re: Ввод данных типа Single
« : 26 Марта 2025, 10:17:19 »
Здравствуйте.

Цитировать
Создал переменные, скрипты, мнемосхему. И при вводе в поле например значения 100.1 должен сработать скрипт. Но не срабатывает.
О вещественных типах можно прочесть по ссылке. Там же рассмотрены примеры формирования вещественного значения и сравнения вещественных типов. Для корректного сравнения можно перевести значение переменной в целое число (если это допустимо), затем можно производить необходимые сравнения. Пример скрипта для работы с вещественной переменной можно найти по ссылке.
Второй вариант, если нужно сравнивать именно вещественные значения, то нужно допускать погрешность, например:
Код: (delphi)
var
  A, B: Single;
begin
  A := 1.0 / 3.0;
  B := 0.33333333;

  // считаем значения одинаковыми, если разница между ними меньше 0.00000001
  if Abs(A - B) < 0.00000001 then
    AddMessage(Now, mkMessage, 'Значения равны', True, False)
  else
    AddMessage(Now, mkMessage, 'Значения не равны', True, False);
end.

23
Ваши вопросы / Re: Страница трендов
« : 18 Марта 2025, 16:04:28 »
Здравствуйте.

Рекомендуем использовать для просмотра трендов штатный функционал. Для удобного просмотра можно создать разделы и группы трендов. Также, можно создавать редактируемые группы трендов (подробнее см. раздел "Тренды", свойство группы "Редактируемая") – при активации данной опции пользователь сможет редактировать тренды группы из десктоп-клиента.

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

24
Ваши вопросы / Re: Опять массивы
« : 13 Марта 2025, 10:42:58 »
Здравствуйте.

Выше рассмотрены два разных примера: работа со статическим массивом и работа с динамическим массивом. У Вас массив статический, поэтому для получения максимального индекса массива нужно использовать функцию "High". Для динамического массива нужно использовать функцию "Length".
Код: (delphi)
var
  anArrayLength: Integer;
  anArray: array[0..10] of Integer;
begin
  // получаем длину статического массива anArray
  anArrayLength := High(anArray) - Low(anArray) + 1;
end.

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

При использовании вложенных шаблонов, подстановки с одинаковым именем объединяются. Например: имеется пустой шаблон "А", а также шаблон "Б" с подстановкой "Температура". Если в шаблон "А" два раза добавить шаблон "Б", то у шаблона "А" будет одна подстановка "Температура", значение которой будет передано двум шаблонам "Б". Подробное описание работы "Шаблон + шаблонное окно"(что аналогично работе "шаблонное окно + шаблонное окно") можно посмотреть по ссылке.

Для решения описанной задачи можно использовать следующие варианты:
1. Создать отдельные шаблонные окна (по одному для каждого поля датчика) с разными подстановками, чтобы они не объединялись и назначить их для соответствующих полей.
2. Создать одно общее шаблонное окно настроек датчиков, которое будет включать в себя настройки всех датчиков. В шаблонном окне использовать разные подстановки, чтобы они не объединялись. Назначить это окно для всех датчиков.
3. Использовать вариант реализации через форму ввода, который предложил pan2000.

26
Ваши вопросы / Re: Ключ защиты.
« : 04 Марта 2025, 22:43:26 »
Здравствуйте.

Цитировать
В портах которые выведены на корпус всё отлично определяется и работает. Любые носители (дисковые накопители, флешки и т.д.) при установке в порт на плате определяются и нормально работают. Можете подсказать в чём может быть причина?
В чем именно причина сказать сложно, но в любом случае имеются какие-то отличия в работе USB порта на материнской плате и на корпусе ПК. Возможно для данного порта есть какие-то отдельные настройки в BIOS. Поищите описание этого USB-порта в документации материнской платы, возможно в его работе имеются какие-либо особенности. Если используется виртуальная машина, то возможно данный порт нужно пробросить в нее.

Также, у производителя USB-ключей Guardant можно приобрести (на странице "Цены и заказ" в разделе "Аксессуары") переходник для установки USB-ключа внутри корпуса ПК - подробнее см. по ссылке. Такой переходник можно подключить к стандартным USB коннекторам материнской платы.

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

Цитировать
Кнопка пуск записывает переменную в SCi_pusk -1, а для остановки другая кнопка стоп записывает в SCi_stop - тоже 1. Значит вентиляция остановится, а значения останутся SCi_pusk:1 и SCi_stop:1. Старт после этого в петлю вообще уходит и больше не проявляется (пока руками значение не сдвинешь в 0). Получается для записи 0 надо нажимать их ещё раз.
Если предполагается, что переменные должны сбрасываться, то почему они не сбрасываются в ПЛК по нужным условиям? Логику работы оборудования обычно реализуют на ПЛК, т.к. это удобнее и надежнее (нет зависимости от работы ПК, состояния связи и т.д.). Поэтому рекомендуем реализовать все что требуется (сброс значений и другие условия) на ПЛК, а в скада-системе использовать кнопку "с фиксацией" со значениями 0/1. Вместо ПЛК можно попытаться реализовать все через скрипты скада-системы, но такой вариант будет в любом случае хуже.

По описанию непонятно, по каким именно условиям/событиям переменные SCi_pusk, SCi_stop должны сбрасываться на 0. Если переменная SCi_pusk связанная с кнопкой "Пуск" должна сброситься на 0, когда переменная SCo_Kod__Sostoyanie_ изменится на 1024, то можно добавить такой сброс в скрипт из нашего прошлого сообщения, например:
Код: (delphi)
begin
  if Sender is TM_Button then    // проверяем, что Sender это кнопка
    with Sender as TM_Button do  // приводим Sender к типу "TM_Button"
      if VariableEx.AsInt = 1024 then
      begin
        Enabled := True;         // разблокировать кнопку
        Value := 0;              // записать 0 в основную переменную объекта
      end;
end.
Сброс на ноль переменной SCi_stop, связанной с кнопкой "Стоп" можно реализовать аналогично.

Цитировать
Кнопка пуск записывает переменную в SCi_pusk -1, а для остановки другая кнопка стоп записывает в SCi_stop - тоже 1.
Возможные режимы работы кнопки описаны по ссылке (см. описание свойства "Тип"). Если у Вас используется две кнопки, каждая из которых должна записывать фиксированное значение (1), то нужно использовать кнопки "с фиксацией" и оставить у каждой из них одно состояние со значением 1 (остальные состояния удалить). Тогда кнопка будет записывать фиксированное значение.

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

1. Если Вы хотите на странице/в окне проекта отобразить график из сформированного отчета, то такой возможности нет.
2. Если нужно сформировать отчет с графиком и открыть его на клиенте, то см. пример скрипта №1 по ссылке.
3. Если требуется просматривать тренды по переменной, то включите у переменной архивацию и добавьте ее в тренды

29
Ваши вопросы / Re: Где взять объекты.
« : 17 Февраля 2025, 14:24:59 »
Здравствуйте.

Все доступные компоненты можно посмотреть по ссылке.

Цитировать
1) похожий на заслонку , но по бокам еще прямоугольники.
Рекомендуем использовать штатный компонент "Заслонка".

Цитировать
2) вроде расходомер,  но изображен как прямоугольник.
Можно использовать одно из доступных изображений расходомера - компонент "Изображение" -> свойство "Текстура" -> "Расходомеры".

При необходимости, Вы можете добавить свои изображения и анимацию в формате ".png" (с глубиной цвета 32 бита или ниже) в папку "\Simple_Scada\Pictures" (перейти в папку можно через ярлык на рабочем столе). После этого они станут доступны в редакторе, см. свойство изображения "Текстура"-> "Пользовательские".

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

На вопрос о возможности работы web-клиента Simple-Scada на телевизоре, давали Вам ответ ранее в теме по ссылке.

Список поддерживаемых браузеров для web-клиента можно посмотреть по ссылке. Следует ориентироваться на устройства поддерживающие Chromium подобные браузеры, функционал которых не урезан. Посоветовать какие-либо определенные модели и гарантировать работу web-клиента на телевизоре мы не можем. Также, даже на телевизоре с полноценным браузером работа web-клиента будет зависеть от производительности телевизора. Подробнее о возможности работы web-клиента на телевизоре/панели оператора писали в этой теме.

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