Saya pikir saya secara tidak sengaja menemukan kebutuhan dalam hidup saya untuk sistem embedded. Bagus sekali! Dan agak menakutkan. Dan saya butuh bantuan.
Latar Belakang : Saya disewa untuk membangun aplikasi GUI yang mengambil pindaian dari dua SICK LMS-291s dan mengintegrasikannya dengan GPS akurasi sub-inci, sehingga Anda tahu di mana setiap pemindaian terjadi. Sebagai programmer web yang naif saya, saya mengerti bahwa waktu akan menjadi penting, tetapi tidak menyadari itu juga akan sulit! Jika Anda tidak tahu kapan setiap titik GPS dan setiap pemindaian terjadi, Anda tidak dapat mengetahui di mana pemindaian terjadi. Ups.
Mereka telah menetapkan windows 7 sebagai platform, serta membeli SeaLevel RS422 ke kotak USB untuk menghubungkan sensor dan GPS, dan dalam waktu singkat saya menemukan kebodohan saya. Di suatu tempat antara sensor dan program komputer saya, ada sesuatu yang mencegah pemindaian datang tepat waktu. LMS mengeluarkan 75 scan per detik, atau pada 13,32 ms / scan. Program saya tidak mendapatkannya tepat waktu. Itu membuat mereka setiap 100 atau lebih milidetik, dalam kelompok 7 atau 8 atau 10 atau sesuatu. Juga kadang-kadang tidak cukup pemindaian muncul, atau rusak. Entah adaptor SeaPort ini hanya mengirim sepuluh kali per detik (apakah itu mungkin? Saya tidak tahu cara kerja USB) atau Windows tidak memeriksa buffer (harus ada buffer di suatu tempat, kan?) Hampir cukup sering.
Present Day : Ini mengarah pada beberapa ketidakakuratan bahwa pada dasarnya klien tidak keberatan. Namun, saya tidak, dan karena saya memiliki kesempatan untuk melakukan pekerjaan serupa untuk klien (mengintegrasikan lebih banyak input sensor!), Saya ingin mencari tahu bagaimana melakukannya dengan benar, misalnya mengingat keakuratan GPS , dapat memberikan jaminan tentang ketepatan dan keakuratan lokasi pemindaian.
Seperti apa itu? Saya memerlukan UI, dan untuk dapat memeriksa input dari ketiga perangkat ini setiap 13,32 milidetik. Jika saya menggunakan FreeRTOS dengan, katakanlah, Nano-X untuk GUI, berjalan pada laptop yang mereka sediakan, apakah itu terdengar seperti solusi yang waras? Apakah mungkin bahwa adaptor RS-422 ke USB menyebabkan penundaan ini, dan menggunakan Windows sebenarnya baik-baik saja untuk tujuan ini?