CANopen · CiA 301 · CiA 419 · PDO · SDO · NMT · Automatyka budynkowa · 10 min czytania

CANopen w automatyce budynkowej: Słownik obiektów, PDO, SDO i profil HVAC CiA 419

CANopen to warstwa aplikacyjna działająca na magistrali CAN, znormalizowana przez CAN in Automation (CiA) jako CiA 301. Określa, jak urządzenia opisują swoje dane (słownik obiektów), jak wartości procesowe są wymieniane z dużą prędkością (PDO), jak parametry są odczytywane i zapisywane podczas uruchamiania (SDO) oraz jak zarządzana jest sieć (NMT) – plus profile typów urządzeń, takie jak CiA 419 dla systemów HVAC, które precyzyjnie określają, jakie obiekty musi udostępniać agregat chłodniczy lub centrala wentylacyjna.

Słownik obiektów CANopen

Każde urządzenie CANopen posiada słownik obiektów (OD) – uporządkowaną tabelę wszystkich parametrów i wartości procesowych obsługiwanych przez urządzenie. Każdy wpis adresowany jest za pomocą 16-bitowego indeksu (0x0000–0xFFFF) i 8-bitowego podindeksu (0x00–0xFF). Producent dostarcza OD w pliku Electronic Data Sheet (EDS) – pliku tekstowym w formacie INI, który narzędzia konfiguracyjne wczytują, aby wiedzieć, jakie obiekty obsługuje urządzenie.

IndeksObiektOpis
0x1000Typ urządzeniaObowiązkowy – identyfikuje zaimplementowany profil urządzenia CiA (np. 0x00190191 = CiA 419 HVAC)
0x1001Rejestr błędówObowiązkowe — pole bitowe aktywnych kategorii błędów (komunikacja, specyficzne dla urządzenia itp.)
0x1008Nazwa urządzenia producentaOpcjonalne — czytelny dla człowieka ciąg modelu urządzenia
0x1017Czas bicia serca producentaCzas cyklu bicia serca w ms — 0 wyłącza bicie serca
0x1018Obiekt tożsamościID producenta, kod produktu, rewizja, numer seryjny (podindeksy 1–4)
0x1400–0x15FFParametry komunikacji RPDOCOB-ID, typ transmisji i czas blokady dla każdego Receive PDO
0x1600–0x17FFParametry mapowania RPDOKtóre obiekty OD są mapowane do każdego RPDO (indeks, podindeks, długość bitowa)
0x1800–0x19FFParametry komunikacji TPDOCOB-ID, typ transmisji, timer zdarzeń dla każdego Transmit PDO
0x1A00–0x1BFFParametry mapowania TPDOKtóre obiekty OD są pakowane do każdego TPDO
0x2000–0x5FFFObiekty specyficzne dla producentaWartości procesowe specyficzne dla urządzenia — temperatury agregatu, kody alarmowe, wartości zadane
0x6000–0x9FFFObiekty profilu urządzenia CiAZnormalizowane obiekty profilu (CiA 419 HVAC: 0x6000–0x67FF)

PDO — obiekty danych procesowych

PDO to mechanizm wymiany danych w czasie rzeczywistym w CANopen — szybkie ramki CAN o niskim narzucie, przenoszące do 8 bajtów danych procesowych bez dodatkowego narzutu protokołu poza samą ramką CAN. Transmit PDO (TPDO) wysyła dane z urządzenia do sieci; Receive PDO (RPDO) przyjmuje dane zapisane przez mastera lub inne urządzenie.

Mapowanie PDO definiuje, które wpisy słownika obiektów są pakowane do PDO. Na przykład, TPDO1 agregatu może pakować temperaturę zasilania (0x6010:01, 16 bitów), temperaturę powrotu (0x6010:02, 16 bitów), status pracy sprężarki (0x6020:01, 8 bitów) i status alarmu (0x6030:01, 8 bitów) — łącznie 6 bajtów w pojedynczej ramce CAN przesyłanej co 1 sekundę.

Typy transmisji PDO — tabela CiA 301

Transmission type (object 0x1800:02 for TPDO1):

  Type 0:   Acyclic, synchronous — PDO sent after SYNC only if data changed
  Type 1–240: Cyclic, synchronous — PDO sent every N SYNC messages
              Example: type 10 = send PDO every 10th SYNC telegram
  Type 254: Event-driven, manufacturer-specific — sent on internal event
  Type 255: Event-driven, profile-specific — sent when data changes
            (most common for building automation — avoids fixed polling)

TPDO1 event timer (object 0x1800:05):
  Value in ms — maximum time between PDO transmissions even if no change
  Example: 5000 ms = resend TPDO1 every 5 seconds regardless
  Use 0 to disable the timer (rely on event trigger only)

Inhibit time (object 0x1800:03):
  Minimum time between two TPDO1 transmissions in 100µs steps
  Example: 1000 = 100ms minimum between sends — prevent bus flooding

SDO — Service Data Objects

SDO są używane do konfiguracji i dostępu do parametrów — odczytu lub zapisu dowolnego wpisu w słowniku obiektów za pomocą potwierdzonego uzgadniania. W przeciwieństwie do PDO (strzelaj i zapomnij), transmisje SDO gwarantują dostarczenie i zwracają odczytaną wartość lub potwierdzenie zapisu. Dostęp SDO jest powolny (wiele ramek CAN na odczyt/zapis) i jest używany podczas uruchamiania, a nie do cyklicznych danych procesowych.

Przykład odczytu/zapisu SDO — ręczna ramka PCAN-View

SDO Read (Initiate Upload) — read object 0x6010:01 (supply water temp)
  COB-ID: 0x600 + node ID  (example: node 3 → 0x603)
  DLC: 8
  Data: 40 10 60 01 00 00 00 00
        |  |     |
        |  |     Sub-index: 0x01
        |  Index low byte: 0x10
        Command specifier: 0x40 (Initiate Upload Request)

SDO Response from device:
  COB-ID: 0x580 + node ID  (example: node 3 → 0x583)
  Data: 4B 10 60 01 E8 03 00 00
        |           |
        |           Value: 0x03E8 = 1000 → ÷10 = 100.0°C? No → check EDS
        Command: 0x4B = 4-byte, expedited (2 meaningful bytes)

SDO Write — set temperature setpoint object 0x6011:01 to 45°C (0x01C2 = 450 × 0.1°C)
  COB-ID: 0x600 + node ID
  DLC: 8
  Data: 2B 11 60 01 C2 01 00 00
        |  |     |  |
        |  |     Sub-index: 0x01
        |  Index: 0x6011
        Command: 0x2B (Write 2 bytes, expedited)

NMT — maszyna stanów zarządzania siecią

Master NMT (zazwyczaj brama CANopen lub PLC) kontroluje stan pracy wszystkich węzłów w sieci. Po włączeniu zasilania węzły automatycznie przechodzą w stan Pre-Operational — PDO są nieaktywne, ale dostęp SDO do konfiguracji jest dostępny. Master NMT wysyła polecenie rozgłoszeniowe, aby przejść wszystkie węzły do stanu Operational, aktywując wymianę PDO.

Stan NMTPDO aktywneSDO aktywneUwagi
InicjalizacjaNieNieUrządzenie uruchamia się tutaj po włączeniu, przechodzi automatycznie
Przed-OperacyjnyNieTakKonfiguruj mapowania PDO, ustaw parametry węzła przez SDO
OperacyjnyTakTakNormalny stan pracy — zarówno PDO, jak i SDO aktywne
ZatrzymanyNieNieStan konserwacji — brak komunikacji poza NMT

Protokół Heartbeat (CiA 301) zastępuje starszy mechanizm Node Guarding. Każdy węzeł wysyła ramkę Heartbeat w konfigurowalnym interwale (zazwyczaj 1000 ms). Master NMT monitoruje odbiór Heartbeat — jeśli węzeł przestanie wysyłać Heartbeat, master wykrywa awarię węzła i może wywołać alarm w systemie automatyki budynkowej.

Profile urządzeń CiA 417 dla wind i CiA 419 dla HVAC

Profile urządzeń CiA standaryzują układ słownika obiektów dla określonych typów urządzeń, zapewniając interoperacyjność między urządzeniami różnych producentów. Dwa profile są bezpośrednio istotne dla automatyki budynkowej: CiA 417 dla systemów windowych i CiA 419 dla systemów HVAC.

Obiekt CiA 419IndeksOpis
Temperatura powietrza nawiewanego0x6010:01INT16, jednostka 0,01°C — podzielić przez 100, aby uzyskać wartość w °C
Temperatura powietrza powrotnego0x6010:02INT16, jednostka 0,01°C — powietrze powrotne/wywiewane z strefy
Temperatura powietrza zewnętrznego0x6010:05INT16, jednostka 0,01°C — odczyt czujnika otoczenia
Zadana temperatura0x6011:01INT16, jednostka 0,01°C — zapisywalna przez master do sterowania wartością zadaną
Zadana prędkość wentylatora0x6020:01UINT16, jednostka 0,01% — 0–10000 = 0–100% polecenie prędkości
Rzeczywista prędkość wentylatora0x6020:02UINT16, jednostka 0,01% — rzeczywisty procent wyjścia wentylatora
Zadana pozycja zaworu0x6030:01UINT16, jednostka 0,01% — polecenie zaworu grzania/chłodzenia
Rzeczywista pozycja zaworu0x6030:02UINT16, jednostka 0,01% — sprzężenie zwrotne pozycji zaworu
Tryb pracy0x6040:01UINT8 — 0=wyłączony, 1=ogrzewanie, 2=chłodzenie, 3=automatyczny, 4=tylko wentylator
Stan alarmu0x6050:01Pole bitowe UINT32 — każdy bit reprezentuje konkretny kod alarmu

Bramy CANopen do BACnet, Modbus i KNX

Większość systemów automatyki budynkowej (KNX, BACnet, Modbus) nie obsługuje natywnie CANopen – brama protokołów pośredniczy między światami magistrali polowych. Powszechnie stosowane są trzy rodziny bram.

BramkaProtokołyUwagi
Ixxat CANopen GatewayCANopen ↔ Modbus TCP/RTUKonfigurowalny przez interfejs WWW – mapowanie obiektów OD CANopen na rejestry holding Modbus; obsługuje do 127 węzłów CANopen
Anybus X-gateway CANopen–BACnetCANopen ↔ BACnet IPHMS Networks – mapowanie obiektów BACnet przez Anybus Configuration Manager; stosowany w dużych integracjach BMS
EMS Electronic CANopen–KNXCANopen ↔ KNX TPMapuje obiekty CANopen PDO/SDO na adresy grupowe KNX; konfiguracja przez wtyczkę ETS6
Weinzierl BAOS CANopen BridgeCANopen ↔ KNX IPRouting KNX IP z funkcją mastera CANopen; stosowany w bramach rozdzielnic

Przed zamówieniem bramy zawsze poproś producenta urządzenia o plik EDS. Bez EDS nie można określić, które indeksy obiektów obsługuje urządzenie i czy implementuje standardowy profil CiA, czy tylko obiekty producenta. Niektóre agregaty chłodnicze udostępniają tylko podzbiór obiektów CiA 419 i wymagają obiektów producenta dla kodów alarmowych.

Potrzebujesz integracji urządzeń CANopen z BMS?

Konfigurujemy i dostarczamy bramy CANopen-KNX, CANopen-BACnet i CANopen-Modbus z pełnym mapowaniem słownika obiektów, uruchomieniem opartym na EDS i konfiguracją PDO dla systemów HVAC.

Poproś o wycenę →
Ładowanie...
Powrót do góry