AMMI v2 » Historie » Revize 7
Revize 6 (Jednatel J.H., 2016-08-01 22:19) → Revize 7/10 (Jednatel J.H., 2016-09-18 16:32)
h1(#top). Advance Machine Machine Interface ([[AMMI]]) Firmware [[AMMI]] poskytuje poskytující komunikační protokol jednotlivých [[DKE#diagram|komponent DKE]]. [[AMMI]] je součástí libovolného [[PAC-AT90|DKE-PAC]]. pro komunikaci s libovolným [[DKE-PAC]]. Označení MMI představuje komunikaci mezi zařízeními, jako jsou například počítače, kontroléry, mobilní telefony, chytré senzory... a písmeno A (Advance) informuje o pokročilosti a komplexnosti této komunikace. Cílem AMMI je inteligentní kybernetické řízení. [[AMMI]] protokol je určený spíše pro zařízení, než pro uživatele a je optimalizovaný pro rychlost a spolehlivost. Pro přímou komunikaci uživatele a [[PAC-AT90|DKE-PAC]] [[DKE-PAC]] je vhodné instalovat [[HMI]] software. Aktuální vývojová verze [[AMMI]] podporuje [[PAC-AT90]] a má implementovány protokoly: je kompatibilní s: * [[MMI|DKE-MMI-USB]] ** Převodník, dekodér nebo kodér komunikačního rozhraní. Označení USB představuje komunikační standard Universal Serial Bus 2.0. * [[MMI|DKE-MMI-BT]] ** Převodník, dekodér nebo kodér komunikačního rozhraní. Označení BT představuje komunikační bezdrátový standard Bluetooth. ** Aplikovaný komunikační protokol je závislý na použitém [[DKE-PAC]]. * [[MMI|DKE-MMI-WIFI]] ** Převodník, dekodér nebo kodér komunikačního rozhraní. Označení WIFI představuje komunikační bezdrátový standard IEEE 802.11. ** Aplikovaný komunikační protokol je závislý na použitém [[DKE-PAC]]. ------------------------------------------------------------- h2(#spec). Specifikace protokolu Fyzická, linková, síťová a transportní vrstvy vychází z níže uvedených protokolů. Uvádíme zde pouze konkrétní odlišnosti a informace potřebné pro snadnou implementaci. Sledy vodičů, napěťové úrovně, napájení a vodiče jsou specifikovány u [[PAC-AT90]]. ## USART *** TTL (5 V, 3,3 V) *** RS232 *** RS485 *** USB 2.0 ## IEEE 802.11 (Wi-Fi) *** 2,4 GHz *** TCP/UDP *** client/server Relační, prezentační a aplikační vrstvy společně zajišťují přenos informací mezi zařízeními. Převážně se jedná o sériový přenos dat a je optimalizovaný pro minimální datový tok. Dále uvádíme pouze tělo rámce (rámec definován užitou linkou). Tělo rámce [[AMMI]] je v podobě sekvence bajtů. Prvním B je počet následujících B. Druhý B bajt je adresa [[PAC-AT90|DKE-PAC]]. sdělení. Třetí až 255. B je hodnota sdělení. 4. B až 5. B obsahuje hodnotu sdělení. Sdělení a jeho možné hodnoty jsou popsány níže uvedenou tabulkou (slovníkem [[AMMI]]). h3. Struktura odchozího těla rámce (aplikace posílá do [[PAC-AT90]] bajty skrze předchozí vrstvy) |1. B | 2. B | 3. B | 4.-5. B | |*počet B*|*adresa*|*sdělení*|*hodnota*| B*|*sdělení*|*hodnota*| |*sdělení* |hex kód | popis |*hodnota* |*počet B*| |OUTPUT_OFF | 0xC0| vypne výstup [[IOPE]] (vysoká impedance) | _číslo výstupu_ |3| |2/3| |OUTPUT_ON | 0xC1| sepne výstup [[IOPE]] (otevřený kolektor) | _číslo výstupu_ |3| |2/3| |OUTPUT_BLK | 0xC2| invertuje výstup [[IOPE]] | _číslo výstupu_ |3| |2/3| |/6^.OUTPUTS |/6^.0xC3|/6^.nastaví všechny výstupy [[IOPE]] | sekvence bitů (1=ON, 0=OFF) |3| |>2| | 0x00 = vše vypnout |2| | 0x01 = vše zapnout |2| | 0x02 = vše invertovat |2| | 0x03 = náhodná kombinace |2| | 0xF0 = vrať stavy výstupů |2| |OUTPUTS_PWM | 0xC4| nastaví PWM na všechny výstupy [[IOPE]] | _hodnota_ střídy <0;100> % |2| |REPEAT | 0xCF| opakuje poslední zadaný příkaz | perioda (_16bit-číslo_*10ms) |3| |/3^.TRANSLATOR|/3^.0x01|/3^.umožňuje nastavit vlastnosti překladače| 0x01 = zapne informaci o chybách|2| | 0x02 = vypne informaci o chybách|2| | 0x0E = posílat zpět přijatý příkaz|2| h3. Struktura příchozího těla rámce ([[PAC-AT90]] posílá do aplikace bajty skrze předchozí vrstvy) |1. B | 2. B | 3. B | 4.-5. B | |*počet B*|*adresa*|*sdělení*|*hodnota*| B*|*sdělení*|*hodnota*| |*sdělení* |hex kód | popis |*hodnota* |*počet B*| | OUTPUTS | 0xC3| Informace o aktivním nastavení výstupů [[IOPE]]| sekvence bitů (1=ON, 0=OFF) |3| |>2| |/6^.TRANSLATOR|/6^.0x01|/6^. Informace z překladače. Aktivní pouze v případě, že je překladač zapnut.|UNKNOW_DEV (0x0C) neznámé zařízení |2| | UNKNOW_COM (0x0D) neznámý příkaz |2| | UNKNOW_VAL (0x0E) neplatná hodnota |2| | TIMEEXPIRE (0x0A) vypršel čas komunikace |2| | ERROR_PROCS (0x0B) chyba při provádění příkazu |2| | ERROR_TRANS (0x0F) chyba překladače |2| h3. Příklad komunikace a) # aplikace otevře TCP port # aplikace pošle |0x03|0x01|0xC3|0x03| |0x02|0xC3|0x03| # aplikace zavře TCP port Aplikace přikázala skrze Wi-Fi aby [[PAC-AT90]] na adrese 1 náhodně nastavil zapnout a vypnout náhodné výstupy [[IOPE]] na 1 a 0. [[IOPE]]. h3. Příklad komunikace b) # aplikace otevře TCP port # aplikace pošle |0x03|0x01|0x01|0x0E| |0x02|0x01|0x0E| # [[PAC-AT90]] pošle |0x03|0x01|0x01|0x0E| |0x02|0x01|0x0E| # aplikace pošle |0x04|0x01|0xC3|0x32E6| |0x03|0xC3|0x32E6| # [[PAC-AT90]] pošle |0x04|0x01|0xC3|0x32E6| |0x03|0xC3|0x32E6| # aplikace zavře TCP port Aplikace skrze Wi-Fi zapnula echo na [[PAC-AT90]] a přikázala [[PAC-AT90]] zapnout a vypnout výstupy [[IOPE]] dle schématu 0011 0010 1110 0110. ------------------------------------------------------------- h2(#dev). Vývojové informace Vývojové informace mohou procházet uživatelé s bezpečnostní prověrkou reportér a vyšší. # Aktuální vývojová verze: [[versions|2.x]] [[versions|BETA]] # Developments Issues: #485 # "Components List":https://www.tme.eu/cz/Profile/Parking/740721.html ------------------------------------------------------------- h2(#atch). Přílohy