Uživatelské nástroje

Nástroje pro tento web


public:anybus:ctecka_profinet

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
public:anybus:ctecka_profinet [2021/03/16 12:42] frimlpublic:anybus:ctecka_profinet [2021/03/16 14:22] (aktuální) friml
Řádek 1: Řádek 1:
-==== Jak připojit čtečku čárového kódu do sítě profinet ====+==== Jak připojit čtečku čárového kódu do sítě profibus ====
  
-Představte si situaci, kdy potřebujete do stávající sítě profinet připojit čtečku čárového kódu se sériovým rozhraním RS-232. Čtečka funguje tak, že při každém úspěšném naskenování čárového kódu, tento kód odešle na seriový port. Potřebujeme tedy nakonfigurovat Anybus tak, aby čekal na seriovém portu na řetezec dat, jakmile tento řetězec dorazí tak z něj extrahovat data (naskenovaný kód) a poskytnout je na profinet rozhraní. Zároveň by měl nadřízenému systému dát vědět, že je k dispozici nově naskenovaný kód.+Představte si situaci, kdy potřebujete do stávající sítě profinet připojit čtečku čárového kódu se sériovým rozhraním RS-232. Čtečka funguje tak, že při každém úspěšném naskenování čárového kódu, tento kód odešle na seriový port. Potřebujeme tedy nakonfigurovat Anybus tak, aby čekal na seriovém portu na řetezec dat, jakmile tento řetězec dorazí tak z něj extrahovat data (naskenovaný kód) a poskytnout je na profibus rozhraní. Zároveň by měl nadřízenému systému dát vědět, že je k dispozici nově naskenovaný kód. 
 + 
 +Jedná se o tento případ: 
 + 
 +{{:public:anybus:maxresdefault.jpg?nolink&500x281|maxresdefault.jpg}} 
 + 
 +Pro náš případ tedy budeme potřebovat Anybus, který dokáže přenášet data ze sériového portu s obecnným ASCII protokolem na sběrnici profibus, kde bude v roli **//slave. //**  Pomocí [[https://www.anybus.com/products/gateway-index|průvodce]] a zadáním potřebných rozhraní na obou stranách, získáme potřebný model Anybus. 
 + 
 +[[https://www.anybus.com/products/gateway-index|{{:public:anybus:snimekobrazovky2021-03-16v13.53.14.png?nolink&500x370}}]] 
 + 
 +V našem případě tedy budeme potřebovat [[https://e-shop.fccps.cz/anybus-communicator-profibus-dp-_d6961.html?fulltextword=ab7000|AB7000]] 
 + 
 +Ke konfiguraci použijeme [[https://cdn.hms-networks.com/docs/librariesprovider7/default-document-library/software/hms-scm-1204-169.zip?sfvrsn=f1eaa9d6_14|Anybus configuration manager]]. 
 + 
 +Jako první musíme zvolit správný typ sběrnice, ke které budeme Anybus připojovat. V našem případě bude Anybus v roli profibus slave tzn. zvolíme PROFIBUS-DP. 
 + 
 +{{:public:anybus:c1.png?nolink&600x201}} 
 + 
 +V druhém kroku volíme v jakém režimu (1) bude fungovat sériový port na který budeme připojovat čtečku čárového kódu. Na výběr je **Master mode** (AnyBus by vysílal dotazy do připojeného zařízení a očekával by odpovědi), **Generic data mode** (Anybus bude pouze poslouchat příchozí data na seriovém portu) a poslední možností je **DF1-Master mode ** (pro připojení zařízení používající DF1 protokol). Našemu zadání odpovídá **Generic data mod ** (čtečka odesílá data automaticky při úspěšném naskenování kódu).\\ 
 +Volbou (2) povolíme počítání příchozích zpráv ze čtečky a umístění hodnoty čítače v paměti Anybus. Při tomto nastavení se bude automaticky inkrementovat hodnota na adrese 30h při každém úspešném načtení kódu. 
 + 
 +{{:public:anybus:c2.png?nolink&600x262}} 
 + 
 +Dále je potřeba nastavit, parametry komunikace se čtečkou (1) rychlost komunikace a formát dat. Dále by šlo nastavit kterýcm znakem začíná, nebo končí jednotlivé bloky dat, nebo to lze zjednodušit a nastavit minimální dobu mezi jednotlivými bloky (2). V našem případě jsme nestavili 100x10uS = 1 ms. Tzn. pokud v příchozích datech mezera 1 ms, bude se to brát jako nový scan. 
 + 
 +{{:public:anybus:c7.png?nolink&600x306}} 
 + 
 +Další nastavení se týká definice formátu dat, které připojené zařízení posílá. V našem ukázkovém připadě budeme počítat s tím, že čtečka odesílá data ve formátu ASCII a každý oskenovaný kód bude začínat znakem **#**. Vytvoříme si tedy transakci typu //Consume//
 + 
 +{{:public:anybus:c3.png?nolink&600x244}} 
 + 
 +Do jejího těla přidáme dvě pole. První pole bude představovat očekávaný znak **#** tzn. konstanta 23h (ASCII hodnota znaku #) 
 + 
 +{{:public:anybus:c4.png?nolink&600x230}} 
 + 
 +a jako druhou položku dáme položku //Variable data// která bude obsahovat naskenovaný kód. U této položky již musíme zadat (1) adresu paměti a velikost paměti, kterou bude pro tato data rezervovat. V našem případě bude maximální délka naskenovaného kódu 48(30 hex) znaků a bude se ukládat od adresy 0. Volbou (2) nastavujeme jakou hodnotou budou vyplněna paměťová místa pro kódy kratší než 48 znaků. 
 + 
 +{{:public:anybus:c5.png?nolink&600x248}} 
 + 
 +Na následujícm obrazků je vidět rozložení paměťového prostoru. Na prvních 48 bytech je naskenovaný kód a na pozici 49 je počítadlo scanů. 
 + 
 +{{:public:anybus:c6.png?nolink&600x284}} 
 + 
 +Detailní postup je v následujícím videu: 
 + 
 +{{youtube>f-xwfe4-wPU?widthxheight=700x500}}
  
 ---- ----
public/anybus/ctecka_profinet.1615898567.txt.gz · Poslední úprava: 2021/03/16 12:42 autor: friml