<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dubovan</id>
	<title>Kiwiki - Príspevky používateľa [sk]</title>
	<link rel="self" type="application/atom+xml" href="http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dubovan"/>
	<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php/%C5%A0peci%C3%A1lne:Pr%C3%ADspevky/Dubovan"/>
	<updated>2026-06-15T16:37:13Z</updated>
	<subtitle>Príspevky používateľa</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Implement%C3%A1cia_protokolu_MODBUS/uBUS&amp;diff=5795</id>
		<title>Implementácia protokolu MODBUS/uBUS</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Implement%C3%A1cia_protokolu_MODBUS/uBUS&amp;diff=5795"/>
		<updated>2010-06-23T16:21:58Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikroprocesorové systémy]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
MODBUS&amp;lt;ref&amp;gt;http://cs.wikipedia.org/wiki/Modbus&amp;lt;/ref&amp;gt; je otvorený protokol pre vzájomnú komunikáciu rôznych zariadení, ktorý umožňuje prenášať dáta po rôznych sieťach a zberniciach. Komunikácia funguje na princípre predávania dátových správ medzi klientom a serverom (master a slave). V súčasnosti protokol MODBUS podporuje celý rad prenosových médií, RS-232, RS-422, RS-485, optické vlákno, rádiový prenos a ethernet.&lt;br /&gt;
&lt;br /&gt;
Existujú tri základné implementácie protokolu MODBUS. Štandardný MODBUS pre asynchrónny sériový prenos, novší ethernetový MODBUS TCP/IP a vysokorýchlostný MODBUS+. Protokol MODBUS tiež definuje dva vysielacie režimy pre sériovú linku – MODBUS RTU a MODBUS ASCII. Režim určuje formát prenášaných dát. Každé zariadenie musí podporovať režim RTU, ale režim ASCII je nepovinný. Podmienkou je, aby všetky zariadenia na jednej zbernici pracovali v rovnakom režime.&lt;br /&gt;
&lt;br /&gt;
=== MODBUS na sériovej linke ===&lt;br /&gt;
MODBUS Serial Line protokol je protokol typu Master-Slave a je definovaný na úrovni 2 ISO/OSI modelu. Na fyzickej úrovni 0 ISO/OSI modelu môžu byť použité rôzne sériové rozhrania, napr. RS-232 alebo RS-485 a ich varianty.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=wikitable border=1 cellpadding=5&lt;br /&gt;
|+ ISO/OSI model pre sériový MODBUS&lt;br /&gt;
|-&lt;br /&gt;
| Aplikačná vrstva&lt;br /&gt;
| MODBUS aplikačný protokol (Klient - Server)&lt;br /&gt;
|-&lt;br /&gt;
| Prezentačná vrstva&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Relačná vrstva&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Transportná vrstva&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sieťová vrstva&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Linková vrstva&lt;br /&gt;
| MODBUS sériový protokol (Master - Slave)&lt;br /&gt;
|-&lt;br /&gt;
| Fyzická vrstva&lt;br /&gt;
| RS-232, RS-485&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-rs485.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Zapojenie pre komunikáciu cez RS485'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jedná sa o Master/Slave protokol. V jednom okamihu môže byť na zbernici iba jeden Master a 1 až 247 Slave-ov. Komunikáciu vždy zahajuje Master, Slave nesmie vysielať dáta bez poverenia Master-a.&lt;br /&gt;
Master posiela požiadavky Slave-om v dvoch režimoch:&lt;br /&gt;
&lt;br /&gt;
*Unicast režim – Master adresuje požiadavku jednej konkrétnej Slave jednotke a tá pošle odpoveď&lt;br /&gt;
*Broadcast režim – Master posiela požiadavku všetkým jednotkám, žiadna jednotka neodpovie&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-unicats.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Unicast mode'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-broadcast.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Broadcast mode'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adresný priestor zahŕňa 256 rôznych adries&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=wikitable border=1 cellpadding=5&lt;br /&gt;
|+ Adresný priestor&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1 až 247&lt;br /&gt;
| 248 až 255&lt;br /&gt;
|-&lt;br /&gt;
| Broadcast adresa&lt;br /&gt;
| Individuálna adresa Slave jednotky&lt;br /&gt;
| rezervované&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Master nemá žiadnu špecifickú adresu, iba Slave jednotky musia mať adresu a tá musí byť v celej MODBUS sieti jedinečná.&lt;br /&gt;
&lt;br /&gt;
Master vysiela požiadavku tak, že prvý byte obsahuje adresu Slave zariadenia, ktoré má odpovedať. Druhý byte hovorí, akú funkciu má Slave vykonať. Nasleduje dátová časť, kde je uložená počiatočná adresa v Slave zariadení, od ktorej chceme dáta čítať a počet prenášaných dát. Správa je zakončená kontrolným súčtom. Slave vysiela na žiadosť Master-a po zbernici správu, v ktorej prvý byte obsahuje adresu Slave zariadenia, druhý byte obsahuje kód vykonanej funkcie, nasleduje prenos dát a správa je opäť zakončená kontrolným súčtom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-master.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''Stavový diagram pre MODBUS Master'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-slave.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''Stavový diagram pre MODBUS Slave'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Na obrázku je znázornený základný formát MODBUS aplikačnej správy na sériovej linke. Správa okrem štandardnej MODBUS PDU (Protocol Data Unit) obsahuje pole „Adresa jednotky“. Toto pole obsahuje adresu Slave jednotky. Pole „Kontrolný súčet“ slúži k detekcii chýb a obsahuje CRC alebo LRC kód v závislosti na vysielacom režime.&lt;br /&gt;
&lt;br /&gt;
[[Image:03_Základný_tvar_MODBUS_správy_na_sériovej_linke.jpg|framed|center|Základný tvar MODBUS správy na sériovej linke]]&lt;br /&gt;
&lt;br /&gt;
===MODBUS RTU===&lt;br /&gt;
V režime RTU obsahuje každý 8-bitový byte správy dva 4-bytové hexadecimálne znaky. Vysielanie správy musí byť súvislé, medzery medzi znakmi nesmú byť dlhšie ako 1,5 znaku. Začiatok a koniec správy je identifikovaný podľa pomlčky na zbernici dlhšej ako 3,5 znaku. K detekcii chýb slúži 16-bitové CRC pole s generujúcim polynómom x&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt; + x&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; + x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 1&lt;br /&gt;
&lt;br /&gt;
[[Image:04_RTU_rámec_správy.jpg|framed|center|RTU rámec správy]]&lt;br /&gt;
&lt;br /&gt;
Formát bytu (11 bitov):&lt;br /&gt;
&lt;br /&gt;
1 štart bit&lt;br /&gt;
&lt;br /&gt;
8 dátových bitov&lt;br /&gt;
&lt;br /&gt;
1 bit parita&lt;br /&gt;
&lt;br /&gt;
1 stop bit&lt;br /&gt;
&lt;br /&gt;
Každá jednotka musí podporovať párnu paritu. Pokiaľ nie je použitá parita, je nahradená druhým stop bitom.&lt;br /&gt;
&lt;br /&gt;
===MODBUS ASCII===&lt;br /&gt;
&lt;br /&gt;
V režime ASCII je každý 8-bitový byte posielaný ako dvojica ASCII znakov. Oproti režimu RTU je teda pomalší, ale umožňuje vysielať znaky s medzerami až 1s. Začiatok a koniec správy je totiž určený odlišne od RTU módu. Začiatok správy je indikovaný znakom „:“ a koniec správy dvojicou riadiacich znakov RC, LF.&lt;br /&gt;
&lt;br /&gt;
[[Image:05_ASCII_rámec_správy.jpg|framed|center|ASCII rámec správy]]&lt;br /&gt;
&lt;br /&gt;
Formát bytu (10 bitov):&lt;br /&gt;
&lt;br /&gt;
1 štart bit&lt;br /&gt;
&lt;br /&gt;
7 dátových bitov&lt;br /&gt;
&lt;br /&gt;
1 bit parita&lt;br /&gt;
&lt;br /&gt;
1 stop bit&lt;br /&gt;
&lt;br /&gt;
Každá jednotka musí podporovať párnu paritu. Pokiaľ nie je použitá parita, je nahradená druhým stop bitom.&lt;br /&gt;
&lt;br /&gt;
===MODBUS TCP/IP===&lt;br /&gt;
&lt;br /&gt;
MODBUS TCP/IP vychádza zo sériového MODBUS RTU. Bol navrhnutý pre modernejšie prenosové médium, ethernetovské siete. Má vyššiu komunikačnú rýchlosť. V ISO/OSI modele obsadí 6 vrstiev. Tvar správy v MODBUS TCP/IP je podobný základnému tvaru MODBUS správy pre sériovú linku, ale namiesto adresy obsahuje sedembytovú hlavičku (MBAP Header – MODBUS Application Protocol Header).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=wikitable border=1 cellpadding=5&lt;br /&gt;
|+ ISO/OSI model pre MODBUS TCP/IP&lt;br /&gt;
|-&lt;br /&gt;
| Aplikačná vrstva&lt;br /&gt;
| Aplikačná vrstva MODBUS&lt;br /&gt;
|-&lt;br /&gt;
| Prezentačná vrstva&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Relačná vrstva&lt;br /&gt;
| MODBUS na TCP&lt;br /&gt;
|-&lt;br /&gt;
| Transportná vrstva&lt;br /&gt;
| TCP&lt;br /&gt;
|-&lt;br /&gt;
| Sieťová vrstva&lt;br /&gt;
| IP&lt;br /&gt;
|-&lt;br /&gt;
| Linková vrstva&lt;br /&gt;
| Ethernet II / 802.3&lt;br /&gt;
|-&lt;br /&gt;
| Fyzická vrstva&lt;br /&gt;
| Ethernet&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:07_MODBUS_správa_na_TCP_IP.jpg|framed|center|MODBUS správa na TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
Hlavička obsahuje identifikátor transakcie (2 byty), identifikátor protokolu (2byty), veľkosť poľa (2 byty) a identifikátor jednotky (1 byte). Identifikátor transakcie je využívaný pre párovanie transakcií (identifikácia požiadavky a odpovede). MODBUS server túto hodnotu iba skopíruje z požiadavky do odpovede. Veľkosť poľa definuje dĺžku nasledujúcej správy (vrátane veľkosti identifikátora jednotky). Identifikátor protokolu a identifikátor jednotky sú využívaní v zložitejších sieťach, v ktorých sa komunikuje cez mosty, routery alebo brány. Identifikátor protokolu je pre MODBUS nastavený na hodnotu 0. Identifikátor jednotky definuje adresu jednotky v inej časti siete. Obidva predošlé identifikátory server tiež skopíruje z požiadavky do odpovede. Funkčné kódy aj chybové kódy sú pre MODBUS TCP/IP zhodné s kódmi sériového MODBUSU.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=wikitable border=1 cellpadding=5&lt;br /&gt;
|+ Príklad požiadavky MODBUS TCP/IP&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Popis&lt;br /&gt;
| Veľkosť v bytoch&lt;br /&gt;
| Hodnota&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor transakcie&lt;br /&gt;
| 2  &lt;br /&gt;
| 0x0115 &lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor protokolu&lt;br /&gt;
| 2  &lt;br /&gt;
| 0x0000&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Veľkosť poľa&lt;br /&gt;
| 2 &lt;br /&gt;
| 0x0006&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor jednotky&lt;br /&gt;
| 1  &lt;br /&gt;
| 0xFF&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS požiadavka&lt;br /&gt;
| Kód funkcie&lt;br /&gt;
| 1&lt;br /&gt;
| 0x03&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS požiadavka&lt;br /&gt;
| Počiatočná adresa&lt;br /&gt;
| 2&lt;br /&gt;
| 0x0002&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS požiadavka&lt;br /&gt;
| Počet registrov&lt;br /&gt;
| 2&lt;br /&gt;
| 0x0003&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=wikitable border=1 cellpadding=5&lt;br /&gt;
|+ Príklad kladnej odpovede MODBUS TCP/IP&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Popis&lt;br /&gt;
| Veľkosť v bytoch&lt;br /&gt;
| Hodnota&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor transakcie&lt;br /&gt;
| 2  &lt;br /&gt;
| 0x0115 &lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor protokolu&lt;br /&gt;
| 2  &lt;br /&gt;
| 0x0000&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Veľkosť poľa&lt;br /&gt;
| 2 &lt;br /&gt;
| 0x0008&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor jednotky&lt;br /&gt;
| 1  &lt;br /&gt;
| 0xFF&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS požiadavka&lt;br /&gt;
| Kód funkcie&lt;br /&gt;
| 1&lt;br /&gt;
| 0x03&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS požiadavka&lt;br /&gt;
| Dátový register 1&lt;br /&gt;
| 2&lt;br /&gt;
| 0x00B2&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS požiadavka&lt;br /&gt;
| Dátový register 2&lt;br /&gt;
| 2&lt;br /&gt;
| 0x0A03&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS požiadavka&lt;br /&gt;
| Dátový register 3&lt;br /&gt;
| 2&lt;br /&gt;
| 0x01C3&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=wikitable border=1 cellpadding=5&lt;br /&gt;
|+ Príklad zápornej odpovede MODBUS TCP/IP&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Popis&lt;br /&gt;
| Veľkosť v bytoch&lt;br /&gt;
| Hodnota&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor transakcie&lt;br /&gt;
| 2  &lt;br /&gt;
| 0x0115 &lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor protokolu&lt;br /&gt;
| 2  &lt;br /&gt;
| 0x0000&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Veľkosť poľa&lt;br /&gt;
| 2 &lt;br /&gt;
| 0x0003&lt;br /&gt;
|-&lt;br /&gt;
| Hlavička MBAP&lt;br /&gt;
| Identifikátor jednotky&lt;br /&gt;
| 1  &lt;br /&gt;
| 0xFF&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS odpoveď&lt;br /&gt;
| Kód funkcie&lt;br /&gt;
| 1&lt;br /&gt;
| 0x83&lt;br /&gt;
|-&lt;br /&gt;
| MODBUS odpoveď&lt;br /&gt;
| Chybový kód&lt;br /&gt;
| 1&lt;br /&gt;
| 0x02&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port 502 je pri TCP rezervovaný pre komunikáciu MODBUSu. Na tomto porte server počúva.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:11_Spôsob_naviazania_spojenia_pri_MODBUS_TCP_IP.jpg|framed|center|Spôsob naviazania spojenia pri MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
== Odkazy a literatúra ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://support.dce.felk.cvut.cz/mediawiki/images/3/38/Dp_2009_safranek_milan.pdf http://support.dce.felk.cvut.cz/mediawiki/images/3/38/Dp_2009_safranek_milan.pdf]&lt;br /&gt;
&lt;br /&gt;
[http://home.zcu.cz/~ronesova/bastl/files/modbus.pdf http://home.zcu.cz/~ronesova/bastl/files/modbus.pdf]&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Diskusia:Implement%C3%A1cia_protokolu_MODBUS/uBUS&amp;diff=5685</id>
		<title>Diskusia:Implementácia protokolu MODBUS/uBUS</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Diskusia:Implement%C3%A1cia_protokolu_MODBUS/uBUS&amp;diff=5685"/>
		<updated>2010-06-23T08:54:14Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;článok vyžaduje úpravu do štandardu kiwiki - tabuľky&lt;br /&gt;
&lt;br /&gt;
No. Som sa riadil podľa&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Tables/sk,&lt;br /&gt;
kde sa píše:&lt;br /&gt;
&amp;quot;Všeobecné pravidlo hovorí, že ak tabuľky naozaj nepotrebujete, je lepšie sa ich použitiu vyhnúť. Značky tabuliek často komplikujú úpravy stránky.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Implement%C3%A1cia_protokolu_MODBUS/uBUS&amp;diff=5424</id>
		<title>Implementácia protokolu MODBUS/uBUS</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Implement%C3%A1cia_protokolu_MODBUS/uBUS&amp;diff=5424"/>
		<updated>2010-06-22T15:34:17Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikroprocesorové systémy]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Draft}}&lt;br /&gt;
MODBUS&amp;lt;ref&amp;gt;http://cs.wikipedia.org/wiki/Modbus&amp;lt;/ref&amp;gt; je otvorený protokol pre vzájomnú komunikáciu rôznych zariadení, ktorý umožňuje prenášať dáta po rôznych sieťach a zberniciach. Komunikácia funguje na princípre predávania dátových správ medzi klientom a serverom (master a slave). V súčasnosti protokol MODBUS podporuje celý rad prenosových médií, RS-232, RS-422, RS-485, optické vlákno, rádiový prenos a ethernet.&lt;br /&gt;
&lt;br /&gt;
Existujú tri základné implementácie protokolu MODBUS. Štandardný MODBUS pre asynchrónny sériový prenos, novší ethernetový MODBUS TCP/IP a vysokorýchlostný MODBUS+. Protokol MODBUS tiež definuje dva vysielacie režimy pre sériovú linku – MODBUS RTU a MODBUS ASCII. Režim určuje formát prenášaných dát. Každé zariadenie musí podporovať režim RTU, ale režim ASCII je nepovinný. Podmienkou je, aby všetky zariadenia na jednej zbernici pracovali v rovnakom režime.&lt;br /&gt;
&lt;br /&gt;
=== MODBUS na sériovej linke ===&lt;br /&gt;
MODBUS Serial Line protokol je protokol typu Master-Slave a je definovaný na úrovni 2 ISO/OSI modelu. Na fyzickej úrovni 0 ISO/OSI modelu môžu byť použité rôzne sériové rozhrania, napr. RS-232 alebo RS-485 a ich varianty.&lt;br /&gt;
&lt;br /&gt;
[[Image:01_ISO_OSI_model_pre_sériový_MODBUS.jpg|framed|center|ISO/OSI model pre sériový MODBUS]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-rs485.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Zapojenie pre komunikáciu cez RS485'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jedná sa o Master/Slave protokol. V jednom okamihu môže byť na zbernici iba jeden Master a 1 až 247 Slave-ov. Komunikáciu vždy zahajuje Master, Slave nesmie vysielať dáta bez poverenia Master-a.&lt;br /&gt;
Master posiela požiadavky Slave-om v dvoch režimoch:&lt;br /&gt;
&lt;br /&gt;
*Unicast režim – Master adresuje požiadavku jednej konkrétnej Slave jednotke a tá pošle odpoveď&lt;br /&gt;
*Broadcast režim – Master posiela požiadavku všetkým jednotkám, žiadna jednotka neodpovie&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-unicats.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Unicast mode'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-broadcast.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Broadcast mode'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adresný priestor zahŕňa 256 rôznych adries&lt;br /&gt;
&lt;br /&gt;
[[Image:02_Adresný_priestor.jpg|center|framed|Adresný priestor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Master nemá žiadnu špecifickú adresu, iba Slave jednotky musia mať adresu a tá musí byť v celej MODBUS sieti jedinečná.&lt;br /&gt;
&lt;br /&gt;
Master vysiela požiadavku tak, že prvý byte obsahuje adresu Slave zariadenia, ktoré má odpovedať. Druhý byte hovorí, akú funkciu má Slave vykonať. Nasleduje dátová časť, kde je uložená počiatočná adresa v Slave zariadení, od ktorej chceme dáta čítať a počet prenášaných dát. Správa je zakončená kontrolným súčtom. Slave vysiela na žiadosť Master-a po zbernici správu, v ktorej prvý byte obsahuje adresu Slave zariadenia, druhý byte obsahuje kód vykonanej funkcie, nasleduje prenos dát a správa je opäť zakončená kontrolným súčtom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-master.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''Stavový diagram pre MODBUS Master'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-slave.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''Stavový diagram pre MODBUS Slave'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Na obrázku je znázornený základný formát MODBUS aplikačnej správy na sériovej linke. Správa okrem štandardnej MODBUS PDU (Protocol Data Unit) obsahuje pole „Adresa jednotky“. Toto pole obsahuje adresu Slave jednotky. Pole „Kontrolný súčet“ slúži k detekcii chýb a obsahuje CRC alebo LRC kód v závislosti na vysielacom režime.&lt;br /&gt;
&lt;br /&gt;
[[Image:03_Základný_tvar_MODBUS_správy_na_sériovej_linke.jpg|framed|center|Základný tvar MODBUS správy na sériovej linke]]&lt;br /&gt;
&lt;br /&gt;
===MODBUS RTU===&lt;br /&gt;
V režime RTU obsahuje každý 8-bitový byte správy dva 4-bytové hexadecimálne znaky. Vysielanie správy musí byť súvislé, medzery medzi znakmi nesmú byť dlhšie ako 1,5 znaku. Začiatok a koniec správy je identifikovaný podľa pomlčky na zbernici dlhšej ako 3,5 znaku. K detekcii chýb slúži 16-bitové CRC pole s generujúcim polynómom x&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt; + x&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; + x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 1&lt;br /&gt;
&lt;br /&gt;
[[Image:04_RTU_rámec_správy.jpg|framed|center|RTU rámec správy]]&lt;br /&gt;
&lt;br /&gt;
Formát bytu (11 bitov):&lt;br /&gt;
&lt;br /&gt;
1 štart bit&lt;br /&gt;
&lt;br /&gt;
8 dátových bitov&lt;br /&gt;
&lt;br /&gt;
1 bit parita&lt;br /&gt;
&lt;br /&gt;
1 stop bit&lt;br /&gt;
&lt;br /&gt;
Každá jednotka musí podporovať párnu paritu. Pokiaľ nie je použitá parita, je nahradená druhým stop bitom.&lt;br /&gt;
&lt;br /&gt;
===MODBUS ASCII===&lt;br /&gt;
&lt;br /&gt;
V režime ASCII je každý 8-bitový byte posielaný ako dvojica ASCII znakov. Oproti režimu RTU je teda pomalší, ale umožňuje vysielať znaky s medzerami až 1s. Začiatok a koniec správy je totiž určený odlišne od RTU módu. Začiatok správy je indikovaný znakom „:“ a koniec správy dvojicou riadiacich znakov RC, LF.&lt;br /&gt;
&lt;br /&gt;
[[Image:05_ASCII_rámec_správy.jpg|framed|center|ASCII rámec správy]]&lt;br /&gt;
&lt;br /&gt;
Formát bytu (10 bitov):&lt;br /&gt;
&lt;br /&gt;
1 štart bit&lt;br /&gt;
&lt;br /&gt;
7 dátových bitov&lt;br /&gt;
&lt;br /&gt;
1 bit parita&lt;br /&gt;
&lt;br /&gt;
1 stop bit&lt;br /&gt;
&lt;br /&gt;
Každá jednotka musí podporovať párnu paritu. Pokiaľ nie je použitá parita, je nahradená druhým stop bitom.&lt;br /&gt;
&lt;br /&gt;
===MODBUS TCP/IP===&lt;br /&gt;
&lt;br /&gt;
MODBUS TCP/IP vychádza zo sériového MODBUS RTU. Bol navrhnutý pre modernejšie prenosové médium, ethernetovské siete. Má vyššiu komunikačnú rýchlosť. V ISO/OSI modele obsadí 6 vrstiev. Tvar správy v MODBUS TCP/IP je podobný základnému tvaru MODBUS správy pre sériovú linku, ale namiesto adresy obsahuje sedembytovú hlavičku (MBAP Header – MODBUS Application Protocol Header).&lt;br /&gt;
&lt;br /&gt;
[[Image:06_ISO_OSI_model_pre_MODBUS_TCP_IP.jpg|framed|center|ISO/OSI model pre MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:07_MODBUS_správa_na_TCP_IP.jpg|framed|center|MODBUS správa na TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
Hlavička obsahuje identifikátor transakcie (2 byty), identifikátor protokolu (2byty), veľkosť poľa (2 byty) a identifikátor jednotky (1 byte). Identifikátor transakcie je využívaný pre párovanie transakcií (identifikácia požiadavky a odpovede). MODBUS server túto hodnotu iba skopíruje z požiadavky do odpovede. Veľkosť poľa definuje dĺžku nasledujúcej správy (vrátane veľkosti identifikátora jednotky). Identifikátor protokolu a identifikátor jednotky sú využívaní v zložitejších sieťach, v ktorých sa komunikuje cez mosty, routery alebo brány. Identifikátor protokolu je pre MODBUS nastavený na hodnotu 0. Identifikátor jednotky definuje adresu jednotky v inej časti siete. Obidva predošlé identifikátory server tiež skopíruje z požiadavky do odpovede. Funkčné kódy aj chybové kódy sú pre MODBUS TCP/IP zhodné s kódmi sériového MODBUSU.&lt;br /&gt;
&lt;br /&gt;
[[Image:08_Príklad_požiadavky_MODBUS_TCP_IP.jpg|framed|center|Príklad požiadavky MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:09_Príklad_kladnej_odpovede_MODBUS_TCP_IP.jpg|framed|center|Príklad kladnej odpovede MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:10_Príklad_zápornej_odpovede_MODBUS_TCP_IP.jpg|framed|center|Príklad zápornej odpovede MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port 502 je pri TCP rezervovaný pre komunikáciu MODBUSu. Na tomto porte server počúva.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:11_Spôsob_naviazania_spojenia_pri_MODBUS_TCP_IP.jpg|framed|center|Spôsob naviazania spojenia pri MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Odkazy a literatúra ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://support.dce.felk.cvut.cz/mediawiki/images/3/38/Dp_2009_safranek_milan.pdf http://support.dce.felk.cvut.cz/mediawiki/images/3/38/Dp_2009_safranek_milan.pdf]&lt;br /&gt;
&lt;br /&gt;
[http://home.zcu.cz/~ronesova/bastl/files/modbus.pdf http://home.zcu.cz/~ronesova/bastl/files/modbus.pdf]&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Implement%C3%A1cia_protokolu_MODBUS/uBUS&amp;diff=5417</id>
		<title>Implementácia protokolu MODBUS/uBUS</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Implement%C3%A1cia_protokolu_MODBUS/uBUS&amp;diff=5417"/>
		<updated>2010-06-22T15:27:03Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikroprocesorové systémy]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Draft}}&lt;br /&gt;
MODBUS&amp;lt;ref&amp;gt;http://cs.wikipedia.org/wiki/Modbus&amp;lt;/ref&amp;gt; je otvorený protokol pre vzájomnú komunikáciu rôznych zariadení, ktorý umožňuje prenášať dáta po rôznych sieťach a zberniciach. Komunikácia funguje na princípre predávania dátových správ medzi klientom a serverom (master a slave). V súčasnosti protokol MODBUS podporuje celý rad prenosových médií, RS-232, RS-422, RS-485, optické vlákno, rádiový prenos a ethernet.&lt;br /&gt;
&lt;br /&gt;
Existujú tri základné implementácie protokolu MODBUS. Štandardný MODBUS pre asynchrónny sériový prenos, novší ethernetový MODBUS TCP/IP a vysokorýchlostný MODBUS+. Protokol MODBUS tiež definuje dva vysielacie režimy pre sériovú linku – MODBUS RTU a MODBUS ASCII. Režim určuje formát prenášaných dát. Každé zariadenie musí podporovať režim RTU, ale režim ASCII je nepovinný. Podmienkou je, aby všetky zariadenia na jednej zbernici pracovali v rovnakom režime.&lt;br /&gt;
&lt;br /&gt;
=== MODBUS na sériovej linke ===&lt;br /&gt;
MODBUS Serial Line protokol je protokol typu Master-Slave a je definovaný na úrovni 2 ISO/OSI modelu. Na fyzickej úrovni 0 ISO/OSI modelu môžu byť použité rôzne sériové rozhrania, napr. RS-232 alebo RS-485 a ich varianty.&lt;br /&gt;
&lt;br /&gt;
[[Image:01_ISO_OSI_model_pre_sériový_MODBUS.jpg|framed|center|ISO/OSI model pre sériový MODBUS]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-rs485.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Zapojenie pre komunikáciu cez RS485'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jedná sa o Master/Slave protokol. V jednom okamihu môže byť na zbernici iba jeden Master a 1 až 247 Slave-ov. Komunikáciu vždy zahajuje Master, Slave nesmie vysielať dáta bez poverenia Master-a.&lt;br /&gt;
Master posiela požiadavky Slave-om v dvoch režimoch:&lt;br /&gt;
&lt;br /&gt;
*Unicast režim – Master adresuje požiadavku jednej konkrétnej Slave jednotke a tá pošle odpoveď&lt;br /&gt;
*Broadcast režim – Master posiela požiadavku všetkým jednotkám, žiadna jednotka neodpovie&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-unicats.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Unicast mode'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-broadcast.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''MODBUS - Broadcast mode'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adresný priestor zahŕňa 256 rôznych adries&lt;br /&gt;
&lt;br /&gt;
[[Image:02_Adresný_priestor.jpg|center|framed|Adresný priestor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Master nemá žiadnu špecifickú adresu, iba Slave jednotky musia mať adresu a tá musí byť v celej MODBUS sieti jedinečná.&lt;br /&gt;
&lt;br /&gt;
Master vysiela požiadavku tak, že prvý byte obsahuje adresu Slave zariadenia, ktoré má odpovedať. Druhý byte hovorí, akú funkciu má Slave vykonať. Nasleduje dátová časť, kde je uložená počiatočná adresa v Slave zariadení, od ktorej chceme dáta čítať a počet prenášaných dát. Správa je zakončená kontrolným súčtom. Slave vysiela na žiadosť Master-a po zbernici správu, v ktorej prvý byte obsahuje adresu Slave zariadenia, druhý byte obsahuje kód vykonanej funkcie, nasleduje prenos dát a správa je opäť zakončená kontrolným súčtom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-master.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''Stavový diagram pre MODBUS Master'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | [[Súbor:modbus-slave.png| 500px]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=500 | '''Stavový diagram pre MODBUS Slave'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Na obrázku je znázornený základný formát MODBUS aplikačnej správy na sériovej linke. Správa okrem štandardnej MODBUS PDU (Protocol Data Unit) obsahuje pole „Adresa jednotky“. Toto pole obsahuje adresu Slave jednotky. Pole „Kontrolný súčet“ slúži k detekcii chýb a obsahuje CRC alebo LRC kód v závislosti na vysielacom režime.&lt;br /&gt;
&lt;br /&gt;
[[Image:03_Základný_tvar_MODBUS_správy_na_sériovej_linke.jpg|framed|center|Základný tvar MODBUS správy na sériovej linke]]&lt;br /&gt;
&lt;br /&gt;
===MODBUS RTU===&lt;br /&gt;
V režime RTU obsahuje každý 8-bitový byte správy dva 4-bytové hexadecimálne znaky. Vysielanie správy musí byť súvislé, medzery medzi znakmi nesmú byť dlhšie ako 1,5 znaku. Začiatok a koniec správy je identifikovaný podľa pomlčky na zbernici dlhšej ako 3,5 znaku. K detekcii chýb slúži 16-bitové CRC pole s generujúcim polynómom x&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt; + x&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; + x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 1&lt;br /&gt;
&lt;br /&gt;
[[Image:04_RTU_rámec_správy.jpg|framed|center|RTU rámec správy]]&lt;br /&gt;
&lt;br /&gt;
Formát bytu (11 bitov):&lt;br /&gt;
&lt;br /&gt;
1 štart bit&lt;br /&gt;
&lt;br /&gt;
8 dátových bitov&lt;br /&gt;
&lt;br /&gt;
1 bit parita&lt;br /&gt;
&lt;br /&gt;
1 stop bit&lt;br /&gt;
&lt;br /&gt;
Každá jednotka musí podporovať párnu paritu. Pokiaľ nie je použitá parita, je nahradená druhým stop bitom.&lt;br /&gt;
&lt;br /&gt;
===MODBUS ASCII===&lt;br /&gt;
&lt;br /&gt;
V režime ASCII je každý 8-bitový byte posielaný ako dvojica ASCII znakov. Oproti režimu RTU je teda pomalší, ale umožňuje vysielať znaky s medzerami až 1s. Začiatok a koniec správy je totiž určený odlišne od RTU módu. Začiatok správy je indikovaný znakom „:“ a koniec správy dvojicou riadiacich znakov RC, LF.&lt;br /&gt;
&lt;br /&gt;
[[Image:05_ASCII_rámec_správy.jpg|framed|center|ASCII rámec správy]]&lt;br /&gt;
&lt;br /&gt;
Formát bytu (10 bitov):&lt;br /&gt;
&lt;br /&gt;
1 štart bit&lt;br /&gt;
&lt;br /&gt;
7 dátových bitov&lt;br /&gt;
&lt;br /&gt;
1 bit parita&lt;br /&gt;
&lt;br /&gt;
1 stop bit&lt;br /&gt;
&lt;br /&gt;
Každá jednotka musí podporovať párnu paritu. Pokiaľ nie je použitá parita, je nahradená druhým stop bitom.&lt;br /&gt;
&lt;br /&gt;
===MODBUS TCP/IP===&lt;br /&gt;
&lt;br /&gt;
MODBUS TCP/IP vychádza zo sériového MODBUS RTU. Bol navrhnutý pre modernejšie prenosové médium, ethernetovské siete. Má vyššiu komunikačnú rýchlosť. V ISO/OSI modele obsadí 6 vrstiev. Tvar správy v MODBUS TCP/IP je podobný základnému tvaru MODBUS správy pre sériovú linku, ale namiesto adresy obsahuje sedembytovú hlavičku (MBAP Header – MODBUS Application Protocol Header).&lt;br /&gt;
&lt;br /&gt;
[[Image:06_ISO_OSI_model_pre_MODBUS_TCP_IP.jpg|framed|center|ISO/OSI model pre MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:07_MODBUS_správa_na_TCP_IP.jpg|framed|center|MODBUS správa na TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
Hlavička obsahuje identifikátor transakcie (2 byty), identifikátor protokolu (2byty), veľkosť poľa (2 byty) a identifikátor jednotky (1 byte). Identifikátor transakcie je využívaný pre párovanie transakcií (identifikácia požiadavky a odpovede). MODBUS server túto hodnotu iba skopíruje z požiadavky do odpovede. Veľkosť poľa definuje dĺžku nasledujúcej správy (vrátane veľkosti identifikátora jednotky). Identifikátor protokolu a identifikátor jednotky sú využívaní v zložitejších sieťach, v ktorých sa komunikuje cez mosty, routery alebo brány. Identifikátor protokolu je pre MODBUS nastavený na hodnotu 0. Identifikátor Jednotky definuje adresu jednotky v inej časti siete. Obidva predošlé identifikátory server tiež skopíruje z požiadavky do odpovede. Funkčné kódy aj chybové kódy sú pre MODBUS TCP/IP zhodné s kódmi sériového MODBUSU.&lt;br /&gt;
&lt;br /&gt;
[[Image:08_Príklad_požiadavky_MODBUS_TCP_IP.jpg|framed|center|Príklad požiadavky MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:09_Príklad_kladnej_odpovede_MODBUS_TCP_IP.jpg|framed|center|Príklad kladnej odpovede MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:10_Príklad_zápornej_odpovede_MODBUS_TCP_IP.jpg|framed|center|Príklad zápornej odpovede MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port 502 je pri TCP rezervovaný pre komunikáciu MODBUSu. Na tomto porte server počúva.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:11_Spôsob_naviazania_spojenia_pri_MODBUS_TCP_IP.jpg|framed|center|Spôsob naviazania spojenia pri MODBUS TCP/IP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Odkazy a literatúra ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://support.dce.felk.cvut.cz/mediawiki/images/3/38/Dp_2009_safranek_milan.pdf http://support.dce.felk.cvut.cz/mediawiki/images/3/38/Dp_2009_safranek_milan.pdf]&lt;br /&gt;
&lt;br /&gt;
[http://home.zcu.cz/~ronesova/bastl/files/modbus.pdf http://home.zcu.cz/~ronesova/bastl/files/modbus.pdf]&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=S%C3%BAbor:11_Sp%C3%B4sob_naviazania_spojenia_pri_MODBUS_TCP_IP.jpg&amp;diff=4457</id>
		<title>Súbor:11 Spôsob naviazania spojenia pri MODBUS TCP IP.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=S%C3%BAbor:11_Sp%C3%B4sob_naviazania_spojenia_pri_MODBUS_TCP_IP.jpg&amp;diff=4457"/>
		<updated>2010-05-19T21:40:09Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=S%C3%BAbor:07_MODBUS_spr%C3%A1va_na_TCP_IP.jpg&amp;diff=4453</id>
		<title>Súbor:07 MODBUS správa na TCP IP.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=S%C3%BAbor:07_MODBUS_spr%C3%A1va_na_TCP_IP.jpg&amp;diff=4453"/>
		<updated>2010-05-19T21:37:57Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=S%C3%BAbor:05_ASCII_r%C3%A1mec_spr%C3%A1vy.jpg&amp;diff=4451</id>
		<title>Súbor:05 ASCII rámec správy.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=S%C3%BAbor:05_ASCII_r%C3%A1mec_spr%C3%A1vy.jpg&amp;diff=4451"/>
		<updated>2010-05-19T21:36:32Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=S%C3%BAbor:04_RTU_r%C3%A1mec_spr%C3%A1vy.jpg&amp;diff=4450</id>
		<title>Súbor:04 RTU rámec správy.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=S%C3%BAbor:04_RTU_r%C3%A1mec_spr%C3%A1vy.jpg&amp;diff=4450"/>
		<updated>2010-05-19T21:35:53Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=S%C3%BAbor:03_Z%C3%A1kladn%C3%BD_tvar_MODBUS_spr%C3%A1vy_na_s%C3%A9riovej_linke.jpg&amp;diff=4449</id>
		<title>Súbor:03 Základný tvar MODBUS správy na sériovej linke.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=S%C3%BAbor:03_Z%C3%A1kladn%C3%BD_tvar_MODBUS_spr%C3%A1vy_na_s%C3%A9riovej_linke.jpg&amp;diff=4449"/>
		<updated>2010-05-19T21:35:12Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Konfigurovate%C4%BEn%C3%A9_mikroprocesorov%C3%A9_syst%C3%A9my&amp;diff=4443</id>
		<title>Konfigurovateľné mikroprocesorové systémy</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Konfigurovate%C4%BEn%C3%A9_mikroprocesorov%C3%A9_syst%C3%A9my&amp;diff=4443"/>
		<updated>2010-05-19T20:35:59Z</updated>

		<summary type="html">&lt;p&gt;Dubovan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Category:Mikroprocesorové systémy]]&lt;br /&gt;
[[Kategória:Študijné materiály]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Názov=Konfigurovateľné mikroprocesorové systémy&lt;br /&gt;
Forma=Prednáška a praktické cvičenia&lt;br /&gt;
Abstrakt=Všeobecnej architektúra počítača a mikrokontroléra, rozdiely a porovnanie. Návrh a tvorb hybridných elektronických systémov na báze mikrokontrolérov PSoC. Komunikácia mikrokontroléra s prostredím. Komunikačné protokoly a štandardy. Pripájanie a riadenie periférií.  &lt;br /&gt;
Rozvrh=3/0/2&lt;br /&gt;
Hodnotenie=Spracovanie projektu a skúška&lt;br /&gt;
Poznámky=Predmetom projektu môže byť téma podľa vlastného výberu z oblasti prednášky a/alebo cvičení spracovaná v písomnej elektronickej podobe a verejne publikovaná na serveri KiWiKi. Hodnotenie a poznámky k projektu budú verejné a zverejnené v diskusii k práci. &lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obsah prednášok ==&lt;br /&gt;
* Všeobecný úvod&lt;br /&gt;
** [[Od počítača k mikrokontroléru]]&lt;br /&gt;
*** [[Architektúra všeobecného počítača]]&lt;br /&gt;
*** Architektúra mikrokontrolera&lt;br /&gt;
*** Prehľad aktuálneho stavu technológie&lt;br /&gt;
* [[Úvod do technológie PSoC]] &lt;br /&gt;
** Prehľad architektúry &lt;br /&gt;
** Elektrické a mechanické parametre&lt;br /&gt;
** Vývojové prostredie&lt;br /&gt;
* Assembler M8C&lt;br /&gt;
** Štruktúra assembleru&lt;br /&gt;
** Pseudoinštrukcie assembleru&lt;br /&gt;
** Makrá&lt;br /&gt;
* [[Inštrukcie procesora M8C]]&lt;br /&gt;
** [[Inštrukcie presunu dát]]&lt;br /&gt;
** [[Aritmetické inštrukcie]]&lt;br /&gt;
** [[Logické inštrukcie]]&lt;br /&gt;
** [[Inštrukcie pre prácu zo zásobníkom]]&lt;br /&gt;
** Skoky a podprogramy&lt;br /&gt;
** Špeciálne inštrukcie&lt;br /&gt;
** Prerušenia&lt;br /&gt;
* [[Základné programové konštrukcie]]&lt;br /&gt;
** [[Konštrukcia IF-ELSE]]&lt;br /&gt;
** [[Konštrukcia SWITCH-CASE]]&lt;br /&gt;
** [[Cykly DO-WHILE, FOR-LOOP]]&lt;br /&gt;
* [[GPIO - Všeobecne použiteľné vstupy a výstupy]] &lt;br /&gt;
** [[Popis GPIO]]&lt;br /&gt;
** [[Konfigurácia GPIO pomocou designera obvodu]]&lt;br /&gt;
** [[Programová konfigurácia GPIO]]&lt;br /&gt;
** [[Módy portov]]&lt;br /&gt;
** [[Pripojenie periférnych obvodov]]&lt;br /&gt;
** [[Pripojenie tlačítok a ošetrenie zákmitov]]&lt;br /&gt;
* [[Sériová asynchrónna komunikácia - UART]]&lt;br /&gt;
** Historický vývoj&lt;br /&gt;
** [[Štandard RS232]]&lt;br /&gt;
*** [[Rozhranie TTL/RS232]] &lt;br /&gt;
** [[Štandard RS485]]&lt;br /&gt;
*** Rozhranie TTL/RS485&lt;br /&gt;
** [[Blok UART]]&lt;br /&gt;
** API UART&lt;br /&gt;
** Protokol MODBUS/uBUS&lt;br /&gt;
*** [[Popis]]&lt;br /&gt;
*** [[Implementácia]]&lt;br /&gt;
* [[Synchrónna komunikácia I2C]]&lt;br /&gt;
** Meranie teploty pomocou LM92&lt;br /&gt;
** [[Hodiny reálneho času]] &lt;br /&gt;
* [[Synchrónna komunikácia SPI]]&lt;br /&gt;
* Distribuovaný systém zber dát 1-Wire&lt;br /&gt;
** Meranie teploty pomocou teplomera DS18S20&lt;br /&gt;
* Čítače a časovače&lt;br /&gt;
** Blok čítača a časovača&lt;br /&gt;
** API Čítača a časovača&lt;br /&gt;
** Generovanie časových intervalov&lt;br /&gt;
** Meranie času a frekvencie&lt;br /&gt;
** [[Presné meranie kapacity]]&lt;br /&gt;
** Meranie polohy pomocou magnetostrikčného senzoru&lt;br /&gt;
[[* Šírkový modulátor PWM]]&lt;br /&gt;
** Blok čítača a časovača&lt;br /&gt;
** API PWM&lt;br /&gt;
** Riadenie modelárskeho serva pomocou PWM&lt;br /&gt;
* [[Prevodníky ADC]]&lt;br /&gt;
** Aproximačné prevodníky&lt;br /&gt;
** Delta-Sigma prevodníky&lt;br /&gt;
* [[Prevodníky DAC]]&lt;br /&gt;
* Analógové spracovanie signálov&lt;br /&gt;
** [[Zosilňovače]]&lt;br /&gt;
** [[Komparátor]]&lt;br /&gt;
*** Spracovanie prerušenia od komparátora&lt;br /&gt;
** Filtre&lt;br /&gt;
*** Návrh a realizácia filtrov&lt;br /&gt;
* Všeobecné zásady tvorby programov&lt;br /&gt;
** Analýza&lt;br /&gt;
** Návrh &lt;br /&gt;
** Implementácia&lt;br /&gt;
** Testovanie a ladenie programu&lt;br /&gt;
&lt;br /&gt;
== Podklady k cvičeniam ==&lt;br /&gt;
# Binárne čísla&lt;br /&gt;
## Reprezentácia a formáty zobrazenia čísel&lt;br /&gt;
## Prevody medzi číselnými sústavami&lt;br /&gt;
## Matematické operácie s binárnymi číslami&lt;br /&gt;
# Vývojové prostredie PSoC&lt;br /&gt;
## Tvorba programov v PSoC Designer&lt;br /&gt;
## Vývojový kit CY3210&lt;/div&gt;</summary>
		<author><name>Dubovan</name></author>
		
	</entry>
</feed>