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.