From OpenSCADAWiki
Объект 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);