DATETIME – Čtení, nastavování a konverze času

Symbol blokuPotřebná licence: STANDARD
PIC

Popis funkce
Blok DATETIME je určen pro pokročilé operace s časem řídicího systému REX a operačního systému.

Blok umožňuje synchronizaci hodin operačního systému a řídicího systému REX. V okamžiku spuštění exekutivy systému REX jsou hodiny synchronizovány, ale během dlouhodobého provozu se mohou tyto dva údaje rozcházet (např. při přechodu na letní čas). Pokud je potřeba provést opětovnou synchronizaci, hodiny systému REX se při náběžné hraně (off on) na vstupu SET aktualizují dle vstupů a parametrů bloku.

Je však důrazně doporučeno neaktualizovat hodiny systému REX, pokud je řízený stroj či technologie v provozu, neboť by to mohlo vést k nepředvídatelnému chování.

Pokud je potřeba číst nebo konvertovat údaje o čase, je možno příslušnou akci spustit náběžnou hranou (off on) na vstupu GET a hodnoty přečíst na výstupech bloku. Výstupy začínající na ’t’ označují celkový počet daných jednotek od 1.1.2000 UTC.

Pokud jsou nastaveny parametry getper a setper na nenulové hodnoty, je čtení a nastavování hodin prováděno periodicky.

Při menší odchylce hodin systému REX a operačního systému, než udává parametr settol, nejsou hodiny systému REX nastaveny jednorázově, synchronizace probíhá postupně. Toho je dosaženo zanedbatelnými změnami v časování exekutivy systému REX, čímž po nějaké době dojde k dosažení synchronizace. Následně je použito standardní časování systému REX.

Pro jednoduché čtení data a/nebo času použijte bloky DATE_ a TIME.

Vstupy

uyear

Vstup pro nastavení roku

long

umonth

Vstup pro nastavení měsíce

long

uday

Vstup pro nastavení dne

long

uhour

Vstup pro nastavení hodin

long

umin

Vstup pro nastavení minut

long

usec

Vstup pro nastavení sekund

long

unsec

Vstup pro nastavení nanosekund   -9,22E+18  9,22E+18

large

SET

Nastavení času pomocí náběžné hrany

bool

GET

Přečtení času pomocí náběžné hrany

bool

Výstupy

yyear

Rok

long

ymonth

Měsíc

long

yday

Den

long

yhour

Hodiny

long

ymin

Minuty

long

ysec

Sekundy

long

ynsec

Nanosekundy

long

ydow

Den v týdnu

long

ywoy

Týden v roce

long

tday

Počet dní od začátku epochy

long

tsec

Počet sekund od začátku epochy

long

tnsec

Počet nanosekund od začátku epochy

large

dsec

Počet sekund od půlnoci

long

Parametry

isetmode

Zdroj podle kterého nastavit čas  1

long

1 ....

čas OS

2 ....

vstupy bloku

3 ....

vstup unsec

4 ....

vstup usec

5 ....

vstup unsec relativně

igetmode

Zdroj ze kterého přečíst čas pro nastavení či konverzi  6

long

1 ....

čas OS

2 ....

vstupy bloku

3 ....

vstup unsec

4 ....

vstup usec

5 ....

vstup uday

6 ....

čas systému REX

settol

Tolerance pro nastavení času systému REX [s]  1.0

double

setper

Perioda nastavování času [s] (0=bez opakování)

double

getper

Perioda čtení času [s] (0=bez opakování)  0.001

double

FDOW

První den v týdnu je neděle

bool

off ..

týden začíná pondělím

on ...

týden začíná nedělí

tz

Časové pásmo  1

long

1 ....

lokální čas

2 ....

UTC