LOGO nanotik

Pengaturcaraan NanoLib C++ Nanotik

Nanotic-NanoLib-C++-Programming-PRODUCT

Maklumat Produk

Spesifikasi

  • Nama Produk: NanoLib
  • Pengaturcaraan Bahasa: C++
  • Versi Produk: 1.3.0
  • Versi Manual Pengguna: 1.4.2

Pustaka NanoLib direka untuk perisian kawalan pengaturcaraan untuk pengawal Nanotec. Ia menyediakan antara muka pengguna, fungsi teras dan perpustakaan komunikasi untuk memudahkan pembangunan aplikasi kawalan.

Arahan Penggunaan Produk

  • Sebelum Anda Mula:
    • Pastikan sistem anda memenuhi keperluan perkakasan yang dinyatakan dalam manual. Khalayak yang dimaksudkan untuk produk ini termasuk pembangun yang ingin mencipta perisian kawalan untuk pengawal Nanotec.
  • Bermula:
    • Untuk mula menggunakan NanoLib, ikuti langkah berikut:
    • Mulakan dengan mengimport NanoLib ke dalam projek anda.
    • Konfigurasikan tetapan projek anda seperti yang diperlukan.
    • Bina projek anda untuk menggabungkan fungsi NanoLib.
  • Mencipta Projek:
    • Anda boleh membuat projek untuk kedua-dua persekitaran Windows dan Linux. Ikuti arahan khusus yang disediakan dalam manual untuk setiap platform.
  • Rujukan Kelas / Fungsi:
    • Rujuk manual pengguna untuk panduan terperinci tentang kelas dan fungsi yang tersedia dalam NanoLib untuk perisian kawalan pengaturcaraan.

Soalan Lazim

  • S: Apakah tujuan NanoLib?
    • A: NanoLib ialah perpustakaan untuk perisian kawalan pengaturcaraan untuk pengawal Nanotec, menyediakan fungsi penting dan keupayaan komunikasi.
  • S: Bagaimanakah saya boleh bermula dengan NanoLib?
    • A: Mulakan dengan mengimport NanoLib ke dalam projek anda, mengkonfigurasi tetapan projek dan membina projek anda untuk menggunakan ciri NanoLib.

“`

Manual Pengguna NanoLib
C++

Sah dengan versi produk 1.3.0

Versi Manual Pengguna: 1.4.2

Tujuan dokumen dan konvensyen

Dokumen ini menerangkan persediaan dan penggunaan perpustakaan NanoLib dan mengandungi rujukan kepada semua kelas dan fungsi untuk pengaturcaraan perisian kawalan anda sendiri untuk pengawal Nanotec. Kami menggunakan muka taip berikut:
Teks bergaris bawah menandakan rujukan silang atau hiperpautan.
Example 1: Untuk arahan tepat tentang NanoLibAccessor, lihat Persediaan. Cthampbahagian 2: Pasang pemacu Ixxat dan sambungkan penyesuai CAN-ke-USB. Teks miring bermaksud: Ini ialah objek bernama, laluan menu / item, tab / file nama atau (jika perlu) ungkapan bahasa asing.
Example 1: Pilih File > Baharu > Dokumen Kosong. Buka tab Alat dan pilih Komen. Cthample 2: Dokumen ini membahagikan pengguna (= Nutzer; usuario; utente; utilisateur; utente dsb.) daripada:
– 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.).
Kurier menandakan blok kod atau arahan pengaturcaraan. CthampLe 1: Melalui Bash, panggil sudo make install untuk menyalin objek kongsi; kemudian panggil ldconfig. Cthample 2: Gunakan fungsi NanoLibAccessor berikut untuk menukar tahap pengelogan dalam NanoLib:
// ***** Varian C++ *****
void setLoggingLevel(LogLevel level);
Teks tebal menekankan perkataan individu yang mempunyai kepentingan kritikal. Sebagai alternatif, tanda seru dalam kurungan menekankan kepentingan kritikal(!).
Example 1: Lindungi diri anda, orang lain dan peralatan anda. Ikuti nota keselamatan am kami yang biasanya digunakan untuk semua produk Nanotec.
Example 2: Untuk perlindungan anda sendiri, ikuti juga nota keselamatan khusus yang digunakan untuk produk khusus ini. Kata kerja untuk klik bersama bermaksud klik melalui kekunci tetikus sekunder untuk membuka menu konteks dsb.
Example 1: Klik bersama pada file, pilih Namakan semula, dan namakan semula file. Cthample 2: Untuk menyemak sifat, klik bersama pada file dan pilih Hartanah.

Versi: doc 1.4.2 / NanoLib 1.3.0

4

Sebelum anda bermula

Sebelum anda mula menggunakan NanoLib, sediakan PC anda dan maklumkan diri anda tentang penggunaan yang dimaksudkan dan had perpustakaan.
2.1 Keperluan sistem dan perkakasan

Nanotic-NanoLib-C++-Programming-FIG- (1)
NOTIS Malfungsi daripada operasi 32-bit atau sistem dihentikan! Gunakan, dan selenggara secara konsisten, sistem 64-bit. Perhatikan pemberhentian OEM dan ~arahan.

NanoLib 1.3.0 menyokong semua produk Nanotec dengan CANopen, Modbus RTU (juga USB pada port com maya), Modbus TCP, EtherCat dan Profinet. Untuk NanoLibs yang lebih lama: Lihat changelog dalam cetakan. Atas risiko anda sahaja: penggunaan sistem warisan. Nota: Ikuti arahan OEM yang sah untuk menetapkan kependaman serendah mungkin jika anda menghadapi masalah apabila menggunakan penyesuai USB berasaskan FTDI.

Keperluan (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++ boleh diagihkan semula 2017 atau lebih tinggi CANopen: Ixxat VCI atau pemacu asas PCAN (pilihan) Modul EtherCat / Profinet DCP: Modul Npcap atau WinPcap RESTful: Npcap, WinPcap atau kebenaran pentadbir untuk
berkomunikasi dengan pemuat but Ethernet
Linux dengan Ubuntu 20.04 LTS hingga 24 (semua x64 dan arm64)
Pengepala kernel dan paket libpopt-dev Profinet DCP: CAP_NET_ADMIN dan CAP_NET_RAW berkemampuan
ikatan CANopen: pemacu Ixxat ECI atau penyesuai Peak PCAN-USB EtherCat: CAP_NET_ADMIN, CAP_NET_RAW dan
Kebolehan CAP_SYS_NICE RESTful: Keupayaan CAP_NET_ADMIN untuk berkomunikasi dengan Eth-
pemuat but ernet (juga disyorkan: CAP_NET_RAW)

Bahasa, penyesuai bas medan, kabel
C++ GCC 7 atau lebih tinggi (Linux)
EtherCAT: Kabel Ethernet VCP / hab USB: kini seragam USB storan jisim USB: Kabel USB REHAT: Kabel Ethernet CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, Penyesuai PCANUSB Puncak Tiada sokongan Ixxat untuk Ubuntu pada arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 atau penyesuai yang setara; Kabel USB pada port com maya (VCP)
Modbus TCP: Kabel Ethernet mengikut lembaran data produk

2.2 Penggunaan yang dimaksudkan dan penonton
NanoLib ialah perpustakaan program dan komponen perisian untuk pengendalian, dan komunikasi dengan, pengawal Nanotec dalam pelbagai aplikasi industri dan untuk pengaturcara yang mahir sahaja.
Disebabkan oleh perkakasan (PC) dan sistem pengendalian tidak mampu masa nyata, NanoLib bukan untuk digunakan dalam aplikasi yang memerlukan pergerakan berbilang paksi segerak atau secara amnya sensitif masa.
Anda tidak boleh mengintegrasikan NanoLib sebagai komponen keselamatan ke dalam produk atau sistem. Semasa penghantaran kepada pengguna akhir, anda mesti menambah notis amaran dan arahan yang sepadan untuk penggunaan yang selamat dan operasi yang selamat pada setiap produk dengan komponen yang dihasilkan oleh Nanotec. Anda mesti menyerahkan semua notis amaran yang dikeluarkan Nanotec terus kepada pengguna akhir.
2.3 Skop penghantaran dan waranti
NanoLib datang sebagai folder *.zip daripada muat turun kami webtapak untuk sama ada EMEA / APAC atau AMERICA. Simpan dan nyahzip muat turun anda dengan sewajarnya sebelum persediaan. Pakej NanoLib mengandungi:

Versi: doc 1.4.2 / NanoLib 1.3.0

5

2 Sebelum anda memulakan

Pengepala antara muka sebagai kod sumber (API)

Teras berfungsi sebagai perpustakaan dalam format binari: nano-

Perpustakaan yang memudahkan komunikasi: nanolibm_ lib.dll

[yourfieldbus].dll dll.

Exampprojek: Cthample.sln (Visual Studio

projek) dan example.cpp (utama file)

Untuk skop waranti, sila patuhi a) terma dan syarat kami untuk sama ada EMEA / APAC atau AMERICA dan b) semua terma lesen. Nota: Nanotec tidak bertanggungjawab untuk kualiti, pengendalian, pemasangan, operasi, penggunaan dan penyelenggaraan peralatan pihak ketiga yang rosak atau tidak wajar! Untuk keselamatan yang sewajarnya, sentiasa ikut arahan OEM yang sah.

Versi: doc 1.4.2 / NanoLib 1.3.0

6

Seni bina NanoLib

Struktur perisian modular NanoLib membolehkan anda mengatur fungsi pengawal motor / bas medan yang boleh disesuaikan secara bebas di sekeliling teras yang telah dibina dengan ketat. NanoLib mengandungi modul berikut:

Antara muka pengguna (API)

Teras NanoLib

Antara muka dan kelas pembantu yang Perpustakaan yang

Perpustakaan komunikasi Perpustakaan khusus Fieldbus yang

akses anda ke antara muka antara NanoLib melaksanakan fungsi API pengawal anda

OD (kamus objek)

berinteraksi dengan perpustakaan bas.

perkakasan teras dan bas.

berdasarkan fungsi teras NanoLib-

kebangsaan.

3.1 Antara muka pengguna

Antara muka pengguna terdiri daripada antara muka pengepala files anda boleh gunakan untuk mengakses parameter pengawal. Kelas antara muka pengguna seperti yang diterangkan dalam rujukan Kelas / fungsi membolehkan anda:
Sambungkan kepada kedua-dua perkakasan (penyesuai bas medan) dan peranti pengawal. Akses OD peranti, untuk membaca/menulis parameter pengawal.

3.2 teras NanoLib

Teras NanoLib disertakan dengan perpustakaan import nanolib.lib. Ia melaksanakan fungsi antara muka pengguna dan bertanggungjawab untuk:
Memuatkan dan mengurus perpustakaan komunikasi. Menyediakan fungsi antara muka pengguna dalam NanoLibAccessor. Titik masuk komunikasi ini de-
mendenda satu set operasi yang boleh anda laksanakan pada teras NanoLib dan perpustakaan komunikasi.

3.3 Perpustakaan komunikasi

Selain nanotec.services.nanolib.dll (berguna untuk Studio Plug & Drive pilihan 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 perkakasan antara teras dan pengawal. Teras memuatkannya pada permulaan daripada folder projek yang ditetapkan dan menggunakannya untuk mewujudkan komunikasi dengan pengawal melalui protokol yang sepadan.

Versi: doc 1.4.2 / NanoLib 1.3.0

7

Bermula

Baca cara menyediakan NanoLib untuk sistem pengendalian anda dengan sewajarnya dan cara menyambung perkakasan mengikut keperluan.
4.1 Sediakan sistem anda
Sebelum memasang pemacu penyesuai, sediakan PC anda di sepanjang sistem pengendalian terlebih dahulu. Untuk menyediakan PC di sepanjang OS Windows anda, pasang MS Visual Studio dengan sambungan C++. Untuk memasang make dan gcc oleh Linux Bash, panggil sudo apt install build-essentials. Kemudian dayakan keupayaan 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. Selepas itu, pasang pemacu penyesuai anda.
4.2 Pasang pemacu penyesuai Ixxat untuk Windows
Hanya selepas pemasangan pemacu yang sewajarnya, anda boleh menggunakan penyesuai USB-ke-CAN V2 Ixxat. Baca manual produk pemacu USB, untuk mengetahui sama ada / cara mengaktifkan comport maya (VCP). 1. Muat turun dan pasang pemacu VCI 4 Ixxat untuk Windows daripada www.ixxat.com. 2. Sambungkan penyesuai kompak USB-ke-CAN V2 Ixxat ke PC melalui USB. 3. Oleh Pengurus Peranti: Periksa sama ada kedua-dua pemacu dan penyesuai dipasang/dikenali dengan sewajarnya.
4.3 Pasang pemacu penyesuai Puncak untuk Windows
Hanya selepas pemasangan pemacu yang sewajarnya, anda boleh menggunakan penyesuai PCAN-USB Peak. Baca manual produk pemacu USB, untuk mengetahui sama ada / cara mengaktifkan comport maya (VCP). 1. Muat turun dan pasang persediaan pemacu peranti Windows (= pakej pemasangan dengan pemacu peranti, alatan dan
API) daripada http://www.peak-system.com. 2. Sambungkan penyesuai PCAN-USB Peak ke PC melalui USB. 3. Oleh Pengurus Peranti: Periksa sama ada kedua-dua pemacu dan penyesuai dipasang/dikenali dengan sewajarnya.
4.4 Pasang pemacu penyesuai Ixxat untuk Linux
Hanya selepas pemasangan pemacu yang sewajarnya, anda boleh menggunakan penyesuai USB-ke-CAN V2 Ixxat. Nota: Penyesuai lain yang disokong memerlukan kebenaran anda dengan sudo chmod +777/dev/ttyACM* (* nombor peranti). Baca manual produk pemacu USB, untuk mengetahui sama ada / cara mengaktifkan comport maya (VCP). 1. Pasang perisian yang diperlukan untuk pemacu ECI dan aplikasi demo:
sudo apt-get kemas kini apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Muat turun pemacu ECI-for-Linux daripada www.ixxat.com. Buka zip melalui:
nyahzip eci_driver_linux_amd64.zip
3. Pasang pemacu melalui:
cd /EciLinux_amd/src/KernelModule sudo buat install-usb
4. Semak pemasangan pemacu yang berjaya dengan menyusun dan memulakan 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 Bermula
4.5 Pasang pemacu penyesuai Puncak untuk Linux
Hanya selepas pemasangan pemacu yang sewajarnya, anda boleh menggunakan penyesuai PCAN-USB Peak. Nota: Penyesuai lain yang disokong memerlukan kebenaran anda dengan sudo chmod +777/dev/ttyACM* (* nombor peranti). Baca manual produk pemacu USB, untuk mengetahui sama ada / cara mengaktifkan comport maya (VCP). 1. Semak sama ada Linux anda mempunyai pengepala kernel: ls /usr/src/linux-headers-`uname -r`. Jika tidak, pasang
mereka: sudo apt-get install linux-headers-`uname -r` 2. Hanya sekarang, pasang paket libpopt-dev: sudo apt-get install libpopt-dev 3. Muat turun pakej pemacu yang diperlukan (peak-linux-driver- xxx.tar.gz) daripada www.peak-system.com. 4. Untuk membongkarnya, gunakan: tar xzf peak-linux-driver-xxx.tar.gz 5. Dalam folder yang tidak dibungkus: Susun dan pasang pemacu, perpustakaan asas PCAN, dsb.: buat semua
sudo make install 6. Untuk menyemak fungsi, pasangkan penyesuai PCAN-USB.
a) Semak modul kernel:
lsmod | grep pcan b) … dan perpustakaan kongsi:
ls -l /usr/lib/libpcan*
Nota: Jika masalah USB3 berlaku, gunakan port USB2.
4.6 Sambungkan perkakasan anda
Untuk dapat menjalankan projek NanoLib, sambungkan pengawal Nanotec yang serasi ke PC menggunakan penyesuai anda. 1. Dengan kabel yang sesuai, sambungkan penyesuai anda kepada pengawal. 2. Sambungkan penyesuai ke PC mengikut helaian data penyesuai. 3. Hidupkan pengawal menggunakan bekalan kuasa yang sesuai. 4. Jika perlu, tukar tetapan komunikasi pengawal Nanotec seperti yang diarahkan dalam manual produknya.
4.7 Muatkan NanoLib
Untuk permulaan pertama dengan asas cepat dan mudah, anda boleh (tetapi tidak boleh) menggunakan bekas kamiampprojek itu. 1. Bergantung pada wilayah anda: Muat turun NanoLib daripada kami webtapak untuk sama ada EMEA / APAC atau AMERICA. 2. Buka zip pakej files / folder dan pilih satu pilihan: Untuk asas cepat dan mudah: Lihat Memulakan bekasampprojek itu. Untuk penyesuaian lanjutan dalam Windows: Lihat Mencipta projek Windows anda sendiri. Untuk penyesuaian lanjutan dalam Linux: Lihat Mencipta projek Linux anda sendiri.

Versi: doc 1.4.2 / NanoLib 1.3.0

9

Memulakan bekasampprojek itu

Dengan NanoLib dimuatkan dengan sewajarnya, bekasampprojek ini menunjukkan anda melalui penggunaan NanoLib dengan pengawal Nanotec. Nota: Untuk setiap langkah, komen dalam ex yang disediakanampkod menerangkan fungsi yang digunakan. bekas ituampprojek itu terdiri daripada: `*_functions_example.*' files, yang mengandungi pelaksanaan untuk antara muka NanoLib berfungsi `*_callback_example.*' files, yang mengandungi pelaksanaan untuk pelbagai panggilan balik (imbasan, data dan
log) `menu_*.*' file, yang mengandungi logik menu dan kod Example. * file, yang merupakan program utama, mencipta menu dan memulakan semua parameter yang digunakan Sampler_example. * file, yang mengandungi bekasample pelaksanaan untuk samppenggunaan ler. Anda boleh mencari lebih banyak bekasamples, dengan beberapa arahan gerakan untuk pelbagai mod operasi, dalam Pangkalan Pengetahuan di nanotec.com. Semua boleh digunakan dalam Windows atau Linux.
Dalam Windows dengan Visual Studio 1. Buka Example.sln file. 2. Buka bekasample.cpp. 3. Susun dan jalankan bekasampkod itu.
Dalam Linux melalui Bash 1. Nyahzip sumber file, navigasi ke folder dengan kandungan nyahzip. Yang utama file untuk bekasample adalah
example.cpp. 2. Dalam bash, panggil:
a. "sudo make install" untuk menyalin objek yang dikongsi dan memanggil ldconfig. b. "jadikan semua" untuk membina ujian boleh laku. 3. Folder bin mengandungi ex boleh lakuample file. Dengan bash: Pergi ke folder output dan taip ./example. Jika tiada ralat berlaku, objek kongsi anda kini dipasang dengan sewajarnya dan pustaka anda sedia untuk digunakan. Jika ralat berbunyi ./example: ralat semasa memuatkan perpustakaan kongsi: libnanolib.so: tidak boleh membuka objek kongsi file: Tidak begitu file atau direktori, pemasangan objek kongsi gagal. Dalam kes ini, ikuti langkah seterusnya. 4. Cipta folder baharu dalam /usr/local/lib (hak admin diperlukan). Ke dalam bash, dengan itu taip:
sudo mkdir /usr/local/lib/nanotec
5. Salin semua objek kongsi daripada zip filefolder lib:
pasang ./lib/*.so /usr/local/lib/nanotec/
6. Semak kandungan folder sasaran dengan:
ls -al /usr/local/lib/nanotec/
Ia harus menyenaraikan objek yang dikongsi files daripada folder lib. 7. Jalankan ldconfig pada folder ini:
sudo ldconfig /usr/local/lib/nanotec/
bekas ituample dilaksanakan sebagai aplikasi CLI dan menyediakan antara muka menu. Entri menu adalah berdasarkan konteks dan akan didayakan atau dilumpuhkan, bergantung pada keadaan konteks. Mereka menawarkan anda kemungkinan untuk memilih dan melaksanakan pelbagai fungsi perpustakaan mengikut aliran kerja biasa untuk mengendalikan pengawal: 1. Periksa PC untuk perkakasan yang disambungkan (penyesuai) dan senaraikannya. 2. Wujudkan sambungan kepada penyesuai. 3. Imbas bas untuk mencari peranti pengawal yang disambungkan. 4. Sambungkan ke peranti.

Versi: doc 1.4.2 / NanoLib 1.3.0

10

5 Memulakan bekasampprojek itu
5. Uji satu atau lebih fungsi pustaka: Baca/tulis dari/ke kamus objek pengawal, kemas kini perisian tegar, muat naik dan jalankan program NanoJ, jalankan motor dan talakannya, konfigurasi dan gunakan pengeloganampler.
6. Tutup sambungan, pertama ke peranti, kemudian ke penyesuai.

Versi: doc 1.4.2 / NanoLib 1.3.0

11

Mencipta projek Windows anda sendiri

Cipta, susun dan jalankan projek Windows anda sendiri untuk menggunakan NanoLib.
6.1 Import NanoLib
Import pengepala NanoLib files dan perpustakaan melalui MS Visual Studio.
1. Buka Visual Studio. 2. Melalui Cipta projek baharu > Apl Konsol C++ > Seterusnya: Pilih jenis projek. 3. Namakan projek anda (di sini: NanolibTest) untuk mencipta folder projek dalam Penjelajah Penyelesaian. 4. Pilih Selesai. 5. Buka tingkap file explorer dan navigasi ke folder projek baharu yang dibuat. 6. Buat dua folder baharu, inc dan lib. 7. Buka folder pakej NanoLib. 8. Dari sana: Salin pengepala files daripada folder sertakan ke dalam folder projek anda inc dan semua .lib dan .dll
files ke folder projek baharu anda lib. 9. Semak folder projek anda untuk struktur yang sepatutnya, contohnyaample:

Nanotic-NanoLib-C++-Programming-FIG- (2)folder ect untuk struktur yang sepatutnya:
. NanolibTest inc 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.vlibcxT NanolibTest.vlibcx
6.2 Konfigurasikan projek anda
Gunakan Penjelajah Penyelesaian dalam MS Visual Studio untuk menyediakan projek NanoLib. Nota: Untuk operasi NanoLib yang betul, pilih konfigurasi keluaran (bukan nyahpepijat!) dalam tetapan projek Visual C++; kemudian bina dan pautkan projek dengan masa jalan VC bagi C++ boleh diagihkan semula [2022].
1. Dalam Penjelajah Penyelesaian: Pergi ke folder projek anda (di sini: NanolibTest). 2. Klik bersama folder untuk membuka menu konteks. 3. Pilih Properties. 4. Aktifkan Semua konfigurasi dan Semua platform. 5. Pilih C/C++ dan pergi ke Direktori Sertakan Tambahan. 6. Masukkan: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Pilih Penghubung dan pergi ke Direktori Perpustakaan Tambahan. 8. Masukkan: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Extend Linker dan pilih Input. 10. Pergi ke Ketergantungan Tambahan dan masukkan: nanolib.lib;%(Ketergantungan Tambahan) 11. Sahkan melalui OK.

Versi: doc 1.4.2 / NanoLib 1.3.0

12

6 Mencipta projek Windows anda sendiri
12. Pergi ke Configuration > C++ > Language > Language Standard > ISO C++17 Standard dan tetapkan standard bahasa kepada C++17 (/std:c++17).
6.3 Bina projek anda
Bina projek NanoLib anda dalam MS Visual Studio. 1. Buka *.cpp utama file (di sini: nanolib_example.cpp) dan edit kod, jika perlu. 2. Pilih Bina > Pengurus Konfigurasi. 3. Tukar platform penyelesaian Aktif kepada x64. 4. Sahkan melalui Tutup. 5. Pilih Bina > Bina penyelesaian. 6. Tiada kesilapan? Semak sama ada output kompilasi anda melaporkan dengan sewajarnya:
1>—— Bersihkan bermula: Projek: NanolibTest, Konfigurasi: Nyahpepijat x64 —–========== Bersih: 1 berjaya, 0 gagal, 0 dilangkau ==========

Versi: doc 1.4.2 / NanoLib 1.3.0

13

7 Mencipta projek Linux anda sendiri
7 Mencipta projek Linux anda sendiri
Cipta, susun dan jalankan projek Linux anda sendiri untuk menggunakan NanoLib. 1. Dalam kit pemasangan NanoLib yang dibuka zip: Buka /nanotec_nanolib. 2. Cari semua objek kongsi dalam tar.gz file. 3. Pilih satu pilihan: Pasang setiap lib sama ada dengan Makefile atau dengan tangan.
7.1 Pasang objek kongsi dengan Makefile
Gunakan Makefile dengan Linux Bash untuk memasang automatik semua *.so lalai files. 1. Melalui Bash: Pergi ke folder yang mengandungi makefile. 2. Salin objek yang dikongsi melalui:
sudo make install 3. Sahkan melalui:
ldconfig
7.2 Pasang objek yang dikongsi dengan tangan
Gunakan Bash untuk memasang semua *.so files daripada NanoLib secara manual. 1. Melalui Bash: Cipta folder baharu dalam /usr/local/lib. 2. Hak admin diperlukan! Jenis:
sudo mkdir /usr/local/lib/nanotec 3. Tukar kepada folder pakej pemasangan yang dinyahzip. 4. Salin semua objek kongsi daripada folder lib melalui:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Semak kandungan folder sasaran melalui:
ls -al /usr/local/lib/nanotec/ 6. Semak sama ada semua objek kongsi daripada folder lib disenaraikan. 7. Jalankan ldconfig pada folder ini melalui:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Buat projek anda
Dengan objek kongsi anda dipasang: Buat projek baharu untuk Linux NanoLib anda. 1. Melalui Bash: Cipta folder projek baharu (di sini: NanoLibTest) melalui:
mkdir NanoLibTest cd NanoLibTest
2. Salin pengepala files ke folder sertakan (di sini: inc) melalui: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Buat utama file (NanoLibTest.cpp) melalui: #include “accessor_factory.hpp” #include

Versi: doc 1.4.2 / NanoLib 1.3.0

14

7 Mencipta projek Linux anda sendiri
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds result = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << “Kejayaan” << std::endl; }
padam pengakses; pulangan 0; }
4. Semak folder projek anda untuk struktur yang sewajarnya:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Susun dan uji projek anda
Jadikan Linux NanoLib anda sedia untuk digunakan melalui Bash.
1. Melalui Bash: Susun yang utama file melalui:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Pautkan boleh laku bersama melalui:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Jalankan program ujian melalui:
./ujian
4. Semak sama ada Bash anda melaporkan dengan sewajarnya:
kejayaan

Versi: doc 1.4.2 / NanoLib 1.3.0

15

8 Rujukan kelas / fungsi

8 Rujukan kelas / fungsi

Cari di sini senarai kelas antara muka pengguna NanoLib dan fungsi ahlinya. Penerangan biasa fungsi termasuk pengenalan ringkas, definisi fungsi dan senarai parameter / pulangan:

ExampleFunction () Memberitahu anda secara ringkas tentang fungsi yang dilakukan.
kekosongan maya nlc::NanoLibAccessor::CthampleFunction (Param_a const & param_a, Param_b const & param_B)

Parameter param_a param_b
Mengembalikan ResultVoid

Komen tambahan jika perlu. Komen tambahan jika perlu.

8.1 NanoLibAksessor

Kelas antara muka digunakan sebagai titik masuk ke NanoLib. Aliran kerja biasa kelihatan seperti ini:
1. Mulakan dengan mengimbas perkakasan dengan NanoLibAccessor.listAvailableBusHardware (). 2. Tetapkan tetapan komunikasi dengan BusHardwareOptions (). 3. Buka sambungan perkakasan dengan NanoLibAccessor.openBusHardwareWithProtocol (). 4. Imbas bas untuk peranti yang disambungkan dengan NanoLibAccessor.scanDevices (). 5. Tambahkan peranti dengan NanoLibAccessor.addDevice (). 6. Sambungkan ke peranti dengan NanoLibAccessor.connectDevice (). 7. Selepas menamatkan operasi, putuskan sambungan peranti dengan NanoLibAccessor.disconnectDevice (). 8. Keluarkan peranti dengan NanoLibAccessor.removeDevice (). 9. Tutup sambungan perkakasan dengan NanoLibAccessor.closeBusHardware ().
NanoLibAccessor mempunyai fungsi ahli awam berikut:

listAvailableBusHardware () Gunakan fungsi ini untuk menyenaraikan perkakasan fieldbus yang tersedia.
maya ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Mengembalikan ResultBusHwIds

Menyampaikan tatasusunan ID bas medan.

openBusHardwareWithProtocol () Gunakan fungsi ini untuk menyambung perkakasan bas.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parameter busHwId busHwOpt
Mengembalikan ResultVoid

Menentukan bas medan untuk dibuka. Menentukan pilihan pembukaan bas medan. Mengesahkan bahawa fungsi void telah dijalankan.

isBusHardwareOpen () Gunakan fungsi ini untuk menyemak sama ada sambungan perkakasan bas medan anda dibuka.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Versi: doc 1.4.2 / NanoLib 1.3.0

16

8 Rujukan kelas / fungsi

Parameter BusHardwareId Mengembalikan benar
palsu

Menentukan setiap bas medan untuk dibuka. Perkakasan dibuka. Perkakasan ditutup.

getProtocolSpecificAccessor () Gunakan fungsi ini untuk mendapatkan objek pengakses khusus protokol.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parameter busHwId Mengembalikan ResultVoid

Menentukan bas medan untuk mendapatkan aksesor. Mengesahkan bahawa fungsi void telah dijalankan.

getProfinetDCP () Gunakan fungsi ini untuk mengembalikan rujukan kepada antara muka Profinet DCP.
ProfinetDCP maya & getProfinetDCP ()

Mengembalikan ProfinetDCP

getSamplerInterface () Gunakan fungsi ini untuk mendapatkan rujukan kepada sampantara muka ler.
maya SamplerInterface & getSamplerInterface ()

Mengembalikan SamplerInterface

Merujuk kepada sampkelas antara muka ler.

setBusState () Gunakan fungsi ini untuk menetapkan keadaan khusus-protokol-bas.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Keadaan busHwId parameter
Mengembalikan ResultVoid

Menentukan bas medan untuk dibuka. Menetapkan keadaan khusus bas sebagai nilai rentetan. Mengesahkan bahawa fungsi void telah dijalankan.

scanDevices () Gunakan fungsi ini untuk mengimbas peranti dalam rangkaian.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* panggil balik)

Parameter busHwId panggil balik
Mengembalikan ResultDeviceIds IOError

Menentukan bas medan untuk diimbas. Penjejak kemajuan NlcScanBusCallback. Menyampaikan tatasusunan ID peranti. Memaklumkan bahawa peranti tidak ditemui.

Versi: doc 1.4.2 / NanoLib 1.3.0

17

8 Rujukan kelas / fungsi

addDevice ()
Gunakan fungsi ini untuk menambah peranti bas yang diterangkan oleh deviceId ke senarai peranti dalaman NanoLib dan untuk mengembalikan deviceHandle untuknya.
maya ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parameter deviceId Mengembalikan ResultDeviceHandle

Menentukan peranti untuk ditambahkan pada senarai. Menyampaikan pemegang peranti.

connectDevice () Gunakan fungsi ini untuk menyambungkan peranti melalui deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultVoid
IOError

Menentukan peranti bas yang disambungkan oleh NanoLib. Mengesahkan bahawa fungsi void telah dijalankan. Memaklumkan bahawa peranti tidak ditemui.

getDeviceName () Gunakan fungsi ini untuk mendapatkan nama peranti mengikut deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parameter deviceHandle Mengembalikan ResultString

Menentukan peranti bas yang NanoLib mendapat nama. Menyampaikan nama peranti sebagai rentetan.

getDeviceProductCode () Gunakan fungsi ini untuk mendapatkan kod produk peranti mengikut deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt

Menentukan peranti bas yang NanoLib mendapat kod produk. Menghantar kod produk sebagai integer.

getDeviceVendorId () Gunakan fungsi ini untuk mendapatkan ID vendor peranti oleh deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt
Sumber Tidak Tersedia

Menentukan peranti bas yang NanoLib mendapat ID vendor. Menghantar ID vendor sebagai integer. Memaklumkan bahawa tiada data ditemui.

Versi: doc 1.4.2 / NanoLib 1.3.0

18

8 Rujukan kelas / fungsi

getDeviceId () Gunakan fungsi ini untuk mendapatkan ID peranti tertentu daripada senarai dalaman NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parameter deviceHandle Mengembalikan ResultDeviceId

Menentukan peranti bas yang NanoLib mendapat ID peranti. Menghantar ID peranti.

getDeviceIds () Gunakan fungsi ini untuk mendapatkan semua ID peranti daripada senarai dalaman NanoLib.
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Mengembalikan ResultDeviceIds

Menghantar senarai ID peranti.

getDeviceUid () Gunakan fungsi ini untuk mendapatkan ID unik peranti (96 bit / 12 bait) oleh deviceHandle.
maya ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parameter deviceHandle Mengembalikan ResultArrayByte
Sumber Tidak Tersedia

Menentukan peranti bas yang NanoLib mendapat ID unik. Menyampaikan ID unik sebagai tatasusunan bait. Memaklumkan bahawa tiada data ditemui.

getDeviceSerialNumber () Gunakan fungsi ini untuk mendapatkan nombor siri peranti mengikut deviceHandle.
maya ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parameter deviceHandle Mengembalikan ResultString
Sumber Tidak Tersedia

Menentukan peranti bas yang NanoLib mendapat nombor siri. Menyampaikan nombor siri sebagai rentetan. Memaklumkan bahawa tiada data ditemui.

getDeviceHardwareGroup () Gunakan fungsi ini untuk mendapatkan kumpulan perkakasan peranti bas mengikut deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt

Menentukan peranti bas yang NanoLib mendapat kumpulan perkakasan.
Menyampaikan kumpulan perkakasan sebagai integer.

getDeviceHardwareVersion () Gunakan fungsi ini untuk mendapatkan versi perkakasan peranti bas oleh deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Versi: doc 1.4.2 / NanoLib 1.3.0

19

8 Rujukan kelas / fungsi

Parameter deviceHandle

Pulangan

ResultString ResourceUnavailable

Menentukan peranti bas yang NanoLib mendapat versi perkakasan. Menyampaikan nama peranti sebagai rentetan. Memaklumkan bahawa tiada data ditemui.

getDeviceFirmwareBuildId () Gunakan fungsi ini untuk mendapatkan ID binaan perisian tegar peranti bas oleh deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parameter deviceHandle Mengembalikan ResultString

Menentukan peranti bas yang NanoLib mendapat ID binaan perisian tegar.
Menyampaikan nama peranti sebagai rentetan.

getDeviceBootloaderVersion () Gunakan fungsi ini untuk mendapatkan versi pemuat but peranti bas oleh deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parameter deviceHandle

Pulangan

ResultInt ResourceUnavailable

Menentukan peranti bas yang NanoLib mendapat versi pemuat but. Menyampaikan versi pemuat but sebagai integer. Memaklumkan bahawa tiada data ditemui.

getDeviceBootloaderBuildId () Gunakan fungsi ini untuk mendapatkan ID binaan pemuat but peranti bas oleh deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parameter deviceHandle Mengembalikan ResultString

Menentukan peranti bas yang NanoLib mendapat ID binaan pemuat but.
Menyampaikan nama peranti sebagai rentetan.

rebootDevice () Gunakan fungsi ini untuk but semula peranti dengan deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parameter deviceHandle Returns ResultVoid

Menentukan bas medan untuk but semula. Mengesahkan bahawa fungsi void telah dijalankan.

getDeviceState () Gunakan fungsi ini untuk mendapatkan keadaan khusus peranti-protokol.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parameter deviceHandle

Menentukan peranti bas yang NanoLib mendapat keadaan.

Versi: doc 1.4.2 / NanoLib 1.3.0

20

8 Rujukan kelas / fungsi

Mengembalikan ResultString

Menyampaikan nama peranti sebagai rentetan.

setDeviceState () Gunakan fungsi ini untuk menetapkan keadaan khusus peranti-protokol.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Keadaan pemegang peranti parameter
Mengembalikan ResultVoid

Menentukan peranti bas yang ditetapkan oleh NanoLib. Menetapkan keadaan khusus bas sebagai nilai rentetan. Mengesahkan bahawa fungsi void telah dijalankan.

getConnectionState ()
Gunakan fungsi ini untuk mendapatkan keadaan sambungan terakhir peranti tertentu yang diketahui oleh deviceHandle (= Disconnected, Connected, ConnectedBootloader)
maya ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultConnectionState

Menentukan peranti bas yang NanoLib mendapat keadaan sambungan.
Menyampaikan keadaan sambungan (= Disconnected, Connected, ConnectedBootloader).

checkConnectionState ()
Hanya jika keadaan terakhir yang diketahui tidak Diputuskan sambungan: Gunakan fungsi ini untuk menyemak dan mungkin mengemas kini keadaan sambungan peranti tertentu mengikut deviceHandle dan dengan menguji beberapa operasi khusus mod.
maya ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultConnectionState

Menentukan peranti bas yang NanoLib menyemak keadaan sambungan.
Menyampaikan keadaan sambungan (= tidak Terputus).

assignObjectDictionary () Gunakan fungsi manual ini untuk menetapkan kamus objek (OD) kepada deviceHandle sendiri.
maya ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parameter deviceHandle objectKamus
Mengembalikan ResultObjectDictionary

Menentukan peranti bas yang diberikan oleh NanoLib kepada OD. Menunjukkan sifat kamus objek.

autoAssignObjectDictionary ()
Gunakan automatisme ini untuk membenarkan NanoLib menetapkan kamus objek (OD) kepada deviceHandle. Apabila mencari dan memuatkan OD yang sesuai, NanoLib memberikannya secara automatik kepada peranti. Nota: Jika OD yang serasi telah dimuatkan dalam pustaka objek, NanoLib akan menggunakannya secara automatik tanpa mengimbas direktori yang diserahkan.
maya ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Versi: doc 1.4.2 / NanoLib 1.3.0

21

8 Rujukan kelas / fungsi

Parameter deviceHandle

Pulangan

kamusLocationPath ResultObjectDictionary

Menentukan peranti bas yang NanoLib akan mengimbas secara automatik untuk OD yang sesuai. Menentukan laluan ke direktori OD. Menunjukkan sifat kamus objek.

getAssignedObjectDictionary ()
Gunakan fungsi ini untuk mendapatkan kamus objek yang diberikan kepada peranti oleh deviceHandle.
maya ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
pemegang)

Parameter deviceHandle Mengembalikan ResultObjectDictionary

Menentukan peranti bas yang NanoLib mendapat OD yang ditetapkan. Menunjukkan sifat kamus objek.

getObjectDictionaryLibrary () Fungsi ini mengembalikan rujukan OdLibrary.
OdLibrary& nlc maya::NanoLibAccessor::getObjectDictionaryLibrary ()

Mengembalikan OdLibrary&

Membuka keseluruhan perpustakaan OD dan kamus objeknya.

setLoggingLevel () Gunakan fungsi ini untuk menetapkan perincian log yang diperlukan (dan log file saiz). Tahap lalai ialah Maklumat.
virtual void nlc::NanoLibAccessor::setLoggingLevel (LogLevel level)

Tahap parameter

Butiran log berikut adalah mungkin:

0 = Jejak 1 = Nyahpepijat 2 = Maklumat 3 = Amaran 4 = Ralat 5 = Kritikal 6 = Mati

Tahap terendah (log terbesar file); log sebarang butiran yang boleh dilaksanakan, serta perisian mula / berhenti. Log maklumat nyahpepijat (= keputusan sementara, kandungan dihantar atau diterima, dsb.) Tahap lalai; log mesej maklumat. Log masalah yang berlaku tetapi tidak akan menghentikan algoritma semasa. Log hanya masalah teruk yang menghentikan algoritma. Tahap tertinggi (log terkecil file); mematikan log masuk; tiada log masuk lagi. Tiada pembalakan sama sekali.

setLoggingCallback ()
Gunakan fungsi ini untuk menetapkan penunjuk panggil balik pengelogan dan modul log (= perpustakaan) untuk panggilan balik itu (bukan untuk pembalak itu sendiri).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* panggil balik, const nlc::LogModule & logModule)

Parameter *log panggil balikModul

Menetapkan penunjuk panggil balik. Menala panggilan balik (bukan logger!) ke pustaka anda.

0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT

Mengaktifkan panggilan balik untuk teras NanoLib sahaja. Mengaktifkan panggilan balik CANopen sahaja. Mengaktifkan panggilan balik Modbus sahaja. Mengaktifkan panggilan balik EtherCAT sahaja.

Versi: doc 1.4.2 / NanoLib 1.3.0

22

8 Rujukan kelas / fungsi

4 = NanolibRest 5 = NanolibUSB

Mengaktifkan panggilan balik REST sahaja. Mengaktifkan panggilan balik USB sahaja.

unsetLoggingCallback () Gunakan fungsi ini untuk membatalkan penunjuk panggil balik pengelogan.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Gunakan fungsi ini untuk membaca nilai berangka daripada kamus objek.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Peranti parameterHandle odIndex
Mengembalikan ResultInt

Menentukan daripada peranti bas yang dibaca oleh NanoLib. Menentukan indeks (sub-) untuk dibaca. Menyampaikan nilai angka yang tidak ditafsirkan (boleh ditandatangani, tidak ditandatangani, tetapkan nilai 16.16 bit).

readNumberArray () Gunakan fungsi ini untuk membaca tatasusunan angka daripada kamus objek.
maya ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Indeks pemegang peranti parameter
Mengembalikan ResultArrayInt

Menentukan daripada peranti bas yang dibaca oleh NanoLib. Indeks objek tatasusunan. Menyampaikan tatasusunan integer.

readBytes () Gunakan fungsi ini untuk membaca bait arbitrari (data objek domain) daripada kamus objek.
maya ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Peranti parameterHandle odIndex
Mengembalikan ResultArrayByte

Menentukan daripada peranti bas yang dibaca oleh NanoLib. Menentukan indeks (sub-) untuk dibaca. Menyampaikan tatasusunan bait.

readString () Gunakan fungsi ini untuk membaca rentetan daripada direktori objek.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Peranti parameterHandle odIndex
Mengembalikan ResultString

Menentukan daripada peranti bas yang dibaca oleh NanoLib. Menentukan indeks (sub-) untuk dibaca. Menyampaikan nama peranti sebagai rentetan.

Versi: doc 1.4.2 / NanoLib 1.3.0

23

8 Rujukan kelas / fungsi

writeNumber () Gunakan fungsi ini untuk menulis nilai angka pada direktori objek.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, nilai int64_t, const OdIndex odIndex, unsigned int bitLength)

Peranti parameterHandle nilai odIndex bitLength
Mengembalikan ResultVoid

Menentukan peranti bas yang digunakan oleh NanoLib untuk menulis. Nilai yang tidak ditafsirkan (boleh ditandatangani, tidak ditandatangani, betulkan 16.16). Menentukan indeks (sub-) untuk dibaca. Panjang dalam bit. Mengesahkan bahawa fungsi void telah dijalankan.

writeBytes () Gunakan fungsi ini untuk menulis bait arbitrari (data objek domain) ke direktori objek.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & data, const OdIndex odIndex)

Peranti parameterKendalikan data odIndex
Mengembalikan ResultVoid

Menentukan peranti bas yang digunakan oleh NanoLib untuk menulis. Vektor / tatasusunan bait. Menentukan indeks (sub-) untuk dibaca. Mengesahkan bahawa fungsi void telah dijalankan.

muat naikPerisian tegar ()
Gunakan fungsi ini untuk mengemas kini perisian tegar pengawal anda.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* panggil balik)

Peranti parameterHandle fwData NlcDataTransferCallback
Mengembalikan ResultVoid

Menentukan peranti bas yang dikemas kini oleh NanoLib. Tatasusunan yang mengandungi data perisian tegar. Pengesan kemajuan data. Mengesahkan bahawa fungsi void telah dijalankan.

uploadFirmwareFromFile ()
Gunakan fungsi ini untuk mengemas kini perisian tegar pengawal anda dengan memuat naiknya file.
maya ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePath, NlcDataTransferCallback* panggil balik)

Peranti parameterMengendalikan mutlakFileLaluan NlcDataTransferCallback
Mengembalikan ResultVoid

Menentukan peranti bas yang dikemas kini oleh NanoLib. Laluan ke file mengandungi data perisian tegar (std::string). Pengesan kemajuan data. Mengesahkan bahawa fungsi void telah dijalankan.

Versi: doc 1.4.2 / NanoLib 1.3.0

24

8 Rujukan kelas / fungsi

muat naikBootloader ()
Gunakan fungsi ini untuk mengemas kini pemuat but pengawal anda.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* panggil balik)

Peranti parameterHandle btData NlcDataTransferCallback
Mengembalikan ResultVoid

Menentukan peranti bas yang dikemas kini oleh NanoLib. Tatasusunan yang mengandungi data pemuat but. Pengesan kemajuan data. Mengesahkan bahawa fungsi void telah dijalankan.

muat naikBootloaderFromFile ()
Gunakan fungsi ini untuk mengemas kini pemuat but pengawal anda dengan memuat naiknya file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & butloaderAbsoluteFilePath, NlcDataTransferCallback* panggil balik)

Peranti parameterHandle pemuat butMutlakFileLaluan NlcDataTransferCallback
Mengembalikan ResultVoid

Menentukan peranti bas yang dikemas kini oleh NanoLib. Laluan ke file mengandungi data pemuat but (std::string). Pengesan kemajuan data. Mengesahkan bahawa fungsi void telah dijalankan.

muat naikBootloaderFirmware ()
Gunakan fungsi ini untuk mengemas kini pemuat but dan perisian tegar pengawal anda.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* panggil balik)

Peranti parameterHandle btData fwData NlcDataTransferCallback
Mengembalikan ResultVoid

Menentukan peranti bas yang dikemas kini oleh NanoLib. Tatasusunan yang mengandungi data pemuat but. Tatasusunan yang mengandungi data perisian tegar. Pengesan kemajuan data. Mengesahkan bahawa fungsi void telah dijalankan.

muat naikBootloaderFirmwareFromFile ()
Gunakan fungsi ini untuk mengemas kini pemuat but dan perisian tegar pengawal anda dengan memuat naik fail files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & butloaderAbsoluteFileLaluan, const std::rentetan & mutlakFilePath, NlcDataTransferCallback* panggil balik)

Peranti parameterHandle pemuat butMutlakFileJalan mutlakFileLaluan NlcDataTransferCallback
Mengembalikan ResultVoid

Menentukan peranti bas yang dikemas kini oleh NanoLib. Laluan ke file mengandungi data pemuat but (std::string). Laluan ke file mengandungi data perisian tegar (uint8_t). Pengesan kemajuan data. Mengesahkan bahawa fungsi void telah dijalankan.

Versi: doc 1.4.2 / NanoLib 1.3.0

25

8 Rujukan kelas / fungsi

muat naikNanoJ ()
Gunakan fungsi awam ini untuk memuat naik program NanoJ ke pengawal anda.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* panggil balik)

Parameter deviceHandle vmmData NlcDataTransferCallback
Mengembalikan ResultVoid

Menentukan peranti bas yang dimuat naik oleh NanoLib. Tatasusunan yang mengandungi data NanoJ. Pengesan kemajuan data. Mengesahkan bahawa fungsi void telah dijalankan.

muat naikNanoJFromFile ()
Gunakan fungsi awam ini untuk memuat naik program NanoJ ke pengawal anda dengan memuat naik file.
maya ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePath, NlcDataTransferCallback* panggil balik)

Peranti parameterMengendalikan mutlakFileLaluan NlcDataTransferCallback
Mengembalikan ResultVoid

Menentukan peranti bas yang dimuat naik oleh NanoLib. Laluan ke file mengandungi data NanoJ (std::string). Pengesan kemajuan data. Mengesahkan bahawa fungsi void telah dijalankan.

disconnectDevice () Gunakan fungsi ini untuk memutuskan sambungan peranti anda melalui deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultVoid

Menentukan peranti bas yang diputuskan oleh NanoLib. Mengesahkan bahawa fungsi void telah dijalankan.

removeDevice () Gunakan fungsi ini untuk mengalih keluar peranti anda daripada senarai peranti dalaman NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::moveDevice (const DeviceHandle deviceHandle)

Parameter deviceHandle Returns ResultVoid

Menentukan peranti bas yang NanoLib dinyahseraikan. Mengesahkan bahawa fungsi void telah dijalankan.

closeBusHardware () Gunakan fungsi ini untuk memutuskan sambungan daripada perkakasan bas medan anda.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parameter busHwId Mengembalikan ResultVoid

Menentukan bas medan untuk memutuskan sambungan. Mengesahkan bahawa fungsi void telah dijalankan.

Versi: doc 1.4.2 / NanoLib 1.3.0

26

8 Rujukan kelas / fungsi

8.2 BusHardwareId
Gunakan kelas ini untuk mengenal pasti perkakasan bas satu sama lain atau untuk membezakan perkakasan bas yang berbeza antara satu sama lain. Kelas ini (tanpa setter berfungsi untuk tidak berubah daripada penciptaan pada) juga menyimpan maklumat tentang:
Perkakasan (= nama penyesuai, penyesuai rangkaian dsb.) Protokol untuk digunakan (= Modbus TCP, CANopen dll.) Penentu perkakasan bas (= nama port bersiri, nama MAC Friendly
alamat dll)

BusHardwareId () [1/3] Pembina yang mencipta objek ID perkakasan bas baharu.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parameter busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Jenis perkakasan (= ZK-USB-CAN-1 dll.). Protokol komunikasi bas (= CANopen dll.). Penentu bagi perkakasan (= COM3 dll.). Penentu tambahan perkakasan (katakan, maklumat lokasi USB). Nama mesra (= AdapterName (Port) dsb. ).

BusHardwareId () [2/3] Pembina yang mencipta objek ID perkakasan bas baharu, dengan pilihan untuk penentu perkakasan tambahan.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)

Parameter busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Jenis perkakasan (= ZK-USB-CAN-1 dll.). Protokol komunikasi bas (= CANopen dll.). Penentu bagi perkakasan (= COM3 dll.). Penentu tambahan perkakasan (katakan, maklumat lokasi USB). Nama mesra (= AdapterName (Port) dsb. ).

BusHardwareId () [3/3] Pembina yang menyalin busHardwareId sedia ada.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

Parameter busHardwareId

Namakan ID perkakasan bas untuk disalin.

sama dengan () Membandingkan ID perkakasan bas baharu dengan yang sedia ada.
bool nlc::BusHardwareId::sama dengan (BusHardwareId const & lain-lain) const

Parameter lain Pulangan benar

Objek lain dari kelas yang sama. Jika kedua-duanya sama dalam semua nilai.

Versi: doc 1.4.2 / NanoLib 1.3.0

27

8 Rujukan kelas / fungsi

palsu

Jika nilainya berbeza.

getBusHardware () Membaca rentetan perkakasan bas.
std::string nlc::BusHardwareId::getBusHardware () const

Mengembalikan rentetan

getHardwareSpecifier () Membaca rentetan penentu perkakasan bas (= nama rangkaian dll.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Mengembalikan rentetan

getExtraHardwareSpecifier () Membaca keluar rentetan penentu perkakasan tambahan bas (= alamat MAC dsb.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Mengembalikan rentetan

getName () Membaca nama mesra perkakasan bas.
std::string nlc::BusHardwareId::getName () const

Mengembalikan rentetan

getProtocol () Membaca rentetan protokol bas.
std::string nlc::BusHardwareId::getProtocol () const

Mengembalikan rentetan

toString () Mengembalikan ID perkakasan bas sebagai rentetan.
std::string nlc::BusHardwareId::toString () const

Mengembalikan rentetan
8.3 BusHardwareOptions
Cari dalam kelas ini, dalam senarai rentetan nilai kunci, semua pilihan yang diperlukan untuk membuka perkakasan bas.

Versi: doc 1.4.2 / NanoLib 1.3.0

28

8 Rujukan kelas / fungsi

BusHardwareOptions () [1/2] Membina objek pilihan perkakasan bas baharu.
nlc::BusHardwareOptions::BusHardwareOptions () Gunakan fungsi addOption () untuk menambah pasangan nilai kunci.

BusHardwareOptions () [2/2] Membina objek pilihan perkakasan bas baharu dengan peta nilai kunci telah sedia ada.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & pilihan)

Pilihan parameter

Peta dengan pilihan untuk perkakasan bas beroperasi.

addOption () Mencipta kunci dan nilai tambahan.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Nilai kunci parameter

Example: BAUD_RATE_OPTIONS_NAME, lihat bus_hw_options_ lalai
Example: BAUD_RATE_1000K, lihat bus_hw_options_defaults

equals () Membandingkan BusHardwareOptions dengan yang sedia ada.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & other) const

Parameter lain Pulangan benar
palsu

Objek lain dari kelas yang sama. Jika objek lain mempunyai semua pilihan yang sama. Jika objek lain mempunyai kunci atau nilai yang berbeza.

getOptions () Membaca semua pasangan nilai kunci yang ditambahkan.
std::peta nlc::BusHardwareOptions::getOptions () const

Mengembalikan peta rentetan

toString () Mengembalikan semua kunci / nilai sebagai rentetan.
std::string nlc::BusHardwareId::toString () const

Mengembalikan rentetan
8.4 BusHwOptionsDefault
Kelas pilihan konfigurasi lalai ini mempunyai atribut awam berikut:

Versi: doc 1.4.2 / NanoLib 1.3.0

29

8 Rujukan kelas / fungsi

const CanBus const Serial const RESTfulBus const EtherCATBus

canBus = CanBus () bersiri = Serial () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()

8.5 CanBaudRate

Struktur yang mengandungi baudrat bas CAN dalam atribut awam berikut:

const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string

BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” BAUD_RATE_100_100_K BAUD_RATE_50_50K20 E_20K = “10k” BAUD_RATE_10K = “5k” BAUD_RATE_5K = “XNUMXk”

8.6 CanBus

Kelas pilihan konfigurasi lalai dengan atribut awam berikut:

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = “kadar baud penyesuai boleh” baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Untuk perkhidmatan NMT, struct ini mengandungi keadaan CANopen NMT sebagai nilai rentetan dalam atribut awam berikut:

const std::string const std::string const std::string const std::string const std::string

MULA = “MULAI” BERHENTI = “BERHENTI” PRE_OPERATIONAL = “PRE_OPERATIONAL” RESET = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

Struktur ini mengandungi keadaan CANopen NMT sebagai nilai rentetan dalam atribut awam berikut:

const std::string const std::string const std::string const std::string const std::string

BERHENTI = "BERHENTI" PRA_OPERASI = "PRE_OPERATIONAL" OPERASI = "OPERASI" PERMULAAN = "PERMULAAN" TIDAK DIKETAHUI = "TIDAK DIKETAHUI"

8.9 Struktur EtherCATBus

Struktur ini mengandungi pilihan konfigurasi komunikasi EtherCAT dalam atribut awam berikut:

Versi: doc 1.4.2 / NanoLib 1.3.0

30

8 Rujukan kelas / fungsi

const std::string NETWORK_FIRMWARE_STATE_OP- Keadaan rangkaian dianggap sebagai mod perisian tegar. Boleh diterima

TION_NAME = "Keadaan Perisian Tegar Rangkaian"

nilai (lalai = PRE_OPERATIONAL):

EtherCATState::PRE_OPERATIONAL EtherCATState::SAFE_OPERATIONAL EtherCATState::OPERATIONAL

const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = "PRE_OPERATIONAL"

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Tamat masa dalam milisaat untuk memperoleh kunci eksklusif pada

TION_NAME = "Tamat Masa Kunci Dikongsi"

rangkaian (lalai = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Tamat masa dalam milisaat untuk memperoleh kunci kongsi pada

NAME = "Tamat Masa Kunci Dikongsi"

rangkaian (lalai = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = Tamat masa dalam milisaat untuk operasi baca (lalai

“Baca Tamat Masa”

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = Tamat masa dalam milisaat untuk operasi tulis (lalai

“Tulis Tamat Masa”

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

const std::string READ_WRITE_ATTEMPTS_OPTION_ Percubaan baca atau tulis maksimum (nilai bukan sifar

NAMA = "Percubaan Baca/Tulis"

sahaja; lalai = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "Tukar Percubaan Keadaan Rangkaian"

Bilangan maksimum percubaan untuk mengubah keadaan rangkaian (nilai bukan sifar sahaja; lalai = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME Mendayakan atau melumpuhkan pemprosesan PDO untuk digital in- /

= "PDO IO Didayakan"

output (“Benar” atau “Salah” sahaja; lalai = “Benar”).

const std::string DEFAULT_PDO_IO_ENABLED = "Benar"

8.10 Struktur EtherCATState

Struktur ini mengandungi keadaan hamba / rangkaian EtherCAT sebagai nilai rentetan dalam atribut awam berikut. Nota: Keadaan lalai semasa dihidupkan ialah PRE_OPERATIONAL; NanoLib tidak boleh memberikan keadaan "OPERASI" yang boleh dipercayai dalam sistem pengendalian bukan masa nyata:

const std::string const std::string const std::string const std::string const std::string const std::string

TIADA = "TIADA" INIT = "INIT" PRA_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" OPERATIONAL = "OPERATIONAL"

Versi: doc 1.4.2 / NanoLib 1.3.0

31

8 Rujukan kelas / fungsi

8.11 Ixxat

Struktur ini menyimpan semua maklumat untuk usb-to-can Ixxat dalam atribut awam berikut:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "nombor bas penyesuai ixxat"

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Struktur ini memegang nombor bas untuk Ixxat usb-to-can dalam atribut awam berikut:

const std::string const std::string const std::string const std::string

BUS_NUMBER_0_DEFAULT = “0” BUS_NUMBER_1 = “1” BUS_NUMBER_2 = “2” BUS_NUMBER_3 = “3”

8.13 puncak

Struktur ini menyimpan semua maklumat untuk Peak usb-to-can dalam atribut awam berikut:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "nombor bas penyesuai puncak"

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNombor

Struktur ini memegang nombor bas untuk usb-to-can Puncak dalam atribut awam berikut:

const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string

BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS4) (PCAN_USBBUS5) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_8 = BUS_NUMBER_9 = std::to_BBUS (9PCAN_USBBUS10) std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_13 = std::to_string (PCAN_USBBUS13) = std::to_string (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15:15) (PCAN_USBBUS16) BUS_NUMBER_16 = std::to_string (PCAN_USBBUSXNUMX) BUS_NUMBER_XNUMX = std::to_string (PCAN_USBBUSXNUMX)

8.15 Pengendali Peranti
Kelas ini mewakili pemegang untuk mengawal peranti pada bas dan mempunyai fungsi ahli awam berikut.

DeviceHandle () DeviceHandle (uint32_t pemegang)

Versi: doc 1.4.2 / NanoLib 1.3.0

32

8 Rujukan kelas / fungsi

sama dengan () Membandingkan dirinya dengan pemegang peranti yang diberikan.
bool sama dengan (DeviceHandle const other) const (uint32_t handle)

toString () Mengembalikan perwakilan rentetan pemegang peranti.
std::string toString () const

get () Mengembalikan pemegang peranti.
uint32_t dapatkan () const

8.16 DeviceId
Gunakan kelas ini (tidak boleh diubah daripada penciptaan dihidupkan) untuk mengenal pasti dan membezakan peranti pada bas:

Pengecam penyesuai perkakasan

Pengecam peranti

Penerangan

Maksud nilai ID peranti / perihalan bergantung pada bas. Untuk exampOleh itu, bas CAN boleh menggunakan ID integer.

DeviceId () [1/3] Membina objek ID peranti baharu.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

Parameter busHardwareId_ deviceId_ description_

Pengecam bas. Satu indeks; tertakluk kepada bas (= CANopen nod ID dll.). Penerangan (mungkin kosong); tertakluk kepada bas.

DeviceId () [2/3] Membina objek ID peranti baharu dengan pilihan ID lanjutan.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)

Parameter busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Pengecam bas. Satu indeks; tertakluk kepada bas (= CANopen nod ID dll.). Penerangan (mungkin kosong); tertakluk kepada bas. ID tambahan (mungkin kosong); makna bergantung pada bas. ID rentetan tambahan (mungkin kosong); makna bergantung pada bas.

DeviceId () [3/3] Membina salinan objek ID peranti.
nlc::DeviceId::DeviceId (DeviceId const &)

Versi: doc 1.4.2 / NanoLib 1.3.0

33

8 Rujukan kelas / fungsi

Parameter deviceId_

ID peranti untuk disalin daripada.

sama dengan () Membandingkan objek baharu dengan objek sedia ada.
bool nlc::DeviceId::sama dengan (DeviceId const & lain-lain) const

Mengembalikan boolean

getBusHardwareId () Membaca keluar ID perkakasan bas.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Mengembalikan BusHardwareId

getDescription () Membaca penerangan peranti (mungkin tidak digunakan).
std::string nlc::DeviceId::getDescription () const

Mengembalikan rentetan

getDeviceId () Membaca keluar ID peranti (mungkin tidak digunakan).
unsigned int nlc::DeviceId::getDeviceId () const

Mengembalikan int yang tidak ditandatangani

toString () Mengembalikan objek sebagai rentetan.
std::string nlc::DeviceId::toString () const

Mengembalikan rentetan

getExtraId () Membaca ID tambahan peranti (mungkin tidak digunakan).
const std::vector &getExtraId () const

Mengembalikan vektor

Vektor ID tambahan tambahan (mungkin kosong); makna bergantung pada bas.

getExtraStringId () Membaca keluar ID rentetan tambahan peranti (mungkin tidak digunakan).
std::string getExtraStringId () const

Versi: doc 1.4.2 / NanoLib 1.3.0

34

8 Rujukan kelas / fungsi

Mengembalikan rentetan

ID rentetan tambahan (mungkin kosong); makna bergantung pada bas.

8.17 LogLevelConverter

Kelas ini mengembalikan tahap log anda sebagai rentetan. statik std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Kelas ini mengembalikan modul log khusus perpustakaan andasetLoggingLevel () sebagai rentetan.

std statik::rentetan

toString (nlc::LogModule logModule)

statik std::string toString (nlc::LogModule logModule)

8.19 Kamus Objek
Kelas ini mewakili kamus objek pengawal dan mempunyai fungsi ahli awam berikut: getDeviceHandle ()
maya ResultDeviceHandle getDeviceHandle () const Returns ResultDeviceHandle

getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Mengembalikan ResultObjectSubEntry

getObjectEntry () virtual ResultObjectEntry getObjectEntry (indeks uint16_t)

Mengembalikan ResultObjectEntry

Memaklumkan tentang sifat objek.

getXmlFileNama () maya ResultString getXmlFileNama () const

Mengembalikan ResultString

Mengembalikan XML file nama sebagai rentetan.

readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Mengembalikan ResultInt
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const index)

Versi: doc 1.4.2 / NanoLib 1.3.0

35

8 Rujukan kelas / fungsi
Mengembalikan ResultArrayInt readString ()
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 nilai ResultVoid) dalam ResultIndex64 writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Mengembalikan ResultVoid Pautan Berkaitan OdIndex
8.20 ObjectEntry
Kelas ini mewakili kemasukan objek kamus objek, mempunyai atribut dilindungi statik berikut dan fungsi ahli awam:
nlc statik::ObjectSubEntry invalidObject
getName () Membaca nama objek sebagai rentetan.
virtual std::string getName () const
getPrivate () Semak sama ada objek itu peribadi.
bool maya getPrivate () const
getIndex () Membaca alamat indeks objek.
uint16_t maya getIndex () const

Versi: doc 1.4.2 / NanoLib 1.3.0

36

8 Rujukan kelas / fungsi

getDataType () Membaca jenis data objek.
nlc maya::ObjectEntryDataType getDataType () const

getObjectCode () Membaca kod objek:

Rekod Tatasusunan Var Defstruct Null Deftype

0x00 0x05 0x06 0x07 0x08 0x09

nlc maya::ObjectCode getObjectCode () const

getObjectSaveable () Semak sama ada objek boleh disimpan dan kategorinya (lihat manual produk untuk butiran lanjut): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
nlc maya::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Membaca bilangan subindeks yang disokong oleh objek ini.
uint8_t maya getMaxSubIndex () const

getSubEntry () nlc maya::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Lihat juga ObjectSubEntry.
8.21 ObjectSubEntry
Kelas ini mewakili sub-entri objek (subindex) kamus objek dan mempunyai fungsi ahli awam berikut:
getName () Membaca nama objek sebagai rentetan.
virtual std::string getName () const

getSubIndex () Membaca alamat subindex.
uint8_t maya getSubIndex () const

Versi: doc 1.4.2 / NanoLib 1.3.0

37

8 Rujukan kelas / fungsi

getDataType () Membaca jenis data objek.
nlc maya::ObjectEntryDataType getDataType () const

getSdoAccess () Semak sama ada subindex boleh diakses melalui SDO:

Baca Sahaja

1

Tulis Sahaja

2

BacaTulis

3

TiadaAkses

0

nlc maya::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Semak sama ada subindex boleh diakses/boleh dipetakan melalui PDO:

Tx

1

Rx

2

TxRx

3

Tidak

0

nlc maya::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Menyemak panjang subindex.
uint32_t maya getBitLength () const

getDefaultValueAsNumeric () Membaca nilai lalai subindeks untuk jenis data berangka.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Membaca nilai lalai subindeks untuk jenis data rentetan.
virtual ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Membaca nilai lalai subindeks.
std maya::peta getDefaultValues ​​() const

Versi: doc 1.4.2 / NanoLib 1.3.0

38

8 Rujukan kelas / fungsi

readNumber () Membaca nilai sebenar angka subindeks.
virtual ResultInt readNumber () const

readString () Membaca keluar rentetan nilai sebenar subindex.
virtual ResultString readString () const

readBytes () Membaca nilai sebenar subindeks dalam bait.
maya ResultArrayByte readBytes () const

writeNumber () Menulis nilai angka dalam subindeks.
virtual ResultVoid writeNumber (nilai const int64_t) const

writeBytes () Menulis nilai dalam subindeks dalam bait.
maya ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Gunakan kelas ini (tidak berubah dari penciptaan pada) untuk membungkus dan mencari indeks / sub-indeks direktori objek. OD peranti mempunyai sehingga 65535 (0xFFFF) baris dan 255 (0xFF) lajur; dengan jurang antara baris terputus. Lihat piawaian CANopen dan manual produk anda untuk butiran lanjut.
OdIndex () Membina objek OdIndex baharu.
nlc::OdIndex::OdIndex (indeks uint16_t, subIndex uint8_t)

Subindeks indeks parameter

Dari 0 hingga 65535 (0xFFFF) termasuk. Daripada 0 hingga 255 (0xFF) termasuk.

getIndex () Membaca indeks (dari 0x0000 hingga 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Mengembalikan uint16_t

getSubindex () Membaca sub-indeks (dari 0x00 hingga 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Versi: doc 1.4.2 / NanoLib 1.3.0

39

8 Rujukan kelas / fungsi

Mengembalikan uint8_t

toString () Mengembalikan indeks dan subindeks sebagai rentetan. Rentetan lalai 0xIIII:0xSS berbunyi seperti berikut:

I = indeks dari 0x0000 hingga 0xFFFF

S = sub-indeks daripada 0x00 hingga 0xFF

std::string nlc::OdIndex::toString () const

Mengembalikan 0xIIII:0xSS

Perwakilan rentetan lalai

8.23 OdLibrary
Gunakan antara muka pengaturcaraan ini untuk mencipta contoh kelas ObjectDictionary daripada XML. Dengan assignObjectDictionary, anda kemudian boleh mengikat setiap kejadian pada peranti tertentu disebabkan oleh pengecam yang dibuat secara unik. Contoh ObjectDictionary yang dibuat disimpan dalam objek OdLibrary untuk diakses oleh indeks. Kelas ODLibrary memuatkan item ObjectDictionary daripada file atau tatasusunan, menyimpannya dan mempunyai fungsi ahli awam berikut:

getObjectDictionaryCount () maya uint32_t getObjectDictionaryCount () const

getObjectDictionary () maya ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Mengembalikan ResultObjectDictionary

addObjectDictionaryFromFile ()
maya ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileLaluan)

Mengembalikan ResultObjectDictionary

addObjectDictionary ()
maya ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileLaluan = std::string ())

Mengembalikan ResultObjectDictionary
8.24 OdTypesHelper
Sebagai tambahan kepada fungsi ahli awam berikut, kelas ini mengandungi jenis data tersuai. Nota: Untuk menyemak jenis data tersuai anda, cari kelas enum ObjectEntryDataType dalam od_types.hpp.

uintToObjectCode () Menukarkan integer yang tidak ditandatangani kepada kod objek:

Null Deftype

0x00 0x05

Versi: doc 1.4.2 / NanoLib 1.3.0

40

8 Rujukan kelas / fungsi

Defstruct Var Array Record

0x06 0x07 0x08 0x09

ObjectCode statik uintToObjectCode (unsigned int objectCode)

isNumericDataType () Memaklumkan jika jenis data adalah angka atau tidak.
bool statik ialahNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Memaklumkan jika objek ialah indeks struktur definisi atau tidak.
bool statik ialahDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Memaklumkan jika objek ialah indeks jenis definisi atau tidak.
bool statik ialahDeftypeIndex (uint16_t typeNum)

isComplexDataType () Memaklumkan jika jenis data adalah kompleks atau tidak.
bool statik ialahComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Menukarkan integer yang tidak ditandatangani kepada jenis data OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Menukar jenis data OD kepada rentetan.
statik std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Menukar rentetan kepada jenis data OD jika boleh. Jika tidak, mengembalikan UNKNOWN_DATATYPE.
rentetan ObjectEntryDataType statikToObjectEntryDatatype (std::string dataTypeString)

Versi: doc 1.4.2 / NanoLib 1.3.0

41

8 Rujukan kelas / fungsi

objectEntryDataTypeBitLength () Memaklumkan tentang panjang bit jenis data kemasukan objek.
uint32_t statik objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 Struktur RESTfulBus

Struktur ini mengandungi pilihan konfigurasi komunikasi untuk antara muka RESTful (melalui Ethernet). Ia mengandungi atribut awam berikut:

const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long

CONNECT_TIMEOUT_OPTION_NAME = “RESTful Connect Timeout” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “RESTful Request Timeout” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “RESTful Response Timeout” =_RESPONSE_TIMEOUT

8.26 ProfinetDCP
Di bawah Linux, aplikasi panggilan memerlukan keupayaan CAP_NET_ADMIN dan CAP_NET_RAW. Untuk mendayakan: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Dalam Windows, antara muka ProfinetDCP menggunakan WinPcap (diuji dengan versi 4.1.3) atau Npcap (diuji dengan versi 1.60 dan 1.30). Oleh itu, ia mencari perpustakaan wpcap.dll yang dimuatkan secara dinamik dalam susunan berikut (Nota: tiada sokongan Win10Pcap semasa):
1. Direktori Nanolib.dll 2. Direktori sistem Windows SystemRoot%System32 3. Direktori pemasangan Npcap SystemRoot%System32Npcap 4. Laluan persekitaran
Kelas ini mewakili antara muka Profinet DCP dan mempunyai fungsi ahli awam berikut:

getScanTimeout () Memaklumkan pada tamat masa imbasan peranti (lalai = 2000 ms).
uint32_t maya nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Menetapkan tamat masa imbasan peranti (lalai = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Memaklumkan pada tamat masa tindak balas peranti untuk operasi persediaan, tetapan semula dan berkelip (lalai = 1000 ms).
uint32_t maya nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Memaklumkan pada tamat masa respons peranti untuk operasi persediaan, tetapan semula dan berkelip (lalai = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Versi: doc 1.4.2 / NanoLib 1.3.0

42

8 Rujukan kelas / fungsi

isServiceAvailable ()
Gunakan fungsi ini untuk menyemak ketersediaan perkhidmatan DCP Profinet.
Kesahan / ketersediaan penyesuai rangkaian Windows: Ketersediaan WinPcap / Npcap Linux: Keupayaan CAP_NET_ADMIN / CAP_NET_RAW
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Parameter BusHardwareId Mengembalikan benar
palsu

ID perkakasan perkhidmatan Profinet DCP untuk diperiksa. Perkhidmatan disediakan. Perkhidmatan tidak tersedia.

scanProfinetDevices () Gunakan fungsi ini untuk mengimbas bas perkakasan untuk kehadiran peranti Profinet.
virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)

Parameter BusHardwareId Mengembalikan ResultProfinetDevices

Menentukan setiap bas medan untuk dibuka. Perkakasan dibuka.

setupProfinetDevice () Menetapkan tetapan peranti berikut:

Nama peranti

alamat IP

Topeng rangkaian

Gerbang lalai

virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)

resetProfinetDevice () Menghentikan peranti dan menetapkan semula kepada lalai kilang.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Mengarahkan peranti Profinet untuk mula berkelip LED Profinetnya.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Gunakan fungsi ini untuk menyemak alamat IP peranti.
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

Parameter BusHardwareId ProfinetDevice

Menentukan ID perkakasan untuk diperiksa. Menentukan peranti Profinet untuk disahkan.

Versi: doc 1.4.2 / NanoLib 1.3.0

43

8 Rujukan kelas / fungsi

Mengembalikan ResultVoid

8.27 Struktur ProfinetDevice

Data peranti Profinet mempunyai atribut awam berikut:

std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

Alamat MAC disediakan sebagai tatasusunan dalam format macAddress = {xx, xx, xx, xx, xx, xx}; manakala alamat IP, topeng rangkaian dan get laluan semuanya ditafsirkan sebagai nombor heks endian besar, seperti:

Alamat IP: 192.168.0.2 Topeng rangkaian: 255.255.0.0 Gateway: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Kelas keputusan

Gunakan nilai pulangan "pilihan" kelas ini untuk menyemak sama ada panggilan fungsi berjaya atau tidak, dan juga mencari sebab gagal. Apabila berjaya, fungsi hasError () mengembalikan palsu. Dengan getResult (), anda boleh membaca nilai hasil mengikut jenis (ResultInt dll.). Jika panggilan gagal, anda membaca sebabnya dengan getError ().

Atribut yang dilindungi

rentetan NlcErrorCode uint32_t

errorString errorCode exErrorCode

Juga, kelas ini mempunyai fungsi ahli awam berikut:

hasError () Membaca kejayaan panggilan fungsi.
bool nlc::Result::hasError () const

Pulangan

benar palsu

Panggilan gagal. Gunakan getError () untuk membaca nilai. Panggilan yang berjaya. Gunakan getResult () untuk membaca nilai.

getError () Membaca sebab jika panggilan fungsi gagal.
const std::string nlc::Result::getError () const

Mengembalikan rentetan const

Versi: doc 1.4.2 / NanoLib 1.3.0

44

8 Rujukan kelas / fungsi
hasil () Fungsi berikut membantu dalam menentukan keputusan yang tepat:
Keputusan (std::string const & errorString_)
Keputusan (NlcErrorCode const & errCode, std::string const & errorString_)
Keputusan (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Keputusan (Konst keputusan & hasil)
getErrorCode () Baca NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 Keputusan batal
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan tidak sah. Kelas mewarisi fungsi awam dan atribut yang dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
ResultVoid () Fungsi berikut membantu dalam menentukan keputusan kosong yang tepat:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (Konst keputusan & hasil)
8.28.2 KeputusanInt
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan integer. Kelas mewarisi fungsi awam / atribut yang dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Mengembalikan hasil integer jika panggilan fungsi berjaya.
int64_t getResult () const
Mengembalikan int64_t

Versi: doc 1.4.2 / NanoLib 1.3.0

45

8 Rujukan kelas / fungsi
ResultInt () Fungsi berikut membantu dalam menentukan hasil integer yang tepat:
ResultInt (int64_t result_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (Konst & hasil keputusan)
8.28.3 Rentetan Keputusan
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan rentetan. Kelas mewarisi fungsi awam / atribut yang dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca hasil rentetan jika panggilan fungsi berjaya.
const std::string nlc::ResultString::getResult () const
Mengembalikan rentetan const
ResultString () Fungsi berikut membantu dalam menentukan hasil rentetan yang tepat:
ResultString (std::string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (Result const & result)
8.28.4 ResultArrayByte
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan tatasusunan bait. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca vektor bait jika panggilan fungsi berjaya.
const std::vector nlc::ResultArrayByte::getResult () const
Mengembalikan vektor const

Versi: doc 1.4.2 / NanoLib 1.3.0

46

8 Rujukan kelas / fungsi
ResultArrayByte () Fungsi berikut membantu dalam menentukan hasil tatasusunan bait yang tepat:
ResultArrayByte (std::vector const & result_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Result const & result)
8.28.5 ResultArrayInt
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan tatasusunan integer. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca vektor integer jika panggilan fungsi berjaya.
const std::vector nlc::ResultArrayInt::getResult () const
Mengembalikan vektor const
ResultArrayInt () Fungsi berikut membantu dalam menentukan hasil tatasusunan integer yang tepat:
ResultArrayInt (std::vector const & result_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Result const & result)
8.28.6 ResultBusHwIds
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan tatasusunan ID perkakasan bas. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca vektor bus-hardware-ID jika panggilan fungsi berjaya.
const std::vector nlc::ResultBusHwIds::getResult () const
Vektor const parameter

Versi: doc 1.4.2 / NanoLib 1.3.0

47

8 Rujukan kelas / fungsi
ResultBusHwIds () Fungsi berikut membantu dalam mentakrifkan hasil tatasusunan bus-hardware-ID-array yang tepat:
ResultBusHwIds (std::vector const & result_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (Konst keputusan & hasil)
8.28.7 ResultDeviceId
NanoLib menghantar contoh kelas ini kepada anda jika fungsi tersebut mengembalikan ID peranti. Kelas mewarisi fungsi awam / atribut yang dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca vektor ID peranti jika panggilan fungsi berjaya.
DeviceId nlc::ResultDeviceId::getResult () const
Mengembalikan vektor const
ResultDeviceId () Fungsi berikut membantu dalam menentukan keputusan ID peranti yang tepat:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Result const & result)
8.28.8 ResultDeviceIds
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan tatasusunan ID peranti. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Mengembalikan vektor ID peranti jika panggilan fungsi berjaya.
DeviceId nlc::ResultDeviceIds::getResult () const
Mengembalikan vektor const

Versi: doc 1.4.2 / NanoLib 1.3.0

48

8 Rujukan kelas / fungsi
ResultDeviceIds () Fungsi berikut membantu dalam menentukan hasil peranti-ID-array yang tepat:
ResultDeviceIds (std::vector const & result_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (Konst & hasil keputusan)
8.28.9 ResultDeviceHandle
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan nilai pemegang peranti. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca pemegang peranti jika panggilan fungsi berjaya.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Mengembalikan DeviceHandle
ResultDeviceHandle () Fungsi berikut membantu dalam menentukan keputusan pemegang peranti yang tepat:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (Konst keputusan & hasil)
8.28.10 ResultObjectDictionary
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan kandungan kamus objek. Kelas mewarisi fungsi awam / atribut yang dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca vektor ID peranti jika panggilan fungsi berjaya.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Versi: doc 1.4.2 / NanoLib 1.3.0

49

8 Rujukan kelas / fungsi

Pulangan

vektor const

ResultObjectDictionary () Fungsi berikut membantu dalam mentakrifkan hasil kamus objek tepat:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)

ResultObjectDictionary (std::string const & errorString_)

ResultObjectDictionary (NlcErrorCode const & errCode, std::string const & errorString_)

ResultObjectDictionary (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)

ResultObjectDictionary (Result const & result)

8.28.11 ResultConnectionState
NanoLib menghantar contoh kelas ini kepada anda jika fungsi tersebut mengembalikan maklumat keadaan sambungan peranti. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca pemegang peranti jika panggilan fungsi berjaya.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Mengembalikan DeviceConnectionStateInfo Bersambung / Terputus / ConnectedBootloader

ResultConnectionState () Fungsi berikut membantu dalam menentukan keputusan keadaan sambungan yang tepat:
ResultConnectionState (DeviceConnectionStateInfo const & result_)

ResultConnectionState (std::string const & errorString_)

ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)

ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)

ResultConnectionState (Konst keputusan & hasil)

8.28.12 ResultObjectEntry
NanoLib menghantar contoh kelas ini kepada anda jika fungsi mengembalikan entri objek. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:

Versi: doc 1.4.2 / NanoLib 1.3.0

50

8 Rujukan kelas / fungsi
getResult () Mengembalikan vektor ID peranti jika panggilan fungsi berjaya.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Mengembalikan const ObjectEntry
ResultObjectEntry () Fungsi berikut membantu dalam menentukan hasil kemasukan objek yang tepat:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (Result const & result)
8.28.13 ResultObjectSubEntry
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan sub-masuk objek. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Mengembalikan vektor ID peranti jika panggilan fungsi berjaya.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Mengembalikan const ObjectSubEntry
ResultObjectSubEntry () Fungsi berikut membantu dalam menentukan hasil sub-entri objek yang tepat:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (Result const & result)
8.28.14 ResultProfinetDevices
NanoLib menghantar anda contoh kelas ini jika fungsi mengembalikan peranti Profinet. Kelas mewarisi fungsi awam / atribut dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:

Versi: doc 1.4.2 / NanoLib 1.3.0

51

8 Rujukan kelas / fungsi

getResult () Membaca vektor peranti Profinet jika panggilan fungsi berjaya.
const std::vector & getResult () const

ResultProfinetDevices () Fungsi berikut membantu dalam menentukan peranti Profinet yang tepat.
ResultProfinetDevices (const std::vector & profinetDevices)
ResultProfinetDevices (const Result & result)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 KeputusanampleDataArray
NanoLib menghantar anda contoh kelas ini jika fungsi itu kembali sebagaiamptatasusunan data. Kelas mewarisi fungsi awam / atribut yang dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:
getResult () Membaca tatasusunan data jika panggilan fungsi berjaya.
const std::vector <SampleData> & getResult () const

KeputusanSampleDataArray () Fungsi berikut membantu dalam menentukan peranti Profinet yang tepat.
KeputusanSampleDataArray (const std::vector <SampleData> & dataArray)

KeputusanSampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)

KeputusanSampleDataArray (const ResultSampleDataArray & lain-lain)

KeputusanSampleDataArray (Const Result & result)

8.28.16 KeputusanamplerState
NanoLib menghantar anda contoh kelas ini jika fungsi itu kembali sebagaiampler state.Kelas ini mewarisi fungsi awam / atribut yang dilindungi daripada kelas hasil dan mempunyai fungsi ahli awam berikut:

getResult () Membaca sampvektor keadaan jika panggilan fungsi berjaya.
SamplerState getResult () const

Mengembalikan SamplerState>

Tidak dikonfigurasikan / Dikonfigurasikan / Sedia / Berjalan / Selesai / Gagal / Dibatalkan

Versi: doc 1.4.2 / NanoLib 1.3.0

52

8 Rujukan kelas / fungsi

KeputusanSamplerState () Fungsi berikut membantu dalam menentukan s yang tepatampnegeri ler.
KeputusanSamplerState (const Sampnegeri lerState)

KeputusanSamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
extendedErrorCode = 0)

KeputusanSamplerState (const ResultSamplerState & lain-lain)

KeputusanSamplerState (Const Result & result)

8.29 NlcErrorCode

Jika berlaku masalah, kelas hasil melaporkan salah satu kod ralat yang disenaraikan dalam penghitungan ini.

Kod ralat Kejayaan GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationBatalkan OperasiNotSupported InvalidOperation
InvalidArguments Access Ditolak ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError

C: Kategori D: Penerangan R: Sebab C: Tiada. D: Tiada kesilapan. R: Operasi selesai dengan jayanya.
C: Tidak dinyatakan. D: Ralat tidak ditentukan. R: Kegagalan yang tidak sesuai dengan kategori lain.
C: Bas. D: Bas perkakasan tidak tersedia. R: Bas tidak wujud, terputus atau rosak.
C: Komunikasi. D: Komunikasi tidak boleh dipercayai. R: Data tidak dijangka, CRC salah, ralat bingkai atau pariti, dsb.
C: Protokol. D: Ralat protokol. R: Respons selepas pilihan protokol yang tidak disokong, laporan peranti protokol yang tidak disokong, ralat dalam protokol (katakan, bit penyegerakan segmen SDO), dll. R: Respons atau laporan peranti kepada protokol yang tidak disokong (pilihan) atau kepada ralat dalam protokol (katakan, SDO bit penyegerakan segmen), dsb. R: Protokol tidak disokong (pilihan) atau ralat dalam protokol (katakan, bit penyegerakan segmen SDO), dsb.
C: Kamus objek. D: Alamat OD tidak wujud. R: Tiada alamat sedemikian dalam kamus objek.
C: Kamus objek. D: Akses kepada alamat OD tidak sah. R: Cuba menulis alamat baca sahaja, atau baca dari alamat tulis sahaja.
C: Kamus objek. D: Jenis tidak sepadan. R: Nilai tidak ditukar kepada jenis yang ditentukan, katakan, dalam percubaan untuk menganggap rentetan sebagai nombor.
C: Permohonan. D: Proses dibatalkan. R: Proses dipotong mengikut permintaan permohonan. Mengembalikan hanya pada gangguan operasi oleh fungsi panggil balik, katakan, daripada pengimbasan bas.
C: Biasa. D: Proses tidak disokong. R: Tiada sokongan bas / peranti perkakasan.
C: Biasa. D: Proses tidak betul dalam konteks semasa, atau tidak sah dengan hujah semasa. R: Percubaan menyambung semula ke bas / peranti yang telah disambungkan. Percubaan memutuskan sambungan kepada yang sudah terputus sambungan. Percubaan operasi pemuat but dalam mod perisian tegar atau sebaliknya.
C: Biasa. D: Hujah tidak sah. R: Logik atau sintaks yang salah.
C: Biasa. D: Akses dinafikan. R: Kekurangan hak atau keupayaan untuk melaksanakan operasi yang diminta.
C: Biasa. D: Item yang dinyatakan tidak ditemui. R: Bas perkakasan, protokol, peranti, alamat OD pada peranti, atau file tidak dijumpai.
C: Biasa. D: Item yang dinyatakan tidak ditemui. R: sibuk, tidak wujud, terputus atau cacat.
C: Biasa. D: Ingatan tidak mencukupi. R: Ingatan terlalu sedikit untuk memproses arahan ini.
C: Biasa. D: Proses tamat masa. R: Kembali selepas tamat masa tamat. Tamat masa mungkin merupakan masa tindak balas peranti, masa untuk mendapatkan akses sumber yang dikongsi atau eksklusif, atau masa untuk menukar bas / peranti kepada keadaan yang sesuai.

Versi: doc 1.4.2 / NanoLib 1.3.0

53

8 Rujukan kelas / fungsi

8.30 NlcCallback
Kelas induk untuk panggilan balik ini mempunyai fungsi ahli awam berikut: panggil balik ()
panggilan balik ResultVoid maya ()

Pulangan

ResultVoid

8.31 NlcDataTransferCallback
Gunakan kelas panggil balik ini untuk pemindahan data (kemas kini perisian tegar, muat naik NanoJ dll.). 1. Untuk muat naik perisian tegar: Tentukan "kelas bersama" melanjutkan yang ini dengan kaedah panggil balik tersuai
pelaksanaan. 2. Gunakan kejadian "kelas bersama" dalam panggilan NanoLibAccessor.uploadFirmware (). Kelas utama itu sendiri mempunyai fungsi ahli awam berikut:

panggil balik () maya ResultVoid panggil balik (nlc::DataTransferInfo info, int32_t data)

Pulangan

ResultVoid

8.32 NlcScanBusCallback
Gunakan kelas panggil balik ini untuk pengimbasan bas. 1. Tentukan "kelas bersama" yang melanjutkan kelas ini dengan pelaksanaan kaedah panggil balik tersuai. 2. Gunakan kejadian "kelas bersama" dalam panggilan NanoLibAccessor.scanDevices (). Kelas utama itu sendiri mempunyai fungsi ahli awam berikut.

panggil balik ()
panggilan balik ResultVoid maya (nlc::BusScanInfo info, std::vector const & devicesFound, data int32_t)

Mengembalikan ResultVoid
8.33 NlcLoggingCallback
Gunakan kelas panggil balik ini untuk mengelog panggilan balik. 1. Tentukan kelas yang memanjangkan kelas ini dengan pelaksanaan kaedah panggil balik tersuai 2. Gunakan penuding kepada kejadiannya untuk menetapkan panggilan balik oleh NanoLibAccessor >
setLoggingCallback (…).
panggilan balik kekosongan maya (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_sejak_epoch, const size_t thread_id)

8.34 SamplerInterface
Gunakan kelas ini untuk mengkonfigurasi, memulakan dan menghentikan sampler, atau untuk mendapatkan sampmengetuai data dan ambil sebagaiampstatus ler atau kesilapan terakhir. Kelas mempunyai fungsi ahli awam berikut.

Versi: doc 1.4.2 / NanoLib 1.3.0

54

8 Rujukan kelas / fungsi

configure () Mengkonfigurasi sebagaiampler.
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Parameter [dalam] perantiHandle [dalam] samplerConfiguration
Mengembalikan ResultVoid

Menentukan peranti yang hendak dikonfigurasikan sampler untuk. Menentukan nilai atribut konfigurasi. Mengesahkan bahawa fungsi void telah dijalankan.

getData () Mendapat sampdata yang diketuai.
Hasil mayaSampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parameter [dalam] deviceHandle Mengembalikan KeputusanampleDataArray

Menentukan peranti untuk mendapatkan data.
Menyampaikan sampdata yang diketuai, yang boleh menjadi tatasusunan kosong jika samplerNotify aktif pada permulaan.

getLastError () Mendapat sebagaiampkesilapan terakhir ler.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Mengembalikan ResultVoid

Mengesahkan bahawa fungsi void telah dijalankan.

getState () Mendapat sebagaiampstatus ler.
Hasil mayaSamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Mengembalikan KeputusanSamplerState

Menyampaikan sampnegeri ler.

mula () Bermula sebagaiampler.
virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)

Parameter [dalam] perantiHandle [dalam] SamplerNotify [dalam] applicationData
Mengembalikan ResultVoid

Menentukan peranti untuk memulakan sampler untuk.
Menentukan maklumat pilihan untuk dilaporkan (boleh nullptr).
Pilihan: Majukan data berkaitan aplikasi (tatasusunan 8-bit yang ditetapkan pengguna bagi nilai / ID peranti / indeks, atau masa tarikh, penuding pembolehubah / fungsi, dsb.) kepada samplerNotify.
Mengesahkan bahawa fungsi void telah dijalankan.

Versi: doc 1.4.2 / NanoLib 1.3.0

55

8 Rujukan kelas / fungsi

berhenti () Berhenti sebagaiampler.
virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Parameter [dalam] deviceHandle Mengembalikan ResultVoid

Menentukan peranti untuk menghentikan sampler untuk. Mengesahkan bahawa fungsi void telah dijalankan.

8.35 SamplerConfiguration struct

Struktur ini mengandungi data samppilihan konfigurasi ler (statik atau tidak).

Atribut awam

std::vektor trackedAddresses

Sehingga 12 alamat OD menjadi sampdiketuai.

uint32_t

versi

Versi struktur.

uint32_t

tempohMillisaat

Samptempoh ling dalam ms, dari 1 hingga 65535

uint16_t

tempohMillisaat

Samptempoh ling dalam ms.

uint16_t

numberOfSamples

Sampjumlah kurang.

uint16_t

preTriggerNumberOfSamples

Samples jumlah pra-cetusan.

bool

menggunakanPelaksanaan Perisian

Gunakan pelaksanaan perisian.

bool

menggunakanNewFWSamplerImplementation Gunakan pelaksanaan FW untuk peranti dengan a

FW versi v24xx atau lebih baru.

SamplerMode

mod

Normal, berulang atau berterusan sampling.

SamplerTriggerCondition triggerCondition

Mulakan syarat pencetus: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE_GREATER = 0x14 =_TCx0GREATER = 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1x0C, Odaluedex, picuV

SamplerTrigger

SamplerTrigger

Pencetus untuk bermula sebagaiampler?

Atribut awam statik
saiz constexpr statik_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 statik constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Gunakan kelas ini untuk mengaktifkan samppemberitahuan ler apabila anda mula sebagaiampler. Kelas mempunyai fungsi ahli awam berikut.

Versi: doc 1.4.2 / NanoLib 1.3.0

56

8 Rujukan kelas / fungsi

memberitahu ()
Menghantar entri pemberitahuan.
kekosongan maya nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Parameter [dalam] lastError [dalam] samplerState
[dalam] sampleDatas [dalam] applicationData

Melaporkan ralat terakhir berlaku semasa sampling. Melaporkan sampStatus ler pada masa pemberitahuan: Tidak dikonfigurasikan / Dikonfigurasikan / Sedia / Berjalan / Selesai / Gagal / Dibatalkan. Melaporkan samptatasusunan data yang diketuai. Melaporkan data khusus aplikasi.

8.37 Sampstruktur leData

Struktur ini mengandungi sampdata yang diketuai.

Nombor lelaran uin64_t

Bermula pada 0 dan hanya meningkat dalam mod berulang.

std::vektor<SampledValues> Mengandungi pelbagai sampnilai yang dipimpin.

8.38 Sampstruct ledValue

Struktur ini mengandungi sampnilai yang dipimpin.

nilai in64_t uin64_t CollectTimeMsec

Mengandungi nilai alamat OD yang dijejaki.
Mengandungi masa pengumpulan dalam milisaat, berbanding samppermulaan.

8.39 Sampstruct lerTrigger

Struktur ini mengandungi tetapan pencetus sampler.

Sampkeadaan lerTriggerCondition
Nilai uin32_t OdIndex

Keadaan pencetus:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = TCx0GREATER = 15x0 = TCx16GREATER 0x17 TC_LESS = 0x18 TC_LESS_OR_EQUAL = 0x19 TC_EQUAL = 0x1 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = XNUMXxXNUMXC
OdIndex (alamat) pencetus.
Nilai keadaan atau nombor bit (bermula dari bit sifar).

8.40 Struktur bersiri

Cari di sini pilihan komunikasi bersiri anda dan atribut awam berikut:

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = “kadar baud bersiri” baudRate =Struktur KadarBaud Bersiri

Versi: doc 1.4.2 / NanoLib 1.3.0

57

8 Rujukan kelas / fungsi

const std::string const SerialParity

PARITY_OPTIONS_NAME = "pariti siri" pariti = struct SerialParity

8.41 Struktur SerialBaudRate

Cari di sini kadar baud komunikasi bersiri anda dan atribut awam berikut:

const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string

BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE56000 = “56000” BAUD_57600 57600” BAUD_RATE_115200 = “115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000”

8.42 struct SerialParity

Cari di sini pilihan pariti bersiri anda dan atribut awam berikut:

const std::string const std::string const std::string const std::string const std::string

TIADA = "tiada" ODD = "ganjil" GENAP = "genap" MARKAH = "tanda" RUANG = "ruang"

Versi: doc 1.4.2 / NanoLib 1.3.0

58

9 Lesen

9 Lesen

Pengepala antara muka API NanoLib dan exampkod sumber dilesenkan oleh Nanotec Electronic GmbH & Co. KG di bawah Creative Commons Attribution 3.0 Unported License (CC BY). Bahagian perpustakaan yang disediakan dalam format binari (pustaka komunikasi teras dan bas lapangan) dilesenkan di bawah Lesen Antarabangsa Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).

Creative Commons
Ringkasan yang boleh dibaca manusia berikut tidak akan menggantikan lesen itu sendiri. Anda boleh mendapatkan lesen masing-masing di creativecommons.org dan dipautkan di bawah. Anda bebas untuk:

CC BY 3.0
Kongsi: Lihat betul. Suaikan: Remix, ubah dan bina di atas
bahan untuk sebarang tujuan, walaupun secara komersial.

CC BY-ND 4.0
Kongsi: Salin dan edarkan semula bahan dalam sebarang medium atau format.

Pemberi lesen tidak boleh membatalkan kebebasan di atas selagi anda mematuhi syarat lesen berikut:

CC BY 3.0

CC BY-ND 4.0

Atribusi: Anda mesti memberikan kredit yang sesuai, Atribusi: Lihat kiri. Tetapi: Berikan pautan ke ini

sediakan pautan kepada lesen, dan nyatakan jika

lesen lain.

perubahan telah dibuat. Anda boleh berbuat demikian dalam mana-mana

Tiada derivatif: Jika anda mengadun semula, mengubah atau membina

dengan cara yang munasabah, tetapi tidak dengan cara apa pun yang mencadangkan

atas bahan tersebut, anda tidak boleh mengedarkannya

menunjukkan pemberi lesen mengesahkan anda atau penggunaan anda.

bahan yang diubah suai.

Tiada sekatan tambahan: Anda tidak boleh menggunakan Tiada sekatan tambahan: Lihat kiri. terma undang-undang atau langkah teknologi yang sah

menyekat orang lain daripada melakukan apa-apa lesen

permit.

Nota: Anda tidak perlu mematuhi lesen untuk elemen bahan dalam domain awam atau di mana penggunaan anda dibenarkan oleh pengecualian atau pengehadan yang berkenaan.
Nota: Tiada waranti diberikan. Lesen mungkin tidak memberikan anda semua kebenaran yang diperlukan untuk kegunaan anda. Untuk exampOleh itu, hak lain seperti publisiti, privasi atau hak moral mungkin mengehadkan cara anda menggunakan bahan tersebut.

Versi: doc 1.4.2 / NanoLib 1.3.0

59

Cetakan, kenalan, versi

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenJermanTel.+49(0) 89 900 686-0Faks+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Semua hak terpelihara. Ralat, peninggalan, teknikal atau perubahan kandungan mungkin berlaku tanpa notis. Jenama/produk yang disebut harga adalah tanda dagangan pemiliknya dan perlu diperlakukan sedemikian. Versi asal.

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

+ Ditambah > Diubah # Tetap > Kerja semula ex yang disediakanamples.
+ NanoLib Modbus: Menambahkan mekanisme penguncian peranti untuk Modbus VCP. # Teras NanoLib: Pemeriksaan keadaan sambungan tetap. # Kod NanoLib: Pembetulan penyingkiran rujukan perkakasan bas.
+ NanoLib-CANopen: Sokongan untuk penyesuai PCAN-USB Peak (IPEH-002021/002022).
> Teras NanoLib: Antara muka panggil balik pengelogan diubah (LogLevel digantikan dengan LogModule). # NanoLib Logger: Pemisahan antara teras dan modul telah diperbetulkan. # Modbus TCP: Kemas kini perisian tegar tetap untuk FW4. # EtherCAT: Muat naik program NanoJ tetap untuk Core5. # EtherCAT: Kemas kini perisian tegar tetap untuk Core5.
# Modbus RTU: Isu masa tetap dengan kadar baud rendah semasa kemas kini perisian tegar. # RESTful: Muat naik program NanoJ tetap.
# Modul NanoLib Sampler: Bacaan betul sampmembawa nilai boolean.
+ Sokongan Java 11 untuk semua platform. + Sokongan Python 3.11/3.12 untuk semua platform. + Antara muka panggilan balik pengelogan baharu (lihat cthamples). + Panggilan balik tenggelam untuk NanoLib Logger. > Kemas kini logger kepada versi 1.12.0. > Modul NanoLib Sampler: Sokongan sekarang untuk perisian tegar pengawal Nanotec v24xx. > Modul NanoLib Sampler: Perubahan dalam struktur yang digunakan untuk sampkonfigurasi ler. > Modul NanoLib Sampler: Mod berterusan adalah sinonim dengan tidak berkesudahan; keadaan pencetus diperiksa sekali; bilangan samples mestilah 0. > NanoLib Modules Sampler: Keutamaan biasa untuk utas yang mengumpul data dalam mod perisian tegar. > Modul NanoLib Sampler: Algoritma yang ditulis semula untuk mengesan peralihan antara keadaan Sedia & Berjalan. # Teras NanoLib: Tiada lagi Pelanggaran Akses (0xC0000005) apabila menutup 2 atau lebih peranti menggunakan perkakasan bas yang sama. # Teras NanoLib: Tiada lagi Kerosakan Segmentasi semasa melampirkan penyesuai PEAK di bawah Linux. # Modul NanoLib Sampler: Betul sampbacaan nilai led dalam mod perisian tegar. # Modul NanoLib Sampler: Konfigurasi yang betul bagi 502X:04. # Modul NanoLib Sampler: Percampuran penampan yang betul dengan saluran. # NanoLib-Canopen: Peningkatan masa tamat CAN untuk keteguhan dan pengimbasan yang betul pada kadar baudrat yang lebih rendah. # NanoLib-Modbus: Algoritma pengesanan VCP untuk peranti khas (USB-DA-IO).
+ Sokongan EtherCAT.
+ Nota pada tetapan projek VS dalam Konfigurasikan projek anda.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileNama (). + const std::string & xmlFileLaluan dalam addObjectDictionary (). + dapatkanSamplerInterface ().

Produk 1.3.0 1.2.1 1.2.0 1.1.3
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 Cetakan, kenalan, versi

Dokumen
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

+ Ditambah > Diubah # Tetap + but semulaPeranti (). + Kod ralat ResourceUnavailable untuk getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber dan ~Uid. > firmwareUploadFromFile sekarang muat naikFirmwareFromFile (). > firmwareUpload () now uploadFirmware (). > pemuat butUploadFromFile () kini muat naikBootloaderFromFile (). > bootloaderUpload () now uploadBootloader (). > pemuat butFirmwareUploadFromFile () untuk memuat naikBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () kini muat naikBootloaderFirmware (). > nanojUploadFromFile () kini muat naikNanoJFromFile (). > nanojUpload () now uploadNanoJ (). > objectDictionaryLibrary () kini getObjectDictionaryLibrary (). > String_String_Map sekarang StringStringMap. > NanoLib-Common: pelaksanaan listAvailableBusHardware dan openBusHardwareWithProtocol yang lebih pantas dengan penyesuai Ixxat. > NanoLib-CANopen: tetapan lalai digunakan (1000k baudrate, nombor bas Ixxat 0) jika pilihan perkakasan bas kosong. > NanoLib-RESTful: kebenaran pentadbir usang untuk komunikasi dengan pemuat but Ethernet di bawah Windows jika pemacu npcap / winpcap tersedia. # NanoLib-CANopen: perkakasan bas kini dibuka tanpa ranap dengan pilihan kosong. # NanoLib-Common: openBusHardwareWithProtocol () tanpa kebocoran memori sekarang.
+ Sokongan Linux ARM64. + Storan jisim USB / REST / sokongan DCP Profinet. + semakConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (digantikan NanotecExceptions). + NanoLib Modbus: VCP / hab USB disatukan kepada USB. > Pengimbasan Modbus TCP mengembalikan hasil. < Kependaman komunikasi TCP Modbus kekal malar.
+ Lagi ObjectEntryDataType (kompleks dan profile-khusus). + IOError kembali jika connectDevice () dan scanDevices () tidak menemui apa-apa. + Hanya 100 ms tamat masa nominal untuk CanOpen / Modbus.
+ Sokongan Modbus (ditambah Hab USB melalui VCP). + Bab Mencipta projek Linux anda sendiri. + extraHardwareSpecifier kepada BusHardwareId (). + extraId_ dan extraStringId_ ke DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Pembetulan pepijat.
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

Pengaturcaraan NanoLib C++ Nanotik [pdf] Manual Pengguna
Pengaturcaraan NanoLib C, Pengaturcaraan C, Pengaturcaraan

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *