TheKing

Vizualizační program pro sledování a sběr dat z aplikací napsaných v prostředí BP/RETOS.
 

Úvod

Používání a vývoj vlastních vizualizačních programů má ve firmě SofCon s.r.o. dlouholetou tradici. Během tohoto vývoje byly vyvinuty potřebné programové komponenty, které byly následně podrobeny nekompromisnímu testu při nasazení v praxi. S postupem roků se vývoj komponent stále více vzdaloval od vývoje komponent pro základní vizualizaci k vývoji speciálních komponent, které řešily aplikačně specifické úlohy. Základní stavebnice objektových komponent byla vždy pevným odrazovým můstkem pro spolehlivé a rychlé naprogramování mnoha, někdy i velmi speciálních, programů. Na druhou stranu se však dá říci, že každý běžný vizualizační program využívá stejné stavební prvky, běžné programy se liší pouze konkrétně použitými parametry a strukturami svých datových archivů. Právě tento zobecněný pohled je důvodem, proč vznikl a nyní je nabízen zákazníkům firmy SofCon s.r.o. nový obecný vizualizační program TheKing, který bude stručně popsán v následujícím textu.

Vizualizační program TheKing si neklade za cíl být univerzálním programem pro vizualizaci řídicích systémů různých výrobců, ale je naopak navržen tak, aby bylo možno s minimálním programátorským úsilím vizualizovat aplikace s řídicími systémy firmy SofCon. S trochou nadsázky se dá říci, že pod pojmem "s minimálním úsilím" můžeme rozumět "prakticky bez programování na straně vizualizačního PC".

Běžná aplikace používající vizualizaci se skládá z aplikačního programového vybavení řídicího systému a z vizualizačního programu na PC, který komunikuje s řídicím systémem po sériové lince. Pokud se programátor, tvůrce aplikačního firmware řídicího systému, přizpůsobí programovému a komunikačnímu rozhraní programu TheKing, potom není třeba na straně PC nic nového programovat, ale naopak s výhodou využít již hotových modulů v programu TheKing. Program TheKing nabízí nejenom běžnou vizualizaci parametrů řídicího systému, ale především nabízí robustní vyčítání a ukládání datových archivů spolu s jejich grafickou prezentací. Právě tato vlastnost je královskou zbraní programu TheKing a je jenom na tvůrci programového vybavení řídicího systému, aby ji uměl s výhodou použít.

Stručná charakteristika programu TheKing

Program TheKing je 32-bitová aplikace pracující v prostředí operačního systému MS Windows, program poskytuje následující služby:

  • sledování a zadávání hodnot parametrů připojeného řídicího systému v uživatelsky definovaných oknech
  • možnost uložení sad parametrů řídicího systému do souborů receptur
  • správu až deseti bank datových archivů v řídicím systému
  • automatické inkrementální vyčítání bank datových archivů z připojeného řídicího systému a jejich ukládání do souborů na disku počítače PC
  • prohlížení aktuálně načtených archivů v textové i grafické podobě s využitím automatické aktualizace zobrazených dat
  • nezávislé prohlížení uložených archivů v textové i grafické podobě
  • definování oken s parametry řídicího systému v režimu návrhu aplikace
  • program dovoluje komunikaci přes telefonní modem včetně vytáčení zadaného telefonního čísla
  • program může obsluhovat více řídicích systémů připojených po sběrnici RS485

Program poskytuje uživatelsky příjemné prohlížení datových archivů v grafické podobě. Nastavení všech parametrů okna grafu lze uložit do souboru šablony, tento soubor šablony příště poslouží pro přímé a rychlé otevření požadovaného okna grafu.

Požadavky kladené na firmware řídicího systému

Zde se předpokládá, že firmware je určen pro řídicí systémy, které jako řídicí jednotku používají jednotky KitV40 nebo Kit386EXR a které lze programovat s využitím programových knihoven dodávaných spolu s těmito jednotkami. V balíku knihoven jsou kromě jiného obsaženy programové jednotky implementující použitý komunikační protokol SofCon L2. Aby aplikace v řídicím systému mohla využívat vizualizační program TheKing, musí v sobě implementovat dvě základní funkce:

  1. Umět komunikovat své vlastní parametry adresované logickou adresou prostřednictvím protokolu SofCon L2.
  2. Implementovat banky datových archivů, které lze spravovat prostřednictvím příkazů z programu TheKing.

Stručně řečeno, aplikace v řídicím systému se musí přizpůsobit komunikačnímu rozhraní programu TheKing. Je však třeba říci, že toto přizpůsobení je podstatně jednodušší než psaní speciálního vizualizačního programu.

Komunikace parametrů řídicího systému

Komunikace parametrů řídicího systému je implementována prostřednictvím zpráv, které požadují nebo posílají hodnotu parametru. Hodnota parametru může být pouze jednoduchého typu (pozn. tj. nikoliv strukturovaného) a každý parametr má přiřazenu jedinečnou logickou adresu. Pro logické adresy je rezervováno 1000 hodnot. Pro zrychlení komunikace jsou zavedeny blokové zprávy, které dovolují v jedné blokové zprávě přenést hodnoty ze seznamu parametrů. Seznam parametrů pro blokovou zprávu je dynamicky sestavován dle aktuálního kontextu programu.

V programovém balíku programu TheKing jsou obsaženy nástroje, které jsou určeny k popisu v aplikaci použitých parametrů a jejich logických adres. Tento popis je pak ve formě souboru předán programu TheKing.

Vyčítání datových archivů z řídicího systému

Datový archiv v řídicím systému je tvořen kruhovým bufferem, do kterého aplikační program ukládá záznamy s hodnotami parametrů. První položkou záznamu musí být položka typu datum a čas, udávající čas založení záznamu do datového archivu. Zbývající položky záznamu mohou být libovolného jednoduchého typu.

Datových archivů v řídicím systému může být více a různé datové archivy mohou obsahovat záznamy různých typů dle potřeby aplikace. Jednotlivé datové archivy jsou adresovány jako tzv. banky datových archivů. Aplikační programové vybavení může využít maximálně 10 bank datových archivů, které budou vyčítány pomocí programu TheKing.

Vyčítání datových archivů z řídicího systému probíhá dle následujícího algoritmu:

  1. Program TheKing se dotáže na počet implementovaných bank datových archivů v řídicím systému.
  2. Program TheKing si z řídicího systému v cyklu přes všechny banky přečte descriptory záznamů v bance, tj. popis struktury záznamu spolu s atributy položek záznamu.
  3. Program TheKing může na základě znalosti descriptorů záznamů začít s bankami datových archivů pracovat.
  4. Program TheKing se periodicky v cyklu přes všechny banky dotazuje na jejich status, tj. dotazuje se na skutečnost, zda do archivu v bance byly založeny nějaké nové záznamy.
  5. Pokud program TheKing zjistí, že archiv obsahuje nové záznamy, pak tyto záznamy z řídicího systému načte a připojí je na konec souboru, do kterého ukládá záznamy z příslušné banky. Program TheKing si poznamená datum a čas posledního záznamu, který uložil do souboru. Program TheKing při příští aktualizaci banky datového archivu od řídicího systému požaduje pouze mladší záznamy, tj. záznamy, které byly do archivu založeny po zaznamenaném času naposledy uloženého záznamu.
Program TheKing dále dovoluje explicitně načíst celý datový archiv ze zvolené banky nebo archiv v bance příkazem vymazat. Skutečnost, že datový archiv vytváří program v řídicím systému a že archiv je tvořen kruhovým bufferem, dovoluje, aby program TheKing nemusel být nepřetržitě připojen po komunikaci k řídicímu systému. Aby nedošlo ke ztrátě dat z archivu, musí se program TheKing připojovat minimálně tak často, aby nedošlo k přetečení kruhového bufferu datového archivu. Tato doba závisí na velikosti alokované paměti pro kruhový buffer archivu, na délce záznamu a na četnosti zápisu záznamů do archivu.

Všechny položky záznamu archivu, které mají ve svém descriptoru povoleno vynášení do grafu, mohou být při prohlížení archivu zobrazeny graficky. V descriptoru položky záznamu lze předepsat, že hodnota položky má být vynášena do grafu navoleným typem grafu a že hodnoty jsou vztaženy k levé nebo pravé ose Y grafu. Osa X grafu je vždy časovou osou.

Výrazové prostředky programu TheKing

Program TheKing obsahuje vlastní vestavěný editor uživatelských oken pro zobrazení komunikovaných parametrů řídicího systému. Tvůrce aplikace může v režimu návrhu vytvořit okna, která poskytují pohled na skupiny parametrů řídicího systému. Hodnoty parametrů mohou být zobrazeny číselně nebo sloupcovým grafem. Hodnoty parametrů výčtových typů mohou být zobrazeny jako bitmapy. Jako bitmapy mohou být zobrazeny také jednotlivé bity parametrů, které jsou ordinálního typu. Dále lze na plochu oken umístit podkladové obrázky a libovolné popisky. Pro každé okno, nebo skupinu parametrů, lze definovat recepturu, tj. soubor, do kterého bude uložena pro příští použití skupina hodnot parametrů. V oknech lze také použít tlačítka, která po stisku vykonají přiřazený příkaz, např. otevření jiného okna nebo načtení receptury. Barvy a fonty zobrazovacích objektů jsou volitelné.

Závěr

Program TheKing vznikl na základě zobecnění skutečně používaných objektů ve vizualizačních programech firmy SofCon s.r.o., jeho cílem je minimalizovat náklady na vývoj vizualizačních programů pro běžné aplikace. Jeho nejcennější vlastností je grafická prezentace datových archivů.