Jste zde

Průmyslová sběrnice P-NET

P-NET je univerzální sběrnice, která je však nejvíce vhodná pro automatizační procesy s distribuovaným řízením a zpracováním dat. Standard definuje velmi zajímavý princip přístupu na sběrnici současně až pro několik desítek jednotek Master a zajímavě řešenou multisběrnicovou strukturu pro rozsáhlé aplikace.

P-NET je průmyslová sběrnice vytvořená dánskou firmou Proces-Data AS a navržená pro distribuované automatizační procesy a vzájemnou komunikaci zařízení, jakými jsou například počítače, inteligentní senzory, akční členy, I/O mouduly, kontroléry, PLC, PAC, Embedded PC apod. Je vhodná pro digitální přenos dat ( např. naměřené hodnoty senzorů, signály pro řízení ventilů apod.), pro sběr dat, dálkové konfigurace uzlů / senzorů a download a změny jejich aplikačních programů. Díky možnosti použití multisběrnicové (Multi-Bus) struktury (obrázek 3.) je sběrnice vhodná jak pro malé provozy, tak i pro rozsáhlé továrny s mnoha stovkami připojených senzorů, PLC a moduly.

Základní parametry sběrnice byly již definovány v roce 1983, ale až v roce 1987 byla definována multisběrnicová struktura a kompletní standard byl vypuštěn v roce 1989. Díky velkému celosvětovému rozšíření byl standard v roce 1996 přijat jako evropský standard " P-NET - the European Fieldbus Standard EN 50170, Volume 1 ".

ZÁKLADNÍ CHARAKTERISTIKA

Charakteristické rysy standardní konfigurace lze shrnout do následujících bodů:

    • Fyzický přenos dat založen na standardu RS-485 (mohou se na fyzické vrstvě použít obvyklé komponenty)
    • Galvanicky oddělené rozhraní
    • Možnost napájení účastníků po sběrnici
    • Dvoudrátové vedení s délkou jednoho segmentu až 1200 m
    • řízení komunikace na principu Master - Slave s možností více Master jednotek v jednom segmentu
    • Adresace tzv. Virtuálním tolkenem
    • Až 125 účastníků na jednom segmentu
    • Až 32 jednotek Master na jednom segmentu
    • Multi-Bus struktura - jakýkoliv počet propojitelných P-NET sběrnic prostřednictvím Controller Gateways
    • Asynchronní přenos znaků, 8 bitů dat, sudá parita
    • Přenosová rychlost 76800 baud, kódování NRZ (Non-Return Zero)
    • Až 300 datových transakcí/sekundu z 300 nezávislých adres = cca 500 kb/s v jiných systémech
    • Zabezpečení datového bloku pomocí kontrolního součtu, diagnostika správného přenosu dat
    • Programování aplikací pro P-NET ve vyšším programovacím jazyku (Pascal - Pascal P-NET compiler)

Obr. 1. Jednoduché blokové schéma P-NET sběrnice

STRUKTURA KOMUNIKACE dle OSI modelu

Samotný model komunikace je založen na RM-OSI modelu (Open Systems Interconnection Reference
Model) dle následující tabulky 1.


 
 

Vrstva OSI modelu

Funkce

 

Standard

7. Aplikační

Tvoří rozhraní k aplikačním programům, která definují datové typy, umožňuje přístup k proměnným definovaných ve struktuře, v tzv. Softwire listu

EN 50170

6. Prezenční

nevyužívá se

 

5. Spojová

nevyužívá se

 

4. Transportní (Service layer)

Vytváří rámec, spravuje programové služby (Program service), které řídí bloky příchozí z aplikační vrstvy a tzv. P-NET service program, který přijímá a vysílá pakety do 3. vrstvy, vykonává instrukce definované v paketech a nastavuje položku "status info" podle obsažených dat a chybovosti.

EN 50170

3. Síťová

Přenáší pakety mezi 2. a 4. vrstvou a vykonává funkci brány (Gateway) - směrování paketů

EN 50170

2. Linková

řídí přístup na sběrnici (Bus Access), včetně Multi-Bus verze, vytváří a rozpoznává rámce a adresy uzlů, řídí a kontroluje chybovost přenosu

EN 50170

1. Fyzická

Provádí přijímání a vysílání posloupnosti bitů na sběrnici. Definuje elektrické rozhraní, přenosovou rychlost, typ kabelů apod.

EIA RS 485

Tab. 1. OSI-Model průmyslové sběrnice P-NET

Obr. 2. Grafické rozdělení celého systému sběrnice P-NET dle RM-OSI modelu (viz. Tab. 1.) (detail)

Fyzická vrstva

Základem fyzické struktury, tj. přenosu dat pro sběrnici tvořené kabelem, je standard RS-485, přičemž lze omezeně použít i standard RS-232 a nejnověji i standard IS-16. Na obrázku 3. je patrná topologie sítě typu kruh (ring), tedy bez nutnosti zakončení sítě terminály. Kruh je tvořen dvouvodičovým stíněným vedením jehož délka může být až 1200m (dle EIA RS 485) s max. 125 připojenými zařízeními.

Obr. 3. Příklad P-NET sběrnice v Multi-Bus struktuře (detail)

Jde o asynchronní přenos konstantní rychlostí 76.8 kbit/s využívající kódování datového toku metodou NRZ (Non-Return to Zero) . Posloupnost sériového přenosu dat probíhá dle obrázku 4. Jako propojovací kabel je definován stíněný zkroucený pár (Shielded twisted pair cable) s minimálním průřezem žíly 0.22 m2 a charakteristickou impedancí 100 až 200 Ohmů. Jako přípojné terminály jsou definovány šroubovací svorkovnice pro datové vodiče A, B a stínění S. Ve standardu je také definován přenos po RS-232 (až 38.4 kb/s), jako případná náhrada za RS-485. Připojované zařízení/uzel musí být galvanicky oddělen od sběrnice.

Obr.4 . Sériový přenos dat po sběrnici

Linková vrstva

Úloha linkové vrstvy ve sběrnici P-NET, je řídit přístup na sběrnici včetně přístupu a řízení multi-bus struktury (viz. obr. 2.), vytvářet a rozeznávat rámce, adresovat uzly sítě a zajišťovat vše okolo zabezpečení a chybovosti přenosu. Veškerá data jsou na sběrnici vysílána v rámcích (frames) rozdělené na 8bitové bloky (1. bit je LSB) vysílané sériově asynchronně (viz. obrázek 4.). 8. bit v bitové posloupnosti určuje počátek rámce. Když je roven log. 1, je právě přenášen 1. bajt nového rámce, pokud je log.0, jde o další bajty právě přenášeného rámce. Struktura přenášeného rámce, tvořeného transportní vrstvou, je na obrázku 10. Každý vyslaný rámec je oddělen minimálně periodou délky přenosu 11bitů (11 bit-period) (viz. obrázek 5.).

Obr. 5. Schéma určování přístupu na sběrnici - Virtual Tolken

Komunikace mezi master jednotkou a daným uzlem-slave jednotkou probíhá vždy v čase, kdy daná master jednotka (všechny mají stejnou prioritu) dostane pověření ke komunikaci - Virtual Tolken Passing. Master pak může vyslat max. jednu žádost - rámec adresované slave jednotce. Adresování probíhá periodicky v kruhu prostřednictvím čítače, tzv. Access Counter. Na obrázku 5. například právě bylo čítačem přiděleno pověření ke komunikaci master jednotku 2, která komunikuje s slavou jednotkou. Pak následuje v komunikaci master jednotky 3 atd. (max. 32 master jednotek). V případě, že není potřeba danou master jednotkou komunikovat, tzn. nezačnou se přenášet rámce, dochází po uplynutí 10 bit-period k zvýšení obsahu Access-Counteru a je předána možnost komunikovat další master jednotce (viz. obrázek 6.).

Obr. 6. Schéma pro vysílání dat na sběrnici od jednotky číslo 4

K počítání doby bez komunikace slouží další čítač, tzv. Idle Bus Bit-period Counter (viz. obr. 6). Ten se vynuluje když začne probíhat komunikace s nějakou slave jednotkou, na kterou právě " vyšla řada". Pokud dlouho neprobíhá na sběrnici žádná komunikace a Idle Bus Bit-period Counter napočítá více než 360, vyšle se synchronizační rámec pro zasynchronizování čítačů (Counters) všech jednotek (viz. obrázek 7). Díky této struktuře není nutné přenášet pověření (tolken) fyzicky, protože si svoje pověření k vysílání odvodí každá jednotka samostatně na základě sledování komunikace na sběrnici a počítání vlastních čítačů - Virtual Tolken Passing.

Obr. 7. Schéma při nekomunikaci na sběrnici - Idle Bus Counter

Celý příklad složené posloupnosti komunikace a přenosu rámců po sběrnici je následující - event.gif.

Adresace jednotlivých uzlů - slave jednotek

Adrese každého uzlu segmentu je vyhrazeno 7bitů, přičemž 8. bit udává informaci, zda je o žádost nebo odpověï dané jednotky (request = 0, response=1). Adresy 0 a 128 jsou vyhrazeny pro interní aplikace, resp. pro test. Tzn. 125 adres pro uzlu v jednom segmentu.

Síťová vrstva

Síťová vrstva obhospodařuje mimo jiné i komunikaci a přenos dat v mutisběrnicové (Multi-Bus) struktuře. Její výhodou je možnost rozdělit jeden velký celek do více menších (P-NET segmenty), které vykonávají odlišné funkce (viz. obrázek 8). Cetrálně řízený systém se tak stává systémem s distribuovaným řízením, kde v každém menším celku se již informace úplně nebo alespoň částečně zpracuje a vyšší úrovni řízení se již předává menší počet hodnot a parametrů (většina dat se přenáší v daném P-NET segmentu a již ne v jiném). Tím lze velmi zrychlit přenos parametrů a řízení celého systému. Navíc výpadek jedné části (P-NET segmentu) nezpůsobí kolaps celého systému.

Obr. 8. Komunikace v Multi-Bus struktuře

K směrování paketů přenášených mezi P-NET segmenty propojené bránami (Multi-port Masters v obrázku 8.) se používá jednoduchý systém, který umožňuje adresovat cestu až přes 10 bran (Gateways) bez nutnosti existence stacků nebo pamětí implementované v bráně. Jedná se o zdrojové směrování, kde adresní pole rámce dat (viz. obrázek 9) obsahuje zdrojové a cílové adresy všech uzlů sítě (směrovačů - bran), přes které má rámec procházet. Adresní pole můžeme rozdělit po jednotlivých bajtech tak, že prvních X bajtů označuje cílové adresy X směrovačů - bran, přes které se má dojít k cíly a následujících Y bajtů zdrojových adres, udávající původce rámce a tím i směr přenosu zpět. Paket přicházející ke směrovači, bráně či Multi-Port Masteru, podle toho jak se to označí, má v adresním poli následující posloupnost:

Obsah adres adresního pole před směrovačem: Cílová1, Cílová2, Cílová3, .... Cílová8, Zdrojová0

Obsah adres adresního pole po průchodu směrovačem: Cílová2, Cílová3,.... Cílová8, Zdrojová1,Zdrojová0

Tak to stejným způsobem probíhá změna v adresním poli v každém dalším směrovači (například v našem případě směrovač s adresou Cílová2). V cílové adrese již zůstanou v adresním poli pouze zdrojové adresy pro přenos odpovědi zpět.

Transportní vrstva (Service layer)

Transportní vrstva zde provádí převod hodnot a fyzikálních proměnných z tzv. Softwire listu na přenositelná data, která včlení spolu s adresami a dalšími informacemi do rámce paketu (viz. obrázek 9), který se pak přenáší. Dále pak zpracovává P-NET a programové služby.

Obr. 9. Formát přenášeného rámce tvořeného transportní / servisní vrstvou

Na začátku se přenáší adresy uzlů (Note address filed), případně v multi-bus struktuře jsou tu i směrovací adresy, jak se k němu dostat přes brány. Následuje řídící / stavový bajt (Control/Status), který udává kód operace, kterou má cílové zařízení provést nebo jak má naložit s přenášenými daty. Dále je zde informace o délce rámce (Info length). V poli "Info field" se již přenášejí data předaná aplikační vrstvou a rámec je zakončený zabezpečovacími bajty (Error detection).

Dalším úkolem této vrstvy je naplnění datového pole a s tím souvisí správa tzv. seznamu proměnných (softwire list). To je tabulka globálních proměnných fyzicky přiřazené každému konkrétnímu uzlu, například jsou to různé naměřené hodnoty či rozsahy měření, offsety, chyby apod. již uvedené v konkrétních jednotkách SI soustavy (viz. obrázek 11.). Při přenášení daných hodnot tak na konkrétní místo dané hodnoty v softwire listu odkazuje pořadové číslo - softwire number (SWNo).

Aplikační vrstva

Aplikační vrstva je již součástí uživatelského programu či aplikace a definuje, co má předchozí transportní vrstva zařadit do rámce a jaké má vyslat instrukce cílové jednotce. Využívá tak proměnných softwire listu, do kterých transformuje změřené hodnoty vstupů (viz. obrázek 10.), a které normuje do definovaných měrových jednotek měřené veličiny.

Obr. 10. Příklad praktické komunikace z oblasti MaR - regulace boileru

Procesy většinou obsahují více informací než je jen stav nebo hodnotu fyzikální veličiny. Souhrn všech informací a hodnot jednoho vstupu je uložen v objektu. Objekt je zde vlastně jeden proces, který je definován sadou proměnných (např. okamžitá hodnota veličiny, kalibrační funkce - rozsah, min. a max. hodnota, informace o poruše atd.) - viz. Digital I/O #2 na obrázku 11. Ve standardu sběrnice P-NET každý objekt tvoří kanál (Channel). Každý kanál může mít maximálně 16 položek, které jsou při přenosu definovány číslem SWNo. Na obrázku 11. například digitální vstup 2 tvoří jeden kanál s 16 položkami.

,

Obr. 11. Kanál (Channel) daného digitálního vstupu s příklady přenášených hodnot v seznamu proměnných (softwire list)

Položky (proměnné v registrech) mohou nabývat hodnot jednoduchých typů integer, real, word, boolean, byte, char atd. nebo složených typů array, record, buffer. Typy odpovídají programovacímu jazyku Pascal. Standard P-NET definuje některé kanály (včetně jejich položek) označené jako Service channel, Program channel, Communation channel, Digital I/O channel (viz. obrázek 11), Common channel, PID channel, Printer channel, Weight channel apod. Tím je zajištěna bezproblémový přenos dat a parametrů mezi zařízeními různých výrobců. Protože vše okolo kanálů je pouze softwarová záležitost, mohou proměnné svázané s položkami kanálu být v různých typech pamětí (Flash, EEPROM, ROM, RAM či harddisk) dle nutnosti a potřeby dané aplikace (např. kvůli odolnosti proti výpadku napájení).

Závěr

Sběrnice P-NET byla již sice navržena před dlouhým časem, ale její promyšlená struktura, na vyšších hladinách OSI modelu podobná sběrnici LonWorks, stále má co říci i v dnešní době. Svými přenosovými parametry se plně vyrovná i sběrnicím Profibus, Navíc se stále pracuje na její průběžném vylepšování firmou Proces-Data a International P-NET User Organization. Po světě ji využívá mnoho firem v mnoha aplikacích jakými jsou například: textilní továrny, zemědělské framy, testovací linky firem Bosh a Siemens, automatizace a regulace budov, řízení klimatizací, vytápění. Pro napojení sběrnice s PC a Ethernetem slouží software VIGO (Fieldbus Managment System) pro OS Windows, který je možné použít k real-time řízení sběrnice, změně přenášených dat a parametrů, nahrávání programů do uzlů sítě. Dále funguje jako automatizační server (OLE2 Automation Server) poskytující interface pro Excel, Visul Basic a Visual C++ programy.

Praktické zajímavé informace o sběrnici P-NET, vše okolo konkrétního propojování modulů apod., lze najít na stránkách firmy Proces-Data.

Antonín Vojáček
vojacek@ hwg.cz

DOWNLOAD & Odkazy

 

Hodnocení článku: