AMMI v3 » Historie » Revize 2
« Předchozí |
Revize 2/12
(rozdíl)
| Další »
Jednatel J.H., 2017-09-29 19:46
- Obsah
- Advance Machine Machine Interface (AMMI) ver.3.x
Advance Machine Machine Interface (AMMI) ver.3.x¶
Pokročilé rozhraní zařízení-zařízení ve zkratce (AMMI) poskytuje komunikační protokol jednotlivých komponent DKE. AMMI je součástí libovolného 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 DKE-PAC je vhodné instalovat AHMI software. Aktuální vývojová verze AMMI_v3 podporuje PAC-AT90_v3 a má implementovány protokoly:- DKE-MMI-USB je převodník, dekodér nebo kodér komunikačního rozhraní. Označení USB představuje metalický komunikační standard Universal Serial Bus 2.0.
- DKE-MMI-WIFI je převodník, dekodér nebo kodér komunikačního rozhraní. Označení WIFI představuje bezdrátový komunikační standard IEEE 802.11.
- DKE-MMI-UART je převodník, dekodér nebo kodér komunikačního rozhraní. Označení UART představuje metalický komunikační standard ANSI EIA/TIA-232.
Specifikace komunikačního protokolu AMMI¶
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 v PAC-AT90.
- USART
- TTL (5 V, 3,3 V)
- RS232
- USB 2.0
- IEEE 802.11 (Wi-Fi)
- 2,4 GHz
- TCP/UDP
- client/server
- B je počet následujících B těla rámce;
- B je adresa DKE-PAC;
- B je adresa zařízení;
- B je příkaz/sdělení;
- B až N. B jsou určeny pro data zařízení, data příkazu nebo data sdělení.
Zařízení, sdělení, příkazy a jejich možné hodnoty jsou popsány níže uvedenou tabulkou (slovníkem AMMI).
Struktura odchozího těla rámce (aplikace posílá do PAC-AT90 bajty skrze předchozí vrstvy)¶
B0 | B1 | B2 | B3 | B4 | B5 | B6 | ||
ΣB | adredsa | zařízení | sdělení/příkaz | popis | data B 1 | data B 2 | data B 3 | data B 4 |
4 | 1:255 | KERNEL | TRANSLATOR | vlastnosti překladače | 0x01 = zapne informaci o chybách | |||
0x02 = vypne informaci o chybách | ||||||||
0x0E = posílat zpět přijaté B | ||||||||
DEVICES | správa zařízení | 0x01 = zapne informaci o chybách | ||||||
0x02 = vypne informaci o chybách | ||||||||
0x0E = posílat zpět přijaté B | ||||||||
4 | 1:255 | IOPE | COLLECTORS | nastaví všechny výstupy IOPE | ||||
0x00 = vše vypnout | ||||||||
0x01 = vše zapnout | ||||||||
0x02 = vše invertovat | ||||||||
0x03 = náhodná kombinace | ||||||||
0xF0 = vrať stavy výstupů | ||||||||
COFF | vypne výstup IOPE (vysoká impedance) | 0x00:0x0F = číslo kolektoru | ||||||
CON | sepne výstup IOPE (otevřený kolektor) | 0x00:0x0F = číslo kolektoru | ||||||
CTGL | invertuje výstup IOPE | 0x00:0x0F = číslo kolektoru | ||||||
PWM | správa PWM pro jednotlivé výst. | 0x00 = PWM vypnout | ||||||
0x01 = PWM zapnout | ||||||||
0x02 = PWM perioda | ||||||||
0x03 = PWM střída | ||||||||
0x04 = efekt1 | ||||||||
0xF0 = vrať aktuální nastavení | ||||||||
ADC | správa kanálů ADC | 0x00 = ADC vypnout | ||||||
0x01 = ADC zapnout | ||||||||
0x02 = vrať hodnotu ADC kanálu | ||||||||
0xF0 = vrať aktuální nastavení | ||||||||
ENCODER | příkazy inkrementálního enkodéru | 0x01 = kontrola délky cyklů | ||||||
0x02 = vrátí délka cyklů | ||||||||
0x03 = kontrola počtu cyklů | ||||||||
0x04 = vrátí počet cyklů | ||||||||
0x05 = vrátí směr rotace | ||||||||
0x06 = nastaví minimální délu | DELKA | |||||||
0x07 = nastaví maximální délu | DELKA | DELKA | ||||||
0x08 = vyčistí čítače a hodnoty | ||||||||
0x09 = nastaví rozlišení čítače | ROZLISENI |
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 |
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 |
TRANSLATOR | 0x01 | 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 |
Příklad komunikace a)¶
- aplikace otevře TCP port
- aplikace pošle |0x03|0x01|0xC3|0x03|
- aplikace zavře TCP port
Aplikace přikázala skrze Wi-Fi aby PAC-AT90 na adrese 1 náhodně nastavil výstupy IOPE na 1 a 0.
Příklad komunikace b)¶
- aplikace otevře TCP port
- aplikace pošle |0x03|0x01|0x01|0x0E|
- PAC-AT90 pošle |0x03|0x01|0x01|0x0E|
- aplikace pošle |0x04|0x01|0xC3|0x32E6|
- PAC-AT90 pošle |0x04|0x01|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.
Vlastnosti (knihovny) základního balíčku AMMI¶
Sekvence (AMMI-SEQUENCES)¶
Sekvence představuje třídu s metodami a proměnnými pro odložené, opakované a cyklické řízení AMMI. Každý uložený příkaz má následující vlastnosti:- SEKVENCE, sled bajtů konkrétního příkazu viz tabulka Struktura odchozího těla rámce
- STATUS, zapnuto, vypnuto
- LOOP, počet opakování příkazu
- TIMER, kdy bude příkaz poprvé volán
- PERIODE, doba mezi jednotlivými volání příkazu.
Příkazy pro práci s balíkem AMMI-SEQUENCES jsou v tabulce Struktura odchozího těla rámce a jsou to:
Píkaz | Popis | Vstupní a výstupní parametr |
SEQUENCES_SET | Nastaví sled bajtů konkrétního volání. | Sled bajtů, viz tabulka Struktura odchozího těla rámce |
SEQUENCES_SET_TIME | Nastaví čas prvního volání. | 0 až 65536 jednotek, viz Hodiny |
SEQUENCES_SET_LOPS | Nastaví počet volání. | 0 až 255 |
SEQUENCES_SET_PERD | Nastaví prodlevu mezi voláními. | 0 až 255 jednotek, viz Hodiny |
SEQUENCES_SET_STAT | Nastaví status volání. | Zap, Vyp, Zámek |
SEQUENCES_GET | Vrátí všechny vlastnosti sekvence. | Sled bajtů v posloupnosti seznamu z předchozího odstavce. |
SEQUENCES_INIT | Uvolní všechna nastavení sekvencí. | |
SEQUENCES_RUN | Spustí konkrétní volání. | 0 až maximální počet volání |
SEQUENCES_AUTORUN | Spustí automatický běh volání. |
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: 2.x
- Developments Issues: #485
- Components List
Přílohy¶
Aktualizováno uživatelem Jednatel J.H. před asi 7 roky(ů) · 2 revizí