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

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

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

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


Сообщения - Vitalii_Popovych

Страницы: [1]
1
Ваши вопросы / Re: Работа с таблицей
« : 06 Марта 2020, 15:28:29 »
Спасибо. Решил вопрос при помощи следуущего кода:
Код: (delphi)
var i, j: integer;
begin
  i := MyVariableRes.AsInt;  // пример для целой переменной
  j := (HourOf(Now) + 23) mod 24; // предыдущий час
  if i < 0 then exit;   // это событие по инициализации (нач.значение MyVariableRes = -1)
  //или перед вызовом архивной функции

  if i = 1 then
    Table50.GetCell(13, j + 1).Text := 'Срабатывание';
  if i = 0 then
    Table50.GetCell(13, j + 1).Text := 'Норма';
  end. 

2
Ваши вопросы / Re: Работа с таблицей
« : 05 Марта 2020, 17:34:42 »
А если связанные? как в скриптах выше?

3
Ваши вопросы / Re: Работа с таблицей
« : 04 Марта 2020, 15:44:14 »
Спасибо. Все работает. Первый вариант мне подходит.
Еще хотел спросить. Можно ли сделать так, чтобы например вместо нуля или единици  в ячейках писало например "Да" или "Нет". Что-то вроде Срабатывание датчика: 09:00 - 09:59 - "Да".

4
Ваши вопросы / Работа с таблицей
« : 03 Марта 2020, 12:04:03 »
Здравствуйте.
Есть таблица в которой строки соответствуют времени суток (от 00:00 до 23:59) и есть столбцы срабатывания датчик безопасности (затопление, открытие дверей, датчик димы). Вопрос: можно ли сделать так, чтобы в ячейку записывалось максимальное или минимальное значение переменной за прошедший час (например в 09:00 в предыдущую ячейку записывалось архивное значения с привязкой по времени). Имеется ввиду, что в период с 08:00 по 08:59 максимальное значение было например 1.

5
Здравствуйте.
Будет несколько пожеланий.
1) Во вкладке "Проект - Настройки" при выборе звука аварии или звука сообщения можно было вибрать пункт "без звука" например.
2) Реализовать, если возможно, возможность отключения звука аварийного сообщения с Клиента при поможи кнопок или скриптов, а не создавать аварийное сообщение или со звуком или без во вкладке "Проект - Сообщения...".
3) Создать (если это возможно) возможность создания комбинации аварийного сообщения созданного разработчиком и возможности задавать граници аварийных сообщений (работа с верхней или нижней аварийной границей).

6
Цвет фона ячейки доступен для записи. Для контроля временного интервала, привязанного к началу часа, можно использовать событие "Прошел час".
Пример скрипа для таблицы Table1 c фиксированной первой строкой:
Код: (delphi)
// подсветка ячейки, соответствующей текущему часу
var i: integer;
begin
  for i := 0 to 23 do
    with Table1.GetCell(0,i + 1) do
      if i = HourOf(Now) then Color := clFuchsia else Color := clGray;
end.
При запуске проекта можно установить цвет фона текущего интервала в скрипте "Проект полностью запущен":
Код: (delphi)
begin
  Table1.GetCell(0,HourOf(Now) + 1).Color := clFuchsia;
end.

Здравствуйте. А можно сделать так чтобы ячейка мигала. Я пробовал вместо Color ставить  FlashColor, но скрипт почему то не компилируется.

7
Вводная: имеется таблица с 24 строками (24 строки - 24 часа):
00:00
...
...
23:59
Подскажите пожалуйста, есть ли способ сделать так, чтобы в зависимости от времени суток подсвечивалась конкретная ячейка первого столбца (например ячейка 00:00 - 00:00:59 светилась когда время такое же) и так по очереди.
Спасибо.

8
Добавьте в имя отчета дату
На словах я тоже к этому пришел, но как это правильно реализовать еще не придумал. просто вставить в название например {Данные_Начало} при редактировании самого отчета?

9
А подскажите пожалуйста как быть? Раз в сутки автоматически формирую отчет за прошедшие сутки (как в примере с 08:00 по 08:00). Но. Каждый новый отчет (который сохраняется в указанной папке) перезаписывает предыдущий, а нужно чтобы записывался новый отчет. Понимаю, что имя отчета одно и то же будет. Может где-то в настройках есть нужный пункт?
Код: (delphi)
var
  aReport: TM_Report;
begin                                 
  { если сейчас не 8 часов, то прерываем выполнение скрипта }
  if HourOf(Now) <> 8 then Exit;
 
  { берём текущее время и дату и сбрасываем минуты, секунды и
    миллисекунды в 0, т.к. нам важны только часы. Записываем
    полученное значение в переменную vrTimeEnd }
  vrTimeEnd.Value := RecodeTime(Now, HourOf(Now), 0, 0, 0);
 
  { от значения vrTimeEnd отнимаем 24 часа и записываем
    полученное значение в vrTimeBegin }
  vrTimeBegin.Value := IncHour(vrTimeEnd.AsDateTime, -24);
 
  { Формируем отчёт с именем "Отчет_1" и открываем его для просмотра
    на всех клиентах с именем "Client_1" }
  aReport := ReportBuild('Молодіжна_добовий');
   aReport.Save('my_client1', 'Молодіжна_добовий', '', rfPDF);  // сохраняем его в файл "Мой отчет.xlsx" на клиенте "Client_Name"
end.

10
Ваши вопросы / Аварийная сигнализация
« : 17 Октября 2019, 14:43:54 »
Существуют ли скрипты, которые могли бы изменять свойства переменной. Например. Есть переменная, которая идет с ПЛК. И мы поставили ей свойство "Аварийные границы" - Дополнительно - Границы - "Только аварийные". Это нужно для отображения аварийных ситуаций. Но в данный момент нам не нужно, чтобы была какая либо сигнализация от этой переменной. Поэтому вопрос в том, можно ли при помощи кнопки и скрипта реализовать возможность изменять свойство переменной c Клиента.

Или, если нет такой возможности, то можно ли отключать звук по отдельности для каждой аварии или для переменной с аварийными границами.

11

Привет. А кто программировал нижний уровень? Пусть он калибрует его. Насколько я понимаю, то проблема на его стороне, а не на скаде.
И скажи, если твой датчик начинает врать, то в какую сторону? В минус или плюс? И как ты знаешь, что он врёт? Ты какие-то замеры делал?

И ещё. Просто такие вопросы задаются на других форумах  ;)

Заказчик пожелал оставить возможность коректировать показания датчиков. Смотрел пример в демо-версии но видать не до конца понял как правильно сделать то, что описывал выше. теперь разобрался.
И еще. Какие такие другие форумы? вопрос по реализации вопроса в Simple SCADA логично задавать в тематическом форуме.

12
Такой вопрос. Есть например датчик давления (4..20 мА). Контролер преобразовывает эту величину в 0..10 bar. Но в какой то момент датчик начинает немного врать. И стоит вопрос о калибровке к нужным показателям. как прописать формулу чтобы считать новую величину, как суму переменной с ПЛК плюс число, которое диспетчер может вписать в некую ячейку для коректировки показателей.
Спасибо.

13
Ваши вопросы / Расход воды в Simple SCADA
« : 30 Сентября 2019, 15:58:03 »
Здравствуйте!
Возникла необходимость считать расход воды за час. В наличии имеется только счетчик воды с герконом. Реализовано перерасчет импульсов в метры кубические.
Подскажите пожалуйста, как реализовать возможность считать метры кубические в час. Есть мысль брать значение счетчика в начале интервала каждого часа, но не хватает опыта работы в SCADA системе. Куда можно подсмотреть чтобы решить этот вопрос.
Спасибо.

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