Kompilátor IIC modulov

Z Kiwiki
Verzia z 19:49, 10. máj 2010, ktorú vytvoril Juraj (diskusia | príspevky)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)
Skočit na navigaci Skočit na vyhledávání


V tejto kapitole vysvetlím princíp modulov IIC a spôsob akým sú IIC zariadenia definované a akým spôsobom sa používajú v PLC. Samotné IIC zariadenie je pripojené na zbernici IIC mikrokontroléra s jedinečnou adresou.


Štruktúra IIC datagramu

Nato aby sa dali vyžiť možnosti IIC zariadení, je potrebné mať v PLC zadefinované príkazy, ktorými sa zariadenie ovláda. Tieto príkazy sú definované podľa katalógových listov výrobcu. Výsledkom je datagram nasledovnej štruktúry:


Skok EBL EBH EBB ADR SZ R/W SZ2 DL DH ... DL DH Skok EBL EBH ...

Posledný blok je ukončený 0.


Symbol Popis
Skok Počet bajtov do ďalšieho bloku
EBL Spodný bajt adresy povoľovacieho bytu
EBH Horný bajt adresy povoľovacieho bytu
EBB Maska povoľovacieho bitu
ADR IIC adresa
SZ Počet zapisovacích a čítacích podprogramov
R/W Typ akcie, 0 čítanie, 1 zápis
SZ2 Počet bytov dát

Dátový blok predstavuje sled operácií a dát potrebných na vykonanie nejakej udalosti IIC zariadenia.


Kompilácia IIC datagramu

Nato aby sa vytvoril nový IIC blok nieje potrebné presne definovať byty datagramu ale stačí nám opísať IIC príkazy symbolicky.


EN_C,W,123,DATA1,DATA2,R,DATA3
Ukážka 42: Symbolické vyjadrenie príkazu IIC

Ako je zrejme z ukážky je popisovanie príkazov IIC veľmi jednoduché. Prvá premenná EN_C je adresa povoľovacieho bitu, nasleduje typ podprogramu a konštanty s premennými.

O spracovanie symbolického zápisu IIC príkazov sa stará modul IIC.py, ktorý je súčasťou modulu Compiler. Na kompilovanie symbolického zápisu do databloku slúži príkaz compile(data,value,config),kde data tvorí list symbolických výrazov a adries IIC, value je slovník aliasov premenných a config je cesta ku konfiguračnému súboru PLC. Príkaz compile rozseká reťazec symbolického vyjadrenia na jednotlivé časti oddelené čiarkou. Takto pripravený zoznam parsuje na konštanty a adresy, s ktorých vytvára výsledný dátový blok IIC. Tento blok sa zapisuje do PLC súčasne s programom a veľkosťou programu.