Prostředí Borland Pascal / RETOS
Úvod
Vývojové prostředí Borland Pascal / o.s.Retos je určené pro tvorbu a odladění složitých
i jednodušších aplikačních programů, určených pro řídicí jednotky
KITV40, KIT386EX, KIT188ER s
terminály TERM01, TERM05, TERM06, TERM07 pro průmyslové terminály
TERM10B, TERM09, TERM90 nebo pro kompaktní řídicí systémy
KOMPAKT, pokud úloha vyžaduje poměrně rychlé časové odezvy.
K dispozici jsou i terminály s dotykovou obrazovkou (touchscreen) TOUCH11, TOUCH55.
Borland Pascal
Vlastní programy píše uživatel v programovacím jazyce Borland Pascal, V7.0 (nutná znalost
dynamických proměnných a alespoň základní znalost objektového programování), přičemž využívá
bohaté nabídky procedur a funkcí, obsažených v knihovnách SofCon.
Knihovny SofCon
Firma SofCon® s.r.o. nabízí řadu knihovních modulů, které slouží
pro tvorbu aplikace a pro ladění programu. Knihovní jednotky jsou určeny pro překladač jazyka
Borland Pascal. Jednotky se standardně dodávají ve formě .TPU. Uživatel dostává k dispozici
soubory s "interface" sekcemi, manuály a příklady použití jednotlivých knihoven. Některé
vybrané knihovny se dodávají ve zdrojové formě a po konzultaci může uživatel získat i některé
další zdrojové formy knihoven.
Knihovny jsou rozděleny do dvou skupin podle toho, na jaké platformě se mají tvořené programy
provozovat:
- platforma DOS – Jestliže aplikaci sestavíme s těmito knihovnami, musíme ji provozovat
na počítači PC pod o.s. DOS. Aplikace pracuje na procesoru PC, je tedy třeba počítat s tím,
že rychleji, než později na platformě MCP. Vstupy a výstupy řízeného procesu je nutno buď
simulovat pomocí modulů simulátorů, které můžeme spustit při využití o.s. RETOS paralelně
s vyvíjenou aplikací (např. simulátor TERM10B na obrazovce PC) nebo je můžeme sledovat reálně,
rozšíříme-li PC o desku PC-KITV40, nebo PCKITLPT obsahující sběrnici IO-bus a P-bus, ke kterým připojíme
další desky sestavy SofCon.
- platforma MCP – Jestliže aplikaci sestavíme s těmito knihovnami, musíme ji provozovat
na reálné HW sestavě SofCon včetně procesorové desky KITV40, KIT386EX resp.KIT188ER . Pro usnadnění ladění
můžeme k sestavě s KITV40 pomocí desky EXPP01 připojit VGA kartu s obrazovkou a připojit PC
klávesnici; pro sestavu KIT386EX potřebujeme VGA kartu připojit na sběrnici PC104. Aplikaci
lze pro účely ladění rozšířit o ladící výstupy a vstupy přes tyto přídavné periferie.
Knihovny lze dále rozdělit do několika skupin podle charakteru činnosti, kterou řeší:
- Komunikační knihovny
– Obsahují hierarchicky vystavěný objektový model obsluhy veškerých komunikací.
V nejnižší vrstvě se řeší komunikace přes konkrétní HW kanál, v nadstavbové vrstvě
je vyřešen zabezpečený protokol pro přenos zpráv. Kromě vlastního protokolu PRN firmy
SofCon lze komunikovat definovanými protokoly jiných firem, např. protokoly
TECOMAT(TECO), Sbus (SAIA), DF1(Allan Bradley), E-Bisinc(Eurotherm), LECOM(Lenze),
Festo, SMS (GSM moduly) a dalšími.
- Knihovny pro tvorbu terminálů a generaci menu
– Starší generace terminálových knihoven obsahuje hierarchicky vystavěný objektový model
obsluhy terminálů TERM10, TERM03, TERM01, TERM05 a TERM07. Řeší jak výpis na obrazovku
terminálů (3 vrstvy – podkladová bitmapa, grafické objekty a text), tak i obsluhu menu pro
jednotlivé obrazovky.
- Nová generace terminálových knihoven je postavená na reakci na událost a podporuje
i komunikaci s operátorem na touchscreenech. Poskytuje vyšší komfort práce a složitější
zobrazovací prvky než předchozí generace knihoven.
- Ovladače karet SofCon
– Obsahují základní drivery pro složitější HW desky (A/D, D/A převodníky apod, LED
zobrazovače apod.)
- Regulační knihovny
– K dispozici jsou objekty jednorozměrných regulačních algoritmů. Jsou zde algoritmy
PID, PID s adaptivním nastavením, PID s vnitřním modelem apod. U všech algoritmů je
zajištěno beznárazové přepínání mezi automatickým a manuálním režimem. Rovněž konstanty
regulačních algoritmů lze měnit v průběhu regulace beznárazově. K dispozici je rodičovský
objekt regulátoru. Programátor pouze vytvoří dědice, u něhož definuje nové virtuální metody
pro získání vstupních hodnot a metodu pro vykonání akčního zásahu. Požadovaný regulační
algoritmus je určen při vytváření instance regulačního objektu. Tímto jednoduchým a rychlým
způsobem lze vytvářet regulátory teploty, tlaku, otáček i bez dokonalé znalosti použitých
regulačních algoritmů. Počet současně spuštěných regulátorů je omezen jen výkonností
procesoru.
- Ostatní obecné knihovny
– Mezi nejdůležitější obecné knihovny patří knihovny pro obsluhu pamětí FLASH, knihovny
realizující RAM a ROM disky v paměťovém prostoru nad 1MB u procesorové desky KIT386EX,
dále knihovny pro obsluhu tiskárny a mnoho matematických pomocných knihoven.
Operační systém reálného času ReTOS
Z jazyka Borland Pascal se použitím dodávaného o.s.ReTOS stává prostředek kvalitativně vyšší
úrovně, který poskytuje možnosti specializovaných paralelních a realtime jazyků. Složitou
úlohu z oblasti řízení můžeme rozdělit do několika jednodušších, paralelně běžících úloh,
tzv. procesů. O.s.ReTOS zajišťuje přepínání procesů, umožňuje nastavit a měnit prioritu
procesů navzájem, poskytuje prostředky pro správu času a řízení procesů v reálném čase,
pomocí různých druhů schránek lze předávat zprávy mezi procesy. Systém poskytuje prostředky
pro obsluhu přerušení.
Zaváděcí a ladící program ReTOS-DEBUGGER
Program ReTOS-DEBUGGER slouží pro umístění, zavedení a případné ladění aplikace. Program
běží v počítači PC a pomocí sériové linky komunikuje s BIOS monitorem nebo Kernel monitorem
dané aplikace v KITV40, KIT386EXR. ReTOS debugger umožňuje umístit aplikační program do jednotlivých
segmentů paměti, nahrát aplikační program pomocí sériové komunikační linky do pamětí Flash nebo
RAM, nebo do připojeného simulátoru EPROM.
ReTOS DEBUGGER dále dokáže zobrazit a modifikovat obsah paměti, hodnoty globálních proměnných
nebo hodnoty vstupů a výstupů. Umožňuje zobrazit stav o.s. ReTOS, tj. stav procesů, fronty
Ready a Delay a stav schránek. ReTOS debugger také umožňuje trasovat program a vkládat break
instrukce do laděného programu, pokud je umístěn v paměti RAM.
Zaváděcí a ladící program KitLoader
Program KitLoader je obdobný programu Retos-Debugger, ale již běží plně v prostředí Windows.
S vyjímkou spolupráce s KernelMonitorem poskytuje stejné služby jako Retos-Debugger.
Způsob ladění vyvíjených aplikací
Vyvíjenou aplikaci lze ladit několika způsoby:
- Nejprve napíšeme aplikaci tak, aby ji bylo možno spustit přímo na PC v platformě DOS.
Za tímto účelem sestavíme aplikaci s knihovnami verze DOS, přisestavíme simulátor TERM10
a zkoumáme chování programu přímo na PC. V této fázi můžeme využít všech ladících
možností, které poskytuje prostředí Borland Pascalu.
- V druhé fázi rozšíříme PC o desku PC-KITV40 a k této desce (obsahuje sběrnice IO-Bus
a P-Bus) můžeme připojit sestavu KIT bez procesorové desky. V této fázi můžeme mít již
připojeny skutečné vstupy a výstupy, vlastní řídicí algoritmus však stále provádí procesor
na PC. Je třeba zdůraznit, že v této fázi se chová aplikace dynamicky jinak (je rychlejší),
než bude po převedení na procesorovou desku KITxxx.
- V další fázi přejdeme na spustění aplikace na originál procesorové desce. Pro nahrání
aplikace do RAM nebo FLASH procesorové desky použijeme ReTOS DEBUGGER a systémový
seriový kanál, umístěný na procesorové desce. Pokud preferujeme nahrání kódu aplikace
do paměti EPROM, použijeme ReTOS DEBUGGER pro vyrobení .BIN souboru pro programátor
EPROM, nebo tento soubor můžeme nahrát do simulátoru EPROM, který připojíme k procesorové
desce místo skutečné paměti EPROM.
V této variantě můžeme ladící výpisy v omezené míře provádět přímo na obrazovku TERM10 resp.
jiného připojeného terminálu. Jinou možností je dočasné rozšíření sestavy KITV40 o desky
EXPP01 a ISO-VGA (8bit) nebo sestavy KIT386EX o PC104-VGA a provádění ladících výpisů na
dočasně připojenou klasickou VGA obrazovku.
- Poslední možností je plné využití ReTOS DEBUGGERu. V tomto případě však musí být aplikace
nahrána do paměti RAM a k aplikaci musí být dočasně přisestaven SW sledovací modul, který
částečně zpomalí běh celé aplikace. Aplikace nesmí používat pro svou potřebu systémový
seriový kanál. Pak můžeme ladění provádět přímo prostřednictvím ReTOS DEBUGGERu z
připojeného PC, spojeného s aplikací systémovým seriových kanálem.
Závěr
Vývojové prostředí Borland Pascal / o.s. ReTOS je komplexním vývojářským nástrojem, umožňujícím
efektivně vyvinout i ty nejsložitější aplikace, určené zejména pro řízení pohonů, regulací, výrobních
linek apod.
Použití tohoto nástroje je určeno pro aplikátory, kteří jsou současně profesionálními programátory
a vyžaduje poněkud hlubší znalosti v oblasti programování, než použití druhého vývojového prostředí,
nazývaného KIT-Builder.