Skip to main content

CANopen Haberleşme Protokolü Yapısı |CANopen Protokolü

CANopen HABERLEŞME PROTOKOLÜ

CANopen Data yapıları nedir ? İstek ve Cevap Data yapıları nedir ? CANopen hata ve işaretçilerin anlamları nedir ? Bu ve benzeri sorulara yanıt aradığımız CANopen Haberleşme Protokolü ile ilgili bugünki yazımızda CANopen’a dair ilgili konuları sizlere aktarmaya devam ediyoruz.

Başlayalım.

CANopen PROTOKOLÜ

Ladder Diyagram Üzerinden SDO , NMT ve Acil Durum Mesajı Okuma Gönderme :

İstek mesaj harita alanında SDO , NMT ve Acil durum Mesajı yayım durumlarının farkına varabilir , inceleyebilirsiniz.Peki istek mesajı harita alanı ile cevap mesajı harita alanları arasındaki bağlantı nedir ya da nereden gelmektedir.

D6250 – D6281 Plc Aygıtları : SDO istek mesajı , NMT servis mesajı ve acil durum istek mesajı harita alanlarıdır.64 Byte harita uzunluğu bulunmaktadır.

D6000 – D6031 Plc Aygıtları : SDO cevap mesajı ve acil durum cevap mesajı.64 Byte harita uzunluğu bulunmaktadır.
CANopen master sadece bir adet SDO , NMT ya da Acil durum istek mesajını belli zamanda aynı ekipmana gönderebilir.

WPLSoft üzerinden SDO , NMT ya da Acil durum istek mesajı gönderilirken , istek mesaj harita alanları temizlenmeli ve ‘0’ olmalıdır.

SDO İstek Mesajının Data Yapısı :
Ladder diyagram üzerinden gönderilen SDO , slave parametrelerini okuyabilir ya da slave parametrelerine yazma işlemi yapabilir.

Data Formatı :

D6250 : Mesaj Başlığı : ReqID (high byte) : Command (01’e sabit)(Low Byte)

D6251 : Mesaj Başlığı : Reserved (high byte) : Size(Low Byte)

D6252 : Mesaj Başlığı : Type (high byte) : Node ID (Low Byte)

D6253 : Mesaj Datası : Ana index (high byte) : Ana index (Low Byte)

D6254 : Mesaj Datası : Reserved (high byte) : Alt index (Low Byte)

D6255 : Mesaj Datası : Datum 1 (high byte) : Datum 0 (Low Byte)

D6256 : Mesaj Datası : Datum 3 (high byte) : Datum 2 (Low Byte)

D6257-D6281 : Mesaj Datası : Reserved (High – Low Byte)

ReqID : İstek ID’sidir.SDO istek mesajı ne zaman gönderilirse gönderilsin , CANopen Master’a tanımlama adına bir ReqID verilir.SDO mesajı yazma/okuma yapıldığında , orijinal ID numarası değişmek zorundadır.

Diğer bir deyişle , ‘ReqID’ değerinin değişimiyle SDO yazma/okuma işlemleri tetiklenir.ReqID Aralığı : 00 (Hex) – FF (Hex)
Boyut : Mesaj datasının uzunluğudur.Birimi byte olarak sayma işlemi D6253’ten başlar.

CANopen haberlesme protokolü nedir

Okuma işlemi 4’e sabitlenmiştir ve yazma işlemi ek olarak index ya da alt-indexli olan data tiplerinin byte sayısına 4 eklenmesidir ve maksimum değer 8’dir.

Ancak yazma işlemi yapıldığında , eğer indexin data tipi ve alt-index ‘Word’ ise data uzunluğu 6 yada 5 byte’dır.

Node ID : CANopen ağının node adress için hedef ekipmanı ve yeridir.
Tip : 01 okuma işlemlerini içerir.02 yazma işlemlerini içerir.

SDO Cevap mesajı data formatı :

D6000 : Mesaj Başlığı : ReqID (high byte) : Status Code (Low Byte)

D6001 : Mesaj Başlığı : Reserved (high byte) : Size(Low Byte)

D6002 : Mesaj Başlığı : Type (high byte) : Node ID (Low Byte)

D6003 : Mesaj Datası : Ana index (high byte) : Ana index (Low Byte)

D6004 : Mesaj Datası : Reserved (high byte) : Alt index (Low Byte)

D6005 : Mesaj Datası : Datum 1 (high byte) : Datum 0 (Low Byte)

D6006 : Mesaj Datası : Datum 3 (high byte) : Datum 2 (Low Byte)

D6007-D6031 : Mesaj Datası : Reserved (High – Low Byte)

Durum Kod Değerleri ve Açıklamaları :

0 -> Data yayım isteği yok
1 -> SDO mesaj yayım başarılı
2 -> SDO mesaj yayımda
3 -> Hata : SDO yayımı zaman aşımına uğradı
4 -> Hata : Geçersiz komut kodu
5 -> Hata : Yayılacak data uzunluğu geçersiz
6 -> Hata : Cevap data uzunluğu geçersiz
7 -> Hata : Gönderilecek mesajın donanımları meşgul
8 -> Hata : Geçersiz tip
9 -> Hata : Yanlış node adresi
0A -> Hata mesajı ; SDO cevap mesajı için hata koduna bakınız
0B – FF -> Reserved (Saklı)

ResID : İstek mesajındaki istek ID’si ile aynıdır

Boyut :Mesaj datası uzunluğudur.Maksimum 20 Byte’dır.Birimi Byte’dır.Yazarken , 4’tür.Okurken ise index ve alt indexin data tipi, data uzunluğunu belirler.

Node ID : CANopen ağı üzerindeki hedef donanımın adresidir.

Tip : SDO cevap mesajı içerisinde , 43 (Hex) datanın 4 byte’ını okur.4B(Hex) datanın 2 byte’ını okur.4F (Hex) 1 byte data okur.60 (Hex) , datanın 1/2/4 byte’ını yazma için kullanılır.80(Hex) SDO Komutunu durdurur.

NMT Mesajın Data Yapısı :

NMT servisi CANopen ağının yönetiminde kullanılır.Başlatma , işlemler ya da reset gibi işlemler adına kullanılır.

NMT istek mesajı için data formatı :

D6250 : Mesaj başlığı : ReqID (high byte) : Komut (01’e Sabit)(Low Byte)
D6251 : Mesaj Başlığı : Reserved (High Byte) : Boyut (04’e Sabit)(Low Byte)
D6252 : Mesaj Başlığı : Tip (03’e Sabit)(High Byte) : Node ID (Low Byte)
D6253 : Mesaj Datası : Reserved (High Byte) : NMT Servis Kodu (Low Byte)
D6254 : Mesaj Datası : Reserved (High Byte) : Node ID

NMT Servis Kodları :

01 (Hex) : Remote Node Başlat
02 (Hex) : Remote Node durdur
80 (Hex) : Çalıştırma Öncesi durum girişi
81 (Hex) : Uygulama Reset
82 (Hex) : Haberleşme Reset

NMT Cevap Mesajı Data Formatı :

D6000 : Mesaj Başlığı : ResID (High Byte) : Statü Kodu (Low Byte)
D6001 : Mesaj Başlığı : Reserved (High Byte) : Reserved (Low Byte)
D6002 : Mesaj Başlığı : Reserved (High Byte) : Node ID (Low Byte)

Statü Kodu 1 olduğunda , NMT işlemlerinin çalışmasının başarılı olduğunu ifade eder.Eğer statü kodu 1 değilse ; NMT çalışmasında hata olduğunu bildirir.Yapmanız gereken kontrol ise NMT istek mesajının doğru olup olmadığını kontrol etmek olacaktır.

Acil Durum İstek Mesaj Data Yapısı :

Acil durum okuma üzerinden slave’lerin hata ve alarm bilgileri okunabilir.
Acil durum istek mesajı data formatı ise ;

6250 : Mesaj başlığı : ReqID (High Byte) : Komut (1’e Sabit)(Low Byte)
D6251 : Mesaj başlığı : Reserved (High Byte) : Boyut (0’a sabit)(Low Byte)
D6252 : Mesaj Başlığı : Tip (04’e sabit) (High Byte) : Node ID (Low Byte)
D6253-D6281 : Mesaj Datası : Reserved (High/Low Byte)

Acil Durum Cevap Mesajı Data Formatı :

D6000 : Mesaj Başlığı : ResID (High Byte(Hex)) : Statü Kodu (Low Byte(Hex))
D6001 : Mesaj Başlığı : Reserved (High Byte(Hex)) : Boyut 2A’ya sabit (Low Byte(Hex))
D6002 : Mesaj Başlığı : Tip (04’e sabit)(High Byte(Hex)) : Node ID (Low Byte(Hex))
D6003 : Mesaj Datası : Dataların toplam adedi(High Byte(Hex)) : Depolanmış Data adedi (Low Byte(Hex))
D6004 : Mesaj Datası : Datum 1 (High Byte(Hex)) : Datum 0 (Low Byte(Hex))
D6005 : Mesaj Datası : Datum 3 (High Byte(Hex)) : Datum 2 (Low Byte(Hex))
D6006 : Mesaj Datası : Datum 5 (High Byte(Hex)) : Datum 4 (Low Byte(Hex))
D6007 : Mesaj Datası : Datum 7 (High Byte(Hex)) : Datum 6 (Low Byte(Hex))
D6008-D6011 : Mesaj Datası : Acil durum 2
D6012 – D6015 : Mesaj Datası : Acil durum 3
D6016 – D6019 : Mesaj Datası : Acil durum 4
D6020 – D6023 : Mesaj Datası : Acil durum 5
D6024 – D6031 : Mesaj Datası : Reserved

Dataların toplam adedi : Slave’den CANopen master’ın aldığı acil durum mesajların toplamıdır.

Saklanan data adedi : Slave’den alınan CANopen master acil durum mesajlarının son rakamıdır.(En fazla 5 adet)

D6004-D6007 acil durum 1 içeriğine sahiptir ve her acil durum mesajı 8 byte data içerir.

Datanın Açılımı :

COB-ID : 80 (Hex) +Node-ID
Byte 0 – Byte 1 :Acil durum hata kodu
Byte 2 : Hata depolama registerı
Byte 3 – 4 – 5 -6 – 7 : Verici özel hata kodları

İşaretçiler ve Hatalar :

DVP-ES2-C üzerinde 6 led işaretçi bulunmaktadır.Power işaretçisi güç durumunun normal olup olmadığını gösterir.

RUN ve ERROR işaretçileri ise Plc içerisindeki program adına çalışma durumlarını gösterir bizlere.Ve COM3 CANopen adına haberleşme durumlarını gösterir.

Güç Ledi için Açıklamalar :

Işık yok ya da yeşil ışık flaş yapıyor : Güç kaynağı sorunlu olabilir : Güç kaynağının normal olup olmadığını , gelen voltajı kontrol ediniz.

Yeşil Işık sürekli yanıyor : Güç kaynağı normal : Herhangi bir müdahale gerekmez.

Run Ledi için Açıklamalar :

Yeşil ışık yanıyor : Plc çalışıyor : Herhangi bir müdahale gerektirmez
Işık yok : Plc duruş durumundadır : Run/Stop anahtarı ya da WPLSoft ile Plc’yi run konumuna geçiriniz

Error Ledi için Açıklamalar :

Işık yok : Plc normal çalışıyor : Herhangi bir müdahale gerektirmez

Kırmızı ışık flaş yapıyor : Plc içerisinde programsal bir hata var ya da Plc ve ya komutlar geçerli aralıkların dışına çıktı : Hatanın Plc içerisindeki D1004 data registerından olup olmadığını kontrol et.

D1137 içerisindeki değere göre program içerisindeki hata konumunu bul.
Kırmızı Işık sabit yanıyor : Plc tarama süresi zaman aşımı hatası : PLC programının tarama/çalışma süresini kısaltın ya da WDT komutunu kullanın

COM3 (CANopen) İşaretçisi :

Yeşil Işık sabit : DVP-ES2-C normal çalışıyor : Herhangi bir müdahale gerektirmez

Yeşil Işık Tek flaş yapıyor : DVP-ES2-C duruş konumundadır : Üst donanım ağ konfigürasyonu için indiriliyor ve bu nedenle indirme bitene kadar beklemelisiniz.

Yeşil Işık flaş yapıyor : DVP-ES2-C slave mod için , çalışma öncesi durumdur.DVP-ES2-C master mod için bazı slave’ler offline’dır

 1)CANopen bus kablosunun doğru olup olmadığını kontrol edin

2) Slave ile Master için haberleşme hızının aynı olup olmadığını kontrol edin.

3) Konfigüre edilmiş olan slave’lerin ağa bağlanıp bağlanmadığını kontrol ediniz.

4) Herhangi bir slave’in offline olup olmadığını kontrol ediniz.

Kırmızı Işık Çift flaş yapıyor : Slave’ler off-line’dır :

1) CANopen haberleşme kablosunun standart bir kablo olup olmadığını kontrol edin

2) CANopen haberleşme adına bağlı olan terminal dirençlerinin sonda olup olmadığını kontrol ediniz.

Kırmızı Işık Tek Flaş Yapıyor : CAN kontrolleri içerisinde en az bir adet hata sayıcısı uyarı(eşik) seviyesini aşması durumunda ortaya çıkan hata :

1) CANopen haberleşme kablosunun standart bir kablo olup olmadığını kontrol ediniz.

2) CANopen haberleşme adına bağlı olan terminal dirençlerinin sonda olup olmadığını kontrol ediniz.

3) CANopen haberleşme kablosunun etrafında çok fazla parazit olup olmadığını kontrol ediniz.

Kırmızı Işık sabit yanıyor : Haberleşme yok :

1)CANopen bus kablosunun doğru olup olmadığını kontrol edin

2) Haberleşme hızının Master ve Slave’ler için aynı olup olmadığını kontrol ediniz.

CANopen Haberleşme Protokolü Nedir :

Bugün ki yazımızda CANopen haberleşme protokolü nedir adlı yazımızı sizlerle paylaşıyoruz.CANopen’a dair ilgili yazıları sıralı olarak sizlere aktarmaya devam edeceğiz.Umarım faydalı birtakım bilgiler edinmişsinizdir.

İyi çalışmalar.

4 thoughts to “CANopen Haberleşme Protokolü Yapısı |CANopen Protokolü”

    1. Merhabalar ;
      Evet yapabilirsiniz.
      Özellikle Github üzerinden arama yaparsanız gerekli ve ilgili döküman ve kütüphanelere ulaşabilirsiniz.
      İyi çalışmalar

  1. Hocam merhaba,
    DS301 ve DS401 standartı farkı nedir? DS401’i destekleyen bir cihazı aynı zamanda DS301 için kullanabilir miyim? şimdiden teşekkür ederim.

    1. Merhabalar Yahya Bey ;

      İlgili sorunuzu mail üzerinden en kısa sürede cevaplamaya çalışacağım.

      İyi çalışmalar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.