Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Saurin от 31 Марта 2020, 09:45:46

Название: Отправка переменной в Telegram-сообщении
Отправлено: Saurin от 31 Марта 2020, 09:45:46
Здравствуйте, задача состоит в том, что бы скада присылала сообщение каждые 15-20 минут в телеграм  с температурой на момент отправки сообщения. 
Вопрос 1. Как затащить в скрипт команду, которая отправляет значение переменной  в телеграм сообщении?
Вопрос 2. К какому событию привязывать скрипт, что бы он выполнялся не по какому то событию, а по определенному промежутку времени (каждые 15-20 минут)?
Вот скрипт, который я попытался написать.
Код
var
aMesTemp: TDateTime;
begin
RecodeTime(Now, HourOf(Now), MinuteOf(Now), 0, 0);
SendTelegram('Температура');
aMesTemp:= IncMinute (Now, -5);
end.
Название: Re: Отправка переменной в Telegram-сообщении
Отправлено: Simple_Scada от 31 Марта 2020, 10:30:22
Здравствуйте.

1. Для отправки Telegram сообщений нужно использовать функцию SendTelegram (https://simple-scada.com/help/script/sendtelegram.html). Для получения значения переменной в виде строки нужно использовать свойство переменной AsStr (https://simple-scada.com/help/script/varasstr.html).
2. Для этого можно создать скрипт с типом события (https://simple-scada.com/help/script/event-types.html) "Прошла секунда (https://simple-scada.com/help/script/second-passed.html)", создать виртуальную переменную "vrTimer" с типом данных Integer для подсчета секунд и написать к примеру такой код:
Код: (delphi)
const
  INTERVAL = 10;  // Интервал таймера в секундах
begin
  vrTimer.Value := vrTimer.Value + 1; // накапливаем секунды в vrTimer

  { если прошло больше, чем INTERVAL секунд с последнего срабатывания таймера }
  if vrTimer.Value >= INTERVAL then
  begin
    SendTelegram('Температура: ' + vrTemp.AsStr);

    vrTimer.Value := 0;
  end;
end.
, где vrTemp это переменная температуры, INTERVAL - интервал отправки сообщений в секундах.
Название: Re: Отправка переменной в Telegram-сообщении
Отправлено: Saurin от 31 Марта 2020, 11:05:48
а скрипт нужно прикреплять к какому-то событию? или есть какой то планировщик событий?
Название: Re: Отправка переменной в Telegram-сообщении
Отправлено: Simple_Scada от 31 Марта 2020, 11:13:38
Перейдите в редактор скриптов (https://simple-scada.com/help/script/index.html) через меню "Проект -> Скрипты", нажмите кнопку создания нового скрипта, выберите необходимый тип события (https://simple-scada.com/help/script/event-types.html)(см. скриншот во вложении) и напишите код скрипта.
Название: Re: Отправка переменной в Telegram-сообщении
Отправлено: Saurin от 31 Марта 2020, 11:45:27
Спасибо :)