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

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

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

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


Сообщения - Zagajski

Страницы: [1]
1
Спасибо! Теперь разобрался, заработало

2
Т.е. я беру внешнюю переменную с ОРС-сервера, проверяю её качество функцией IsGoodQuality. Если значение False то должен запуститься таймер функцией TimerStart. Для запуска таймера я должен создать ВНУТРЕННЮЮ переменную vrLinkTimer с типом DateTime и шкалой времени начинающейся с 0? Если значение ВНЕШНЕЙ переменной True, то таймер обнуляется функцией Timer Reset, верно? И так каждый раз, когда качество ВНЕШНЕЙ переменной становится False. Скрипт я должен поставить на событие календаря OnDataChange?

В моём случае таймер почему-то сразу обнуляется, хотя ВНЕШНЯЯ переменная приходит с качеством BAD с контроллера, хотя таймер должен считать. На другом объекте, где качество ВНЕШНЕЙ переменной GOOD, при изменении её на BAD таймер так же не начинает отсчёт. В чём может быть ошибка?
Код: (delphi)
begin
  If Lermont_103.IsGoodQuality = False then
    TimerStart (TimeLerm103, 0)
  else
    TimerReset (TimeLerm103);
end.
Переменная Lermont_103 ВНЕШНЯЯ с постоянным качеством BAD, переменная TimeLerm103 - ВНУТРЕННЯЯ для таймера.

Код: (delphi)
begin
  If Serova_451.IsGoodQuality = False then
    TimerStart (TimeSerova451, 0)
  else
    TimerReset (TimeSerova451);
end.
Здесь переменная Serova_451 ВНЕШНЯЯ, её качество периодически меняется. TimeSerova451 - ВНУТРЕННЯЯ для таймера.

Оба скрипта были созданы с типом события "Изменились переменные"

3
Всё равно не смог добиться запуска таймера при потере связи с переменной.
Может в скрипте какая-то неточность? хотя компилятор пропустил. Для таймера создал внутреннюю переменную TimeLerm103, внешняя переменная, время отсутствия связи с которой нужно узнать - Lermont_103.
Код: (delphi)
var
  aSeconds: Int64;
begin
  If Lermont_103.IsGoodQuality = False then
    TimerStart (TimeLerm103, 0)
    else
    TimerReset (TimeLerm103);
  if Sender is TM_Text then   // проверяем, что Sender это текст
    with Sender as TM_Text do // приводим Sender к типу "TM_Text"
    begin
      aSeconds := SecondsBetween(0, TimeLerm103.AsDateTime); // получаем кол-во секунд
      Text := SecondsToStr(aSeconds);                        // переводим секунды в строку вида "чч:мм:сс".
    end;
end.

4
Ваши вопросы / Считаем отсутствие связи
« : 11 Февраля 2025, 17:33:05 »
Добрый день.
Возникла необходимость считать время отсутствия связи с переменной.
Имеется переменная ( типа Single), значение которой приходит от термодатчика. Можно ли средствами скады сделать таймер, который бы запускался как только связь с переменной теряется, и останавливался бы, когда она выходила на связь? Как мне видится - задача вроде бы и не сложная, но сам прийти к её решению не смог... Может есть какое-либо готовое решение?

5
Ошибки / Перекрытие кнопок интерфейса
« : 20 Ноября 2024, 09:45:08 »
Здравствуйте!

Обнаружил проблему в работе окна "Тренды". При работе программы не в полном размере экрана (например 800х600) во вкладке "Тренды" кнопка с выбором группы трендов перекрывает такую важную кнопку как "Выбор интервала времени". Есть ли возможность поменять местами кнопки "Выбор интервала времени" и "Закладки", т.к. выбирать интервалы в графиках приходится реально чаще, чем использовать закладки (думаю, многие согласились бы)

6
Ваши вопросы / Re: Окна и объекты
« : 17 Октября 2024, 16:41:16 »
А есть примеры скриптов на открытие страницы по нажатию?

7
Ваши вопросы / Окна и объекты
« : 17 Октября 2024, 16:16:51 »
Здравствуйте.

Возможна ли реализация в Simple-Scada по нажатию на окно перехода к соответствующей мнемосхеме?
Есть несколько объектов (котельных) и для каждой своя мнемосхема (сделал их на разных страницах проекта). Можно ли создать на отдельной странице окна с названиями объектов и отображением некоторых параметров, чтобы при нажатии на окно открывалась соответствующая этому окну мнемосхема? Если возможно, то как это реализовать?

8
Ваши вопросы / Изменение состояния кнопок
« : 09 Сентября 2024, 15:18:42 »
Здравствуйте. Есть 2 кнопки с фиксацией и одним состоянием у каждой. При нажатии первой кнопки она посылает 1. Как сделать, чтобы при нажатии второй кнопки она посылала 0, а первая возвращалась в исходное состояние? И при нажатии первой она возвращала в исходное состояние вторую. Может есть скрипт для этого или готовый пример?
Заранее благодарю

9
Господа, нужна помощь или совет.
Есть контроллер с несколькими реле. Через ОРС получил переменную, которой нужно управлять этими реле. Переменная передалась с типом данных Integer. Отдельно каждым реле с её помощью я управлять могу, но как это сделать с 6 или 7 реле?

Страницы: [1]