Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Teknologi Internet of Things

Peningkatan Utama dalam API DDS C++ Modern RTI Connext

Peningkatan Utama dalam API DDS C++ Modern RTI Connext

Sejak kami memperkenalkan API C++ modern untuk DDS, kami telah melihat minat yang signifikan dari pelanggan kami. Banyak yang telah mulai membangun sistem baru menggunakan C++11, dan kami terus menyempurnakan API dengan sejumlah peningkatan yang berdampak.

Pemetaan IDL yang Ditingkatkan ke C++ Modern

Code Generator RTI sekarang menawarkan opsi baru -stl, yang digunakan bersamaan dengan -language C++03 atau -language C++11. Opsi ini memperbarui pemetaan beberapa tipe IDL:

Contohnya, dengan tipe IDL berikut:

struct MyType { sequence<long> my_unbounded_seq; sequence<long, 10> my_bounded_seq; @use_vector sequence<long, 10> my_other_bounded_seq string my_str; @external long my_external; };

Menggunakan perintah rtiddsgen -language C++11 -stl -unboundedSupport MyType.idl, kelas C++11 yang dihasilkan terlihat seperti ini:

class MyType { public: MyType(); ... MyType (MyType&&) = default; MyType& operator=(MyType&&) = default; MyType& operator=(const MyType&) = default; MyType(const MyType&) = default; std::vector<int32_t>& my_unbounded_seq() noexcept; const std::vector<int32_t>& my_unbounded_seq() const noexcept; void my_unbounded_seq(const std::vector<int32_t>& value); rti::core::bounded_sequence<int32_t, 10>& my_bounded_seq() noexcept; const rti::core::bounded_sequence<int32_t, 10>& my_bounded_seq() const noexcept; void my_bounded_seq(const rti::core::bounded_sequence<int32_t, 10>& value); std::vector<int32_t>& my_other_bounded_seq() noexcept; const std::vector<int32_t>& my_other_bounded_seq() const noexcept; void my_other_bounded_seq(const std::vector<int32_t>& value); std::string& my_str() noexcept; const std::string& my_str() const noexcept; void my_str(const std::string& value); dds::core::external<int32_t>& my_external() noexcept; const dds::core::external<int32_t>& my_external() const noexcept; void my_external(dds::core::external<int32_t> value); ... };

API Request-Reply untuk C++ Modern

API sekarang mencakup dua entitas baru: rti::request::Requester dan rti::request::Replier. Ini menyediakan pola request-reply asli, yang sudah tersedia dalam bahasa lain dan telah diperkenalkan dalam prototipe versi 5.3 dan siap produksi di 5.3.0.7.

Contoh kode ringkas tersedia di sini.

Peningkatan API yang lebih kecil

Kami telah menyederhanakan beberapa tugas umum:

condition.handler([]() { // do something }); // or, with the new signature condition.handler([](dds::core::cond::Condition c) { // do something (condition == c) });

TopicQuery untuk Data Historis On-Demand

TopicQuery, diperkenalkan di 5.3, memungkinkan aplikasi untuk mengambil data historis on-demand. Dalam API C++ modern Anda dapat membuat TopicQuery dari DataReader seperti ini:

rti::sub::TopicQuery my_topic_query( my_reader, rti::sub::TopicQuerySelection(dds::topic::Filter("x < 10")) );

Anda kemudian dapat mengambil sampel historis yang cocok dengan filter sambil masih menerima data langsung secara normal.

Menatap ke Depan

Dengan C++17 yang telah disetujui dan C++20 di dekat, RTI Connext akan terus berevolusi API C++ dengan fitur bahasa modern dan peningkatan performa. Tunggu atau langganan Blog RTI untuk pembaruan terbaru.

Teknologi Internet of Things

  1. IoT: Mendorong Renaisans Digital Jalan Raya
  2. Pemrosesan Aliran Generasi Ketiga: Mengubah Data IoT menjadi Tindakan Real-Time
  3. Mengapa Peluncuran 5G Terhambat: Biaya, Spektrum, dan Tantangan Cakupan
  4. Edge Computing: Membuka Data Real-Time, Meningkatkan Efisiensi, dan Mendorong Pendapatan Baru
  5. G.hn: Membumikan Revolusi IoT Industri untuk Konektivitas Hemat Biaya dan Terpercaya
  6. Merenung Kembali Manufaktur Cerdas untuk Era Baru: Strategi Berbasis Data untuk Ketahanan
  7. Data: Minyak Baru – Bagaimana Raffineri Mengubah Informasi Mentah menjadi Nilai Bisnis
  8. Kenali Profesional IT/OT Hybid: Menjembatani Pusat Data dan Otomasi Industri
  9. Microsoft Resmi Meluncurkan Inkubator Riset AI Fokus Kecerdasan Umum
  10. Menguasai std::list dalam C++: Sintaks, Fungsi & Contoh Praktis