Reliance 4 – ukázkové projekty ke stažení

Na této stránce jsou umístěny ukázkové projekty dodávané se SCADA/HMI systémem Reliance 4. Kliknutím na název projektu se zobrazí jeho detailní popis. Vlastní projekt je možné stáhnout kliknutím na příslušné tlačítko.


Všechny zde uvedené projekty jsou standardní součástí instalace systému Reliance 4.



Zobrazit/skrýt podrobnosti: zobrazit podrobnosti skrýt podrobnosti


Kompletní archiv

Typ

Název projektu

Změněno

Stažení

ZIP archiv, který obsahuje všechny ukázkové projekty vytvořené v systému Reliance 4.

9.6.2021

Stáhnout

V následujících tabulkách jsou umístěny jednotlivé projekty rozdělené do tematických skupin. Kliknutím na název projektu se zobrazí detailní informace k projektu. Vlastní projekt je pak možné stáhnout kliknutím na příslušné tlačítko.



Demo projekty

Typ

Název projektu

Změněno

Stažení

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, nizozemš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ů.

19.6.2009

Stáhnout

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 ústředního topení. 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 (pro jednoduchost bez hesla). Postupné vytvoření podobného projektu je součástí školení Reliance 4.

19.6.2009

Stáhnout

Interaktivní 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 z obrázku a indikátoru průběhu (seskupeno) a pohyb je zajištěn dynamickou změnou souřadnice X 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ánce 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ímž základě je možné vygenerovat graf nebo tabulkovou sestavu.

19.6.2009

Stáhnout

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 nainstalovaný SMS driver a připojen GSM modem (např. Siemens M20 Terminal).

Projekt obsahuje periodický skript StatusSMS a událostní skripty ReceivedSMS a SendSMS. Výběr typu připojeného GSM modemu včetně parametrů komunikace a výběru čísla servisního centra SMS se provádí u počítače ve Správci struktury projektu na záložce SMS.

4.4.2014

Stáhnout

Ukázkový projekt Tannery demonstruje využití SCADA/HMI 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 potrubím s ventily a čerpadly. Panel nástrojů obsahuje příkazy pro ovládání (Pozastavit, Restartovat, Receptura) nebo konfiguraci vizualizace (Nastavení). Volba Zrychlení umožňuje určit rychlost provádění simulace. Vizualizace běží v automatickém režimu (řízený pomocí skriptů).

19.6.2009

Stáhnout

Alarmy/události

Typ

Název projektu

Změněno

Stažení

Projekt SendAlarmsUsingGroups_Simple ukazuje, jak odesílat informace o alarmech/událostech určitým uživatelům na základě příslušnosti ke skupině alarmů/událostí. Informace o alarmech/událostech mohou být odesílány E-mailem nebo SMS zprávami v okamžiku jejich vzniku, zániku a kvitace.

V dialogu Možnosti projektu (Projekt > Alarmy/události > Skupiny) je definována skupina alarmů/událostí s názvem AlarmsToSend.

Ve Správci stanic je definována stanice PLC1. V ní jsou definovány alarmy TrivialAlarm1, SeriousAlarm1 a CriticalAlarm1, které je možné simulovat pomocí tlačítek ve vizualizačním okně. U každého z alarmů je určeno, zda patří do skupiny AlarmsToSend (záložka Upřesnit, parametr Skupiny alarmů/událostí), a to na základě závažnosti alarmu (TrivialAlarm1 tedy nepatří do skupiny AlarmsToSend, protože je nezávažný).

Ve Správci uživatelů jsou definováni 4 uživatelé. U každého z nich je určeno, zda má být informován o alarmech ze skupiny AlarmsToSend (záložka Oznamování, parametr Skupiny alarmů/událostí). Způsob odeslání informace je určen parametry Oznamovat E-mailem a Oznamovat SMS zprávou (záložka Oznamování). Část uživatelů (technici) je informována E-mailem a SMS zprávou, druhá část (ředitel a technický ředitel) je informována pouze E-mailem. Pro uživatele informované E-mailem je nutné zadat E-mailovou adresu (záložka Základní, parametr E-mail). Pro uživatele informované SMS zprávou je nutné zadat telefonní číslo (záložka Základní, parametr Telefon).

Ve Správci struktury projektu je definován počítač PC1. Na záložce Oznamování jsou zapnuty volby Oznamovat E-mailem, Oznamovat SMS zprávou, Při vzniku a Při zániku. Text zprávy obsahuje všechny podstatné informace a není nutné jej upravovat.

Pro odesílání informací E-mailem je nutné zadat parametry na záložce E-mail, především adresu SMTP serveru.

Pro odesílání informací SMS zprávou je nutné zapnout parametr Spustit ovladač pro SMS na záložce SMS a zadat další potřebné parametry.

29.5.2012

Stáhnout

Projekt SendAlarmsUsingGroups_TwoAreas ukazuje, jak odesílat informace o alarmech/událostech určitým uživatelům na základě příslušnosti ke skupinám alarmů/událostí. Informace o alarmech/událostech mohou být odesílány E-mailem nebo SMS zprávami v okamžiku jejich vzniku, zániku a kvitace.

V dialogu Možnosti projektu (Projekt > Alarmy/události > Skupiny) je definováno celkem 5 skupin alarmů/událostí. Skupiny jsou zavedeny podle dvou hledisek: závažnost alarmu (skupiny TrivialAlarms, SeriousAlarms, CriticalAlarms) a oblast, které se alarm týká (Area1, Area2).

Ve Správci stanic jsou definovány složky Area1 a Area2 vyjadřující oblasti, ve kterých se nachází příslušné stanice (PLC, telemetrické stanice apod). V každé složce je definována jedna stanice. V každé ze stanic jsou definovány alarmy TrivialAlarm1, SeriousAlarm1 a CriticalAlarm1, které je možné simulovat pomocí tlačítek ve vizualizačním okně. U každého z alarmů je určen výčet skupin, ke kterým přísluší (záložka Upřesnit, parametr Skupiny alarmů/událostí), a to na základě závažnosti alarmu a oblasti, do které patří příslušná stanice.

Ve Správci uživatelů jsou definováni uživatelé ve složkách Area1 a Area2. U každého z uživatelů je určen výčet skupin alarmů/událostí (záložka Oznamování, parametr Skupiny alarmů/událostí), o kterých má být uživatel informován. Výčet skupin závisí na závažnosti alarmu a oblasti, do které patří příslušný uživatel. Nezávažné alarmy (alarmy patřící do skupiny TrivialAlarms) nejsou posílány žádnému z uživatelů. Způsob odeslání informace je určen parametry Oznamovat E-mailem a Oznamovat SMS zprávou (záložka Oznamování). Část uživatelů (technici) je informována E-mailem a SMS zprávou, druhá část (ředitel a technický ředitel) je informována pouze E-mailem. Pro uživatele informované E-mailem je nutné zadat E-mailovou adresu (záložka Základní, parametr E-mail). Pro uživatele informované SMS zprávou je nutné zadat telefonní číslo (záložka Základní, parametr Telefon).

Ve Správci struktury projektu je definován počítač PC1. Na záložce Oznamování jsou zapnuty volby Oznamovat E-mailem, Oznamovat SMS zprávou, Při vzniku a Při zániku. Text zprávy obsahuje všechny podstatné informace a není nutné jej upravovat.

Pro odesílání informací E-mailem je nutné zadat parametry na záložce E-mail, především adresu SMTP serveru.

Pro odesílání informací SMS zprávou je nutné zapnout parametr Spustit ovladač pro SMS na záložce SMS a zadat další potřebné parametry.

9.5.2011

Stáhnout

Komponenty

Typ

Název projektu

Změněno

Stažení

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.

19.6.2009

Stáhnout

Projekt DataGrid_SelectItemDialog ukazuje použití komponenty Tabulka při vytvoření dialogu pro výběr položky ze seznamu. Dialog pro výběr lze vyvolat kliknutím na tlačítko Vybrat položku v hlavním okně (MainWindow). Po zavření dialogu se v hlavním okně zobrazí výsledky výběru

zda byla vybrána položka (Ano/Ne

hodnota proměnné System/SelItemFromList) a název vybrané položky (hodnota proměnné System/SelItemName).

Dialog pro výběr položky je realizován jako dialogové okno s názvem SelectItemDialog, které se zobrazuje ve výhradním režimu (modálně). V okně SelectItemDialog je vložena komponenta Tabulka a dvě tlačítka (OK a Storno). Komponenta Tabulka obsahuje jeden sloupec s vazbou na proměnnou System/ItemNames, která je typu Array of String a obsahuje seznam položek. Proměnná System/ItemNames se naplní hodnotami ve skriptu BeforeSelectItemDialog, který je spouštěn tlačítkem Vybrat položku. Výsledky výběru, tzn. hodnoty proměnných System/SelItemFromList a System/SelItemName, se nastaví ve skriptu AfterSelectItemDialog, který je spouštěn tlačítkem OK.

29.5.2012

Stáhnout

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 Display slouží k zobrazení vlastností proměnných ve větvi Tags. 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.

15.10.2014

Stáhnout

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 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 uzlu, 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ů.

15.10.2014

Stáhnout

Projekt DataTree_Localized je příklad použití lokalizovatelný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í lokalizovatelné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.

11.6.2012

Stáhnout

Projekt IPCamera_Axis demonstruje použití komponenty IP kamera Axis k zobrazení a záznamu 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í instalátoru Reliance Add-On Pack).

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.

19.6.2009

Stáhnout

Projekt IPCamera_Pelco demonstruje použití komponenty IP kamera Pelco k zobrazení dat získaných z IP kamery Pelco připojené k počítači. Příklad vyžaduje nainstalované ovladače pro danou IP kameru (ovladače jsou součástí instalátoru Reliance Add-On Pack).

Ve stanici System je nadefinována proměnná standby typu Bool. Vizualizační okno obsahuje komponentu IP kamera Pelco a jedno tlačítko. V parametrech komponenty IP kamera Pelco na záložce Funkce je třeba nastavit RTSP URL.

16.11.2012

Stáhnout

Projekt IPCamera_Vivotek demonstruje použití komponenty IP kamera Vivotek k zobrazení a záznamu 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í instalátoru Reliance Add-On Pack).

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 komponenty IP kamera Vivotek na záložce Funkce je třeba nastavit IP adresu/URL a přihlašovací údaje pro připojenou kameru.

19.6.2009

Stáhnout

Projekt RealTimeChart_Stacked je příklad použití komponenty Plovoucí diagram k zobrazení součtového horizontálního sloupcového grafu. 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 (Řady > Parametry > Typ).

2. Definovat parametr Řady > Data > Hodnota (X, Y) pro jednotlivé body grafu tak, jak ukazuje příklad.

3. Zvolit parametr Nad sebou (parametry komponenty Statické > Parametry > Řady > Formát > Násobný sloupec).

19.6.2009

Stáhnout

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.

19.6.2009

Stáhnout

Databáze

Typ

Název projektu

Změněno

Stažení

Projekt AppendRecordsToDb demonstruje použití procedury RDb.AppendRecord pro přidání skupiny záznamů do datové tabulky. 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 (LongArray5, 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á parametr Vzorkování nastaven na Řízené ze skriptů (procedurou RDb.AppendRecord) a parametr Zdroj časových značek je nastaven na Proměnná (RecordTimeStamp). To zajistí, že data jsou do datové tabulky zapsána pouze tehdy, když je ve skriptu zavolána metoda RDb.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ě – nemusí 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 metoda RDb.AppendRecord. Data uložená v datové tabulce je možné zobrazit např. pomocí grafu nebo tabulkové sestavy.

19.6.2009

Stáhnout

Projekt AppendRecordToDb demonstruje použití procedury RDb.AppendRecord pro přidání nového záznamu do datové tabulky.

Ve stanici System jsou nadefinovány proměnné LongInt, String a Word, které reprezentují proměnné, jejichž hodnoty budou ukládány do datové tabulky. Dále je zde 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é. Zvolený způsob vzorkování je Řízené ze skriptů (procedurou RDb.AppendRecord), 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 procedura RDb.AppendRecord. Skript je spuštěn pomocí tlačítka Save record z vizualizačního okna.

19.6.2009

Stáhnout

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 instalátoru Reliance Add-On Pack).

Ve stanici System jsou nadefinovány čtyři 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 dialogu Možnosti 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 dialogu Možnosti projektu.

Vizualizační okno obsahuje čtyři zadávací pole pro jednotlivé proměnné a dvě tlačítka k vyvolání grafů.

19.6.2009

Stáhnout

Projekt ODBCFromScript ukazuje, jak přistupovat k ODBC databázím ze SCADA/HMI systému Reliance 4 pomocí skriptů. Projekt obsahuje skript Define, který 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 na panelu SQL v dialogu Možnosti projektu příkazem Editovat parametry připojení. 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.

19.6.2009

Stáhnout

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 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.

15.2.2009

Stáhnout

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.

19.6.2009

Stáhnout

Výměna dat

Typ

Název projektu

Změněno

Stažení

Příklad CommWithExternalProgram demonstruje oboustranný přenos dat mezi SCADA/HMI 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 adresáři <Project>\Main\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, která jsou napojena 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á tuto hodnotu externímu programu (toho 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").

19.6.2009

Stáhnout

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_CtlSrv_DDEServer a parametr DDE server je nastaven 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. Parametr DDE Item je nastaven tak, aby korespondoval s nastavením parametru v projektu DDE_Server. Ve Správci struktury projektu je stanice R_CtlSrv_DDEServer připojena k počítači DDEClient. Parametr DDE topic komunikačního kanálu obsahuje řetězec DdeServer.

19.6.2009

Stáhnout

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.

19.6.2009

Stáhnout

Projekt 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ě se SCADA/HMI systémem Reliance nainstalován i MS Excel). Ve Správci stanic definované proměnné Var_Float, Var_Int a Var_Str jsou 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álostní skripty (aktivované stiskem příslušného tlačítka ve vizualizačním okně) ExportToExcel a ImportFromExcel. Exportovaný/importovaný soubor s názvem Values je obsažen v adresáři <Project>; přípona souboru je závislá na verzi aplikace MS Excel.

V rámci skriptu ExportToExcel je nejprve vytvořen objekt "Excel.Application" a poté postupně 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 funkcí Open. Dále je vybrán požadovaný list a pomocí opakovaného volání funkce Cells načteny hodnoty uložené v tabulce.

19.6.2009

Stáhnout

Projekt ExportHistDataToCSV ukazuje, jak vyexportovat historická data z relační databáze do textového souboru ve formátu CSV. Předpokládá se, že na počítači, kde je spuštěn tento projekt, je nainstalován Microsoft SQL Server s názvem instance SQLEXPRESS a přihlašovacími údaji, které jsou přednastaveny při instalaci SQL Serveru z Reliance Add-On Packu. Pokud byl SQL Server nainstalován jiným způsobem, je nutné upravit parametry připojení (Možnosti projektu > SQL) a hodnotu konstanty c_ConnectionString ve skriptu Define_DataExport. Ve Správci datových tabulek je definována datová tabulka IncrementalData, jejíž data ukládá SCADA systém Reliance do tabulky IncData v databázi R_ExportHistDataToCSV v Microsoft SQL Serveru spuštěném na stejném počítači (databázi i tabulku vytvoří systém Reliance automaticky při prvním spuštění projektu).

Export historických dat do souboru je řešen pomocí skriptů definovaných ve Správci skriptů. Vlastní export dat se provádí voláním procedury ExportHistDataToCSV, která je definována ve skriptu Define_DataExport. Jako parametr se jí předává název fyzické tabulky (v tomto případě "IncData", viz skript ExportHistDataToCSV). Stejným způsobem by bylo možné exportovat historická data z libovolné jiné tabulky, pokud by jich v databázi bylo více (stačilo by proceduře jako parametr předat název této tabulky).

Exportovat je možné buď všechna data uložená v tabulce, nebo data z určitého období (časový rozsah). Toto lze nastavit ve vizualizačním okně MainWindow. Pro export všech dat vypněte volby Počátek a Konec. Jinak zapněte volby Počátek a/nebo Konec a zadejte počátek a/nebo konec časového rozsahu. Export dat je možné vyvolat kliknutím na tlačítko Exportovat (to spustí skript ExportHistDataToCSV).

4.6.2015

Stáhnout

Projekt 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. Ve vizualizačním okně je umístěna komponenta 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.

19.6.2009

Stáhnout

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á způsob vzorkování nastaven na Řízené ze skriptů (procedurou RDb.AppendRecord)). 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 podprocesu aktivní) a obsahuje definici konstant. Periodický skript Calc_and_log provádí pravidelnou inkrementaci úhlu (každých 200 ms) 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.

19.6.2009

Stáhnout

Stanice

Typ

Název projektu

Změněno

Stažení

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) a aktuální binární hodnoty (Bit1, Bit2, Bit3), a se skupinou proměnných typu pole používaných k vykreslení plovoucího grafu. 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 tehdy, 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í.

19.6.2009

Stáhnout

Projekt BACnet je ukázkou připojení stanice komunikující protokolem BACnet. BACnet není pouze definice komunikačních služeb. Mimo jiné definuje také sadu objektů a jejich vlastností, prostřednictvím kterých jsou data prezentována. V tomto projektu jsou použity proměnné reprezentující vlastnosti všech objektů, které Reliance podporuje.

Ve Správci stanic je definována stanice BACnet1, ve které jsou definovány proměnné, rozdělené do složek podle jednotlivých BACnet objektů. Složka vždy obsahuje proměnné, jejichž hodnota umožňuje čtení či změnu vlastností daného objektu.

Typ objektu je určen parametrem Typ objektu, vlastnost je určena parametrem Identifikátor vlastnosti. Rozlišení objektů je zajištěno parametrem Číslo instance. Datový typ proměnné je automaticky měněn podle vybrané vlastnosti, lze jej však dodatečně změnit. Pro vyzkoušení příkladu s připojením k reálné stanici BACnet je třeba tyto parametry upravit podle skutečného programu ve stanici. V programu nemusí být použity všechny objekty a čísla instancí mohou být odlišná. Ne všechny vlastnosti jsou v BACnet objektech povinné. Nemusí se tedy všechny proměnné podařit aktualizovat.

Po spuštění projektu je v levé části zobrazena navigační lišta s tlačítky sloužící k přepínání mezi okny vizualizace. Jednotlivá okna obsahují displeje a tabulky zobrazující vyčtená data daných objektů, vždy podle datových typů jednotlivých proměnných.

9.7.2012

Stáhnout

Projekt DeviceCommErrorAlarm ukazuje, jak nahradit alarm automaticky generovaný při poruše spojení se stanicí vlastním alarmem definovaným ve Správci stanic. Tento alarm zůstane aktivní po celou dobu poruchy spojení. Tím se liší od alarmu, který Reliance generuje při poruše spojení se stanicí automaticky. Ten má charakter události (došlo k poruše spojení, ale dále se již nesleduje, kdy porucha pomine – to je nevýhoda).

Ve Správci stanic je ve stanicích Modbus1 a Modbus2 definována proměnná CommError typu Bool. Jde o vnitřní proměnnou (není to fyzická proměnná z PLC). Ve stanicích Modbus1 a Modbus2 je dále definován alarm CommError s vazbou na zmíněnou proměnnou. Alarm se vyvolá při náběžné hraně této proměnné.

Ve Správci struktury projektu jsou stanice Modbus1 a Modbus2 připojeny k počítači PC1. Parametry komunikace jsou definovány prostřednictvím objektu Channel1, který představuje komunikační kanál. Na záložce Upřesnit u objektu Channel1 jsou vybrány skripty, které se mají spustit při navázání, poruše a obnovení spojení s příslušnou stanicí. Do těchto skriptů se automaticky předává úplný název komunikačního kanálu (název stanice/název kanálu, např. Modbus1/Channel1). Tato informace je ve skriptech dostupná jako hodnota vlastnosti SenderName. Díky tomu je možné pro komunikační kanály obou stanic vybrat stejné skripty.

Ve Správci skriptů je definován skript Define, který obsahuje definici procedury SetDeviceCommError. Na záložce Upřesnit ve vlastnostech tohoto skriptu je zapnuta volba Spustit při inicializaci podprocesu, která zajistí spuštění daného skriptu ještě před spuštěním všech ostatních skriptů běžících v daném podprocesu (vlákně). Procedura SetDeviceCommError se volá ze skriptu DeviceCommError, který se vykoná vždy při poruše spojení se stanicí, a ze skriptu DeviceCommStarted, který se vykoná vždy při navázání nebo obnovení spojení se stanicí. Procedura SetDeviceCommError má tyto parametry:

FullChannelName: úplný název komunikačního kanálu (název stanice/název kanálu, např. Modbus1/Channel1)

CommError: hodnota True nebo False (udává, zda porucha spojení vznikla nebo zanikla)

Procedura SetDeviceCommError nejdříve rozloží hodnotu parametru FullChannelName na název stanice a název kanálu a následně nastaví vnitřní proměnnou CommError ve stanici na příslušnou hodnotu voláním metody RTag.SetTagValue. Na základě hodnoty proměnné CommError se vygeneruje nebo ukončí příslušný alarm.

4.4.2014

Stáhnout

Projekt Generic_SimpleText demonstruje připojení stanice Generic k vizualizaci s účelem vyčtení dat z libovolného zařízení ve formě řetězce. Ve Správci stanic je definována stanice Generic1 a v ní speciální proměnné, prostřednictvím kterých je vlastní komunikace realizována.

Hodnota proměnné InCount určuje počet znaků (bajtů) přijatých do přijímacího bufferu.

Proměnná InBuffer je pole bajtů obsahující přijatá data.

Proměnná InString je řetězec obsahující přijatá data ve formě textu.

Hodnota proměnné OutCount určuje počet odesílaných znaků (bajtů) z odesílacího bufferu.

Proměnná OutBuffer je pole bajtů obsahující data určená k odeslání.

Hodnota proměnné Control řídí odesílání dat.

V tomto příkladu nejsou odesílána žádná data, řídicí proměnné Control a OutCount jsou zde použity pouze pro otevření komunikačního kanálu.

Hlavní okno vizualizace obsahuje tlačítko pro otevření komunikačního kanálu. Toho je docíleno nastavením řídicí proměnné Control prostřednictvím skriptu do logické 1 současně s nulovým počtem odesílaných znaků v proměnné OutCount.

Komponenty Displej zobrazují počet přijatých znaků a přijatá data ve formě textového řetězce.

Druhé tlačítko slouží k nulování počtu přijatých dat a vymazání přijímacího bufferu.

13.6.2012

Stáhnout

Projekt Generic_Teco je ukázkou implementace komunikačního protokolu a připojení stanice prostřednictvím komunikačního driveru Generic. Pro demonstraci je zvolen komunikační protokol EPSNET stanice Tecomat.

Ve Správci stanic je definována stanice Generic1 a v ní speciální proměnné, prostřednictvím kterých je vlastní komunikace realizována.

Hodnota proměnné InCount určuje počet znaků (bajtů) přijatých do přijímacího bufferu.

Proměnná InBuffer je pole bajtů obsahující přijatá data.

Hodnota proměnné OutCount určuje počet odesílaných znaků (bajtů) z odesílacího bufferu.

Proměnná OutBuffer je pole bajtů obsahující data určená k odeslání.

Hodnota proměnné Control řídí odesílání dat.

Proměnná PacketName slouží ke snazší identifikaci komunikačního paketu ve výpisu komunikací a případně v logovacím souboru. Není-li použita, je ve výpisu zobrazen implicitní název Packet.

Dále je zde definována vnitřní proměnná Ethernet, jejíž hodnota určuje, zda komunikace probíhá prostřednictvím ethernetu, či prostřednictvím sériové linky. Tuto hodnotu je třeba zohlednit při tvorbě vlastních komunikačních paketů.

Hlavní okno vizualizace obsahuje ovládací prvky určené k parametrizaci a řízení vlastní komunikace. Lze odeslat komunikační paket pro navázání spojení, paket pro vyčtení bloku dat z libovolného registru a adresy, paket pro čtení/zápis z/do proměnné vybraného datového typu z libovolné adresy. Stiskem příslušného tlačítka dojde prostřednictvím skriptu k sestavení komunikačního paketu podle zadaných parametrů a k jeho odeslání do komunikačního kanálu.

Ve střední častí okna jsou zobrazena odeslaná a přijatá data ve formě tabulky. V pravém horním rohu jsou zobrazeny hodnoty řídicích a stavových proměnných.

V pravém dolním rohu jsou zobrazeny kontrolní proměnné ležící na náhodně vybraných adresách, jejichž hodnoty se vyčítají prostřednictvím nativního komunikačního driveru Teco.

Pro správnou funkci ukázkového příkladu je třeba nastavit hodnotu parametru Ethernet v souladu s volbu typu komunikačního kanálu ve Správci struktury projektu.

13.6.2012

Stáhnout

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 komponentu 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. Tento skript 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 Považovat neplatnou hodnotu proměnné za chybu (Možnosti projektu > Skripty > Ostatní). Procedura je i s potřebnými parametry pravidelně volána z periodického skriptu UpdateOPCDeviceCommStatus (perioda 1 s).

19.6.2009

Stáhnout

Projekt OPC_RemoteServer demonstruje připojení runtime modulu Reliance k OPC serveru, který neběží lokálně. Ve Správci stanic je založena stanice OPC1 typu OPC, pro kterou je vybrán OPC server (parametr OPC server Prog ID), 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 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ěží (RemotePC). Počítač RemotePC 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í).

Pozn.: 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í SCADA/HMI systému Reliance nebo pomocí tenkých klientů Reliance.

4.4.2014

Stáhnout

Projekt Teco_Databox demonstruje přenos dat z/do 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á mají být přenášena 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).

19.6.2009

Stáhnout

Projekt Teco_ModemComm demonstruje proces připojení stanice Teco 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 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ěnné 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é řídicí 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.

19.6.2009

Stáhnout

Vkládané objekty

Typ

Název projektu

Změněno

Stažení

Projekt BoilerRoom_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 (např. čerpadlo a hořák), měřených veličinách (teplota vody a vzduchu) a parametrech regulace jsou uspořádány do datových struktur (Pump, Burner, MeasuredTemperature, ControlParameters

viz Správce datových struktur). Tyto dílčí datové struktury jsou potom obsaženy ve složitějších datových strukturách: ve struktuře Boiler, která odpovídá kotli, a ve struktuře BoilerRoom, která odpovídá celé kotelně. Na základě datové struktury BoilerRoom jsou nadefinovány strukturované proměnné s názvem Data ve stanicích BoilerRoom1 a BoilerRoom2 (viz Správce stanic). Datovým strukturám Pump, Burner, MeasuredTemperature a ControlParameters odpovídají příslušné šablony oken. Tyto dílčí šablony jsou potom obsaženy ve složitějších šablonách (Boiler a 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á typu BoilerRoom.

4.4.2014

Stáhnout

Projekt MotorDetails_WindowTemplate je příkladem použití datových struktur a šablon oken. Hlavní okno vizualizace (MotorOverview) je přehledová obrazovka, ve které jsou zobrazeny symboly 4 motorů. Dvojitým kliknutím na symbol motoru lze vyvolat dialogové okno s podrobnými informacemi o příslušném motoru (ID, stav, otáčky) a ovládacími prvky (požadované otáčky, zapnutí/vypnutí motoru).

Informace o zařízení typu motor jsou uspořádány do datové struktury Motor (viz Správce datových struktur). Této datové struktuře odpovídá stejnojmenná šablona okna (viz Správce oken, složka Templates). Na základě datové struktury Motor jsou nadefinovány strukturované proměnné s názvem Motor1, Motor2, Motor3 a Motor4 ve stanici System (viz Správce stanic). Šablona Motor je následně opakovaně použita v modálních vizualizačních oknech Motor1, Motor2, Motor3 a Motor4 (viz Správce oken, složka Motors) s tím, že při konkrétním použití šablony okna je již určena odpovídající strukturovaná proměnná typu Motor.

29.5.2012

Stáhnout

Síťové aplikace

Typ

Název projektu

Změněno

Stažení

Projekt BoilerRoom_ClientServer rozšiřuje demo BoilerRoom o síťovou funkcionalitu. Ve Správci struktury projektu byl vytvořen nový počítač Client1. K počítači Client1 jsou připojeny uživatelé, grafy a tabulkové sestavy definované v projektu, aby byly přístupné i na tomto počítači. Dále byla 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 jsou prostřednictvím tohoto propojení připojeny stanice BoilerRoom1 a BoilerRoom2 a datové tabulky BoilerRoom1 a BoilerRoom2 (přenos dat je nastaven na Síťový namísto Přímý a adresáře jsou nastaveny na $(HistoryData)\Client1\). Parametr Server1 > Základní > Adresa je nastaven na lokální adresu počítače 127.0.0.1 (pro spuštění projektu na různých počítačích v síti je nutné nastavit skutečnou IP adresu serverového počítače).

Ke spuštění projektu na definovaných počítačích je vhodné použít zástupce vytvořené pomocí příkazu Projekt > Vytvořit zástupce (Client1 – modul Reliance Control, Server1 – modul Reliance Control Server).

19.6.2009

Stáhnout

Projekt BoilerRoom_MultipleServers rozšiřuje příklad BoilerRoom_ClientServer o druhý počítač typu server (Server2), který komunikuje se stanicí BoilerRoom2. Počítač Server1 komunikuje v tomto případě pouze se stanicí BoilerRoom1. Každý ze serverů tedy poskytuje klientskému počítači data a alarmy/události jiné stanice.

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í projektu na definovaných počítačích je vhodné použít zástupce vytvořené pomocí příkazu Projekt > Vytvořit zástupce (Client1 – modul Reliance Control, Server1 a Server2 – modul Reliance Control Server).

19.6.2009

Stáhnout

Projekt BoilerRoom_RedundantServers rozšiřuje příklad BoilerRoom_ClientServer o další počítač typu server (Server2) a další počítač typu klient (Client2). Počítače jsou definovány ve Správci struktury projektu.

Počítače Server1 a Server2 jsou redundantní servery. Server2 je sekundární server pro Server1 (primární server). Příslušné parametry jsou nastaveny u počítače Server2 na záložce Redundance (funkce redundance se aktivuje volbou Sekundární server). Pouze server, který má aktivní roli, zajišťuje v tomto projektu následující funkce: simulace dat stanic pomocí skriptu (obdoba komunikace se stanicemi v reálném projektu), získávání historických dat, generování alarmů/událostí. Za normálních okolností (tj. pokud oba servery běží a je mezi nimi navázáno spojení) má aktivní roli primární server. Sekundární server má roli zálohy – neprovádí simulaci dat, veškerá data (aktuální i historická) a alarmy/události získává od primárního serveru (vůči primárnímu serveru se chová jako klient). V případě výpadku primárního serveru automaticky převezme aktivní roli sekundární server. Jakmile se obnoví spojení s primárním serverem, přejde sekundární server opět do role zálohy.

Počítač Client2 byl vytvořen duplikací počítače Client1. Skupina síťových propojení Servers počítačů Client1 a Client2 byla rozšířena tak, aby obsahovala i propojení na Server2. Priorita propojení je nastavena tak, aby se po spuštění runtime modulů na všech počítačích připojil Client1 přednostně k počítači Server1 a Client2 k počítači Server2. Tímto způsobem je realizováno rozkládání zátěže (load balancing). Pokud není jeden ze serverů dostupný (např. Server1 je ukončen), jeho klient se automaticky připojí k druhému serveru. Pokud je klient připojen k serveru, který není jeho upřednostňovaným serverem, pravidelně testuje dostupnost serveru s vyšší prioritou. Stav spojení je možné sledovat v Systémových informacích na záložce Síťová propojení.

4.6.2013

Stáhnout

Projekt 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 GetThinClientList. Skript je spouštěn každých 5 s 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ě přeneseny do proměnných typu pole (ThinClients_xxxx), aby mohly být zobrazeny komponentou Tabulka.

19.6.2009

Stáhnout

Projekt ThinClientRequestHandlingFromScript ukazuje, jakým způsobem je možné obsloužit požadavky od tenkých klientů (Reliance Web Client nebo Reliance Smart Client). V dialogu Možnosti projektu (sekce Web) je zvolen skript HandleThinClientRequest, který bude vykonáván při přijetí požadavku od tenkého klienta datovým serverem (Reliance Server nebo Reliance Control Server). Informace o požadavku klienta (typ požadavku, jedinečný identifikátor relace, IP adresa klienta atd.) se získají pomocí funkce RScr.GetCurrentScriptDataEx. Tyto informace se zapíší do odpovídajících proměnných ve stanici System. Hodnoty těchto proměnných jsou zobrazovány v komponentách Displej ve vizualizačním okně.

5.8.2010

Stáhnout

Sestavy

Typ

Název projektu

Změněno

Stažení

Projekt CustomReport_ADODatabase demonstruje použití uživatelské sestavy typu FastReport 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.

19.6.2009

Stáhnout

Projekt CustomReport_ADOChart demonstruje použití uživatelské sestavy typu FastReport 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á typu 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 TemperatureReport, 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.

6.10.2009

Stáhnout

Projekt CustomReport_AVG demonstruje použití uživatelské sestavy typu FastReport k dopočítání a zobrazení hodinových průměrů z dat uložených v databázi SQL ve formě tabulky. Ve Správci stanic je definována pracovní proměnná ActFlow. 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 jsou založeny dvě sestavy. Sestava CustomReport_RealData slouží k zobrazení všech uložených dat. Sestava CustomReport_AVG slouží k dopočítání a zobrazení hodinových průměrů archivované pracovní proměnné za posledních 24 hodin. 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 hodnotu pracovní proměnné.

1.12.2011

Stáhnout

Projekt CustomReport_dBASE demonstruje použití uživatelské sestavy typu FastReport k tisku hodnot uložených v databázi dBASE ve formě tabulky. Ve Správci stanic je ve stanici System definována proměnná DatabaseName. Pomocná proměnná DatabaseName slouží k uložení adresáře datové tabulky dBASE. Ve Správci skriptů je definován skript Init, který slouží k nastavení adresáře datové tabulky dBASE do proměnné DatabaseName. Tento skript je spuštěn po startu projektu. Ve Správci uživatelských sestav je definována sestava Report, která obsahuje položku DatabaseName napojenou na stejnou proměnnou ze stanice System. K vytvoření vazby uživatelské sestavy na datovou tabulku je použita komponenta BDETable. Parametr DatabaseName komponenty BDETable se nastaví pomocí položky uživatelské sestavy DatabaseName. Jméno souboru vybrané datové tabulky je nastaveno v parametru TableName.

V runtime režimu lze z vizualizačního okna projektu zobrazit uživatelskou sestavu pomocí tlačítka Zobrazit sestavu.

19.3.2013

Stáhnout

Projekt CustomReport_DynamicPicture demonstruje použití uživatelské sestavy typu FastReport k tisku vybraného obrázku ze seznamu. Použité obrázky nejsou uloženy v sestavě, ale načítají se dynamicky ze souboru při generování sestavy. Seznam obrázků je definován ve vizualizačním okně v komponentě Rozbalovací nabídka. Soubory obrázků ze seznamu jsou uloženy v podadresáři Pictures projektu.

Ve Správci stanic jsou definovány proměnné PictureFileName, PictureName a PictureDir, které slouží k sestavení názvu souboru obrázku. Ve Správci skriptů jsou definovány dva skripty. Skript Init slouží k nastavení adresáře se soubory obrázků do proměnné PictureDir. Skript PictureFileName slouží k sestavení cesty k souboru vybraného obrázku.

Ve vizualizačním okně jsou umístěny dvě komponenty Displej, které zobrazují hodnoty proměnných PictureDir a PictureFileName. Komponenta Rozbalovací nabídka slouží k výběru obrázku. V komponentě Obrázek je zobrazen vybraný obrázek.

Ve Správci uživatelských sestav je definována sestava typu FastReport. U sestavy je definována položka PictureFileName, která má vazbu na proměnnou PictureFileName. V sestavě je na pracovní ploše stránky vložen objekt obrázku. Pomocí skriptu je pak při generování sestavy do tohoto objektu nahrán vybraný obrázek.

13.6.2012

Stáhnout

Projekt CustomReport_EquithermalCurve je jednoduchým příkladem tisku grafu ekvitermní křivky. Používá uživatelské sestavy typu FastReport. 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 Report1 typu FastReport, jejíž položky odpovídají 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. 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:

with ECChart do

begin

  SeriesData[0].XSource :=VarToStr(<TempA$6>)+';'+VarToStr(<TempB$7>);

  SeriesData[0].YSource :=VarToStr(<TempEkvA$10>)+';'+VarToStr(<TempEkvB$11>);

end;

19.6.2009

Stáhnout

Projekt CustomReport_Form demonstruje použití uživatelské sestavy typu FastReport 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 Zadávací 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ým 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 lokalizovatelných řetězců.

19.6.2009

Stáhnout

Projekt 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 <Project>\Main\CustomReports. 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ží ke změně proměnných uživatelské sestavy.

19.6.2009

Stáhnout

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 definována textová sestava TextReport, která obsahuje pět položek napojených na odpovídající proměnné ze stanice System. Šablona uživatelské sestavy Template.txt je umístěna v adresáři <Project>\Main\CustomReports. V runtime režimu lze ve vizualizačním okně projektu měnit výšku hladiny ve vodojemech.

19.6.2009

Stáhnout

Projekt CustomReport_AlarmsEvents_File je jednoduchým příkladem použití uživatelské sestavy k zobrazení alarmů/událostí ze souborové databáze. V projektu je ve stanici System definována hlavní proměnná Level a pomocná proměnná RAEFileName. Proměnná Level má pevně stanovené provozní meze. Pomocná proměnná RAEFileName slouží k uložení cesty k aktuálnímu souboru databáze alarmů/událostí. Ve stanici System jsou dále nadefinovány čtyři alarmy, které vzniknou při překročení provozních mezí proměnné Level. Ve Správci skriptů je definován skript Init, který slouží k nastavení cesty k souboru do proměnné RAEFileName. Tento skript je spuštěn po startu projektu. Ve Správci uživatelských sestav je definována sestava Report – basic, která obsahuje položku RAEFileName napojenou na stejnou proměnnou ze stanice System.

V Návrháři sestav FastReport je pro získání dat z databáze použit objekt RAETable, kterému je pomocí skriptu FastReportu nastaven parametr FileName na hodnotu položky RAEFileName. Vzhled tabulky alarmů/událostí je určen dvěma pruhy. Horní pruh PageHeader definuje záhlaví sloupců a spodní pruh MasterData definuje zobrazovaná data. K zobrazení dat v pruzích jsou použity objekty typu TfrxRAEMemoView (objekt textu sloupce tabulky alarmů/událostí). Pro konfiguraci zobrazené tabulky jsou v těchto objektech důležité parametry RAEDataField a RAETitle. Parametr RAEDataField určuje datovou položku (sloupec) záznamu alarmu/události a parametr RAETitle určuje, zda se má místo dat zobrazit titulek datové položky. Parametr RAETitle je aktivní v pruhu PageHeader.

V runtime režimu lze ve vizualizačním okně projektu měnit hodnotu proměnné Level.

19.11.2012

Stáhnout

Projekt CustomReport_AlarmsEvents_SQL je jednoduchým příkladem použití uživatelské sestavy k zobrazení alarmů/událostí uložených v SQL databázi. V projektu je ve stanici System definována proměnná Level, která má pevně stanovené provozní meze. Ve stanici System jsou dále nadefinovány čtyři alarmy, které vzniknou při překročení provozních mezí proměnné Level. Ve Správci uživatelských sestav je definována sestava Report – basic.

V Návrháři sestav FastReport jsou pro získání dat z databáze použity objekty ADODatabase1 a ADOQuery1. Nastavení připojení k SQL databázi definované v objektu ADODatabase1 je automaticky synchronizované s nastavením definovaným ve SCADA/HMI systému Reliance v dialogu Možnosti projektu. Vzhled tabulky alarmů/událostí je určen dvěma pruhy. Horní pruh PageHeader definuje záhlaví sloupců a spodní pruh MasterData definuje zobrazovaná data. K zobrazení dat v pruzích jsou použity objekty typu TfrxRAEMemoView (objekt textu sloupce tabulky alarmů/událostí). Pro konfiguraci zobrazené tabulky jsou v těchto objektech důležité parametry RAEDataField a RAETitle. Parametr RAEDataField určuje datovou položku (sloupec) záznamu alarmu/události a parametr RAETitle určuje, zda se má místo dat zobrazit titulek datové položky. Parametr RAETitle je aktivní v pruhu PageHeader.

V runtime režimu lze ve vizualizačním okně projektu měnit hodnotu proměnné Level.

19.11.2012

Stáhnout

Skripty

Typ

Název projektu

Změněno

Stažení

Projekt AccessDLLFromScript ukazuje, jak ze skriptu volat funkce z DLL knihoven. Jazyk VBScript, který se používá pro psaní skriptů v projektech SCADA/HMI systému Reliance, sám o sobě neumožňuje volat funkce z DLL knihoven. Toto omezení je možné obejít použitím utility DynaCall, která dokáže za běhu vytvořit objektovou obálku okolo libovolné DLL knihovny tak, aby bylo možné volat její funkce i z VBScriptu.

Postup instalace utility DynaCall:

1. Rozbalit ZIP archiv DynaCall.zip (z adresáře AccessDLLFromScript\Main\Apps) do libovolného adresáře, např. c:\Program Files (vznikne adresář c:\Program Files\DynaCall).

2. Z příkazového řádku (cmd.exe) zaregistrovat soubor c:\Program Files\DynaCall\dynwrap.dll příkazem: regsvr32.exe "c:\Program Files\DynaCall\dynwrap.dll".

Pozn.: Pokud příkaz z bodu 2 skončí chybou, je nutné použít tento postup:

3. Vytvořit zástupce na program cmd.exe.

4. Z lokálního menu zástupce vybrat příkaz Spustit jako správce a potvrdit spuštění programu.

5. Opakovat bod 2.

Projekt obsahuje skript Example1_user32.dll_MessageBox, ze kterého je zřejmé, jakým způsobem lze ze skriptů volat funkce DLL knihoven. Skript ukazuje volání funkce MessageBoxA z knihovny user32.dll (jedna ze základních DLL knihoven systému Windows) a je možné ho spustit kliknutím na tlačítko v hlavním okně projektu.

Ve skriptu je použit tento postup:

1. Vytvořit objekt DLLWrapper příkazem Set DLLWrapper = CreateObject("DynamicWrapper").

2. Zaregistrovat příslušnou funkci voláním metody Register.

3. Zavolat funkci jako metodu objektu DLLWrapper, např. Result = DLLWrapper.MessageBoxA.

Stejně jako je zaregistrována funkce MessageBoxA je nutné zaregistrovat všechny další funkce, které je potřeba volat.

Důležité:

1. Objektovou proměnnou DLLWrapper je nutné deklarovat jako lokální (uvnitř nějaké procedury), stejně jako je to v příkladu. Pokud by byla deklarována jako globální a objekt DLLWrapper by nebyl před ukončením projektu uvolněn příkazem Set DLLWrapper = Nothing, runtime modul by při ukončování zatuhnul.

2. Utilita DynaCall je zdarma a autoři nenesou žádnou odpovědnost za škody způsobené případnou špatnou funkcí utility.

29.5.2012

Stáhnout

Projekt AutomaticUserLogOff ukazuje, jak automaticky odhlásit uživatele z runtime modulu po určité době nečinnosti.

V projektu je definován událostí skript LogoffUser, který odhlásí uživatele voláním metody RUser.LogoffUser. Aby se tento skript provedl po určité době nečinnosti, je nutné upravit určité parametry v hlavním souboru projektu (soubor s příponou .rp4). Jde o textový soubor, který lze otevřít např. pomocí programu Poznámkový blok (Notepad.exe). Tyto parametry jsou uloženy v sekci [Section50] a mají následující význam:

Param0 – doba nečinnosti (v milisekundách), po které má být spuštěn skript určený parametrem Param2

Param1 – udává, zda má být spuštěn skript určený parametrem Param2 (0 – zakázáno, 1 – povoleno)

Param2 – ID skriptu, který má být spuštěn

Pozn.: ID skriptu je zobrazeno v levém dolním rohu dialogu Vybrat skript.

Příklad:

[Section50]

Param0=20000

Param1=1

Param2=10

26.1.2011

Stáhnout

Projekt CustomRecipeEditor ukazuje, jak pomocí vizualizačních oken a skriptů realizovat funkce dostupné v Editoru receptur, který je k dispozici v runtime modulech. Toto řešení je nutné použít v případech, kdy zákazník požaduje, aby editaci receptur bylo možné provádět prostřednictvím nějakého formuláře (nikoli editací hodnot v seznamu položek, jak je to řešeno v Editoru receptur).

Ve Správci receptur je definován typ receptury s názvem Product01. Ten obsahuje 4 položky (Param01, Param02, Param03 a Param04). Každá z položek má vazbu na stejnojmennou proměnnou ze stanice PLC1. Při přenosu receptury do PLC1 se do těchto proměnných zapíše hodnota příslušné položky. Aby bylo možné editovat receptury prostřednictvím vizualizačních oken, je nutné mít pro každou položku definovánu ještě jednu pomocnou proměnnou (stejného typu jako je proměnná v PLC1). Tyto pomocné proměnné se nazývají proměnné pro editaci, jsou definovány ve stanici System a mají stejné názvy jako proměnné v PLC1. Každá z položek receptury má vazbu na příslušnou proměnnou pro editaci. Na proměnné pro editaci jsou také navázány komponenty Displej pro zadávání hodnoty položek v okně EditRecipe_Product01. Toto okno lze zobrazit kliknutím na tlačítko Editovat recepturu v hlavním okně vizualizace (Product01). V okně EditRecipe_Product01 je možné vybrat recepturu ze seznamu již uložených receptur, upravit ji a uložit pod zadaným názvem. Z okna Product01 lze také kliknutím na příslušná tlačítka načíst nebo smazat vybranou recepturu.

29.5.2012

Stáhnout

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 znovuspuš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 UseLocalArrayVar zapisuje hodnoty pouze do lokální proměnné LocalArrayVar typu pole definované v rámci dané procedury.

19.6.2009

Stáhnout

Projekt 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".

19.6.2009

Stáhnout

Projekt ExtractBits ukazuje, jak pomocí skriptů získat hodnoty jednotlivých bitů z celočíselné proměnné a uložit je do proměnných typu Bool.

Ve Správci stanic jsou ve stanici System definovány proměnné Status01 a Status02 typu Byte a strukturované proměnné Bits_Status01 a Bits_Status02 typu StatusBits, což je datová struktura (definovaná ve Správci datových struktur). Proměnná Bits_Status01 (resp. Bits_Status02) obsahuje několik vnořených proměnných typu Bool, do kterých bude pomocí skriptu zapisována hodnota příslušných bitů proměnné Status01 (resp. Status02).

Ve Správci skriptů je definován skript Define, který obsahuje definici procedury ExtractBits. Na záložce Upřesnit ve vlastnostech tohoto skriptu je zapnuta volba Spustit při inicializaci podprocesu, která zajistí spuštění daného skriptu ještě před spuštěním všech ostatních skriptů běžících v daném podprocesu (vlákně). Procedura ExtractBits se volá z procedury StatusChanged volané ze skriptu StatusChanged. Skript StatusChanged se vykoná vždy při změně hodnoty nebo kvality (platnosti) proměnné Status01 (resp. Status02). To je zajištěno napojením proměnných Status01 a Status02 na tento skript na záložce Skripty ve Správci stanic. Ke změně kvality (platnosti) dojde vždy po spuštění projektu.

Do procedury ExtractBits se předávají tyto parametry:

Název stanice, ve které je definována zdrojová proměnná: System

Název zdrojové proměnné: Status01, resp. Status02

Název stanice, ve které je definována cílová proměnná: System

Název cílové proměnné (včetně oddělovače strukturované proměnné a vnořených proměnných): StatusBits01/, resp. StatusBits02/

Pole obsahující čísla bitů, jejichž hodnotu chceme získat: BitNumbers_StatusBits = Array(0, 1, 4, 5)

Pole obsahující názvy položek datové struktury StatusBits (ve stejném pořadí jako čísla bitů v poli BitNumbers_StatusBits): BitTagNames_StatusBits = Array("ManualMode", "EmergencyMode", "CheckDevice", "Error")

Pro zobrazení strukturovaných proměnných typu StatusBits slouží stejnojmenná šablona okna (viz Správce oken). Tato šablona obsahuje komponenty Displej s vazbou na jednotlivé položky struktury StatusBits. Šablona je vložena do okna MainWindow prostřednictvím komponenty Kontejner. Dále je v okně MainWindow vložena komponenta Displej, která zobrazuje a umožňuje měnit hodnotu proměnné Status01 (resp. Status02).

Uvedené řešení založené datové struktuře se ukazuje jako velmi výhodné. Celočíselné proměnné, které je potřeba rozložit na jednotlivé bity, mohou např. popisovat stav určitého stroje, kterých je ve vizualizovaném procesu více. Je velmi snadné přidat další stavovou proměnnou. Stačí zduplikovat proměnné Status02 a Bits_Status02. Není nutné upravovat existující skripty ani přidávat další skripty.

4.4.2014

Stáhnout

Projekt GetCurrentScriptDataEx ukazuje způsob předávání parametru skriptu při jeho spuštění např. kliknutím na tlačítko. V projektu je definována jedna proměnná ScriptParamValue typu LongInt, která je napojena na komponentu Displej. Ve Správci skriptů je definován skript EventScript, 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.

19.6.2009

Stáhnout

Projekt GetFolderContents demonstruje použití skriptu k získání obsahu zvoleného adresáře. Hlavní vizualizační okno obsahuje komponentu Displej (pro zadání adresáře, jehož obsah má být vypsán), komponentu 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 určují počet položek odpovídajících seznamů.

19.6.2009

Stáhnout

Projekt CheckHDSerialNumber je příklad, který obsahuje jednoduchou ochranu proti spouštění projektu na neautorizovaném počítači. Projekt je po aktivování ochrany svázán se sériovým číslem pevného disku a nelze ho spustit na jiném počítači. Ve Správci stanic jsou definovány dvě proměnné: proměnná HDSerialNumber, která obsahuje sériové číslo disku, a proměnná CheckEnabled, která aktivuje/deaktivuje zabezpečení.

Ve Správci skriptů jsou definovány tři skripty. Skript UpdateHDSerialNumber slouží k aktualizaci sériového čísla disku v proměnné HDSerialNumber. Skript ExitRuntimeModule provádí ukončení projektu. Skript ProjectRun provádí porovnání aktuálního sériového čísla disku s hodnotou uloženou v proměnné HDSerialNumber. Pokud se čísla neshodují, dojde k zobrazení dialogu Dlg_ProjectCannotRun. Po potvrzení dialogu je projekt ukončen.

Postup aktivace zabezpečení je zobrazen ve vizualizačním okně příkladu.

Postup aktivace kontroly disku:

1. Spustit runtime modul.

2. Uložit aktuální sériové číslo disku do proměnné HDSerialNumber (kliknout na tlačítko Uložit sériové číslo disku).

3. Ukončit runtime modul.

4. Ve Správci stanic u proměnné CheckEnabled zapnout ukládání poslední hodnoty proměnné.

5. Spustit runtime modul.

6. Zapnout kontrolu sériového čísla disku (kliknout na zatržítko Kontrolovat sériové číslo disku).

7. Ukončit runtime modul.

Postup testování kontroly disku:

1. Spustit runtime modul.

2. Změnit uloženou hodnotu proměnné HDSerialNumber (pomocí komponenty Displej).

3. Ukončit runtime modul.

4. Spustit runtime modul.

Postup zrušení kontroly disku:

1. Ve Správci stanic u proměnné CheckEnabled vypnout ukládání poslední hodnoty proměnné.

13.6.2012

Stáhnout

Projekt 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 parametru 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 ukázkovým textem.

19.6.2009

Stáhnout

Projekt 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.

19.6.2009

Stáhnout

Projekt MoveTagValue demonstruje kopírování hodnot proměnných z jedné stanice do druhé. Projekt obsahuje skript AfterStartProject, který se spustí po startu runtime modulu (Možnosti projektu > Skripty > Ostatní > Po spuštění projektu). Tento skript inicializuje hodnotu proměnné DateTime1. 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.

19.6.2009

Stáhnout

Projekt ScriptDebugging vyžaduje instalaci libovolného nástroje pro ladění skriptů. Lze použít Microsoft Script Debugger, jehož instalace je součástí instalátoru Reliance 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, ve kterém lze provádět ladění skriptu.

13.11.2009

Stáhnout

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é ve SCADA/HMI systému Reliance 4 definovat (kromě časového skriptu). První oddíl demonstruje použití Periodického skriptu – hodnota úhlu je periodicky inkrementována. Druhý 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. Třetí oddíl se vztahuje 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 Displej 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.

4.4.2014

Stáhnout

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.

19.6.2009

Stáhnout

Projekt Stopwatch ukazuje, jak měřit čas uplynulý od určitého okamžiku (podobně jako pomocí hodinek se stopkami). V hlavním okně projektu jsou vložena tlačítka Spustit měření času a Zastavit měření času. Po kliknutí na tlačítko Spustit měření času se začne zobrazovat uplynulý čas v komponentách Displej. Zobrazuje se dvěma způsoby:

1. Jako jeden údaj v milisekundách.

2. Jako hodiny, minuty a sekundy.

Měření uplynulého času se provádí pomocí periodického skriptu MeasureTime, který je ve výchozím stavu zakázaný (parametr Povolit spouštění je neaktivní). Při kliknutí na tlačítko Spustit měření času se spustí skript StartMeasuringTime, který povolí skript MeasureTime a ten se začne periodicky spouštět. Při kliknutí na tlačítko Zastavit měření času se spustí skript StopMeasuringTime, který zakáže skript MeasureTime.

29.5.2012

Stáhnout

Top