Memilih lapisan jaringan melalui CAN bus


10

Saya berencana menggunakan CAN bus dalam aplikasi otomasi industri, namun saya mengalami kesulitan memutuskan bagaimana mengimplementasikan lapisan jaringan. Apakah ada orang di sini yang memiliki rekomendasi untuk menggunakan protokol layer yang lebih tinggi daripada CAN yang menyediakan panduan untuk cara menetapkan ID pesan dan cara memformat paket data? Haruskah saya mengembangkan lapisan jaringan milik saya sendiri atau menerapkan standar yang ada seperti CANopen?

Jawaban:


7

Anda pasti ingin memilih lapisan jaringan standar. Saya telah melihat beberapa kasus di mana orang menggulung sendiri, dan seringkali protokolnya tidak efisien, dan pada akhirnya itu membuang-buang waktu. Lapisan jaringan yang terbukti memberikan fungsionalitas dasar untuk menyelesaikan sebagian besar masalah yang mungkin Anda hadapi dalam jaringan dengan perangkat yang disematkan, dan itu akan menghemat waktu dan uang Anda yang berharga pada akhirnya.

Saya memiliki keakraban dengan CANopen, jadi saya akan memberikan sedikit penjelasan di sini dan mungkin akan membantu Anda memutuskan apakah itu yang Anda inginkan. Jika tidak sesuai dengan apa yang perlu Anda lakukan, saya akan melihat sesuatu yang lain.

CANopen sangat sentris data. Semua CANopen slave nodes (hal-hal yang Anda kontrol dari master node, seperti sensor atau driver motor) menyediakan kamus yang berisi semua konfigurasi, kontrol, dan data akuisisi data yang Anda perlu baca / tulis untuk menyelesaikan pekerjaan Anda. Anda kemudian dapat membaca / menulis objek-objek ini secara individual melalui mekanisme SDO (objek data layanan), atau membaca / menulis objek-objek ini secara berkala dalam transmisi pesan CAN yang dapat diatur waktunya melalui mekanisme PDO (objek data produsen). Startup, shutdown, dan reset, dan deteksi detak jantung / kegagalan fungsi disediakan dari layanan NMT, serta layanan penugasan ID node (jika Anda ingin menggunakannya). Untuk mengimplementasikan perangkat menggunakan pustaka CANOpen tertanam, Anda pada dasarnya mengatur kamus objek, mengatur PDO untuk secara berkala mengirim / menerima pembaruan data, dan menulis kode pengguna yang berperilaku berdasarkan pada entri data tersebut. Ada hal-hal lain yang disediakan CANopen, tetapi itulah sebagian besar dari itu. Baca buku ini untuk info lebih lanjut.


Buku ini berbicara tentang implementasi CANopen yang disebut MicroCANopen. Implementasi CANopen apa yang Anda gunakan?
mjh2007

1
@ mjh2007 - Kami menggulung sendiri, karena itu perlu digunakan bersama dengan protokol lain.
J. Polfer

"CANOpen" -> "CANopen"
Peter Mortensen

7

Saya menulis kode untuk mengakses bus CAN pada mobil GM, yang menggunakan lapisan jaringan yang sebagian besar miliknya. Sudahkah Anda melihat OpenCAN? Saya akan memilih standar terbuka seperti CANOpen atau bahkan OpenCAN. Ini sangat tergantung pada tingkat kontrol dan fleksibilitas yang Anda inginkan di lingkungan otomasi Anda.


7
ada OpenCAN dan CANOpen? aiggh! penamaan yang mengerikan.
Jason S

1
@ Jason, saya menyalahkan microsoft.
Kortuk

5

Ada jawaban bagus. Saya tidak tahu mikro apa yang Anda gunakan, tetapi di sini ada tautan ke beberapa info dari microchip.

Perpustakaan J1939

DeviceNet ™ Group 2 Slave Firmware untuk PIC18 dengan CAN

Bisa membuka

Mereka masing-masing memiliki kode dan lembar data dasar yang memberi tahu Anda apa yang Anda butuhkan untuk mengimplementasikannya.


1
Sebenarnya saya menggunakan Microchip jadi itu sangat membantu. Terima kasih!
mjh2007

1
Itu semua untuk pic18. Sepertinya dengan CANopen Anda memiliki master yang mengubah pengaturan pada yang lain, untuk sebagian besar dari apa yang saya gunakan termasuk canbus, ini sangat cocok.
Kortuk

Apakah Anda menggunakan perpustakaan Microchip untuk mengimplementasikan CANopen?
mjh2007

1
Dalam proses penerapannya, ini adalah proses yang lambat karena membutuhkan banyak orang yang berbeda untuk berkomitmen bagi saya untuk membuat perubahan sistem. Saya akan memperbarui Anda ketika diterapkan jika itu akan membantu.
Kortuk

1
@ mjh2007, saya berhenti bekerja untuk prosesor dan siswa mengambil alih memutuskan karena banyak yang sebelumnya tidak menggunakan perangkat keras sebelumnya dan membeli sesuatu yang mereka lebih nyaman. Sekali lagi tidak ada kemajuan pada proyek profesor itu, tetapi itu terjadi ketika seorang profesor tidak tahu apa yang sedang terjadi dan hanya memungkinkan orang mengubah segalanya setahun sekali.
Kortuk
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.