Nanotik-LOGO

Pemrograman C++ Nanotic NanoLib

Nanotic-NanoLib-C++-Programming-PRODUCT

Informasi produk

Spesifikasi

  • Jeneng produk: NanoLib
  • Pemrograman Basa: C++
  • Versi Produk: 1.3.0
  • Versi Manual pangguna: 1.4.2

Pustaka NanoLib dirancang kanggo piranti lunak kontrol program kanggo pengontrol Nanotec. Nyedhiyakake antarmuka panganggo, fungsi inti, lan perpustakaan komunikasi kanggo nggampangake pangembangan aplikasi kontrol.

Pandhuan Panggunaan Produk

  • Sadurunge miwiti:
    • Priksa manawa sistem sampeyan cocog karo syarat hardware sing ditemtokake ing manual. Para pamirsa sing dimaksudake kanggo produk iki kalebu pangembang sing pengin nggawe piranti lunak kontrol kanggo pengontrol Nanotec.
  • Miwiti:
    • Kanggo miwiti nggunakake NanoLib, tindakake langkah iki:
    • Miwiti kanthi ngimpor NanoLib menyang proyek sampeyan.
    • Konfigurasi setelan proyek sampeyan yen perlu.
    • Gawe proyek sampeyan kanggo nggabungake fungsi NanoLib.
  • Nggawe Proyek:
    • Sampeyan bisa nggawe proyek kanggo lingkungan Windows lan Linux. Tindakake pandhuan khusus sing kasedhiya ing manual kanggo saben platform.
  • Referensi Kelas / Fungsi:
    • Deleng manual pangguna kanggo pandhuan rinci babagan kelas lan fungsi sing kasedhiya ing NanoLib kanggo piranti lunak kontrol program.

Pitakonan

  • P: Apa tujuane NanoLib?
    • A: NanoLib minangka perpustakaan kanggo piranti lunak kontrol program kanggo pengontrol Nanotec, nyedhiyakake fungsi penting lan kemampuan komunikasi.
  • P: Kepiye carane bisa miwiti NanoLib?
    • A: Miwiti kanthi ngimpor NanoLib menyang proyek sampeyan, ngatur setelan proyek, lan mbangun proyek sampeyan kanggo nggunakake fitur NanoLib.

“`

Manual pangguna NanoLib
C++

Valid karo versi produk 1.3.0

Versi Manual pangguna: 1.4.2

Tujuan dokumen lan konvensi

Dokumen iki njlèntrèhaké persiyapan lan nggunakake perpustakaan NanoLib lan ngemot referensi kanggo kabeh kelas lan fungsi kanggo program lunak kontrol dhewe kanggo pengontrol Nanotec. Kita nggunakake typefaces ing ngisor iki:
Teks sing digaris ngisor menehi tandha referensi silang utawa hyperlink.
Example 1: Kanggo instruksi pas ing NanoLibAccessor, ndeleng Setup. Example 2: Instal driver Ixxat lan nyambungake CAN-kanggo-USB adaptor. Teks miring tegese: Iki minangka obyek sing dijenengi, jalur menu / item, tab / file jeneng utawa (yen perlu) ekspresi basa manca.
Exampl 1: Pilih File > Anyar > Dokumen Kosong. Bukak tab Alat banjur pilih Komentar. Example 2: Dokumen iki mbagi pangguna (= Nutzer; usuario; utente; utilisateur; utente lsp.) saka:
– Panganggo pihak katelu (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente etc.). – Panganggo pungkasan (= Endnutzer; usuario final; utente final; utilisateur final; utente finale lsp).
Kurir menehi tandha blok kode utawa perintah pemrograman. Example 1: Liwat Bash, nelpon sudo make install kanggo nyalin obyek sing dienggo bareng; banjur nelpon ldconfig. ExampLangkah 2: Gunakake fungsi NanoLibAccessor ing ngisor iki kanggo ngganti level logging ing NanoLib:
// ***** C++ varian *****
void setLoggingLevel(LogLevel level);
Teks kandel nandheske tembung-tembung individu sing penting banget. Utawa, tandha seru ing kurung nandheske pentinge kritis(!).
Example 1: Nglindhungi dhewe, liyane lan peralatan. Tindakake cathetan safety umum sing umume ditrapake kanggo kabeh produk Nanotec.
Example 2: Kanggo pangayoman dhewe, tindakake uga cathetan safety tartamtu sing ditrapake kanggo produk tartamtu iki. Tembung kriya kanggo co-klik tegese klik liwat tombol mouse sekunder kanggo mbukak menu konteks etc.
Example 1: Co-klik ing file, pilih Ganti jeneng, banjur ganti jeneng file. Example 2: Kanggo mriksa properti, co-klik ing file banjur pilih Properties.

Versi: doc 1.4.2 / NanoLib 1.3.0

4

Sadurunge sampeyan miwiti

Sadurunge miwiti nggunakake NanoLib, nyiyapake PC lan informasi babagan panggunaan sing dituju lan watesan perpustakaan.
2.1 Persyaratan sistem lan hardware

Nanotic-NanoLib-C++-Programming-FIG- (1)
Cathetan Malfungsi saka operasi 32-bit utawa sistem mandheg! Gunakake, lan terus-terusan njaga, sistem 64-bit. Mirsani penghentian OEM lan ~ instruksi.

NanoLib 1.3.0 ndhukung kabeh produk Nanotec karo CANopen, Modbus RTU (uga USB ing port com virtual), Modbus TCP, EtherCat, lan Profinet. Kanggo NanoLibs lawas: Deleng changelog ing imprint. Ing risiko sampeyan mung: panggunaan sistem warisan. Cathetan: Tindakake pandhuan OEM sing bener kanggo nyetel latensi paling sithik yen sampeyan ngadhepi masalah nalika nggunakake adaptor USB berbasis FTDI.

Requirements (sistem 64-bit wajib)
Windows 10 utawa 11 w/ Visual Studio 2019 versi 16.8 utawa luwih anyar lan Windows SDK 10.0.20348.0 (versi 2104) utawa luwih anyar
C++ redistributables 2017 utawa luwih dhuwur CANopen: Ixxat VCI utawa driver dhasar PCAN (opsional) modul EtherCat / Profinet DCP: Npcap utawa WinPcap modul RESTful: Npcap, WinPcap, utawa idin admin kanggo
komunikasi karo bootloader Ethernet
Linux karo Ubuntu 20.04 LTS nganti 24 (kabeh x64 lan arm64)
Header kernel lan paket libpopt-dev Profinet DCP: CAP_NET_ADMIN lan CAP_NET_RAW kemampuan
ikatan CANopen: driver Ixxat ECI utawa adaptor Puncak PCAN-USB EtherCat: CAP_NET_ADMIN, CAP_NET_RAW lan
Kapabilitas CAP_SYS_NICE RESTful: CAP_NET_ADMIN kemampuan kanggo komunikasi karo Eth-
ernet bootloaders (uga dianjurake: CAP_NET_RAW)

Basa, adaptor fieldbus, kabel
C++ GCC 7 utawa luwih dhuwur (Linux)
EtherCAT: Kabel Ethernet VCP / hub USB: saiki seragam USB panyimpenan massal USB: kabel USB REST: Kabel Ethernet CANopen: Ixxat USB-kanggo-CAN V2; Na-
notec ZK-USB-CAN-1, adaptor Puncak PCANUSB Ora ana dhukungan Ixxat kanggo Ubuntu ing arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 utawa adaptor sing padha; Kabel USB ing port com virtual (VCP)
Modbus TCP: Kabel Ethernet miturut lembar data produk

2.2 Panggunaan lan pamirsa
NanoLib minangka perpustakaan program lan komponen piranti lunak kanggo operasi, lan komunikasi karo, pengontrol Nanotec ing macem-macem aplikasi industri lan mung kanggo programer sing trampil.
Amarga hardware (PC) lan sistem operasi ora bisa nyata-nyata, NanoLib ora digunakake ing aplikasi sing mbutuhake gerakan multi-sumbu sinkron utawa umume sensitif wektu.
Ing kasus apa wae sampeyan bisa nggabungake NanoLib minangka komponen safety menyang produk utawa sistem. Ing pangiriman kanggo pangguna pungkasan, sampeyan kudu nambah bebaya bebaya cocog lan instruksi kanggo nggunakake aman lan operasi aman kanggo saben produk karo komponen Nanotec-diprodhuksi. Sampeyan kudu ngirim kabeh kabar bebaya sing diterbitake Nanotec menyang pangguna pungkasan.
2.3 Lingkup pangiriman lan babar pisan
NanoLib teka minangka folder *.zip saka download kita websitus kanggo EMEA / APAC utawa AMERIKA. Simpen lan unzip download sadurunge persiyapan. Paket NanoLib ngemot:

Versi: doc 1.4.2 / NanoLib 1.3.0

5

2 Sadurunge miwiti

Header antarmuka minangka kode sumber (API)

Fungsi inti minangka perpustakaan ing format biner: nano-

Pustaka sing nggampangake komunikasi: nanolibm_ lib.dll

[yourfieldbus].dll lsp.

Exampproyek: Example.sln (Visual Studio

proyek) lan example.cpp (utama file)

Kanggo jangkoan babar pisan, mangga mirsani a) syarat lan kahanan kanggo EMEA / APAC utawa AMERIKA lan b) kabeh syarat lisensi. Cathetan: Nanotec ora tanggung jawab kanggo kualitas, penanganan, instalasi, operasi, panggunaan, lan pangopènan peralatan pihak katelu sing rusak utawa ora patut! Kanggo safety amarga, tansah tindakake pandhuan OEM bener.

Versi: doc 1.4.2 / NanoLib 1.3.0

6

Arsitektur NanoLib

Struktur piranti lunak modular NanoLib ngidini sampeyan ngatur kontrol motor / fieldbus sing bisa disesuaikan kanthi bebas ing inti sing wis dibangun. NanoLib ngemot modul ing ngisor iki:

Antarmuka pangguna (API)

NanoLib inti

Interface lan helper kelas kang Pustaka kang

Pustaka komunikasi Fieldbus-tartamtu perpustakaan kang

ngakses sampeyan menyang controller kang ngleksanakake fungsi API do antarmuka antarane NanoLib

OD (kamus obyek)

sesambungan karo perpustakaan bis.

hardware inti lan bus.

adhedhasar fungsi inti NanoLib-

kabangsaan.

3.1 Antarmuka pangguna

Antarmuka pangguna kasusun saka antarmuka header files sampeyan bisa nggunakake kanggo ngakses paramèter controller. Kelas antarmuka pangguna kaya sing diterangake ing referensi Kelas / fungsi ngidini sampeyan:
Sambungake menyang hardware (adaptor fieldbus) lan piranti controller. Ngakses OD piranti, kanggo maca / nulis paramèter controller.

3.2 inti NanoLib

Inti NanoLib dilengkapi perpustakaan impor nanolib.lib. Iki ngetrapake fungsi antarmuka pangguna lan tanggung jawab kanggo:
Ngunggah lan ngatur perpustakaan komunikasi. Nyedhiyakake fungsionalitas antarmuka pangguna ing NanoLibAccessor. Titik entri komunikasi iki de-
denda sakumpulan operasi sing bisa ditindakake ing inti NanoLib lan perpustakaan komunikasi.

3.3 Pustaka Komunikasi

Saliyane nanotec.services.nanolib.dll (migunani kanggo Plug & Drive Studio opsional), NanoLib nawakake perpustakaan komunikasi ing ngisor iki:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Kabeh perpustakaan lay lapisan abstraksi hardware antarane inti lan controller. Inti ngemot nalika wiwitan saka folder proyek sing ditunjuk lan digunakake kanggo nggawe komunikasi karo pengontrol kanthi protokol sing cocog.

Versi: doc 1.4.2 / NanoLib 1.3.0

7

Miwiti

Waca carane nyiyapake NanoLib kanggo sistem operasi kanthi bener lan carane nyambungake hardware yen perlu.
4.1 Siapke sistem sampeyan
Sadurunge nginstal driver adaptor, nyiyapake PC ing sadawane sistem operasi dhisik. Kanggo nyiapake PC ing sadawane OS Windows, instal MS Visual Studio kanthi ekstensi C++. Kanggo nginstal make lan gcc dening Linux Bash, nelpon sudo apt install build-essentials. Banjur aktifake kapabilitas CAP_NET_ADMIN, CAP_NET_RAW, lan CAP_SYS_NICE kanggo aplikasi sing nggunakake NanoLib: 1. Telpon sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
jeneng>. 2. Mung banjur, nginstal driver adaptor Panjenengan.
4.2 Instal driver adaptor Ixxat kanggo Windows
Mung sawise instalasi driver amarga, sampeyan bisa nggunakake adaptor USB-to-CAN V2 Ixxat. Waca manual produk drive USB, kanggo mangerteni yen / carane ngaktifake comport virtual (VCP). 1. Ngundhuh lan nginstal driver VCI 4 Ixxat kanggo Windows saka www.ixxat.com. 2. Sambungake adaptor kompak USB-kanggo-BISA V2 Ixxat menyang PC liwat USB. 3. Miturut Manager Piranti: Priksa manawa driver lan adaptor wis diinstal / dikenali.
4.3 Instal driver adaptor Puncak kanggo Windows
Mung sawise instalasi driver amarga, sampeyan bisa nggunakake adaptor PCAN-USB Peak. Waca manual produk drive USB, kanggo mangerteni yen / carane ngaktifake comport virtual (VCP). 1. Ngundhuh lan nginstal persiyapan driver piranti Windows (= paket instalasi karo driver piranti, alat, lan
API) saka http://www.peak-system.com. 2. Sambungake adaptor PCAN-USB Peak menyang PC liwat USB. 3. Miturut Manager Piranti: Priksa manawa driver lan adaptor wis diinstal / dikenali.
4.4 Instal driver adaptor Ixxat kanggo Linux
Mung sawise instalasi driver amarga, sampeyan bisa nggunakake adaptor USB-to-CAN V2 Ixxat. Cathetan: Adaptor liyane sing didhukung mbutuhake ijin sampeyan kanthi sudo chmod +777/dev/ttyACM* (* nomer piranti). Waca manual produk drive USB, kanggo mangerteni yen / carane ngaktifake comport virtual (VCP). 1. Instal piranti lunak sing dibutuhake kanggo driver ECI lan aplikasi demo:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Download driver ECI-for-Linux saka www.ixxat.com. Unzip liwat:
unzip eci_driver_linux_amd64.zip
3. Instal driver liwat:
cd /EciLinux_amd/src/KernelModule sudo nggawe install-usb
4. Priksa instalasi driver sing sukses kanthi nyusun lan miwiti aplikasi demo:
cd /EciLinux_amd/src/EciDemos/ sudo nggawe cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Versi: doc 1.4.2 / NanoLib 1.3.0

8

4 Miwiti
4.5 Instal driver adaptor Puncak kanggo Linux
Mung sawise instalasi driver amarga, sampeyan bisa nggunakake adaptor PCAN-USB Peak. Cathetan: Adaptor liyane sing didhukung mbutuhake ijin sampeyan kanthi sudo chmod +777/dev/ttyACM* (* nomer piranti). Waca manual produk drive USB, kanggo mangerteni yen / carane ngaktifake comport virtual (VCP). 1. Priksa manawa Linux sampeyan duwe header kernel: ls /usr/src/linux-headers-`uname -r`. Yen ora, nginstal
dheweke: sudo apt-get install linux-headers-`uname -r` 2. Mung saiki, instal paket libpopt-dev: sudo apt-get install libpopt-dev 3. Ngundhuh paket driver sing dibutuhake (peak-linux-driver-xxx.tar.gz) saka www.peak-system.com. 4. Kanggo mbongkar, gunakake: tar xzf peak-linux-driver-xxx.tar.gz 5. Ing folder sing ora dikempalken: Kompilasi lan instal driver, perpustakaan dasar PCAN, lsp: nggawe kabeh
sudo nggawe nginstal 6. Kanggo mriksa fungsi, plug adaptor PCAN-USB ing.
a) Priksa modul kernel:
lsmod | grep pcan b) ... lan perpustakaan sing dienggo bareng:
ls -l /usr/lib/libpcan*
Cathetan: Yen ana masalah USB3, gunakake port USB2.
4.6 Sambungake hardware
Kanggo bisa mbukak proyek NanoLib, sambungake pengontrol Nanotec sing kompatibel menyang PC nggunakake adaptor sampeyan. 1. Kanthi kabel sing cocog, sambungake adaptor menyang controller. 2. Sambungake adaptor menyang PC miturut lembar data adaptor. 3. Daya ing controller nggunakake sumber daya cocok. 4. Yen perlu, ngganti setelan komunikasi controller Nanotec minangka pitunjuk ing manual produk.
4.7 Muat NanoLib
Kanggo wiwitan kanthi dhasar sing cepet lan gampang, sampeyan bisa (nanging ora kudu) nggunakake mantan kitaampproyek iki. 1. Gumantung ing wilayah sampeyan: Download NanoLib saka kita websitus kanggo EMEA / APAC utawa AMERIKA. 2. Unzip paket files / folder lan aja milih siji pilihan: Kanggo dhasar cepet-lan gampang: Waca Miwiti mantanampproyek iki. Kanggo kustomisasi majeng ing Windows: Waca Nggawe proyek Windows dhewe. Kanggo kustomisasi majeng ing Linux: Waca Nggawe proyek Linux sampeyan dhewe.

Versi: doc 1.4.2 / NanoLib 1.3.0

9

Miwiti mantanampproyek iki

Kanthi NanoLib dimuat, mantanample project nuduhake sampeyan liwat panggunaan NanoLib karo controller Nanotec. Cathetan: Kanggo saben langkah, komentar ing ex sing kasedhiyaampkode le nerangake fungsi digunakake. mantanampproyek kasebut kalebu: `*_functions_example.*' files, sing ngemot implementasi kanggo antarmuka NanoLib fungsi `*_callback_example.*' files, sing ngemot implementasi kanggo macem-macem callback (scan, data lan
logging) ing `menu_*.*' file, sing ngemot logika menu lan kode Example. * file, yaiku program utama, nggawe menu lan miwiti kabeh parameter sing digunakake ing Sampler_example. * file, kang ngandhut example implementasine kanggo sampler panggunaan. Sampeyan bisa nemokake liyane examples, karo sawetara printah gerakan kanggo macem-macem mode operasi, ing Knowledge Base ing nanotec.com. Kabeh bisa digunakake ing Windows utawa Linux.
Ing Windows karo Visual Studio 1. Bukak Example.sln file. 2. Bukak mantanample.cpp. 3. Compile lan mbukak mantanampkode.
Ing Linux liwat Bash 1. Unzip sumber file, navigasi menyang folder karo isi unzipped. utama file kanggo mantanample iku
example.cpp. 2. Ing bash, nelpon:
a. "sudo nggawe nginstal" kanggo nyalin obyek sing dienggo bareng lan nelpon ldconfig. b. "gawe kabeh" kanggo mbangun test sing bisa dieksekusi. 3. Folder bin ngemot ex eksekusiample file. Miturut bash: Pindhah menyang folder output lan ketik ./example. Yen ora ana kesalahan, obyek sing dienggo bareng saiki wis diinstal kanthi bener, lan perpustakaan sampeyan wis siyap digunakake. Yen kesalahan maca ./example: kesalahan nalika ngemot perpustakaan sing dienggo bareng: libnanolib.so: ora bisa mbukak obyek sing dienggo bareng file: Ora ngono file utawa direktori, instalasi obyek sing dienggo bareng gagal. Ing kasus iki, tindakake langkah sabanjure. 4. Nggawe folder anyar ing /usr/local/lib (hak admin dibutuhake). Ing bash, ketik:
sudo mkdir /usr/local/lib/nanotec
5. Nyalin kabeh obyek sing dienggo bareng saka zip filefolder lib:
nginstal ./lib/*.so /usr/local/lib/nanotec/
6. Priksa isi folder target kanthi:
ls -al /usr/local/lib/nanotec/
Sampeyan kudu dhaptar obyek sing dienggo bareng files saka folder lib. 7. Jalanake ldconfig ing folder iki:
sudo ldconfig /usr/local/lib/nanotec/
mantanample dipun ginakaken minangka aplikasi CLI lan menehi antarmuka menu. Entri menu adhedhasar konteks lan bakal diaktifake utawa dipateni, gumantung saka kahanan konteks. Padha menehi kamungkinan kanggo milih lan nglakokaké macem-macem fungsi perpustakaan ing ngisor iki alur kerja khas kanggo nangani controller: 1. Priksa PC kanggo hardware disambungake (adaptor) lan dhaptar. 2. Nggawe sambungan menyang adaptor. 3. Pindai bis kanggo piranti controller sing disambungake. 4. Nyambung menyang piranti.

Versi: doc 1.4.2 / NanoLib 1.3.0

10

5 Miwiti mantanampproyek iki
5. Test siji utawa luwih saka fungsi perpustakaan: Maca / nulis saka / kanggo kamus obyek controller, nganyari perangkat kukuh, upload lan mbukak program NanoJ, njaluk motor mlaku lan nyetel iku, ngatur lan nggunakake logging / s.ampmaca.
6. Nutup sambungan, pisanan menyang piranti, banjur menyang adaptor.

Versi: doc 1.4.2 / NanoLib 1.3.0

11

Nggawe proyek Windows dhewe

Nggawe, ngumpulake lan mbukak proyek Windows sampeyan dhewe kanggo nggunakake NanoLib.
6.1 Impor NanoLib
Impor header NanoLib files lan perpustakaan liwat MS Visual Studio.
1. Bukak Visual Studio. 2. Liwat Nggawe proyek anyar > Console App C++ > Sabanjure: Pilih jinis proyek. 3. Jeneng proyek sampeyan (kene: NanolibTest) kanggo nggawe folder proyek ing Solution Explorer. 4. Pilih Rampung. 5. Bukak jendhela file explorer lan navigasi menyang folder proyek anyar sing digawe. 6. Nggawe rong folder anyar, inc lan lib. 7. Bukak folder paket NanoLib. 8. Saka ing kono: Nyalin header files saka folder kalebu menyang folder project inc lan kabeh .lib lan .dll
files menyang folder proyek anyar sampeyan lib. 9. Priksa folder project kanggo struktur amarga, kanggo Example:

Nanotic-NanoLib-C++-Programming-FIG- (2)folder ect kanggo struktur amarga:
. 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.vlibcxTest.vlibcx
6.2 Konfigurasi proyek sampeyan
Gunakake Solution Explorer ing MS Visual Studio kanggo nyiyapake proyek NanoLib. Cathetan: Kanggo operasi NanoLib sing bener, pilih konfigurasi release (ora debug!) ing setelan proyek Visual C ++; banjur mbangun lan ngubungake proyek kasebut karo VC runtimes C ++ redistributables [2022].
1. Ing Solution Explorer: Pindhah menyang folder project (kene: NanolibTest). 2. Co-klik folder kanggo mbukak menu konteks. 3. Pilih Properties. 4. Aktifake Kabeh konfigurasi lan Kabeh platform. 5. Pilih C/C++ lan pindhah menyang Direktori Kalebu Tambahan. 6. Pasang: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Pilih Linker lan pindhah menyang Direktori Pustaka Tambahan. 8. Lebokake: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Extend Linker banjur pilih Input. 10. Pindhah menyang Dependencies Tambahan lan lebokake: nanolib.lib;%(AdditionalDependencies) 11.Konfirmasi liwat OK.

Versi: doc 1.4.2 / NanoLib 1.3.0

12

6 Nggawe proyek Windows dhewe
12. Bukak Konfigurasi > C++ > Language > Language Standard > ISO C++17 Standard lan setel standar basa menyang C++17 (/std:c++17).
6.3 Mbangun proyek sampeyan
Gawe proyek NanoLib ing MS Visual Studio. 1. Bukak *.cpp utama file (kene: nanolib_example.cpp) lan sunting kode, yen perlu. 2. Pilih Build > Configuration Manager. 3. Ngganti platform solusi Aktif kanggo x64. 4. Konfirmasi liwat Tutup. 5. Pilih Mbangun > Mbangun solusi. 6. Ora salah? Priksa manawa output kompilasi sampeyan laporan kanthi bener:
1>—— Resik diwiwiti: Proyek: NanolibTest, Konfigurasi: Debug x64 —–========== Resik: 1 sukses, 0 gagal, 0 dilewati ==========

Versi: doc 1.4.2 / NanoLib 1.3.0

13

7 Nggawe proyek Linux sampeyan dhewe
7 Nggawe proyek Linux sampeyan dhewe
Nggawe, ngumpulake lan mbukak proyek Linux sampeyan dhewe kanggo nggunakake NanoLib. 1. Ing kit instalasi NanoLib unzipped: Bukak /nanotec_nanolib. 2. Temokake kabeh obyek sing dienggo bareng ing tar.gz file. 3. Pilih salah siji opsi: Instal saben lib salah siji karo Make afile utawa kanthi tangan.
7.1 Instal obyek sing dienggo bareng karo Makefile
Gunakake Makefile karo Linux Bash kanggo otomatis nginstal kabeh standar * .dadi files. 1. Via Bash: Pindhah menyang folder sing ngemot makefile. 2. Nyalin obyek sing dienggo bareng liwat:
sudo nggawe nginstal 3. Konfirmasi liwat:
ldconfig
7.2 Instal obyek sing dienggo bareng kanthi tangan
Gunakake Bash kanggo nginstal kabeh * .dadi files saka NanoLib kanthi manual. 1. Liwat Bash: Nggawe folder anyar ing /usr/local/lib. 2. Hak Admin dibutuhake! Tipe:
sudo mkdir /usr/local/lib/nanotec 3. Ganti menyang folder paket instalasi unzipped. 4. Nyalin kabeh obyek sing dienggo bareng saka folder lib liwat:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Priksa isi folder target liwat:
ls -al /usr/local/lib/nanotec/ 6. Priksa manawa kabeh obyek sing dienggo bareng saka folder lib kadhaptar. 7. Jalanake ldconfig ing folder iki liwat:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Nggawe proyek sampeyan
Kanthi obyek sing dienggo bareng wis diinstal: Gawe proyek anyar kanggo Linux NanoLib sampeyan. 1. Via Bash: Gawe folder proyek anyar (kene: NanoLibTest) liwat:
mkdir NanoLibTest cd NanoLibTest
2. Nyalin header files menyang folder kalebu (kene: inc) liwat: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Nggawe utama file (NanoLibTest.cpp) liwat: #include “accessor_factory.hpp” #include

Versi: doc 1.4.2 / NanoLib 1.3.0

14

7 Nggawe proyek Linux sampeyan dhewe
int main(){nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc:: ResultBusHwIds result = accessor->listAvailableBusHardware();
if(hasil.hasError()) {std::cout<<hasil.getError()<<std::endl; }
else{ std::cout << "Sukses" << std::endl; }
mbusak accessor; bali 0; }
4. Priksa folder proyek kanggo struktur amarga:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Nglumpukake lan nyoba proyek sampeyan
Gawe Linux NanoLib sampeyan siap digunakake liwat Bash.
1. Via Bash: Compile utama file liwat:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Link eksekusi bebarengan liwat:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Jalanake program tes liwat:
./test
4. Priksa manawa Bash sampeyan dilaporake kanthi bener:
sukses

Versi: doc 1.4.2 / NanoLib 1.3.0

15

8 Referensi kelas / fungsi

8 Referensi kelas / fungsi

Temokake ing kene dhaptar kelas antarmuka pangguna NanoLib lan fungsi anggotane. Katrangan khas fungsi kalebu introduksi singkat, definisi fungsi lan dhaptar parameter / bali:

ExampleFunction () Marang sampeyan sedhela apa fungsi.
virtual void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Parameter param_a param_b
Ngasilake ResultVoid

Komentar tambahan yen perlu. Komentar tambahan yen perlu.

8.1 NanoLibAccessor

Kelas antarmuka digunakake minangka titik entri menyang NanoLib. Alur kerja khas katon kaya iki:
1. Mulai kanthi mindhai hardware nganggo NanoLibAccessor.listAvailableBusHardware (). 2. Setel setelan komunikasi nganggo BusHardwareOptions (). 3. Bukak sambungan hardware karo NanoLibAccessor.openBusHardwareWithProtocol (). 4. Pindai bis kanggo piranti sing disambungake karo NanoLibAccessor.scanDevices (). 5. Tambah piranti karo NanoLibAccessor.addDevice (). 6. Sambungake menyang piranti karo NanoLibAccessor.connectDevice (). 7. Sawise rampung operasi, pedhot piranti karo NanoLibAccessor.disconnectDevice (). 8. Copot piranti karo NanoLibAccessor.removeDevice (). 9. Nutup sambungan hardware karo NanoLibAccessor.closeBusHardware ().
NanoLibAccessor nduweni fungsi anggota umum ing ngisor iki:

listAvailableBusHardware () Gunakake fungsi iki kanggo dhaptar hardware fieldbus kasedhiya.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Ngasilake ResultBusHwIds

Ngirim larik ID fieldbus.

openBusHardwareWithProtocol () Gunakake fungsi iki kanggo nyambungake hardware bis.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parameter busHwId busHwOpt
Ngasilake ResultVoid

Nemtokake fieldbus kanggo mbukak. Nemtokake opsi mbukak fieldbus. Konfirmasi yen fungsi void wis mlaku.

isBusHardwareOpen () Gunakake fungsi iki kanggo mriksa apa sambungan hardware fieldbus mbukak.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Versi: doc 1.4.2 / NanoLib 1.3.0

16

8 Referensi kelas / fungsi

Parameter BusHardwareId Ngasilake bener
palsu

Nemtokake saben fieldbus kanggo mbukak. Hardware mbukak. Hardware ditutup.

getProtocolSpecificAccessor () Gunakake fungsi iki kanggo njaluk obyek accessor khusus protokol.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parameter busHwId ngasilake ResultVoid

Nemtokake fieldbus kanggo njaluk accessor kanggo. Konfirmasi yen fungsi void wis mlaku.

getProfinetDCP () Gunakake fungsi iki kanggo bali referensi kanggo antarmuka Profinet DCP.
virtual ProfinetDCP & getProfinetDCP ()

Ngasilake ProfinetDCP

entukSamplerInterface () Gunakake fungsi iki kanggo njaluk referensi kanggo sampantarmuka ler.
virtual SamplerInterface & getSamplerInterface ()

Wangsul SamplerInterface

Nuduhake sampkelas antarmuka ler.

setBusState () Gunakake fungsi iki kanggo nyetel status bus-protokol-tartamtu.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parameter busHwId negara
Ngasilake ResultVoid

Nemtokake fieldbus kanggo mbukak. Nemtokake negara khusus bus minangka nilai string. Konfirmasi yen fungsi void wis mlaku.

scanDevices () Gunakake fungsi iki kanggo mindhai piranti ing jaringan.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)

Parameter busHwId callback
Ngasilake ResultDeviceIds IOError

Nemtokake fieldbus sing bakal dipindai. NlcScanBusCallback tracer kemajuan. Ngirim larik ID piranti. Ngandhani manawa piranti ora ditemokake.

Versi: doc 1.4.2 / NanoLib 1.3.0

17

8 Referensi kelas / fungsi

addDevice ()
Gunakake fungsi iki kanggo nambah piranti bis diterangake dening deviceId kanggo dhaptar piranti internal NanoLib, lan bali deviceHandle kanggo.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parameter deviceId ngasilake ResultDeviceHandle

Nemtokake piranti kanggo ditambahake menyang dhaptar. Ngirim gagang piranti.

connectDevice () Gunakake fungsi iki kanggo nyambungake piranti dening deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultVoid
IOError

Nemtokake piranti bis apa sing disambungake NanoLib. Konfirmasi yen fungsi void wis mlaku. Ngandhani manawa piranti ora ditemokake.

getDeviceName () Gunakake fungsi iki kanggo njaluk jeneng piranti dening deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultString

Nemtokake jeneng piranti bis NanoLib. Ngirim jeneng piranti minangka senar.

getDeviceProductCode () Gunakake fungsi iki kanggo njupuk kode produk piranti dening deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt

Nemtokake apa piranti bis NanoLib entuk kode produk. Ngirim kode produk minangka integer.

getDeviceVendorId () Gunakake fungsi iki kanggo njaluk ID vendor piranti dening deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt
Sumber Daya Ora kasedhiya

Nemtokake apa piranti bis NanoLib entuk ID vendor. Ngirim ID vendor minangka integer. Ngandhani manawa ora ana data sing ditemokake.

Versi: doc 1.4.2 / NanoLib 1.3.0

18

8 Referensi kelas / fungsi

getDeviceId () Gunakake fungsi iki kanggo njaluk ID piranti tartamtu saka dhaftar internal NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parameter deviceHandle ngasilake ResultDeviceId

Nemtokake apa piranti bis NanoLib entuk ID piranti. Ngirim ID piranti.

getDeviceIds () Gunakake fungsi iki kanggo njupuk ID kabeh piranti saka dhaptar internal NanoLib.
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Ngasilake ResultDeviceIds

Ngirim dhaptar ID piranti.

getDeviceUid () Gunakake fungsi iki kanggo entuk ID unik piranti (96 bit / 12 byte) dening deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parameter deviceHandle ngasilake ResultArrayByte
Sumber Daya Ora kasedhiya

Nemtokake apa piranti bis NanoLib entuk ID unik. Ngirim ID unik minangka array byte. Ngandhani manawa ora ana data sing ditemokake.

getDeviceSerialNumber () Gunakake fungsi iki kanggo njaluk nomer serial piranti dening deviceHandle.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultString
Sumber Daya Ora kasedhiya

Nemtokake apa piranti bis NanoLib entuk nomer seri. Ngirim nomer serial minangka senar. Ngandhani manawa ora ana data sing ditemokake.

getDeviceHardwareGroup () Gunakake fungsi iki kanggo njaluk klompok hardware piranti bis dening deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt

Nemtokake apa piranti bis NanoLib entuk grup hardware.
Ngirim grup hardware minangka integer.

getDeviceHardwareVersion () Gunakake fungsi iki kanggo njaluk versi hardware piranti bis dening deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Versi: doc 1.4.2 / NanoLib 1.3.0

19

8 Referensi kelas / fungsi

Parameter deviceHandle

wangsul

ResultString ResourceUnavailable

Nemtokake apa piranti bis NanoLib entuk versi hardware. Ngirim jeneng piranti minangka senar. Ngandhani manawa ora ana data sing ditemokake.

getDeviceFirmwareBuildId () Gunakake fungsi iki kanggo njaluk ID mbangun perangkat kukuh bus piranti dening deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultString

Nemtokake piranti bis apa NanoLib entuk ID mbangun perangkat kukuh.
Ngirim jeneng piranti minangka senar.

getDeviceBootloaderVersion () Gunakake fungsi iki kanggo njaluk versi bootloader piranti bis dening deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parameter deviceHandle

wangsul

ResultInt ResourceUnavailable

Nemtokake apa piranti bis NanoLib entuk versi bootloader. Ngirim versi bootloader minangka integer. Ngandhani manawa ora ana data sing ditemokake.

getDeviceBootloaderBuildId () Gunakake fungsi iki kanggo njaluk ID mbangun bootloader piranti bis dening deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultString

Nemtokake piranti bis apa NanoLib entuk ID mbangun bootloader.
Ngirim jeneng piranti minangka senar.

rebootDevice () Gunakake fungsi iki kanggo urip maneh piranti dening deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parameter deviceHandle Returns ResultVoid

Nemtokake fieldbus kanggo urip maneh. Konfirmasi yen fungsi void wis mlaku.

getDeviceState () Gunakake fungsi iki kanggo njaluk status piranti-protokol-tartamtu.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parameter deviceHandle

Nemtokake apa piranti bis NanoLib nemu negara kanggo.

Versi: doc 1.4.2 / NanoLib 1.3.0

20

8 Referensi kelas / fungsi

Ngasilake ResultString

Ngirim jeneng piranti minangka senar.

setDeviceState () Gunakake fungsi iki kanggo nyetel status piranti-protokol-tartamtu.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parameter deviceHandle state
Ngasilake ResultVoid

Nemtokake apa piranti bis NanoLib nyetel negara kanggo. Nemtokake negara khusus bus minangka nilai senar. Konfirmasi yen fungsi void wis mlaku.

getConnectionState ()
Gunakake fungsi iki kanggo entuk status sambungan pungkasan sing dikawruhi piranti tartamtu kanthi deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultConnectionState

Nemtokake apa piranti bis NanoLib nemu negara sambungan.
Ngirim negara sambungan (= Pedhot, Disambungake, ConnectedBootloader).

checkConnectionState ()
Mung yen negara pungkasan sing dikenal ora Pedhot: Gunakake fungsi iki kanggo mriksa lan bisa nganyari status sambungan piranti tartamtu dening deviceHandle lan nyoba sawetara operasi khusus mode.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultConnectionState

Nemtokake apa piranti bis NanoLib mriksa negara sambungan.
Ngirim negara sambungan (= ora Pedhot).

assignObjectDictionary () Gunakake fungsi manual iki kanggo nemtokake kamus obyek (OD) kanggo deviceHandle dhewe.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parameter deviceHandle objectDictionary
Ngasilake ResultObjectDictionary

Nemtokake apa piranti bis NanoLib nemtokake OD kanggo. Nuduhake sifat kamus obyek.

autoAssignObjectDictionary ()
Gunakake otomatis iki supaya NanoLib nemtokake kamus obyek (OD) kanggo deviceHandle. Nalika nemokake lan ngemot OD sing cocog, NanoLib kanthi otomatis nemtokake piranti kasebut. Cathetan: Yen OD sing kompatibel wis dimuat ing perpustakaan obyek, NanoLib bakal nggunakake kanthi otomatis tanpa mindhai direktori sing dikirim.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Versi: doc 1.4.2 / NanoLib 1.3.0

21

8 Referensi kelas / fungsi

Parameter deviceHandle

wangsul

kamusLocationPath ResultObjectDictionary

Nemtokake piranti bis sing NanoLib bakal mindai otomatis kanggo OD sing cocog. Nemtokake path menyang direktori OD. Nuduhake sifat kamus obyek.

getAsignedObjectDictionary ()
Gunakake fungsi iki kanggo entuk kamus obyek sing ditugasake menyang piranti dening deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const piranti
nangani)

Parameter deviceHandle ngasilake ResultObjectDictionary

Nemtokake apa piranti bis NanoLib njaluk OD diutus kanggo. Nuduhake sifat kamus obyek.

getObjectDictionaryLibrary () Fungsi iki ngasilake referensi OdLibrary.
virtual OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Ngasilake OdLibrary&

Mbukak kabeh perpustakaan OD lan kamus obyek.

setLoggingLevel () Gunakake fungsi iki kanggo nyetel rincian log sing dibutuhake (lan log file ukuran). Tingkat standar yaiku Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (LogLevel level)

Parameter level

Rincian log ing ngisor iki bisa uga:

0 = Trace 1 = Debug 2 = Info 3 = Warning 4 = Error 5 = Kritis 6 = Off

Tingkat paling ngisor (log paling gedhe file); log sembarang rinci layak, plus software wiwitan / mungkasi. Log informasi debug (= asil interim, isi dikirim utawa ditampa, etc.) Default tingkat; log pesen informasi. Log masalah sing kedadeyan nanging ora bakal mungkasi algoritma saiki. Log mung masalah abot sing mungkasi algoritma. Tingkat paling dhuwur (log paling cilik file); mateni log; ora log maneh ing kabeh. Ora logging babar pisan.

setLoggingCallback ()
Gunakake fungsi iki kanggo nyetel pointer callback log lan modul log (= perpustakaan) kanggo callback kasebut (ora kanggo logger dhewe).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)

Parameter *log panggilan balikModul

Nyetel pointer callback. Tunes callback (ora logger!) menyang perpustakaan sampeyan.

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

Ngaktifake callback mung kanggo inti NanoLib. Ngaktifake callback mung CANopen. Ngaktifake callback mung Modbus. Ngaktifake callback mung EtherCAT.

Versi: doc 1.4.2 / NanoLib 1.3.0

22

8 Referensi kelas / fungsi

4 = NanolibRest 5 = NanolibUSB

Ngaktifake callback mung REST. Ngaktifake callback mung USB.

unsetLoggingCallback () Gunakake fungsi iki kanggo mbatalake pointer callback log.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Gunakake fungsi iki kanggo maca angka saka kamus obyek.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Ngasilake ResultInt

Nemtokake saka piranti bis sing diwaca NanoLib. Nemtokake indeks (sub-) kanggo diwaca. Ngirim nilai numerik uninterpreted (bisa mlebu, unsigned, fix16.16 nilai bit).

readNumberArray () Gunakake fungsi iki kanggo maca susunan angka saka kamus obyek.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t indeks)

Parameter deviceHandle index
Ngasilake ResultArrayInt

Nemtokake saka piranti bis sing diwaca NanoLib. Indeks obyek array. Ngirim array integer.

readBytes () Gunakake fungsi iki kanggo maca bita kawenangan (data obyek domain) saka kamus obyek.
virtual ResultArrayByte nlc :: NanoLibAccessor :: readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Ngasilake ResultArrayByte

Nemtokake saka piranti bis sing diwaca NanoLib. Nemtokake indeks (sub-) kanggo diwaca. Ngirim array byte.

readString () Gunakake fungsi iki kanggo maca strings saka direktori obyek.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Ngasilake ResultString

Nemtokake saka piranti bis sing diwaca NanoLib. Nemtokake indeks (sub-) kanggo diwaca. Ngirim jeneng piranti minangka senar.

Versi: doc 1.4.2 / NanoLib 1.3.0

23

8 Referensi kelas / fungsi

writeNumber () Gunakake fungsi iki kanggo nulis angka kanggo direktori obyek.
virtual ResultVoid nlc :: NanoLibAccessor :: writeNumber (const DeviceHandle deviceHandle, nilai int64_t, const OdIndex odIndex, unsigned int bitLength)

Nilai piranti Parameter odIndex bitLength
Ngasilake ResultVoid

Nemtokake apa piranti bis NanoLib nulis kanggo. Nilai uninterpreted (bisa mlebu, unsigned, fix 16.16). Nemtokake indeks (sub-) kanggo diwaca. Dawane ing bit. Konfirmasi yen fungsi void wis mlaku.

writeBytes () Gunakake fungsi iki kanggo nulis byte kasepakatan (data obyek domain) menyang direktori obyek.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vektor & data, const OdIndex odIndex)

Parameter pirantiNangani data odIndex
Ngasilake ResultVoid

Nemtokake apa piranti bis NanoLib nulis kanggo. Vektor byte / array. Nemtokake indeks (sub-) kanggo diwaca. Konfirmasi yen fungsi void wis mlaku.

uploadFirmware ()
Gunakake fungsi iki kanggo nganyari perangkat kukuh controller.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vektor & fwData, NlcDataTransferCallback* callback)

Parameter pirantiNangani fwData NlcDataTransferCallback
Ngasilake ResultVoid

Nemtokake apa piranti bis nganyari NanoLib. Array ngemot data firmware. Pelacak kemajuan data. Konfirmasi yen fungsi void wis mlaku.

uploadFirmwareFromFile ()
Gunakake fungsi iki kanggo nganyari perangkat kukuh controller dening upload sawijining file.
virtual ResultVoid nlc :: NanoLibAccessor :: uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std :: string & absoluteFilePath, NlcDataTransferCallback* callback)

Parameter deviceHandle absoluteFilePath NlcDataTransferCallback
Ngasilake ResultVoid

Nemtokake apa piranti bis nganyari NanoLib. Path menyang file ngemot data firmware (std :: string). Pelacak kemajuan data. Konfirmasi yen fungsi void wis mlaku.

Versi: doc 1.4.2 / NanoLib 1.3.0

24

8 Referensi kelas / fungsi

uploadBootloader ()
Gunakake fungsi iki kanggo nganyari bootloader controller.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vektor & btData, NlcDataTransferCallback* callback)

Parameter deviceHandle btData NlcDataTransferCallback
Ngasilake ResultVoid

Nemtokake apa piranti bis nganyari NanoLib. Array ngemot data bootloader. Pelacak kemajuan data. Konfirmasi yen fungsi void wis mlaku.

uploadBootloaderFromFile ()
Gunakake fungsi iki kanggo nganyari bootloader controller dening upload sawijining file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std :: string & bootloaderAbsoluteFilePath, NlcDataTransferCallback* callback)

Parameter pirantiNangani bootloaderAbsoluteFilePath NlcDataTransferCallback
Ngasilake ResultVoid

Nemtokake apa piranti bis nganyari NanoLib. Path menyang file ngemot data bootloader (std::string). Pelacak kemajuan data. Konfirmasi yen fungsi void wis mlaku.

uploadBootloaderFirmware ()
Gunakake fungsi iki kanggo nganyari bootloader controller lan perangkat kukuh.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vektor & btData, const std::vektor & fwData, NlcDataTransferCallback* callback)

Parameter pirantiNangani btData fwData NlcDataTransferCallback
Ngasilake ResultVoid

Nemtokake apa piranti bis nganyari NanoLib. Array ngemot data bootloader. Array ngemot data firmware. Pelacak kemajuan data. Konfirmasi yen fungsi void wis mlaku.

uploadBootloaderFirmwareFromFile ()
Gunakake fungsi iki kanggo nganyari bootloader controller lan perangkat kukuh kanthi ngunggah file files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std :: string & bootloaderAbsoluteFilePath, const std::string & absoluteFilePath, NlcDataTransferCallback* callback)

Parameter pirantiNangani bootloaderAbsoluteFilePath mutlakFilePath NlcDataTransferCallback
Ngasilake ResultVoid

Nemtokake apa piranti bis nganyari NanoLib. Path menyang file ngemot data bootloader (std::string). Path menyang file ngemot data perangkat kukuh (uint8_t). Pelacak kemajuan data. Konfirmasi yen fungsi void wis mlaku.

Versi: doc 1.4.2 / NanoLib 1.3.0

25

8 Referensi kelas / fungsi

uploadNanoJ ()
Gunakake fungsi umum iki kanggo ngunggah program NanoJ menyang controller.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vektor const & vmmData, NlcDataTransferCallback* callback)

Parameter deviceHandle vmmData NlcDataTransferCallback
Ngasilake ResultVoid

Nemtokake piranti bis sing diunggahake NanoLib. Array ngemot data NanoJ. Pelacak kemajuan data. Konfirmasi yen fungsi void wis mlaku.

uploadNanoJFromFile ()
Gunakake fungsi umum iki kanggo ngunggah program NanoJ menyang controller kanthi ngunggah file.
virtual ResultVoid nlc :: NanoLibAccessor :: uploadNanoJFromFile (const DeviceHandle deviceHandle, const std :: string & absoluteFilePath, NlcDataTransferCallback* callback)

Parameter deviceHandle absoluteFilePath NlcDataTransferCallback
Ngasilake ResultVoid

Nemtokake piranti bis sing diunggahake NanoLib. Path menyang file ngemot data NanoJ (std::string). Pelacak kemajuan data. Konfirmasi yen fungsi void wis mlaku.

disconnectDevice () Gunakake fungsi iki kanggo medhot piranti dening deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultVoid

Nemtokake apa piranti bis NanoLib pedhot saka. Konfirmasi yen fungsi void wis mlaku.

removeDevice () Gunakake fungsi iki kanggo mbusak piranti saka dhaptar piranti internal NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Parameter deviceHandle Returns ResultVoid

Nemtokake apa piranti bis NanoLib delist. Konfirmasi yen fungsi void wis mlaku.

closeBusHardware () Gunakake fungsi iki kanggo medhot saka hardware fieldbus.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parameter busHwId ngasilake ResultVoid

Nemtokake fieldbus kanggo medhot saka. Konfirmasi yen fungsi void wis mlaku.

Versi: doc 1.4.2 / NanoLib 1.3.0

26

8 Referensi kelas / fungsi

8.2 BusHardwareId
Gunakake kelas iki kanggo ngenali hardware bis siji-kanggo-siji utawa kanggo mbedakake hardware bis beda saka saben liyane. Kelas iki (tanpa fungsi setter ora bisa diganti wiwit digawe) uga ngemot informasi babagan:
Hardware (= jeneng adaptor, adaptor jaringan etc.) Protokol kanggo nggunakake (= Modbus TCP, CANopen etc.) Specifier hardware Bus (= jeneng port serial, jeneng MAC Friendly
alamat lsp)

BusHardwareId () [1/3] Konstruktor sing nggawe obyek ID hardware bus anyar.
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 hardware (= ZK-USB-CAN-1 dll.). protokol komunikasi bus (= CANopen etc.). Specifier saka hardware (= COM3 etc.). Specifier ekstra saka hardware (sebutake, info lokasi USB). A jeneng loropaken (= AdapterName (Port) etc.).

BusHardwareId () [2/3] Konstruktor sing nggawe obyek ID hardware bis anyar, karo pilihan kanggo speicifier hardware ekstra.
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 hardware (= ZK-USB-CAN-1 dll.). protokol komunikasi bus (= CANopen etc.). Specifier saka hardware (= COM3 etc.). Specifier ekstra saka hardware (sebutake, info lokasi USB). A jeneng loropaken (= AdapterName (Port) etc.).

BusHardwareId () [3/3] Konstruktor sing nyalin busHardwareId sing ana.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parameter busHardwareId

Jeneng ID hardware bis kanggo nyalin saka.

witjaksono () Mbandhingaké ID hardware bis anyar kanggo ana.
bool nlc::BusHardwareId::padha (BusHardwareId const & other) const

Parameter liyane Ngasilake bener

Objek liyane saka kelas sing padha. Yen loro padha ing kabeh nilai.

Versi: doc 1.4.2 / NanoLib 1.3.0

27

8 Referensi kelas / fungsi

palsu

Yen nilai beda.

getBusHardware () Waca senar hardware bus.
std::string nlc::BusHardwareId::getBusHardware () const

Ngasilake string

getHardwareSpecifier () Maca metu string specifier hardware bus (= jeneng jaringan etc.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Ngasilake string

getExtraHardwareSpecifier () Maca metu bus ekstra hardware kang specifier string (= alamat MAC etc.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Ngasilake string

getName () Waca jeneng loropaken hardware bis.
std::string nlc::BusHardwareId::getName () const

Ngasilake string

getProtocol () Maca metu string protokol bus.
std::string nlc::BusHardwareId::getProtocol () const

Ngasilake string

toString () Ngasilake ID hardware bus minangka senar.
std::string nlc::BusHardwareId::toString () const

Ngasilake string
8.3 BusHardwareOptions
Golek ing kelas iki, ing dhaftar kunci-nilai strings, kabeh opsi needed kanggo mbukak hardware bis.

Versi: doc 1.4.2 / NanoLib 1.3.0

28

8 Referensi kelas / fungsi

BusHardwareOptions () [1/2] Mbangun obyek pilihan hardware bus anyar.
nlc::BusHardwareOptions::BusHardwareOptions () Gunakake fungsi addOption () kanggo nambah pasangan kunci-nilai.

BusHardwareOptions () [2/2] Mbangun obyek pilihan hardware bus anyar karo peta kunci-nilai wis ana.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & pilihan)

Pilihan parameter

A map karo opsi kanggo hardware bis operate.

addOption () Nggawe tombol lan nilai tambahan.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Nilai kunci parameter

Example: BAUD_RATE_OPTIONS_NAME, deleng bus_hw_options_ defaults
Example: BAUD_RATE_1000K, ndeleng bus_hw_options_defaults

padha karo () Mbandhingake BusHardwareOptions karo sing wis ana.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & other) const

Parameter liyane Ngasilake bener
palsu

Objek liyane saka kelas sing padha. Yen obyek liyane duwe kabeh opsi sing padha. Yen obyek liyane nduweni tombol utawa nilai sing beda.

getOptions () Waca kabeh pasangan nilai kunci sing ditambahake.
std::peta nlc::BusHardwareOptions::getOptions () const

Ngasilake peta string

toString () Ngasilake kabeh tombol / nilai minangka string.
std::string nlc::BusHardwareId::toString () const

Ngasilake string
8.4 BusHwOptionsDefault
Kelas opsi konfigurasi standar iki nduweni atribut umum ing ngisor iki:

Versi: doc 1.4.2 / NanoLib 1.3.0

29

8 Referensi kelas / fungsi

const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Struktur sing ngemot baudrates bus CAN ing atribut umum ing ngisor iki:

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_100K” = “100_50K BAUD_RATE_50K” E_20K = "20k" BAUD_RATE_10K = "10k" BAUD_RATE_5K = "5k"

8.6 CanBus

Kelas opsi konfigurasi standar kanthi atribut umum ing ngisor iki:

const std :: string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = "bisa adaptor baud rate" baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Kanggo layanan NMT, struktur iki ngemot negara CANopen NMT minangka nilai string ing atribut umum ing ngisor iki:

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

START = "MULAI" STOP = "STOP" PRE_OPERATIONAL = "PRE_OPERATIONAL" RESET = "RESET" RESET_COMMUNICATION = "RESET_COMMUNICATION"

8.8 CanOpenNmtState

Struktur iki ngemot negara CANopen NMT minangka nilai string ing atribut umum ing ngisor iki:

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

STOPPED = "STOP" PRE_OPERATIONAL = "PRE_OPERATIONAL" OPERASIONAL = "OPERASIONAL" INISIALISASI = "INISIALISASI" UNKNOWN = "UNKNOWN"

8.9 Struktur EtherCATBus

Struktur iki ngemot opsi konfigurasi komunikasi EtherCAT ing atribut umum ing ngisor iki:

Versi: doc 1.4.2 / NanoLib 1.3.0

30

8 Referensi kelas / fungsi

const std :: string NETWORK_FIRMWARE_STATE_OP- Status jaringan dianggep minangka mode firmware. Ditrima

TION_NAME = "Status Firmware Jaringan"

nilai (standar = 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- Wektu entek ing milidetik kanggo entuk kunci eksklusif ing

TION_NAME = "Wektu wektu kunci bareng"

jaringan (standar = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_LOCK_TIMEOUT = "500"

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Wektu entek ing milidetik kanggo entuk kunci bareng

NAME = "Wektu wektu kunci bareng"

jaringan (standar = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = "250"

const std::string READ_TIMEOUT_OPTION_NAME = Wektu entek ing milidetik kanggo operasi maca (standar

"Waca wektu entek"

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = "700"

const std::string WRITE_TIMEOUT_OPTION_NAME = Wektu entek ing milidetik kanggo operasi nulis (standar

"Tulis wektu entek"

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = "200"

const std::string READ_WRITE_ATTEMPTS_OPTION_ Upaya maca utawa nulis maksimal (nilai non-nol

NAMA = "Coba Maca/Tulis"

mung; standar = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = "5"

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "Ngganti Usaha Negara Jaringan"

Jumlah maksimal upaya kanggo ngowahi status jaringan (mung nilai non-nol; standar = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"

const std::string PDO_IO_ENABLED_OPTION_NAME Ngaktifake utawa mateni pangolahan PDO kanggo digital in- /

= "PDO IO Diaktifake"

output ("Bener" utawa "Palsu" mung; standar = "Bener").

const std::string DEFAULT_PDO_IO_ENABLED = "Bener"

8.10 Struktur EtherCATState

Struktur iki ngemot budak / jaringan EtherCAT minangka nilai senar ing atribut umum ing ngisor iki. Cathetan: Status standar nalika diuripake yaiku PRE_OPERATIONAL; NanoLib ora bisa nyedhiyakake status "OPERASI" sing bisa dipercaya ing sistem operasi non-nyata:

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

NONE = "NONE" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" OPERATIONAL = "OPERASIONAL"

Versi: doc 1.4.2 / NanoLib 1.3.0

31

8 Referensi kelas / fungsi

8.11 Ixxat

Struktur iki ngemot kabeh informasi kanggo Ixxat usb-to-can ing atribut umum ing ngisor iki:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "nomer bus adaptor ixxat"

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Struktur iki ngemot nomer bis kanggo Ixxat usb-to-can ing atribut umum ing ngisor iki:

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 iki ngemot kabeh informasi kanggo Peak usb-to-can ing atribut umum ing ngisor iki:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "nomer bus adaptor puncak"

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Struktur iki ngemot nomer bus kanggo Peak usb-to-can ing atribut umum ing ngisor iki:

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 = std::to_BBUS (9PCAN_USBBUS9) std::to_string (PCAN_USBBUS10) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS13:13) = (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS16)

8.15 Piranti
Kelas iki nggantosi gagang kanggo kontrol piranti ing bis lan nduweni fungsi anggota umum ing ngisor iki.

DeviceHandle () DeviceHandle (uint32_t handle)

Versi: doc 1.4.2 / NanoLib 1.3.0

32

8 Referensi kelas / fungsi

witjaksono () Dibandhingake dhewe kanggo nangani piranti diwenehi.
bool padha karo (DeviceHandle const liyane) const (uint32_t nangani)

toString () Ngasilake perwakilan senar saka gagang piranti.
std::string toString () const

njaluk () Ngasilake nangani piranti.
uint32_t njaluk () const

8.16 Piranti
Gunakake kelas iki (ora bisa diganti wiwit nggawe) kanggo ngenali lan mbedakake piranti ing bis:

Pengenal adaptor hardware

Pengenal piranti

Katrangan

Makna nilai ID piranti / deskripsi gumantung ing bis. Kanggo example, bis CAN bisa nggunakake ID integer.

DeviceId () [1/3] Mbangun obyek ID piranti anyar.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

Parameter busHardwareId_ deviceId_ description_

Identifier saka bis. Indeks; tundhuk bus (= CANopen node ID etc.). Katrangan (bisa uga kosong); tundhuk bis.

DeviceId () [2/3] Nggawe obyek ID piranti anyar kanthi opsi ID lengkap.
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_

Identifier saka bis. Indeks; tundhuk bus (= CANopen node ID etc.). Katrangan (bisa uga kosong); tundhuk bis. ID tambahan (bisa uga kosong); tegese gumantung bis. ID string tambahan (bisa uga kosong); tegese gumantung bis.

DeviceId () [3/3] Nggawe salinan obyek ID piranti.
nlc::DeviceId::DeviceId (DeviceId const &)

Versi: doc 1.4.2 / NanoLib 1.3.0

33

8 Referensi kelas / fungsi

Parameter deviceId_

ID piranti kanggo nyalin saka.

witjaksono () Mbandhingaké anyar kanggo obyek ana.
bool nlc :: DeviceId :: padha karo (DeviceId const & liyane) const

Ngasilake boolean

getBusHardwareId () Waca ID hardware bis.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Ngasilake BusHardwareId

getDescription () Waca katrangan piranti (bisa uga ora digunakake).
std::string nlc::DeviceId::getDescription () const

Ngasilake string

getDeviceId () Waca ID piranti (bisa uga ora digunakake).
unsigned int nlc::DeviceId::getDeviceId () const

Ngasilake unsigned int

toString () Ngasilake obyek minangka senar.
std::string nlc::DeviceId::toString () const

Ngasilake string

getExtraId () Waca ID ekstra piranti (bisa uga ora digunakake).
const std::vektor &getExtraId () const

Vektor bali

Vektor saka ID ekstra tambahan (bisa kosong); tegese gumantung ing bis.

getExtraStringId () Waca ID senar ekstra saka piranti (bisa uga ora digunakake).
std:: string getExtraStringId () const

Versi: doc 1.4.2 / NanoLib 1.3.0

34

8 Referensi kelas / fungsi

Ngasilake string

ID string tambahan (bisa uga kosong); tegese gumantung ing bis.

8.17 LogLevelConverter

Kelas iki ngasilake level log sampeyan minangka string. statis std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Kelas iki ngasilake log modulesetLoggingLevel () khusus perpustakaan minangka string.

statis std::string

toString (nlc::LogModule logModule)

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

8.19 Kamus Objek
Kelas iki nggambarake kamus obyek saka pengontrol lan nduweni fungsi anggota umum ing ngisor iki: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Returns ResultDeviceHandle

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

getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t index)

Ngasilake ResultObjectEntry

Informasi babagan sifat obyek.

njalukXmlFileJeneng () virtual ResultString getXmlFileJeneng () const

Ngasilake ResultString

Ngasilake XML file jeneng minangka senar.

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

Versi: doc 1.4.2 / NanoLib 1.3.0

35

8 Referensi kelas / fungsi
Ngasilake ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) Ngasilake ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Ngasilake ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, nilai const odIndex) writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vektor
const & data) Ngasilake ResultVoid Related Links OdIndex
8.20 Entri Obyek
Kelas iki nggambarake entri obyek saka kamus obyek, nduweni atribut sing dilindhungi statis lan fungsi anggota umum:
statis nlc :: ObjectSubEntry invalidObject
getName () Waca jeneng obyek minangka senar.
virtual std:: string getName () const
getPrivate () Priksa manawa obyek kasebut pribadi.
virtual bool getPrivate () const
getIndex () Waca alamat indeks obyek.
virtual uint16_t getIndex () const

Versi: doc 1.4.2 / NanoLib 1.3.0

36

8 Referensi kelas / fungsi

getDataType () Waca jinis data obyek.
virtual nlc :: ObjectEntryDataType getDataType () const

getObjectCode () Waca kode obyek:

Null Deftype Defstruct Var Array Record

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

virtual nlc :: ObjectCode getObjectCode () const

getObjectSaveable () Priksa manawa obyek kasebut bisa disimpen lan kategori kasebut (pirsani manual produk kanggo rincian liyane): APLIKASI, KOMUNIKASI, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, PELANGGAN, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc :: ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Waca nomer subindeks sing didhukung obyek iki.
virtual uint8_t getMaxSubIndex () const

getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Deleng uga ObjectSubEntry.
8.21 ObjectSubEntri
Kelas iki nggambarake sub-entri obyek (subindex) saka kamus obyek lan nduweni fungsi anggota umum ing ngisor iki:
getName () Waca jeneng obyek minangka senar.
virtual std:: string getName () const

getSubIndex () Waca alamat subindex.
virtual uint8_t getSubIndex () const

Versi: doc 1.4.2 / NanoLib 1.3.0

37

8 Referensi kelas / fungsi

getDataType () Waca jinis data obyek.
virtual nlc :: ObjectEntryDataType getDataType () const

getSdoAccess () Priksa manawa subindex bisa diakses liwat SDO:

Waca Mung

1

Tulis Mung

2

ReadWrite

3

Ora Akses

0

virtual nlc :: ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Priksa manawa subindex bisa diakses / bisa dipetakan liwat PDO:

Tx

1

Rx

2

TxRx

3

Ora

0

virtual nlc :: ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Priksa dawa subindex.
virtual uint32_t getBitLength () const

getDefaultValueAsNumeric () Waca nilai standar saka subindex kanggo jinis data numerik.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Waca nilai standar saka subindex kanggo jinis data senar.
virtual ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Waca metu nilai gawan saka subindex.
virtual std::map getDefaultValues ​​() const

Versi: doc 1.4.2 / NanoLib 1.3.0

38

8 Referensi kelas / fungsi

readNumber () Waca angka nyata saka subindex.
virtual ResultInt readNumber () const

readString () Waca senar nilai aktual saka subindex.
virtual ResultString readString () const

readBytes () Waca nilai nyata saka subindex ing bita.
virtual ResultArrayByte readBytes () const

writeNumber () Nulis nilai numerik ing subindex.
virtual ResultVoid writeNumber (nilai const int64_t) const

writeBytes () Nulis nilai ing subindex ing bita.
virtual ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Gunakake kelas iki (ora owah saka nggawe) kanggo mbungkus lan nemokake indeks / sub-indeks direktori obyek. OD piranti duwe nganti 65535 (0xFFFF) larik lan 255 (0xFF) kolom; karo longkangan antarane larik pedhot. Deleng standar CANopen lan manual produk kanggo rincian liyane.
OdIndex () Mbangun obyek OdIndex anyar.
nlc::OdIndex::OdIndex (uint16_t index, uint8_t subIndex)

Parameter indeks subindeks

Saka 0 nganti 65535 (0xFFFF) kalebu. Saka 0 nganti 255 (0xFF) kalebu.

getIndex () Waca indeks (saka 0x0000 kanggo 0xFFFF).
uint16_t nlc :: OdIndex :: getIndex () const

Ngasilake uint16_t

getSubindex () Waca sub-indeks (saka 0x00 nganti 0xFF)
uint8_t nlc :: OdIndex :: getSubIndex () const

Versi: doc 1.4.2 / NanoLib 1.3.0

39

8 Referensi kelas / fungsi

Ngasilake uint8_t

toString () Ngasilake indeks lan subindex minangka string. String standar 0xIIII:0xSS diwaca kaya ing ngisor iki:

I = indeks saka 0x0000 kanggo 0xFFFF

S = sub-indeks saka 0x00 kanggo 0xFF

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

Ngasilake 0xIIII:0xSS

Perwakilan string standar

8.23 Pustaka Od
Gunakake antarmuka pemrograman iki kanggo nggawe conto kelas ObjectDictionary saka XML. Miturut assignObjectDictionary, sampeyan bisa ngiket saben conto menyang piranti tartamtu amarga pengenal sing digawe kanthi unik. Instance ObjectDictionary sing digawe disimpen ing obyek OdLibrary supaya bisa diakses dening indeks. Kelas ODLibrary ngemot item ObjectDictionary saka file utawa array, nyimpen, lan nduweni fungsi anggota umum ing ngisor iki:

getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Ngasilake ResultObjectDictionary

addObjectDictionaryFromFile ()
virtual ResultObjectDictionary addObjectDictionaryFromFile (std:: string const & absoluteXmlFiledalan)

Ngasilake ResultObjectDictionary

addObjectDictionary ()
virtual ResultObjectDictionary addObjectDictionary (std :: vector const & odXmlData, const std:: string & xmlFilePath = std::string ())

Ngasilake ResultObjectDictionary
8.24 OdTypesHelper
Saliyane fungsi anggota umum ing ngisor iki, kelas iki ngemot jinis data khusus. Wigati: Kanggo mriksa jinis data khusus, goleki kelas enum ObjectEntryDataType ing od_types.hpp.

uintToObjectCode () Ngonversi integer sing ora ditandatangani dadi kode obyek:

Null Deftype

0x00 0x05

Versi: doc 1.4.2 / NanoLib 1.3.0

40

8 Referensi kelas / fungsi

Defstruct Var Array Record

0x06 0x07 0x08 0x09

ObjectCode statis uintToObjectCode (unsigned int objectCode)

isNumericDataType () Ngandhani yen jinis data iku numerik utawa ora.
bool statis yaikuNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Ngandhani yen obyek minangka indeks struktur definisi utawa ora.
bool statis yaikuDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Ngandhani yen obyek minangka indeks jinis definisi utawa ora.
bool statis yaikuDeftypeIndex (uint16_t typeNum)

isComplexDataType () Ngandhani yen jinis data rumit utawa ora.
bool statis yaikuComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Ngonversi integer sing ora ditandatangani dadi jinis data OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Ngonversi jinis data OD dadi senar.
statis std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Ngonversi string menyang jinis data OD yen bisa. Yen ora, ngasilake UNKNOWN_DATATYPE.
statis ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Versi: doc 1.4.2 / NanoLib 1.3.0

41

8 Referensi kelas / fungsi

objectEntryDataTypeBitLength () Ngandhani babagan dawa bit saka jinis data entri obyek.
uint32_t statis objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 Struktur RESTfulBus

Struktur iki ngemot opsi konfigurasi komunikasi kanggo antarmuka RESTful (liwat Ethernet). Isine atribut umum ing ngisor iki:

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

CONNECT_TIMEOUT_OPTION_NAME = "Waktu Sambung Ngaso" DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = "Waktu Panjaluk Ngaso" DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = "Waktu Tanggepan Ngaso"

8.26 ProfineDCP
Ing Linux, aplikasi nelpon mbutuhake kapabilitas CAP_NET_ADMIN lan CAP_NET_RAW. Kanggo ngaktifake: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Ing Windows, antarmuka ProfinetDCP nggunakake WinPcap (dites karo versi 4.1.3) utawa Npcap (dites karo versi 1.60 lan 1.30). Mangkono nggoleki perpustakaan wpcap.dll sing dimuat kanthi dinamis kanthi urutan ing ngisor iki (Cathetan: ora ana dhukungan Win10Pcap saiki):
1. Direktori Nanolib.dll 2. Direktori sistem Windows SystemRoot%System32 3. Direktori instalasi Npcap SystemRoot%System32Npcap 4. Lingkungan path
Kelas iki nggambarake antarmuka Profinet DCP lan nduweni fungsi anggota umum ing ngisor iki:

getScanTimeout () Ngandhani wektu entek pindai piranti (standar = 2000 ms).
virtual uint32_t nlc :: ProfinetDCP :: getScanTimeout () const

setScanTimeout () Nyetel wektu entek piranti (standar = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Ngandhani wektu entek respon piranti kanggo operasi persiyapan, reset lan kedhip (standar = 1000 ms).
virtual uint32_t nlc :: ProfinetDCP :: getResponseTimeout () const

setResponseTimeout () Ngandhani wektu entek respon piranti kanggo operasi persiyapan, reset lan kedhip (standar = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Versi: doc 1.4.2 / NanoLib 1.3.0

42

8 Referensi kelas / fungsi

isServiceAvailable ()
Gunakake fungsi iki kanggo mriksa kasedhiyan layanan Profinet DCP.
Validitas adaptor jaringan / kasedhiyan Windows: kasedhiyan WinPcap / Npcap Linux: Kapabilitas CAP_NET_ADMIN / CAP_NET_RAW
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Parameter BusHardwareId Ngasilake bener
palsu

ID Hardware layanan Profinet DCP kanggo mriksa. Layanan kasedhiya. Layanan ora kasedhiya.

scanProfinetDevices () Gunakake fungsi iki kanggo mindai bis hardware kanggo ngarsane piranti Profinet.
virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)

Parameter BusHardwareId ngasilake ResultProfinetDevices

Nemtokake saben fieldbus kanggo mbukak. Hardware mbukak.

setupProfinetDevice () Nggawe setelan piranti ing ngisor iki:

Jeneng piranti

alamat IP

Topeng jaringan

Gapura gawan

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

resetProfinetDevice () Mungkasi piranti lan ngreset menyang standar pabrik.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Mrentah piranti Profinet kanggo miwiti kedhip LED Profinet sawijining.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Gunakake fungsi iki kanggo mriksa alamat IP piranti.
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

Parameter BusHardwareId ProfinetDevice

Nemtokake ID hardware kanggo mriksa. Nemtokake piranti Profinet sing arep divalidasi.

Versi: doc 1.4.2 / NanoLib 1.3.0

43

8 Referensi kelas / fungsi

Ngasilake ResultVoid

8.27 ProfinetDevice struct

Data piranti Profinet nduweni atribut umum ing ngisor iki:

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

Alamat MAC diwenehake minangka array ing format macAddress = {xx, xx, xx, xx, xx, xx}; dene alamat IP, topeng jaringan lan gateway kabeh diinterpretasikake minangka nomer hex endian gedhe, kayata:

Alamat IP: 192.168.0.2 Topeng jaringan: 255.255.0.0 Gateway: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Kelas asil

Gunakake nilai bali "pilihan" saka kelas iki kanggo mriksa yen telpon fungsi wis sukses utawa ora, lan uga nemokake alasan gagal. Nalika sukses, fungsi hasError () ngasilake palsu. Miturut getResult (), sampeyan bisa maca metu Nilai asil minangka saben jinis (ResultInt etc.). Yen telpon gagal, sampeyan maca alesan dening getError ().

Atribut sing dilindhungi

string NlcErrorCode uint32_t

errorString errorCode exErrorCode

Uga, kelas iki nduweni fungsi anggota umum ing ngisor iki:

hasError () Waca metu sukses telpon fungsi.
bool nlc :: Hasil :: hasError () const

wangsul

bener palsu

Telpon gagal. Gunakake getError () kanggo maca nilai kasebut. Telpon sukses. Gunakake getResult () kanggo maca nilai kasebut.

getError () Waca alesan yen telpon fungsi gagal.
const std :: string nlc :: Hasil :: getError () const

Ngasilake string const

Versi: doc 1.4.2 / NanoLib 1.3.0

44

8 Referensi kelas / fungsi
asil () Fungsi ing ngisor iki mbantu nemtokake asil sing tepat:
Hasil (std::string const & errorString_)
Hasil (NlcErrorCode const & errCode, std::string const & errorString_)
Asil (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
Hasil (Konst & Hasil)
getErrorCode () Waca NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 AsilVoid
NanoLib ngirim conto saka kelas iki yen fungsi bali roso sepi. Kelas kasebut marisi fungsi umum lan atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
ResultVoid () Fungsi ing ngisor iki mbantu nemtokake asil void sing 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 & asil asil)
8.28.2 HasilInt
NanoLib ngirim conto kelas iki yen fungsi ngasilake integer. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Ngasilake asil integer yen telpon fungsi wis sukses.
int64_t getResult () const
Ngasilake int64_t

Versi: doc 1.4.2 / NanoLib 1.3.0

45

8 Referensi kelas / fungsi
ResultInt () Fungsi ing ngisor iki mbantu nemtokake asil integer sing 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 (Hasil const & asil)
8.28.3 HasilString
NanoLib ngirim conto kelas iki yen fungsi ngasilake senar. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Waca asil senar yen telpon fungsi wis sukses.
const std :: string nlc :: ResultString :: getResult () const
Ngasilake string const
ResultString () Fungsi ing ngisor iki mbantu nemtokake asil string sing 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 (Hasil const & asil)
8.28.4 ResultArrayByte
NanoLib ngirim conto kelas iki yen fungsi ngasilake array byte. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Waca vektor byte yen telpon fungsi wis sukses.
const std::vektor nlc::ResultArrayByte::getResult () const
Ngasilake const vektor

Versi: doc 1.4.2 / NanoLib 1.3.0

46

8 Referensi kelas / fungsi
ResultArrayByte () Fungsi ing ngisor iki mbantu nemtokake asil array byte sing tepat:
ResultArrayByte (std::vector const & asil_)
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 (Konst & asil asil)
8.28.5 ResultArrayInt
NanoLib ngirim conto kelas iki yen fungsi ngasilake array integer. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Waca vektor integer yen telpon fungsi wis sukses.
const std::vektor nlc::ResultArrayInt::getResult () const
Ngasilake const vektor
ResultArrayInt () Fungsi ing ngisor iki mbantu nemtokake asil array integer sing tepat:
ResultArrayInt (std::vector const & asil_)
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 (Konst & asil asil)
8.28.6 ResultBusHwIds
NanoLib ngirim sampeyan Kayata saka kelas iki yen fungsi ngasilake bis hardware ID Uploaded. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Waca vektor bus-hardware-ID yen telpon fungsi wis sukses.
const std::vektor nlc::ResultBusHwIds::getResult () const
Parameter const vektor

Versi: doc 1.4.2 / NanoLib 1.3.0

47

8 Referensi kelas / fungsi
ResultBusHwIds () Fungsi ing ngisor iki mbantu nemtokake asil bus-hardware-ID-array sing tepat:
ResultBusHwIds (std::vektor const & asil_)
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 & asil asil)
8.28.7 ResultDeviceId
NanoLib ngirim conto kelas iki yen fungsi ngasilake ID piranti. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Waca vektor ID piranti yen telpon fungsi wis sukses.
DeviceId nlc::ResultDeviceId::getResult () const
Ngasilake const vektor
ResultDeviceId () Fungsi ing ngisor iki mbantu nemtokake asil ID piranti sing 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 (Konst & asil asil)
8.28.8 ResultDeviceIds
NanoLib ngirim conto kelas iki yen fungsi ngasilake array ID piranti. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Ngasilake vektor ID piranti yen telpon fungsi wis sukses.
DeviceId nlc::ResultDeviceIds::getResult () const
Ngasilake const vektor

Versi: doc 1.4.2 / NanoLib 1.3.0

48

8 Referensi kelas / fungsi
ResultDeviceIds () Fungsi ing ngisor iki mbantu kanggo nemtokake asil piranti-ID-array sing tepat:
ResultDeviceIds (std::vector const & asil_)
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 & asil asil)
8.28.9 ResultDeviceHandle
NanoLib ngirim sampeyan Kayata saka kelas iki yen fungsi ngasilake Nilai saka nangani piranti. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Maca metu nangani piranti yen telpon fungsi wis sukses.
DeviceHandle nlc :: ResultDeviceHandle :: getResult () const
Ngasilake DeviceHandle
ResultDeviceHandle () Fungsi ing ngisor iki mbantu nemtokake asil gagang piranti sing 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 & asil asil)
8.28.10 ResultObjectDictionary
NanoLib ngirim conto kelas iki yen fungsi ngasilake isi kamus obyek. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Waca vektor ID piranti yen telpon fungsi wis sukses.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Versi: doc 1.4.2 / NanoLib 1.3.0

49

8 Referensi kelas / fungsi

wangsul

vektor const

ResultObjectDictionary () Fungsi ing ngisor iki mbantu nemtokake asil kamus obyek sing 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 (Konst & asil asil)

8.28.11 ResultConnectionState
NanoLib ngirim sampeyan conto saka kelas iki yen fungsi ngasilake informasi piranti-sambungan-negara. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Maca metu nangani piranti yen telpon fungsi wis sukses.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Ngasilake DeviceConnectionStateInfo Disambungake / Disconnected / ConnectedBootloader

ResultConnectionState () Fungsi ing ngisor iki mbantu nemtokake asil negara sambungan sing 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 & asil asil)

8.28.12 ResultObjectEntry
NanoLib ngirim conto kelas iki yen fungsi ngasilake entri obyek. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:

Versi: doc 1.4.2 / NanoLib 1.3.0

50

8 Referensi kelas / fungsi
getResult () Ngasilake vektor ID piranti yen telpon fungsi wis sukses.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Ngasilake const ObjectEntry
ResultObjectEntry () Fungsi ing ngisor iki mbantu nemtokake asil entri obyek sing 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 (Konst & asil asil)
8.28.13 ResultObjectSubEntry
NanoLib ngirim conto kelas iki yen fungsi ngasilake sub-entri obyek. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Ngasilake vektor ID piranti yen telpon fungsi wis sukses.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Ngasilake const ObjectSubEntry
ResultObjectSubEntry () Fungsi ing ngisor iki mbantu nemtokake asil sub-entri obyek sing 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 (Konst & asil asil)
8.28.14 ResultProfinetDevices
NanoLib ngirim conto kelas iki yen fungsi ngasilake piranti Profinet. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:

Versi: doc 1.4.2 / NanoLib 1.3.0

51

8 Referensi kelas / fungsi

getResult () Waca vektor piranti Profinet yen telpon fungsi wis sukses.
const std::vektor & getResult () const

ResultProfinetDevices () Fungsi ing ngisor iki mbantu kanggo nemtokake piranti Profinet sing 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 HasilSampleDataArray
NanoLib ngirim sampeyan Kayata saka kelas iki yen fungsi bali minangkaampdata array. Kelas kasebut marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:
getResult () Maca metu array data yen telpon fungsi wis sukses.
const std::vektor <SampleData> & getResult () const

HasilSampleDataArray () Fungsi ing ngisor iki mbantu kanggo nemtokake piranti Profinet sing tepat.
HasilSampleDataArray (const std::vektor <SampleData> & dataArray)

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

HasilSampleDataArray (const ResultSampleDataArray lan liyane)

HasilSampleDataArray (Const Result & result)

8.28.16 HasilSamplerState
NanoLib ngirim sampeyan Kayata saka kelas iki yen fungsi bali minangkaampler state.Kelas iki marisi fungsi umum / atribut sing dilindhungi saka kelas asil lan nduweni fungsi anggota umum ing ngisor iki:

getResult () Waca sampvektor negara ler yen telpon fungsi wis sukses.
SamplerState getResult () const

Wangsul SamplerState>

Ora dikonfigurasi / Dikonfigurasi / Siap / Mlaku / Rampung / Gagal / Batal

Versi: doc 1.4.2 / NanoLib 1.3.0

52

8 Referensi kelas / fungsi

HasilSamplerState () Fungsi ing ngisor iki mbantu kanggo nemtokake s sing tepatampnegara ler.
HasilSamplerState (const Sampnegara ler)

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

HasilSamplerState (const ResultSampNegara lan liyane)

HasilSamplerState (const Result & result)

8.29 NlcErrorCode

Yen ana sing salah, kelas asil nglaporake salah sawijining kode kesalahan sing kadhaptar ing enumerasi iki.

Kode kesalahan Sukses GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODIInvalidAccess ODTypeMismatch OperationBatal OperasiNotDukungan Ora ValidOperation
Akses Argumen Ora Sah Ditolak Sumber Daya Ora Ditemokake Sumber Daya Ora Ana OutOfMemory TimeOutError

C: Kategori D: Katrangan R: Alesan C: Ora ana. D: Ora salah. R: Operasi rampung kanthi sukses.
C: Ora ditemtokake. D: Kesalahan sing ora ditemtokake. R: Gagal sing ora cocog karo kategori liyane.
C: Bis. D: Bus hardware ora kasedhiya. R: Bus inexistent, cut-off utawa cacat.
C: Komunikasi. D: Komunikasi ora bisa dipercaya. R: Data sing ora dikarepke, CRC salah, kesalahan pigura utawa paritas, lsp.
C: Protokol. D: kesalahan protokol. R: Tanggepan sawise opsi protokol sing ora didhukung, laporan piranti protokol sing ora didhukung, kesalahan ing protokol (umpamane, bit sinkronisasi segmen SDO), lsp. bit sink bagean), etc R: Protokol ora didhukung (pilihan) utawa kesalahan ing protokol (ngomong, SDO bagean sink bit), etc.
C: Kamus obyek. D: alamat OD ora ana. R: Ora ana alamat kasebut ing kamus obyek.
C: Kamus obyek. D: Akses menyang alamat OD ora valid. R: Nyoba nulis alamat mung diwaca, utawa maca saka alamat mung nulis.
C: Kamus obyek. D: Tipe ora cocog. R: Nilai ora diowahi kanggo jinis tartamtu, ngomong, ing upaya kanggo nambani senar minangka nomer.
C: Aplikasi. D: Proses dibatalake. R: Proses dipotong kanthi panyuwunan aplikasi. Ngasilake mung ing interrupt operasi dening fungsi callback, ngomong, saka bus-scanning.
C: Umum. D: Proses ora didhukung. R: Ora bis hardware / support piranti.
C: Umum. D: Proses ora bener ing konteks saiki, utawa ora valid karo argumen saiki. R: Coba nyambungake maneh menyang bus / piranti sing wis disambungake. A nyoba pedhot kanggo sing wis pedhot. A nyoba operasi bootloader ing mode firmware utawa kosok balene.
C: Umum. D: Argumentasi ora sah. R: Logika utawa sintaksis sing salah.
C: Umum. D: Akses ditolak. R: Kurang hak utawa kemampuan kanggo nindakake operasi sing dijaluk.
C: Umum. D: Item sing ditemtokake ora ditemokake. R: Bus hardware, protokol, piranti, alamat OD ing piranti, utawa file ora ketemu.
C: Umum. D: Item sing ditemtokake ora ditemokake. R: sibuk, ora ana, dipotong utawa cacat.
C: Umum. D: memori ora cukup. R: Memori sithik banget kanggo ngolah printah iki.
C: Umum. D: Proses wis entek. R: Bali sawise wektu entek kadaluwarsa. Wektu entek bisa dadi wektu nanggepi piranti, wektu kanggo entuk akses sumber daya sing dienggo bareng utawa eksklusif, utawa wektu kanggo ngalih bis / piranti menyang kahanan sing cocog.

Versi: doc 1.4.2 / NanoLib 1.3.0

53

8 Referensi kelas / fungsi

8.30 NlcCallback
Kelas induk kanggo callback iki nduweni fungsi anggota umum ing ngisor iki: callback ()
virtual ResultVoid callback ()

wangsul

HasilVoid

8.31 NlcDataTransferCallback
Gunakake kelas callback iki kanggo transfer data (nganyari firmware, upload NanoJ etc.). 1. Kanggo upload perangkat kukuh: Netepake "co-kelas" ndawakake siji iki karo cara callback adat
implementasine. 2. Gunakake "co-kelas" kedadean ing NanoLibAccessor.uploadFirmware () telpon. Kelas utama dhewe nduweni fungsi anggota umum ing ngisor iki:

callback () virtual ResultVoid callback (nlc::DataTransferInfo info, data int32_t)

wangsul

HasilVoid

8.32 NlcScanBusCallback
Gunakake kelas callback iki kanggo mindhai bus. 1. Netepake "co-kelas" ndawakake siji iki karo implementasine cara callback adat. 2. Gunakake "co-kelas" kedadean ing NanoLibAccessor.scanDevices () telpon. Kelas utama dhewe nduweni fungsi anggota umum ing ngisor iki.

telpon balik ()
virtual ResultVoid callback (nlc::BusScanInfo info, std::vektor const & devicesFound, data int32_t)

Ngasilake ResultVoid
8.33 NlcLoggingCallback
Gunakake kelas callback iki kanggo log callback. 1. Netepake kelas sing ngluwihi kelas iki kanthi implementasine metode callback adat 2. Gunakake pointer kanggo kedadean kanggo nyetel callback dening NanoLibAccessor >
setLoggingCallback (…).
panggilan balik virtual void (const std :: string & payload_str, const std :: string & formatted_str, const std :: string & logger_name, const unsigned int log_level, const std :: uint64_t time_since_epoch, const size_t thread_id)

8.34 SamplerInterface
Gunakake kelas iki kanggo ngatur, miwiti lan mungkasi sampler, utawa kanggo njaluk sampdata mimpin lan njupuk minangkaampstatus ler utawa kesalahan pungkasan. Kelas kasebut nduweni fungsi anggota umum ing ngisor iki.

Versi: doc 1.4.2 / NanoLib 1.3.0

54

8 Referensi kelas / fungsi

ngatur () Ngatur minangkaampmaca.
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Parameter [ing] deviceHandle [ing] samplerConfiguration
Ngasilake ResultVoid

Nemtokake piranti apa kanggo ngatur sampler kanggo. Nemtokake nilai atribut konfigurasi. Konfirmasi yen fungsi void wis mlaku.

getData () Entuk sampdata sing dipimpin
Hasil virtualSampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parameter [ing] deviceHandle Ngasilake HasilSampleDataArray

Nemtokake piranti kanggo njupuk data.
Ngirim sampdata mimpin, kang bisa dadi Uploaded kosong yen samplerNotify aktif nalika wiwitan.

getLastError () Nemu minangkaampkesalahan pungkasan ler.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Ngasilake ResultVoid

Konfirmasi yen fungsi void wis mlaku.

getState () Nemu minangkaampstatus ler.
Hasil virtualSamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Ngasilake asilSamplerState

Ngirim sampnegara ler.

miwiti () Miwiti minangkaampmaca.
virtual ResultVoid nlc::SamplerInterface:: miwiti (const DeviceHandle deviceHandle, SamplerNotify * samplerNotify, int64_t applicationData)

Parameter [ing] deviceHandle [ing] SamplerNotify [ing] applicationData
Ngasilake ResultVoid

Nemtokake piranti apa kanggo miwiti sampler kanggo.
Nemtokake info opsional sing bakal dilapurake (bisa nullptr).
Opsi: Nerusake data sing gegandhengan karo aplikasi (larik 8-bit sing ditetepake pangguna nilai / ID piranti / indeks, utawa tanggal, penunjuk variabel / fungsi, lsp) menyang samplerNotify.
Konfirmasi yen fungsi void wis mlaku.

Versi: doc 1.4.2 / NanoLib 1.3.0

55

8 Referensi kelas / fungsi

mandeg () Mandheg minangkaampmaca.
virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Parameter [ing] deviceHandle Returns ResultVoid

Nemtokake piranti apa kanggo mungkasi sampler kanggo. Konfirmasi yen fungsi void wis mlaku.

8.35 SampStruktur lerConfiguration

Struktur iki ngemot data sampopsi konfigurasi ler kang (statis utawa ora).

Atribut umum

std::vektor dilacakAlamat

Nganti 12 alamat OD dadi sampdipimpin

uint32_t

versi

Versi struktur.

uint32_t

durasiMilliseconds

Sampdurasi ling ing ms, saka 1 nganti 65535

uint16_t

wektuMilliseconds

Sampperiode ling ing ms.

uint16_t

nomerOfSamples

Sampjumlah kurang.

uint16_t

preTriggerNumberOfSamples

Samples pre-trigger jumlah.

bool

nggunakakeSoftwareImplementation

Gunakake implementasine piranti lunak.

bool

nggunakakeNewFWSamplerImplementation Gunakake implementasi FW kanggo piranti karo a

FW versi v24xx utawa luwih anyar.

SamplerMode

modus

Normal, bola-bali utawa terus-terusan sampling

SamplerTriggerCondition triggerCondition

Kondisi pemicu wiwitan: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE_TOGGLE = 0x14 =_TCx0GREA = 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1x0C, OdIndex, pemicuV

SamplerTrigger

SamplerTrigger

A pemicu kanggo miwiti minangkaampler?

Atribut umum statis
ukuran constexpr statis_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 constexpr statis ukuran_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Gunakake kelas iki kanggo ngaktifake sampkabar ler nalika sampeyan miwiti minangkaampler. Kelas kasebut nduweni fungsi anggota umum ing ngisor iki.

Versi: doc 1.4.2 / NanoLib 1.3.0

56

8 Referensi kelas / fungsi

ngabari ()
Ngirim entri kabar.
virtual void nlc::SamplerNotify:: notify (const ResultVoid & lastError, const SamplerNegara samplerState, const std::vektor <SampleData> & sampleDatas, int64_t applicationData)

Parameter [ing] lastError [ing] samplerState
[ing] sampleDatas [ing] applicationData

Laporan kesalahan pungkasan nalika sampling. Laporan sampstatus ler ing wektu kabar: Unconfigured / diatur / Siap / mlaku / Rampung / Gagal / dibatalake. Laporan sampled-data array. Laporan data khusus aplikasi.

8.37 Sampstruktur leData

Struktur iki ngemot sampdata sing dipimpin

uin64_t nomer pengulangan

Diwiwiti ing 0 lan mung mundhak ing mode bola-bali.

std::vektor<SampledValues> Ngemot dheweke array saka sampnilai mimpin.

8.38 Sampstruktur ledValue

Struktur iki ngemot sampnilai mimpin.

in64_t nilai uin64_t CollectTimeMsec

Ngemot nilai alamat OD sing dilacak.
Ngemot wektu koleksi ing milliseconds, relatif kanggo sample wiwitan.

8.39 Sampstruktur lerTrigger

Struktur iki ngemot setelan pemicu sampmaca.

Sampkondisi lerTriggerCondition
Nilai OdIndex uin32_t

Kondisi pemicu: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = TCx0GREATER = 15x0 = TC_GREATER 16x0 TC_LESS = 17x0 TC_LESS_OR_EQUAL = 18x0 TC_EQUAL = 19x0 TC_NOT_EQUAL = 1x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1xXNUMXC
OdIndex (alamat) pemicu.
Nilai kondisi utawa nomer bit (wiwit saka bit nol).

8.40 Struktur serial

Temokake ing kene pilihan komunikasi serial lan atribut umum ing ngisor iki:

const std :: string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = "serial baud rate" baudRate =SerialBaudRate struct

Versi: doc 1.4.2 / NanoLib 1.3.0

57

8 Referensi kelas / fungsi

const std :: string const SerialParity

PARITY_OPTIONS_NAME = "paritas serial" paritas = Struktur SerialParity

8.41 Struktur SerialBaudRate

Temokake ing kene tingkat baud komunikasi serial lan atribut umum ing ngisor iki:

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_56000 = "56000" BAUD_57600 = "57600" BAUD_115200 115200" BAUD_RATE_128000 = "128000" BAUD_RATE_256000 = "256000" BAUD_RATE_XNUMX = "XNUMX"

8.42 Struktur SerialParity

Temokake ing kene opsi paritas serial lan atribut umum ing ngisor iki:

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

NONE = "ora ana" ODD = "aneh" GENAP = "even" MARK = "mark" SPACE = "space"

Versi: doc 1.4.2 / NanoLib 1.3.0

58

9 Lisensi

9 Lisensi

Header antarmuka API NanoLib lan exampKode sumber kasebut dilisensi dening Nanotec Electronic GmbH & Co. KG miturut Creative Commons Attribution 3.0 Unported License (CC BY). Bagean perpustakaan sing disedhiyakake ing format binar (pustaka komunikasi inti lan fieldbus) dilisensi miturut Lisensi Internasional Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).

Creative Commons
Ringkesan sing bisa diwaca manungsa ing ngisor iki ora bakal ngganti lisensi kasebut. Sampeyan bisa nemokake lisensi kasebut ing creativecommons.org lan disambungake ing ngisor iki. Sampeyan bebas kanggo:

CC BY 3.0
Share: Ndeleng tengen. Adaptasi: Remix, ngowahi, lan mbangun ing
materi kanggo maksud apa wae, malah komersial.

CC BY-ND 4.0
Nuduhake: Nyalin lan disebarake maneh materi ing media utawa format apa wae.

Pemberi lisènsi ora bisa mbatalake kabébasan ing ndhuwur anggere sampeyan manut syarat lisensi ing ngisor iki:

CC BY 3.0

CC BY-ND 4.0

Atribusi: Sampeyan kudu menehi kredit sing cocog, Atribusi: Waca kiwa. Nanging: Nyedhiyani link iki

nyedhiyani link kanggo lisensi, lan nuduhake yen

lisensi liyane.

owah-owahan padha digawe. Sampeyan bisa nindakake ing sembarang

Ora ana turunan: Yen sampeyan nyampur, ngowahi, utawa mbangun

kanthi cara sing wajar, nanging ora kanthi cara apa wae

marang materi, sampeyan ora bisa disebaraké ing

gests pemberi lisensi nyetujui sampeyan utawa nggunakake sampeyan.

materi sing diowahi.

Ora ana watesan tambahan: Sampeyan bisa uga ora ngetrapake Ora ana watesan tambahan: Waca kiwa. istilah legal utawa langkah-langkah teknologi sing sah

matesi wong liya saka nindakake apa-apa lisensi

ijin.

Cathetan: Sampeyan ora kudu tundhuk karo lisensi kanggo unsur materi ing domain umum utawa ing ngendi panggunaan sampeyan diijini dening pangecualian utawa watesan sing ditrapake.
Cathetan: Ora ana garansi. Lisensi kasebut bisa uga ora menehi kabeh ijin sing dibutuhake kanggo panggunaan sing dikarepake. Kanggo exampNanging, hak liyane kayata publisitas, privasi, utawa hak moral bisa matesi carane sampeyan nggunakake materi.

Versi: doc 1.4.2 / NanoLib 1.3.0

59

Imprint, kontak, versi

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenJermanTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Kabeh hak dilindhungi undhang-undhang. Kesalahan, ngilangi, teknis utawa owah-owahan isi bisa ditindakake tanpa kabar. Merek / produk sing dikutip minangka merek dagang saka pemilike lan kudu dianggep kaya ngono. Versi asli.

Dokumen 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08

+ Ditambahake > Diganti # Telpon > Gawe maneh saka mantan sing diwenehakeamples.
+ NanoLib Modbus: Nambahake mekanisme ngunci piranti kanggo Modbus VCP. # NanoLib Core: Priksa status sambungan tetep. # Kode NanoLib: Ngilangi referensi hardware bus sing didandani.
+ NanoLib-CANopen: Dhukungan kanggo adaptor Puncak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: Antarmuka panggilan balik log sing diganti (LogLevel diganti karo LogModule). # NanoLib Logger: Pemisahan antarane inti lan modul wis didandani. # Modbus TCP: Nganyari firmware tetep kanggo FW4. # EtherCAT: Ngunggah program NanoJ tetep kanggo Core5. # EtherCAT: Nganyari firmware tetep kanggo Core5.
# Modbus RTU: Ndandani masalah wektu kanthi tingkat baud sing sithik sajrone nganyari perangkat kukuh. # RESTful: Ngunggah program NanoJ tetep.
# Modul NanoLib Sampler: Wacan sing bener saka sampmimpin nilai boolean.
+ Dhukungan Java 11 kanggo kabeh platform. + Dhukungan Python 3.11 / 3.12 kanggo kabeh platform. + Antarmuka logging callback anyar (ndeleng examples). + Callback klelep kanggo NanoLib Logger. > Update logger kanggo versi 1.12.0. > Modul NanoLib Sampler: Dhukungan saiki kanggo Nanotec controller firmware v24xx. > Modul NanoLib Sampler: Owah-owahan ing struktur digunakake kanggo sampkonfigurasi ler. > Modul NanoLib Sampler: mode terus-terusan sinonim karo telas; kondisi pemicu dicenthang sapisan; nomer samples kudu 0. > NanoLib Modules Sampler: prioritas normal kanggo Utas sing ngumpulake data ing mode perangkat kukuh. > Modul NanoLib Sampler: Algoritma ditulis maneh kanggo ndeteksi transisi antarane negara Siap & Mlaku. # NanoLib Core: Ora ana Pelanggaran Akses maneh (0xC0000005) nalika nutup 2 utawa luwih piranti nggunakake hardware bis sing padha. # NanoLib Core: Ora ana Segmentasi Segmentasi maneh nalika masang adaptor PEAK ing Linux. # Modul NanoLib Sampler: Bener sampled-nilai maca ing mode firmware. # Modul NanoLib Sampler: Konfigurasi bener saka 502X:04. # Modul NanoLib Sampler: Nyampur bener saka buffer karo saluran. # NanoLib-Canopen: Tambah wektu entek CAN kanggo kaku lan mindhai sing bener ing baudrates ngisor. # NanoLib-Modbus: algoritma deteksi VCP kanggo piranti khusus (USB-DA-IO).
+ Dhukungan EtherCAT.
+ Cathetan babagan setelan proyek VS ing Konfigurasi proyek sampeyan.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + njalukXmlFileJeneng (). + const std::string & xmlFilePath ing addObjectDictionary (). + entukSamplerInterface ().

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, kontak, 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

+ Ditambahake > Diganti # Fixed + rebootDevice (). + Kode kesalahan ResourceUnavailable kanggo getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, lan ~Uid. > firmwareUploadFromFile saiki uploadFirmwareFromFile (). > firmwareUpload () now uploadFirmware (). > bootloaderUploadFromFile () saiki uploadBootloaderFromFile (). > bootloaderUpload () saiki uploadBootloader (). > bootloaderFirmwareUploadFromFile () kanggo uploadBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () saiki uploadBootloaderFirmware (). > nanojUploadFromFile () saiki uploadNanoJFromFile (). > nanojUpload () saiki uploadNanoJ (). > objectDictionaryLibrary () saiki getObjectDictionaryLibrary (). > String_String_Map saiki StringStringMap. > NanoLib-Common: eksekusi listAvailableBusHardware lan openBusHardwareWithProtocol luwih cepet nganggo adaptor Ixxat. > NanoLib-CANopen: setelan gawan digunakake (1000k baudrate, nomer bis Ixxat 0) yen opsi hardware bis kosong. > NanoLib-RESTful: ijin admin lungse kanggo komunikasi karo bootloader Ethernet ing Windows yen driver npcap / winpcap kasedhiya. # NanoLib-CANopen: hardware bis saiki mbukak tanpa kacilakan kanthi opsi kosong. # NanoLib-Common: openBusHardwareWithProtocol () saiki ora ana bocor memori.
+ Dhukungan Linux ARM64. + Dhukungan panyimpenan massal USB / REST / Profinet DCP. + mriksaConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (diganti NanotecExceptions). + NanoLib Modbus: VCP / hub USB digabungake menyang USB. > Modbus TCP mindhai ngasilake asil. < Modbus TCP latensi komunikasi tetep konstan.
+ Liyane ObjectEntryDataType (kompleks lan profile- spesifik). + IOError bali yen connectDevice () lan scanDevices () ora nemokake. + Mung 100 ms wektu entek nominal kanggo CanOpen / Modbus.
+ Dhukungan Modbus (plus USB Hub liwat VCP). + Bab Nggawe proyek Linux sampeyan dhewe. + ekstraHardwareSpecifier kanggo BusHardwareId (). + extraId_ lan extraStringId_ menyang DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Ndandani bug.
Edisi.

produk
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Versi: doc 1.4.2 / NanoLib 1.3.0

61

Dokumen / Sumber Daya

Pemrograman C++ Nanotic NanoLib [pdf] Manual pangguna
Pemrograman C NanoLib, Pemrograman C, Pemrograman

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *