Projekt

Obecné

Profil

AMMI v2 » Historie » Verze 6

Jednatel J.H., 2016-08-01 22:19

1 4 Jednatel J.H.
h1(#top). Advance Machine Machine Interface ([[AMMI]])
2 1 Jednatel J.H.
3 4 Jednatel J.H.
Firmware poskytující komunikační protokol 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 [[DKE-PAC]] je vhodné instalovat [[HMI]] software. Aktuální vývojová verze [[AMMI]] podporuje [[PAC-AT90]] a je kompatibilní s:
4 1 Jednatel J.H.
* [[MMI|DKE-MMI-USB]]
5 2 Jednatel J.H.
** 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.
6
* [[MMI|DKE-MMI-BT]]
7 1 Jednatel J.H.
** Převodník, dekodér nebo kodér komunikačního rozhraní. Označení BT představuje komunikační bezdrátový standard Bluetooth.
8 4 Jednatel J.H.
** Aplikovaný komunikační protokol je závislý na použitém [[DKE-PAC]].
9 1 Jednatel J.H.
* [[MMI|DKE-MMI-WIFI]]
10
** 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.
11 4 Jednatel J.H.
** Aplikovaný komunikační protokol je závislý na použitém [[DKE-PAC]].
12
13
-------------------------------------------------------------
14
15
h2(#spec). Specifikace protokolu
16
17
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]].
18
19
## USART
20
*** TTL (5 V, 3,3 V)
21
*** RS232
22
*** RS485
23
*** USB 2.0
24
## IEEE 802.11 (Wi-Fi)
25
*** 2,4 GHz
26
*** TCP/UDP
27 6 Jednatel J.H.
*** client/server
28 1 Jednatel J.H.
29 6 Jednatel J.H.
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ý bajt je sdělení. Třetí až 255. B je hodnota sdělení. Sdělení a jeho hodnoty jsou popsány níže uvedenou tabulkou (slovníkem [[AMMI]]). 
30 1 Jednatel J.H.
31 6 Jednatel J.H.
h3. Struktura odchozího těla rámce (aplikace posílá do [[PAC-AT90]] bajty skrze předchozí vrstvy)
32 1 Jednatel J.H.
33 6 Jednatel J.H.
|*počet B*|*sdělení*|*hodnota*|
34 1 Jednatel J.H.
35 6 Jednatel J.H.
|*sdělení*     |hex kód | popis                                     |*hodnota*              |*počet B*|
36
|OUTPUT_OFF    |    0xC0| vypne výstup [[IOPE]] (vysoká impedance)  | _číslo výstupu_             |2/3|
37
|OUTPUT_ON     |    0xC1| sepne výstup [[IOPE]] (otevřený kolektor) | _číslo výstupu_             |2/3|
38
|OUTPUT_BLK    |    0xC2| invertuje výstup [[IOPE]]                 | _číslo výstupu_             |2/3|
39
|/6^.OUTPUTS   |/6^.0xC3|/6^.nastaví všechny výstupy [[IOPE]]       | sekvence bitů (1=ON, 0=OFF)  |>2|
40
                                                                    | 0x00 = vše vypnout            |2|
41
                                                                    | 0x01 = vše zapnout            |2|
42
                                                                    | 0x02 = vše invertovat         |2|
43
                                                                    | 0x03 = náhodná kombinace      |2|
44
                                                                    | 0xF0 = vrať stavy výstupů     |2|
45
|OUTPUTS_PWM   |    0xC4| nastaví PWM na všechny výstupy [[IOPE]]   | _hodnota_ střídy <0;100> %    |2|
46
|REPEAT        |    0xCF| opakuje poslední zadaný příkaz            | perioda (_16bit-číslo_*10ms)  |3|
47
|/3^.TRANSLATOR|/3^.0x01|/3^.umožňuje nastavit vlastnosti překladače| 0x01 = zapne informaci o chybách|2|
48
                                                                    | 0x02 = vypne informaci o chybách|2|
49
                                                                    | 0x0E = posílat zpět přijatý příkaz|2|
50 1 Jednatel J.H.
51 6 Jednatel J.H.
h3. Struktura příchozího těla rámce ([[PAC-AT90]] posílá do aplikace bajty skrze předchozí vrstvy)
52 1 Jednatel J.H.
53
|*počet B*|*sdělení*|*hodnota*|
54
55 6 Jednatel J.H.
|*sdělení*     |hex kód | popis                                     |*hodnota*                     |*počet B*|
56
|    OUTPUTS   |    0xC3| Informace o aktivním nastavení výstupů [[IOPE]]| sekvence bitů (1=ON, 0=OFF)    |>2|
57
|/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|
58
                                                                    | UNKNOW_COM (0x0D) neznámý příkaz     |2|
59
                                                                    | UNKNOW_VAL (0x0E) neplatná hodnota   |2|
60
                                                                    | TIMEEXPIRE (0x0A) vypršel čas komunikace |2|
61
                                                                    | ERROR_PROCS (0x0B) chyba při provádění příkazu |2|
62
                                                                    | ERROR_TRANS (0x0F) chyba překladače  |2|
63
64
h3. Příklad komunikace a)
65
66
# aplikace otevře TCP port
67
# aplikace pošle |0x02|0xC3|0x03|
68
# aplikace zavře TCP port
69
70
Aplikace přikázala skrze Wi-Fi aby [[PAC-AT90]] zapnout a vypnout náhodné výstupy [[IOPE]]. 
71
72
h3. Příklad komunikace b)
73
74
# aplikace otevře TCP port
75
# aplikace pošle |0x02|0x01|0x0E|
76
# [[PAC-AT90]] pošle |0x02|0x01|0x0E|
77
# aplikace pošle |0x03|0xC3|0x32E6|
78
# [[PAC-AT90]] pošle |0x03|0xC3|0x32E6|
79
# aplikace zavře TCP port
80
81
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.
82 4 Jednatel J.H.
83
-------------------------------------------------------------
84
85
h2(#dev). Vývojové informace
86
87
Vývojové informace mohou procházet uživatelé s bezpečnostní prověrkou reportér a vyšší.
88
89
# Aktuální vývojová verze: [[versions|BETA]]
90
# Developments Issues: #485
91
# "Components List":https://www.tme.eu/cz/Profile/Parking/740721.html
92
93
-------------------------------------------------------------
94
95 1 Jednatel J.H.
h2(#atch). Přílohy