Kompilátor IIC modulov: Rozdiel medzi revíziami
(Vytvorená stránka „Kategória:Študentské práceKategória:Diplomové práceKategória:Operačné systémy {{Praca_uvod|2|Návrh a realizácia vývojového prostredia pre jednoč…“) |
|||
(Jedna medziľahlá úprava od rovnakého používateľa nie je zobrazená.) | |||
Riadok 5: | Riadok 5: | ||
= = | = = | ||
− | == | + | |
+ | 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: | ||
+ | |||
+ | |||
+ | {| class="prettytable" | ||
+ | | Skok | ||
+ | | EBL | ||
+ | | EBH | ||
+ | | EBB | ||
+ | | ADR | ||
+ | | SZ | ||
+ | | R/W | ||
+ | | SZ2 | ||
+ | | DL | ||
+ | | DH | ||
+ | | ... | ||
+ | | DL | ||
+ | | DH | ||
+ | | Skok | ||
+ | | EBL | ||
+ | | EBH | ||
+ | | ... | ||
+ | |||
+ | |} | ||
+ | Posledný blok je ukončený 0. | ||
+ | |||
+ | |||
+ | {| class="prettytable" | ||
+ | | 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. | ||
+ | |||
+ | |||
+ | |||
+ | {| class="prettytable" | ||
+ | | EN_C,W,123,DATA1,DATA2,R,DATA3 | ||
+ | |||
+ | |} | ||
+ | <center>Ukážka 42: Symbolické vyjadrenie príkazu IIC</center> | ||
+ | |||
+ | 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<tt> IIC.py, </tt>ktorý je súčasťou modulu <tt>Compiler</tt>. 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. |
Aktuálna revízia z 19:49, 10. máj 2010
1. | Kompilátor jazyka ST |
2. | Kompilátor IIC modulov |
3. | Komunikačný modul |
4. | Používateľské prostredie 1PLC
|
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 |
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.