
Ukázkové příklady
Na této stránce jsou umístěny ukázkové příklady dodávané se systémem Reliance 4. Kliknutím na název příkladu se zobrazí jeho detailní popis. Vlastní dokument je možné stáhnout kliknutím na příslušné tlačítko.
Všechny zde uvedené příklady jsou standardní součástí instalace systému Reliance 4.
Reliance 4 – česká verze
Reliance 4 – anglická verze
Propagační materiály
Dokumentace
V následující tabulce je umístěn odkaz na kompletní archiv, který obsahuje všechny ukázkové příklady. Stažením tohoto archivu získáte všechny dále uvedené příklady najednou.
Kompletní archiv
ZIP archiv, který obsahuje všechny ukázkové příklady vytvořené v systému Reliance 4.
V následujících tabulkách jsou umístěny jednotlivé příklady rozdělené do tematických skupin. Kliknutím na název příkladu se zobrazí detailní informace k příkladu. Vlastní příklad je pak možné stáhnout kliknutím na příslušné tlačítko.
Dema
Interaktivní projekt AirCondition demonstruje použití základních grafických komponent a jednoduchých skriptů při řešení vizualizace vzduchotechniky kanceláře. Projekt je lokalizován do několika jazyků (Angličtina, Ruština, Čeština, Holandština a Turečtina).
Uživateli je umožněno ovládat běh ventilátorů, rekuperátoru, chlazení, topení, vlhčení a simulovat znečištění vstupního i výstupního filtru nebo vznik chyb jednotlivých zařízení. Výpočet teploty a vlhkosti v kanceláři je založen na jednoduchém fyzikálním modelu a realizován pomocí tří skriptů.
Jednoduchý interaktivní projekt BoilerRoom demonstruje použití základních komponent (tlačítko, displej, aktivní obrázek, potrubí, indikátor průběhu, plovoucí graf atd.) pro vizualizaci ohřevu vody v plynovém kotli. Projekt dále demonstruje použití alarmů, grafů, tabulkových sestav a událostního a periodického skriptu pro zajištění dalších funkcí. Pomocí správce uživatelů je definováno několik uživatelů s různými přístupovými právy (Admin, User1, User2, Service – všechny bez hesla). Postupné vytvoření podobného projektu je součástí školení Reliance 4.
Pro verzi: 4.0.19Interaktivní projekt Factory demonstruje použití základních komponent (tlačítko, displej, potrubí, obrázek, indikátor průběhu atd.) k vizualizaci jednoduchého procesu chemické výroby. Čtyři základní chemikálie (poměr je možné měnit ručně nebo s využitím receptur) jsou zpracovávány pomocí kotle. Výsledný produkt je uchováván v zásobníku a dávkován do projíždějících cisteren. Cisterny jsou složeny s obrázku a indikátoru průběhu (seskupeno) a pohyb je zajištěn dynamickou změnou X souřadnice pomocí skriptů.
Projekt po spuštění v runtime modulu běží v automatickém režimu (řízeno skripty), který je možné přepnout do manuálního režimu pomocí příslušného tlačítka ve spodní stránky vizualizačního okna. Průběh veličin týkajících se provozu kotle je ukládán do datové tabulky (databáze) na jejíž základě je možné vygenerovat graf nebo tabulkovou sestavu.
Ukázkový projekt Tannery demonstruje využití systému Reliance pro řízení chemické výroby (koželužna). Projekt obsahuje přibližně 250 proměnných a je založen na reálné výrobní technologii.
Po spuštění projektu je zobrazeno úvodní okno, kde je třeba vybrat levý horní buben, aby byla spuštěna samotná vizualizace procesu. Vizualizace je složena ze soustavy nádrží propojených pomocí potrubí s ventily a čerpadly. Lišta v horní části okna obsahuje příkazy pro ovládání (Pozastavit, Restartovat, Receptura) nebo konfiguraci vizualizace (Nastavení). Příkaz Zrychlení v panelu nástrojů umožňuje určit rychlost provádění simulace. Vizualizace běží v automatickém režimu (řízený pomocí skriptů).
Projekt SMS demonstruje odesílání krátkých textových zpráv a zpracování přijatých zpráv pomocí skriptů. Pro správnou funkci projektu je nutné mít zakoupený a naistalovaný SMS driver a připojen GSM modem (např. Siemens M20 Terminal).
Projekt obsahuje periodický skript StatusSMS a událostní skripty ReceivedSMS a SendSMS.
Komponenty
Projekt DataGrid je jednoduchý příklad demonstrující základní funkce komponenty Tabulka. Ve stanici System jsou definovány proměnné, které jsou zobrazovány ve sloupcích tabulky (Array_Value, Array_FgColor a Array_BgColor) a proměnné, které řídí zobrazení hodnot v tabulce (Offset, Position a RowCount). Proměnná Array_FgColor řídí barvu fontu ve sloupci. Proměnná Array_BgColor řídí barvu pozadí sloupce. Výchozí nastavení těchto hodnot se provádí pomocí skriptů.
V runtime režimu lze z vizualizačního okna projektu editovat jednotlivé buňky v tabulce a proměnné, které řídí zobrazení hodnot v tabulce.
Projekt DataTree_ControlArea je příklad použití komponenty Strom k zobrazení stromové struktury dispečinku. Ve stanici System jsou definovány základní typy proměnných, které jsou zobrazovány v rámci větve Tags. Ve správci datových tabulek jsou definovány dvě tabulky, které provádí archivaci proměnných ze stanice System. Ve správci grafů jsou definovány dva grafy, které zobrazují grafy vybraných proměnných z datových tabulek. Ve správci tabulkových sestav jsou definovány dvě tabulkové sestavy, které slouží k zobrazení dat z datových tabulek. Ve správci akci jsou definovány akce, které zobrazují aktuální alarmy/události, archivní alarmy/události, tabulky a grafy. Tyto akce jsou napojeny na uzly stromu. V komponentě Strom jsou definovány uzly, které odpovídají struktuře dispečinku.
Buňka Displej slouží k zobrazení vlastností proměnných ve větvi Tag. V runtime režimu lze z vizualizačního okna projektu měnit proměnné prostřednictvím displejů vpravo od stromu. V projektu jsou funkce povelování a editace komponenty Strom zabezpečeny. Pro povolení editace musí být přihlášen uživatel "Edit". Pro povolení povelování (spouštění akcí) musí být přihlášen uživatel "Command".
Projekt DataTree_Localized je příklad použití lokalizovaných řetězců ve stromové struktuře komponenty Strom.
Komponenta Strom slouží k zobrazení seznamu akcí. Pro uzly jsou definovány Aliasy, které slouží k definování lokalizovaného textu.
Jednotlivé uzly stromu jsou napojeny na akce. V runtime režimu je akce spuštěna dvojitým kliknutím na název uzlu.
Projekt DataTree_Grid je příklad použití komponenty Strom k zobrazení proměnných ve formě tabulky. Ve správci stanic je definováno deset virtuálních stanic. V každé stanici jsou definovány stejné proměnné. Ve správci datových tabulek je definováno deset datových tabulek, které slouží k archivaci hodnot ze stanic. Ve správci grafů je definován stejný počet objektů Graf, které slouží k zobrazení grafů z definovaných datových tabulek.
Ve správci akcí jsou definovány akce, které zobrazují definované grafy. Tyto akce jsou napojeny na uzly stromu. V komponentě Strom je definován uzel, který zobrazuje všechny proměnné ze stanice. Pro každou proměnnou, která se zobrazuje v řádku uzle, je definována buňka.
V runtime režimu lze z vizualizačního okna projektu měnit hodnoty proměnných buněk a spouštět akce pro zobrazení grafů.
Projekt RealTimeChart_Stacked ukazuje způsob konfigurace komponenty Plovoucí diagram, tak aby byl zobrazen součtový horizontální sloupcový graf. Každý sloupec grafu sestává ze dvou částí, jejichž velikost je možné nezávisle měnit pomocí komponenty Displej. Celková velikost sloupce je dána součtem jednotlivých částí.
Základní body konfigurace komponenty jsou následující:
1. Zvolit typ grafu 'Horizontální sloupcový' v parametrech komponenty Plovoucí diagram (Řady > Parametry > Typ).
2. Definovat parametr Řady > Data > Hodnota pro jednotlivé body grafu tak jak ukazuje příklad.
3. Zvolit styl použitých řad 'Nad sebou' (parametry plovoucího diagramu > Statické > Parametry > Řady > Násobný sloupec).
Projekt SimpleTimeProgram je jednoduchý příklad použití komponenty Jednoduchý časový program. Ve stanici System je definována proměnná DataArray, která slouží k uložení konfigurace časového programu. Další proměnné (pomocné proměnné), které jsou umístěny ve složkách, jsou použity k zobrazení konfigurace časového programu ve vizualizačním okně.
Ve správci skriptů je definován skript DecodeData, který provádí dekódování konfigurace časového programu z proměnné DataArray do pomocných proměnných. Konfiguraci časového programu v runtime režimu provedete kliknutím na tlačítko Konfigurace. Po ukončení konfigurace, jsou data z proměnné DataArray automaticky dekódována a zobrazena ve vizualizačním okně. Proměnná DataArray je zobrazena v tabulce umístěné pod konfiguračním tlačítkem.
Projekt IPCamera_Axis demonstruje základní funkce komponenty – zobrazení a záznam dat získaných z IP kamery Axis připojené k počítači. Příklad vyžaduje nainstalované ovladače pro danou IP kameru (ovladače jsou součástí Reliance 4 Add-On Packu).
Ve stanici System jsou nadefinovány proměnné "record" a "standby" typu Bool. Vizualizační okno obsahuje komponentu IP kamera Axis a dvě tlačítka. V parametrech komponenty IP kamera Axis na záložce Funkce je třeba nastavit IP adresu/URL a přihlašovací údaje pro připojenou kameru.
Projekt IPCamera_Vivotek demonstruje základní funkce komponenty – zobrazení a záznam dat získaných z IP kamery Vivotek připojené k počítači. Příklad vyžaduje nainstalované ovladače pro danou IP kameru (ovladače jsou součástí Reliance 4 Add-On Packu).
Ve stanici System jsou nadefinovány proměnné "Input" a "Output" typu Word a proměnné "Record" a "Standby" typu Bool. Vizualizační okno obsahuje komponentu IP kamera Vivotek a čtyři tlačítka. V parametrech IP kamery Vivotek na záložce Funkce je třeba nastavit IP adresu/URL a přihlašovací údaje pro připojenou kameru.
Stanice
Projekt OPC_EmbeddedServer demonstruje připojení runtime modulu Reliance k OPC serveru, který neběží lokálně. Ve "Správci stanic" je založena stanice EmbeddedDevice1 typu OPC, ve které je nastaven "OPC server Prog ID" na identifikátor OPC serveru (např. výběrem počítače v místní síti). Ve "Správci struktury projektu" je vytvořen počítač PC1, ke kterému je tato stanice "EmbeddedDevice1" připojena. Na záložce Driver je u položky "Připojit se k driveru" vybrána volba "Na jiném počítači" a vybrán název počítače na kterém OPC server běží (Embedded1). Počítač Embedded1 je druhý počítač založený ve "Správci struktury projektu" a slouží pouze k identifikaci počítače na kterém běží OPC server – obsahuje jeho IP adresu (záložka Základní).
Tento způsob připojení ke vzdálenému OPC serveru má určité nevýhody a proto není doporučován. Spolehlivější řešení je na vzdáleném počítači, provozovat runtime modul Reliance, který k OPC serveru přistupuje lokálně. K tomuto runtime modulu – datovému serveru je následně přistupováno pomocí standardního síťového propojení systému Reliance, nebo pomocí tenkých klientů Reliance.
Projekt OPC_DeviceCommStatus demonstruje použití skriptu ke zjištění stavu OPC serveru na základě periodického testování kvality vybrané proměnné. Ve "Správci stanic" je definována stanice OPCDevice1, kterou je třeba nakonfigurovat tak, aby komunikovala s nainstalovaným OPC serverem. V OPC grupě této stanice je importována proměnná, jejíž kvalita bude testována ve skriptu (v příkladu je proměnná nazvána Random_UInt1). V projektu je dále definována binární proměnná OPCDevice1Connected, která po vyhodnocení skriptu obsahuje informaci zda je OPC stanice připojena – tato proměnná je napojena na "Aktivní text" ve vizualizačním okně.
Ve "Správci skriptů" je vytvořen událostní skript Define, který je spouštěn při inicializaci procesu, a obsahuje definici procedury pro vyhodnocení stavu stanice podle kvality dané proměnné. Ve skriptu je přečtena hodnota proměnné z OPC serveru pomocí metody "RTag.GetTagValue" a následně vyhodnocen chybový kód "RError.Code" (tento kód je nastaven v rámci metod objektů Reliance). Aby byl v případě neplatné hodnoty proměnné chybový kód různý od nuly (indikace chyby), je třeba aby byla aktivní volba "Možnosti Projektu > Skripty > Ostatní > Považovat neplatnou hodnotu proměnné za chybu". Procedura je i s potřebnými parametry pravidelně volána z periodického skriptu "UpdateOPCDeviceCommStatus" (perioda 1 s).
Pojekt Teco_Databox demonstruje přenos dat do/z přídavné paměti Databox stanice Teco. V projektu je vytvořena stanice 'Tecomat1' typu 'Teco' a nastavena její IP adresa. Na záložce 'Databox' je aktivována volba "Povolit čtení/zápis z/do Databoxu" a vytvořena vazba na proměnné odpovídajícího typu ve stanici 'System'. Ve stanici 'System' je definována proměnná 'Control' typu 'Byte', která je určená k ovládání přenosu dat z/do databoxu (0 – ready, 1 – čtení, 2 – zápis). Druhou definovanou proměnnou je 'Status' typu LongInt, která je napojena na komponentu "Aktivní text" ve vizualizačním okně a indikuje činnost, která je s databoxem právě prováděna (Ready/Reading/Reading completed/Read error/Writing/Writing completed/Write error). Další dvě proměnné propojené s databoxem 'DataLength' a 'DataOffset' slouží k určení objemu dat, který má být přenášen z/do databoxu. Obraz takto definované části databoxu je obsažen v proměnné 'DataBuffer' typu "Array of Byte".
Ve vizualizačním okně je obsažena komponenta 'Tabulka' napojená na proměnnou 'DataBuffer' a na proměnnou 'IndexArray'. Druhá zmíněná proměnná je automaticky aktualizována po provedení čtení/zápisu z databoxu, tak aby index zobrazovaný v tabulce odpovídal skutečné pozici dat v databoxu (s přihlédnutím k 'Data offset' – to řeší skript 'InitIndexArray').
Projekt Teco_ModemComm demonstruje proces připojení Teco stanice prostřednictvím modemu připojeného k sériovému portu počítače. Ve stanici System je definováno několik proměnných typu Word, které slouží ke sledování a k ovládání činnosti stanice a modemu. Proměnná Modem1Control ovládá modem připojený k počítači – je napojena na komponentu rozbalovací nabídka v oddíle 'Modem1' vizualizačního okna a na řízení modemu ve "Správci struktury projektu". Proměnná Tecomat1Control je napojena na rozbalovací nabídku v oddíle 'Tecomat1' a umožňuje vybrat požadovaný příkaz (Disconnect, Connect, 'Connect, read data and disconnect'). Tato proměnná je také napojena ve "Správci struktury projektu" k objektu 'Channel1'. Proměnná 'Tecomat1ModemStatus' je dekódována z proměnné Tecomat1Status pomocí skriptu 'Tecomat1StatusChanged' – skript na změnu hodnoty proměnnné Tecomat1Status. Proměnná Tecomat1Status je napojena na položku "Tecomat1 > Channel1 > Upřesnit > Status" ve "Správci struktury projektu". Podobné proměnné jsou založeny pro 'Tecomat2' a 'Modem2'. Dále jsou ve "Správci stanic" založeny stanice 'Tecomat1' a 'Tecomat2', ve kterých jsou definovány proměnné které je třeba vyčítat.
Ve "Správci struktury projektu" je pro 'Channel1' stanice 'Tecomat1' změněn "Typ komunikačního kanálu" na "Telefonické (modem)", nastaveno požadované "Telefonní číslo" a na záložce "Upřesnit" navázány potřebné řídící proměnné ze stanice System. Ve složce "Modemy" je založen objekt 'Modem1' s položkou "Řízení" napojenou na proměnnou Modem1Control. Ve "Správci skriptů" je vytvořen skript na změnu hodnoty proměnné Tecomat1Status, který pomocí bitové masky zjistí stav stanice Tecomat1. Pro stanici Tecomat2 jsou vytvořeny podobné objekty.
Projekt AMiT demonstruje základní funkce stejnojmenné stanice připojené k vizualizaci – čtení/zápis hodnot proměnných, ukládání dat do datové tabulky, bitový přístup apod. Ve správci stanic je nadefinována stanice AMiT1 se skupinou proměnných, které obsahují aktuální hodnoty (Sawtooth_1, Sawtooth_2, Sine, ARC_index), aktuální binární hodnoty (Bit1, Bit2, Bit3) a se skupinou proměnných typu pole používaných k vykreslení plovoucího diagramu. Aktuální hodnoty proměnných jsou ukládány do datové tabulky Database1, na jejímž základě je vykreslen graf Trend1. Ve správci plovoucích grafů je definován Trend1_RT zobrazovaný přímo ve vizualizačním okně.
Hlavní dialogové okno obsahuje skupinu komponent Displej napojených na proměnné Sawtooth_1, Sawtooth_2, Sine, jejichž hodnotu je možné měnit i pokud není stanice v online módu (Správce struktury projektu > PC1 > AMiT1 > Základní > Online), např. pro účely testování – změny se projeví v komunikačním driveru a ve vizualizaci, ale není navazováno spojení se stanicí.
Síťové aplikace
Projekt BoilerRoom_ClientServer rozšiřuje demo BoilerRoom o síťovou funkcionalitu. Ve "Správci struktury projektu" je založen nový počítač Client1. K nově založenému počítači jsou připojeny uživatelé, grafy a tabulkové sestavy definované v projektu aby byly přístupné i na tomto počítači. Dále je v klientském počítači vytvořena nová "Skupina síťových propojení" a v ní nové "Síťové propojení" nazvané Server1. Parametr propojení "Počítač typu server" je nastaven na Server1. K počítači Client1 je za pomocí toho propojení připojena stanice BoilerRoom1 a datová tabulka BoilerRoom1 ("Přenos dat" je nastaven na Síťový namísto Přímý a adresáře jsou nastaveny na $(HistoryData)\Client1\). Parametr Server1 > Základní > IP adresa je nastaven na lokální adresu počítače 127.0.0.1 (pokud by bylo třeba příklad provozovat po síti, je třeba nastavit skutečnou IP adresu serverového počítače).
Serverovou část projektu je třeba spustit v runtime modulu Reliance Control Server (parametr Možnosti projektu > Runtime modul > "Název počítače" je nastaven na Server1). Klientskou část je možné spustit v runtime modulu Reliance Control s parametrem Možnosti projektu > Runtime modul > "Název počítače" nastaveným na Client1.
Projekt BoilerRoom_RedundantServers rozšiřuje příklad BoilerRoom_ClientServer o další počítač typu server a další počítač typu klient. Ve "Správci struktury projektu" jsou vytvořeny počítače Server2 a Client2 duplikací původních konfigurací. Skupina síťových připojení "Servers" počítačů Client1 a Client2 je rozšířeno tak, aby obsahovala i propojení na Server2. Priorita propojení je nastavena tak, aby se po spuštění všech čtyřech modulů Client1 připojil primárně k počítači Server1 a Client2 k počítači Server2. Pokud není jeden ze serverů dostupný (např. Server1 je ukončen) Client1 se automaticky připojí k počítači Server2. Pokud je klient připojený k serveru, který není jeho primární, pravidelně se testuje dostupnost primárního serveru. Uskutečněná spojení je možné sledovat v "Systémových informacích" na záložce "Síťová propojení".
Pro verzi: 4.0.19Projekt BoilerRoom_MultipleServers rozšiřuje příklad BoilerRoom_ClientServer o druhý počítač typu server, který reprezentuje druhou kotelnu. Ve "Správci stanic" je vytvořena stanice BoilerRoom2 (duplikací BoilerRoom1) a dále je provedena duplikace dalších objektů, které je třeba nezávisle provozovat (vizualizační okno BoilerRoom2, datová tabulka, graf, plovoucí graf, tabulková sestava, skript BoilerRoom2_Simulation a akce pro vyvolání sestav a grafů).
Do okna horní lišty TopTray je přidáno tlačítko pro přepnutí do vizualizačního okna druhého serveru. Ve "Správci struktury projektu" jsou vytvořena potřebná síťová propojení z počítače Client1 na Server1 a na Server2. Aby nedocházelo k zobrazení horní lišty na počítačích Server1 a Server2, je okno TopTray na těchto počítačích přidáno do seznamu "Nepoužívaná okna" na záložce "Zobrazení". Ke spuštění definovaných počítačů je možné použít zástupce vytvořené pomocí nástroje Projekt > Vytvořit zástupce (Client1 – modul Reliance Control, Server1 a Server2 – modul Reliance Control Server).
Projekt BoilerRoom_MobileClient je založen na demu BoilerRoom, do kterého jsou přidána vizualizační okna určená pro běh na PDA pomocí Reliance Mobile Client (jedná se o výřezy základních prvků vizualizace, tak aby je bylo možné zobrazit i na zařízeních s omezeným rozlišením). Reliance Mobile Client je určen pro zařízení s OS Windows CE a s nainstalovaným .NET Compact Framework 2.0. Příklad je možné spustit i pomocí emulátoru.
Ve "Správci struktury projektu" je založen nový počítač PDA, do kterého jsou přidány potřebné objekty (uživatel, graf, tabulková sestava, datová tabulka). Na panelu "Zobrazení" je parametr "Okno po spuštění" nastaven na "PDA - Overview" – vizualizační okno, které bude zobrazeno při spuštění projektu na mobilním zařízení.
Pro spuštění vizualizace na mobilním zařízení je třeba, aby bylo toto zařízení připojené do sítě spolu s počítačem Server1, který bude fungovat jako datový server (na tomto počítači poběží skripty a v reálné aplikaci by byl připojen ke stanicím – PLC). Ve vývojovém prostředí je nejprve třeba provést příkaz "Projekt > Exportovat pro vzdálené uživatele", spustit datový server a přihlásit se z mobilního zařízení na jeho WWW stránku. Více informací k provozování Reliance Mobile Client je dostupných ve specializované nápovědě.
Projekt SendEmail demonstruje odesílání elektronické pošty ze skriptu. Před spuštěním příkladu je třeba nakonfigurovat server odchozí elektronické pošty (SMTP) pro daný počítač ve Správci struktury projektu. Hlavní vizualizační okno projektu obsahuje komponenty určené k definici adresáta, předmětu, těla a příloh emailu. Tlačítko "Send Email" slouží ke spuštění skriptu, který odešle email. Základem skriptu je metoda "RInet.SendMail", která slouží k odeslání emailu.
Pro verzi: 4.0.19Projekt ThinClientListFromScript podává příklad přístupu k seznamu připojených tenkých klientů pomocí skriptu. Po spuštění vizualizační okno projektu obsahuje komponentu Displej, která ukazuje počet tenkých klientů připojených k datovému serveru (proměnná ThinClients_Count) a komponentu Tabulka se sloupci napojenými na proměnné typu pole, která obsahuje informace o tenkých klientech. Obsah těchto proměnných je pravidelně aktualizován pomocí periodického skriptu GetThinCientList. Skript je spouštěn každých 5s a obsahuje metodu "RWS.GetThinClientList", pomocí které je zjištěn počet připojených tenkých klientů ClientCount a naplněna struktura ClientList s informacemi o připojených tenkých klientech. Informace z této struktury jsou následně vloženy do proměnných typu pole (ThinClients_xxxx), aby mohly být zobrazeny komponentou Tabulka.
Pro verzi: 4.0.19Sestavy
Projekt CustomReport_Text je jednoduchým příkladem použití textové uživatelské sestavy. V projektu je definováno pět proměnných, které udávají výšku hladiny ve vodojemech. Ve správci uživatelských sestav je definovaná textová sestava TextReport, která obsahuje pět položek napojených na proměnné stejného jména ze stanice System. Šablona uživatelské sestavy Template.txt je umístěna v adresáři Main/ CustomReports projektu. V runtime režimu lze ve vizualizačním okně projektu měnit výšku hladiny ve vodojemech.
Pro verzi: 4.0.19Projekt CustomReport_HTML je jednoduchým příkladem použití webové uživatelské sestavy. V projektu jsou proměnné rozděleny do složek dle technologických celků. Ve správci uživatelských sestav je definována webová sestava WebReport, která obsahuje stejnou strukturu položek odpovídající proměnným ve stanici System. Soubory šablony uživatelské sestavy jsou umístěny v adresáři Main/CustomReports projektu. V tomto adresáři se nachází dokument aplikace Microsoft Office Word, který sloužil k vytvoření šablony. Ve vizualizačním okně jsou komponenty seskupeny do tabulky a slouží k změně proměnných uživatelské sestavy.
Pro verzi: 4.0.19Projekt CustomReport_Form demonstruje použití uživatelské sestavy typu Fast Report k tisku formuláře. V projektu jsou definovány proměnné, které odpovídají editovaným položkám formuláře. Pro zadávání údajů je ve vizualizačním okně použita komponenta "Editační pole". Ve správci uživatelských sestav je definována sestava CustomReport_CertificateOfPosting, která obsahuje položky uživatelských sestav odpovídající proměnných ze stanice System. V runtime režimu lze ve vizualizačním okně projektu editovat formulář. Přesun mezi editačními poli se provádí klávesou Tab. Náhled uživatelské sestavy lze zobrazit kliknutím na tlačítko "Zobrazit". V projektu jsou použity dva jazyky. Změna jazyka projektu se projeví i ve výstupech uživatelské sestavy, kde jsou použity značky lokalizovaných řetězců.
Pro verzi: 4.0.19Projekt CustomReport_ADOChart demonstruje použití uživatelské sestavy typu Fast Report k tisku dat uložených v databázi SQL ve formě grafu. Ve správci stanic jsou definovány proměnné TimeRange_From a TimeRange_Till, které slouží k určení časového rozsahu a také pracovní proměnná Word. Ve správci datových tabulek je vytvořena tabulka typu SQL, která slouží k archivaci pracovní proměnné. Název SQL serveru je "(LOCAL)\SQLEXPRESS". Tento název serveru je standardně vytvořen při instalaci Microsoft SQL Server 2005 Express Edition pomocí dávky "setup.bat".
Ve správci uživatelských sestav je založena sestava, která slouží k zobrazení dat ve formě grafu. K vytvoření vazby uživatelské sestavy na SQL databázi je použita komponenta ADODatabase. Nastavení připojení v komponentě ADODatabase je stejné jako nastavení SQL v projektu Reliance (Možnosti projektu > Projekt > SQL). Data z datové tabulky jsou získávána pomocí dynamicky generovaného SQL dotazu, který je sestavován pomocí skriptu v uživatelské sestavě.
V runtime režimu lze z vizualizačního okna projektu změnit jak hodnoty archivovaných proměnných tak časový rozsah zobrazovaných historických dat.
Projekt CustomReport_ADODatabase demonstruje použití uživatelské sestavy typu Fast Report k tisku hodnot uložených v databázi SQL formou tabulky. Ve správci stanic jsou definovány tři virtuální stanice. V každé stanici je pět proměnných (Tag1, ..., Tag5). Ve správci datových tabulek jsou vytvořeny tři tabulky, které slouží k archivaci proměnných z virtuálních stanic. Každá tabulka má jiné nastavení základny časových značek. Všechny tabulky jsou typu SQL. Název SQL serveru je "(LOCAL)\SQLEXPRESS". Tento název serveru je standardně vytvořen při instalaci Microsoft SQL Server 2005 Express Edition pomocí dávky "setup.bat".
Ve správci uživatelských sestav jsou tři sestavy, které zobrazují data z virtuálních stanic. Šablony uživatelských sestav se liší způsobem dekódování časové značky. Podle nastavení ukládání časové značky v jednotlivých datových tabulkách jsou v šablonách použity konverzní funkce Int64TimeToDateTime a UTCDateTimeToLocalDateTime. K vytvoření vazby uživatelské sestavy na datovou tabulku jsou použity komponenty ADODatabase a ADOTable. Nastavení připojení v komponentě ADODatabase je stejné jako nastavení SQL v projektu Reliance (Možnosti projektu > Projekt > SQL).
V runtime režimu lze z vizualizačního okna projektu změnit hodnoty archivovaných proměnných.
Projekt CustomReport_EquithermalCurve je jednoduchým příkladem tisku grafu ekvitermní křivky. Používá uživatelské sestavy typu Fast Report. V projektu jsou definovány proměnné, které se používají k definici ekvitermní křivky. Ve správci uživatelských sestav je definovaná sestava FastReport, která obsahuje položky uživatelských sestav odpovídající proměnným ze stanice System. Šablonu uživatelské sestavy je možné editovat pomocí příkazu 'Upravit sestavu'. Soubor šablony je umístěn v adresáři <Project>/ Main/ CustomReports projektu. V runtime režimu lze z vizualizačního okna projektu změnit parametry ekvitermní křivky. K editaci ekvitermních bodů slouží komponenta Ekvitermní křivka.
K vykreslení grafu v šabloně FastReport slouží následující skript:
ECChart.SeriesData[0].XSource :=VarToStr(<TempA$6>)+';'+VarToStr(<TempB$7>);
ECChart.SeriesData[0].YSource :=VarToStr(<TempEkvA$10>)+';'+VarToStr(<TempEkvB$11>);
Vkládané objekty
Projekt BoilerRooms_WindowTemplate je příkladem použití datových struktur a šablon oken. Vizualizace představuje kotelnu s plynovým kotlem. Informace o jednotlivých zařízeních jako jsou čerpadlo, ventil a kotel, jsou uspořádány do datových struktur (Pump, Valve, Boiler). Tyto dílčí datové struktury jsou potom obsaženy v datové struktuře, která odpovídá celé kotelně (BoilerRoom). Na základě datové struktury BoilerRoom jsou nadefinovány strukturované proměnné s názvem BoilerRoom ve stanicích BoilerRoom1 a BoilerRoom2. Datovým strukturám Pump, Valve, Boiler odpovídají příslušné šablony oken (Pump, Valve, Boiler). Tyto dílčí šablony jsou potom obsaženy v šabloně, která odpovídá celé kotelně (BoilerRoom). Šablona BoilerRoom je následně opakovaně použita v normálních vizualizačních oknech (BoilerRoom1, BoilerRoom2) s tím, že při konkrétním použití šablony okna je již určena odpovídající strukturovaná proměnná.
Pro verzi: 4.0.19Skripty
Projekt ScriptTypes demonstruje různé typy skriptů a jejich použití. Hlavní vizualizační okno obsahuje pět oddílů, kde každý se týká jednoho typu skriptu, který je možný v Relianci 4 defiovat (mimo časového skriptu). První oddíl demonstruje použití "Skriptu na změnu hodnoty" – vždy při změně hodnoty proměnné A, B nebo C je přepočítán výsledek výrazu. Druhý oddíl demonstruje použití "Periodického skriptu" – hodnota úhlu je periodicky inkrementována. Třetí oddíl je vztažen ke "Klávesovému skriptu" – klávesa F5 zobrazí dialogové okno (všechny skripty jsou spuštěny v jednom podprocesu a proto je provádění ostatních skriptů při zobrazení dialogu pozastaveno).
Čtvrtý oddíl demonstruje použití "Podmínkového skriptu" – pokud je do komponenty display zadáno číslo větší než 10, je zobrazen dialog. Poslední oddíl demonstruje použití "Událostního skriptu" – tlačítka jsou navázána na dvě binární proměnné pro které jsou ve "Správci stanic" definovány alarmy/události. Alarm/událost je aktivován pokud se hodnota proměnné změní z logické 0 do logické 1. Při vzniku alarmu/události je spuštěn skript Alarm. Ve skriptu je přečten text alarmu a zobrazeno dialogové okno s tímto textem.
Projekt GetCurrentScriptDataEx ukazuje způsob předávání parametru skriptu při jeho spuštění např. pomocí kliknutí na tlačítko. V projektu je definována jedna proměnná ScriptParamValue typu LongInt, která je napojena na displej. Ve "Správci skriptů" je definován skript EventSkript, který je spouštěn z hlavního vizualizačního okna pomocí tlačítek vždy s různou hodnotou parametru. Ve skriptu je hodnota parametru přiřazena do proměnné ScriptParamValue, která je následně zobrazena komponentou Displej.
Pro verzi: 4.0.19Projekt GetFolderContents demonstruje použití skriptu k získání obsahu zvoleného adresáře. Hlavní vizualizační okno obsahuje komponentu Display (pro zadání adresáře jehož obsah má být vypsán), Tlačítko které aktivuje spuštění skriptu a dvě komponenty tabulka napojené na proměnné typu pole (levá tabulka bude po provedení skriptu obsahovat seznam podadresářů, pravá tabulka seznam souborů obsažených ve zvoleném adresáři).
V projektu je definován událostí skript GetFolderContents, který vytvoří objekt "Scripting.FileSystemObject", prostřednictvím kterého je získán obsah adresáře. Po provedení skriptu obsahují proměnné SubFolderNames a FileNames podadresáře a soubory obsažené v adresáři ParentFolderName. Proměnné SubFolderCount a FileCount obsahují počet položek odpovídajících seznamů.
Projekt DeclareArrayVar ukazuje, jak ve skriptech definovat a používat globální a lokální proměnné typu pole. Hlavní vizualizační okno obsahuje dvě tlačítka, která jsou navázána na odpovídající skripty (stiskem tlačítka dojde ke spuštění daného událostního skriptu).
Ve "Správci skriptů" je vytvořen skript "Define", který obsahuje deklaraci globální proměnné. Na záložce "Upřesnit" ve vlastnostech tohoto skriptu je označena volba "Spustit při inicializaci podprocesu", která zajistí spuštění daného skriptu – a tím deklaraci proměnné – ještě před spuštěním všech ostatních skriptů běžících v daném podprocesu (vlákně). Takový skript je také spuštěn vždy při znovu spuštění podprocesu (např. následkem zacyklení, které je vyhodnoceno při aktivní volbě "Ukončit při překročení max. doby běhu"). Opakovaná deklarace globální proměnné typu pole příkazem dim vyvolá chybu "Type mismatch".
Skript UseGlobalArrayVar modifikuje globální proměnnou typu pole GlobalArrayVar1, zatímco skript UseLocalArray zapisuje hodnoty pouze do lokální proměnné LocalArrayVar typu pole definované v rámci dané procedury.
Projekt MoveTagValue demonstruje kopírování hodnot proměnných z jedné stanice do druhé. Projekt obsahuje Skript AfterStartProject spuštěný po startu runtime modulu (Možnosti projektu > Skripty > Ostatní > Spustit skript po spuštění projektu), který inicializuje hodnotu proměnné DataTime. Projekt dále obsahuje skupinu skriptů, které zajišťují kopírování proměnných ze stanice System do stanice Virtual1. Skripty jsou spouštěné z hlavního vizualizačního okna pomocí tlačítek; okno obsahuje komponenty displej pro zobrazení a editaci zdrojových a cílových proměnných. Ke kopírování je použita metoda RTag.MoveTagValue.
Pro verzi: 4.0.19Projekt MoveTagElementValues obsahuje událostní skript (spuštěný tlačítkem ve vizualizačním okně), který demonstruje kopírování prvních deseti prvků pole WordArray20 na pozici 50-59 pole WordArray100. Pro kopírování je použita metoda RTag.MoveTagElementValues.
Pro verzi: 4.0.19Projekt LogMessage demonstruje způsob ukládání dat v libovolném formátu do textového souboru pomocí skriptu. Okno projektu obsahuje tlačítko, které spustí skript "LogMessageTest", v rámci kterého je spuštěna procedura LogMessage. Tato procedura je společně s funkcemi pro uživatelské formátování data a času obsažena ve skriptu "Define" spouštěného při inicializaci podprocesu. Přístup k souboru je zajištěn pomocí objektu "Scripting.FileSystemObject". Voláním metody "OpenTextFile" s názvem otevíraného souboru jako parametr je vytvořen objekt, do kterého může být zapsán libovolný text pomocí metody "WriteLine" (číselný parametr metody "OpenTextFile" udává způsob otevření souboru – 1 pro čtení, 2 pro zápis, 8 append; logická hodnota definuje, zda má být soubor vytvořen pokud neexistuje).
Při stisku tlačítka v runtime modulu je v adresáři projektu vytvořen podadresář "Logs" se souborem "ScriptLog.txt", do kterého jsou přidávány řádky s aktuálním datem, časem a s ukázkovým textem.
Projekt ScriptDebugging vyžaduje instalaci libovolného nástroje pro ladění skriptů. Lze použít Microsoft Skript Debugger, jehož instalace je součástí instalátoru Reliance 4 Add-On Pack. Vizualizační okno obsahuje tlačítka pro povolení nebo zakázání ladění skriptů. Tlačítka jsou napojena na akce, která provádí změnu hodnoty klíče registru v systému Windows prostřednictvím souborů "ScriptDebuggerEnabled.reg" a "ScriptDebuggerDisabled.reg". Zapnutí nebo vypnutí ladění vyžaduje restart aplikace Reliance. Tlačítko "Spustit Skript" spustí událostní skript "Program". Je-li zapnuto ladění skriptů aktivuje se Debugger, v kterém lze provádět ladění skriptu.
Pro verzi: 4.1.3Projekt DownloadAndSaveFile ukazuje jak stáhnout a uložit soubor definovaný URL adresou na disk počítače. Základem projektu je skript 'DoDownloadAndSaveFile', který na základě proměnných 'FileURL' a 'FileName' provede stažení souboru. Proměnná 'FileURL' je navázána na komponentu displej ve vizualizačním okně a umožňuje definovat jméno a adresu odkud má být soubor stažen (URL je třeba zadat včetně úvodního "http://"). Proměnná 'FileName' je navázána na druhou komponentu displej a umožňuje definovat jméno a cestu kam má být soubor uložen. Skript je proveden po stisku tlačítka 'Uložit soubor'.
Ve skriptu je pomocí příkazu CreateObject vytvořena instance objektu "MSXML2.XMLHTTP" a pomocí metod 'open' a 'send' tohoto objektu je navázáno spojení. K uložení souboru na disk jsou použity metody objektu "ADODB.Stream".
Databáze
Projekt AppendRecordToDb demonstruje použití příkazu RDB.AppendRecord, který vyvolá uložení aktuálních hodnot proměnných do definované datové tabulky.
Ve stanici System jsou nadefinovány proměnné ,LongInt, String a Word které reprezentují proměnné, jejiž hodnoty budou ukládány do datové tabulky. Ve stanici System je nadefinována proměnná RecordTimeStamp, která v okamžiku ukládání dat obsahuje aktuální čas (RSys.Now). Proměnná BlockSamplingData, je napojena na tlačítko ve vizualizačním okně.
Ve Správci datových tabulek je vytvořena tabulka Data1, která obsahuje tři položky datové tabulky napojené na odpovídající proměnné. Způsob vzorkování je zvolen "Řízené ze skriptů", zdroj časových značek je napojen na proměnnou RecordTimeStamp a stop bit na BlockSamplingData. Ve Správci skriptů je nadefinován Událostní skript SaveRecord, v rámci kterého je do proměnné RecordTimeStamp přiřazen aktuální čas a následně zavolána funkce RDB.AppendRecord. Skript je spuštěn pomocí tlačítka "Save record" z vizualizačního okna.
Projekt AppendRecordsToDb demonstruje ruční (náhodný) zápis dat do datové tabulky pomocí skriptu. Ve "Správci stanic" jsou definovány proměnné RecordTimeStamp, LongInt, String a Word, které definují jeden záznam datové tabulky "Data1".
Příklad obsahuje pět záznamů, jejichž data jsou uložena v proměnných typu pole (LongInt5, StringArray5 a WordArray5). Časová značka RecordTimeStamp je před zápisem záznamu do datové tabulky složena z položek proměnných MinuteArray5, HourArray5, DayArray5 a z konstant c_Month a c_Year. Správce stanic obsahuje také logickou proměnnou BlockSamplingData, která slouží k blokování zápisu do datové tabulky pokud je to třeba (proměnná je napojena na tlačítko "Block sampling data" a na položku "Stop bit" datové tabulky).
Datová tabulka má nastaveno "Vzorkování – Řízené ze skriptů" a "Zdroj časových značek – Proměnná RecordTimeStamp". To zajistí, že data jsou do datové tabulky zapsána pouze když je ve skriptu zavolána metoda AppendRecord a časová značka záznamu je definována proměnnou RecordTimeStamp (záznamy mohou být do datové tabulky přidávány náhodně – nemusejí být chronologicky řazeny).
Ve Správci skriptů je definován skript InitArrays, který je určen k inicializaci proměnných typu pole (skript je spuštěn po startu projektu prostřednictvím skriptu AfterStartProject). Skript SaveArray je spouštěn pomocí tlačítka "Save array of records"a vykonává samotný zápis dat do datové tabulky. V rámci "For cyklu" jsou nastaveny hodnoty proměnných RecordTimeStamp, Word, LongInt a String a zavolána metod RDB.AppendRecord. Data uložená v datové tabulce je možné zobrazit např. pomocí grafu nebo tabulkové sestavy.
Projekt RandomAccessToDataTable demonstruje ruční (náhodný) přístup (čtení i zápis) do datové tabulky typu DBase. Ve správci datových tabulek je vytvořena tabulka nazvaná 'Records', u které je parametr 'Způsob získávání dat' nastaven na 'Nedefinován' a parametr 'Archivní soubory' na záložce 'Upřesnit' je nastaven na 'Žádné'. Tabulka obsahuje položky Number, Length, Color a Material. Tyto položky jsou navázané na stejnojmenné proměnné různých datových typů. K položkám je ručně přistupováno pomocí skriptů. Obsah datové tabulky je možné prohlížet pomocí tabulkové sestavy Report1.
Ve správci skriptů je definován skript Init, který obsahuje definice procedur a funkcí (skript je vykonán pouze jednou ještě před prováděním ostatních skriptů). Na konci skriptu je pomocí příkazu RDb.CreateTableObject vytvořena instance objektu pro přístup k datové tabulce 'Records'. Např. pro přidání nového záznamu do datové tabulky (procedura AppendRecord) je třeba postupně zavolat metody OpenTable, Append, SetFieldValue, Post a CloseTable tohoto objektu. Podrobné informace o objektu TTable určeného pro přístup k datovým tabulkám je možné nalézt v nápovědě ke skriptům.
Projekt LogDataToSQLServer demonstruje využití externího SQL serveru k ukládání dat proměnných a jejich následné zobrazení ve formě grafu. Příklad vyžaduje ke svému běhu přístup k SQL serveru (MS SQL Server obsažený v Reliance 4 Add-On Packu).
Ve stanici System jsou nadefinovány proměnné typu Word. Jejich hodnoty jsou vzorkovány s periodou 5 sekund do datových tabulek "Pressures" a "Temperatures" definovaných ve Správci datových tabulek (typ databáze SQL). V Možnostech projektu na panelu SQL je definováno Připojení "SQLServer" (některé parametry připojení je třeba přizpůsobit). Ve Správci struktury projektu jsou připojeny datové tabulky a vybráno SQL připojení definované v Možnostech projektu.
Vizualizační okno obsahuje čtyři zadávací pole pro jednotlivé proměnné a dvě tlačítka k vyvolání grafů.
Projekt SQLFromScript podává příklad zápisu a čtení dat do/z databází prostřednictvím metod objektů "ADODB.Command" a "ADODB.Connection". V projektu jsou definovány skripty ReadDataFromSQLTable, WriteDataToSQLTable a Define. První dva skripty obsahují volání procedur definovaných ve skriptu Define, který je spouštěn při inicializaci procesu. Skript define obsahuje také definici řetězce "Connection string" (řetězec je třeba upravit podle SQL serveru daného počítače). Definované procedury demonstrují vykonání SQL příkazů SELECT a INSERT.
Pro verzi: 4.0.19Projekt ODBCFromScript ukazuje, jak přistupovat k ODBC databázím ze systému Reliance 4 pomocí skriptů. Projekt obsahuje skript Define, ktery definuje ukázkové procedury ReadDataFromSQLTable a WriteDataToSQLTable. Tyto procedury pracují s objektem "ADODB.Connection" a s odvozenými objekty. Dále projekt obsahuje skripty ReadDataFromSQLTable a WriteDataToSQLTable, které volají příslušné procedury definované ve skriptu Define. Jako skutečné parametry pro ConnectString a TableName se předávají konstanty c_ConnectString a c_TableName.
Konstanty jsou definovány ve skriptu Define a jejich hodnotu je nutné upravit podle potřeby. Jako pomůcku pro sestavení konstanty c_ConnectString je možné použít dialog "Vlastnosti Data Link", který lze vyvolat z dialogu "Možnosti projektu" (menu Projekt > Možnosti) příkazem "Editovat parametry připojení", pokud je v levé části dialogu "Možnosti projektu" vybrána položka SQL. Po potvrzení dialogu "Vlastnosti Data Link" je možné zkopírovat připojovací řetězec ze zadávacího pole "Parametry připojení" do schránky a vložit ho do skriptu Define jako hodnotu konstanty c_ConnectString.
Výměna dat
Projekt ExportToCSV demonstruje použití skriptů pro export archivních dat do textového souboru (CSV). Projekt obsahuje časový skript AfterMidnight, který je spouštěn pravidelně minutu po půlnoci (vykonání skriptu je možné vynutit pomocí tlačítka ve vizualizačním okně). Skript spouští skripty Temperatures_Air_ExportToCsv a Temperatures_Water_ExportToCsv, které volají proceduru ExportYesterdayArchiveDbTable s požadovanými parametry, pomocí které je vykonáno čtení s datové tabulky a export do souboru (procedura je definována ve skriptu Define). Projekt dále obsahuje skupinu proměnných typu SmallInt a dvě datové tabulky typu DBase s periodickým vzorkováním dat. Exportované soubory jsou ukládány do adresáře <Project>\History\Data\xxxx\ kde xxxx představuje rok.
Pro verzi: 4.0.19Projekt ImportFromCSV demonstruje využití skriptů pro import proměnných z textového souboru (CSV). Projekt obsahuje proměnné RoomNumber, Occupied, Date a Time do kterých jsou pomocí událostního skriptu ImportCsvFile nahrány hodnoty ze souboru. Vizualizační okno tlačítko, které spustí definovaný skript a čtyři komponenty Displej, ve kterých budou po vykonání skriptu zobrazeny importované hodnoty. Hodnoty jsou importovány ze souboru <Project>\Import.csv.
Pro verzi: 4.0.19Projekt ExportImportXLS demonstruje přístup k souborům (zápis a čtení) ve formátu MS Excel pomocí COM rozhraní (proto musí být na počítači současně s Reliancí nainstalován i MS Excel). Ve Správci stanic jsou nadefinovány proměnné Var_Float, Var_Int a Var_Str napojené na tři komponenty Displej v hlavním vizualizačním okně – je umožněna editace hodnot. Hodnoty těchto proměnných jsou pomocí skriptů exportovány nebo importovány do/z *.xls nebo *.xlsx souboru. Ve Správci skriptů jsou nadefinovány událostí skripty (aktivované stiskem příslušného tlačítka ve vizualizačním okně) ExportToExcel a ImportFromExcel. Exportovaný/importovaný soubor je obsažen v adresáři <Project> a je nazvaný "Values"; přípona souboru je závislá na verzi aplikace MS Excel.
V rámci skriptu ExportToExcel je nejprve vytvořen objekt 'Excel.Application' a postupně vytvořen nový sešit (WorkBook) a nový list (WorkSheet). Do požadovaných buněk vytvořeného listu jsou zapsány hodnoty pomocí funkce ‘Cells’. Vytvořený sešit je uložen voláním funkce 'SaveAs' a všechny vytvořené objekty jsou uvolněny z paměti.
Pomocí skriptu ImportFromExcel je po vytvoření objektu 'Excel.Application' otevřen soubor "Values“ pomocí funkce 'Open'. Dále je vybrán požadovaný list a pomocí opakovaného volání funkce 'Cells' načteny hodnoty uložené v tabulce.
Projekt DDE_Client demonstruje přenos dat mezi dvěma projekty Reliance pomocí DDE sdílení. Projekt DDE_Client je třeba spustit pomocí modulu Reliance Control (a současně spustit projekt DDE_Server pomocí modulu Reliance Control Server). Změna provedená ve vizualizačním projektu DDE_Server (zadání čísla) se projeví v projektu DDE_Client a naopak.
Ve Správci stanic je definována stanice R_CtrlSrv_DDEServer a vlastnost "DDE server" je nastavena na "R_CtlSrv" (jméno souboru DDE serveru bez přípony). Názvy proměnných ve stanici korespondují s názvy proměnných definovaných v projektu DDE_Server. Vlastnost "DDE item" je nastavena tak aby korespondovala s nastavením vlastnosti v projektu DDE_Server. Ve správci struktury projektu je stanice R_CtlSrv_DDEServer připojena k počítači DDEClient. Vlastnost "DDE topic" komunikačního kanálu obsahuje řetězec "DdeServer".
Projekt DDE_Server demonstruje přenos dat mezi dvěma projekty Reliance pomocí DDE sdílení. Projekt DDE_Server je třeba spustit pomocí modulu Reliance Control Server (a současně spustit projekt DDE_Client pomocí modulu Reliance Control). Změna provedená ve vizualizačním projektu DDE_Server (zadání čísla) se projeví v projektu DDE_Client a naopak.
Správce stanic obsahuje dvě virtuální stanice (T0_Server a T1_Server) s proměnnými v konfiguraci pro DDE sdílení. Ve Správci struktury projektu jsou tyto dvě virtuální stanice připojeny k počítači DDEServer.
Příklad CommWithExternalProgram demonstruje oboustranný přenos dat mezi systémem Reliance a externím programem pomocí COM rozhraní. Projekt obsahuje proměnné RandomValue a Seconds ve kterých jsou ukládány hodnoty vyčítané z externího programu a proměnnou RelianceValue, jejíž hodnota může být uživatelem změněna a následně předána externímu programu. Externí program je umístěn v "<Project>\Apps" a je spuštěn ihned po startu projektu (parametr "Možnosti projektu > Skripty > Ostatní > Po spuštění projektu" obsahuje skript který spustí program). Před prvním spuštěním projektu je třeba externí program spustit ručně, aby došlo k registraci daného COM objektu.
Hlavní vizualizační okno projektu obsahuje dvě tlačítka napojená na skripty sloužící ke spuštění a k ukončení externího programu. Okno dále obsahuje tři komponenty Displej navázané na proměnné RandomValue, Seconds a RelianceValue. Ve Správci skriptů jsou nadefinovány událostní skripty Create_GlobalObject a Free_GlobalObject určené ke spuštění a ukončení externího programu (ke spuštění programu je použita funkce 'CreateObject'). Dalším nadefinovaným skriptem je skript SendNewValue, který při změně hodnoty proměnné RelianceValue předá její hodnotu externímu programu (to je docíleno voláním funkce 'SetValue' externího programu). Poslední objekt definovaný ve Správci skriptů je periodický skript Read_ObjValues, který s periodou 0.3 vyčítá hodnoty z externího programu (k vyčtení hodnot jsou použity funkce GetRandomValue a GetSeconds externího programu).
Externí program, dodávaný spolu s příkladem zobrazuje dvě dynamicky generované proměnné (do vizualizace jsou vyčítány skriptem Read_ObjValues) a seznam hodnot, které byly externímu programu předány skriptem SendNewValue. Externí program je napsán ve vývojovém prostředí Borland Delphi (Pascal) a dodáván včetně zdrojových kódů (zdrojové kódy jsou obsaženy v archivu "<Project>\Main\Apps\Source\External.zip").
Projekt LogDataToFileAndDb demonstruje způsoby ukládání hodnot proměnných pomocí skriptu. Hlavní vizualizační okno obsahuje tři komponenty Displej (s hodnotami sin a cos úhlu periodicky měněného pomocí skriptu) a dvě tlačítka pro aktivaci ukládání hodnot (logování) do souboru nebo do datové tabulky. Data budou logována do souboru <Project>\History\Data\AngleData.txt nebo do datové tabulky AngleData (datová tabulka má nastaven způsob vzorkování na "Řízené ze skriptů"). Data uložená do datové tabulky je možné procházet pomocí Tabulkové sestavy AngleData.
Ve Správci skriptů je definován Událostní skript define, který je spouštěn před všemi ostatními skripty (má volbu "Spustit při inicializaci procesu" aktivní) a obsahuje definici konstant. Periodický skript Calc_and_log provádí pravidelnou inkrementaci úhlu (každých 200ms) a výpočet sin a cos tohoto úhlu. Skript obsahuje proceduru Log_to_file, která zajišťuje zápis dat do souboru a proceduru Log_to_database, která zajišťuje zápis aktuálních hodnot proměnných do datové tabulky AngleData.


Produkty


