Gtl.create moving thresh

Материал из GTL-wiki
Перейти к навигации Перейти к поиску

Краткое описание

Функция предназначена для фиксации превышений максимального значения параметра в указанном временном интервале наблюдения. Применяется для контроля стабильного превышения параметрами установленного порога в течение указанного времени.

Объявление функции

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();
}