From OpenSCADAWiki
Jump to: navigation, search

Объект VArchObj

Функции:

  • bool isNull() — объект не инициирован.
  • int begin( int usec = 0, string archiver = "" ) — время начала архива, через возврата секунд и микросекунд usec для архиватора archiver.
  • int end( int usec = 0, string archiver = "" ) — время окончания архива, через возврат секунд и микросекунд usec для архиватора archiver.
  • int period( int usec = 0, string archiver = "" ) — период архива, через возврат секунд и микросекунд usec для архиватора archiver.
  • ValObj get( int sec, int usec, bool upOrd = false, string archiver = "" ) — значение из архива на время sec:usec с привязкой к верху upOrd и для архиватора archiver. Реальное время полученного значения устанавливается в sec:usec.
  • bool set( ValObj val, int sec, int usec, string archiver = "" ) [доступ к подсистеме Архивы-История для операций с архивом] — записать значение val в архив на время sec:usec для архиватора archiver.
  • bool copy( VArchObj src, int begSec, int begUSec, int endSec, int endUSec, string archiver = "" ) [доступ к подсистеме Архивы-История для операций с архивом] — копировать часть исходного src архива, или его буфера, в текущий, начиная с begSec:begUSec и заканчивая endSec:endUSec для архиватора archiver.
  • ArrayObj FFT( int tm, real size, string archiver = "", int tm_usec = 0 ) — разложить в ряд Фурье с помощью FFT алгоритма. Возвращается массив амплитуд частот для окна значений из архива с временем начала tm:tm_usec (секунды:микросекунды), глубиной в историю архива size (секунд) и для архиватора archiver.

Пример:

using Special.FLibSYS;
val = vArh(strPath2Sep(addr)).get(time,uTime,0,archiver);
return val.isEval() ? "Пусто" : real2str(val,prec);