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