Jste zde

Sběrnice SDS (Smart Distributed System) - nadstavba CAN

SDS je zajímavá průmyslová sběrnice primárně podporovaná výrobky firmy Honeywell, která umožňuje po CAN sběrnici řídit systémy tvořené senzory, akčními členy (motory) a výpočetními/řídícími jednotkami v podobě PLC nebo Embedded PC. Nejčastější je použití v automobilovém a potravinářském průmyslu.

SDS sběrnice, neboli Smart Distributed System (Chytrý distribuovaný systém), je víceúčelová průmyslová komunikační sběrnice využívaná primárně firmou Honeywell - www.honeywell.com, vhodná pro diagnostiku, sběr dat z připojených senzorů, komunikaci programovatelných automatů. Jako taková je SDS aplikována softwarově v aplikační (7.) hladině OSI modelu komunikace, přičemž však v sobě zahrnuje úkony jinde obstarávající nižší hladiny (4. až 6.). Na fyzické a linkové hladině se využívá již velmi rozšířeného standardu CAN2.0. Tím je možné nasazení SDS v podstatě jednoduchá záležitost, kdy se pouze instalují nové senzory a řídící software v PC, ale kabeláž a základní přesnost dat zůstává zachován. Změna nastane pouze v obsahu dat, které se budou fyzickou komunikační sítí přenášet. Díky svým vlastnostem popsaným níže je SDS nejvíce vhodná pro systémy s velkým množstvím senzorů a akčním členů. Taková komplikovaná zařízení lze například nalézt v potravinářské oblasti (balící, vážící a etiketovací stroje) nebo v robotizovaných provozech automobilového průmyslu.

ZÁKLADNÍ CHARAKTERISTIKA

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

    • Přenos dat s volitelnou rychlostí 125, 250, 500 nebo 1000 kb/s
    • Volitelná maximální velikost sítě (end-to-end network distance ) v rozsahu 100 až 500 m
    • Volba zda galvanicky oddělené nebo neoddělené fyzické rozhraní
    • Možnost napájení jednotek po sběrnici (11 až 25 V)
    • Datové pakety s volitelnou délkou 0 až 8 bajtů
    • Protokol pro vytváření rámců z větších bloků dat
    • Řízení komunikace Multi-Master a Master-Slave nebo peer-to-peer s možností Multi-Cast přenosu
    • Využití standardu CAN na 1. a 2. vrstvě OSI modelu
    • SDS (Smart Distributed System) definuje aplikační vrstvu, hierarchii adresování a komponenty

Použití

  • Přenos hodnot z analogových i digitálních senzorů
  • Řízení motorů
  • Komunikace PLC a Embedded PC
  • Přesnost dat do centrálního systému - PC
  • Plnicí a balící systémy např. v potravinářském průmyslu
  • Automobily, Automobilové továrny a výroba
  • Zpracování a úprava materiálu
  • Řízení dopravníků a přeprava materiálu
  • Automatické skladovací systémy

 

Obr.1. Příklad použití sběrnice SDS (Smart Distributed System) v oblasti potravinářského průmyslu

STRUKTURA KOMUNIKACE SDS (Smart Distributed System)

Smart Distributed System Application Layer Protocol (ALP) byla navržena pro rychlou, ale zároveň spolehlivou, průmyslovou komunikaci téměř všech automatizačních prvků současného moderního řízení včetně řízení v reálném čase. Spolehlivost přenosu dat je zajištěná prostřednictvím chybových a potvrzovacích zpráv, takže každé komunikační zařízení má jistotu přenesení požadovaných příkazů i dat.


 

Smart Distributed System ALP je založen na třívrstvé architektuře RM-OSI modelu (Open Systems Interconnection Reference Model) - viz obrázek 2. Ta je v současné době nejvíce vhodná pro použití s inteligentními řídícími systémy a senzory, kde je mimo samotného fyzického přístupu na přenosové médium lze vše ostatní řešit softwarově programem běžícím na mikroprocesoru nebo mikrokontroléru daného PLC nebo smart senzoru.

Obr. 2. OSI-Model průmyslové sběrnice SDS

SDS protokol je realizován hlavně softwarově na úrovni aplikační vrstvy OSI modelu, přičemž k fyzické komunikaci a přenosu dat se na fyzické a linkové vrstvě využívá jiných protokolů a standardů - viz obrázek 3. Nejběžnější je využití průmyslové rozšířené standardu CAN verze 2.0A na úrovni linkové a částečně i fyzické vrstvy. Samotná fyzická komunikace zahrnující přístup na médium (kabel), provedení kabelů, konektory apod. jsou například podobné s průmyslovou sběrnicí DeviceNet, která též využívá CAN. Na aplikační hladině vytvořený blok složený z identifikačních údajů, řídících příkazů a dat - Application Layer Protocol Data Unit, je následně zapouzdřen CAN rámce ve vrstvě linkové (CAN DATA LINK LAYER) a společně vyslány po kabelu s konektory a zakončením definovaným ve fyzické vrstvě.

Obr. 3. Vzájemná pozice SDS a standardů na nižších vrstvách

Pro potřeby pochopení funkce SDS sběrnice i pro potřeby jejího modelování, programování a návrhu je struktura každého zařízení rozložena do obecných bloků. Každé fyzické zařízení připojené na SDS sběrnici lze si tedy představit jako fyzickou komponentu (Physical Component) propojenou s ostatními komponentami pomocí SDS Bus. Každá komponenta je pak složena z CAN řadiče (CAN Controller), zahrnující i hardwarové obvody vysílač/přijímače (tranceiver) nutné pro fyzický přístup na médium, a tzv. logického zařízení (Logical Device). To v praxi fyzicky representuje například nějaký procesor nebo FPGA, které přes CAN komunikuje prostřednictvím svojí dané 7bitové adresy s jinými podobnými logickými jednotkami. Každé logické zařízení pak muže obsahovat 1 nebo více tzv. virtuálních objektů (Embedded Objects), které lze pro představu v praxi přirovnat k části programu mikroprocesoru ovládající nějaké vstupy a výstupy s připojenými akčními členy nebo senzory, případně rozhraní jiných průmyslových i komerčních komunikačních sběrnic.

Obr. 4. Struktura a hierarchie sběrnice SDS a připojených jednotek

Základní struktura vzájemné komunikace je omezena možnostmi sběrnice CAN, tzn. základ tvoří přenos paketů formou žádost/odpověď (Request/Response), kdy zařízení vysílá data ve formě jednoho nebo několika po sobě jdoucích paketů (v případě tzv. fragmentace) jinému zařízení s definovanou adresou (request), které jejich přijetí zpětně potvrdí vysláním potvrzovacího paketu (Response). To vysílající zařízení přijme jako potvrzení úspěšného doputování dat k cíli a jejich správnému dekódování (Confirm) - viz obrázek 5. Docela striktní omezení CAN komunikace na linkové vrstvě OSI modelu je pak obelstěno v aplikační hladině SDS sběrnice, kde se v rámci datová části CAN rámce ještě přenáší řídící a směrovací záhlaví SDS rámce.

Obr. 5. Vzájemná SDS komunikace dvou zařízení (device) - žádosti (Request)/odpověď (Response)

Komponentní model a hierarchie SDS komunikace

Jak již bylo popsáno výše, je každé komunikující zařízení z pohledu SDS sběrnice definované jako soubor bloků vzájemně vnořených. Základním blokem je fyzické zařízení (Physical Component) s CAN rozhraním, které mohou obsahovat 1 až 126 logických zařízení (Logical Device). Ty představují hlavní komunikační jednotky, které jsou mají definovanou adresu 7 bity v CAN rámci a tedy mohou spolu komunikovat. Každý logické zařízení pak může obsahovat 1 až 32 virtuálních objektů, tzv. Embedded Objects. Ty se adresují zvláštním přídavkem k logické adrese, tzv. EOID, které v rámci Logického zařízení zvolí jeden konkrétní Embedded Object. Ten již představuje konkrétní soubor parametrů/atributů (Attributes), příkazů (Actions) a událostí (Events) popisující daný analogové nebo digitální vstupy/výstupy a na ně například připojený senzor nebo akční člen - motor (I/O devices), komunikační rozhraní PLC nebo PC (Interfaces),

Obr. 6. Model komponent zahrnující hierarchie SDS struktury

Z pohledu modelování, návrhu a realizace SDS sítě se uvedená skupina objektů převádí na stromovou strukturu popisující závislosti jednotlivých vnořených parametrů. Postupem od kořeny stromu na vrcholu ke koncové jednotce ve spodu, dochází k postupnému zpřesňování datových a řídících informací pro konkrétní vstup, výstup nebo rozhraní.

Obr. 7. Grafické znázornění adresování bloků - stromové hierarchie SDS sběrnice

Embedded Objects se podle svých vlastností a funkcí dělí na následující typy:

  • I/O Device (vstupní/výstupní zařízení; vstupy/výstupy) - definují vlastnosti analogových i digitálních vstupů a výstupů. Tento blok může být samostatný uvnitř logického zařízení nebo může koexistovat s jinými objekty
  • Interface (rozhraní) - definuje rozhraní pro komunikaci s jinými sběrnicemi a platformami (např. PLC, Embedded PC ). Mohou tvořit tzv. bránu (Gateway) k jiným průmyslovým sběrnicím.
  • Function block (Funkční blok)- je to kolekce funkcí dle standardu IEC 1131-3. Tyto funkční bloky jsou definovány SDS a dokumentaci podrobně popsány
  • Encapsulate Function Block (EFB) (zapouzdřený funkční blok) - pevné řídící algoritmy uvnitř objektů "I/O Device" a pracují pouze s jeho atributy. Cílem je omezit počet atributů na minimální počet.

Každý objekt je pak dále rozdělen na atributy (Attributes), které obsahují informace o určitých parametrech daného objektu, akce-operace (Actions), které lze s objektem provádět a události (Events), na které objekt reaguje, a o kterých může informovat. Zatímco atributy definují vlastnosti objektu, akce a události definují chování objektu. Z mnoha atributů patří mezi nejzajímavější právě hned ten první - nultý "0" - označený jako Network Data Descriptor. Ten obsahuje každý objekt, protože definuje jeho nastavení. Například udává informace o velikosti, typu dat, rozlišení, počtu vstupů/výstupů apod. Celkem lze ve všech objektech nalézt přes 50 různých atributů, přičemž některé jich mají až 15, zatímco jiné třeba i žádné.

Fyzická vrstva

Obr. 8. Hardwarové propojení zařízení (devices) s řídícím systémem (Control Interface)

Topografická struktura SDS sítě je typu sběrnice, která je rozdělena na páteřní síť  - kmen (Trunk) a na odbočky, tzv. větev (Branch), připojující dané zařízení k síti přes T konektor (T Connector) - viz obrázek 8. Přístup na fyzické médium, nejčastěji dva stíněné zkroucené páry vodičů, se provádí z CAN řadiče přes CAN tranceiver a konektor - viz obrázek 9. Tranceiver může být v opticky nebo galvanicky odděleném provedení. Zařízení může být napájeno přímo ze sběrnice.

Obr. 9. Definování fyzické vrstvy na blokovém schéma zařízení/uzlu

Velikost sítě
125 kb/s
250 kb/s
1000 kb/s
páteř - silný kabel
457.2 m
182.8 m
22.8 m
max. délka odbočky
3.6 m
1.8 m
0.3 m

Tab. 1. Mezní délky kabeláže mezi jednotkami (uzly) pro různé přenosové rychlosti

 

Obr. 10. Příklad hardwarové realizace CAN rozhraní/převodníku

Linková vrstva

Linková vrstva sběrnice SDS je definována specifikací standardu CAN a i použitím tzv. CAN Controller chipů v hardwarové realizaci rozhraní zařízení. Tím jsou podle CAN specifikovány i logické úrovně signálu na tzv. dominantní úroveň (dominant level) reprezentující log.0 a trvalá neaktivní úroveň (recessive level) reprezentující log. 1. Každý vysílač budí sběrnici do dominantního stavu a sběrnice se trvale nachází v neaktivní úrovni, když žádný vysílač, resp. jednotka, nevysílá. CAN specifikace definuje 4 rámce, ale pouze datového rámce (obrázek 11.) se využívá ve specifikaci SDS pro přenos dat.

Obr. 11. CAN Data Frame používaný v SDS

CAN je síť s přístupem typu CSA (Carrier Sense Access), kdy může libovolná jednotka začít vysílat, když je na sběrnici klid (tj. nepřenáší se žádná data). To umožňuje komunikaci peer-to-peer (point-to-point). V případě, že se rozhodne více jednotek vysílat ve stejnou dobu, existuje zde bitově orientovaný rozhodovací algoritmus (bitwise arbitration mechanism), který vyřeší konflikt bez ztráty dat.

Aplikační vrstva - APDU

Aplikační vrstva ve sběrnici SDS definuje a vytváří prakticky celou komunikaci. Ta je založená na přenášení datových jednotek APDU - Application Layer Protocol Data Unit, která nejen že přenáší užitečná data, ale definuje ji SDS služby (SDS services) a částečně i adresování jednotlivých částí funkční zařízení, konkrétně vestavěných objektů (Embedded Object). APDU jsou na úrovni linkové vrstvy zapouzdřeny do CAN rámce a dále vyslány po médiu k cílovému adresovanému logickému zařízení (logical device).

Podle toho, co mají APDU provádět nebo jaké informace "přepravují" se dělí do dvou hlavních skupin:

  • krátké APDU (short APDU) - slouží jen k zasílání jednoduchých jednoúčelových příkazů; nepřenášejí data a neadresují objekty
  • dlouhé APDU (long APDU) - slouží k přenášení dat (až 6 B v rámci), adresovaná objektů i provádění složitějších příkazů

Krátká datová jednotka APDU

Obr. 12. Sled informací v krátké APDU jednotce

Krátké datové jednotky APDU jsou tvořeny jen záhlavím CAN, resp. SDS rámce bez připojených dat. Základní přenášená informace je uložená v podobě čísla vyjadřující typ služby (Service Type), kterou má zařízení určené adresou (Logical Address) zpracovat - viz obrázek 12. Jednotka má v tomto případě délku 2 B = 16 bitů a obsahuje následující položky - viz obrázek 13.:

  • Dir/Pri - 1 bit - udává směr přenosu rámce ve smyslu adresy. Dir = 1 značí, že logická adresa je zdrojovou adresou, když Dir=0 tak naopak cílovou. Zároveň rámec s Dir=0 má větší prioritu než rámec s Dir=1.
  • Logical Address (Logická adresa) - 7 bitů - udává adresu zdrojového nebo cílového zařízení, podle toho, zda jde o žádost (Request) nebo odpověď (Response)
  • Service Type (typ služby) - 3 bity - udává akci, kterou má cílové zařízení zpracovat
  • Ostatní pole - RTR, Data Length Code (DLC) - se nevyužívají a jsou nulová

Obr. 13. Posloupnost bitů v krátké APDU

Typ služby (viz obrázek 14.) prakticky zahrnuje hlavně 2 příkazy:

  • Change of State (Změna stavu) - služba oznamující změnu stavu na vstupu jednoho zařízení jinému zařízení.
  • Write State (Zapiš stav) - služba zapisující na výstup adresovaného zařízení stav ON (otevřeno) nebo OFF (zavřeno)

Obr. 14. Tabulka služeb/příkazů pro krátké APDU

Při změně stavu na binárním vstupu zařízení X, vyšle toto zařízení jinému zařízení Y krátkou APDU zprávu s číslem služby Change of State. Pokud dojde ke změně stavu podobný otevření kontaktu = ON vyšle se služba Change of State ON, v opačném případě služba Change of State OFF. Obeslané zařízení Y, které obdrží tuto zprávu vyšle zpět zařízení X informaci "Change of State ON ACK", resp."Change of State OFF ACK".

Podobné je to i se službou Write OFF State, resp. Write ON State, které ale naopak pracuje jako příkaz vyslaný zařízením X pro zařízení Y, že má změnit logický stav na svém binárním výstupu.

Dlouhá datová jednotka APDU

Obr. 15. Sled informací v dlouhé APDU jednotce

Dlouhá jednotka již je určena k přenášení dat v délce 6 bajtů přímo v jednom SDS rámci nebo až 64 x 3 bajty při využití fragmentace. Proti krátkému SDS rámci jsou zde navíc existují následující bity a pole:

  • Data Length Code (DLC) - specifikuje počet bajtů dat v datovém poli
  • Service Specifiers (Specifikace skužby) - specifikující úspěšnost doručení zprávy, nabývají hodnot Request (žádost), Successful Response (úspěšná žádost), Error Response (chybná žádost) a Wait Response (zpožděná žádost)
  • EOID (Embedded Object ID) - pole volby atributu objektu (Service Parameters)
  • Data - datové pole

Obr. 16. Posloupnost bitů v dlouhé APDU

Zatímco CAN hlavičce odpovídají jen první 2 bajty rámce, z pohledu SDS má hlavička délku 4 bajty - viz obrázek 16. Proti krátkým APDU je navíc odlišný i význam pole Service Type, definující vykonávanou službu - viz obrázek 17. Zde je možné zvolit mezi klasickými příkazy Write/Read, pro čtení/zápis hodnoty nebo stavu, službami Action/Event, pro vykonání akce/oznámení konkrétního objektu, a nebo službami Channel, pro nastavení peer-to-peer nebo multicast komunikace, a Connection, která navazuje spojení pro možnost komunikace.

Obr. 17. Přehled služeb pro dlouhé APDU

Pro velké posloupnosti dat se provádí fragmentace dat až do 63 rámců po 4 bajtech - viz obrázek 18. V tomto režimu se po navázání komunikace za sebou postupně přenesou všechny fragmenty do cílového zařízení, kde se opět spojí do jednoho datového bloku. Fragmentovaný rámec v hlavičce označuje nastavený 5bit 3.bajtu, v obrázku 18. označený jako Fl=1. Dále pak jsou vyhrazeny 2 původně datové bajty jako počítadlo fragmentů (Fragment Number) a označení celkového počtu přenášených fragmentů (Total Fragment Bytes).

Obr. 18. Rozdělení dlouhých bloků dat do menších - fragmentace

Závěr

Celý popis SDS sběrnice je velmi obsáhlý a jeho podrobnější popis by odpovídal spíše tlusté knize než malému článku. Cílem tohoto článku je upozornit na zajímavou sběrnici tvořící nadstavbu k sběrnici CAN a co nejjednodušeji uvést její nejzajímavější charakteristiky. Pro bližší a podrobnější informace pro případ bližší práce se sběrnicí nebo její implementace do zařízení najdete na stránkách firmy Honeywell (nebo následující položce Download & Odkazy.

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

DOWNLOAD & Odkazy

 

 

Hodnocení článku: