Projekt

Obecné

Profil

AMMI v2 » Historie » Verze 10

Jednatel J.H., 2017-02-06 21:22

1 8 Jednatel J.H.
{{>toc}}
2
3 4 Jednatel J.H.
h1(#top). Advance Machine Machine Interface ([[AMMI]])
4 1 Jednatel J.H.
5 7 Jednatel J.H.
Firmware [[AMMI]] poskytuje komunikační protokol jednotlivých [[DKE#diagram|komponent DKE]]. [[AMMI]] je součástí libovolného [[PAC-AT90|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]] je vhodné instalovat [[HMI]] software. Aktuální vývojová verze [[AMMI]] podporuje [[PAC-AT90]] a má implementovány protokoly:
6 1 Jednatel J.H.
* [[MMI|DKE-MMI-USB]]
7 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.
8
* [[MMI|DKE-MMI-BT]]
9 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.
10 4 Jednatel J.H.
** Aplikovaný komunikační protokol je závislý na použitém [[DKE-PAC]].
11 1 Jednatel J.H.
* [[MMI|DKE-MMI-WIFI]]
12
** 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.
13 4 Jednatel J.H.
** Aplikovaný komunikační protokol je závislý na použitém [[DKE-PAC]].
14
15
-------------------------------------------------------------
16
17
h2(#spec). Specifikace protokolu
18
19
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]].
20
21
## USART
22
*** TTL (5 V, 3,3 V)
23
*** RS232
24
*** RS485
25
*** USB 2.0
26
## IEEE 802.11 (Wi-Fi)
27
*** 2,4 GHz
28
*** TCP/UDP
29 6 Jednatel J.H.
*** client/server
30 1 Jednatel J.H.
31 9 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ý B je adresa [[PAC-AT90|DKE-PAC]]. Třetí B je 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]]).
32 1 Jednatel J.H.
33 8 Jednatel J.H.
h3(#tx). Struktura odchozího těla rámce (aplikace posílá do [[PAC-AT90]] bajty skrze předchozí vrstvy)
34 1 Jednatel J.H.
35
|1. B     |  2. B  | 3. B    | 4.-5. B |
36 8 Jednatel J.H.
|*počet následujících B*|*adresa [[DKE-PAC]]*|*sdělení (příkaz)*|*hodnota (data)*|
37 1 Jednatel J.H.
38 10 Jednatel J.H.
|=. B0|=.     B1|\3=. B2                                                           |=.   B3                          |=. B4            |=. B5     |=. B6     |
39
|*ΣB* |*adredsa*|*sdělení*     |hex kód | popis                                    |*data B 1*                       |*data B 2*       |*data B 3*|*data B 4*|
40
|4    |1:255    |OUTPUT_OFF    |    0xC0| vypne výstup [[IOPE]] (vysoká impedance) | VYSTUP(MSB 0:255)               |VYSTUP(LSB 0:255)|          |          |
41
|4    |1:255    |OUTPUT_ON     |    0xC1| sepne výstup [[IOPE]] (otevřený kolektor)| VYSTUP(MSB 0:255)               |VYSTUP(LSB 0:255)|          |          |
42
|4    |1:255    |OUTPUT_BLK    |    0xC2| invertuje výstup [[IOPE]]                | VYSTUP(MSB 0:255)               |VYSTUP(LSB 0:255)|          |          |
43
|/6^.3|/6^.1:255|/6^.OUTPUTS   |/6^.0xC3|/6^.nastaví všechny výstupy [[IOPE]]      |                                 |                 |          |          |
44
                                                                                   | 0x00 = vše vypnout              |                 |          |          |
45
                                                                                   | 0x01 = vše zapnout              |                 |          |          |
46
                                                                                   | 0x02 = vše invertovat           |                 |          |          |
47
                                                                                   | 0x03 = náhodná kombinace        |                 |          |          |
48
                                                                                   | 0xF0 = vrať stavy výstupů       |                 |          |          |
49
|3    |1:255    |OUTPUTS_PWM   |    0xC4| nastaví PWM na všechny výstupy [[IOPE]]  | _hodnota_ střídy <0;100> %      |                 |          |          |
50
|4    |1:255    |REPEAT        |    0xCF| opakuje poslední zadaný příkaz           |\2. perioda (_16bit-číslo_*10ms)                   |          |          |
51
|/3^.4|/3^.1:255|/3^.TRANSLATOR|/3^.0x01|/3^.vlastnosti překladače                 | 0x01 = zapne informaci o chybách|                 |          |          |
52
                                                                                   | 0x02 = vypne informaci o chybách|                 |          |          |
53
                                                                                   | 0x0E = posílat zpět přijaté B   |                 |          |          |
54
|6    |1:255    |    IOPE      |    0xCC| umožňuje přístup na konkrétní [[IOPE]]   | sběrnice (1:3)                  |ADRESA(0:7)      |PORTA(MSB)|PORTB(LSB)|
55
|3    |1:255    |    RELE1     |    0x41| ovládá relé 1                            | 0x01 = ON, 0x00 = OFF           |                 |          |          |
56
|3    |1:255    |    RELE2     |    0x42| ovládá relé 2                            | 0x01 = ON, 0x00 = OFF           |                 |          |          |
57
|3    |1:255    |    RELE3     |    0x43| ovládá relé 3                            | 0x01 = ON, 0x00 = OFF           |                 |          |          |
58
|3    |1:255    |    RELE4     |    0x44| ovládá relé 4                            | 0x01 = ON, 0x00 = OFF           |                 |          |          |
59
|/9^.5|/9^.1:255|/9^.ENCODER|/9^.0x60|/9^.příkazy inkrementálního enkodéru         | 0x01 = kontrola délky cyklů     |                 |          |          |
60
                                                                                   | 0x02 = vrátí délka cyklů        |                 |          |          |
61
                                                                                   | 0x03 = kontrola počtu cyklů     |                 |          |          |
62
                                                                                   | 0x04 = vrátí počet cyklů        |                 |          |          |
63
                                                                                   | 0x05 = vrátí směr rotace        |                 |          |          |
64
                                                                                   | 0x06 = nastaví minimální délu   | DELKA           |          |          |
65
                                                                                   | 0x07 = nastaví maximální délu   | DELKA(MSB)      |DELKA(LSB)|          |
66
                                                                                   | 0x08 = vyčistí čítače a hodnoty |                 |          |          |
67
                                                                                   | 0x09 = nastaví rozlišení čítače | ROZLISENI(0:255)|          |          |
68
69 1 Jednatel J.H.
70 6 Jednatel J.H.
h3. Struktura příchozího těla rámce ([[PAC-AT90]] posílá do aplikace bajty skrze předchozí vrstvy)
71 7 Jednatel J.H.
72
|1. B     |  2. B  | 3. B    | 4.-5. B |
73 1 Jednatel J.H.
|*počet B*|*adresa*|*sdělení*|*hodnota*|
74 6 Jednatel J.H.
75 7 Jednatel J.H.
|*sdělení*     |hex kód | popis                                     |*hodnota*                     |*počet B*|
76 1 Jednatel J.H.
|    OUTPUTS   |    0xC3| Informace o aktivním nastavení výstupů [[IOPE]]| sekvence bitů (1=ON, 0=OFF)     |3|
77 6 Jednatel J.H.
|/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|
78 1 Jednatel J.H.
                                                                    | UNKNOW_COM (0x0D) neznámý příkaz     |2|
79 6 Jednatel J.H.
                                                                    | UNKNOW_VAL (0x0E) neplatná hodnota   |2|
80
                                                                    | TIMEEXPIRE (0x0A) vypršel čas komunikace |2|
81 1 Jednatel J.H.
                                                                    | ERROR_PROCS (0x0B) chyba při provádění příkazu |2|
82
                                                                    | ERROR_TRANS (0x0F) chyba překladače  |2|
83 6 Jednatel J.H.
84
h3. Příklad komunikace a)
85
86 7 Jednatel J.H.
# aplikace otevře TCP port
87 6 Jednatel J.H.
# aplikace pošle |0x03|0x01|0xC3|0x03|
88
# aplikace zavře TCP port
89 7 Jednatel J.H.
90 6 Jednatel J.H.
Aplikace přikázala skrze Wi-Fi aby [[PAC-AT90]] na adrese 1 náhodně nastavil výstupy [[IOPE]] na 1 a 0. 
91
92 1 Jednatel J.H.
h3. Příklad komunikace b)
93 6 Jednatel J.H.
94 7 Jednatel J.H.
# aplikace otevře TCP port
95
# aplikace pošle |0x03|0x01|0x01|0x0E|
96
# [[PAC-AT90]] pošle |0x03|0x01|0x01|0x0E|
97
# aplikace pošle |0x04|0x01|0xC3|0x32E6|
98 6 Jednatel J.H.
# [[PAC-AT90]] pošle |0x04|0x01|0xC3|0x32E6|
99
# aplikace zavře TCP port
100
101 4 Jednatel J.H.
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.
102
103
-------------------------------------------------------------
104
105
h2(#dev). Vývojové informace
106
107
Vývojové informace mohou procházet uživatelé s bezpečnostní prověrkou reportér a vyšší.
108 7 Jednatel J.H.
109 4 Jednatel J.H.
# Aktuální vývojová verze: [[versions|2.x]]
110
# Developments Issues: #485
111
# "Components List":https://www.tme.eu/cz/Profile/Parking/740721.html
112
113
-------------------------------------------------------------
114 1 Jednatel J.H.
115
h2(#atch). Přílohy