CAL (CAN Application Layer) a CANopen
J. Novák České vysoké učení technické v Praze Fakulta elektrotechnická Katedra měření
Průmyslový distribuovaný systém na bázi sběrnice CAN Proximity sensor Pressure sensor T
Modem
Stepper motor
Bus
T
Thermocouple
Level sensor Camera
System controller
Průmyslový distribuovaný systém na bázi sběrnice CAN Control level
Ethernet + TCP/IP
Process level
Profibus, Foundation Fieldbus
Sensor/Actuator level
■
AS-I, Interbus, CAN
Rychlá komunikace v reálném čase – Senzory, akční členy – Řídicí uzly
Struktura standardu CANopen Device profiles
Interface profiles
Application profiles
CANopen manager
Manufacturer specific profiles
Communication Profile CAN Application Layer (CAL) ISO 11898 - 1 data link layer ISO 11898 - 2 physical layer
■ ■ ■
ISO 11 898 na fyzické (high-speed) a linkové vrstvě CAN na aplikační vrstvě Komunikační, aplikační profily a profily zařízení v uživatelské vrstvě
CAL – CAN Application Layer ■
Sada protokolů aplikační vrstvy – CMS – CAN Message Specification • definuje a řídí přístup k proměnným, událostema doménám
– NMT – Network Management • implementuje adresaci uzlů • řídí proces spouštění sítě
– DBT – Distributor • dynamická distribuce identifikátorů
– LMT – Layer Management • fyzická adresace, přiřazení NMT adres • nastavení parametrů fyzické vrstvy
CAL – základní mechanismy Client
Server
service-request service-indication service-response service-confirmation
Producer
Consumer(s)
service-request service-indication
CMS – CAN Message Specification ■
Definuje tři základní typy objektů – Proměnné, události, domény
■
Objekty jsou definovány svými atributy – Jméno, priorita, datový typ, přístup atd.
■
Proměnné – Slouží k přenosu procesních dat mezi uzly – Základní nebo multiplexované • Multiplexer představuje index
■
Události – Slouží k podpoře přenosu informace o výskytu asynchronní události • Mohou přenášet i konkrétní hodnotu
■
Domény – Přenos nestrukturovaných dat – Základní nebo multiplexované
NMT – Network Management NMT Master + NMT Slave NMT Slave NMT Slave services Node object
NMT Master services NMT Slave services Remote node Remote object node Remote object node object
CAN bus Node object NMT Slave services NMT Slave
Node object
NMT – Network Management ■
Poskytuje služby a protokoly pro – – – –
■ ■
Parametrizaci sítě Spuštění sítě Správu sítě Detekci a hlášení poruch
Master – Slave struktura Adresace uzlů NMT adresou (NodeID) – Rozsah 0 – 255, 0 = broadcast – Přiřazena LMT službou nebo alternativně – Využívá identifikátor CAN rámce 0
DBT a LMT – Distributor a Layer Management ■
Distributor poskytuje možnost dynamického přiřazení identifikátorů rámcům během startu sítě – Opět Master – Slave struktura – Příliš často se nepoužívá • Alternativní metody přiřazení identifikátorů rámcům
■
LMT umožňuje přiřazení NMT adresy na základě fyzické (LMT) adresy modulu, nastavení parametrů fyzické vrstvy – Opět Master – Slave struktura – Příliš často se nepoužívá • Alternativní metody přiřazení NMT adresy • Alternativní metoda nastavení přenosové rychlosti
CANopen – Struktura uzlu CANopen node
CAN
■
Communication
Object directory
Application
PDO and SDO objects, NMT objects, special objects
data types, communication and application objects
application software, device profile implementation
I/O
Adresář objektů – Datová struktura, obsahující definice všech objektů popisujících jak aplikační, tak komunikační chování daného modulu – Komunikace a aplikace jsou parametrizovány daty z adresáře – Komunikace se řídí komunikačním profilem, aplikace aplikačními profily či profilem zařízení
Adresář objektů Inde x
Význam
0000
Není použit
0001-001F
Static Data Types (Statické datové typy) Obsahují definice standardních typů, po řadě: Boolean, Integer8, Integer16, Integer32, Unsigned8, Unsigned16, Unsigned32, Floating Point, Visible String, Octet String, Date, Time Of Day, Time Difference, Bit String, Domain
0020-003F
Complex Data Types (Složené datové typy) Předdefinované záznamy (struktury) složené ze standardních typů používané na všech zařízeních. Jsou to PDO Communication Parameters, PDO Mapping a SDO Parameter uložené na indexech 20, 21 a 22, kde na nultém sub-indexu nalezneme počet položek a na dalších čísla typů, ze kterých se záznam skládá. Rozsah 23-3F není definován a je rezervován pro budoucí standardní datové struktury. Manufacturer Specific Data Types (Specifické datové typy výrobce) Předdefinované záznamy (struktury) složené ze standardních typů specifické pro jednotlivá zařízení. Tento rozsah je volný pro výrobce k definování vlastních typů.
0040-005F
0060-007F
Device Profile Specific Static Data Types (Statické datové typy specifické pro profil zařízení) Přidané jednoduché datové typy specifické pro profil zařízení, většinou je rezervován pro budoucí rozšíření profilu komunikace CANopen.
0080-009F
Device Profile Specific Complex Data Types (Složené datové typy specifické pro profil zařízení) Přidané složené datové typy specifické pro profil zařízení
00A0-0FFF
rezervováno pro budoucí použití
1000-1FFF
Communication Profile Area (Oblast profilu komunikace) Parametry specifické pro profil komunikace CANopen, takzvané komunikační položky. Jejich specifikace je společná pro všechny typy zařízení. Nespecifikované objekty v tomto rozsahu jsou rezervovány pro budoucí použití.
2000-5FFF
Manufacturer Specific Profile Area (Oblast profilu výrobce) Oblast je volná pro objekty výrobce zařízení
6000-9FFF
Standardized Device Profile Area (Oblast profilu zařízení) Obsahuje data běžná pro třídu zařízení - standardizované parametry profilů zařízení
A000-FFFF
rezervováno pro budoucí použití
SDO – Service Data Object ■
Protokoly pro přístup k adresáři objektů – Využívá se protokolu pro multiplexované domény – Parametrem je index, subindex – Přístupová práva k objektům závisí na konkrétním objektu a také na stavu uzlu (NMT management) • Při běhu sítě pouze čtení
– Možnost inicializovat aplikační i komunikační objekty během startu sítě – SDO komunikace má nízkou prioritu – vysoké identifikátory rámců
PDO – Process Data Object ■
Protokoly pro přenos procesních dat – Využívá se protokolu pro uložené události (stored events) – Každé PDO je definováno 2 objekty adresáře • PDO Communication parameters • PDO Mapping – Komunikační parametry definují • ID, podmínku vyslání, inhibit time – Mapování definuje • Maximálně 64 položek, které jsou jedním PDO přenášeny • Mapování je obecně dynamické při startu sítě prostřednictvím SDO komunikace – PDO komunikace má vyšší prioritu – podle priority příslušného objektu (události)
Předdefinované komunikační objekty ■
Definovány komunikačním profilem – Sync • Slouží pro synchronizaci vysílání některých objektů • Protokol CMS proměnné • Pouze pro zápis SYNC
synchronous window
synchronous PDOs
SYNC
SYNC period
asynchronous PDOs
SYNC
time
Předdefinované komunikační objekty ■
Definovány komunikačním profilem – TimeStamp • Slouží pro distribuci času • Pro přesnou synchronizaci je k dispozici specielní protokol (High Resolution Synchronization Protocol)
– Emergency • Slouží pro informaci o chybách a selháních aplikační části modulu • Jsou definovány standardní chybové kódy
Profily zařízení, konfigurace sítě ■
Slouží k unifikaci funkcí a způsobu implementace zařízení s obdobným určením – Umožňuje náhradu zařízení jednoho výrobce zařízením jiného výrobce beze změny aplikačního SW, pokud jsou obě vyrobena podle shodného profilu
■
Konfigurace sítě je podpořena tzv. EDS (Electronic Data Sheet) soubory – Obsahují šablonu adresáře objektů daného modulu • Lze je importovat do návrhových systémů a snadno z nich pak odvodit konkrétní obsah adresářů jednotlivých uzlů sítě