![]() |
||
![]() |
![]() ![]() ![]() |
![]() |
![]() |
Možnosti programování nových procesorových desekÚvodS nástupem řídících systémů
KIT resp. KITBOX s procesorovými deskami KIT188ER, KITMSM586 a KITPC (která je
použita i v TOUCH51, TOUCH51/IO) bylo třeba řešit i inovaci programové podpory. V současné době nabízí SofCon pro tyto procesory následující programové
vybavení: ·
Osvědčené
16-bitové prostředí BP-ReTOS, postavené na programovacím jazyku
Borland Pascal 7.0, operačním systému reálného času ReTOS a systémových
knihovnách LIB, LIBV, spouštěné nad o.s.DOS, využívající DPM (DOS protected
mode)(pouze KITMSM586, KITPC (TOUCH51)) ·
Modifikace
BP-ReTOS pro KI188ER (BIOS mód nebo FreeDOS mód) ·
32-bitový
operační systém reálného času, např. PharLap ETS firmy Ardence (pouze KITMSM586,
KITPC (TOUCH51)) ·
Programové
prostředí MS Windows. (pouze KITPC (TOUCH51)) Tento článek shrnuje základní vlastnosti a rozdíly výše uvedených
programovacích prostředí. BP-RETOS pro o.s. DOS16-bitové prostředí BP-ReTOS
používá překladač a ladící prostředky Borland Pascal 7.0 (dále jen BP7),
operační systém reálného času ReTOS a vizualizační knihovny LIBV.. ReTOS je systém reálného času,
který umožňuje vytvářet jednoprocesní, více vláknové realtimové aplikace
v programovacím jazyce BP7 a spouštět je na všech řídících jednotkách KIT
firmy SofCon. Z jazyka Pascal se použitím jádra ReTOS stává
prostředek kvalitativně vyšší úrovně, který poskytuje možnosti specializovaných
realtimových jazyků. Pro vizualizaci všech
terminálů a touch panelů firmy SofCon je možno použít firemní objektové
knihovny LIBV, strukturou podobné Turbo Vision. Při linkování knihoven
použijeme systémové knihovny z adresáře TPP7, abychom mohli využít DPM (DOS
protect mód) při práci s pamětí. Ten nám umožní psát aplikace s velikostí nad
1MB adresového prostoru a využít tak kapacitu paměti RAM na desce. Též je možné
použít knihovny DOS7 pro reálný DOS mód, v tomto případě je však aplikace
limitována velikostí, spustitelnou pod o.s. DOS. Pro úschovu parametrů
aplikace při vypnutí systému můžeme použít buď zálohovanou paměť RAM 128k nebo
v případě menší četnosti změny hodnot i CompactFlash kartu. Výslednou aplikaci nahrajeme
do CompactFlash karty, která musí být bootovatelná a obsahovat o.s. MS DOS nebo
kompatibilní systém, např. FreeDOS. V případě procesoru KITMCS586 je
nejsnazší CompactFlash kartu s tímto obsahem vytvořit na jiném PC, v případě
procesoru KITPC (tj. též TOUCH51), ke které je možno připojit
standardní klávesnici a VGA obrazovku, je možno obsah CompactFlash karty
modifikovat přímo lokálně. Soubor AUTOEXEC.BAT musí obsahovat start aplikace,
aby se aplikace spouštěla automaticky po resetu. Základní vlastnosti firemního o.s.reálného času ReTOS·
Procesy
– Paralelní program je tvořen procesy, které běží pseudoparalelně. Každý proces
je naprogramován jako procedura, je možné spustit libovolně mnoho instancí
procesů z jedné procedury. ·
Komunikace
mezi procesy – Procesy spolu komunikují pomocí schránek, na které se posílají
zprávy nebo pomocí globálních datových struktur, ovládaných pomocí chráněných
sekcí. ·
Přerušení
– ošetřující procedura přerušení může zaslat data na schránku a tak předat
zpracování přerušení procesu, který čeká na zprávu. ·
Výjimky
– jádro umožňuje definici výjimek a instalaci handlerů pro jejich ošetření. ·
Chráněné
sekce – Pro zprávu prostředků, které nemohou být sdíleny jsou k dispozici
procedury, jejichž použití vytváří chráněnou sekci. ·
Priority
– dynamická (klesá s dobou, po kterou byl procesu přidělen procesor) a
statická (nezávisý na čase) priorita procesu. ·
Správa
času – správa procesu se provádí pomocí absolutního času, který se měří od
startu systému (zpravidla resetu). Základní vlastnosti firemních vizualizačních knihoven LIBVKnihovny lze rozdělit do tří
skupin. První skupinu tvoří podpůrné abstraktní knihovny pro práci se vstupními
a výstupními zařízeními (klávesnice, touch, display…). Druhou skupinu tvoří
knihovny určené pro konkrétní typ terminálu, v podstatě ovladače. Tato
skupina obsahuje ovladače pro TERM10, TOUCH11, TOUCH51 i TOUCH55 i standardní
PC-VGA. Třetí skupinou knihoven jsou
knihovny jednotlivých grafických komponent, které jsou zcela nezávislé na
použitém typu zobrazovače. Návrh grafického vzhledu je intuitivní a pro celou
sadu terminálů a touch panelů jednotný. BP-RETOS pro KIT188Totéž programové prostředí
(jazyk Borland Pascal, o.s. ReTOS, vizualizace LIBV) lze použít i
pro procesor KIT188ER. Verze KIT188ER s BIOSPro linkování programu
použijeme systémové knihovny z adresáře Am188. Výsledný soubor .exe pomocí
programu KIT-Loader umístíme na absolutní adresy v dostupném adresovém prostoru
KIT188ER. Dále jej buď nahrajeme po seriovém kanálu přímo do FLASH paměti nebo
zálohované RAM procesoru nebo jej nahrajeme jako binární soubor na CompactFlash
kartu se speciálním boot sektorem. Tuto kartu lze naformátovat pomocí programu
Fdisk188. Velikost aplikace je limitována na cca 750 kB. Data z běžící aplikace
můžeme uchovávat též na CompactFlash kartě ve specielních binárních souborech.
Tyto soubory lze standardně číst a specielně zapisovat na PC se čtečkou
CompactFlash. Verze KIT188ER s FreeDOSPro linkování programu
použijeme systémové knihovny z adresáře DOS188. Výsledný soubor .exe nahrajeme
přímo v PC se čtečkou CompactFlash na kartu, která musí mít nahrán specielní
boot sektor a systémové soubory s o.s. SofCon FreeDOS.. Velikost aplikace je
limitována velikostí cca 750 kB. Data z běžící aplikace můžeme uchovávat na
CompactFlash kartě v běžných DOS souborech (s krátkými názvy). Tyto soubory lze
standardně číst a zapisovat na PC se čtečkou CompactFlash. PharLap ETSPharLap ETS je 32-bitový více
úlohový jedno procesní systém reálného času, kompatibilní s procesory
Intel, postavený na bázi Win 32 API. Nároky na cílový hardware jsou minimální,
sestavené mnohavláknové jádro má cca 100kB. PharLap ETS má deterministický
plánovač procesů, tzn. že běží vždy jen povolené programové vlákno
s nejvyšší prioritou. Toto vlákno je aktivní do doby, než je zablokováno
jiným právě povoleným vláknem s vyšší prioritou, anebo - je-li povoleno
časové sdílení - vypršel sdílený čas a je zde jiné povolené vlákno se stejnou
prioritou. Součástí jádra je i algoritmus pro předcházení stavu známého jako inverze
priorit. PharLap nabízí mnoho funkcí definovaných ve Win 32 API, díky tomu
je vytváření aplikace snadné a rychlé. V aplikaci lze i využívat dynamicky
linkované knihovny (DLL) a tím docílit např. pozdějšího snažšího upgradu
aplikace. PharLap obsahuje podporu pro
širokou škálu hardware jako jsou Ethernet karty (uplné TCP/IP), USB zařízení,
souborový systém pro diskové a FLASH jednotky, PCMCIA karty, CAN driver a
další. Pro své spuštění PharLap ETS nevyžaduje BIOS, lze napsat vlastní
spouštěcí kód. Součástí PharLap ETS je také
MicroWeb server, který dovoluje prezentovat data řízené technologie na
internetu nebo v podnikové síti. Vzdálená výměna dat je umožněna pomocí FTP serveru,
který může běžet paralelně s řídící aplikací. Grafický výstup lze provádět
pomocí knihovny PEG (Portable Embedded GUI), což je malá, rychlá, snadno
konfigurovatelná knihovna pro vytváření grafických obrazovek. V knihovně
je předefinováno množství standardních komponent a další lze snadno vytvořit.
Pro návrh designu aplikace lze použít Windows Builder – návrhový nástroj
typu drag&drop. ETS obsahuje podporu VESA kompatibilních grafických karet,
případné další ovladače lze snadno dopsat (drivery jsou dodávány ve zdrojovém
kódu). Konfiguraci vlastního jádra systému PharLap ETS, nad
kterým je aplikace spuštěna, se provádí pomocí interaktivního nástroje Visual
Builder. Výsledkem je zkompilované jádro PharLap, jehož velikost odpovídá
počtu přidaných ovladačů. Přesto že se nejedná o
produkt firmy Microsoft, pro vývoj aplikací se používá prostředí MS Visual C++
(MS Visual Studio .net). Ladění aplikace probíhá interaktivně přímo ve
vývojovém nástroji na PC, které s procesorovou jednotkou se SW PharLap
komunikuje po seriové, paralelní nebo Ethernetové datové lince. Po přeložení
nové verze aplikace je kód po této lince též přenášen do procesorové jednotky.. Z řídících jednotek
firmy SofCon lze PharLap ETS provozovat na jednotkách KitMSM586 a Touch51/IO.
Firma SofCon připravuje knihovní sadu ovladačů pro své IO karty připojitelné
přes rozhraní IOBUS včetně ovladačů pro Touch panely. Srovnání PharLap ETS a ReTOS firmy SofConPharLap ETS nabízí moderní
vývojové prostředí s perfektním propojením mezi vývojářskou stanicí (host)
a průmyslovým řídícím systémem (target). Tím je umožněno využití všech ladících
nástrojů vývojového prostředí MS Visual C++, jako je krokování, zjišťování
hodnot proměnných, čtení/zápis paměti nebo IO portu a další. Jedná se o
zaručený hard real time operační systém. Spuštění aplikace trvá jen několik
vteřin. PharLap má přímý přístup k hardwaru, umožňuje použití i
assembleru. BP-ReTOS je možno spustit již na
nejjednodušších procesorech firmy Intel ale přitom nabízí výkonný
multithreading, umožňuje výměnu dat mezi jednotlivými vlákny, nastavitelné
priority. ReTOS má podporu ve formě knihoven pro veškeré IO desky firmy
SofCon. Ve spojení s vizualizačními knihovnami SofCon (jako jeden
z procesů ReTOSu) a po provedení překladu do chráněného režimu DPM
lze vytvářet rozsáhlé vizualizační a řídící aplikace pro řídící jednotky KitMSM586
a KITPC (TOUCH51). Pro KITPC je ladění aplikace výhodné
provádět přímo na cílovém zařízení a využít tak všech možností Debuggeru pro
Borland Pascal. Operační systém WINDOWSPro procesorové jednotky KITPC
(TOUCH51), vybavené dostatečnou diskovou kapacitou, lze použít i
standardní o.s. Windows 2000 nebo Windows XP. Při psaní aplikací můžeme
použít libovolné programovací prostředí, přímý přístup na IO porty desek SofCon
je zabezpečen driverem PCKITISA, který musí být předem nainstalován. o.s.Widows lze použít pouze
v aplikacích bez specielních nároků na rychlou odezvu systému, která zde není
zaručena. Pro ulehčení psaní vlastních
aplikací dodává firma SofCon základní obslužné procedury pro obsluhu IO desek
SofCon ve zdrojovém tvaru v jazyce Pascal a C. ZávěrFirma SofCon připravila
komplexní sadu systémové podpory pro nové procesory KIT188ER, KITMSM586
a KITPC (TOUCH51), z které si každý vývojář jistě najde tu
alternativu, která mu nejvíce vyhoví. |
![]() |
![]() |