Kompilátor IIC modulov: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
(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:
  
 
= =
 
= =
==kapitola==
+
 
 +
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


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.