# time_integrator

### Funkce

Přístroj vypočítává numerický integrál zadané diferenciální rovnice s časovou proměnnou.

### Syntax

      time_integrator time_integrator_name;
        rem = string;
        timer = timer_name;
        time_variable_name = data_element;
        differential_equation = expression;
        time_multiplication = integer;
        output = data_element;
      end_time_integrator;

### Specifické parametry přístroje

- time_variable_name
  Obsahuje jméno datového elementu, který je v diferenciální rovnici časovou proměnnou. Tato časová proměnná je používána během integrace. Při spuštění integrátoru je z ní přečtena první hodnota - počáteční čas v setinách sekundy, posléze proměnná obsahuje tento počáteční čas zvětšený o dobu uplynulou do posledního časového kroku.
- differential_equation
  Obsahuje výraz s řešenou diferenciální rovnicí. Časová proměnná v tomto výraze musí být definována parametrem time_variable_name.
- time_multiplication
  Obsahuje datový element s hodnotou násobícího faktoru času. Tímto faktorem je při integraci násoben počet integračních kroků, čímž je způsobena změna časového měřítka integrace. Proměnná time_variable_name stále obsahuje čas od počátku do posledního časového kroku, integrátor však integruje každý přidělený časový krok time_multiplication-krát více integračních kroků. Standardní integrační krok při hodnotě tohoto parametru 1 je 0.01 s, při hodnotě parametru například 5 potom 0.05 s apod.
- output
  Obsahuje výstupní datový element, do kterého se bude posílat aktuální hodnota integrálu vstupní diferenciální rovnice. Při startu integrátoru je z tohoto datového elementu přečtena počáteční podmínka, hodnota tohoto datového elementu by tedy měla být korektně definována.

### Nativní procedury přístroje

    Reset()

Metoda uvede vnitřní proměnné integrátoru do počátečního stavu. Integrátor si pamatuje poslední hodnotu integrálu funkce a od ní vypočítává hodnotu v dalším integračním kroku. Zavoláním metody je vnitřní proměnná nastavena zpět na počáteční podmínku (hodnotu výstupního datového elementu v okamžiku spuštění integrátoru).

    GetIntegrationTime( VAR : time : real );

Metoda vrátí aktuální hodnotu integračního času, tedy čas, po který se již integruje.

### Událostní procedury přístroje

Přístroj může volat standardní událostní procedury:

    OnActivate()

Podrobnější informace k těmto procedurám lze nalézt v kapitole Programování a procedury.