Gtl.create moving thresh: различия между версиями
Перейти к навигации
Перейти к поиску
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 19: | Строка 19: | ||
:<code style="color: purple>thresh.time = 0.1;</code> - временной интервал наблюдения, в течение которого должно фиксироваться постоянное превышение порога, сек.; | :<code style="color: purple>thresh.time = 0.1;</code> - временной интервал наблюдения, в течение которого должно фиксироваться постоянное превышение порога, сек.; | ||
:<code style="color: purple>thresh.level = 0.5;</code> - пороговый уровень для параметра, при превышении которого фиксируется превышение; | :<code style="color: purple>thresh.level = 0.5;</code> - пороговый уровень для параметра, при превышении которого фиксируется превышение; | ||
:<code style="color: purple>thresh.triggered.connect();</code> - слот для подключения функции обработки результата; | :<code style="color: purple>thresh.triggered.connect(flag, sample);</code> - слот для подключения функции обработки результата; | ||
<pre> | |||
Примечание: | |||
Функция, подключенная к слоту должна содержать в аргументах два параметра | |||
flag - состояние срабатывания триггера (превышение заданного порога), bool | |||
sample - время (отсчет) срабатывания триггера | |||
</pre> | |||
== Пример использования == | == Пример использования == | ||
| Строка 25: | Строка 32: | ||
var thresh = gtl.create_moving_thresh( | var thresh = gtl.create_moving_thresh( | ||
{ | { | ||
src: gtl.analog_inputs[0], | src : gtl.analog_inputs[0], | ||
name: "thresh", | name : "thresh", | ||
time: 0. | time : 0.001, | ||
level: 0.5 | level : 0.5 | ||
} | } | ||
); | ); | ||
| Строка 34: | Строка 41: | ||
thresh.triggered.connect(thresh_triggered_event); | thresh.triggered.connect(thresh_triggered_event); | ||
function thresh_triggered_event(flag) | let cnt = 0; | ||
function thresh_triggered_event(flag, sample) | |||
{ | |||
gtl.log.info("tresh trigger", flag); | |||
if(flag) | |||
gtl.log.info("trigger on time", sample/thresh.rate); | |||
else | |||
gtl.log.info("trigger off time", sample/thresh.rate); | |||
cnt++; | |||
if(cnt == 6) | |||
gtl.stop(); | |||
} | |||
</pre> | </pre> | ||
Текущая версия от 04:28, 30 марта 2026
Краткое описание
Функция предназначена для фиксации превышений максимального значения параметра в указанном временном интервале наблюдения. Применяется для контроля стабильного превышения параметрами установленного порога в течение указанного времени.
Объявление функции
var thresh = gtl.gtl.create_moving_thresh(
{
src: gtl.analog_inputs[0],
name: "thresh",
time: 0.1,
level: 0.5
}
);
Свойства (методы)
thresh.src = gtl.analog_inputs[0];- источник сигнала;thresh.name = "thresh";- присвоение имени параметру;thresh.time = 0.1;- временной интервал наблюдения, в течение которого должно фиксироваться постоянное превышение порога, сек.;thresh.level = 0.5;- пороговый уровень для параметра, при превышении которого фиксируется превышение;thresh.triggered.connect(flag, sample);- слот для подключения функции обработки результата;
Примечание: Функция, подключенная к слоту должна содержать в аргументах два параметра flag - состояние срабатывания триггера (превышение заданного порога), bool sample - время (отсчет) срабатывания триггера
Пример использования
var thresh = gtl.create_moving_thresh(
{
src : gtl.analog_inputs[0],
name : "thresh",
time : 0.001,
level : 0.5
}
);
thresh.triggered.connect(thresh_triggered_event);
let cnt = 0;
function thresh_triggered_event(flag, sample)
{
gtl.log.info("tresh trigger", flag);
if(flag)
gtl.log.info("trigger on time", sample/thresh.rate);
else
gtl.log.info("trigger off time", sample/thresh.rate);
cnt++;
if(cnt == 6)
gtl.stop();
}