Gtl.create moving thresh: различия между версиями

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
 
(не показано 6 промежуточных версий этого же участника)
Строка 1: Строка 1:
== Краткое описание ==
== Краткое описание ==
Функция предназначена для фиксации превышений максимального значения параметра в указанном временном интервале наблюдения.
Функция предназначена для фиксации превышений максимального значения параметра в указанном временном интервале наблюдения. Применяется для контроля стабильного превышения параметрами установленного порога в течение указанного времени.


== Объявление функции ==
== Объявление функции ==
Строка 17: Строка 17:
:<code style="color: purple>thresh.src = gtl.analog_inputs[0];</code> - источник сигнала;
:<code style="color: purple>thresh.src = gtl.analog_inputs[0];</code> - источник сигнала;
:<code style="color: purple>thresh.name = "thresh";</code> - присвоение имени параметру;
:<code style="color: purple>thresh.name = "thresh";</code> - присвоение имени параметру;
:<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.1,
       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;
  {
    gtl.log.info("tresh trigger", flag);
  }


gtl.diagnostic.interval = 1;
function thresh_triggered_event(flag, sample)
{
  gtl.log.info("tresh trigger", flag);


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