Здравствуйте, задача состоит в том, что бы скада присылала сообщение каждые 15-20 минут в телеграм с температурой на момент отправки сообщения.
Вопрос 1. Как затащить в скрипт команду, которая отправляет значение переменной в телеграм сообщении?
Вопрос 2. К какому событию привязывать скрипт, что бы он выполнялся не по какому то событию, а по определенному промежутку времени (каждые 15-20 минут)?
Вот скрипт, который я попытался написать.
var
aMesTemp: TDateTime;
begin
RecodeTime(Now, HourOf(Now), MinuteOf(Now), 0, 0);
SendTelegram('Температура');
aMesTemp:= IncMinute (Now, -5);
end.
Здравствуйте.
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 для подсчета секунд и написать к примеру такой код:
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 - интервал отправки сообщений в секундах.