CanOpen Nedir? Ne Değildir?

Başlatan Farukc, 06 Haziran 2015, 10:17:42

Farukc

Şuana kadar CanOpen'dan anladığım:

  • CanOpen sadece yazılımsal katmanır.
  • Otomasyonda kullanılır.
  • Cihaz adresleme için protokolü vardır.
  • Can hattını kullanır.

    Büyük ihtimal çoğu şeyi yanlış anladım. Sizden ricam CanOpen nedir? Ne değildir? anlatırmısınız.

  • Mesela CanOpen RS485 hattı ile kullanılabilirmi?
    [Eğer CanOpen sadece yazılımsal katman ise RS485 ile kullanılabilir olması gerekiyor.]

mufitsozen

#1
Alıntı yapılan: Farukc - 06 Haziran 2015, 10:17:42
Şuana kadar CanOpen'dan anladığım:

  • CanOpen sadece yazılımsal katmanır.
  • Otomasyonda kullanılır.
  • Cihaz adresleme için protokolü vardır.
  • Can hattını kullanır.

    Büyük ihtimal çoğu şeyi yanlış anladım. Sizden ricam CanOpen nedir? Ne değildir? anlatırmısınız.

  • Mesela CanOpen RS485 hattı ile kullanılabilirmi?
    [Eğer CanOpen sadece yazılımsal katman ise RS485 ile kullanılabilir olması gerekiyor.]
OSI modelini okuyup tam olarak anlamaya calisiniz. Basit gozukur ama kavramasi biraz karisiktir.


Her katmanin ne ise yaradigini ve nelerden sorumlu oldugunu (degisik prtokoller icin) anlamaniz lazim.

Bu yazilim katmanini hangi cingoz icat etti bilmiyorum ama OSI modelinde "yazilim" diye bir katman yoktur.
fiziksel katman haricinde(ki bazen orda bile yazilim kullanilabilir) her katmanda yazilim vardir.

CanOpen deyince CAN sisteminin 1, 2 ve 3. seviyeleri anlasilir.

RS485 endustriyel uygulamalar icin olan katman 1 standardidir.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

tmcone

Aşağıdaki dökümanda tüm sorularının cevapları mevcut:

http://www.ni.com/white-paper/14162/en/pdf


RS485 hattı üzerinde CANopen kullanılamaz. Çok sayıda producer/consumer olabilir.

mufitsozen

#3
Alıntı yapılan: tmcone - 06 Haziran 2015, 15:38:47

RS485 hattı üzerinde CANopen kullanılamaz. Çok sayıda producer/consumer olabilir.

RS485 uzerinden kullanilamamasinin nedeni cok sayida producer/consumer olmasi değildir, RS485 ilede cok sayida producer/consumer mumkundur.

RS485in kullanilamamasinin nedeni, CAN standardinin butun layer 2 ve bazi layer 1 fonksiyonlarini sifirdan sizin yapmaniz lazim. CAN adini kullanabilmek icin birde pahali sertikasyondan gecmeniz gerek.

Halbuki, CAN layer 1,2 chip olarak yada MCUlara gomulu olarak mevcut. Dolayisi ile bunun yapilabiliyor olmasinin hicbir anlami yok,

Bunun yerine degisik networkleri birbirine baglamak icin kullanilan gateway yaparak ayni cihazda hen CAN hemde ornegin IP (RS485 uzerinden) yaparak network katmaninda bir sistemden oburune gecisi saglayan bir cihaz gelistirmek daha dogru olur.



http://www.adfweb.com/home/products/Can_modbus.asp?frompg=nav1_7
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

tmcone

RS485 sadece fiziksel katmanı tanımladığından mesaj yapısı, çarpışma tespiti(collision), adresleme gibi konuların yazılımsal olarak implemente edilmesi gerekiyor. CANopen ilk iki katmanın üstündeki katmanları tanımladığından dolayısıyla RS485 e eklemeler yapılmadan RS485 ile birlikte kullanılamaz. Ayrıca azami gecikme süresi ağdaki cihaz sayısına göre değişkenlik göstereceğinden RS485 gerçek zamanlı iletişim için uygun olmayacaktır. CiA DS301 de tanımlanan iletişim protokollerini incelerseniz RS485 in neden kullanılamayacağı daha iyi anlarsınız.   

Kerim42

#5
Merhabalar
         Aslında bizden önce açıklama yapan arkadaşlar güzel bir şekilde açıklamış. Biz sadece biraz daha geriden alıp biraz daha kolay bir dille yazalım istedik.
  Canbus RS485'in abisidir. Aslında Canopen ile RS485'i kıyas etmek pek doğru değildir. O yüzden Canbus'ı kıyas edelim. Canbus ne imiş, ne yeyip ne içermiş bakalım. Canbus ın doğum yılı 1980 babası Robert Bosch. RS485 ise 1983 yılında doğdu babası belli  değil.
Öncelikle RS485 bir protokol değildir. Aksine fiziksel bir katmandır. Görevi ise hatta mesaj bırakan yada dinleyen diğer devrelerin yani node lerin çift yönlü haberleşme alt yapısını sağlamaktır. Data transferini sağlar. Datalar arası çapışmaları önler. Diğer kısımları yazılımcı protokol yazılımıyla bazı görevler icra ettirir. Canbus ise iletişim için fiziksel katmanı sağlamakla kalmaz datalar arasında herhangi bir karışıklık olmadan hataları bulur. Eğer gönderen durmadan hatalı mesaj gönderiyorsa önce hattı dinleme moduna geçer. Daha sonra hala hatalı mesaj devam ediyorsa donanım kendini otomatik kapatır. Hattı meşgul etmez. Bu donanım özelliğidir. Hata yapma olasılığı daha düşük veri tutarlılığı daha iyidir. Canbus ta iki devre aynı anda hatta data basarsa ID si öncelikli yani dominant olan hattı ele geçirir. En dominant ID 0 dır. Id si küçük olan kazanır. Bu donanımın özelliğidir fiziksel bir özelliktir.

        CanOpen da önce hattaki devrelerin (sensörlerin) datayı gönderme şekli,  okunan datanın çözünürlüğü, data için bir histeresis bölgesi tanımlaması, datalar için filtre gibi ayarlardan istenenleri yapılır. Daha sonra CanOpen standardının NMT dediğmiz hattın komutlarını kullanarak Bismillah başla komutunu gönderirsin sistem çalışır. Tasarımcılar CanOpen CiA diye bir kuruluş var oraya başvurur. Parasını pulunu öder. Onayını aldıktan sonra bu kuruluşa kayıt yaptırır. Bu kuruluşta herkeze bir üretici kodu verir.

Şurdan sorgulayabilirsiniz  http://www.can-cia.org/index.php?id=members

  Şuan Türkiye de iki firmanın var Biri Gen Elektronmekanik diğeri Fenac Mühendislik.
Faydası olması dileğiyle
Alemi padişah olmak bir kuru kavga imiş. Bir veliye bende olmak cümleden ala imiş. (Yavuz Sultan Selim)