2. ledna 2014 | Reliance SCADA
Až do verze 4.6.0 bylo možné v systému Reliance používat pro práci s datem a časem pouze datové typy DateTime a Array of DateTime. Proměnné těchto datových typů jsou určeny pro uložení hodnoty, která nese obě části – datum i čas. Při zobrazení, resp. zadávání hodnoty takové proměnné se vždy zobrazily, resp. zadávaly obě složky, tedy datum i čas. To přinášelo určitá omezení při tvorbě vizualizačních projektů.
SCADA/HMI systém Reliance, verze 4.6.1, rozšiřuje výčet podporovaných datových typů proměnných o datové typy pro práci s jednotlivými částmi – datem a časem. Navíc přibyl datový typ TimeSpan (amount of time). Přehled datových typů pro práci s datem a časem je v následující tabulce.
Přehled datových typů pro práci s datem a časem v systému Reliance
Datový typ |
Popis |
Verze |
Date |
datum |
4.6.1 |
Time |
čas |
4.6.1 |
DateTime |
datum a čas |
4 |
TimeSpan (amount of time) |
uplynulý čas |
4.6.1 |
Array of Date |
datum (pole) |
4.6.1 |
Array of Time |
čas (pole) |
4.6.1 |
Array of DateTime |
datum a čas (pole) |
4 |
Array of TimeSpan (amount of time) |
uplynulý čas (pole) |
4.6.1 |
Interně jsou všechny datové typy pro práci s datem a časem založeny na základním typu DoubleFloat. Celá část čísla označuje počet dní, které uplynuly od 30.12.1899. Desetinná část znamená poměr uplynulé části dne (jaká část z 24 hodin uplynula od půlnoci). Mezi jednotlivými proměnnými různých datových typů je snadné provádět základní aritmetické operace. Např. ve skriptu sečíst hodnotu proměnné typu Date s hodnotou proměnné typu Time a výsledek uložit do proměnné typu DateTime. Nedochází přitom k žádné ztrátě přesnosti.
TimeSpan (amount of time) je nový datový typ, který lze použít pro uložení informace o uplynulém čase nebo časovém rozsahu.
Např. hodnota 148:05:36.254 na obrázku znamená 148 hodin, 5 minut, 36 vteřin a 254 milisekund. Typickým příkladem praktického použití datového typu TimeSpan (amount of time) je měření doby běhu stroje. Při dosažení předepsaného limitu může aplikace upozornit na nutnost provedení údržby stroje.
U proměnných typu Time, DateTime a TimeSpan (amount of time) byla doplněna možnost zobrazit hodnotu s přesností na milisekundy. Toto nastavení je možné pro vybrané proměnné zapnout ve Správci stanic na záložce Upřesnit.
Správce stanic > parametry proměnné > Upřesnit
Při importu z formátů podle IEC EN 61131-3 se datový typ určí podle následující tabulky.
Datový typ podle IEC EN 61131-3 |
Datový typ v systému Reliance |
DATE |
Date |
DATE_AND_TIME |
DateTime |
TIME_OF_DAY |
Time |
TIME |
TimeSpan (amount of time) |
Ve starších verzích se datový typ určoval podle následující tabulky.
Datový typ podle IEC EN 61131-3 |
Datový typ v systému Reliance |
DATE |
DateTime |
DATE_AND_TIME |
DateTime |
TIME_OF_DAY |
LongInt |
TIME |
LongInt |
Při importu do starších projektů je zachována zpětná kompatibilita v datových typech. Např. pokud je importovaná proměnná typu TIME a v projektu (ve stanici) již existuje stejnojmenná proměnná typu LongInt (tak, jak byla dříve naimportována), zůstane tato proměnná typu LongInt. Pokud stejnojmenná proměnná není nalezena, je přidána nová proměnná typu TimeSpan (amount of time).
Ve většině typů stanic (PLC apod.) jsou hodnoty proměnných typu datum a čas uloženy v jiném formátu než v systému Reliance. Pokud je tento formát jednoznačně určen typem stanice nebo komunikačního protokolu, provádějí nativní komunikační drivery konverzi hodnot proměnných. Při čtení se hodnota konvertuje z formátu závislého na stanici do formátu Reliance, při zápisu naopak.
Konverze se neprovádí např. u stanic s protokolem Modbus, protože tento protokol je velmi obecný a nedefinuje způsob uložení proměnných typu datum a čas.