Ana sayfa Çözümler Smart Display için Custom CAN ID Protokolüne Giriş

Smart Display için Custom CAN ID Protokolüne Giriş

May 04,2023

Tanıtım

Smart Display, CAN bus donanım haberleşme arayüzünü destekler ve CANopen haberleşme protokolünü kullanır. CANopen, CAN bus tabanlı ve endüstride yaygın olarak kullanılan bir haberleşme protokolüdür; tıbbi cihazlar, araç sistemleri, demiryolu uygulamaları ve bina otomasyonu gibi çeşitli alanlarda kullanılmaktadır. Ancak CANopen protokolü kullanıldığında, müşterinin Host tarafında ilgili CANopen haberleşme mekanizmasını uygulaması gerekir. Bu durum, yalnızca CAN bus haberleşmesine ihtiyaç duyan uygulamalarda geliştirme sürecini daha karmaşık hale getirebilir. Uygulamayı basitleştirmek amacıyla geliştirdiğimiz Custom CAN ID protokolü ise Host tarafında CANopen protokolünün uygulanmasını gerektirmez. Bunun yerine, özel bir DBC dosyası üzerinden yapılandırma yapılarak CAN ID'ler ve veriler Smart Display üzerindeki Widget'larla ilişkilendirilebilir ve gerçek zamanlı veri etkileşimi sağlanabilir. Bu yaklaşım, sistem verilerinin daha kolay izlenmesini ve kontrol edilmesini sağlarken daha yüksek esneklik ve daha kolay bakım imkânı sunar.

Custom CAN ID protokolünde veri yapılandırması ve CAN verilerinin Smart Display üzerindeki Widget'larla nasıl etkileşime gireceğinin tanımlanması temel olarak bir DBC (CAN Database) dosyası üzerinden gerçekleştirilir. DBC dosyası; CAN ID'ler, mesaj formatları ve veri çözümleme bilgileri gibi ilgili tanımları içerir. Özel bir DBC dosyası kullanılarak farklı CAN ID'ler ve veriler Smart Display üzerindeki Widget'larla ilişkilendirilebilir ve gerçek zamanlı etkileşim sağlanabilir. Örneğin, CAN ID'ler ve veriler ekrandaki grafik veya metinleri kontrol etmek için kullanılabilirken, ekrandaki butonlar veya kaydırıcılar da CAN verilerini kontrol etmek için kullanılabilir. Bu çift yönlü etkileşim, sistem verilerinin daha kolay izlenmesini ve kontrol edilmesini sağlayarak esnek ve bakımı kolay bir çözüm sunar.

DBC Dosyalarını Anlama

DBC dosyası genellikle CAN bus üzerinden iletilen fiziksel sinyallere ilişkin CAN ID, sinyal adı, ölçekleme faktörü ve tanım gibi bilgileri içeren ASCII düz metin dosyasıdır. Ham CAN verilerinin anlamlı değerlere dönüştürülerek çözümlenmesi ve farklı CAN ID'lerin ilgili sinyallerle eşleştirilmesi için kullanılır. DBC dosyası, CAN mesajlarının veri alanındaki değerlerin fiziksel sinyal değerlerine dönüştürülmesi için gerekli bilgileri sağlar.

Ham CAN Verisi Çözümleme Örneği

raw-can-data-testing-data-example01

CAN ID 0x181 için çözümleme kurallarını içeren bir CAN DBC dosyanız varsa, DBC dosyasında tanımlanan bilgiler kullanılarak aşağıdaki veriler çözümlenebilir.

raw-can-data-testing-data-example02

DBC dosyasının temel işlevlerinden biri, CAN mesajlarının ve sinyallerinin nasıl çözümleneceğine ilişkin kuralları tanımlamaktır. Aşağıdaki örnekte bir DBC dosyasından alınan test verileri gösterilmektedir:

test-data-description-excerpted-from-dbc-file01

Yukarıdaki DBC bilgilerine göre aşağıdaki çözümleme bilgileri elde edilebilir:

test-data-description-excerpted-from-dbc-file02

Yukarıdaki çözümleme kuralları kullanılarak daha önce elde edilen ham CAN verileri aşağıdaki bilgilere dönüştürülebilir:

test-data-description-excerpted-from-dbc-file03

Yukarıdaki örnekte görüldüğü gibi, DBC dosyasında tanımlanan ayarlar kullanılarak belirli bir CAN ID ile ilişkili CAN verilerinin temsil ettiği gerçek değerler doğru şekilde çözümlenebilir. DBC dosyası, CAN mesajlarının ve sinyallerinin veri yerleşimini ve tanımlarını içerir. Böylece ham CAN verileri yorumlanarak ilgili fiziksel değerlere dönüştürülebilir ve sistem, CAN üzerinden iletilen bilgileri doğru şekilde işleyebilir.

DBC Editörü

DBC dosyalarının yapısı ve formatı doğrudan okunup düzenlenmesi zor olabileceğinden, özel DBC dosyalarının oluşturulmasını ve düzenlenmesini kolaylaştırmak için DBC editörlerinden yararlanılabilir. Yaygın olarak kullanılan DBC editörlerinden biri, Vector Informatik GmbH tarafından geliştirilen Vector CANdb++'dır. Bu yazılım; DBC dosyalarının oluşturulması ve düzenlenmesi, mesaj ve sinyallerin eklenmesi ve mesaj ID'leri, başlangıç bitleri, uzunluklar, ölçekleme faktörleri ve offset değerleri gibi ilgili parametrelerin tanımlanması için grafiksel bir kullanıcı arayüzü sunar.

dbc-editor

Smart Display GUI Builder – Custom CAN ID Yapılandırması

Smart Display GUI Builder, Custom CAN ID projelerinin oluşturulması için kullanıcı dostu bir arayüz sunar. Bir DBC dosyasını içe aktarıp mesajları/sinyalleri ilgili Widget'larla eşleştirerek CAN verilerinin Smart Display üzerinde görüntülenmesini ve etkileşimli olarak kullanılmasını sağlayabilirsiniz. Aşağıdaki bölümlerde Smart Display GUI Builder ile bir Custom CAN ID projesinin nasıl oluşturulacağı ve DBC dosyası ile Widget'lar arasındaki ilişkilerin nasıl yapılandırılacağı açıklanmaktadır.

Custom CAN ID Projesi Oluşturma

Project adını girin, kullanılacak Smart Display cihaz tipini seçin ve bir Custom CAN ID projesi oluşturmak için Protocol bölümünde "Custom CAN Id (CANbus)" seçeneğini belirleyin.

create-custom-can-project

Özel DBC Dosyasını İçe Aktarma

DBC Viewer sayfasına geçin ve özel DBC dosyasını içe aktarmak için "Load DBC File" seçeneğine tıklayın. Dosya içe aktarıldıktan sonra DBC dosyasında tanımlanan Messages, Signals ve ilgili yapılandırma bilgilerini görüntüleyebilirsiniz.

import-custom-dbc-file

Gauge ve Horizontal Slider Widget'larını Yapılandırma

Gauge nesnesini seçin ve Gauge özelliklerindeki CAN Signal bölümünde Message değerini EEC1, Signal değerini ise EngSpeed olarak ayarlayın. Böylece Gauge, EngSpeed sinyaliyle ilişkilendirilir. Yapılandırma tamamlandıktan sonra Gauge üzerinde görüntülenen değer, EngSpeed değerine göre değişir.

add-gauge-and-horizontal-slider-widget-in-the-main-page

Horizontal Slider nesnesini seçin ve Horizontal Slider özelliklerindeki CAN Signal bölümünde Message değerini HorizontalSliderMessage, Signal değerini ise HorizontalSliderSignal1 olarak ayarlayın. Böylece Horizontal Slider, HorizontalSliderSignal1 sinyaliyle ilişkilendirilir. Yapılandırma tamamlandıktan sonra Horizontal Slider, HorizontalSliderSignal1 değerine göre değişir.

add-gauge-and-horizontal-slider-widget-in-the-main-page02

CAN ID / CAN Data ve Widget Etkileşimini Simüle Etme

Simülatörü başlatmak için "Simulator With GUI" simgesine tıklayın.

add-gauge-and-horizontal-slider-widget-in-the-main-page03

Simülatörü başlattıktan sonra, Host tarafından EngSpeed verisi gönderilmesini simüle etmek için alt bölümdeki EngSpeed kaydırıcısını hareket ettirin ve simülatördeki Gauge değerinin buna göre nasıl değiştiğini gözlemleyin. Sağ taraftaki Message Log bölümünde CAN ID ve CAN Data değişiklikleri görüntülenir. Ayrıca simülatördeki Horizontal Slider'ı kullanarak Device tarafından veri gönderilmesini de simüle edebilirsiniz.

add-gauge-and-horizontal-slider-widget-in-the-main-page04

Smart Display Cihaz Yapılandırmasını Güncelleme

Simülatör üzerinden işlevleri doğruladıktan ve sistemin beklendiği şekilde çalıştığını kontrol ettikten sonra Device'a bağlanın ve Project ayarlarını Smart Display'e yükleyin.

add-gauge-and-horizontal-slider-widget-in-the-main-page05

Project yükleme ve güncelleme işleminin tamamlanmasını bekleyin.

add-gauge-and-horizontal-slider-widget-in-the-main-page06

Device CAN ID / CAN Data ve Widget Etkileşimini Doğrulama

Project'i Device'a yükledikten sonra Smart Display'in işlevlerini ayrıca doğrulayabilirsiniz. GUI Builder'ı Device'a bağlayın ve "Test Device" seçeneğine tıklayarak Test Device Window'u açın. Bu pencere üzerinden Host ile Device arasındaki veri etkileşimini test edebilirsiniz.

verify-data-and-the-widget

Test Device Window

Test Device Window, DBC yapılandırmasına göre Host tarafından ilgili CAN ID ve CAN Data'nın gönderilmesini simüle edebilir. Host'un EngSpeed verisi göndermesini simüle etmek için EngSpeed kaydırıcısını hareket ettirin ve Smart Display üzerindeki Gauge değerinin buna göre nasıl değiştiğini gözlemleyin. Pencerenin alt bölümündeki CAN veri kayıtlarında CAN ID ve CAN Data bilgileri görüntülenir. Ayrıca Smart Display üzerindeki Horizontal Slider'ı kullanarak Device tarafından gönderilen verilerin gereksinimleri karşılayıp karşılamadığını doğrulayabilirsiniz.

test-device-window

Smart Display Üzerindeki Gerçek Görüntü

actual-display-of-the-smartdisplay-device

Custom CAN Komutlarına Genel Bakış

Aşağıda Custom CAN tarafından kullanılan komut protokolü açıklanmaktadır. Bu komutlar aracılığıyla Host cihazı, Smart Display'i kolayca kontrol edebilir; sayfa değiştirme, parlaklık ayarlama ve buzzer'ı çalıştırma gibi işlemler gerçekleştirilebilir.

CAN ID Yapılandırması

Komut protokolünde aşağıdaki CAN ID ayarları kullanılır:

  • CAN ID formatı: 29 bit
    CAN ID: 0xEF0000 + 0x7B00 (varsayılan kanal ID'si. GUI Builder üzerinden değiştirilebilir.)
 

Komut Veri Formatı

Gönderme Komutu

Header Byte (1 Byte) Length (1 Byte) Payload (N Byte) CRC (2 Byte)
Sabit değer: 0x53 (S) Değer = 4 + Payload uzunluğu
Maksimum Payload boyutu: 250
Veri içeriği ve uzunluğu için Send Command Payload bölümüne bakın. Modbus CRC16
 

Yanıt Komutu

Header Byte (1 Byte) Length (1 Byte) Payload (N Byte) CRC (2 Byte)
Sabit değer: 0x52 (R) Değer = 4 + Payload uzunluğu
Maksimum Payload boyutu: 250
Veri içeriği ve uzunluğu için Response Command Payload bölümüne bakın. Modbus CRC16
 

Komut Payload'u

Aşağıda her bir komut Payload'unun açıklaması yer almaktadır.

  • Set Brightness: 0x6
    Gönderme Komutu
Command Code 1 Byte 0x6
Brightness 1 Byte Brightness value
 

Yanıt Komutu

Command Code 1 Byte 0x6
Error Code 1 Byte 0:Success
1:Failed
  • Set Buzzer: 0x7
    Gönderme Komutu
 
Command Code 1 Byte 0x7
Cycle 1 Byte Cycle value
High 1 Byte High value
Low 1 Byte Low value
 

Yanıt Komutu

Command Code 1 Byte 0x7
Error Code 1 Byte 0:Success
1:Failed
 
  • Set Page Index: 0x8
    Gönderme Komutu
Command Code 1 Byte 0x8
Page Index 1 Byte Page Index value
 

Yanıt Komutu

Command Code 1 Byte 0x8
Error Code 1 Byte 0:Success
1:Failed
 
  • Get Page Count: 0xA
    Gönderme Komutu
Command Code 1 Byte 0xA
 

Yanıt Komutu

Command Code 1 Byte 0xA
Error Code 1 Byte 0:Success
1:Failed
High 1 Byte Page Count value
 
  • Get Current Page Index: 0xF
    Gönderme Komutu
Command Code 1 Byte 0xF
 

Yanıt Komutu

Command Code 1 Byte 0xF
Error Code 1 Byte 0:Success
1:Failed
Page Index 1 Byte Page Index value
 
  • Set Device State: 0x20
    Gönderme Komutu
Command Code 1 Byte 0x20
Device State 1 Byte 0: ConfigMode
1: DisplayMode
 

Yanıt Komutu

Command Code 1 Byte 0x20
Error Code 1 Byte 0:Success
1:Failed
 

İletim Örneği

  • Parlaklığı 90 olarak ayarlama

transmission-example-set-brightness-to-90

  • Page Index değerini 1 olarak değiştirme
 

Sayfa değiştirirken önce Device State değerini ConfigMode olarak ayarlayın ve ardından sayfa değiştirme komutunu gönderin. Sayfa değiştirme işlemi tamamlandıktan sonra Device State değerini tekrar DisplayMode olarak ayarlayın. Komut sırası aşağıdaki gibidir:

transmission-example-switch-page-index-to-1

Custom CAN ID ile CAN HMI Geliştirmeyi Kolaylaştırma

Custom CAN ID protokolü sayesinde kullanıcılar, standart bir DBC dosyası üzerinden CAN ID'lerini ve CAN Data bilgilerini tanımlayabilir ve Smart Display GUI Builder'da Messages/Signals ile ilgili Widgets arasında ilişki kurarak CAN verilerini HMI arayüzüne entegre edebilir. CANopen veya J1939 gibi daha kapsamlı haberleşme protokollerine ihtiyaç duyulmayan uygulamalarda Custom CAN ID, DBC yapılandırmasını temel alarak Host ile Smart Display entegrasyonunu daha kolay gerçekleştirmenin pratik bir yolunu sunar.

Kullanıcılar, gerçek bir Smart Display cihazına bağlanmadan önce Smart Display GUI Builder'ın simülasyon özelliklerini kullanarak DBC yapılandırması, CAN verileri ve Widgets arasındaki etkileşimi de doğrulayabilir.

İşletmenize yönelik ekran çözümleri hakkında sorularınız mı var? Bize Ulaşın!

Abone Ol

Winstar'dan haber güncellemeleri hakkında e-posta alın

Bize Ulaşın

Fiyat/Veri sayfası/Genel bilgi talebi

Teknik Destek

Her türlü teknik bilgi için bize ulaşın

go top
İletişim
close

Gizliliğinize değer veriyoruz

"Tüm Çerezlere İzin Ver" seçeneğine tıklayarak, site gezinmesini geliştirmek, site kullanımını analiz etmek ve pazarlama ve performans çalışmalarımıza yardımcı olmak amacıyla cihazınıza çerezlerin kaydedilmesini kabul etmiş olursunuz. Bu konu hakkında daha fazla bilgiye politikamızda ulaşabilirsiniz. Gizlilik Politikası

Gizliliğinize değer veriyoruz

Winstar ve bazı üçüncü taraflar www.winstar.com.tw adresinde çerezler kullanmaktadır. Çerez türleri, amaçları ve ilgili üçüncü taraflar hakkındaki ayrıntılar aşağıda ve Çerez Politikamızda açıklanmaktadır. Web sitemizde en iyi deneyimi yaşamak için çerez kullanımına izin vermek amacıyla “Hepsine İzin Ver” düğmesine tıklayabilirsiniz. Ayrıca tercihlerinizi ayarlayabilir veya zorunlu olanlar haricindeki çerezleri reddedebilirsiniz.

Rıza tercihlerini yönet

Her zaman aktif
Gerekli Çerezler

Bu çerezler, web sitesinde gezinmenizi ve gizlilik tercihlerinizi ayarlamak, oturum açmak veya formları doldurmak gibi özellikleri kullanmanızı sağlamak için gereklidir.

Analitik Çerezler

“İstatistik çerezleri” olarak da bilinen bu çerezler, bir web sitesini nasıl kullandığınız hakkında bilgi toplar; örneğin, hangi sayfalara girdiğinizi ve hangi bağlantılara tıkladığınızı. Ayrıntılara bakın.