Pemrograman NanoLib C++ Nanotik
Informasi Produk
Spesifikasi
- Nama Produk: NanoLib
- Pemrograman Bahasa: C++
- Versi Produk: 1.3.0
- Versi Manual Pengguna: 1.4.2
Pustaka NanoLib dirancang untuk memprogram perangkat lunak kontrol untuk pengendali Nanotec. Pustaka ini menyediakan antarmuka pengguna, fungsi inti, dan pustaka komunikasi untuk memfasilitasi pengembangan aplikasi kontrol.
Petunjuk Penggunaan Produk
- Sebelum Anda Memulai:
- Pastikan sistem Anda memenuhi persyaratan perangkat keras yang ditentukan dalam manual. Sasaran audiens untuk produk ini meliputi pengembang yang ingin membuat perangkat lunak kontrol untuk pengontrol Nanotec.
- Memulai:
- Untuk mulai menggunakan NanoLib, ikuti langkah-langkah berikut:
- Mulailah dengan mengimpor NanoLib ke proyek Anda.
- Konfigurasikan pengaturan proyek Anda sesuai kebutuhan.
- Bangun proyek Anda untuk menggabungkan fungsionalitas NanoLib.
- Membuat Proyek:
- Anda dapat membuat proyek untuk lingkungan Windows dan Linux. Ikuti petunjuk khusus yang diberikan dalam manual untuk setiap platform.
- Referensi Kelas / Fungsi:
- Lihat panduan pengguna untuk panduan terperinci tentang kelas dan fungsi yang tersedia di NanoLib untuk pemrograman perangkat lunak kontrol.
Tanya Jawab Umum
- T: Apa tujuan NanoLib?
- A: NanoLib adalah pustaka untuk pemrograman perangkat lunak kontrol untuk pengontrol Nanotec, menyediakan fungsionalitas penting dan kemampuan komunikasi.
- T: Bagaimana saya bisa memulai dengan NanoLib?
- A: Mulailah dengan mengimpor NanoLib ke proyek Anda, konfigurasikan pengaturan proyek, dan bangun proyek Anda untuk memanfaatkan fitur NanoLib.
“
Panduan Pengguna NanoLib
Bahasa Inggris C++
Berlaku dengan produk versi 1.3.0
Versi Manual Pengguna: 1.4.2
Dokumentasikan tujuan dan konvensi
Dokumen ini menjelaskan pengaturan dan penggunaan perpustakaan NanoLib dan berisi referensi ke semua kelas dan fungsi untuk memprogram perangkat lunak kontrol Anda sendiri untuk pengontrol Nanotec. Kami menggunakan tipografi berikut:
Teks yang digarisbawahi menandai referensi silang atau hyperlink.
Example 1: Untuk instruksi yang tepat tentang NanoLibAccessor, lihat Pengaturan. Mantanample 2: Instal driver Ixxat dan sambungkan adaptor CAN-ke-USB. Teks miring berarti: Ini adalah objek bernama, jalur menu/item, tab/ file nama atau (jika perlu) ekspresi bahasa asing.
Example 1: Pilih File > Baru > Dokumen Kosong. Buka tab Alat dan pilih Komentar. Mantanample 2: Dokumen ini membagi pengguna (= Nutzer; usuario; utente; utilisateur; utente dll.) dari:
– Pengguna pihak ketiga (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente dll.). – Pengguna akhir (= Endnutzer; usuario final; utente final; utilisateur final; utente finale dll.).
Kurir menandai blok kode atau perintah pemrograman. Mantanample 1: Melalui Bash, panggil sudo make install untuk menyalin objek bersama; lalu panggil ldconfig. Mantanample 2: Gunakan fungsi NanoLibAccessor berikut untuk mengubah tingkat logging di NanoLib:
// ***** Varian C++ *****
batal setLoggingLevel(Tingkat LogLevel);
Teks tebal menekankan setiap kata yang sangat penting. Alternatifnya, tanda seru dalam tanda kurung menekankan pentingnya (!).
Example 1: Lindungi diri Anda sendiri, orang lain, dan peralatan Anda. Ikuti catatan keselamatan umum kami yang berlaku umum untuk semua produk Nanotec.
Example 2: Untuk perlindungan Anda sendiri, ikuti juga catatan keselamatan khusus yang berlaku untuk produk khusus ini. Kata kerja co-click berarti klik melalui tombol mouse sekunder untuk membuka menu konteks, dll.
Example 1: Klik bersama pada file, pilih Ganti Nama, lalu ganti nama file. Mantanample 2: Untuk memeriksa properti, klik bersama pada file dan pilih Properties.
Versi: doc 1.4.2 / NanoLib 1.3.0
4
Sebelum Anda memulai
Sebelum Anda mulai menggunakan NanoLib, persiapkan PC Anda dan ketahui tujuan penggunaan dan batasan perpustakaan.
2.1 Persyaratan sistem dan perangkat keras
PEMBERITAHUAN Malfungsi dari pengoperasian 32-bit atau sistem yang dihentikan! Gunakan, dan rawat, sistem 64-bit secara konsisten. Patuhi penghentian dan ~instruksi OEM.
NanoLib 1.3.0 mendukung semua produk Nanotec dengan CANopen, Modbus RTU (juga USB pada port komunikasi virtual), Modbus TCP, EtherCat, dan Profinet. Untuk NanoLib yang lebih lama: Lihat changelog di cetakan. Risiko Anda sendiri: penggunaan sistem lama. Catatan: Ikuti petunjuk OEM yang berlaku untuk menyetel latensi serendah mungkin jika Anda menghadapi masalah saat menggunakan adaptor USB berbasis FTDI.
Persyaratan (wajib sistem 64-bit)
Windows 10 atau 11 dengan Visual Studio 2019 versi 16.8 atau lebih baru dan Windows SDK 10.0.20348.0 (versi 2104) atau lebih baru
C++ redistributables 2017 atau yang lebih tinggi CANopen: Ixxat VCI atau driver dasar PCAN (opsional) Modul EtherCat / Profinet DCP: Npcap atau WinPcap Modul RESTful: Npcap, WinPcap, atau izin admin untuk
berkomunikasi dengan bootloader Ethernet
Linux dengan Ubuntu 20.04 LTS hingga 24 (semua x64 dan arm64)
Header kernel dan paket libpopt-dev Profinet DCP: CAP_NET_ADMIN dan kemampuan CAP_NET_RAW
ikatan CANopen: driver Ixxat ECI atau adaptor PCAN-USB Puncak EtherCat: CAP_NET_ADMIN, CAP_NET_RAW dan
Kemampuan CAP_SYS_NICE RESTful: Kemampuan CAP_NET_ADMIN untuk berkomunikasi dengan Eth-
bootloader ernet (juga direkomendasikan: CAP_NET_RAW)
Bahasa, adaptor fieldbus, kabel
C++ GCC 7 atau lebih tinggi (Linux)
EtherCAT: Kabel Ethernet VCP / hub USB: sekarang USB seragam Penyimpanan massal USB: Kabel USB REST: Kabel Ethernet CANopen: Ixxat USB-ke-CAN V2; Na-
notec ZK-USB-CAN-1, Adaptor PCANUSB Puncak Tidak ada dukungan Ixxat untuk Ubuntu pada arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 atau adaptor setara; kabel USB pada port komunikasi virtual (VCP)
Modbus TCP: Kabel Ethernet sesuai lembar data produk
2.2 Tujuan penggunaan dan audiens
NanoLib adalah perpustakaan program dan komponen perangkat lunak untuk pengoperasian, dan komunikasi dengan, pengontrol Nanotec dalam berbagai aplikasi industri dan hanya untuk pemrogram yang terampil.
Karena perangkat keras (PC) dan sistem operasi tidak mampu bekerja secara real-time, NanoLib tidak untuk digunakan dalam aplikasi yang memerlukan pergerakan multi-sumbu yang sinkron atau umumnya peka terhadap waktu.
Dalam hal apa pun Anda tidak boleh mengintegrasikan NanoLib sebagai komponen keselamatan ke dalam suatu produk atau sistem. Saat pengiriman ke pengguna akhir, Anda harus menambahkan pemberitahuan peringatan dan petunjuk terkait untuk penggunaan dan pengoperasian yang aman ke setiap produk dengan komponen buatan Nanotec. Anda harus menyampaikan semua pemberitahuan peringatan yang dikeluarkan Nanotec langsung ke pengguna akhir.
2.3 Lingkup pengiriman dan garansi
NanoLib hadir sebagai folder *.zip dari unduhan kami websitus untuk EMEA / APAC atau AMERIKA. Simpan dan unzip unduhan Anda dengan benar sebelum pengaturan. Paket NanoLib berisi:
Versi: doc 1.4.2 / NanoLib 1.3.0
5
2 Sebelum Anda mulai
Header antarmuka sebagai kode sumber (API)
Fungsi inti sebagai perpustakaan dalam format biner: nano-
Pustaka yang memfasilitasi komunikasi: nanolibm_lib.dll
[yourfieldbus].dll dll.Exampproyek: Mantanample.sln (Visual Studio
proyek) dan example.cpp (utama file)
Untuk cakupan garansi, harap perhatikan a) syarat dan ketentuan kami untuk EMEA / APAC atau AMERIKA dan b) semua ketentuan lisensi. Catatan: Nanotec tidak bertanggung jawab atas kualitas, penanganan, pemasangan, pengoperasian, penggunaan, dan pemeliharaan peralatan pihak ketiga yang rusak atau tidak semestinya! Demi keselamatan, selalu ikuti petunjuk OEM yang berlaku.
Versi: doc 1.4.2 / NanoLib 1.3.0
6
Arsitektur NanoLib
Struktur perangkat lunak modular NanoLib memungkinkan Anda mengatur fungsi pengontrol motor/fieldbus yang dapat disesuaikan secara bebas di sekitar inti yang dibuat sebelumnya secara ketat. NanoLib berisi modul-modul berikut:
Antarmuka pengguna (API)
Inti NanoLib
Kelas antarmuka dan pembantu, Perpustakaan mana
Perpustakaan komunikasi Perpustakaan khusus Fieldbus yang
mengakses Anda ke implementasi pengontrol Anda, fungsionalitas API, melakukan antarmuka antara NanoLib
OD (kamus objek)
berinteraksi dengan perpustakaan bus.
perangkat keras inti dan bus.
berdasarkan fungsi inti NanoLib-
kewarganegaraan.
3.1 Antarmuka pengguna
Antarmuka pengguna terdiri dari antarmuka header fileyang dapat Anda gunakan untuk mengakses parameter pengontrol. Kelas antarmuka pengguna seperti yang dijelaskan dalam referensi Kelas/fungsi memungkinkan Anda untuk:
Hubungkan ke perangkat keras (adaptor fieldbus) dan perangkat pengontrol. Akses OD perangkat, untuk membaca/menulis parameter pengontrol.
3.2 inti NanoLib
Inti NanoLib dilengkapi dengan pustaka impor nanolib.lib. Pustaka ini mengimplementasikan fungsionalitas antarmuka pengguna dan bertanggung jawab untuk:
Memuat dan mengelola pustaka komunikasi. Menyediakan fungsionalitas antarmuka pengguna di NanoLibAccessor. Titik masuk komunikasi ini
mendenda serangkaian operasi yang dapat Anda jalankan pada inti NanoLib dan perpustakaan komunikasi.
3.3 Perpustakaan komunikasi
Selain nanotec.services.nanolib.dll (berguna untuk Plug & Drive Studio opsional Anda), NanoLib menawarkan perpustakaan komunikasi berikut:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Semua perpustakaan meletakkan lapisan abstraksi perangkat keras antara inti dan pengontrol. Inti memuatnya saat startup dari folder proyek yang ditentukan dan menggunakannya untuk menjalin komunikasi dengan pengontrol melalui protokol yang sesuai.
Versi: doc 1.4.2 / NanoLib 1.3.0
7
Memulai
Baca cara mengatur NanoLib untuk sistem operasi Anda dengan benar dan cara menghubungkan perangkat keras sesuai kebutuhan.
4.1 Siapkan sistem Anda
Sebelum menginstal driver adaptor, persiapkan PC Anda beserta sistem operasinya terlebih dahulu. Untuk mempersiapkan PC beserta OS Windows Anda, instal MS Visual Studio dengan ekstensi C++. Untuk menginstal make dan gcc oleh Linux Bash, panggil sudo apt install build-essentials. Kemudian aktifkan kapabilitas CAP_NET_ADMIN, CAP_NET_RAW, dan CAP_SYS_NICE untuk aplikasi yang menggunakan NanoLib: 1. Panggil sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
nama>. 2. Baru kemudian, instal driver adaptor Anda.
4.2 Instal driver adaptor Ixxat untuk Windows
Hanya setelah penginstalan driver yang benar, Anda dapat menggunakan adaptor USB-ke-CAN V2 Ixxat. Baca manual produk drive USB, untuk mempelajari apakah / bagaimana cara mengaktifkan virtual comport (VCP). 1. Unduh dan instal driver VCI 4 Ixxat untuk Windows dari www.ixxat.com. 2. Hubungkan adaptor ringkas USB-ke-CAN V2 Ixxat ke PC melalui USB. 3. Melalui Pengelola Perangkat: Periksa apakah driver dan adaptor telah terpasang/dikenali dengan benar.
4.3 Instal driver adaptor Peak untuk Windows
Hanya setelah penginstalan driver yang benar, Anda dapat menggunakan adaptor PCAN-USB Peak. Baca manual produk drive USB, untuk mempelajari apakah / bagaimana cara mengaktifkan virtual comport (VCP). 1. Unduh dan instal pengaturan driver perangkat Windows (= paket instalasi dengan driver perangkat, alat, dan
API) dari http://www.peak-system.com. 2. Hubungkan adaptor PCAN-USB Peak ke PC melalui USB. 3. Melalui Pengelola Perangkat: Periksa apakah driver dan adaptor telah terpasang/dikenali dengan benar.
4.4 Instal driver adaptor Ixxat untuk Linux
Hanya setelah penginstalan driver yang benar, Anda dapat menggunakan adaptor USB-to-CAN V2 Ixxat. Catatan: Adaptor lain yang didukung memerlukan izin Anda dengan sudo chmod +777/dev/ttyACM* (* nomor perangkat). Baca buku petunjuk produk drive USB, untuk mempelajari apakah/bagaimana cara mengaktifkan virtual comport (VCP). 1. Instal perangkat lunak yang diperlukan untuk driver ECI dan aplikasi demo:
sudo apt-get perbarui apt-get instal libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Unduh driver ECI-for-Linux dari www.ixxat.com. Ekstrak melalui:
ekstrak zip eci_driver_linux_amd64.zip
3. Instal driver melalui:
cd /EciLinux_amd/src/KernelModule sudo buat instal-usb
4. Periksa apakah instalasi driver berhasil dengan mengkompilasi dan menjalankan aplikasi demo:
cd /EciLinux_amd/src/EciDemos/ sudo buat cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Versi: doc 1.4.2 / NanoLib 1.3.0
8
4 Memulai
4.5 Instal driver adaptor Peak untuk Linux
Hanya setelah penginstalan driver yang benar, Anda dapat menggunakan adaptor PCAN-USB Peak. Catatan: Adaptor lain yang didukung memerlukan izin Anda dengan sudo chmod +777/dev/ttyACM* (* nomor perangkat). Baca manual produk drive USB, untuk mempelajari apakah / bagaimana cara mengaktifkan virtual comport (VCP). 1. Periksa apakah Linux Anda memiliki header kernel: ls /usr/src/linux-headers-`uname -r`. Jika tidak, instal
Bahasa Indonesia: mereka: sudo apt-get install linux-headers-`uname -r` 2. Sekarang, instal paket libpopt-dev: sudo apt-get install libpopt-dev 3. Unduh paket driver yang dibutuhkan (peak-linux-driver-xxx.tar.gz) dari www.peak-system.com. 4. Untuk membongkarnya, gunakan: tar xzf peak-linux-driver-xxx.tar.gz 5. Di folder yang dibongkar: Kompilasi dan instal driver, pustaka dasar PCAN, dll.: buat semua
sudo make install 6. Untuk memeriksa fungsinya, colokkan adaptor PCAN-USB.
a) Periksa modul kernel:
lsmod | grep pcan b) … dan perpustakaan bersama:
ls -l /usr/lib/libpcan*
Catatan: Jika terjadi masalah USB3, gunakan port USB2.
4.6 Hubungkan perangkat keras Anda
Agar dapat menjalankan proyek NanoLib, hubungkan pengontrol Nanotec yang kompatibel ke PC menggunakan adaptor Anda. 1. Hubungkan adaptor Anda ke pengontrol dengan kabel yang sesuai. 2. Hubungkan adaptor ke PC sesuai dengan lembar data adaptor. 3. Nyalakan pengontrol menggunakan catu daya yang sesuai. 4. Jika perlu, ubah pengaturan komunikasi pengontrol Nanotec sesuai petunjuk dalam manual produknya.
4.7 Memuat NanoLib
Untuk memulai dengan dasar-dasar yang cepat dan mudah, Anda dapat (tetapi tidak boleh) menggunakan mantan kamiample proyek. 1. Tergantung pada wilayah Anda: Unduh NanoLib dari kami websitus untuk EMEA / APAC atau AMERIKA. 2. Buka zip paketnya files / folder dan pilih salah satu opsi: Untuk dasar-dasar yang cepat dan mudah: Lihat Memulai example project. Untuk kustomisasi tingkat lanjut di Windows: Lihat Membuat proyek Windows Anda sendiri. Untuk kustomisasi tingkat lanjut di Linux: Lihat Membuat proyek Linux Anda sendiri.
Versi: doc 1.4.2 / NanoLib 1.3.0
9
Memulai mantanampproyek
Dengan NanoLib dimuat dengan benar, example proyek menunjukkan kepada Anda melalui penggunaan NanoLib dengan pengontrol Nanotec. Catatan: Untuk setiap langkah, beri komentar pada contoh yang disediakanampkode le menjelaskan fungsi yang digunakan. Sang mantanampproyek ini terdiri dari: `*_functions_exampaku.*' files, yang berisi implementasi untuk fungsi antarmuka NanoLib `*_callback_exampaku.*' files, yang berisi implementasi untuk berbagai panggilan balik (pemindaian, data dan
pencatatan) `menu_*.*' file, yang berisi logika menu dan kode Exampaku.* file, yang merupakan program utama, membuat menu dan menginisialisasi semua parameter yang digunakan Sampmantan lerampaku.* file, yang berisi mantanampimplementasi le untuk samppenggunaan ler. Anda dapat menemukan lebih banyak examples, dengan beberapa perintah gerakan untuk berbagai mode operasi, di Knowledge Base di nanotec.com. Semua dapat digunakan di Windows atau Linux.
Di Windows dengan Visual Studio 1. Buka Example.sln file. 2. Buka example.cpp. 3. Kompilasi dan jalankan exampkodenya.
Di Linux melalui Bash 1. Ekstrak zip sumbernya file, navigasikan ke folder dengan konten yang diekstrak. Utama file untuk mantanampaku adalah
example.cpp. 2. Di bash, panggil:
a. “sudo make install” untuk menyalin objek yang dibagikan dan memanggil ldconfig. b. “make all” untuk membuat executable pengujian. 3. Folder bin berisi executable executable.ample fileDengan bash: Buka folder output dan ketik ./example. Jika tidak terjadi kesalahan, objek yang Anda bagikan sekarang telah terinstal dengan benar, dan pustaka Anda siap digunakan. Jika kesalahannya adalah ./example: kesalahan saat memuat pustaka bersama: libnanolib.so: tidak dapat membuka objek bersama file: Tidak ada seperti itu file atau direktori, instalasi objek bersama gagal. Dalam kasus ini, ikuti langkah-langkah berikut. 4. Buat folder baru di dalam /usr/local/lib (diperlukan hak admin). Ke dalam bash, lalu ketik:
sudo mkdir /usr/lokal/lib/nanotec
5. Salin semua objek yang dibagikan dari zip filefolder lib 's:
instal ./lib/*.so /usr/local/lib/nanotec/
6. Periksa konten folder target dengan:
ls -al /usr/lokal/lib/nanotec/
Ini harus mencantumkan objek yang dibagikan filedari folder lib. 7. Jalankan ldconfig pada folder ini:
sudo ldconfig /usr/lokal/lib/nanotec/
Sang mantanample diimplementasikan sebagai aplikasi CLI dan menyediakan antarmuka menu. Entri menu berbasis konteks dan akan diaktifkan atau dinonaktifkan, tergantung pada status konteks. Menu ini menawarkan kemungkinan untuk memilih dan menjalankan berbagai fungsi pustaka mengikuti alur kerja umum untuk menangani pengontrol: 1. Periksa PC untuk perangkat keras yang terhubung (adaptor) dan buat daftarnya. 2. Buat koneksi ke adaptor. 3. Pindai bus untuk perangkat pengontrol yang terhubung. 4. Hubungkan ke perangkat.
Versi: doc 1.4.2 / NanoLib 1.3.0
10
5 Memulai mantanampproyek
5. Uji satu atau lebih fungsi pustaka: Baca/tulis dari/ke kamus objek pengontrol, perbarui firmware, unggah dan jalankan program NanoJ, jalankan motor dan setel, konfigurasikan dan gunakan pencatatan/pencatatan.ampBaca.
6. Tutup sambungan, pertama ke perangkat, lalu ke adaptor.
Versi: doc 1.4.2 / NanoLib 1.3.0
11
Membuat proyek Windows Anda sendiri
Buat, kompilasi, dan jalankan proyek Windows Anda sendiri untuk menggunakan NanoLib.
6.1 Impor NanoLib
Impor header NanoLib files dan pustaka melalui MS Visual Studio.
1. Buka Visual Studio. 2. Melalui Buat proyek baru > Aplikasi Konsol C++ > Berikutnya: Pilih jenis proyek. 3. Beri nama proyek Anda (di sini: NanolibTest) untuk membuat folder proyek di Solution Explorer. 4. Pilih Selesai. 5. Buka jendela file explorer dan navigasikan ke folder proyek yang baru dibuat. 6. Buat dua folder baru, inc dan lib. 7. Buka folder paket NanoLib. 8. Dari sana: Salin header files dari folder include ke folder proyek Anda inc dan semua .lib dan .dll
files ke folder proyek baru Anda lib. 9. Periksa folder proyek Anda untuk struktur yang tepat, misalnyaampsaya:
folder dll untuk struktur yang sesuai:
. NanolibTest termasuk accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vcxproj.user NanolibTest.sln
6.2 Konfigurasikan proyek Anda
Gunakan Solution Explorer di MS Visual Studio untuk menyiapkan proyek NanoLib. Catatan: Untuk pengoperasian NanoLib yang benar, pilih konfigurasi rilis (bukan debug!) di pengaturan proyek Visual C++; lalu buat dan tautkan proyek dengan runtime VC dari redistributable C++ [2022].
1. Di Solution Explorer: Buka folder proyek Anda (di sini: NanolibTest). 2. Klik bersama folder tersebut untuk membuka menu konteks. 3. Pilih Properties. 4. Aktifkan All configurations dan All platforms. 5. Pilih C/C++ dan buka Additional Include Directories. 6. Sisipkan: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Pilih Linker dan buka Additional Library Directories. 8. Sisipkan: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Perluas Linker dan pilih Input. 10. Buka Additional Dependencies dan sisipkan: nanolib.lib;%(AdditionalDependencies) 11. Konfirmasikan melalui OK.
Versi: doc 1.4.2 / NanoLib 1.3.0
12
6 Membuat proyek Windows Anda sendiri
12.Buka Konfigurasi > C++ > Bahasa > Standar Bahasa > Standar ISO C++17 dan atur standar bahasa ke C++17 (/std:c++17).
6.3 Bangun proyek Anda
Bangun proyek NanoLib Anda di MS Visual Studio. 1. Buka file *.cpp utama file (di sini: nanolib_example.cpp) dan edit kodenya, jika perlu. 2. Pilih Build > Configuration Manager. 3. Ubah Active solution platforms ke x64. 4. Konfirmasikan melalui Close. 5. Pilih Build > Build solution. 6. Tidak ada kesalahan? Periksa apakah keluaran kompilasi Anda melaporkan:
1>—— Pembersihan dimulai: Proyek: NanolibTest, Konfigurasi: Debug x64 —–========== Pembersihan: 1 berhasil, 0 gagal, 0 dilewati ==========
Versi: doc 1.4.2 / NanoLib 1.3.0
13
7 Membuat proyek Linux Anda sendiri
7 Membuat proyek Linux Anda sendiri
Buat, kompilasi, dan jalankan proyek Linux Anda sendiri untuk menggunakan NanoLib. 1. Dalam kit instalasi NanoLib yang telah di-unzip: Buka /nanotec_nanolib. 2. Temukan semua objek yang dibagikan di tar.gz file. 3. Pilih satu opsi: Instal setiap lib dengan Makefile atau dengan tangan.
7.1 Instal objek bersama dengan Makefile
Gunakan Makefile dengan Linux Bash untuk menginstal otomatis semua *.so default files. 1. Melalui Bash: Buka folder yang berisi makefile. 2. Salin objek yang dibagikan melalui:
sudo make install 3. Konfirmasikan melalui:
konfigurasi ld
7.2 Instal objek bersama secara manual
Gunakan Bash untuk menginstal semua *.so files dari NanoLib secara manual. 1. Melalui Bash: Buat folder baru di dalam /usr/local/lib. 2. Hak admin diperlukan! Ketik:
sudo mkdir /usr/local/lib/nanotec 3. Beralihlah ke folder paket instalasi yang telah di-unzip. 4. Salin semua objek yang dibagikan dari folder lib melalui:
instal ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Periksa konten folder target melalui:
ls -al /usr/local/lib/nanotec/ 6. Periksa apakah semua objek yang dibagikan dari folder lib tercantum. 7. Jalankan ldconfig pada folder ini melalui:
sudo ldconfig /usr/lokal/lib/nanotec/
7.3 Buat proyek Anda
Dengan objek bersama yang terinstal: Buat proyek baru untuk Linux NanoLib Anda. 1. Melalui Bash: Buat folder proyek baru (di sini: NanoLibTest) melalui:
mkdir Uji NanoLib cd Uji NanoLib
2. Salin headernya files ke folder include (di sini: inc) melalui: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Buat akun utama file (NanoLibTest.cpp) melalui: #include “accessor_factory.hpp” #include
Versi: doc 1.4.2 / NanoLib 1.3.0
14
7 Membuat proyek Linux Anda sendiri
int utama(){ nlc::NanoLibAccessor *aksesor = dapatkanNanoLibAccessor();
nlc::ResultBusHwIds hasil = accessor->listAvailableBusHardware();
jika (hasil.memilikiError()) { std::cout << hasil.getError() << std::endl; }
else{ std::cout << “Berhasil” << std::endl; }
hapus aksesor; kembalikan 0; }
4. Periksa folder proyek Anda untuk mengetahui strukturnya:
Uji NanoLib
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp hasil.hpp NanoLibTest.cpp
7.4 Kompilasi dan uji proyek Anda
Siapkan Linux NanoLib Anda untuk digunakan melalui Bash.
1. Melalui Bash: Kompilasi file utama file melalui:
g++ -Dinding -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Hubungkan file yang dapat dieksekusi bersama-sama melalui:
g++ -Wall -Wextra -pedantic -I./inc -o uji NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Jalankan program pengujian melalui:
./tes
4. Periksa apakah Bash Anda melaporkan:
kesuksesan
Versi: doc 1.4.2 / NanoLib 1.3.0
15
8 Referensi kelas / fungsi
8 Referensi kelas / fungsi
Temukan di sini daftar kelas antarmuka pengguna NanoLib dan fungsi anggotanya. Deskripsi umum suatu fungsi mencakup pengenalan singkat, definisi fungsi, dan daftar parameter/pengembalian:
ExampleFunction () Memberi tahu Anda secara singkat apa fungsi tersebut.
ruang hampa virtual nlc::NanoLibAccessor::ExampleFungsi (Param_a konstan & param_a, Param_b konstan & param_B)
Parameter param_a param_b
Mengembalikan HasilVoid
Komentar tambahan jika diperlukan. Komentar tambahan jika diperlukan.
8.1 Aksesor NanoLib
Kelas antarmuka digunakan sebagai titik masuk ke NanoLib. Alur kerja umumnya terlihat seperti ini:
1. Mulailah dengan memindai perangkat keras dengan NanoLibAccessor.listAvailableBusHardware (). 2. Atur pengaturan komunikasi dengan BusHardwareOptions(). 3. Buka koneksi perangkat keras dengan NanoLibAccessor.openBusHardwareWithProtocol(). 4. Pindai bus untuk perangkat yang terhubung dengan NanoLibAccessor.scanDevices (). 5. Tambahkan perangkat dengan NanoLibAccessor.addDevice(). 6. Hubungkan ke perangkat dengan NanoLibAccessor.connectDevice(). 7. Setelah menyelesaikan operasi, putuskan sambungan perangkat dengan NanoLibAccessor.disconnectDevice(). 8. Hapus perangkat dengan NanoLibAccessor.removeDevice(). 9. Tutup koneksi perangkat keras dengan NanoLibAccessor.closeBusHardware().
NanoLibAccessor memiliki fungsi anggota publik berikut:
listAvailableBusHardware () Gunakan fungsi ini untuk membuat daftar perangkat keras fieldbus yang tersedia.
virtual ResultBusHwIds nlc::NanoLibAccessor::daftarPerangkatKerasBusTersedia ()
Mengembalikan ResultBusHwIds
Mengirimkan array ID fieldbus.
openBusHardwareWithProtocol () Gunakan fungsi ini untuk menghubungkan perangkat keras bus.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (IdPerangkatKerasBus konstan & busHwId, OpsiPerangkatKerasBus konstan & busHwOpt)
Parameter busHwId busHwOpt
Mengembalikan HasilVoid
Menentukan fieldbus yang akan dibuka. Menentukan opsi pembukaan fieldbus. Mengonfirmasi bahwa fungsi void telah berjalan.
isBusHardwareOpen () Gunakan fungsi ini untuk memeriksa apakah koneksi perangkat keras fieldbus Anda terbuka.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (konstan BusHardwareId & busHwId, konstan BusHardwareOptions & busHwOpt)
Versi: doc 1.4.2 / NanoLib 1.3.0
16
8 Referensi kelas / fungsi
Parameter BusHardwareId Mengembalikan nilai benar
PALSU
Menentukan setiap fieldbus yang akan dibuka. Perangkat keras terbuka. Perangkat keras ditutup.
getProtocolSpecificAccessor () Gunakan fungsi ini untuk mendapatkan objek pengakses khusus protokol.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId konstan dan busHwId)
Parameter busHwId Mengembalikan ResultVoid
Menentukan fieldbus untuk mendapatkan pengaksesnya. Mengonfirmasi bahwa fungsi void telah berjalan.
getProfinetDCP () Gunakan fungsi ini untuk mengembalikan referensi ke antarmuka Profinet DCP.
ProfinetDCP virtual dan dapatkanProfinetDCP ()
Mengembalikan ProfinetDCP
mendapatSamplerInterface () Gunakan fungsi ini untuk mendapatkan referensi ke sampantarmuka.
maya SampAntarmuka ler & dapatkanSampantarmuka ler ()
Mengembalikan SampAntarmuka ler
Mengacu pada sampkelas antarmuka ler.
setBusState () Gunakan fungsi ini untuk mengatur status khusus protokol bus.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (konstan BusHardwareId & busHwId, konstan std::string & status)
Parameter status busHwId
Mengembalikan HasilVoid
Menentukan fieldbus yang akan dibuka. Menetapkan status khusus bus sebagai nilai string. Mengonfirmasi bahwa fungsi void telah berjalan.
scanDevices () Gunakan fungsi ini untuk memindai perangkat di jaringan.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* panggilan balik)
Parameter panggilan balik busHwId
Mengembalikan ResultDeviceIds IOError
Menentukan fieldbus yang akan dipindai. Pelacak kemajuan NlcScanBusCallback. Mengirimkan array ID perangkat. Menginformasikan bahwa perangkat tidak ditemukan.
Versi: doc 1.4.2 / NanoLib 1.3.0
17
8 Referensi kelas / fungsi
tambahkanPerangkat()
Gunakan fungsi ini untuk menambahkan perangkat bus yang dijelaskan oleh deviceId ke daftar perangkat internal NanoLib, dan mengembalikan deviceHandle untuknya.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (IdPerangkat const & idPerangkat)
Parameter deviceId Mengembalikan ResultDeviceHandle
Menentukan perangkat yang akan ditambahkan ke daftar. Memberikan pegangan perangkat.
connectDevice () Gunakan fungsi ini untuk menghubungkan perangkat dengan deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (peganganPerangkat const peganganPerangkat)
Parameter deviceHandle Mengembalikan ResultVoid
Kesalahan IOE
Menentukan perangkat bus mana yang terhubung dengan NanoLib. Mengonfirmasi bahwa fungsi void telah berjalan. Menginformasikan bahwa perangkat tidak ditemukan.
getDeviceName () Gunakan fungsi ini untuk mendapatkan nama perangkat dengan deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (peganganPerangkat const peganganperangkat)
Parameter deviceHandle Mengembalikan ResultString
Menentukan perangkat bus mana yang diberi nama NanoLib. Memberikan nama perangkat sebagai string.
getDeviceProductCode () Gunakan fungsi ini untuk mendapatkan kode produk perangkat dengan deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (peganganPerangkat const peganganperangkat)
Parameter deviceHandle Mengembalikan ResultInt
Menentukan perangkat bus mana yang NanoLib dapatkan kode produknya. Mengirimkan kode produk sebagai bilangan bulat.
getDeviceVendorId () Gunakan fungsi ini untuk mendapatkan ID vendor perangkat melalui deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (peganganperangkat const peganganperangkat)
Parameter deviceHandle Mengembalikan ResultInt
Sumber DayaTidakTersedia
Menentukan perangkat bus mana yang NanoLib dapatkan ID vendornya. Mengirimkan ID vendor sebagai bilangan bulat. Menginformasikan bahwa tidak ada data yang ditemukan.
Versi: doc 1.4.2 / NanoLib 1.3.0
18
8 Referensi kelas / fungsi
getDeviceId () Gunakan fungsi ini untuk mendapatkan ID perangkat tertentu dari daftar internal NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (peganganPerangkat const peganganPerangkat)
Parameter deviceHandle Mengembalikan ResultDeviceId
Menentukan perangkat bus mana yang NanoLib dapatkan ID perangkatnya. Memberikan ID perangkat.
getDeviceIds () Gunakan fungsi ini untuk mendapatkan ID semua perangkat dari daftar internal NanoLib.
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
Mengembalikan ResultDeviceIds
Memberikan daftar ID perangkat.
getDeviceUid () Gunakan fungsi ini untuk mendapatkan ID unik perangkat (96 bit / 12 byte) dengan deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (peganganPerangkat const peganganPerangkat)
Parameter deviceHandle Mengembalikan ResultArrayByte
Sumber DayaTidakTersedia
Menentukan perangkat bus mana yang NanoLib dapatkan ID uniknya. Memberikan ID unik sebagai array byte. Menginformasikan bahwa tidak ada data yang ditemukan.
getDeviceSerialNumber () Gunakan fungsi ini untuk mendapatkan nomor seri perangkat dengan deviceHandle.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (peganganPerangkat const peganganperangkat)
Parameter deviceHandle Mengembalikan ResultString
Sumber DayaTidakTersedia
Menentukan perangkat bus mana yang NanoLib dapatkan nomor serinya. Memberikan nomor seri sebagai string. Menginformasikan bahwa tidak ada data yang ditemukan.
getDeviceHardwareGroup () Gunakan fungsi ini untuk mendapatkan grup perangkat keras perangkat bus berdasarkan deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (pegangan perangkat const pegangan perangkat)
Parameter deviceHandle Mengembalikan ResultInt
Menentukan untuk perangkat bus mana NanoLib mendapatkan grup perangkat kerasnya.
Mengirimkan grup perangkat keras sebagai bilangan bulat.
getDeviceHardwareVersion () Gunakan fungsi ini untuk mendapatkan versi perangkat keras perangkat bus dengan deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (PeganganPerangkat const peganganperangkat)
Versi: doc 1.4.2 / NanoLib 1.3.0
19
8 Referensi kelas / fungsi
Parameter perangkatMenangani
Pengembalian
Sumber Daya ResultStringTidak Tersedia
Menentukan perangkat bus mana yang NanoLib dapatkan versi perangkat kerasnya. Memberikan nama perangkat sebagai string. Menginformasikan bahwa tidak ada data yang ditemukan.
getDeviceFirmwareBuildId () Gunakan fungsi ini untuk mendapatkan ID build firmware perangkat bus melalui deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (PeganganPerangkat const peganganperangkat)
Parameter deviceHandle Mengembalikan ResultString
Menentukan perangkat bus mana yang NanoLib dapatkan ID build firmwarenya.
Memberikan nama perangkat sebagai string.
getDeviceBootloaderVersion () Gunakan fungsi ini untuk mendapatkan versi bootloader perangkat bus dengan deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (PeganganPerangkat const peganganperangkat)
Parameter perangkatMenangani
Pengembalian
Sumber Daya ResultIntTidak Tersedia
Menentukan perangkat bus mana yang NanoLib dapatkan versi bootloadernya. Memberikan versi bootloader sebagai bilangan bulat. Menginformasikan bahwa tidak ada data yang ditemukan.
getDeviceBootloaderBuildId () Gunakan fungsi ini untuk mendapatkan ID build bootloader perangkat bus melalui deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (peganganperangkat const peganganperangkat)
Parameter deviceHandle Mengembalikan ResultString
Menentukan perangkat bus mana yang NanoLib dapatkan ID build bootloadernya.
Memberikan nama perangkat sebagai string.
rebootDevice () Gunakan fungsi ini untuk me-reboot perangkat dengan deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (konstan Pegangan Perangkat Pegangan perangkat)
Parameter deviceHandle Mengembalikan ResultVoid
Menentukan fieldbus yang akan di-boot ulang. Mengonfirmasi bahwa fungsi void telah berjalan.
getDeviceState () Gunakan fungsi ini untuk mendapatkan status khusus protokol perangkat.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (pegangan perangkat const pegangan perangkat)
Parameter perangkatMenangani
Menentukan perangkat bus apa yang NanoLib dapatkan statusnya.
Versi: doc 1.4.2 / NanoLib 1.3.0
20
8 Referensi kelas / fungsi
Mengembalikan ResultString
Memberikan nama perangkat sebagai string.
setDeviceState () Gunakan fungsi ini untuk mengatur status khusus protokol perangkat.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (konstan DeviceHandle deviceHandle, konstan std::string & status)
Parameter status penanganan perangkat
Mengembalikan HasilVoid
Menentukan status perangkat bus yang ditetapkan NanoLib. Menetapkan status khusus bus sebagai nilai string. Mengonfirmasi bahwa fungsi void telah berjalan.
dapatkanKoneksiState()
Gunakan fungsi ini untuk mendapatkan status koneksi terakhir yang diketahui dari perangkat tertentu dengan deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (PeganganPerangkat const peganganperangkat)
Parameter deviceHandle Mengembalikan ResultConnectionState
Menentukan perangkat bus mana yang NanoLib dapatkan status koneksinya.
Memberikan status koneksi (= Terputus, Terhubung, TerhubungBootloader).
periksaKoneksiState()
Hanya jika status terakhir yang diketahui adalah Terputus: Gunakan fungsi ini untuk memeriksa dan mungkin memperbarui status koneksi perangkat tertentu dengan deviceHandle dan dengan menguji beberapa operasi khusus mode.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (PeganganPerangkat const peganganperangkat)
Parameter deviceHandle Mengembalikan ResultConnectionState
Menentukan perangkat bus mana yang NanoLib periksa status koneksinya.
Memberikan status koneksi (= tidak Terputus).
ditugaskanObjectDictionary () Gunakan fungsi manual ini untuk menetapkan kamus objek (OD) ke deviceHandle Anda sendiri.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (PeganganPerangkat const peganganperangkat, PeganganObjek const & PeganganObjek)
Parameter deviceHandle objectDictionary
Mengembalikan ResultObjectDictionary
Menentukan perangkat bus mana yang akan ditetapkan OD oleh NanoLib. Menampilkan properti kamus objek.
autoAssignObjectDictionary()
Gunakan otomatisme ini untuk membiarkan NanoLib menetapkan kamus objek (OD) ke deviceHandle. Saat menemukan dan memuat OD yang sesuai, NanoLib secara otomatis menetapkannya ke perangkat. Catatan: Jika OD yang kompatibel sudah dimuat di perpustakaan objek, NanoLib akan menggunakannya secara otomatis tanpa memindai direktori yang dikirimkan.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (PeganganPerangkat const peganganperangkat, const std::string & jalurlokasikamus)
Versi: doc 1.4.2 / NanoLib 1.3.0
21
8 Referensi kelas / fungsi
Parameter perangkatMenangani
Pengembalian
kamusLocationPath ResultObjectDictionary
Menentukan perangkat bus mana yang NanoLib akan secara otomatis memindai OD yang sesuai. Menentukan jalur ke direktori OD. Menampilkan properti kamus objek.
dapatkanKamusObjekYangDitugaskan()
Gunakan fungsi ini untuk mendapatkan kamus objek yang ditetapkan ke perangkat oleh deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const perangkat
Menangani)
Parameter deviceHandle Mengembalikan ResultObjectDictionary
Menentukan perangkat bus mana yang NanoLib dapatkan OD yang ditetapkan. Menampilkan properti kamus objek.
getObjectDictionaryLibrary () Fungsi ini mengembalikan referensi OdLibrary.
PerpustakaanOd virtual&nlc::NanoLibAccessor::getObjectDictionaryLibrary()
Mengembalikan OdLibrary&
Membuka seluruh perpustakaan OD dan kamus objeknya.
setLoggingLevel () Gunakan fungsi ini untuk mengatur detail log yang diperlukan (dan log file ukuran). Tingkat defaultnya adalah Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (tingkat LogLevel)
Tingkat parameter
Detail log berikut dimungkinkan:
0 = Jejak 1 = Debug 2 = Info 3 = Peringatan 4 = Error 5 = Kritis 6 = Mati
Level terendah (log terbesar file); mencatat setiap detail yang mungkin, ditambah perangkat lunak mulai/berhenti. Mencatat informasi debug (= hasil sementara, konten yang dikirim atau diterima, dll.) Tingkat default; mencatat pesan informasi. Mencatat masalah yang memang terjadi tetapi tidak menghentikan algoritma saat ini. Mencatat hanya masalah parah yang menghentikan algoritme. Level tertinggi (log terkecil file); mematikan logout; tidak ada log lebih lanjut sama sekali. Tidak ada pencatatan sama sekali.
mengaturPanggilanLogging()
Gunakan fungsi ini untuk menetapkan penunjuk panggilan balik pencatatan dan modul log (= pustaka) untuk panggilan balik tersebut (bukan untuk pencatat itu sendiri).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* panggilan balik, const nlc::LogModule & logModule)
Parameter *log panggilan balikModul
Mengatur penunjuk panggilan balik. Menyetel panggilan balik (bukan pencatat!) ke pustaka Anda.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Mengaktifkan panggilan balik hanya untuk inti NanoLib. Mengaktifkan panggilan balik khusus CANopen. Mengaktifkan panggilan balik khusus Modbus. Mengaktifkan panggilan balik khusus EtherCAT.
Versi: doc 1.4.2 / NanoLib 1.3.0
22
8 Referensi kelas / fungsi
4 = NanolibRest 5 = NanolibUSB
Mengaktifkan panggilan balik khusus REST. Mengaktifkan panggilan balik khusus USB.
unsetLoggingCallback () Gunakan fungsi ini untuk membatalkan penunjuk panggilan balik logging.
ruang hampa virtual nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Gunakan fungsi ini untuk membaca nilai numerik dari kamus objek.
virtual ResultInt nlc::NanoLibAccessor::readNumber (konstan DeviceHandle deviceHandle, konstan OdIndex odIndex)
Parameter perangkatHandle odIndex
Mengembalikan ResultInt
Menentukan dari perangkat bus mana NanoLib membaca. Menentukan indeks (sub-) yang akan dibaca. Memberikan nilai numerik yang tidak dapat diinterpretasikan (dapat ditandatangani, tidak ditandatangani, nilai tetap 16.16 bit).
readNumberArray () Gunakan fungsi ini untuk membaca array numerik dari kamus objek.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (pegangan perangkat const deviceHandle, uint16_t indeks)
Parameter indeks DeviceHandle
Mengembalikan ResultArrayInt
Menentukan dari perangkat bus mana NanoLib membaca. Indeks objek array. Memberikan array bilangan bulat.
readBytes () Gunakan fungsi ini untuk membaca byte arbitrer (data objek domain) dari kamus objek.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (pegangan perangkat const deviceHandle, OdIndex odIndex const)
Parameter perangkatHandle odIndex
Mengembalikan ResultArrayByte
Menentukan dari perangkat bus mana NanoLib membaca. Menentukan indeks (sub-) yang akan dibaca. Memberikan array byte.
readString () Gunakan fungsi ini untuk membaca string dari direktori objek.
virtual ResultString nlc::NanoLibAccessor::readString (konstan DeviceHandle deviceHandle, konstan OdIndex odIndex)
Parameter perangkatHandle odIndex
Mengembalikan ResultString
Menentukan dari perangkat bus mana NanoLib membaca. Menentukan indeks (sub-) yang akan dibaca. Memberikan nama perangkat sebagai string.
Versi: doc 1.4.2 / NanoLib 1.3.0
23
8 Referensi kelas / fungsi
writeNumber () Gunakan fungsi ini untuk menulis nilai numerik ke direktori objek.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (konstan DeviceHandle deviceHandle, int64_t nilai, konstan OdIndex odIndex, unsigned int bitLength)
Parameter nilai deviceHandle odIndex bitLength
Mengembalikan HasilVoid
Menentukan perangkat bus mana yang NanoLib tulis. Nilai yang tidak diinterpretasikan (dapat ditandatangani, tidak ditandatangani, diperbaiki 16.16). Menentukan indeks (sub-) yang akan dibaca. Panjangnya sedikit. Mengonfirmasi bahwa fungsi void telah berjalan.
writeBytes () Gunakan fungsi ini untuk menulis byte arbitrer (data objek domain) ke direktori objek.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (konstan Pegangan Perangkat Pegangan perangkat, konstan std::vektor & data, konstanta OdIndex odIndex)
Parameter perangkatMenangani data odIndex
Mengembalikan HasilVoid
Menentukan perangkat bus mana yang NanoLib tulis. Vektor byte/array. Menentukan indeks (sub-) yang akan dibaca. Mengonfirmasi bahwa fungsi void telah berjalan.
unggah Firmware ()
Gunakan fungsi ini untuk memperbarui firmware pengontrol Anda.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (konstan DeviceHandle deviceHandle, konstan std::vector & fwData, NlcDataTransferCallback* panggilan balik)
Parameter perangkatHandle fwData NlcDataTransferCallback
Mengembalikan HasilVoid
Menentukan pembaruan NanoLib perangkat bus apa. Array yang berisi data firmware. Pelacak kemajuan data. Mengonfirmasi bahwa fungsi void telah berjalan.
unggahFirmwareDariFile ()
Gunakan fungsi ini untuk memperbarui firmware pengontrol Anda dengan mengunggahnya file.
virtual HasilVoid nlc::NanoLibAccessor::uploadFirmwareDariFile (konstan DeviceHandle deviceHandle, const std::string & absolutFileJalur, panggilan balik NlcDataTransferCallback*)
Parameter deviceHandle mutlakFileJalur NlcDataTransferCallback
Mengembalikan HasilVoid
Menentukan pembaruan NanoLib perangkat bus apa. Jalan menuju file berisi data firmware (std::string). Pelacak kemajuan data. Mengonfirmasi bahwa fungsi void telah berjalan.
Versi: doc 1.4.2 / NanoLib 1.3.0
24
8 Referensi kelas / fungsi
unggahBootloader ()
Gunakan fungsi ini untuk memperbarui bootloader pengontrol Anda.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (konstan DeviceHandle deviceHandle, konstan std::vector & btData, NlcDataTransferCallback* panggilan balik)
Parameter deviceHandle btData NlcDataTransferCallback
Mengembalikan HasilVoid
Menentukan pembaruan NanoLib perangkat bus apa. Array yang berisi data bootloader. Pelacak kemajuan data. Mengonfirmasi bahwa fungsi void telah berjalan.
unggahBootloaderDariFile ()
Gunakan fungsi ini untuk memperbarui bootloader pengontrol Anda dengan mengunggahnya file.
virtual HasilVoid nlc::NanoLibAccessor::uploadBootloaderDariFile (konstan DeviceHandle deviceHandle, const std::string dan bootloaderAbsoluteFileJalur, panggilan balik NlcDataTransferCallback*)
Parameter perangkatHandle bootloaderAbsoluteFileJalur NlcDataTransferCallback
Mengembalikan HasilVoid
Menentukan pembaruan NanoLib perangkat bus apa. Jalan menuju file berisi data bootloader (std::string). Pelacak kemajuan data. Mengonfirmasi bahwa fungsi void telah berjalan.
unggah Firmware Bootloader ()
Gunakan fungsi ini untuk memperbarui bootloader dan firmware pengontrol Anda.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (konstan DeviceHandle deviceHandle, konstan std::vector & btData, konstanta std::vektor & fwData, NlcDataTransferCallback* panggilan balik)
Parameter deviceHandle btData fwData NlcDataTransferCallback
Mengembalikan HasilVoid
Menentukan pembaruan NanoLib perangkat bus apa. Array yang berisi data bootloader. Array yang berisi data firmware. Pelacak kemajuan data. Mengonfirmasi bahwa fungsi void telah berjalan.
uploadBootloaderFirmwareDariFile ()
Gunakan fungsi ini untuk memperbarui bootloader dan firmware pengontrol Anda dengan mengunggah files.
virtual HasilVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareDariFile (konstan DeviceHandle deviceHandle, const std::string dan bootloaderAbsoluteFileJalur, const std::string & absolutFileJalur, panggilan balik NlcDataTransferCallback*)
Parameter perangkatHandle bootloaderAbsoluteFileJalur mutlakFileJalur NlcDataTransferCallback
Mengembalikan HasilVoid
Menentukan pembaruan NanoLib perangkat bus apa. Jalan menuju file berisi data bootloader (std::string). Jalur ke file berisi data firmware (uint8_t). Pelacak kemajuan data. Mengonfirmasi bahwa fungsi void telah berjalan.
Versi: doc 1.4.2 / NanoLib 1.3.0
25
8 Referensi kelas / fungsi
unggahNanoJ ()
Gunakan fungsi publik ini untuk mengunggah program NanoJ ke pengontrol Anda.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (peganganperangkat const peganganperangkat, std::vektor const & vmmData, NlcDataTransferCallback* panggilan balik)
Parameter perangkatHandle vmmData NlcDataTransferCallback
Mengembalikan HasilVoid
Menentukan perangkat bus mana yang diunggah NanoLib. Array yang berisi data NanoJ. Pelacak kemajuan data. Mengonfirmasi bahwa fungsi void telah berjalan.
unggahNanoJDariFile ()
Gunakan fungsi publik ini untuk mengunggah program NanoJ ke pengontrol Anda dengan mengunggah file.
virtual HasilVoid nlc::NanoLibAccessor::uploadNanoJFromFile (konstan DeviceHandle deviceHandle, const std::string & absolutFileJalur, panggilan balik NlcDataTransferCallback*)
Parameter deviceHandle mutlakFileJalur NlcDataTransferCallback
Mengembalikan HasilVoid
Menentukan perangkat bus mana yang diunggah NanoLib. Jalan menuju file berisi data NanoJ (std::string). Pelacak kemajuan data. Mengonfirmasi bahwa fungsi void telah berjalan.
putuskanPerangkat() Gunakan fungsi ini untuk memutuskan sambungan perangkat Anda dengan deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::putuskanPerangkat (PeganganPerangkat const PeganganPerangkat)
Parameter deviceHandle Mengembalikan ResultVoid
Menentukan dari perangkat bus mana NanoLib terputus. Mengonfirmasi bahwa fungsi void telah berjalan.
hapusDevice () Gunakan fungsi ini untuk menghapus perangkat Anda dari daftar perangkat internal NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (konstan Pegangan Perangkat Pegangan Perangkat)
Parameter deviceHandle Mengembalikan ResultVoid
Menentukan perangkat bus mana yang dihapus oleh NanoLib. Mengonfirmasi bahwa fungsi void telah berjalan.
closeBusHardware () Gunakan fungsi ini untuk memutuskan sambungan dari perangkat keras fieldbus Anda.
virtual ResultVoid nlc::NanoLibAccessor::tutupBusHardware (BusHardwareId konstan dan busHwId)
Parameter busHwId Mengembalikan ResultVoid
Menentukan fieldbus yang akan diputuskan sambungannya. Mengonfirmasi bahwa fungsi void telah berjalan.
Versi: doc 1.4.2 / NanoLib 1.3.0
26
8 Referensi kelas / fungsi
8.2 BusHardwareId
Gunakan kelas ini untuk mengidentifikasi perangkat keras bus satu-ke-satu atau untuk membedakan perangkat keras bus yang berbeda satu sama lain. Kelas ini (tanpa fungsi penyetel yang tidak dapat diubah sejak pembuatan) juga menyimpan informasi tentang:
Perangkat keras (= nama adaptor, adaptor jaringan, dll.) Protokol yang digunakan (= Modbus TCP, CANopen, dll.) Penentu perangkat keras bus (= nama port serial, nama ramah MAC
alamat dll.)
BusHardwareId () [1/3] Konstruktor yang membuat objek ID perangkat keras bus baru.
nlc::BusHardwareId::BusHardwareId (konstanta std::string & busHardware_, konstanta std::string & protokol_, konstanta std::string & penentu perangkat keras_, konstanta std::string & nama_)
Parameter busHardware_ protokol_ hardwareSpecifier_ extraHardwareSpecifier_ nama_
Jenis perangkat keras (= ZK-USB-CAN-1 dll.). Protokol komunikasi bus (= CANopen dll.). Penentu perangkat keras (= COM3 dll.). Penentu tambahan perangkat keras (misalnya, info lokasi USB). Nama yang bersahabat (= NamaAdaptor (Port) dll.).
BusHardwareId () [2/3] Konstruktor yang membuat objek ID perangkat keras bus baru, dengan opsi untuk spesifikasi perangkat keras tambahan.
nlc::BusHardwareId::BusHardwareId (konstanta std::string dan busHardware_, konstanta std::string dan protokol_, konstanta std::string dan hardwareSpecifier_, konstanta std::string dan extraHardwareSpecifier_, konstanta std::string dan nama_)
Parameter busHardware_ protokol_ hardwareSpecifier_ extraHardwareSpecifier_ nama_
Jenis perangkat keras (= ZK-USB-CAN-1 dll.). Protokol komunikasi bus (= CANopen dll.). Penentu perangkat keras (= COM3 dll.). Penentu tambahan perangkat keras (misalnya, info lokasi USB). Nama yang bersahabat (= NamaAdaptor (Port) dll.).
BusHardwareId() [3/3] Konstruktor yang menyalin busHardwareId yang ada.
nlc::BusHardwareId::BusHardwareId (konstanta BusHardwareId &)
nlc::BusHardwareId::BusHardwareId (konstanta BusHardwareId &)
Parameter busHardwareId
Beri nama ID perangkat keras bus yang akan disalin.
sama dengan () Membandingkan ID perangkat keras bus baru dengan yang sudah ada.
bool nlc::BusHardwareId::equals (BusHardwareId const & lainnya) const
Parameter lainnya Mengembalikan nilai benar
Objek lain dari kelas yang sama. Jika keduanya sama dalam semua nilai.
Versi: doc 1.4.2 / NanoLib 1.3.0
27
8 Referensi kelas / fungsi
PALSU
Jika nilainya berbeda.
getBusHardware () Membaca string perangkat keras bus.
std::string nlc::IdPerangkat ...
Mengembalikan string
getHardwareSpecifier () Membaca string penentu perangkat keras bus (= nama jaringan, dll.).
std::string nlc::BusHardwareId::dapatkanHardwareSpecifier () konstan
Mengembalikan string
getExtraHardwareSpecifier () Membaca string penentu perangkat keras ekstra bus (= alamat MAC dll.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Mengembalikan string
getName () Membaca nama perangkat keras bus yang mudah diingat.
std::string nlc::BusHardwareId::dapatkanNama() const
Mengembalikan string
getProtocol () Membaca string protokol bus.
std::string nlc::BusHardwareId::dapatkanProtokol () konstan
Mengembalikan string
toString () Mengembalikan ID perangkat keras bus sebagai string.
std::string nlc::IdPerangkatPerangkatBus::keString () konstan
Mengembalikan string
8.3 Opsi Perangkat Keras Bus
Temukan di kelas ini, dalam daftar kunci-nilai string, semua opsi yang diperlukan untuk membuka perangkat keras bus.
Versi: doc 1.4.2 / NanoLib 1.3.0
28
8 Referensi kelas / fungsi
BusHardwareOptions () [1/2] Membangun objek opsi perangkat keras bus baru.
nlc::BusHardwareOptions::BusHardwareOptions () Gunakan fungsi addOption () untuk menambahkan pasangan kunci-nilai.
BusHardwareOptions () [2/2] Membuat objek opsi perangkat keras bus baru dengan peta nilai kunci sudah ada.
nlc::OpsiPerangkatPerangkatBus::OpsiPerangkatPerangkatBus (std::peta konstanta & opsi)
Opsi parameter
Peta dengan opsi pengoperasian perangkat keras bus.
addOption () Membuat kunci dan nilai tambahan.
void nlc::BusHardwareOptions::addOption (std::string const & kunci, std::string const & nilai)
Nilai kunci parameter
Example: BAUD_RATE_OPTIONS_NAME, lihat bus_hw_options_ default
Example: BAUD_RATE_1000K, lihat bus_hw_options_defaults
sama dengan () Membandingkan BusHardwareOptions dengan yang sudah ada.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & lainnya) const
Parameter lainnya Mengembalikan nilai benar
PALSU
Objek lain dari kelas yang sama. Jika objek lain memiliki semua opsi yang sama persis. Jika objek lain memiliki kunci atau nilai yang berbeda.
getOptions () Membacakan semua pasangan nilai kunci yang ditambahkan.
std::peta nlc::BusHardwareOptions::getOptions () konstan
Mengembalikan peta string
toString() Mengembalikan semua kunci/nilai sebagai string.
std::string nlc::IdPerangkatPerangkatBus::keString () konstan
Mengembalikan string
8.4 BusHwOptionsDefault
Kelas opsi konfigurasi default ini memiliki atribut publik berikut:
Versi: doc 1.4.2 / NanoLib 1.3.0
29
8 Referensi kelas / fungsi
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () serial = Serial () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()
8.5 CanBaudRate
Struktur yang berisi baudrate bus CAN dalam atribut publik berikut:
konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string
BAUD_RATE_1000K = “1000rb” BAUD_RATE_800K = “800rb” BAUD_RATE_500K = “500rb” BAUD_RATE_250K = “250rb” BAUD_RATE_125K = “125rb” BAUD_RATE_100K = “100rb” BAUD_RATE_50K = “50rb” BAUD_R ATE_20K = “20rb” BAUD_RATE_10K = “10rb” BAUD_RATE_5K = “5rb”
8.6 CanBus
Kelas opsi konfigurasi default dengan atribut publik berikut:
konstan std::string konstan CanBaudRate konstan Ixxat
BAUD_RATE_OPTIONS_NAME = “bisa adaptor baud rate” baudRate = CanBaudRate() ixxat = Ixxat()
8.7 Layanan CanOpenNmt
Untuk layanan NMT, struct ini berisi status CANopen NMT sebagai nilai string dalam atribut publik berikut:
konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string
MULAI = “MULAI” STOP = “STOP” PRE_OPERATIONAL = “PRE_OPERATIONAL” RESET = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”
8.8 CanOpenNmtState
Struct ini berisi status CANopen NMT sebagai nilai string dalam atribut publik berikut:
konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string
BERHENTI = “BERHENTI” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “OPERATIONAL” INITIALISASI = “INITIALISASI” UNKNOWN = “UNKNOWN”
8.9 Struktur EtherCATBus
Struct ini berisi opsi konfigurasi komunikasi EtherCAT dalam atribut publik berikut:
Versi: doc 1.4.2 / NanoLib 1.3.0
30
8 Referensi kelas / fungsi
const std::string NETWORK_FIRMWARE_STATE_OP- Status jaringan diperlakukan sebagai mode firmware. Dapat diterima
TION_NAME = “Status Firmware Jaringan”
nilai (default = PRE_OPERATIONAL):
EtherCATSstate::PRE_OPERATIONAL EtherCATSstate::SAFE_OPERATIONAL EtherCATSstate::OPERATIONAL
const std::string STATUS_FIRMWARE_JARINGAN_DEFAULT = “PRA_OPERASIONAL”
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Batas waktu dalam milidetik untuk memperoleh kunci eksklusif
TION_NAME = “Waktu Habis Penguncian Bersama”
jaringan (default = 500 ms).
const unsigned ke DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Batas waktu dalam milidetik untuk memperoleh kunci bersama pada
NAMA = “Waktu Habis Kunci Bersama”
jaringan (default = 250 ms).
const tidak ditandatangani ke dalam DEFAULT_SHARED_LOCK_TIMEOUT = “250”
const std::string READ_TIMEOUT_OPTION_NAME = Waktu habis dalam milidetik untuk operasi baca (default
“Baca Batas Waktu”
= 700 ms).
const tidak ditandatangani ke dalam DEFAULT_READ_TIMEOUT = “700”
const std::string WRITE_TIMEOUT_OPTION_NAME = Waktu habis dalam milidetik untuk operasi penulisan (default
“Waktu Habis Menulis”
= 200 ms).
const tidak ditandatangani ke dalam DEFAULT_WRITE_TIMEOUT = “200”
const std::string READ_WRITE_ATTEMPTS_OPTION_ Upaya baca atau tulis maksimum (nilai bukan nol)
NAMA = “Upaya Baca/Tulis”
hanya; bawaan = 5).
const tidak ditandatangani ke dalam DEFAULT_READ_WRITE_ATTEMPTS = “5”
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Ubah Upaya Status Jaringan”
Jumlah maksimum upaya untuk mengubah status jaringan (hanya nilai bukan nol; default = 10).
const tidak ditandatangani ke dalam DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”
const std::string PDO_IO_ENABLED_OPTION_NAME Mengaktifkan atau menonaktifkan pemrosesan PDO untuk input / output digital.
= “PDO IO Diaktifkan”
keluaran (“Benar” atau “Salah” saja; default = “Benar”).
const std::string DEFAULT_PDO_IO_ENABLED = “Benar”
8.10 Struktur EtherCATSstate
Struct ini berisi status slave/jaringan EtherCAT sebagai nilai string dalam atribut publik berikut. Catatan: Status default saat dihidupkan adalah PRE_OPERATIONAL; NanoLib tidak dapat memberikan status “OPERASIONAL” yang dapat diandalkan dalam sistem operasi non-waktu nyata:
konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string
TIDAK ADA = “TIDAK ADA” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “OPERATIONAL”
Versi: doc 1.4.2 / NanoLib 1.3.0
31
8 Referensi kelas / fungsi
8.11 Ixxat
Struktur ini menampung semua informasi untuk Ixxat usb-to-can dalam atribut publik berikut:
konstan std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = “nomor bus adaptor ixxat”
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Struktur ini menyimpan nomor bus untuk Ixxat usb-to-can dalam atribut publik berikut:
konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string
NOMOR_BUS_0_DEFAULT = “0” NOMOR_BUS_1 = “1” NOMOR_BUS_2 = “2” NOMOR_BUS_3 = “3”
8.13 Puncak
Struktur ini menampung semua informasi untuk Peak usb-to-can dalam atribut publik berikut:
konstan std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = “nomor bus adaptor puncak”
konstanta NomorBusAdapterPuncak adapterNomorBus = NomorBusAdapterPuncak()
8.14 NomorBusAdapterPuncak
Struktur ini menyimpan nomor bus untuk Peak usb-to-can dalam atribut publik berikut:
Bahasa Indonesia: konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string
BUS_NOMOR_1_DEFAULT = std::ke_string (PCAN_USBBUS1) BUS_NOMOR_2 = std::ke_string (PCAN_USBBUS2) BUS_NOMOR_3 = std::ke_string (PCAN_USBBUS3) BUS_NOMOR_4 = std::ke_string (PCAN_USBBUS4) BUS_NOMOR_5 = std::ke_string (PCAN_USBBUS5) BUS_NOMOR_6 = std::ke_string (PCAN_USBBUS6) BUS_NOMOR_7 = std::ke_string (PCAN_USBBUS7) BUS_NOMOR_8 = std::ke_string (PCAN_USBBUS8) BUS_NOMOR_9 = std::ke_string (PCAN_USBBUS9) BUS_NOMOR_10 = std::ke_string (PCAN_USBBUS10) NOMOR_BUS_11 = std::ke_string (PCAN_USBBUS11) NOMOR_BUS_12 = std::ke_string (PCAN_USBBUS12) NOMOR_BUS_13 = std::ke_string (PCAN_USBBUS13) NOMOR_BUS_14 = std::ke_string (PCAN_USBBUS14) NOMOR_BUS_15 = std::ke_string (PCAN_USBBUS15) NOMOR_BUS_16 = std::ke_string (PCAN_USBBUS16)
8.15 Pegangan Perangkat
Kelas ini mewakili pegangan untuk mengendalikan perangkat di bus dan memiliki fungsi anggota publik berikut.
DeviceHandle () DeviceHandle (pegangan uint32_t)
Versi: doc 1.4.2 / NanoLib 1.3.0
32
8 Referensi kelas / fungsi
sama dengan () Membandingkan dirinya dengan pegangan perangkat tertentu.
bool sama dengan (DeviceHandle const lainnya) const (uint32_t handle)
toString () Mengembalikan representasi string dari pegangan perangkat.
std::string keString() konstan
get () Mengembalikan pegangan perangkat.
uint32_t dapatkan () const
8.16 ID Perangkat
Gunakan kelas ini (tidak dapat diubah sejak pembuatan) untuk mengidentifikasi dan membedakan perangkat di bus:
Pengidentifikasi adaptor perangkat keras
Pengenal perangkat
Keterangan
Arti nilai ID perangkat/deskripsi bergantung pada bus. Misalnyaampmisalnya, bus CAN dapat menggunakan ID integer.
DeviceId () [1/3] Membuat objek ID perangkat baru.
nlc::IdPerangkat::IdPerangkat (IdPerangkatBus const & IdPerangkatBus_, int perangkat_ unsigned, std::string const & deskripsi_)
Parameter busHardwareId_ deviceId_ deskripsi_
Pengidentifikasi bus. Sebuah indeks; tunduk pada bus (= CANopen ID node dll.). Deskripsi (mungkin kosong); tunduk pada bus.
DeviceId () [2/3] Membangun objek ID perangkat baru dengan opsi ID yang diperluas.
nlc::DeviceId::DeviceId (IdPerangkatPerangkat_konstan & _busHardwareId_, unsigned int_perangkat_, std::string_konstan & _deskripsi_ std::vektor konstanta & extraId_, std::string konstanta & extraStringId_)
Parameter busHardwareId_deviceId_deskripsi_extraId_extraStringId_
Pengidentifikasi bus. Indeks; subjek bus (= ID simpul CANopen, dsb.). Deskripsi (boleh kosong); subjek bus. ID tambahan (boleh kosong); artinya tergantung pada bus. ID string tambahan (boleh kosong); artinya tergantung pada bus.
DeviceId () [3/3] Membuat salinan objek ID perangkat.
nlc::IdPerangkat::IdPerangkat (IdPerangkat const &)
Versi: doc 1.4.2 / NanoLib 1.3.0
33
8 Referensi kelas / fungsi
Parameter perangkatId_
ID Perangkat yang akan disalin.
sama dengan () Membandingkan objek baru dengan objek yang sudah ada.
bool nlc::DeviceId::equals (DeviceId const & lainnya) const
Mengembalikan boolean
getBusHardwareId () Membacakan ID perangkat keras bus.
BusHardwareId nlc::DeviceId::dapatkanBusHardwareId () konstan
Mengembalikan BusHardwareId
getDescription () Membaca deskripsi perangkat (mungkin tidak digunakan).
std::string nlc::IdPerangkat::dapatkanDeskripsi() const
Mengembalikan string
getDeviceId () Membacakan ID perangkat (mungkin tidak digunakan).
tidak bertanda int nlc::DeviceId::getDeviceId () const
Mengembalikan int yang tidak ditandatangani
toString() Mengembalikan objek sebagai string.
std::string nlc::IdPerangkat::toString () konstan
Mengembalikan string
getExtraId () Membacakan ID tambahan perangkat (mungkin tidak digunakan).
konstan std::vektor &dapatkanIdEkstra() konstan
Mengembalikan vektor
Vektor ID tambahan tambahan (mungkin kosong); artinya tergantung pada bus.
getExtraStringId () Membacakan ID string tambahan perangkat (mungkin tidak digunakan).
std::string getExtraStringId() konst
Versi: doc 1.4.2 / NanoLib 1.3.0
34
8 Referensi kelas / fungsi
Mengembalikan string
ID string tambahan (mungkin kosong); artinya tergantung pada bus.
8.17 Pengonversi LogLevel
Kelas ini mengembalikan level log Anda sebagai string. static std::string toString (nlc::LogLevel logLevel)
8.18 Konverter Modul Log
Kelas ini mengembalikan modul log spesifik perpustakaan Anda setLoggingLevel () sebagai string.
std::string statis
keString (nlc::LogModule logModule)
statis std::string keString (nlc::LogModule logModule)
8.19 Kamus Objek
Kelas ini mewakili kamus objek pengontrol dan memiliki fungsi anggota publik berikut: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Mengembalikan ResultDeviceHandle
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Mengembalikan ResultObjectSubEntry
getObjectEntry () virtual ResultObjectEntry getObjectEntry (indeks uint16_t)
Mengembalikan ResultObjectEntry
Menginformasikan tentang properti suatu objek.
dapatkanXmlFileNama () virtual ResultString getXmlFileNama () const
Mengembalikan ResultString
Mengembalikan XML file nama sebagai string.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Mengembalikan ResultInt
bacaArrayAngka() virtual ResultArrayInt bacaArrayAngka(uint16_t const indeks)
Versi: doc 1.4.2 / NanoLib 1.3.0
35
8 Referensi kelas / fungsi
Mengembalikan ResultArrayInt readString()
Bahasa Indonesia: virtual ResultString readString (OdIndex const odIndex) Mengembalikan ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Mengembalikan ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, const int64_t nilai) Mengembalikan ResultVoid writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Mengembalikan ResultVoid Tautan Terkait OdIndex
8.20 Entri Objek
Kelas ini mewakili entri objek dari kamus objek, memiliki atribut terlindungi statis dan fungsi anggota publik berikut:
statis nlc::ObjectSubEntry objek tidak valid
getName () Membacakan nama objek sebagai string.
virtual std::string dapatkanNama() const
getPrivate() Memeriksa apakah objek tersebut bersifat pribadi.
virtual bool dapatkanPrivate() konstan
getIndex() Membaca alamat indeks objek.
virtual uint16_t dapatkanIndeks() konstan
Versi: doc 1.4.2 / NanoLib 1.3.0
36
8 Referensi kelas / fungsi
getDataType() Membaca tipe data objek.
virtual nlc::ObjectEntryDataType dapatkanTipeData () const
getObjectCode () Membacakan kode objek:
Catatan Array Var Defstruct Deftype Null
0x00 0x05 0x06 0x07 0x08 0x09
virtual nlc::KodeObjek dapatkanKodeObjek() const
getObjectSaveable () Memeriksa apakah objek dapat disimpan dan kategorinya (lihat manual produk untuk lebih jelasnya): APLIKASI, KOMUNIKASI, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc::ObjectSaveable dapatkanObjectSaveable () const
getMaxSubIndex () Membacakan jumlah subindeks yang didukung oleh objek ini.
virtual uint8_t dapatkanMaxSubIndex() konstan
dapatkanSubEntry() virtual nlc::ObjectSubEntry & dapatkanSubEntry(uint8_t subIndeks)
Lihat juga ObjectSubEntry.
8.21 SubEntri Objek
Kelas ini mewakili sub-entri objek (subindex) dari kamus objek dan memiliki fungsi anggota publik berikut:
getName () Membacakan nama objek sebagai string.
virtual std::string dapatkanNama() const
getSubIndex() Membacakan alamat subindex.
virtual uint8_t dapatkanSubIndeks() konstan
Versi: doc 1.4.2 / NanoLib 1.3.0
37
8 Referensi kelas / fungsi
getDataType() Membaca tipe data objek.
virtual nlc::ObjectEntryDataType dapatkanTipeData () const
getSdoAccess () Memeriksa apakah subindeks dapat diakses melalui SDO:
Hanya Baca
1
Hanya Tulis
2
BacaTulis
3
Tidak ada akses
0
virtual nlc::ObjectSdoAccessAttribute dapatkanSdoAccess () konstan
getPdoAccess () Memeriksa apakah subindeks dapat diakses/dipetakan melalui PDO:
Tx
1
Rx
2
TxRx
3
TIDAK
0
virtual nlc::ObjectPdoAccessAttribute dapatkanPdoAccess () konstan
getBitLength() Memeriksa panjang subindeks.
virtual uint32_t dapatkanBitLength() konstan
getDefaultValueAsNumeric () Membacakan nilai default subindeks untuk tipe data numerik.
virtual ResultInt dapatkanNilaiDefaultSebagaiNumerik (std::string const & kunci) const
getDefaultValueAsString () Membacakan nilai default subindeks untuk tipe data string.
virtual ResultString dapatkanNilaiDefaultSebagaiString (std::string const & kunci) const
getDefaultValues () Membaca nilai default subindeks.
std::peta virtual dapatkanNilaiDefault() konstan
Versi: doc 1.4.2 / NanoLib 1.3.0
38
8 Referensi kelas / fungsi
readNumber () Membacakan nilai numerik sebenarnya dari subindeks.
virtual ResultInt bacaNomor() const
readString () Membacakan nilai aktual string dari subindeks.
virtual ResultString bacaString () konstan
readBytes () Membaca nilai sebenarnya dari subindeks dalam byte.
virtual ResultArrayByte dibacaBytes () konstan
writeNumber () Menulis nilai numerik di subindeks.
virtual ResultVoid tulisNomor (const int64_t nilai) const
writeBytes () Menulis nilai di subindeks dalam byte.
virtual ResultVoid tulisBytes (std::vektor konstanta & data) konstanta
8.22 Indeks Aneh
Gunakan kelas ini (tidak dapat diubah sejak pembuatan) untuk membungkus dan menemukan indeks/sub-indeks direktori objek. OD perangkat memiliki hingga 65535 (0xFFFF) baris dan 255 (0xFF) kolom; dengan celah di antara baris-baris yang terputus-putus. Lihat standar CANopen dan manual produk Anda untuk detail lebih lanjut.
OdIndex () Membuat objek OdIndex baru.
nlc::OdIndex::OdIndex (indeks uint16_t, subindeks uint8_t)
Subindeks indeks parameter
Dari 0 hingga 65535 (0xFFFF) termasuk. Dari 0 hingga 255 (0xFF) termasuk.
getIndex() Membacakan indeks (dari 0x0000 hingga 0xFFFF).
uint16_t nlc::OdIndex::dapatkanIndeks() konstan
Mengembalikan uint16_t
getSubindex () Membaca sub-indeks (dari 0x00 hingga 0xFF)
uint8_t nlc::OdIndex::getSubIndex () konstan
Versi: doc 1.4.2 / NanoLib 1.3.0
39
8 Referensi kelas / fungsi
Mengembalikan uint8_t
toString() Mengembalikan indeks dan subindeks sebagai string. String default 0xIIII:0xSS berbunyi sebagai berikut:
I = indeks dari 0x0000 hingga 0xFFFF
S = sub-indeks dari 0x00 hingga 0xFF
std::string nlc::OdIndex::toString () konst
Mengembalikan 0xIIII:0xSS
Representasi string default
8.23 Perpustakaan Aneh
Gunakan antarmuka pemrograman ini untuk membuat instance kelas ObjectDictionary dari XML. Dengan menetapkanObjectDictionary, Anda kemudian dapat mengikat setiap instance ke perangkat tertentu karena pengidentifikasi yang dibuat secara unik. Instance ObjectDictionary yang dibuat disimpan dalam objek OdLibrary untuk diakses berdasarkan indeks. Kelas ODLibrary memuat item ObjectDictionary dari file atau array, menyimpannya, dan memiliki fungsi anggota publik berikut:
dapatkanJumlahKamusObjek() virtual uint32_t dapatkanJumlahKamusObjek() konstan
getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Mengembalikan ResultObjectDictionary
tambahkanObjectDictionaryFromFile ()
virtual ResultObjectDictionary tambahkanObjectDictionaryDariFile (std::string konstan dan absoluteXmlFileJalur)
Mengembalikan ResultObjectDictionary
tambahkanObjectDictionary ()
virtual ResultObjectDictionary tambahkanObjectDictionary (std::vektor konstanta & odXmlData, konstanta std::string &xmlFileJalur = std::string ())
Mengembalikan ResultObjectDictionary
8.24 OdTypesHelper
Selain fungsi anggota publik berikut, kelas ini berisi tipe data kustom. Catatan: Untuk memeriksa tipe data kustom Anda, cari kelas enum ObjectEntryDataType di od_types.hpp.
uintToObjectCode () Mengonversi bilangan bulat yang tidak ditandatangani menjadi kode objek:
Deftype Nol
0x00 0x05
Versi: doc 1.4.2 / NanoLib 1.3.0
40
8 Referensi kelas / fungsi
Hapus Rekaman Array Var
0x06 0x07 0x08 0x09
Objek Kode statis uintToObjectCode (unsigned int objek Kode)
isNumericDataType () Menginformasikan apakah suatu tipe data numerik atau tidak.
bool statis isNumericDataType (ObjectEntryDataType tipe data)
isDefstructIndex () Menginformasikan apakah suatu objek merupakan indeks struktur definisi atau tidak.
bool statis isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Menginformasikan apakah suatu objek merupakan indeks tipe definisi atau tidak.
bool statis isDeftypeIndex (uint16_t typeNum)
isComplexDataType() Menginformasikan apakah suatu tipe data kompleks atau tidak.
bool statis isComplexDataType (ObjectEntryDataType tipedata)
uintToObjectEntryDataType () Mengonversi bilangan bulat yang tidak ditandatangani menjadi tipe data OD.
TipeDataEntriObjekstatis uintToObjectEntryDataType (tipeDataObjek uint16_t)
objectEntryDataTypeToString() Mengonversi tipe data OD menjadi string.
statis std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () Mengonversi string menjadi tipe data OD jika memungkinkan. Jika tidak, kembalikan UNKNOWN_DATATYPE.
TipeDataEntriObjekstatis stringTipeDataEntriObjek (std::string tipeDataString)
Versi: doc 1.4.2 / NanoLib 1.3.0
41
8 Referensi kelas / fungsi
objectEntryDataTypeBitLength () Menginformasikan panjang bit tipe data entri objek.
statis uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType konstan & tipedata)
8.25 Struktur RESTfulBus
Struct ini berisi opsi konfigurasi komunikasi untuk antarmuka RESTful (melalui Ethernet). Ini berisi atribut publik berikut:
const std::string const unsigned panjang const std::string const unsigned panjang const std::string const unsigned panjang
CONNECT_TIMEOUT_OPTION_NAME = “Batas Waktu Sambungan REST” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Batas Waktu Permintaan RESTful” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “Batas Waktu Respons RESTful” DEFAULT_RESPONSE_TIMEOUT = 750
8.26 ProfinDCP
Di Linux, aplikasi pemanggil memerlukan kemampuan CAP_NET_ADMIN dan CAP_NET_RAW. Untuk mengaktifkan: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Di Windows, antarmuka ProfinetDCP menggunakan WinPcap (diuji dengan versi 4.1.3) atau Npcap (diuji dengan versi 1.60 dan 1.30). Dengan demikian ia mencari perpustakaan wpcap.dll yang dimuat secara dinamis dalam urutan berikut (Catatan: tidak ada dukungan Win10Pcap saat ini):
1. Direktori Nanolib.dll 2. Direktori sistem Windows SystemRoot%System32 3. Direktori instalasi Npcap SystemRoot%System32Npcap 4. Jalur lingkungan
Kelas ini mewakili antarmuka Profinet DCP dan memiliki fungsi anggota publik berikut:
getScanTimeout () Menginformasikan batas waktu pemindaian perangkat (default = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () konstan
setScanTimeout () Menyetel batas waktu pemindaian perangkat (default = 2000 ms).
ruang hampa virtual nlc::setScanTimeout (waktu habis uint32_tMsec)
getResponseTimeout () Menginformasikan batas waktu respons perangkat untuk operasi pengaturan, reset, dan kedipan (default = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () konstan
setResponseTimeout () Menginformasikan batas waktu respons perangkat untuk operasi pengaturan, reset, dan kedipan (default = 1000 ms).
ruang hampa virtual nlc::ProfinetDCP::setResponseTimeout (waktu habis uint32_tMsec)
Versi: doc 1.4.2 / NanoLib 1.3.0
42
8 Referensi kelas / fungsi
isServiceAvailable ()
Gunakan fungsi ini untuk memeriksa ketersediaan layanan Profinet DCP.
Validitas / ketersediaan adaptor jaringan Windows: Ketersediaan WinPcap / Npcap Linux: Kemampuan CAP_NET_ADMIN / CAP_NET_RAW
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)
Parameter BusHardwareId Mengembalikan nilai benar
PALSU
ID perangkat keras layanan Profinet DCP untuk diperiksa. Layanan tersedia. Layanan tidak tersedia.
scanProfinetDevices () Gunakan fungsi ini untuk memindai bus perangkat keras untuk mengetahui keberadaan perangkat Profinet.
virtual HasilProfinetDevices memindaiProfinetDevices (const BusHardwareId & busHardwareId)
Parameter BusHardwareId Mengembalikan ResultProfinetDevices
Menentukan setiap fieldbus yang akan dibuka. Perangkat keras terbuka.
setupProfinetDevice () Menetapkan pengaturan perangkat berikut:
Nama perangkat
alamat IP
topeng jaringan
Gerbang default
virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool simpanPermanen)
resetProfinetDevice () Menghentikan perangkat dan mengatur ulang ke default pabrik.
virtual ResultVoid nlc::resetProfinetDevice (konstan BusHardwareId & busHardwareId, konstan ProfinetDevice & profinetDevice)
BlinkProfinetDevice () Memerintahkan perangkat Profinet untuk mulai mengedipkan LED Profinetnya.
virtual ResultVoid nlc::blinkProfinetDevice (konstan BusHardwareId & busHardwareId, konstan ProfinetDevice &profinetDevice)
validasiProfinetDeviceIp () Gunakan fungsi ini untuk memeriksa alamat IP perangkat.
virtual ResultVoid memvalidasiProfinetDeviceIp (konstan BusHardwareId &busHardwareId, konstan ProfinetDevice & profinetDevice)
Parameter BusHardwareId ProfinetDevice
Menentukan ID perangkat keras yang akan diperiksa. Menentukan perangkat Profinet yang akan divalidasi.
Versi: doc 1.4.2 / NanoLib 1.3.0
43
8 Referensi kelas / fungsi
Mengembalikan HasilVoid
8.27 Struktur ProfinetDevice
Data perangkat Profinet memiliki atribut publik berikut:
string string <uint8_t, 6> uint32_t uint32_t uint32_t
namaPerangkatVendorPerangkatAlamatMacAlamatIPMaskNetMaskGatewayDefault
Alamat MAC disediakan sebagai array dalam format macAddress = {xx, xx, xx, xx, xx, xx}; sedangkan alamat IP, network mask dan gateway semuanya diinterpretasikan sebagai angka hex big endian, seperti:
Alamat IP: 192.168.0.2 Masker jaringan: 255.255.0.0 Gerbang: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Kelas hasil
Gunakan nilai kembalian “opsional” dari kelas-kelas ini untuk memeriksa apakah pemanggilan fungsi berhasil atau tidak, dan juga temukan alasan kegagalannya. Jika berhasil, fungsi hasError() mengembalikan false. Dengan getResult(), Anda dapat membacakan nilai hasil sesuai jenisnya (ResultInt dll.). Jika panggilan gagal, Anda membacakan alasannya dengan getError().
Atribut yang dilindungi
string NlcErrorCode uint32_t
errorString kode kesalahan exErrorCode
Selain itu, kelas ini memiliki fungsi anggota publik berikut:
hasError () Membacakan keberhasilan pemanggilan fungsi.
bool nlc::Hasil::memilikiKesalahan() const
Pengembalian
benar salah
Panggilan gagal. Gunakan getError() untuk membaca nilainya. Panggilan berhasil. Gunakan getResult() untuk membacakan nilainya.
getError() Membacakan alasan jika pemanggilan fungsi gagal.
konstan std::string nlc::Hasil::getError () konstan
Mengembalikan string konstan
Versi: doc 1.4.2 / NanoLib 1.3.0
44
8 Referensi kelas / fungsi
hasil () Fungsi-fungsi berikut membantu dalam mendefinisikan hasil yang tepat:
Hasil (std::string const & errorString_)
Hasil (NlcErrorCode const & errCode, std::string const & errorString_)
Hasil (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Hasil (Konstanta hasil & hasil)
getErrorCode () Baca NlcErrorCode.
NlcErrorCode getErrorCode() konst
dapatkanExErrorCode() uint32_t dapatkanExErrorCode() konstan
8.28.1 Hasil Batal
NanoLib mengirimi Anda sebuah instance dari kelas ini jika fungsinya kembali batal. Kelas mewarisi fungsi publik dan atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
ResultVoid () Fungsi berikut membantu dalam menentukan hasil kekosongan yang tepat:
HasilVoid (std::string const &errorString_)
ResultVoid (KodeKesalahanNlc konstan & kodekesalahan, std::string konstan & stringkesalahan_)
ResultVoid (KodeKesalahanNlc konstan & kodekesalahan, konstan uint32_t kodeKesalahanEks, std:: string konstan & stringKesalahan_)
ResultVoid (Konstanta hasil & hasil)
8.28.2 HasilInt
NanoLib mengirimi Anda sebuah instance dari kelas ini jika fungsinya mengembalikan bilangan bulat. Kelas mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult() Mengembalikan hasil bilangan bulat jika pemanggilan fungsi berhasil.
int64_t dapatkanHasil() konstan
Mengembalikan int64_t
Versi: doc 1.4.2 / NanoLib 1.3.0
45
8 Referensi kelas / fungsi
ResultInt () Fungsi berikut membantu dalam menentukan hasil bilangan bulat yang tepat:
ResultInt (int64_t hasil_)
ResultInt (string konstan std:: dan string kesalahan_)
ResultInt (KodeKesalahanNlc konstan & kodekesalahan, std::string konstan & stringkesalahan_)
ResultInt (KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan, std::string konstan & stringKesalahan_)
ResultInt (Konstanta hasil & hasil)
8.28.3 String Hasil
NanoLib mengirimi Anda sebuah instance dari kelas ini jika fungsinya mengembalikan sebuah string. Kelas mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult() Membacakan hasil string jika pemanggilan fungsi berhasil.
konstan std::string nlc::StringHasil::dapatkanHasil() konstan
Mengembalikan string konstan
ResultString () Fungsi berikut membantu dalam menentukan hasil string yang tepat:
ResultString (std::string const & pesan, bool hasError_)
ResultString (KodeKesalahanNlc konstan & kodekesalahan, std::string konstan & stringkesalahan_)
ResultString (KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan, std:: string konstan & stringKesalahan_)
ResultString (Hasil konstan & hasil)
8.28.4 HasilArrayByte
NanoLib mengirimkan contoh kelas ini kepada Anda jika fungsi tersebut mengembalikan array byte. Kelas tersebut mewarisi fungsi publik / atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult () Membaca vektor byte jika pemanggilan fungsi berhasil.
konstan std::vektor nlc::ResultArrayByte::dapatkanHasil() konstan
Mengembalikan vektor konstan
Versi: doc 1.4.2 / NanoLib 1.3.0
46
8 Referensi kelas / fungsi
ResultArrayByte () Fungsi berikut membantu dalam menentukan hasil array byte yang tepat:
ResultArrayByte (std::vektor konstanta & hasil_)
ResultArrayByte (string konstan std:: dan string kesalahan_)
ResultArrayByte (Kode Kesalahan Nlc konstan & Kode Kesalahan, std::string konstan & String kesalahan_)
ResultArrayByte (KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan_, std:: string konstan & stringKesalahan_)
ResultArrayByte (Konstanta hasil & hasil)
8.28.5 HasilArrayInt
NanoLib mengirimkan contoh kelas ini kepada Anda jika fungsi tersebut mengembalikan array integer. Kelas tersebut mewarisi fungsi publik / atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult () Membaca vektor integer jika pemanggilan fungsi berhasil.
konstan std::vektor nlc::ResultArrayInt::dapatkanHasil() konstan
Mengembalikan vektor konstan
ResultArrayInt () Fungsi berikut membantu dalam menentukan hasil array integer yang tepat:
ResultArrayInt (std::vektor konstanta & hasil_)
ResultArrayInt (string std::konstan dan string kesalahan_)
ResultArrayInt (KodeKesalahanNlc konstan & KodeKesalahan, std::string konstan & String_kesalahan)
ResultArrayInt (KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan_, std:: string konstan & stringKesalahan_)
ResultArrayInt (Hasil konstan & hasil)
8.28.6 HasilBusHwIds
NanoLib mengirimkan contoh kelas ini kepada Anda jika fungsi tersebut mengembalikan array ID perangkat keras bus. Kelas tersebut mewarisi fungsi publik / atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult () Membaca vektor bus-hardware-ID jika pemanggilan fungsi berhasil.
konstan std::vektor nlc::ResultBusHwIds::dapatkanHasil() konstan
Parameter konstan vektor
Versi: doc 1.4.2 / NanoLib 1.3.0
47
8 Referensi kelas / fungsi
ResultBusHwIds () Fungsi berikut membantu dalam menentukan hasil array bus-hardware-ID yang tepat:
ResultBusHwIds (std::vektor konstanta & hasil_)
ResultBusHwIds (string konstan std:: dan string kesalahan_)
ResultBusHwIds (Kode Kesalahan Nlc konstan & kode kesalahan, std::string konstan & string kesalahan_)
ResultBusHwIds (KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan, std::string konstan & stringKesalahan_)
ResultBusHwIds (Konstanta hasil & hasil)
8.28.7 HasilPerangkatId
NanoLib mengirimkan contoh kelas ini kepada Anda jika fungsi tersebut mengembalikan ID perangkat. Kelas tersebut mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult() Membacakan vektor ID perangkat jika pemanggilan fungsi berhasil.
IdPerangkat nlc::HasilIdPerangkat::dapatkanHasil() const
Mengembalikan vektor const
ResultDeviceId () Fungsi berikut membantu menentukan hasil ID perangkat yang tepat:
ResultDeviceId (DeviceId konstan & result_)
ResultDeviceId (string konstan std:: dan string kesalahan_)
ResultDeviceId (Kode Kesalahan Nlc konstan & kode kesalahan, std::string konstan & string kesalahan_)
ResultDeviceId (KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahanEks, std::string stringKesalahan_)
ResultDeviceId (Konstanta hasil & hasil)
8.28.8 HasilPerangkatId
NanoLib mengirimkan contoh kelas ini kepada Anda jika fungsi tersebut mengembalikan array ID perangkat. Kelas tersebut mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult () Mengembalikan vektor ID perangkat jika panggilan fungsi berhasil.
IdPerangkat nlc::ResultDeviceIds::getResult () konstan
Mengembalikan vektor const
Versi: doc 1.4.2 / NanoLib 1.3.0
48
8 Referensi kelas / fungsi
ResultDeviceIds () Fungsi berikut membantu menentukan hasil array ID perangkat yang tepat:
ResultDeviceIds (std::vektor) konstanta & hasil_)
ResultDeviceIds (string std::konstan dan string kesalahan_)
ResultDeviceIds (Kode Kesalahan Nlc konstan & kode kesalahan, std::string konstan & string kesalahan_)
ResultDeviceIds (KodeKesalahanNlc konstan & kodekesalahan, konstan uint32_t kodeKesalahan, konstan std::string dan konstan stringkesalahan_)
ResultDeviceIds (Konstanta hasil & hasil)
8.28.9 HasilDeviceHandle
NanoLib mengirimkan contoh kelas ini kepada Anda jika fungsi tersebut mengembalikan nilai pegangan perangkat. Kelas tersebut mewarisi fungsi publik / atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult() Membacakan pegangan perangkat jika pemanggilan fungsi berhasil.
PeganganPerangkat nlc::HasilPeganganPerangkat::dapatkanHasil() konstan
Mengembalikan DeviceHandle
ResultDeviceHandle () Fungsi berikut membantu dalam menentukan hasil penanganan perangkat yang tepat:
ResultDeviceHandle (konstanta DeviceHandle & result_)
ResultDeviceHandle (string std::konstan dan string kesalahan_)
ResultDeviceHandle (Kode Kesalahan Nlc konstan & kode kesalahan, std::string konstan & string kesalahan_)
ResultDeviceHandle (KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan, konstan std::string & stringKesalahan_)
ResultDeviceHandle (Konstanta hasil & hasil)
8.28.10 Kamus Objek Hasil
NanoLib mengirimi Anda sebuah instance dari kelas ini jika fungsi tersebut mengembalikan konten kamus objek. Kelas mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult() Membacakan vektor ID perangkat jika pemanggilan fungsi berhasil.
konstanta nlc::KamusObjek & nlc::KamusObjekHasil::dapatkanHasil() konstanta
Versi: doc 1.4.2 / NanoLib 1.3.0
49
8 Referensi kelas / fungsi
Pengembalian
vektor konstan
ResultObjectDictionary () Fungsi berikut membantu dalam menentukan hasil kamus objek yang tepat:
KamusObjekHasil (nlc::KamusObjek const & hasil_)
Kamus ObjekHasil (std::string const dan stringError_)
Kamus ObjekHasil(KodeKesalahanNlc konstan & kodekesalahan, std::string konstan & stringkesalahan_)
Kamus ObjekHasil(KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan, konstan std::string & stringKesalahan_)
ResultObjectDictionary (Konstanta hasil & hasil)
8.28.11 Status Koneksi Hasil
NanoLib mengirimi Anda sebuah instance dari kelas ini jika fungsi tersebut mengembalikan info status koneksi perangkat. Kelas mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult() Membacakan pegangan perangkat jika pemanggilan fungsi berhasil.
DeviceConnectionStateInfo nlc::ResultConnectionState::dapatkanHasil() konstan
Mengembalikan DeviceConnectionStateInfo Terhubung / Terputus / ConnectedBootloader
ResultConnectionState () Fungsi berikut membantu menentukan hasil status koneksi yang tepat:
ResultConnectionState (InfoKonstan DeviceConnectionState & result_)
ResultConnectionState (string konstan std:: dan string kesalahan_)
ResultConnectionState (Kode Kesalahan Nlc konstan & kode kesalahan, std::string konstan & string kesalahan_)
ResultConnectionState (KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan, std::string konstan & stringKesalahan_)
ResultConnectionState (Konstanta hasil & hasil)
8.28.12 HasilObjekEntri
NanoLib mengirimkan contoh kelas ini kepada Anda jika fungsi tersebut mengembalikan entri objek. Kelas tersebut mewarisi fungsi publik / atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
Versi: doc 1.4.2 / NanoLib 1.3.0
50
8 Referensi kelas / fungsi
getResult () Mengembalikan vektor ID perangkat jika panggilan fungsi berhasil.
nlc::EntriObjek const& nlc::EntriObjekHasil::dapatkanHasil () const
Mengembalikan const ObjectEntry
ResultObjectEntry () Fungsi berikut membantu dalam menentukan hasil entri objek yang tepat:
EntriObjekHasil (nlc::EntriObjek const & hasil_)
EntriObjekHasil(std::string const dan stringError_)
EntriObjekHasil(KodeKesalahanNlc konstan & kodekesalahan, std::string konstan & stringkesalahan_)
EntriObjekHasil(KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahan, konstan std::string dan stringKesalahan_)
ResultObjectEntry (Konstanta hasil & hasil)
8.28.13 HasilObjekSubEntri
NanoLib mengirimkan Anda contoh kelas ini jika fungsi tersebut mengembalikan sub-entri objek. Kelas tersebut mewarisi fungsi publik / atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult () Mengembalikan vektor ID perangkat jika panggilan fungsi berhasil.
nlc::ObjectSubEntry konstan dan nlc::ResultObjectSubEntry::getResult () konstan
Mengembalikan const ObjectSubEntry
ResultObjectSubEntry () Fungsi berikut membantu dalam menentukan hasil sub-entri objek yang tepat:
ResultObjectSubEntry (nlc::ObjectEntry const & hasil_)
SubEntriObjekHasil(std::string const dan stringError_)
SubEntriObjekHasil(KodeKesalahanNlc konstan & kodekesalahan, std::string konstan & stringkesalahan_)
SubEntriObjekHasil(KodeKesalahanNlc konstan & kodeKesalahan, konstan uint32_t kodeKesalahanEks, konstan std::string dan stringKesalahan_)
ResultObjectSubEntry (Konstanta hasil & hasil)
8.28.14 Perangkat HasilProfinet
NanoLib mengirimi Anda instance kelas ini jika fungsi tersebut mengembalikan perangkat Profinet. Kelas mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
Versi: doc 1.4.2 / NanoLib 1.3.0
51
8 Referensi kelas / fungsi
getResult() Membacakan vektor perangkat Profinet jika pemanggilan fungsi berhasil.
konstan std::vektor & dapatkanHasil() konstan
ResultProfinetDevices () Fungsi berikut membantu dalam menentukan perangkat Profinet yang tepat.
ResultProfinetDevices (konstan std::vektor & profinetDevices)
ResultProfinetDevices (const Hasil & hasil)
ResultProfinetDevices (konstan std::string &tekskesalahan, NlcErrorCode kodekesalahan = NlcErrorCode::KesalahanUmum, uint32_t kodeKesalahanDiperluas = 0)
8.28.15 HasilampleDataArray
NanoLib mengirimi Anda sebuah instance dari kelas ini jika fungsinya kembali sebagaiample susunan data. Kelas mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult() Membacakan array data jika pemanggilan fungsi berhasil.
konstan std::vektor <SampleData> & dapatkanHasil() konstan
HasilSampleDataArray () Fungsi berikut membantu dalam menentukan perangkat Profinet yang tepat.
HasilSampleDataArray (konstan std::vektor <SampleData> & dataArray)
HasilSampleDataArray (konstan std::string &errorDesc, konstan NlcErrorCode kodekesalahan = NlcErrorCode::GeneralError, konstan uint32_t kodekesalahandiperpanjang = 0)
HasilSampleDataArray (konstan HasilampleDataArray & lainnya)
HasilSampleDataArray (const Hasil & hasil)
8.28.16 Hasilampnegara bagian
NanoLib mengirimi Anda sebuah instance dari kelas ini jika fungsinya kembali sebagaiampler state. Kelas ini mewarisi fungsi publik/atribut yang dilindungi dari kelas hasil dan memiliki fungsi anggota publik berikut:
getResult() Membacakan sampler menyatakan vektor jika pemanggilan fungsi berhasil.
SamplerState dapatkanHasil() konstan
Mengembalikan SamplerStatus>
Belum Dikonfigurasi / Dikonfigurasi / Siap / Berjalan / Selesai / Gagal / Dibatalkan
Versi: doc 1.4.2 / NanoLib 1.3.0
52
8 Referensi kelas / fungsi
HasilSamplerState () Fungsi berikut membantu dalam mendefinisikan s yang tepatampnegara bagian.
HasilSampkeadaan ler (konstanta Sampnegara bagian ler)
HasilSamplerState (konstan std::string & errorDesc, konstan NlcErrorCode errorCode = NlcErrorCode::GeneralError, konstan uint32_t
kodekesalahandiperpanjang = 0)
HasilSamplerState (konstan HasilamplerState & lainnya)
HasilSamplerState (const Hasil & hasil)
8.29 Kode Kesalahan Nlc
Jika terjadi kesalahan, kelas hasil melaporkan salah satu kode kesalahan yang tercantum dalam enumerasi ini.
Kode kesalahan Sukses GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperasiDibatalkan OperasiTidakDidukung OperasiTidakDivalidasi
InvalidArguments AccessDenied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError
C: Kategori D: Deskripsi R: Alasan C: Tidak ada. D: Tidak ada kesalahan. R: Operasi selesai dengan sukses.
C: Tidak ditentukan. D: Kesalahan tidak ditentukan. R: Kegagalan yang tidak cocok dengan kategori lain.
C: Bis. D: Bus perangkat keras tidak tersedia. R: Bus tidak ada, terpotong atau cacat.
C: Komunikasi. D: Komunikasi tidak dapat diandalkan. R: Data tak terduga, CRC salah, kesalahan bingkai atau paritas, dll.
C: Protokol. D: Kesalahan protokol. R: Respons setelah opsi protokol yang tidak didukung, perangkat melaporkan protokol yang tidak didukung, kesalahan dalam protokol (misalnya, bit sinkronisasi segmen SDO), dll. R: Respons atau laporan perangkat ke protokol yang tidak didukung (opsi) atau kesalahan dalam protokol (misalnya, SDO bit sinkronisasi segmen), dll. R: Protokol tidak didukung (opsi) atau kesalahan dalam protokol (misalnya, bit sinkronisasi segmen SDO), dll.
C: Kamus objek. D: Alamat OD tidak ada. R: Tidak ada alamat tersebut dalam kamus objek.
C: Kamus objek. D: Akses ke alamat OD tidak valid. R: Mencoba menulis alamat read-only, atau membaca dari alamat write-only.
C: Kamus objek. D: Ketik tidak cocok. R: Nilai yang belum dikonversi ke tipe tertentu, misalnya, dalam upaya memperlakukan string sebagai angka.
C: Aplikasi. D: Proses dibatalkan. R: Proses dipotong berdasarkan permintaan aplikasi. Hanya mengembalikan operasi yang diinterupsi oleh fungsi panggilan balik, misalnya, dari pemindaian bus.
C: Umum. D: Proses tidak didukung. R: Tidak ada dukungan bus perangkat keras/perangkat.
C: Umum. D: Proses salah dalam konteks saat ini, atau tidak valid dengan argumen saat ini. R: Upaya penyambungan kembali ke bus/perangkat yang sudah tersambung. Upaya memutuskan sambungan ke yang sudah terputus. Upaya pengoperasian bootloader dalam mode firmware atau sebaliknya.
C: Umum. D: Argumen tidak valid. R: Logika atau sintaksis salah.
C: Umum. D: Akses ditolak. R: Kurangnya hak atau kemampuan untuk melakukan operasi yang diminta.
C: Umum. D: Item yang ditentukan tidak ditemukan. R: Bus perangkat keras, protokol, perangkat, alamat OD pada perangkat, atau file tidak ditemukan.
C: Umum. D: Item yang ditentukan tidak ditemukan. R: sibuk, tidak ada, terputus atau cacat.
C: Umum. D: Memori tidak mencukupi. R: Memori terlalu sedikit untuk memproses perintah ini.
C: Umum. D: Waktu proses habis. R: Pengembalian setelah batas waktu habis. Batas waktu dapat berupa waktu respons perangkat, waktu untuk mendapatkan akses sumber daya bersama atau eksklusif, atau waktu untuk mengalihkan bus/perangkat ke kondisi yang sesuai.
Versi: doc 1.4.2 / NanoLib 1.3.0
53
8 Referensi kelas / fungsi
8.30 NlcPanggilan Balik
Kelas induk untuk panggilan balik ini memiliki fungsi anggota publik berikut: callback ()
panggilan balik ResultVoid virtual ()
Pengembalian
HasilBatal
8.31 NlcDataTransferCallback
Gunakan kelas panggilan balik ini untuk transfer data (pembaruan firmware, unggahan NanoJ, dll.). 1. Untuk unggahan firmware: Tentukan “kelas bersama” yang memperluas kelas ini dengan metode panggilan balik khusus
implementasi. 2. Gunakan instance "co-class" dalam panggilan NanoLibAccessor.uploadFirmware (). Kelas utama itu sendiri memiliki fungsi anggota publik berikut:
panggilan balik () virtual ResultVoid panggilan balik (nlc::DataTransferInfo info, int32_t data)
Pengembalian
HasilBatal
8.32 NlcScanBusCallback
Gunakan kelas panggilan balik ini untuk pemindaian bus. 1. Tentukan "kelas bersama" yang memperluas kelas ini dengan implementasi metode panggilan balik khusus. 2. Gunakan instans "kelas bersama" dalam panggilan NanoLibAccessor.scanDevices (). Kelas utama itu sendiri memiliki fungsi anggota publik berikut.
panggilan balik ()
panggilan balik ResultVoid virtual (nlc::BusScanInfo info, std::vector const & devicesDitemukan, int32_t data)
Mengembalikan HasilVoid
8.33 NlcLoggingCallback
Gunakan kelas panggilan balik ini untuk mencatat panggilan balik. 1. Tentukan kelas yang memperluas kelas ini dengan implementasi metode panggilan balik khusus 2. Gunakan penunjuk ke instance-nya untuk menyetel panggilan balik dengan NanoLibAccessor >
setLoggingCallback (…).
panggilan balik virtual void (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)
tahun 8.34ampAntarmuka ler
Gunakan kelas ini untuk mengonfigurasi, memulai dan menghentikan sampler, atau untuk mendapatkan sampmemimpin data dan mengambil sebagaiampstatus ler atau kesalahan terakhir. Kelas memiliki fungsi anggota publik berikut.
Versi: doc 1.4.2 / NanoLib 1.3.0
54
8 Referensi kelas / fungsi
konfigurasikan () Konfigurasikan sebagaiampBaca.
virtual HasilVoid nlc::SamplerInterface::konfigurasi (konstan DeviceHandle deviceHandle, konstan SampKonfigurasi & sampKonfigurasi ler)
Parameter [dalam] deviceHandle [dalam] sampKonfigurasi ler
Mengembalikan HasilVoid
Menentukan perangkat apa yang akan dikonfigurasiampuntuk. Menentukan nilai atribut konfigurasi. Mengonfirmasi bahwa fungsi void telah berjalan.
getData () Mendapatkan sampdata yang dipimpin.
Hasil virtualampleDataArray nlc::SamplerInterface::getData (konstan PeganganPerangkat PeganganPerangkat)
Parameter [dalam] deviceHandle Mengembalikan HasilampleDataArray
Menentukan perangkat apa yang akan digunakan untuk mendapatkan data.
Memberikan sampdata yang dipimpin, yang dapat berupa array kosong jika samplerNotify aktif saat mulai.
getLastError () Didapat sebagaiampkesalahan terakhirnya.
virtual HasilVoid nlc::SamplerInterface::getLastError (konstan Pegangan Perangkat Pegangan perangkat)
Mengembalikan HasilVoid
Mengonfirmasi bahwa fungsi void telah berjalan.
getState () Mendapat sebagaiampstatusnya.
Hasil virtualampnegara bagian nlc::SamplerInterface::getState (pegangan perangkat const deviceHandle)
Mengembalikan Hasilampnegara bagian
Memberikan sampnegara bagian.
mulai () Dimulai sebagaiampBaca.
virtual HasilVoid nlc::SamplerInterface::mulai (konstan DeviceHandle deviceHandle, SamplerBeritahukan* samplerNotify, int64_t data aplikasi)
Parameter [dalam] pegangan perangkat [dalam] SamplerNotify [dalam] applicationData
Mengembalikan HasilVoid
Menentukan perangkat apa yang akan memulai sampuntuk.
Menentukan info opsional apa yang akan dilaporkan (dapat berupa nullptr).
Opsi: Meneruskan data terkait aplikasi (array nilai/ID perangkat/indeks 8-bit yang ditentukan pengguna, atau waktu, penunjuk variabel/fungsi, dll.) ke samplerBeritahu.
Mengonfirmasi bahwa fungsi void telah berjalan.
Versi: doc 1.4.2 / NanoLib 1.3.0
55
8 Referensi kelas / fungsi
berhenti () Berhenti sebagaiampBaca.
virtual HasilVoid nlc::SamplerInterface::berhenti (konstan PeganganPerangkat PeganganPerangkat)
Parameter [dalam] deviceHandle Mengembalikan ResultVoid
Menentukan perangkat apa yang akan menghentikan sampuntuk. Mengonfirmasi bahwa fungsi void telah berjalan.
tahun 8.35amplerKonfigurasi struct
Struct ini berisi data sampopsi konfigurasi ler (statis atau tidak).
Atribut publik
std::vektor alamat yang dilacak
Hingga 12 alamat OD menjadi sampLED.
uint32_t
versi
Versi struktur.
uint32_t
durasiMilidetik
Sampdurasi ling dalam ms, dari 1 hingga 65535
uint16_t
periodeMilidetik
Sampperiode ling di ms.
uint16_t
jumlahSampsedikit
Sampjumlah.
uint16_t
praTriggerNumberOfSampsedikit
Samples jumlah sebelum pemicu.
bool
menggunakan Implementasi Perangkat Lunak
Gunakan implementasi perangkat lunak.
bool
menggunakan NewFWSamplerImplementasi Gunakan implementasi FW untuk perangkat dengan a
FW versi v24xx atau lebih baru.
SampMode ler
mode
S normal, berulang atau terus menerusampLing.
SamplerTriggerCondition triggerCondition
Kondisi pemicu awal: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValue
SampPemicu
SampPemicu
Pemicu untuk memulai sebagaiamplebih?
Atribut publik statis
constexpr statis size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 constexpr statis size_t MAX_TRACKED_ADDRESSES = 12
tahun 8.36amplerBeritahu
Gunakan kelas ini untuk mengaktifkan samppemberitahuan ketika Anda memulai sebagaiampler. Kelas memiliki fungsi anggota publik berikut.
Versi: doc 1.4.2 / NanoLib 1.3.0
56
8 Referensi kelas / fungsi
memberitahukan ()
Memberikan entri pemberitahuan.
kekosongan maya nlc::SamplerNotify::beri tahu (const ResultVoid & lastError, const SamplerState samplerState, konstanta std::vektor <Sampdata> & sampleDatas, int64_t data aplikasi)
Parameter [dalam] lastError [dalam] sampnegara bagian
[dalam] sampleDatas [dalam] applicationData
Melaporkan kesalahan terakhir terjadi saat sampLing. Laporkan sampstatus ler pada waktu pemberitahuan: Tidak Dikonfigurasi / Dikonfigurasi / Siap / Berjalan / Selesai / Gagal / Dibatalkan. Laporkan samparray data yang dipimpin. Melaporkan data khusus aplikasi.
tahun 8.37ampstruktur leData
Struct ini berisi sampdata yang dipimpin.
uin64_t nomor iterasi
Dimulai dari 0 dan hanya meningkat dalam mode berulang.
std::vektor<SampledValues> Berisi array sampnilai yang dipimpin.
tahun 8.38ampstruktur ledValue
Struct ini berisi sampnilai yang dipimpin.
nilai in64_t uin64_t CollectTimeMsec
Berisi nilai alamat OD yang dilacak.
Berisi waktu pengumpulan dalam milidetik, relatif terhadap sample awal.
tahun 8.39amplerTrigger struct
Struct ini berisi pengaturan trigger dari sampBaca.
Sampkondisi lerTriggerCondition
Nilai OdIndex uin32_t
Kondisi pemicu: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
OdIndex (alamat) pemicu.
Nilai kondisi atau nomor bit (dimulai dari bit nol).
8.40 Struktur serial
Temukan di sini opsi komunikasi serial Anda dan atribut publik berikut:
konstan std::string konstan SerialBaudRate
Nama_opsi_BAUD_RATE = “laju baud serial” baudRate =struktur SerialBaudRate
Versi: doc 1.4.2 / NanoLib 1.3.0
57
8 Referensi kelas / fungsi
konstan std::string konstan SerialParity
PARITY_OPTIONS_NAME = “paritas serial” paritas = struktur SerialParity
8.41 Struktur SerialBaudRate
Temukan di sini baud rate komunikasi serial Anda dan atribut publik berikut:
konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string
BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE_56000 = “56000” BAUD_RATE_57600 = “ 57600” BAUD_RATE_115200 = “115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000”
8.42 Struktur SerialParity
Temukan di sini opsi paritas serial Anda dan atribut publik berikut:
konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string konstan std::string
NONE = “tidak ada” ODD = “ganjil” EVEN = “genap” MARK = “tanda” SPACE = “spasi”
Versi: doc 1.4.2 / NanoLib 1.3.0
58
9 Lisensi
9 Lisensi
Header antarmuka API NanoLib dan exampkode sumber le dilisensikan oleh Nanotec Electronic GmbH & Co. KG di bawah Creative Commons Attribution 3.0 Unported License (CC BY). Bagian perpustakaan yang disediakan dalam format biner (perpustakaan komunikasi inti dan fieldbus) dilisensikan di bawah Lisensi Internasional Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).
Hak Cipta Creative Commons
Ringkasan yang dapat dibaca manusia berikut ini tidak akan menggantikan lisensi itu sendiri. Anda dapat menemukan lisensi masing-masing di creativecommons.org dan ditautkan di bawah. Anda bebas untuk:
CC OLEH 3.0
Bagikan: Lihat kanan. Adaptasi: Remix, transformasi, dan kembangkan
materi untuk tujuan apa pun, bahkan secara komersial.
Hak Cipta © CC BY-ND 4.0
Bagikan: Menyalin dan mendistribusikan ulang materi dalam media atau format apa pun.
Pemberi lisensi tidak dapat mencabut kebebasan di atas selama Anda mematuhi ketentuan lisensi berikut:
CC OLEH 3.0
Hak Cipta © CC BY-ND 4.0
Atribusi: Anda harus memberikan kredit yang sesuai. Atribusi: Lihat kiri. Tapi: Berikan tautan ke ini
berikan tautan ke lisensi, dan tunjukkan jika
lisensi lainnya.
perubahan dilakukan. Anda dapat melakukannya di mana saja
Tidak ada turunan: Jika Anda me-remix, mengubah, atau membuat
dengan cara yang masuk akal, tetapi tidak dengan cara apa pun yang menyarankan
atas materi tersebut, Anda tidak boleh mendistribusikannya
menunjukkan pemberi lisensi mendukung Anda atau penggunaan Anda.
bahan yang dimodifikasi.
Tidak ada batasan tambahan: Anda tidak boleh mengajukan permohonan Tidak ada batasan tambahan: Lihat kiri. istilah hukum atau langkah-langkah teknologi yang sah
membatasi orang lain untuk melakukan apa pun yang berlisensi
izin.
Catatan: Anda tidak harus mematuhi lisensi untuk elemen materi dalam domain publik atau jika penggunaan Anda diizinkan oleh pengecualian atau batasan yang berlaku.
Catatan: Tidak ada jaminan yang diberikan. Lisensi tersebut mungkin tidak memberi Anda semua izin yang diperlukan untuk tujuan penggunaan Anda. MisalnyaampMisalnya, hak lain seperti publisitas, privasi, atau hak moral mungkin membatasi cara Anda menggunakan materi tersebut.
Versi: doc 1.4.2 / NanoLib 1.3.0
59
Jejak, kontak, versi
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenJermanTelp.+49(0) 89 900 686-0Faks+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Semua hak cipta dilindungi undang-undang. Kesalahan, kelalaian, perubahan teknis atau konten mungkin terjadi tanpa pemberitahuan. Merek/produk yang dikutip adalah merek dagang pemiliknya dan harus diperlakukan seperti itu. Versi asli.
Dokumen 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08
+ Ditambahkan > Diubah # Diperbaiki > Pengerjaan ulang contoh yang disediakanampsedikit.
+ NanoLib Modbus: Menambahkan mekanisme penguncian perangkat untuk Modbus VCP. # NanoLib Core: Memperbaiki pemeriksaan status koneksi. # NanoLib Code: Memperbaiki penghapusan referensi perangkat keras bus.
+ NanoLib-CANopen: Dukungan untuk adaptor PCAN-USB Puncak (IPEH-002021/002022).
> NanoLib Core: Mengubah antarmuka panggilan balik pencatatan (LogLevel digantikan oleh LogModule). # NanoLib Logger: Pemisahan antara inti dan modul telah diperbaiki. # Modbus TCP: Memperbaiki pembaruan firmware untuk FW4. # EtherCAT: Memperbaiki pengunggahan program NanoJ untuk Core5. # EtherCAT: Memperbaiki pembaruan firmware untuk Core5.
# Modbus RTU: Memperbaiki masalah waktu dengan baud rate rendah selama pembaruan firmware. # RESTful: Memperbaiki unggahan program NanoJ.
# Modul NanoLib Sampler: Pembacaan s yang benarampnilai boolean yang dipimpin.
+ Dukungan Java 11 untuk semua platform. + Dukungan Python 3.11/3.12 untuk semua platform. + Antarmuka panggilan balik logging baru (lihat misamples). + Panggilan balik tenggelam untuk NanoLib Logger. > Perbarui logger ke versi 1.12.0. > Modul NanoLib Sampler: Sekarang mendukung firmware pengontrol Nanotec v24xx. > Modul NanoLib Sampler: Perubahan struktur yang digunakan untuk sampkonfigurasi yang lebih baik. > Modul NanoLib Sampler: Mode berkelanjutan identik dengan tanpa akhir; kondisi pemicu diperiksa satu kali; jumlah sampfile harus 0. > NanoLib Modules Sampler: Prioritas normal untuk thread yang mengumpulkan data dalam mode firmware. > Modul NanoLib Sampler: Algoritme yang ditulis ulang untuk mendeteksi transisi antara status Siap & Berjalan. # NanoLib Core: Tidak ada lagi Pelanggaran Akses (0xC0000005) saat menutup 2 perangkat atau lebih menggunakan perangkat keras bus yang sama. # NanoLib Core: Tidak ada lagi Kesalahan Segmentasi saat memasang adaptor PEAK di Linux. # Modul NanoLib Sampler: Benar samppembacaan nilai led dalam mode firmware. # Modul NanoLib Sampler: Konfigurasi 502X:04 yang benar. # Modul NanoLib Sampler: Pencampuran buffer dengan saluran yang benar. # NanoLib-Canopen: Peningkatan batas waktu CAN untuk ketahanan dan pemindaian yang benar pada baudrate yang lebih rendah. # NanoLib-Modbus: Algoritma deteksi VCP untuk perangkat khusus (USB-DA-IO).
+ Dukungan EtherCAT.
+ Catatan pada pengaturan proyek VS di Konfigurasikan proyek Anda.
+ getDeviceHardwareGroup (). + getProfinetDCP (apakahLayananTersedia). + getProfinetDCP (validasiProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileNama (). + const std::string & xmlFileJalur di addObjectDictionary (). + getSampantarmuka ler().
Produk 1.3.0 1.2.1 1.2.0 1.1.3
Telepon 1.1.2 1.1.1 1.1.0
1.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)
Versi: doc 1.4.2 / NanoLib 1.3.0
60
10 Jejak, kontak, versi
Dokumen
Bahasa Indonesia: 1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05
+ Ditambahkan > Diubah # Diperbaiki + rebootDevice (). + Kode kesalahan ResourceUnavailable untuk getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, dan ~Uid. > firmwareUploadFromFile sekarang unggahFirmwareDariFile (). > firmwareUpload () sekarang uploadFirmware (). > bootloaderUploadFromFile () sekarang uploadBootloaderFromFile (). > bootloaderUpload () sekarang uploadBootloader (). > bootloaderFirmwareUploadFromFile () untuk mengunggah Bootloader FirmwareDariFile (). > bootloaderFirmwareUpload () sekarang uploadBootloaderFirmware (). > nanojUploadFromFile () sekarang uploadNanoJFromFile (). > nanojUpload() sekarang uploadNanoJ(). > objectDictionaryLibrary() sekarang getObjectDictionaryLibrary(). > String_String_Map sekarang StringStringMap. > NanoLib-Common: eksekusi listAvailableBusHardware dan openBusHardwareWithProtocol yang lebih cepat dengan adapter Ixxat. > NanoLib-CANopen: pengaturan default digunakan (baudrate 1000k, nomor bus Ixxat 0) jika opsi perangkat keras bus kosong. > NanoLib-RESTful: izin admin tidak berlaku lagi untuk komunikasi dengan bootloader Ethernet di bawah Windows jika driver npcap/winpcap tersedia. # NanoLib-CANopen: perangkat keras bus sekarang terbuka tanpa crash dengan opsi kosong. # NanoLib-Common: openBusHardwareWithProtocol() sekarang tanpa kebocoran memori.
+ Dukungan Linux ARM64. + Dukungan penyimpanan massal USB / REST / Profinet DCP. + checkConnectionState(). + getDeviceBootloaderVersion(). + ResultProfinetDevices. + NlcErrorCode (menggantikan NanotecExceptions). + NanoLib Modbus: VCP / hub USB disatukan ke USB. > Pemindaian Modbus TCP mengembalikan hasil. < Latensi komunikasi Modbus TCP tetap konstan.
+ Lebih banyak ObjectEntryDataType (kompleks dan profesional)file-spesifik). + IOError kembali jika connectDevice () dan scanDevices () tidak menemukannya. + Hanya batas waktu nominal 100 ms untuk CanOpen / Modbus.
+ Dukungan Modbus (ditambah Hub USB melalui VCP). + Bab Membuat proyek Linux Anda sendiri. + extraHardwareSpecifier ke BusHardwareId (). + extraId_ dan extraStringId_ ke DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Perbaikan bug.
Edisi.
Produk
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Versi: doc 1.4.2 / NanoLib 1.3.0
61
Dokumen / Sumber Daya
![]() |
Pemrograman NanoLib C++ Nanotik [Bahasa Indonesia:] Panduan Pengguna NanoLib Pemrograman C, Pemrograman C, Pemrograman |