I-Nanotic NanoLib C++ Programming

Ulwazi Lomkhiqizo
Imininingwane
- Igama Lomkhiqizo: NanoLib
- Ukuhlela Ulimi: C++
- Inguqulo yomkhiqizo: 1.3.0
- Inguqulo Yemanuwali Yomsebenzisi: 1.4.2
Umtapo wezincwadi we-NanoLib uklanyelwe isofthiwe yokulawula ukuhlela izilawuli ze-Nanotec. Inikeza isixhumi esibonakalayo somsebenzisi, ukusebenza okubalulekile, namalabhulali okuxhumana ukuze kube lula ukuthuthukiswa kwezinhlelo zokusebenza zokulawula.
Imiyalo yokusetshenziswa komkhiqizo
- Ngaphambi kokuthi Uqale:
- Qinisekisa ukuthi isistimu yakho ihlangabezana nezidingo zezingxenyekazi zekhompuyutha ezishiwo kumanuwali. Izithameli ezihlosiwe zalo mkhiqizo zihlanganisa onjiniyela abafuna ukudala isofthiwe yokulawula yabalawuli be-Nanotec.
- Ukuqalisa:
- Ukuze uqale ukusebenzisa i-NanoLib, landela lezi zinyathelo:
- Qala ngokungenisa i-NanoLib kuphrojekthi yakho.
- Lungiselela izilungiselelo zephrojekthi yakho njengoba kudingeka.
- Yakha iphrojekthi yakho ukuze uhlanganise nokusebenza kwe-NanoLib.
- Ukudala Amaphrojekthi:
- Ungakha amaphrojekthi kuzo zombili izindawo ze-Windows ne-Linux. Landela imiyalelo ethile enikezwe kumanuwali yesikhulumi ngasinye.
- Amakilasi / Ireferensi Yemisebenzi:
- Bheka kumanuwali yomsebenzisi ukuze uthole inkomba enemininingwane ngamakilasi nemisebenzi etholakala ku-NanoLib yesofthiwe yokulawula ukuhlela.
Imibuzo Evame Ukubuzwa
- Q: Iyini inhloso ye-NanoLib?
- A: I-NanoLib iwumtapo wolwazi wesoftware yokulawula izinhlelo yabalawuli beNanotec, ehlinzeka ngemisebenzi ebalulekile namakhono okuxhumana.
- Q: Ngingaqalisa kanjani nge-NanoLib?
- A: Qala ngokungenisa i-NanoLib kuphrojekthi yakho, ulungise izilungiselelo zephrojekthi, futhi wakhe iphrojekthi yakho ukuze usebenzise izici ze-NanoLib.
“`
Incwadi yomsebenzisi ye-NanoLib
C++
Isebenza ngenguqulo yomkhiqizo 1.3.0
Inguqulo yeManuwali yomsebenzisi: 1.4.2
Inhloso nemithetho yedokhumenti
Lo mbhalo uchaza ukusethwa nokusetshenziswa kwelabhulali ye-NanoLib futhi uqukethe ireferensi yazo zonke izigaba nemisebenzi yokuhlela isofthiwe yakho yokulawula yezilawuli ze-Nanotec. Sisebenzisa izinhlobo ezilandelayo zokubhala:
Umbhalo odwetshelwe uphawula ireferensi ephambene noma isixhumanisi.
Exampisigaba 1: Ukuze uthole iziqondiso eziqondile ku-NanoLibAccessor, bona Ukusethwa. Example 2: Faka umshayeli we-Ixxat bese uxhuma i-adaptha ye-CAN-to-USB. Umbhalo we-ithalikhi usho ukuthi: Lena into ebizwa ngegama, indlela yemenyu / into, ithebhu / file igama noma (uma kudingeka) isisho solimi lwangaphandle.
Exampisiqephu 1: Khetha File > Okusha > Idokhumenti Engenalutho. Vula ithebhu ethi Ithuluzi bese ukhetha Beka amazwana. Example 2: Lo mbhalo uhlukanisa abasebenzisi (= Nutzer; usuario; utente; utilisateur; utente njll.) kusuka ku:
- Umsebenzisi weqembu lesithathu (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente njll.). - Umsebenzisi wokugcina (= Endnutzer; usuario final; utente final; utilisateur final; utente finale njll.).
I-Courier imaka amabhulokhi ekhodi noma imiyalo yokuhlela. Example 1: Nge-Bash, shayela i-sudo yenza ukufaka ukuze ukopishe izinto ezabiwe; bese ushayela ldconfig. Example 2: Sebenzisa umsebenzi olandelayo we-NanoLibAccessor ukuze uguqule izinga lokungena ku-NanoLib:
// ***** C++ okuhlukile *****
i-void setLoggingLevel(izinga le-LogLevel);
Umbhalo ogqamile ugcizelela amagama ngamanye abaluleke kakhulu. Okunye, izibabazo ezikubakaki zigcizelela ukubaluleka okubalulekile(!).
ExampIsinyathelo 1: Zivikele wena, abanye kanye nemishini yakho. Landela amanothi ethu okuphepha avamile asebenza kuyo yonke imikhiqizo ye-Nanotec.
ExampLe 2: Ukuze uzivikele, futhi landela amanothi athile okuphepha asebenza kulo mkhiqizo othize. Isenzo sokuchofoza ndawonye sisho ukuchofoza ngokhiye wegundane wesibili ukuze uvule imenyu yokuqukethwe njll.
Example 1: Chofoza kanye ku- file, khetha Qamba kabusha, bese uqambe kabusha i file. Isbample 2: Ukuze uhlole izakhiwo, chofoza ndawonye ku- file bese ukhetha Properties.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
4
Ngaphambi kokuthi uqale
Ngaphambi kokuthi uqale ukusebenzisa i-NanoLib, lungiselela i-PC yakho futhi uzazise ngokusetshenziswa okuhlosiwe kanye nemikhawulo yelabhulali.
2.1 Izidingo zesistimu nezehadiwe

ISAZISO Ukungasebenzi kahle kwe-32-bit noma uhlelo olunqanyuliwe! Sebenzisa, futhi ulondoloze njalo, isistimu yamabhithi angu-64. Bheka ukuyeka kwe-OEM kanye ~ nemiyalelo.
I-NanoLib 1.3.0 isekela yonke imikhiqizo ye-Nanotec nge-CANopen, Modbus RTU (nayo i-USB ku-virtual com port), i-Modbus TCP, i-EtherCat, ne-Profinet. Kuma-NanoLibs amadala: Bona i-changelog ku-imprint. Ngengozi yakho kuphela: ukusetshenziswa kwesistimu yefa. Qaphela: Landela imiyalelo ye-OEM evumelekile ukuze usethe ukubambezeleka kube phansi ngangokunokwenzeka uma ubhekana nezinkinga lapho usebenzisa i-adaptha ye-USB esekelwe ku-FTDI.
Izimfuneko (64-bit uhlelo oluyisibopho)
Windows 10 noma 11 w/ Visual Studio 2019 inguqulo 16.8 noma kamuva kanye ne-Windows SDK 10.0.20348.0 (inguqulo 2104) noma yakamuva
C++ redistributable 2017 noma ngaphezulu CANopen: Ixxat VCI noma PCAN basic driver (ongakukhetha) EtherCat module / Profinet DCP: Npcap noma WinPcap RESTful module: Npcap, WinPcap, noma admin imvume
ukuxhumana nge-Ethernet bootloaders
Linux w/ Ubuntu 20.04 LTS to 24 (konke x64 kanye ne-arm64)
Izihloko ze-Kernel nephakethe le-libpopt-dev I-Profinet DCP: CAP_NET_ADMIN kanye ne-CAP_NET_RAW abili-
ibopha i-CANopen: umshayeli we-Ixxat ECI noma i-adaptha ye-Peak PCAN-USB EtherCat: CAP_NET_ADMIN, CAP_NET_RAW kanye
Amakhono e-CAP_SYS_NICE Agcwele: Ikhono le-CAP_NET_ADMIN lokuxhumana ne-Eth-
i-ernet bootloaders (futhi iyanconywa: CAP_NET_RAW)
Ulimi, ama-adaptha ebhasi, izintambo
I-C++ GCC 7 noma ngaphezulu (Linux)
I-EtherCAT: Ikhebula le-Ethernet VCP / ihabhu le-USB: manje iyunifomu ye-USB yesitoreji esikhulu: Ikhebula le-USB REST: Ikhebula le-Ethernet CANopen: Ixxat USB-to-CAN V2; Na-
inothi i-ZK-USB-CAN-1, i-adaptha ye-Peak PCANUSB Akukho ukusekelwa kwe-Ixxat ku-Ubuntu ku-arm64
I-Modbus RTU: I-Nanotec ZK-USB-RS485-1 noma i-adaptha efanayo; Ikhebula le-USB ku-virtual com port (VCP)
I-Modbus TCP: Ikhebula le-Ethernet ngokwemininingwane yedatha yomkhiqizo
2.2 Ukusetshenziswa okuhlosiwe nezethameli
I-NanoLib ingumtapo wolwazi wohlelo kanye nengxenye yesofthiwe yokusebenza, nokuxhumana nabalawuli be-Nanotec ezinhlobonhlobo zezinhlelo zokusebenza zezimboni kanye nabahleli bezinhlelo abanekhono kuphela.
Ngenxa yehardware yesikhathi sangempela (i-PC) engakwazi ukusebenza kahle (i-PC) kanye nesistimu yokusebenza, i-NanoLib akuyona eyokusetshenziswa ezinhlelweni ezidinga ukunyakaza okuhambisanayo kwe-multi-axis noma ngokuvamile ezizwela isikhathi.
Akunakwenzeka ukuthi uhlanganise i-NanoLib njengengxenye yokuphepha emkhiqizweni noma ohlelweni. Lapho kulethwa kubasebenzisi bokugcina, kufanele wengeze izaziso ezihambisanayo eziyisixwayiso nemiyalelo ukuze usebenzise ngokuphephile nokusebenza okuphephile kumkhiqizo ngamunye onengxenye ekhiqizwe i-Nanotec. Kufanele udlulisele zonke izaziso zesixwayiso ezikhishwe yi-Nanotec kumsebenzisi wokugcina.
2.3 Ububanzi bokulethwa kanye newaranti
I-NanoLib iza njenge-*.zip ifolda ekulandiseni kwethu webisayithi le-EMEA / APAC noma i-AMERICA. Gcina ngokufanelekile futhi uvule iziphu yokulanda kwakho ngaphambi kokusetha. Iphakethe leNanoLib liqukethe:
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
5
2 Ngaphambi kokuqala
Izihloko ze-Interface njengekhodi yomthombo (API)
Isebenza njengemitapo yolwazi ngefomethi kanambambili: nano-
Imitapo yolwazi eyenza ukuxhumana: nanolibm_ lib.dll
[yourfieldbus].dll njll.Example phrojekthi: Example.sln (Visual Studio
iphrojekthi) kanye nesibample.cpp (main file)
Ukuze uthole ububanzi bewaranti, sicela uqaphele a) imigomo nemibandela yethu ye-EMEA / APAC noma i-AMERICA kanye b) nayo yonke imigomo yelayisense. Qaphela: I-Nanotec ayinacala ngekhwalithi enephutha noma engafanelekile, ukuphatha, ukufakwa, ukusebenza, ukusetshenziswa, nokugcinwa kwemishini yezinkampani zangaphandle! Ukuze uthole ukuphepha okufanele, hlala ulandela imiyalelo ye-OEM evumelekile.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
6
I-NanoLib Architecture
Isakhiwo sesoftware kaNanoLib sikuvumela ukuthi uhlele ngokukhululekile imisebenzi yesilawuli / yebhasi yase-fieldbus ezungeze umnyombo owakhiwe ngaphambili. I-NanoLib iqukethe amamojula alandelayo:
Isixhumi esibonakalayo somsebenzisi (API)
I-NanoLib core
Interface kanye namakilasi umsizi yiziphi Imitapo yolwazi okuyinto
Imitapo yolwazi yokuxhumana ethi Fieldbus
ukufinyelela wena kusilawuli sakho sebenzisa ukusebenza kwe-API do interface phakathi kwe-NanoLib
OD (isichazamazwi sento)
xhumana nemitapo yolwazi yamabhasi.
core kanye ibhasi hardware.
isisekelo ku-NanoLib core func-
izizwe.
3.1 Isixhumi esibonakalayo somsebenzisi
I interface yomsebenzisi siqukethe interface unhlokweni files ongazisebenzisa ukuze ufinyelele imingcele yesilawuli. Amakilasi okusebenza komsebenzisi njengoba achazwe kunkomba yamakilasi / imisebenzi akuvumela ukuthi:
Xhuma kukho kokubili ihadiwe (i-adaptha yebhasi) kanye nedivayisi yesilawuli. Finyelela ku-OD yedivayisi, ukuze ufunde/ubhale amapharamitha wesilawuli.
3.2 I-NanoLib core
I-NanoLib core iza nelabhulali yokungenisa i-nanolib.lib. Isebenzisa ukusebenza kwesixhumi esibonakalayo somsebenzisi futhi inesibopho salokhu:
Ukulayisha nokuphatha imitapo yolwazi yokuxhumana. Ihlinzeka ngokusebenza kokusetshenziswa kubonwa ku-NanoLibAccessor. Lolu hlelo lokusebenza luqukethe indawo yokuxhumana
inhlawulo isethi yemisebenzi ongayenza kumongo we-NanoLib kanye nemitapo yolwazi yokuxhumana.
3.3 Imitapo yolwazi yezokuxhumana
Ngokungeziwe ku-nanotec.services.nanolib.dll (iwusizo ku-Plug & Drive Studio ozikhethela yona), i-NanoLib inikeza ngamalabhulali okuxhumana alandelayo:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Wonke amalabhulali abeka isendlalelo sezingxenyekazi zekhompuyutha phakathi komgogodla nesilawuli. Okubalulekile kuyawalayisha ekuqaleni kusuka kufolda yephrojekthi ekhethiwe futhi uwasebenzisele ukusungula ukuxhumana nesilawuli ngephrothokholi ehambelanayo.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
7
Ukuqalisa
Funda ukuthi ungasetha kanjani i-NanoLib yohlelo lwakho lokusebenza ngokufanelekile nokuthi ungayixhuma kanjani ihadiwe njengoba kudingeka.
4.1 Lungisa uhlelo lwakho
Ngaphambi kokufaka izishayeli ze-adaptha, lungisa i-PC yakho ngohlelo lokusebenza kuqala. Ukuze ulungise i-PC kanye ne-Windows OS yakho, faka i-MS Visual Studio enezandiso ze-C++. Ukufaka i-make ne-gcc nge-Linux Bash, shayela i-sudo apt install build-essentials. Yenza bese uvula amandla e-CAP_NET_ADMIN, CAP_NET_RAW, kanye ne-CAP_SYS_NICE kuhlelo lokusebenza olusebenzisa i-NanoLib: 1. Shayela i-sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
igama>. 2. Kulapho kuphela, faka abashayeli be-adaptha yakho.
4.2 Faka umshayeli we-adaptha ye-Ixxat ye-Windows
Kuphela ngemva kokufakwa komshayeli okufanele, ungasebenzisa i-adaptha ye-Ixxat ye-USB-to-CAN V2. Funda imanuwali yomkhiqizo wamadrayivu e-USB, ukuze ufunde ukuthi / ungayenza kanjani i-virtual comport (VCP). 1. Landa futhi ufake umshayeli we-VCI 4 we-Ixxat we-Windows kusuka www.ixxat.com. 2. Xhuma i-adaptha ehlangene ye-USB-to-CAN V2 ye-Ixxat ku-PC nge-USB. 3. Ngesiphathi Sedivayisi: Hlola ukuthi kokubili umshayeli ne-adaptha kufakwe ngokufanelekile/kuyabonwa yini.
4.3 Faka umshayeli we-adaptha ye-Peak ye-Windows
Kuphela ngemva kokufakwa okufanele komshayeli, ungasebenzisa i-adaptha ye-PCAN-USB ye-Peak. Funda imanuwali yomkhiqizo wamadrayivu e-USB, ukuze ufunde ukuthi / ungayenza kanjani i-virtual comport (VCP). 1. Dawuniloda futhi ufake ukusethwa komshayeli wedivayisi ye-Windows (= iphakheji yokufaka namashayeli wedivayisi, amathuluzi, kanye
APIs) kusuka http://www.peak-system.com. 2. Xhuma i-adaptha ye-PCAN-USB ye-Peak ku-PC nge-USB. 3. Ngesiphathi Sedivayisi: Hlola ukuthi kokubili umshayeli ne-adaptha kufakwe ngokufanelekile/kuyabonwa yini.
4.4 Faka umshayeli we-adaptha ye-Ixxat ye-Linux
Kuphela ngemva kokufakwa komshayeli okufanele, ungasebenzisa i-adaptha ye-Ixxat ye-USB-to-CAN V2. Qaphela: Amanye ama-adaptha asekelwayo adinga izimvume zakho nge-sudo chmod +777/dev/ttyACM* (* inombolo yedivayisi). Funda imanuwali yomkhiqizo wamadrayivu e-USB, ukuze ufunde ukuthi / ungayenza kanjani i-virtual comport (VCP). 1. Faka isofthiwe edingekayo kumshayeli we-ECI nohlelo lokusebenza lwedemo:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Landa umshayeli we-ECI-for-Linux ku-www.ixxat.com. Yivule nge:
unzip eci_driver_linux_amd64.zip
3. Faka umshayeli ngokusebenzisa:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Hlola ukufakwa ngempumelelo komshayeli ngokuhlanganisa futhi uqale uhlelo lokusebenza lwedemo:
cd /EciLinux_amd/src/EciDemos/ sudo yenza cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
8
4 Ukuqalisa
4.5 Faka umshayeli we-adaptha ye-Peak ye-Linux
Kuphela ngemva kokufakwa okufanele komshayeli, ungasebenzisa i-adaptha ye-PCAN-USB ye-Peak. Qaphela: Amanye ama-adaptha asekelwayo adinga izimvume zakho nge-sudo chmod +777/dev/ttyACM* (* inombolo yedivayisi). Funda imanuwali yomkhiqizo wamadrayivu e-USB, ukuze ufunde ukuthi / ungayenza kanjani i-virtual comport (VCP). 1. Hlola ukuthi i-Linux yakho inazo yini izihloko ze-kernel: ls /usr/src/linux-headers-`uname -r`. Uma kungenjalo, faka
them: sudo apt-get install linux-headers-`uname -r` 2. Manje kuphela, faka iphakethe le-libpopt-dev: sudo apt-get install libpopt-dev 3. Landa iphakheji yomshayeli edingekayo (peak-linux-driver-xxx.tar.gz) kusuka ku-www.peak-system.com. 4. Ukuze uyikhiphe, sebenzisa: tar xzf peak-linux-driver-xxx.tar.gz 5. Kufolda engapakishiwe: Hlanganisa futhi ufake izishayeli, umtapo wolwazi we-PCAN, njll.: yenza konke
sudo make install 6. Ukuze uhlole umsebenzi, xhuma i-adaptha ye-PCAN-USB.
a) Hlola imojuli ye-kernel:
lsmod | grep pcan b) … kanye nelabhulali eyabiwe:
ls -l /usr/lib/libpcan*
Qaphela: Uma izinkinga ze-USB3 zenzeka, sebenzisa imbobo ye-USB2.
4.6 Xhuma ihadiwe yakho
Ukuze ukwazi ukusebenzisa iphrojekthi ye-NanoLib, xhuma isilawuli esihambisanayo se-Nanotec ku-PC usebenzisa i-adaptha yakho. 1. Ngekhebula elifanele, xhuma i-adaptha yakho kusilawuli. 2. Xhuma i-adaptha ku-PC ngokuvumelana neshidi ledatha ye-adaptha. 3. Amandla kusilawuli esebenzisa ugesi ofanelekile. 4. Uma kudingeka, shintsha izilungiselelo zokuxhumana zesilawuli se-Nanotec njengoba kuyalelwe kumanuwali waso womkhiqizo.
4.7 Layisha i-NanoLib
Okokuqala ngezisekelo ezisheshayo nezilula, ungase (kodwa akufanele) usebenzise i-ex yethuample phrojekthi. 1. Kuya ngesifunda sakho: Landa i-NanoLib kwethi webisayithi le-EMEA / APAC noma i-AMERICA. 2. Vula uziphu wephakheji files/amafolda bese ukhetha inketho eyodwa: Ngezisekelo ezisheshayo nezilula: Bona Ukuqala i-example phrojekthi. Ngokwenza ngendlela oyifisayo okuthuthukile ku-Windows: Bona Ukudala iphrojekthi yakho ye-Windows. Ngokwenza ngendlela oyifisayo okuthuthukile ku-Linux: Bona Ukudala eyakho iphrojekthi ye-Linux.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
9
Ukuqala i-example phrojekthi
Nge-NanoLib elayishwe ngokufanelekile, i-example phrojekthi ikubonisa ngokusebenzisa i-NanoLib ngesilawuli se-Nanotec. Qaphela: Esinyathelweni ngasinye, amazwana ku-ex enikeziweample code ichaza imisebenzi esetshenzisiwe. I-example phrojekthi iqukethe: `*_functions_example.*' files, equkethe ukuqaliswa kwesixhumi esibonakalayo se-NanoLib isebenza `*_callback_example.*' files, equkethe ukuqaliswa kokufona emuva okuhlukahlukene (skena, idatha kanye
ukungena) `imenyu_*.*' file, equkethe i-logic yemenyu kanye nekhodi i-Example.* file, okuwuhlelo oluyinhloko, ukudala imenyu nokuqalisa yonke imingcele esetshenzisiwe i-Sampler_example.* file, equkethe i-example ukuqaliswa kwe-sampukusetshenziswa njalo. Ungathola ama-ex amaningiamples, ngemiyalo ethile yokunyakaza yezindlela zokusebenza ezahlukahlukene, ku-Knowledge Base ku-nanotec.com. Zonke ziyasebenza ku-Windows noma ku-Linux.
Ku-Windows ene-Visual Studio 1. Vula i-Example.sln file. 2. Vula i-example.cpp. 3. Hlanganisa bese uqhuba i-exampikhodi.
Ku-Linux nge-Bash 1. Vula umthombo file, zulazulela kufolda enokuqukethwe okungavaliwe. Okuyinhloko file okwe-example yi
example.cpp. 2. Ku-bash, shayela:
a. "sudo make install" ukukopisha izinto okwabelwana ngazo bese ushayela ldconfig. b. "yenza konke" ukuze wakhe ukuhlolwa okusebenzisekayo. 3. Ifolda yomgqomo iqukethe i-ex esebenzisekayoample file. Nge-bash: Iya kufolda yokuphumayo bese uthayipha ./example. Uma lingekho iphutha elenzayo, izinto owabelane ngazo manje sezifakwe ngokufanelekile, futhi umtapo wakho wezincwadi usulungele ukusetshenziswa. Uma iphutha lifundeka ./example: iphutha ngenkathi kulayishwa imitapo yolwazi eyabiwe: libnanolib.so: ayikwazi ukuvula into okwabelwana ngayo file: Hhayi kanjalo file noma uhla lwemibhalo, ukufakwa kwezinto okwabelwana ngazo kwehlulekile. Kulokhu, landela izinyathelo ezilandelayo. 4. Dala ifolda entsha ngaphakathi /usr/local/lib (amalungelo omlawuli ayadingeka). Ku-bash, thayipha kanjalo:
sudo mkdir /usr/local/lib/nanotec
5. Kopisha zonke izinto okwabelwana ngazo kuziphu fileifolda ye-lib:
faka ./lib/*.so /usr/local/lib/nanotec/
6. Hlola okuqukethwe kwefolda okuqondiwe ngayo ngokuthi:
ls -al /usr/local/lib/nanotec/
Kufanele kuhlu into okwabelwana ngayo files kusuka kufolda ye-lib. 7. Qalisa i-ldconfig kule folda:
sudo ldconfig /usr/local/lib/nanotec/
I-exampI-le isetshenziswa njengohlelo lokusebenza lwe-CLI futhi inikeza isixhumi esibonakalayo semenyu. Okufakiwe kwemenyu kusekelwe komongo futhi kuzovulwa amandla noma kukhutshazwe, kuye ngesimo somongo. Bakunikeza ithuba lokukhetha nokusebenzisa imisebenzi eyahlukahlukene yomtapo wolwazi ngokulandela ukuhamba komsebenzi okuvamile kokuphatha isilawuli: 1. Hlola i-PC ukuze uthole izingxenyekazi zekhompuyutha ezixhunyiwe (ama-adaptha) bese uwaklelisa. 2. Sungula uxhumano ku-adaptha. 3. Skena ibhasi ukuze uthole izisetshenziswa zesilawuli ezixhunyiwe. 4. Xhuma kudivayisi.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
10
5 Ukuqala i-example phrojekthi
5. Hlola umsebenzi womtapo wezincwadi owodwa noma ngaphezulu: Funda/bhala usuka/uye kusichazamazwi sento yesilawuli, buyekeza i-firmware, layisha futhi uqalise uhlelo lwe-NanoJ, yenza injini isebenze futhi uyishune, lungiselela futhi usebenzise ukugawulwa kwemithi.ampler.
6. Vala uxhumano, okokuqala kudivayisi, bese uya ku-adaptha.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
11
Ukudala iphrojekthi yakho ye-Windows
Dala, hlanganisa futhi usebenzise iphrojekthi yakho ye-Windows ukuze usebenzise i-NanoLib.
6.1 Ngenisa i-NanoLib
Ngenisa unhlokweni we-NanoLib files nemitapo yolwazi nge-MS Visual Studio.
1. Vula Isitudiyo Esibonakalayo. 2. Ngokudala iphrojekthi entsha > I-Console App C++ > Okulandelayo: Khetha uhlobo lwephrojekthi. 3. Qamba iphrojekthi yakho (lapha: I-NanolibTest) ukuze wakhe ifolda yephrojekthi ku-Solution Explorer. 4. Khetha Qeda. 5. Vula amafasitela file hlola futhi uzulazule uye kufolda yephrojekthi edaliwe. 6. Dala amafolda amabili amasha, i-inc kanye ne-lib. 7. Vula ifolda yephakheji ye-NanoLib. 8. Ukusuka lapho: Kopisha unhlokweni files kusukela kufolda ehlanganisayo kufolda yephrojekthi yakho ethi inc kanye nakho konke okuthi .lib kanye ne-.dll
files kufolda yakho yephrojekthi entsha lib. 9. Hlola ifolda yephrojekthi yakho ukuze uthole ukwakheka okufanele, isiboneloample:
ifolda ye-ect yesakhiwo esifanele:
. I-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.vcbxTjest. NanolibTest.vcxproj.user NanolibTest.sln
6.2 Lungisa iphrojekthi yakho
Sebenzisa i-Solution Explorer ku-MS Visual Studio ukuze umise amaphrojekthi we-NanoLib. Qaphela: Ukuze uthole ukusebenza okulungile kwe-NanoLib, khetha ukukhululwa (hhayi ukulungisa iphutha!) kuzilungiselelo zephrojekthi ye-Visual C++; bese wakhe futhi uxhumanise iphrojekthi nezikhathi zokusebenza ze-VC zokusabalalisa kabusha kwe-C++ [2022].
1. Ku-Solution Explorer: Iya kufolda yephrojekthi yakho (lapha: NanolibTest). 2. Chofoza kanye ifolda ukuze uvule imenyu yokuqukethwe. 3. Khetha Izakhiwo. 4. Yenza kusebenze Konke ukucupha kanye nazo zonke izinkundla. 5. Khetha u-C/C++ bese uya kokuthi Faka phakathi Izikhombisi-ndlela. 6. Faka: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Khetha Isixhumi bese uya Ezinhlwini Zomtapo Wolwazi Ezengeziwe. 8. Faka: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Nweba Isixhumi bese ukhetha Okokufaka. 10.Hamba Kokuncika Okungeziwe bese ufaka: nanolib.lib;%(AdditionalDependencies) 11.Qinisekisa ngokuthi KULUNGILE.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
12
6 Ukwakha iphrojekthi yakho ye-Windows
12.Hamba kokuthi Ukucushwa > C++ > Ulimi > Izinga Lolimi > ISO C++17 Okujwayelekile bese usetha izinga lolimi ku-C++17 (/std:c++17).
6.3 Yakha iphrojekthi yakho
Yakha iphrojekthi yakho ye-NanoLib ku-MS Visual Studio. 1. Vula okuyinhloko *.cpp file (lapha: nanolib_example.cpp) bese uhlela ikhodi, uma kudingeka. 2. Khetha Yakha > Umphathi Wokuhlela. 3. Shintsha izinkundla zesixazululo ezisebenzayo zibe x64. 4. Qinisekisa nge Vala. 5. Khetha Yakha > Yakha isisombululo. 6. Alikho iphutha? Hlola ukuthi umkhiqizo wakho owuqoqile uyabika ngokufanelekile yini:
1>—— Ukuhlanza kuqalile: Iphrojekthi: I-NanolibTest, Ukucushwa: Susa iphutha x64 —–========== Ukuhlanzeka: 1 kuphumelele, 0 kwehlulekile, 0 kweqiwe ===========
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
13
7 Ukwakha iphrojekthi yakho ye-Linux
7 Ukwakha iphrojekthi yakho ye-Linux
Dala, hlanganisa futhi usebenzise iphrojekthi yakho ye-Linux ukuze usebenzise i-NanoLib. 1. Kukhithi yokufaka ye-NanoLib engafakiwe: Vula /nanotec_nanolib. 2. Thola zonke izinto okwabelwana ngazo ku-tar.gz file. 3. Khetha inketho eyodwa: Faka i-lib ngayinye noma nge-Makefile noma ngesandla.
7.1 Faka izinto okwabelwana ngazo nge-Makefile
Sebenzisa i-Makefile nge-Linux Bash ukuze ufake ngokuzenzakalelayo konke okuzenzakalelayo *.so files. 1. Nge-Bash: Iya kufolda equkethe i-makefile. 2. Kopisha izinto okwabelwana ngazo usebenzisa:
I-sudo yenza ukufaka 3. Qinisekisa nge:
ldconfig
7.2 Faka izinto ezihlanganyelwe ngesandla
Sebenzisa i-Bash ukuze ufake konke *.so files of NanoLib ngesandla. 1. Nge-Bash: Dala ifolda entsha ngaphakathi /usr/local/lib. 2. Amalungelo okuphatha ayadingeka! Uhlobo:
sudo mkdir /usr/local/lib/nanotec 3. Shintshela kufolda yephakheji yokufaka engavaliwe. 4. Kopisha zonke izinto okwabelwana ngazo kufolda ye-lib ngokusebenzisa:
faka ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Hlola okuqukethwe kwefolda okuqondiwe ngokusebenzisa:
ls -al /usr/local/lib/nanotec/ 6. Hlola ukuthi zonke izinto okwabelwana ngazo kufolda ye-lib zibaliwe yini. 7. Qalisa i-ldconfig kule folda ngokusebenzisa:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Yakha iphrojekthi yakho
Ngezinto zakho ezabiwe ezifakiwe: Dala iphrojekthi entsha ye-Linux NanoLib yakho. 1. Nge-Bash: Dala ifolda yephrojekthi entsha (lapha: NanoLibTest) usebenzisa:
mkdir NanoLibTest cd NanoLibTest
2. Kopisha unhlokweni files kufolda efaka phakathi (lapha: inc) nge: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Dala okuyinhloko file (NanoLibTest.cpp) nge: #include “accessor_factory.hpp” #include
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
14
7 Ukwakha iphrojekthi yakho ye-Linux
int main(){nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds result = accessor->listAvailableBusHardware();
if(result.hasError()) {std::cout << result.getError() << std::endl; }
else{ std::cout << “Impumelelo” << std::endl; }
susa isisekeli; buyisela 0; }
4. Hlola ifolda yephrojekthi yakho ukuze uthole ukwakheka okufanele:

. I-NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp umphumela.hpp NanoLibTest.cpp
7.4 Hlanganisa futhi uhlole iphrojekthi yakho
Yenza i-Linux NanoLib yakho ilungele ukusetshenziswa nge-Bash.
1. Nge-Bash: Hlanganisa okuyinhloko file nge:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Xhumanisa okusebenzisekayo ndawonye ngokusebenzisa:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Qalisa uhlelo lokuhlola ngokusebenzisa:
./test
4. Hlola ukuthi i-Bash yakho iyabika ngokufanelekile yini:
impumelelo
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
15
8 Amakilasi / inkomba yemisebenzi
8 Amakilasi / inkomba yemisebenzi
Thola lapha uhlu lwamakilasi okusebenza komsebenzisi we-NanoLib kanye nemisebenzi yawo yamalungu. Incazelo evamile yomsebenzi ihlanganisa isingeniso esifushane, incazelo yomsebenzi kanye nepharamitha / uhlu lokubuyisela:
ExampI-leFunction () Ikutshela kafushane ukuthi umsebenzi wenzani.
i-virtual void nlc::NanoLibAccessor::ExampI-leFunction (Param_a const & param_a, Param_b const & param_B)
Amapharamitha param_a param_b
Ibuyisela i-ResultVoid
Ukuphawula okwengeziwe uma kudingeka. Ukuphawula okwengeziwe uma kudingeka.
8.1 I-NanoLibAccessor
Isigaba sokusebenzelana sisetshenziswa njengendawo yokungena ku-NanoLib. Uhlelo lokusebenza olujwayelekile lubukeka kanje:
1. Qala ngokuskena ihadiwe nge-NanoLibAccessor.listAvailableBusHardware (). 2. Setha izilungiselelo zokuxhumana nge-BusHardwareOptions (). 3. Vula uxhumano lwezingxenyekazi zekhompuyutha nge-NanoLibAccessor.openBusHardwareWithProtocol (). 4. Skena ibhasi ukuthola amadivayisi axhunyiwe nge-NanoLibAccessor.scanDevices (). 5. Engeza idivayisi nge-NanoLibAccessor.addDevice (). 6. Xhuma kudivayisi nge-NanoLibAccessor.ConnectDevice (). 7. Ngemva kokuqeda ukusebenza, nqamula idivayisi nge-NanoLibAccessor.disconnectDevice (). 8. Khipha idivayisi nge-NanoLibAccessor.removeDevice (). 9. Vala uxhumano lwezingxenyekazi zekhompuyutha nge-NanoLibAccessor.closeBusHardware ().
I-NanoLibAccessor inemisebenzi elandelayo yamalungu omphakathi:
listAvailableBusHardware () Sebenzisa lo msebenzi ukuze ufake ohlwini olutholakalayo hardware yebhasi.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
Ibuyisela i-ResultBusHwIds
Iletha uhlu lwe-ID yebhasi.
i-openBusHardwareWithProtocol () Sebenzisa lo msebenzi ukuze uxhume ihadiwe yebhasi.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
Amapharamitha busHwId busHwOpt
Ibuyisela i-ResultVoid
Icacisa i-fieldbus ezovulwa. Icacisa izinketho zokuvula ibhasi. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
i-isBusHardwareOpen () Sebenzisa lo msebenzi ukuze uhlole ukuthi uxhumano lwakho lwehadiwe ye-fieldbus luvuliwe yini.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOpt & busHwOpt)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
16
8 Amakilasi / inkomba yemisebenzi
Amapharamitha I-BusHardwareId Ibuyisela iqiniso
amanga
Icacisa ibhasi ngalinye elizovulwa. Izingxenyekazi zekhompuyutha zivuliwe. Izingxenyekazi zekhompuyutha zivaliwe.
getProtocolSpecificAccessor () Sebenzisa lo msebenzi ukuze uthole into yokufinyelela eqondene nephrothokholi.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
Amapharamitha busHwId Returns ResultVoid
Icacisa i-fieldbus ukuthola isisekeli sayo. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
getProfinetDCP () Sebenzisa lo msebenzi ukuze ubuyisele ireferensi kusixhumi esibonakalayo se-Profinet DCP.
I-virtual ProfinetDCP & getProfinetDCP ()
Ibuyisela i-ProfinetDCP
getSamplerInterface () Sebenzisa lo msebenzi ukuze uthole ireferensi ku-sampler interface.
i-virtual SamplerInterface & getSamplerInterface ()
Ibuyisela u-SamplerInterface
Kubhekiselwa ku-sampler interface class.
setBusState () Sebenzisa lo msebenzi ukuze usethe isimo esiqondene nebhasi.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)
Amapharamitha busHwId state
Ibuyisela i-ResultVoid
Icacisa i-fieldbus ezovulwa. Inikeza isimo esiqondene nebhasi njengenani leyunithi yezinhlamvu. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
scanAmadivayisi () Sebenzisa lo msebenzi ukuskena amadivaysi akunethiwekhi.
I-virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)
Amapharamitha busHwId callback
Ibuyisela ResultDeviceIds IOError
Icacisa i-fieldbus ezoskenwa. I-tracer yenqubekelaphambili ye-NlcScanBusCallback. Iletha uhlu lwe-ID yedivayisi. Yazisa ukuthi idivayisi ayitholakali.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
17
8 Amakilasi / inkomba yemisebenzi
addDevice ()
Sebenzisa lo msebenzi ukuze wengeze idivayisi yebhasi echazwe i-ID yedivayisi ohlwini lwangaphakathi lwedivayisi ye-NanoLib, futhi ubuyisele idivayisiHandle yayo.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)
Amapharamitha deviceId Returns ResultDeviceHandle
Icacisa idivayisi ezongezwa ohlwini. Iletha isibambo sedivayisi.
connectDevice () Sebenzisa lo msebenzi ukuze uxhume idivayisi nge-deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultVoid
IOError
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib exhuma kuyo. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile. Yazisa ukuthi idivayisi ayitholakali.
getDeviceName () Sebenzisa lo msebenzi ukuze uthole igama ledivayisi nge-deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultString
Icacisa ukuthi idivayisi yebhasi i-NanoLib ithola yiphi igama. Iletha amagama edivayisi njengeyunithi yezinhlamvu.
getDeviceProductCode () Sebenzisa lo msebenzi ukuze uthole ikhodi yomkhiqizo wedivayisi nge-deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultInt
Icacisa ukuthi idivayisi yebhasi i-NanoLib ithola yiphi ikhodi yomkhiqizo. Iletha amakhodi omkhiqizo njengenombolo ephelele.
getDeviceVendorId () Sebenzisa lo msebenzi ukuze uthole i-ID yomthengisi wedivayisi nge-deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultInt
InsizaAyitholakali
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ithola ngayo i-ID yomthengisi. Iletha ama-ID omthengisi njengenombolo ephelele. Yazisa ukuthi ayikho idatha etholiwe.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
18
8 Amakilasi / inkomba yemisebenzi
getDeviceId () Sebenzisa lo msebenzi ukuze uthole i-ID yedivayisi ethile ohlwini lwangaphakathi lwe-NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultDeviceId
Icacisa ukuthi i-NanoLib ithola yiphi idivayisi yebhasi i-ID yedivayisi. Iletha i-ID yedivayisi.
getDeviceIds () Sebenzisa lo msebenzi ukuze uthole i-ID yawo wonke amadivayisi ohlwini lwangaphakathi lwe-NanoLib.
I-virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
Ibuyisela ResultDeviceIds
Iletha uhlu lwe-ID yedivayisi.
getDeviceUid () Sebenzisa lo msebenzi ukuze uthole i-ID eyingqayizivele yedivayisi (96 bit / 12 bytes) nge-deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultArrayByte
InsizaAyitholakali
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ethola ngayo i-ID ehlukile. Iletha ama-ID ahlukile njenge-byte array. Yazisa ukuthi ayikho idatha etholiwe.
getDeviceSerialNumber () Sebenzisa lo msebenzi ukuze uthole inombolo yesiriyeli yedivayisi nge-deviceHandle.
I-virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultString
InsizaAyitholakali
Icacisa ukuthi i-NanoLib ithola yiphi inombolo yeserial yedivayisi yebhasi. Iletha izinombolo ze-serial njengeyunithi yezinhlamvu. Yazisa ukuthi ayikho idatha etholiwe.
getDeviceHardwareGroup () Sebenzisa lo msebenzi ukuze uthole i-hardware yeqembu ledivayisi yebhasi nge-deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultInt
Icacisa ukuthi i-NanoLib ithola yiphi idivayisi yebhasi iqembu lehadiwe.
Iletha amaqembu ezingxenyekazi zekhompuyutha njengenombolo ephelele.
getDeviceHardwareVersion () Sebenzisa lo msebenzi ukuze uthole inguqulo yehadiwe yedivayisi yebhasi nge-deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
19
8 Amakilasi / inkomba yemisebenzi
Amapharamitha deviceHandle
Iyabuya
I-ResultString ResourceAyitholakali
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ithola inguqulo yehadiwe. Iletha amagama edivayisi njengeyunithi yezinhlamvu. Yazisa ukuthi ayikho idatha etholiwe.
getDeviceFirmwareBuildId () Sebenzisa lo msebenzi ukuze uthole i-ID ye-firmware yedivayisi yebhasi nge-deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultString
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ethola kuyo i-ID ye-firmware yokwakha.
Iletha amagama edivayisi njengeyunithi yezinhlamvu.
getDeviceBooloaderVersion () Sebenzisa lo msebenzi ukuze uthole inguqulo ye-bootloader yedivayisi yebhasi nge-deviceHandle.
virtual ResultInt nlc ::NanoLibAccessor::getDeviceBooloaderVersion (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle
Iyabuya
I-ResultInt ResourceAyitholakali
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib eyitholayo inguqulo ye-bootloader. Iletha izinguqulo ze-bootloader njengenombolo ephelele. Yazisa ukuthi ayikho idatha etholiwe.
getDeviceBooloaderBuildId () Sebenzisa lo msebenzi ukuze uthole i-ID yokwakha yedivayisi yebhasi nge-deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultString
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ethola kuyo i-ID yokwakha i-bootloader.
Iletha amagama edivayisi njengeyunithi yezinhlamvu.
rebootDevice () Sebenzisa lo msebenzi ukuze uqalise kabusha idivayisi nge-deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Amapharamitha deviceHandle Returns ResultVoid
Icacisa i-fieldbus ezoqalisa kabusha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
getDeviceState () Sebenzisa lo msebenzi ukuze uthole isimo esiqondene nephrothokholi yedivayisi.
i-virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle
Icacisa ukuthi idivayisi yebhasi i-NanoLib ithola yiphi isifunda.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
20
8 Amakilasi / inkomba yemisebenzi
Ibuyisela ResultString
Iletha amagama edivayisi njengeyunithi yezinhlamvu.
setDeviceState () Sebenzisa lo msebenzi ukuze usethe isimo esiqondene nephrothokholi yedivayisi.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)
Amapharamitha idivayisiBamba isimo
Ibuyisela i-ResultVoid
Icacisa ukuthi idivayisi yebhasi i-NanoLib isethela yiphi isimo. Inikeza isimo esiqondene nebhasi njengenani leyunithi yezinhlamvu. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
getConnectionState ()
Sebenzisa lo msebenzi ukuze uthole isimo sokugcina sedivayisi eyaziwayo sokuxhumeka nge-deviceHandle (= Inqanyuliwe, Ixhunyiwe, IxhunyiweI-Bootloader)
i-virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultConnectionState
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ithola isimo sokuxhuma.
Iletha isimo sokuxhuma (= Inqanyuliwe, Ixhunyiwe, IxhunyiweI-Booloader).
checkConnectionState ()
Kuphela uma isimo sokugcina esaziwa singanqanyulwanga: Sebenzisa lo msebenzi ukuze uhlole futhi ubuyekeze isimo sokuxhunywa kwedivayisi ethile nge-DeviceHandle nangokuhlola imisebenzi eminingana eqondene nemodi ethile.
i-virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultConnectionState
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ehlola isimo sokuxhuma.
Iletha isimo sokuxhuma (= Akunqanyuliwe).
assignObjectDictionary () Sebenzisa lo msebenzi wezandla ukuze unikeze isichazamazwi sento (OD) kudivayisiZiphathe ngokwakho.
i-virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Amapharamitha idivayisiPhatha intoDictionary
Ibuyisela ResultObjectDictionary
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib eyabela i-OD kuyo. Ibonisa izici zesichazamazwi sento.
autoAssignObjectDictionary ()
Sebenzisa lokhu okuzenzakalelayo ukuze uvumele i-NanoLib inikeze isichazamazwi sento (OD) kudivayisiHandle. Lapho ithola futhi ilayisha i-OD efanelekile, i-NanoLib inikezela ngokuzenzakalelayo kudivayisi. Qaphela: Uma i-OD ehambisanayo isivele ilayishiwe kulabhulali yento, i-NanoLib izoyisebenzisa ngokuzenzekelayo ngaphandle kokuskena uhla lwemibhalo oluthunyelwe.
i-virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
21
8 Amakilasi / inkomba yemisebenzi
Amapharamitha deviceHandle
Iyabuya
izichazamazwiLocationPath ResultObjectDictionary
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ezoskenela ngokuzenzakalelayo ama-OD afanelekile. Icacisa indlela eya kumkhombandlela we-OD. Ibonisa izici zesichazamazwi sento.
getAssignedObjectDictionary ()
Sebenzisa lo msebenzi ukuze uthole isichazamazwi sento esinikezwe idivayisi nge-DeviceHandle.
i-virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
Isibambo)
Amapharamitha deviceHandle Returns ResultObjectDictionary
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib ithola i-OD eyabelwe yona. Ibonisa izici zesichazamazwi sento.
getObjectDictionaryLibrary () Lo msebenzi ubuyisela ireferensi ye-OdLibrary.
i-virtual OdLibrary&nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
Ibuyisela i-OdLibrary&
Ivula yonke ilabhulali ye-OD kanye nezichazamazwi zayo.
setLoggingLevel () Sebenzisa lo msebenzi ukuze usethe imininingwane yelogi edingekayo (kanye nelogi file usayizi). Ileveli yokuzenzakalelayo Ulwazi.
virtual void nlc ::NanoLibAccessor::setLoggingLevel (Izinga leLogLevel)
Izinga lamapharamitha
Imininingwane yelogi elandelayo ingenzeka:
0 = Trace 1 = Debug 2 = Ulwazi 3 = Xwayisa 4 = Iphutha 5 = Okubalulekile 6 = Kucishiwe
Izinga eliphansi kakhulu (ilogi enkulu file); ifaka noma yimiphi imininingwane engenzeka, kanye ne-software start/stop. Ulwazi lokususa iphutha (= imiphumela yesikhashana, okuqukethwe kuthunyelwe noma okutholiwe, njll.) Izinga elizenzakalelayo; igcina imiyalezo yolwazi. Izinkinga zamalogi ezenzekile kodwa ngeke zimise i-algorithm yamanje. Amalogi enkingeni enkulu emise i-algorithm. Izinga eliphezulu kakhulu (ilogi encane file); ivala ukugawulwa kwemithi; akusekho ukungena nhlobo. Akukho ukugawula nhlobo.
setLoggingCallback ()
Sebenzisa lolu hlelo lokusebenza ukusetha isikhombisi sokuphinda ushaye kanye nemojula yelogi (= umtapo wolwazi) walokho kushayela emuva (hhayi okokuloga uqobo).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)
Amapharamitha *i-callback logModule
Isetha isikhombi sokubuyela emuva. Shuna i-callback (hhayi iloga!) kulabhulali yakho.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Yenza kusebenze ukuphinda ushayele okubalulekile kwe-NanoLib kuphela. Ivula i-CANopen-only callback. Ivula i-callback ye-Modbus kuphela. Ivula i-callback ye-EtherCAT kuphela.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
22
8 Amakilasi / inkomba yemisebenzi
4 = NanolibRest 5 = NanolibUSB
Yenza kusebenze ukuphinda kushayelwe kwe-REST kuphela. Yenza kusebenze ukuphinda ushaye nge-USB kuphela.
unsetLoggingCallback () Sebenzisa lo msebenzi ukuze ukhansele isikhombi sokungena sokuphinda ushayele.
virtual void nlc ::NanoLibAccessor::unsetLoggingCallback ()
fundaInombolo () Sebenzisa lo msebenzi ukuze ufunde inani lezinombolo kusichazamazwi sento.
virtual ResultInt nlc ::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Amapharamitha idivayisiPhatha i-odIndex
Ibuyisela ResultInt
Icacisa ukuthi i-NanoLib ifunda kuyiphi idivayisi yebhasi. Icacisa (sub-) inkomba ongafunda kuyo. Iletha inani lenombolo elingatolikwa (lingasayinwa, lingasayinwa, lilungise amanani ebhithi angu-16.16).
fundaI-NumberArray () Sebenzisa lo msebenzi ukufunda izinombolo zezinombolo ezivela kusichazamazwi sento.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)
Amapharamitha deviceHandle index
Ibuyisela ResultArrayInt
Icacisa ukuthi i-NanoLib ifunda kuyiphi idivayisi yebhasi. Uhlu lwenkomba yento. Iletha uhlu oluphelele.
readBytes () Sebenzisa lo msebenzi ukuze ufunde amabhayithi aphikisayo (idatha yento yesizinda) kusichazamazwi sento.
i-virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Amapharamitha idivayisiPhatha i-odIndex
Ibuyisela ResultArrayByte
Icacisa ukuthi i-NanoLib ifunda kuyiphi idivayisi yebhasi. Icacisa (sub-) inkomba ongafunda kuyo. Iletha i-byte array.
readString () Sebenzisa lo msebenzi ukuze ufunde izintambo ohlwini lwemibhalo yento.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Amapharamitha idivayisiPhatha i-odIndex
Ibuyisela ResultString
Icacisa ukuthi i-NanoLib ifunda kuyiphi idivayisi yebhasi. Icacisa (sub-) inkomba ongafunda kuyo. Iletha amagama edivayisi njengeyunithi yezinhlamvu.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
23
8 Amakilasi / inkomba yemisebenzi
bhalaInombolo () Sebenzisa lo msebenzi ukuze ubhale amanani ezinombolo kuhla lwemibhalo lwento.
virtual ResultVoid nlc ::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)
Idivayisi yamapharamithaPhatha inani le-odIndex bitLength
Ibuyisela i-ResultVoid
Icacisa ukuthi i-NanoLib ibhalela yiphi idivayisi yebhasi. Inani elingatolikwa (lingasayinwa, lingasayinwa, lilungise 16.16). Icacisa (sub-) inkomba ongafunda kuyo. Ubude ngebhithi. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
writeBytes () Sebenzisa lo msebenzi ukuze ubhale amabhayithi angenasizathu (idatha yento yesizinda) kumkhombandlela wento.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector nedatha, const OdIndex odIndex)
Amapharamitha idivayisiPhatha idatha ye-odIndex
Ibuyisela i-ResultVoid
Icacisa ukuthi i-NanoLib ibhalela yiphi idivayisi yebhasi. I-Byte vector / uhlu. Icacisa (sub-) inkomba ongafunda kuyo. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
LayishaI-Firmware ()
Sebenzisa lo msebenzi ukuze ubuyekeze i-firmware yesilawuli sakho.
i-virtual ResultVoid nlc::NanoLibAccessor::layishaIFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* callback)
Amapharamitha deviceHamba i-fwData NlcDataTransferCallback
Ibuyisela i-ResultVoid
Icacisa ukuthi iyiphi i-NanoLib ebuyekeza idivayisi yebhasi. Uhlu oluqukethe idatha ye-firmware. Umkhondo wokuqhubeka kwedatha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
uploadFirmwareFromFile ()
Sebenzisa lo msebenzi ukuze ubuyekeze i-firmware yakho yesilawuli ngokulayisha yayo file.
virtual ResultVoid nlc::NanoLibAccessor::layishaI-FirmwareKusukaFile (const DeviceHandle deviceHandle, const std::string & absoluteFileIndlela, NlcDataTransferCallback* callback)
Amapharamitha idivayisiBamba ngokupheleleFileIndlela ye-NlcDataTransferCallback
Ibuyisela i-ResultVoid
Icacisa ukuthi iyiphi i-NanoLib ebuyekeza idivayisi yebhasi. Indlela eya file equkethe idatha ye-firmware (std::string). Umkhondo wokuqhubeka kwedatha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
24
8 Amakilasi / inkomba yemisebenzi
layishaI-Bootloader ()
Sebenzisa lo msebenzi ukuze ubuyekeze i-bootloader yesilawuli sakho.
i-virtual ResultVoid nlc ::NanoLibIsisekeli::layishaI-Bootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* callback)
Amapharamitha deviceHandle btData NlcDataTransferCallback
Ibuyisela i-ResultVoid
Icacisa ukuthi iyiphi i-NanoLib ebuyekeza idivayisi yebhasi. Uhlu oluqukethe idatha ye-bootloader. Umkhondo wokuqhubeka kwedatha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
uploadBootloaderKusukaFile ()
Sebenzisa lo msebenzi ukuze ubuyekeze i-bootloader yesilawuli sakho ngokuyilayisha file.
i-virtual ResultVoid nlc ::NanoLibAccessor::layishaI-BootloaderKusukaFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileIndlela, NlcDataTransferCallback* callback)
Idivayisi yamapharamithaHamba i-bootloaderAbsoluteFileIndlela ye-NlcDataTransferCallback
Ibuyisela i-ResultVoid
Icacisa ukuthi iyiphi i-NanoLib ebuyekeza idivayisi yebhasi. Indlela eya file equkethe idatha ye-bootloader (std::string). Umkhondo wokuqhubeka kwedatha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
layishaI-BootloaderFirmware ()
Sebenzisa lo msebenzi ukuze ubuyekeze i-bootloader yesilawuli sakho ne-firmware.
i-virtual ResultVoid nlc ::NanoLibAccessor::layishaI-BooloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* callback)
Amapharamitha deviceHandle btData fwData NlcDataTransferCallback
Ibuyisela i-ResultVoid
Icacisa ukuthi iyiphi i-NanoLib ebuyekeza idivayisi yebhasi. Uhlu oluqukethe idatha ye-bootloader. Uhlu oluqukethe idatha ye-firmware. Umkhondo wokuqhubeka kwedatha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
uploadBootloaderFirmwareFromFile ()
Sebenzisa lo msebenzi ukuze ubuyekeze isilawuli sakho se-bootloader ne-firmware ngokulayisha ifayela le- files.
i-virtual ResultVoid nlc ::NanoLibAccessor::layishaI-BootloaderFirmwareKusukaFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileIndlela, const std::string & absoluteFileIndlela, NlcDataTransferCallback* callback)
Idivayisi yamapharamithaHamba i-bootloaderAbsoluteFileIndlela ipheleleFileIndlela ye-NlcDataTransferCallback
Ibuyisela i-ResultVoid
Icacisa ukuthi iyiphi i-NanoLib ebuyekeza idivayisi yebhasi. Indlela eya file equkethe idatha ye-bootloader (std::string). Indlela eya file equkethe idatha ye-firmware (uint8_t). Umkhondo wokuqhubeka kwedatha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
25
8 Amakilasi / inkomba yemisebenzi
layishaNanoJ ()
Sebenzisa lo msebenzi womphakathi ukuze ulayishe uhlelo lwe-NanoJ kusilawuli sakho.
virtual ResultVoid nlc::NanoLibAccessor::layishaNanoJ (DeviceHandle const deviceHamba, std::vector const & vmmData, NlcDataTransferCallback* callback)
Amapharamitha deviceHamba i-vmmData NlcDataTransferCallback
Ibuyisela i-ResultVoid
Icacisa ukuthi i-NanoLib ilayisha yiphi idivayisi yebhasi. Uhlu oluqukethe idatha ye-NanoJ. Umkhondo wokuqhubeka kwedatha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
layisha iNanoJFromFile ()
Sebenzisa lo msebenzi womphakathi ukuze ulayishe uhlelo lwe-NanoJ kusilawuli sakho ngokulayisha ifayela le- file.
virtual ResultVoid nlc::NanoLibAccessor::layishaNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileIndlela, NlcDataTransferCallback* callback)
Amapharamitha idivayisiBamba ngokupheleleFileIndlela ye-NlcDataTransferCallback
Ibuyisela i-ResultVoid
Icacisa ukuthi i-NanoLib ilayisha yiphi idivayisi yebhasi. Indlela eya file equkethe idatha ye-NanoJ (std::string). Umkhondo wokuqhubeka kwedatha. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
nqamulaIdivayisi () Sebenzisa lo msebenzi ukuze unqamule idivayisi yakho nge-DeviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Amapharamitha deviceHandle Returns ResultVoid
Icacisa ukuthi iyiphi idivayisi yebhasi i-NanoLib enqamula kuyo. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
khiphaDevice () Sebenzisa lo msebenzi ukuze ususe idivayisi yakho ohlwini lwangaphakathi lwedivayisi ye-NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Amapharamitha deviceHandle Returns ResultVoid
Icacisa ukuthi iyiphi idivayisi yebhasi ekhishwa yi-NanoLib. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
closeBusHardware () Sebenzisa lo msebenzi ukuze unqamule ku-hardware yakho ye-fieldbus.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
Amapharamitha busHwId Returns ResultVoid
Icacisa i-fieldbus okuzonqanyulwa kuyo. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
26
8 Amakilasi / inkomba yemisebenzi
8.2 I-BusHardwareId
Sebenzisa leli klasi ukuhlonza i-hardware yebhasi eyodwa-to-one noma ukuhlukanisa izingxenyekazi zehadiwe zamabhasi ezihlukile kwenye. Lesi sigaba (ngaphandle kokuthi imisebenzi ye-setter ingashintsheki kusukela ekudalweni kuye phambili) futhi siphethe ulwazi kokuthi:
Izingxenyekazi zekhompuyutha (= igama le-adaptha, i-adaptha yenethiwekhi njll.) Iphrothokholi ezosetshenziswa (= I-Modbus TCP, CANopen njll.) Isicacisi sehardware yebhasi (= igama lembobo yochungechunge, igama elinobungane le-MAC
ikheli njll.)
I-BusHardwareId () [1/3] Umakhi odala into entsha ye-ID yehadiwe yebhasi.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
Amapharamitha busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Uhlobo lwezingxenyekazi zekhompuyutha (= ZK-USB-CAN-1 njll.). Inqubo yokuxhumana yebhasi (= CANopen njll.). Isicacisi sehadiwe (= COM3 njll.). Isicacisi esengeziwe sezingxenyekazi zekhompuyutha (isho, ulwazi lwendawo ye-USB). Igama elinobungane (= AdapterName (Port) njll. ).
I-BusHardwareId () [2/3] Umakhi odala into entsha yehadiwe yebhasi, enenketho yesicacisi sezingxenyekazi zekhompyutha esengeziwe.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)
Amapharamitha busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Uhlobo lwezingxenyekazi zekhompuyutha (= ZK-USB-CAN-1 njll.). Inqubo yokuxhumana yebhasi (= CANopen njll.). Isicacisi sehadiwe (= COM3 njll.). Isicacisi esengeziwe sezingxenyekazi zekhompuyutha (isho, ulwazi lwendawo ye-USB). Igama elinobungane (= AdapterName (Port) njll. ).
I-BusHardwareId () [3/3] Umakhi okopisha ibhasi ekhonaHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
Amapharamitha busHardwareId
Isho i-ID yehadiwe yebhasi ozokopisha kuyo.
kulingana () Iqhathanisa i-ID yehadiwe yebhasi entsha naleyo ekhona.
bool nlc::BusHardwareId::equals (BusHardwareId const & nezinye) const
Amapharamitha okunye Ukubuyisela kuyiqiniso
Enye into yesigaba esifanayo. Uma zombili zilingana kuwo wonke amanani.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
27
8 Amakilasi / inkomba yemisebenzi
amanga
Uma amanani ehluka.
getBusHardware () Ifunda iyunithi yehadiwe yebhasi.
std::string nlc::BusHardwareId::getBusHardware () const
Ibuyisela iyunithi yezinhlamvu
getHardwareSpecifier () Ifunda iyunithi yezinhlamvu zehadiwe yebhasi (= igama lenethiwekhi njll.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Ibuyisela iyunithi yezinhlamvu
getExtraHardwareSpecifier () Ifunda iyunithi yezinhlamvu zezingxenyekazi zehadi ezengeziwe zebhasi (= ikheli le-MAC njll.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Ibuyisela iyunithi yezinhlamvu
i-getName () Ifunda igama elinobungane lehadiwe yebhasi.
std::string nlc::BusHardwareId::getName () const
Ibuyisela iyunithi yezinhlamvu
getProtocol () Ifunda uchungechunge lwephrothokholi yebhasi.
std::string nlc::BusHardwareId::getProtocol () const
Ibuyisela iyunithi yezinhlamvu
toString () Ibuyisela i-ID yehadiwe yebhasi njengeyunithi yezinhlamvu.
std::string nlc::BusHardwareId::toString () const
Ibuyisela iyunithi yezinhlamvu
8.3 Izinketho ze-BusHardware
Thola kuleli klasi, ohlwini lwenani elingukhiye lezintambo, zonke izinketho ezidingekayo ukuze uvule ihadiwe yebhasi.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
28
8 Amakilasi / inkomba yemisebenzi
I-BusHardwareOptions () [1/2] Yakha into entsha ye-hardware yebhasi yenketho.
nlc::Izinketho ze-BusHardware::Izinketho ze-BusHardware () Sebenzisa umsebenzi we-addOption () ukwengeza amapheya enani likakhiye.
I-BusHardwareOptions () [2/2] Yakha into entsha yezinketho zehadiwe yebhasi ngemephu yenani elingukhiye evele ikhona.
nlc::BusHardwareOptions::BusHardwareOptions (std::map Const & options)
Izinketho zamapharamitha
Imephu enezinketho zehadiwe yebhasi ezosebenza.
addOption () Idala okhiye namanani engeziwe.
void nlc::BusHardwareOption::addOption (std::string const & key, std::string const & value)
Inani lokhiye wamapharamitha
Example: BAUD_RATE_OPTIONS_NAME, bona okuzenzakalelayo kwe-bus_hw_options_
Example: BAUD_RATE_1000K, bona ibhasi_hw_options_defaults
iyalingana () Iqhathanisa Izinketho ze-BusHardware nezikhona kakade.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & nezinye) const
Amapharamitha okunye Ukubuyisela kuyiqiniso
amanga
Enye into yesigaba esifanayo. Uma enye into inazo zonke izinketho ezifanayo ncamashi. Uma enye into inokhiye noma amanani ahlukene.
I-getOptions () Ifunda wonke amapheya enani lokhiye angeziwe.
std::imephu nlc::BusHardwareOptions::getOptions () const
Ibuyisela imephu yeyunithi yezinhlamvu
toString () Ibuyisela bonke okhiye / amanani njengeyunithi yezinhlamvu.
std::string nlc::BusHardwareId::toString () const
Ibuyisela iyunithi yezinhlamvu
8.4 I-BusHwOptionsDefault
Lesi sigaba sezinketho zokumisa okuzenzakalelayo sinezibaluli ezilandelayo ezisesidlangalaleni:
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
29
8 Amakilasi / inkomba yemisebenzi
const CanBus const Serial const RESTfulBus const EtherCATBus
i-canBus = I-CanBus () i-serial = I-serial () i-restfulBus = i-RESTfulBus() ethercatBus = EtherCATBus()
8.5 CanBaudRate
Isakhiwo esiqukethe i-CAN bus baudrates kulezi zibaluli ezilandelayo zomphakathi:
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 = “UD_RATE_100k” = “UD_RATE_50k” “50k” BAUD_RATE_20K = “20k” BAUD_RATE_10K = “10k” BAUD_RATE_5K = “5k”
8.6 ICanBus
Isigaba sezinketho zokucushwa ezizenzakalelayo ngezibaluli ezilandelayo ezisesidlangalaleni:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = “izinga le-adaptha ye-baud” baudRate = I-CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
Ngesevisi ye-NMT, lesi sakhiwo siqukethe izifunda ze-CANopen NMT njengamavelu eyunithi yezinhlamvu kulezi zibaluli ezilandelayo zomphakathi:
const std::string const std::string const std::string const std::string const std::string
QALA = “QALA” MISA = “YIMA” PRE_OPERATIONAL = “PRE_OPERATIONAL” SETHA KABUSHA = “SETHA KABUSHA” RESET_COMMUNICATION = “RESET_COMMUNICATION”
8.8 CanOpenNmtState
Lesi sakhiwo siqukethe izifunda ze-CANopen NMT njengamavelu eyunithi yezinhlamvu kulezi zibaluli zomphakathi ezilandelayo:
const std::string const std::string const std::string const std::string const std::string
KUMISE = “KUMISE” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “OKUSEBENZA” UKUQALISA = “UKUQALA” OKUNGAZIWAYO = “OKUNGAZIWA”
8.9 Isakhiwo se-EtherCATBus
Lesi sakhiwo siqukethe izinketho zokucushwa kokuxhumana kwe-EtherCAT kulezi zibaluli zomphakathi ezilandelayo:
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
30
8 Amakilasi / inkomba yemisebenzi
const std::string NETWORK_FIRMWARE_STATE_OP- Isimo senethiwekhi sithathwa njengemodi ye-firmware. Kuyamukeleka
TION_NAME = “Isimo Se-Firmware Yenethiwekhi”
amanani (okuzenzakalelayo = PRE_OPERATIONAL):
I-EtherCATSstate::PRE_OPERATIONAL EtherCATSstate::SAFE_OPERATIONAL EtherCATSstate::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Isikhathi siphelile ngama-millisecond ukuze uthole ukukhiya okukhethekile
TION_NAME = “Isikhathi sokuvala sokukhiya okwabelwana ngaso”
inethiwekhi (okuzenzakalelayo = 500 ms).
const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Isikhathi siphelile ngama-millisecond ukuze uthole ukukhiya okwabiwe kuvuliwe
NAME = “Isikhathi sokuvala sokukhiya okwabelwana ngaso”
inethiwekhi (okuzenzakalelayo = 250 ms).
Const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”
const std::string READ_TIMEOUT_OPTION_NAME = Isikhathi siphelile ngama-millisecond ukuze kufundwe umsebenzi (okuzenzakalelayo
“Ukuphela Kwesikhathi Sokufunda”
= 700 ms).
const unsigned int DEFAULT_READ_TIMEOUT = “700”
const std::string WRITE_TIMEOUT_OPTION_NAME = Isikhathi siphelile ngama-millisecond omsebenzi wokubhala (okuzenzakalelayo
"Bhala Isikhathi Siphelile"
= 200 ms).
Const ayisayiniwe int DEFAULT_WRITE_TIMEOUT = “200”
const std::string READ_WRITE_ATTEMPTS_OPTION_ Imizamo eminingi yokufunda noma yokubhala (amanani angewona uziro
NAME = “Imizamo Yokufunda/Yokubhala”
kuphela; okuzenzakalelayo = 5).
const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Shintsha Imizamo Yesimo Senethiwekhi”
Inombolo enkulu yemizamo yokushintsha isimo senethiwekhi (amanani angewona aziro kuphela; okuzenzakalelayo = 10).
const okungasayiniwe ngo-int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”
const std::string PDO_IO_ENABLED_OPTION_NAME Inika amandla noma ikhubaze ukucutshungulwa kwe-PDO kwedijithali ku- /
= "I-PDO IO inikwe amandla"
okuphumayo (“Iqiniso” noma “Amanga” kuphela; okuzenzakalelayo = “Iqiniso”).
const std::string DEFAULT_PDO_IO_ENABLED = “Iqiniso”
8.10 Isakhiwo se-EtherCATSstate
Lesi sakhiwo siqukethe i-EtherCAT isigqila / izifunda zenethiwekhi njengamavelu eyunithi yezinhlamvu kuzibaluli ezilandelayo zomphakathi. Qaphela: Isimo esizenzakalelayo emandleni singu-PRE_OPERATIONAL; I-NanoLib ayikwazi ukuhlinzeka ngesimo "sokusebenza" esithembekile kusistimu yokusebenza okungeyona eyesikhathi sangempela:
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 = “IYASEBENZA”
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
31
8 Amakilasi / inkomba yemisebenzi
8.11 Ixxat
Lesi sakhiwo siphethe lonke ulwazi lwe-Ixxat usb-to-can kulezi zibaluli zomphakathi ezilandelayo:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "inombolo yebhasi ye-adaptha ye-ixxat"
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 I-IxxatAdapterBusNumber
Lesi sakhiwo siphethe inombolo yebhasi ye-Ixxat usb-to-can kulezi zibaluli zomphakathi ezilandelayo:
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”
I-8.13 Peak
Lesi sakhiwo siphethe lonke ulwazi lwe-Peak usb-to-can kulezi zibaluli zomphakathi ezilandelayo:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "inombolo yebhasi ye-adaptha enkulu"
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
Lesi sakhiwo siphethe inombolo yebhasi ye-Peak usb-to-can kulezi zici zomphakathi ezilandelayo:
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: 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_US_string (PCAN_USBBUS4) = 5to BUS_USB (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::9USB_NUMBER (PCAN_USB_NUMBER) 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_USBBUS string_to BUS13:13) (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS16)
8.15 I-DeviceHandle
Leli klasi limele isibambo sokulawula idivayisi ebhasini futhi linemisebenzi elandelayo yamalungu omphakathi.
I-DeviceHandle () I-DeviceHandle (isibambo se-uint32_t)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
32
8 Amakilasi / inkomba yemisebenzi
ilingana () Iziqhathanisa nesibambo sedivayisi esinikeziwe.
i-bool iyalingana (DeviceHandle const other) const (isibambo se-uint32_t)
toString () Ibuyisela ukumelwa kweyunithi yezinhlamvu yesibambo sedivayisi.
std::string toString () const
get () Ibuyisela isibambo sedivayisi.
uint32_t get () const
8.16 I-DeviceId
Sebenzisa leli klasi (elingenakushintshwa kusukela ekudalweni kuye phambili) ukuze uhlonze futhi uhlukanise amadivayisi ebhasi:
Inkomba ye-adaptha yezingxenyekazi zekhompyutha
Isihlonzi sedivayisi
Incazelo
Incazelo ye-ID yedivayisi / amanani encazelo incike ebhasini. Okwesiboneloample, ibhasi le-CAN lingasebenzisa inombolo ye-ID.
I-DeviceId () [1/3] Yakha into ye-ID yedivayisi entsha.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, idivayisi ye-int engabhalisiweId_, std::string const & definition_)
Amapharamitha busHardwareId_ deviceId_ description_
Inkomba yebhasi. Inkomba; ngaphansi kwebhasi (= I-ID yenodi ye-CANopen njll.). Incazelo (ingase ingabi nalutho); ngaphansi kwebhasi.
I-DeviceId () [2/3] Yakha into ye-ID yedivayisi entsha enezinketho ezinwetshiwe ze-ID.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, idivayisi ye-int engabhalisiweId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)
Amapharamitha busHardwareId_ deviceId_ description_ extraId_ extraStringId_
Inkomba yebhasi. Inkomba; ngaphansi kwebhasi (= I-ID yenodi ye-CANopen njll.). Incazelo (ingase ingabi nalutho); ngaphansi kwebhasi. I-ID eyengeziwe (ingase ingabi nalutho); incazelo incike ibhasi. I-ID yeyunithi yezinhlamvu eyengeziwe (ingase ingabi nalutho); incazelo incike ibhasi.
I-DeviceId () [3/3] Yakha ikhophi yento ye-ID yedivayisi.
nlc::DeviceId::DeviceId (DeviceId const &)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
33
8 Amakilasi / inkomba yemisebenzi
Amapharamitha deviceId_
I-ID yedivayisi ongakopishwa kuyo.
iyalingana () Iqhathanisa okusha nezinto ezikhona.
bool nlc::DeviceId::ilingana (I-DeviceId const & nezinye) const
Ibuyisela i-boolean
getBusHardwareId () Ifunda i-ID yehadiwe yebhasi.
BusHardwareId nlc::DeviceId::getBusHardwareId () const
Ibuyisela i-BusHardwareId
getDescription () Ifunda incazelo yedivayisi (mhlawumbe ayisetshenzisiwe).
std::string nlc::DeviceId::getDescription () const
Ibuyisela iyunithi yezinhlamvu
I-getDeviceId () Ifunda i-ID yedivayisi (mhlawumbe ayisetshenzisiwe).
unsigned int nlc::DeviceId::getDeviceId () const
Ibuyisela int engasayiniwe
toString () Ibuyisela into njengeyunithi yezinhlamvu.
std::string nlc::DeviceId::toString () const
Ibuyisela iyunithi yezinhlamvu
getExtraId () Ifunda i-ID eyengeziwe yedivayisi (ingase ingasetshenziswa).
const std::vector &getExtraId () const
Ibuyisela i-vector
Ivekhtha yama-ID engeziwe (ingase ingabi nalutho); okusho kuncike ebhasini.
getExtraStringId () Ifunda i-ID yeyunithi yezinhlamvu eyengeziwe yedivayisi (ingase ingasetshenziswa).
std::string getExtraStringId () const
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
34
8 Amakilasi / inkomba yemisebenzi
Ibuyisela iyunithi yezinhlamvu
I-ID yeyunithi yezinhlamvu eyengeziwe (ingase ingabi nalutho); okusho kuncike ebhasini.
8.17 I-LogLevelConverter
Leli klasi libuyisela ileveli yelogi yakho njengeyunithi yezinhlamvu. I-std emile::string toString (nlc::LogLevel logLevel)
8.18 I-LogModuleConverter
Leli klasi libuyisela ilogu yakho ye-modulesetLoggingLevel () njengeyunithi yezinhlamvu.
i-std emile::uchungechunge
toString (nlc::LogModule logModule)
i-std emile::string toString (nlc::LogModule yelogiModule)
8.19 ObjectDictionary
Leli klasi limelela isichazamazwi sento yesilawuli futhi linemisebenzi elandelayo yamalungu omphakathi: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Returns ResultDeviceHandle
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Ibuyisela ResultObjectSubEntry
getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t index)
Ibuyisela i-ResultObjectEntry
Yazisa ngezakhiwo zento.
tholaXmlFileIgama () virtual ResultString getXmlFileIgama () const
Ibuyisela ResultString
Ibuyisela i-XML file igama njengentambo.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Ibuyisela ResultInt
fundaNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const index)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
35
8 Amakilasi / inkomba yemisebenzi
Ibuyisela ResultArrayInt readString ()
I-virtual ResultString readString (OdIndex const odIndex) Ibuyisela ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Ibuyisela ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odInturns_ResultIndex64,OdIndex const odInturns8, writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Ibuyisela Izixhumanisi Ezihlobene Ne-ResultVoid OdIndex
8.20 ObjectEntry
Lesi sigaba simele into efakiwe yesichazamazwi sento, sinesibaluli esilandelayo esivikelekile esivikelekile kanye nemisebenzi yamalungu omphakathi:
static nlc::ObjectSubEntry invalidObject
getName () Ufunda igama lento njengeyunithi yezinhlamvu.
virtual std::string getName () const
getPrivate () Ihlola ukuthi into iyimfihlo yini.
virtual bool getPrivate () const
I-getIndex () Ifunda ikheli lenkomba yento.
virtual uint16_t getIndex () const
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
36
8 Amakilasi / inkomba yemisebenzi
i-getDataType () Ifunda uhlobo lwedatha yento.
i-nlc ebonakalayo::ObjectEntryDataType getDataType () const
getObjectCode () Ifunda ikhodi yento:
I-Null Defftype Defstruct Var Array Record
0x00 0x05 0x06 0x07 0x08 0x09
virtual nlc::ObjectCode getObjectCode () const
getObjectSaveable () Ihlola ukuthi into iyagcineka yini futhi iyisigaba (bona imanuwali yomkhiqizo ukuze uthole imininingwane eyengeziwe): ISICELO, UKUXHUMANA, DRIVE, MISC_CONFIG, MODBUS_RTU, CHA, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKLENOWN_SAVE
i-virtual nlc::ObjectSaveable getObjectSaveable () const
getMaxSubIndex () Ifunda inani lemibhalo engezansi esekelwa yile nto.
virtual uint8_t getMaxSubIndex () const
getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Bheka futhi ObjectSubEntry.
8.21 ObjectSubEntry
Leli klasi limele into efakwa ngaphansi (i-sub-index) yesichazamazwi sento futhi linemisebenzi elandelayo yamalungu omphakathi:
getName () Ufunda igama lento njengeyunithi yezinhlamvu.
virtual std::string getName () const
getSubIndex () Ifunda ikheli le-subindex.
virtual uint8_t getSubIndex () const
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
37
8 Amakilasi / inkomba yemisebenzi
i-getDataType () Ifunda uhlobo lwedatha yento.
i-nlc ebonakalayo::ObjectEntryDataType getDataType () const
I-getSdoAccess () Ihlola ukuthi i-subindex iyafinyeleleka yini nge-SDO:
Funda Kuphela
1
Bhala Kuphela
2
FundaBhala
3
NoAccess
0
i-virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const
I-getPdoAccess () Ihlola ukuthi i-subindex iyafinyeleleka/iyahleleka yini nge-PDO:
Tx
1
Rx
2
TxRx
3
Cha
0
i-virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const
I-getBitLength () Ihlola ubude be-subindex.
virtual uint32_t getBitLength () const
I-getDefaultValueAsNumeric () Ifunda inani elimisiwe le-subindex yezinhlobo zedatha yezinombolo.
I-virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () Ifunda inani elimisiwe le-subindex yezinhlobo zedatha yeyunithi yezinhlamvu.
I-virtual ResultString getDefaultValueAsString (std::string const & key) const
getDefaultValues () Ifunda amanani azenzakalelayo we-subindex.
i-virtual std::map getDefaultValues () const
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
38
8 Amakilasi / inkomba yemisebenzi
fundaInombolo () Ifunda inani langempela lezinombolo le-subindex.
I-virtual ResultInt readNumber () const
readString () Ifunda iyunithi yezinhlamvu inani langempela le-subindex.
I-virtual ResultString readString () const
readBytes () Ifunda inani langempela le-subindex ngamabhayithi.
virtual ResultArrayByte readBytes () const
bhalaInombolo () Ibhala inani lenombolo kunkomba encane.
virtual ResultVoid writeNumber (const int64_t value) const
writeBytes () Ibhala inani ku-subindex ngamabhayithi.
virtual ResultVoid writeBytes (std::vector const & data) const
8.22 I-OdIndex
Sebenzisa leli klasi (elingenakuguquleka kusukela ekudalweni kuya phambili) ukugoqa futhi uthole izinkomba zenkomba / izinkomba ezincane. I-OD yedivayisi inemigqa efika ku-65535 (0xFFFF) namakholomu angu-255 (0xFF); enezikhala phakathi kwemigqa engaqhubeki. Bona izinga le-CANopen kanye nemanuwali yomkhiqizo wakho ukuze uthole imininingwane eyengeziwe.
I-OdIndex () Yakha into entsha ye-OdIndex.
nlc::OdIndex::OdIndex (uint16_t index, uint8_t subIndex)
I-subindex ye-Parameters index
Ukusuka ku-0 kuye ku-65535 (0xFFFF) kuhlanganisa. Ukusuka ku-0 kuye ku-255 (0xFF) kuhlanganisa.
getIndex () Ifunda inkomba (kusuka ku-0x0000 kuya ku-0xFFFF).
uint16_t nlc::OdIndex::getIndex () const
Ibuyisela i-uint16_t
getSubindex () Ifunda inkomba engaphansi (kusuka ku-0x00 kuye ku-0xFF)
uint8_t nlc::OdIndex::getSubIndex () const
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
39
8 Amakilasi / inkomba yemisebenzi
Ibuyisela i-uint8_t
toString () Ibuyisela inkomba ne-subindex njengeyunithi yezinhlamvu. Okuzenzakalelayo kweyunithi yezinhlamvu 0xIIII:0xSS ifundeka kanje:
I = inkomba kusuka ku-0x0000 kuya ku-0xFFFF
S = inkomba engaphansi isuka ku-0x00 iye ku-0xFF
std::string nlc::OdIndex::toString () const
Ibuyisela 0xIII:0xSS
Ukumelwa kweyunithi yezinhlamvu okuzenzakalelayo
8.23 I-OdLibrary
Sebenzisa lesi sikhombimsebenzisi sohlelo ukuze udale izimo zekilasi le-ObjectDictionary kusuka ku-XML. Nge-assignObjectDictionary, ungabese ubophezela isenzakalo ngasinye kudivayisi ethile ngenxa yesikhombi esidalwe ngokukhethekile. Ngakho-ke izimo ze-ObjectDictionary ezidaliwe zigcinwa entweni ye-OdLibrary ukuze ifinyelelwe ngenkomba. Ikilasi le-ODLibrary lilayisha izinto ze-ObjectDictionary kusuka file noma amalungu afanayo, ayawagcina, futhi anemisebenzi elandelayo yamalungu omphakathi:
getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const
getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Ibuyisela ResultObjectDictionary
addObjectDictionaryFromFile ()
virtual ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileIndlela)
Ibuyisela ResultObjectDictionary
addObjectDictionary ()
virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileIndlela = std::string ())
Ibuyisela ResultObjectDictionary
8.24 I-OdTypesHelper
Ngokungeziwe emisebenzini elandelayo yamalungu omphakathi, leli klasi liqukethe izinhlobo zedatha yangokwezifiso. Qaphela: Ukuze uhlole izinhlobo zedatha yakho yangokwezifiso, bheka i-enum class ObjectEntryDataType kokuthi od_types.hpp.
i-uintToObjectCode () Iguqula izinombolo ezingasayiniwe zibe ikhodi yento:
I-null Defftype
0x00 0x05
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
40
8 Amakilasi / inkomba yemisebenzi
I-Defstruct Var Array Record
0x06 0x07 0x08 0x09
I-static ObjectCode uintToObjectCode (ikhodi yento engasayiniwe)
isNumericDataType () Yazisa uma uhlobo lwedatha luyinombolo noma cha.
i-static boool isNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () Yazisa uma into iyinkomba yesakhiwo sencazelo noma cha.
i-static boool isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Yazisa uma into iyinkomba yohlobo lwencazelo noma cha.
i-static boool isDeftypeIndex (uint16_t typeNum)
i-isComplexDataType () Yazisa uma uhlobo lwedatha luyinkimbinkimbi noma cha.
i-static bool isComplexDataType (ObjectEntryDataType dataType)
i-uintToObjectEntryDataType () Iguqula izinombolo ezingasayiniwe zibe uhlobo lwedatha ye-OD.
I-sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () Iguqula uhlobo lwedatha ye-OD lube iyunithi yezinhlamvu.
i-std emile::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
I-stringToObjectEntryDatatype () Iguqula iyunithi yezinhlamvu ibe uhlobo lwedatha ye-OD uma kungenzeka. Uma kungenjalo, ibuyisela okuthi UNKNOWN_DATATYPE.
I-static ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
41
8 Amakilasi / inkomba yemisebenzi
objectEntryDataTypeBitLength () Yazisa ngobude bebhithi yohlobo lwedatha efakiwe.
i-static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)
8.25 Isakhiwo se-RESTfulBus
Lesi sakhiwo siqukethe izinketho zokumisa zokuxhumana ze-RESTful interface (ngaphezu kwe-Ethernet). Iqukethe izici zomphakathi ezilandelayo:
const std::string const engasayiniwe eside const std::string const engasayiniwe ende const std::string const eside
CONNECT_TIMEOUT_OPTION_NAME = “Isikhathi Siphelile Sokuxhumanisa Okuphumulayo” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Isikhathi sokuvala sesicelo esiphumulayo” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “Isikhathi sokuPhendula esiPheleleyo esiPheleleyo750RESOWU-DEXNUMX+ DEFAULT_REQUEST_TIMEOUT”
8.26 ProfinetDCP
Ngaphansi kwe-Linux, uhlelo lokusebenza lokushaya ludinga amakhono we-CAP_NET_ADMIN kanye ne-CAP_NET_RAW. Ukuze unike amandla: i-sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Ku-Windows, isixhumi esibonakalayo seProfinetDCP sisebenzisa i-WinPcap (ihlolwe ngenguqulo 4.1.3) noma i-Npcap (ihlolwe ngezinguqulo 1.60 no-1.30). Ngakho isesha umtapo wezincwadi we-wpcap.dll olayishwe ngamandla ngendlela elandelayo (Qaphela: alukho usekelo lwe-Win10Pcap lwamanje):
1. Inkomba ye-Nanolib.dll 2. Inkomba yesistimu ye-Windows SystemRoot%System32 3. Inkomba yokufaka i-Npcap SystemRoot%System32Npcap 4. Indlela yemvelo
Leli klasi limele i-Profinet DCP futhi linemisebenzi elandelayo yamalungu omphakathi:
I-getScanTimeout () Yazisa ngesikhathi sokuvala sokuskena idivayisi (okuzenzakalelayo = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () Isetha isikhathi sokuvala sokuskena idivayisi (okuzenzakalelayo = 2000 ms).
i-virtual void nlc::setScanTimeout (uint32_t timeoutMsec)
I-getResponseTimeout () Yazisa ekuphelelweni kwempendulo yedivayisi yokusetha, ukusetha kabusha kanye nokusebenza kokucwayiza (okuzenzakalelayo = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () Yazisa ngesikhathi sokuvala sempendulo yedivayisi yokusetha, ukusetha kabusha kanye nokusebenza kokucwayiza (okuzenzakalelayo = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
42
8 Amakilasi / inkomba yemisebenzi
iServiceIyatholakala ()
Sebenzisa lo msebenzi ukuhlola ukutholakala kwesevisi ye-Profinet DCP.
Ukuba semthethweni kwe-adaptha yenethiwekhi / ukutholakala kweWindows: WinPcap / Npcap ukutholakala Linux: CAP_NET_ADMIN / CAP_NET_RAW amakhono
virtual ResultVoid nlc::ProfinetDCP::isServiceIyatholakala (const BusHardwareId & busHardwareId)
Amapharamitha I-BusHardwareId Ibuyisela iqiniso
amanga
I-Hardware ID yesevisi ye-Profinet DCP okufanele uyihlole. Isevisi iyatholakala. Isevisi ayitholakali.
scanProfinetDevices () Sebenzisa lo msebenzi ukuskena ibhasi lehadiwe ukuze uthole ukuthi kukhona yini amadivayisi we-Profinet.
I-virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)
Amapharamitha I-BusHardwareId Ibuyisela I-ResultProfinetDevices
Icacisa ibhasi ngalinye elizovulwa. Izingxenyekazi zekhompuyutha zivuliwe.
setupProfinetDevice () Isungula izilungiselelo zedivayisi ezilandelayo:
Igama ledivayisi
Ikheli le-IP
Imaski yenethiwekhi
Isango elizenzakalelayo
i-virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () Imisa idivayisi futhi iyisethe kabusha kokumisiwe kwasembonini.
i-virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () Iyala idivayisi ye-Profinet ukuthi iqale ukucwayiza i-Profinet LED yayo.
i-virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)
validateProfinetDeviceIp () Sebenzisa lo msebenzi ukuhlola ikheli le-IP ledivayisi.
i-virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)
Amapharamitha BusHardwareId ProfinetDevice
Icacisa i-ID yehadiwe okufanele ihlolwe. Icacisa idivayisi ye-Profinet ezoqinisekiswa.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
43
8 Amakilasi / inkomba yemisebenzi
Ibuyisela i-ResultVoid
8.27 Isakhiwo se-ProfinetDevice
Idatha yedivayisi ye-Profinet inalezi zimpawu ezilandelayo ezisesidlangalaleni:
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
deviceName deviceVendor macAddress ipAddress netMask defaultGateway
Ikheli le-MAC linikezwe njengelungu elifanayo ngefomethi macAddress = {xx, xx, xx, xx, xx, xx}; kuyilapho ikheli le-IP, imaski yenethiwekhi kanye nesango konke kuhunyushwa njengezinombolo ezinkulu ze-endian hex, njenge:
Ikheli lasesizindeni se-inthanethi: 192.168.0.2 Imaski yenethiwekhi: 255.255.0.0 Isango: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Amakilasi emiphumela
Sebenzisa amanani okubuyisela "ongakukhetha" alawa makilasi ukuze uhlole ukuthi ikholi yomsebenzi ibe yimpumelelo noma cha, futhi uthole nezizathu zokuhluleka. Empumelelweni, umsebenzi we-hasError () ubuyisela okungamanga. Nge-getResult (), ungafunda inani lomphumela njengohlobo ngalunye (ResultInt njll.). Uma ucingo lwehluleka, ufunda isizathu ngokuthi getError ().
Izibaluli ezivikelekile
iyunithi yezinhlamvu NlcErrorCode uint32_t
errorString errorCode exErrorCode
Futhi, leli klasi linemisebenzi elandelayo yamalungu omphakathi:
hasError () Ifunda impumelelo yocingo lomsebenzi.
bool nlc::Umphumela::hasError () const
Iyabuya
amanga eqiniso
Ikholi ehlulekile. Sebenzisa i-getError () ukuze ufunde inani. Ikholi eyimpumelelo. Sebenzisa i-getResult () ukuze ufunde inani.
getError () Ifunda isizathu uma ucingo lomsebenzi lwehluleka.
const std::string nlc::Umphumela::getError () const
Ibuyisela iyunithi yezinhlamvu ze-const
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
44
8 Amakilasi / inkomba yemisebenzi
umphumela () Imisebenzi elandelayo isiza ekuchazeni imiphumela eqondile:
Umphumela (std::string const & errorString_)
Umphumela (NlcErrorCode const & errCode, std::string const & errorString_)
Umphumela (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Umphumela (Umphumela Const & Chile)
getErrorCode () Funda i-NlcErrorCode.
I-NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 UmphumelaOngenalutho
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuya ungenalutho. Isigaba sizuza njengefa imisebenzi yomphakathi kanye nezibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
I-ResultVoid () Imisebenzi elandelayo isiza ekuchazeni umphumela ongenalutho oqondile:
I-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_)
I-ResultVoid (Umphumela Const & Chile)
8.28.2 Umphumela
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela inombolo ephelele. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
getResult () Ibuyisela umphumela wenombolo ephelele uma ucingo lomsebenzi lube yimpumelelo.
int64_t getResult () const
Ibuyisela int64_t
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
45
8 Amakilasi / inkomba yemisebenzi
I-ResultInt () Imisebenzi elandelayo isiza ekuchazeni umphumela wenombolo ephelele:
Umphumela (int64_t result_)
UmphumelaInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
I-ResultInt (Umphumela Const & Chile)
8.28.3 I-ResultString
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela iyunithi yezinhlamvu. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
getResult () Ifunda umphumela weyunithi yezinhlamvu uma ucingo lomsebenzi lube yimpumelelo.
const std::string nlc::ResultString::getResult () const
Ibuyisela iyunithi yezinhlamvu ze-const
I-ResultString () Imisebenzi elandelayo isiza ekuchazeni umphumela wochungechunge oluqondile:
I-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_)
I-ResultString (Umphumela Const & Chile)
8.28.4 I-ResultArrayByte
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela i-byte array. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
getResult () Ifunda i-byte vector uma ucingo lomsebenzi lube yimpumelelo.
const std::vector nlc::ResultArrayByte::getResult () const
Ibuyisela i-const vector
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
46
8 Amakilasi / inkomba yemisebenzi
I-ResultArrayByte () Imisebenzi elandelayo isiza ekuchazeni umphumela we-byte oqondile:
UmphumelaArrayByte (std::vector Const & result_)
UmphumelaArrayByte (std::string const & errorString_)
I-ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
I-ResultArrayByte (Umphumela Const & Chile)
8.28.5 I-ResultArrayInt
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela uhlu oluphelele. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
I-getResult () Ifunda i-vector ephelele uma ucingo lomsebenzi lube yimpumelelo.
const std::vector nlc::ResultArrayInt::getResult () const
Ibuyisela i-const vector
I-ResultArrayInt () Imisebenzi elandelayo isiza ekuchazeni umphumela wamalungu afanayo aphelele:
I-ResultArrayInt (std::vector Const & result_)
I-ResultArrayInt (std::string const & errorString_)
I-ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
I-ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
I-ResultArrayInt (Umphumela Const & Chile)
8.28.6 Ama-ResultBusHwIds
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela i-ID yezingxenyekazi zekhompyutha zebhasi. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
getResult () Ifunda i-bus-hardware-ID vector uma ucingo lomsebenzi lube yimpumelelo.
const std::vector nlc::ResultBusHwIds::getResult () const
Amapharamitha ahlanganisa i-vector
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
47
8 Amakilasi / inkomba yemisebenzi
I-ResultBusHwIds () Imisebenzi elandelayo isiza ekuchazeni umphumela oqondile we-bus-hardware-ID-array:
I-ResultBusHwIds (std::vector Const & result_)
I-ResultBusHwIds (std::string const & errorString_)
I-ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
I-ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
I-ResultBusHwIds (Umphumela Const & Chile)
8.28.7 ResultDeviceId
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela i-ID yedivayisi. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
getResult () Ifunda i-ID yedivayisi uma ucingo lomsebenzi lube yimpumelelo.
I-DeviceId nlc::ResultDeviceId::getResult () const
Ibuyisela i-const vector
I-ResultDeviceId () Imisebenzi elandelayo isiza ekuchazeni umphumela we-ID yedivayisi:
I-ResultDeviceId (I-DeviceId const & result_)
I-ResultDeviceId (std::string const & errorString_)
I-ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
I-ResultDeviceId (Umphumela Const & Chile)
8.28.8 ResultDeviceIds
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela uhlu lwe-ID yedivayisi. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
getResult () Ibuyisela i-ID yedivayisi uma ucingo lomsebenzi lube yimpumelelo.
DeviceId nlc::ResultDeviceIds::getResult () const
Ibuyisela i-const vector
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
48
8 Amakilasi / inkomba yemisebenzi
I-ResultDeviceIds () Imisebenzi elandelayo isiza ekuchazeni umphumela wamalungu afanayo edivayisi:
I-ResultDeviceIds (std::vector Const & result_)
I-ResultDeviceIds (std::string const & errorString_)
I-ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
I-ResultDeviceIds (Umphumela Const & Chile)
8.28.9 ResultDeviceHandle
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela inani lesibambo sedivayisi. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
i-getResult () Ifunda isibambo sedivayisi uma ucingo lomsebenzi lube yimpumelelo.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Ibuyisela i-DeviceHandle
I-ResultDeviceHandle () Imisebenzi elandelayo isiza ekuchazeni umphumela oqondile wokubamba idivayisi:
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_)
I-ResultDeviceHandle (Umphumela Const & Chile)
8.28.10 UmphumelaObjectDictionary
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela okuqukethwe kwesichazamazwi sento. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
getResult () Ifunda i-ID yedivayisi uma ucingo lomsebenzi lube yimpumelelo.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
49
8 Amakilasi / inkomba yemisebenzi
Iyabuya
const vector
I-ResultObjectDictionary () Imisebenzi elandelayo isiza ekuchazeni umphumela wesichazamazwi sento okuyiyonayona:
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_)
I-ResultObjectDictionary (Umphumela Const & Chile)
8.28.11 ResultConnectionState
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela ulwazi lwesimo sokuxhumeka kwedivayisi. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
i-getResult () Ifunda isibambo sedivayisi uma ucingo lomsebenzi lube yimpumelelo.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
Ibuyisela I-DeviceConnectionStateInfo Ixhunyiwe / Ayixhunyiwe / I-ConnectedBooloader
I-ResultConnectionState () Imisebenzi elandelayo isiza ekuchazeni umphumela wesimo sokuxhuma ncamashi:
I-ResultConnectionState (DeviceConnectionStateInfo const & result_)
I-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_)
I-ResultConnectionState (Umphumela Const & Chile)
8.28.12 I-ResultObjectEntry
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela into efakiwe. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
50
8 Amakilasi / inkomba yemisebenzi
getResult () Ibuyisela i-ID yedivayisi uma ucingo lomsebenzi lube yimpumelelo.
nlc::ObjectEntry const&nlc::ResultObjectEntry::getResult () const
Ibuyisela i-const ObjectEntry
I-ResultObjectEntry () Imisebenzi elandelayo isiza ekuchazeni umphumela wokufakwa kwento okuyiyonayona:
I-ResultObjectEntry (nlc::ObjectEntry const & result_)
I-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_)
I-ResultObjectEntry (Umphumela Const & Chile)
8.28.13 ResultObjectSubEntry
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela into efakwe ngaphansi. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
getResult () Ibuyisela i-ID yedivayisi uma ucingo lomsebenzi lube yimpumelelo.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Ibuyisela i-const ObjectSubEntry
I-ResultObjectSubEntry () Imisebenzi elandelayo isiza ekuchazeni umphumela wokufakwa kancane kwento eqondile:
I-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_)
I-ResultObjectSubEntry (Umphumela uhlanganisa nomphumela)
8.28.14 ResultProfinetDevices
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuyisela idivayisi ye-Profinet. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
51
8 Amakilasi / inkomba yemisebenzi
getResult () Ifunda i-vector yedivayisi ye-Profinet uma ucingo lomsebenzi lube yimpumelelo.
const std::vector & getResult () const
I-ResultProfinetDevices () Imisebenzi elandelayo isiza ekuchazeni amadivaysi e-Profinet aqondile.
ResultProfinetDevices (const std::vector &ProfinetDevices)
I-ResultProfinetDevices (umphumela we-const nomphumela)
ResultProfinetDevices (consst std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ImiphumelaampleDataArray
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuya njengeample idatha array. Isigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi linemisebenzi elandelayo yamalungu omphakathi:
I-getResult () Ifunda uhlu lwedatha uma ucingo lomsebenzi lube yimpumelelo.
const std::vector <SampleData> & getResult () const
ImiphumelaampI-leDataArray () Imisebenzi elandelayo isiza ekuchazeni amadivaysi e-Profinet aqondile.
ImiphumelaampleDataArray (const std::vector <SampleData> & dataArray)
ImiphumelaampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
ImiphumelaampleDataArray (const ResultSampI-leDataArray nokunye)
ImiphumelaampI-leDataArray (umphumela we-const nomphumela)
8.28.16 ImiphumelaamplerState
I-NanoLib ikuthumela isibonelo saleli klasi uma umsebenzi ubuya njengeampler state.Lesi sigaba sizuza njengefa imisebenzi yomphakathi / izibaluli ezivikelwe kusukela kusigaba semiphumela futhi sinemisebenzi elandelayo yamalungu omphakathi:
i-getResult () Ufunda isi-sampler state vector uma ucingo lomsebenzi lube yimpumelelo.
SamplerState getResult () const
Ibuyisela u-SamplerState>
Akulungiselelwe / Akulungisiwe / Kulungile / Kuyasebenza / Kuqediwe / Kwehlulekile / Kukhanseliwe
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
52
8 Amakilasi / inkomba yemisebenzi
ImiphumelaamplerState () Imisebenzi elandelayo isiza ekuchazeni i-sampler state.
ImiphumelaamplerState (const SamplerState state)
ImiphumelaamplerState (consst std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
extendedErrorCode = 0)
ImiphumelaamplerState (const ResultSamplerState & nezinye)
Imiphumelaampi-lerState (umphumela we-const nomphumela)
8.29NlcErrorCode
Uma kukhona okungahambanga kahle, amakilasi omphumela abika eyodwa yamakhodi ephutha asohlwini lwalokhu kubalwa.
Ikhodi yephutha Impumelelo OkujwayelekileIphutha I-BusUnavailable CommunicationError ProtocolError
I-ODDoesAyikho ODIAyivumelekileUkufinyelela ku-ODTypeUkusebenza OkungafaniyoKuhoxisiweUkusebenza OkungavumelekileAkusekelweUkusebenza Okungavumelekile
Izimpikiswano EzingavumelekileIsisetshenziswa sokufinyelelaEnqatshiweAyitholakaliIsisetshenziswa esingatholakali se-OfOfMemory TimeOutError
C: Isigaba D: Incazelo R: Isizathu C: Akukho. D: Alikho iphutha. R: Umsebenzi uqede ngempumelelo.
C: Okungashiwongo. D: Iphutha elingashiwongo. R: Ukwehluleka okungalingani nesinye isigaba.
C: Ibhasi. D: Ibhasi le-Hardware alitholakali. R: Ibhasi alikho, linqanyuliwe noma linesici.
C: Ukuxhumana. D: Ukuxhumana akuthembeki. R: Idatha engalindelekile, i-CRC engalungile, amaphutha ozimele noma amaphutha, njll.
C: Iphrothokholi. D: Iphutha lephrothokholi. R: Impendulo ngemva kwenketho yephrothokholi engasekelwe, umbiko wephrothokholi ongasekelwe wedivayisi, iphutha kuphrothokholi (yithi, ibhithi yokuvumelanisa ingxenye ye-SDO), njll. R: Impendulo noma umbiko wedivayisi kuphrothokholi engasekelwe (izinketho) noma kumaphutha kuphrothokholi (yithi, SDO ibhithi yokuvumelanisa ingxenye), njll. R: Iphrothokholi engasekelwe (izinketho) noma iphutha kuphrothokholi (ithi, ibhithi yokuvumelanisa ingxenye ye-SDO), njll.
C: Isichazamazwi sento. D: Ikheli le-OD alikho. R: Alikho ikheli elinjalo kusichazamazwi sento.
C: Isichazamazwi sento. D: Ukufinyelela kukheli le-OD akuvumelekile. R: Zama ukubhala ikheli lokufunda kuphela, noma ukufunda ekhelini elibhala kuphela.
C: Isichazamazwi sento. D: Thayipha ukungafani. R: Inani aliguqulwanga libe ohlotsheni oluthile, ake sithi, emzamweni wokuphatha uchungechunge njengenombolo.
C: Isicelo. D: Inqubo inqanyuliwe. R: Inqubo isikwe ngesicelo sesicelo. Ibuyisela kuphela ekusebenzeni kuphazamiseke umsebenzi wokuphinda ushayele emuva, yithi, kusukela ekuskeneni kwebhasi.
C: Okuvamile. D: Inqubo ayisekelwe. R: Akukho ukusekelwa kwehardware yebhasi / idivayisi.
C: Okuvamile. D: Inqubo ayilungile kumongo wamanje, noma ayivumelekile nokuphikisana kwamanje. R: Umzamo wokuxhuma kabusha kumabhasi/amadivayisi asevele axhunyiwe. Umzamo wokunqamula kulabo asebenqanyuliwe kakade. Umzamo wokusebenza kwe-bootloader kwimodi ye-firmware noma ngokuphambene nalokho.
C: Okuvamile. D: Ukungqubuzana akuvumelekile. R: I-logic engalungile noma i-syntax.
C: Okuvamile. D: Ukufinyelela kunqatshiwe. R: Ukuntuleka kwamalungelo noma amakhono okwenza umsebenzi oceliwe.
C: Okuvamile. D: Into eshiwo ayitholakali. R: Ibhasi lehadiwe, umthetho olandelwayo, idivayisi, ikheli le-OD kudivayisi, noma file ayitholakalanga.
C: Okuvamile. D: Into eshiwo ayitholakali. R: umatasatasa, akekho, unqanyuliwe noma unesici.
C: Okuvamile. D: Inkumbulo enganele. R: Inkumbulo encane kakhulu ukucubungula lo myalo.
C: Okuvamile. D: Inqubo iphelelwe yisikhathi. R: Buyela ngemva kokuphelelwa yisikhathi. Ukuphelelwa yisikhathi kungase kube isikhathi sokuphendula idivayisi, isikhathi sokuthola ukufinyelela okwabelwana ngaso noma okukhethekile, noma isikhathi sokushintsha ibhasi/idivayisi ibe sesimweni esifanele.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
53
8 Amakilasi / inkomba yemisebenzi
8.30 NlcCallback
Lesi sigaba somzali sokufonelwa emuva sinomsebenzi olandelayo welungu lomphakathi: ukushayela emuva ()
I-virtual ResultVoid callback ()
Iyabuya
UmphumelaVoid
8.31 NlcDataTransferCallback
Sebenzisa leli klasi lokushayela emuva ukuze udlulise idatha (isibuyekezo se-firmware, ukulayisha kwe-NanoJ njll.). 1. Ngokulayishwa kwe-firmware: Chaza "i-co-class" enweba lena ngendlela yangokwezifiso yokuphinda ushayele
ukuqaliswa. 2. Sebenzisa izimo "ze-co-class" kumakholi we-NanoLibAccessor.uploadFirmware (). Isigaba esiyinhloko ngokwaso sinomsebenzi olandelayo welungu lomphakathi:
callback () virtual ResultVoid callback (nlc::DataTransferInfo info, int32_t data)
Iyabuya
UmphumelaVoid
8.32 NlcScanBusCallback
Sebenzisa leli klasi lokuphinda ushayele ukuskena ibhasi. 1. Chaza "i-co-class" enweba lena ngokusebenzisa indlela yokushayela yangokwezifiso. 2. Sebenzisa izimo "ze-co-class" kumakholi we-NanoLibAccessor.scanDevices (). Isigaba esikhulu ngokwaso sinomsebenzi olandelayo welungu lomphakathi.
shaya ucingo futhi ()
I-virtual ResultVoid callback (nlc::BusScanInfo imininingwane, std::vector Const & devicesFound, idatha ye-int32_t)
Ibuyisela i-ResultVoid
8.33 NlcLoggingCallback
Sebenzisa leli klasi lokuphinda ushayele ukuze ungene kuma-callback. 1. Chaza ikilasi elinweba leli klasi ngokusebenzisa indlela yokushayela ngokwezifiso 2. Sebenzisa isikhombi kuzimo zaso ukuze usethe ukuphinda ushaye ucingo nge-NanoLibAccessor >
setLoggingCallback (…).
i-virtual void callback (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
Sebenzisa leli klasi ukuze ulungiselele, uqale futhi umise u-sampler, noma ukuthola sampled idatha bese ulanda njengeampisimo se-ler noma iphutha lokugcina. Ikilasi linemisebenzi elandelayo yamalungu omphakathi.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
54
8 Amakilasi / inkomba yemisebenzi
lungiselela () Ilungiselela njengeampler.
i-virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerUkucushwa & samplerConfiguration)
Amapharamitha [ku] idivayisiHamba [ku] samplerConfiguration
Ibuyisela i-ResultVoid
Icacisa ukuthi iyiphi idivayisi ezolungiswa i-sampler for. Icacisa amanani ezibaluli zokucushwa. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
getData () Ithola isifampidatha eholelekile.
Imiphumela ebonakalayoampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Amapharamitha [ku] deviceHandle Returns ResultSampleDataArray
Icacisa ukuthi iyiphi idivayisi ongatholela yona idatha.
Ihambisa i-sampidatha eqondisiwe, okungaba amalungu afanayo angenalutho uma u-sampI-lerNotify iyasebenza ekuqaleni.
getLastError () Ithola njengeampiphutha lokugcina ler.
i-virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
Ibuyisela i-ResultVoid
Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
getState () Ithola njengeampisimo ler.
Imiphumela ebonakalayoamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Ibuyisela ImiphumelaamplerState
Ihambisa i-sampler state.
qala () Iqala njengeampler.
i-virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)
Amapharamitha [ku] deviceHandle [in] SamplerNotify [in] applicationData
Ibuyisela i-ResultVoid
Icacisa ukuthi iyiphi idivayisi okufanele iqale i-sampler for.
Icacisa ukuthi yiluphi ulwazi ozikhethela okufanele ulubike (kungaba nullptr).
Inketho: Dlulisela phambili idatha ehlobene nohlelo lokusebenza (uhlu oluchazwe umsebenzisi lwe-8-bit yenani / i-ID yedivayisi / inkomba, noma isikhathi sosuku, i-variable's / function's pointer, njll.) ku-samplerNotify.
Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
55
8 Amakilasi / inkomba yemisebenzi
ima () Ima njengeampler.
i-virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
Amapharamitha [ku] deviceHandle Returns ResultVoid
Icacisa ukuthi iyiphi idivayisi ezomisa i-sampler for. Iqinisekisa ukuthi umsebenzi ongenalutho uqalile.
8.35 SampIsakhiwo se-lerConfiguration
Lesi sakhiwo siqukethe idatha sampIzinketho zokucushwa kwe-ler (i-static noma cha).
Izibaluli zomphakathi
std::vector TrackedAmakheli
Amakheli afika ku-12 OD azoba sampkwaholela.
uint32_t
inguqulo
Inguqulo yesakhiwo.
uint32_t
ubudeAmasekhondi
Sampubude besikhathi ku-ms, ukusuka ku-1 kuye ku-65535
uint16_t
isikhathiMillisecond
Sampisikhathi sokulala ku-ms.
uint16_t
inomboloOfSampLes
Sampinani elincane.
uint16_t
I-preTriggerNumberOfSampLes
Sampinani le-pre-trigger encane.
bhula
usebenzisa iSoftwareImplementation
Sebenzisa ukuqaliswa kwesofthiwe.
bhula
usebenzisa iNewFWSampI-lerImplementation Sebenzisa ukuqaliswa kwe-FW kumadivayisi ane-
Inguqulo ye-FW v24xx noma entsha.
SamplerMode
imodi
Okuvamile, okuphindaphindayo noma okuqhubekayo sampling.
SamplerTriggerCondition triggerCondition
Izimo zokuqala zokucupha: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = 0x15TER TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTIx0C, trigger = 1xXNUMXB TC_MULTIxXNUMX CEDGE
SamplerTrigger
SamplerTrigger
I-trigger ukuqala njengeampler?
Izibaluli zomphakathi ezimile
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 usayizi we-constexpr omile_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Sebenzisa leli klasi ukwenza kusebenze u-sampler izaziso uma uqala njengeampler. Ikilasi linomsebenzi olandelayo welungu lomphakathi.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
56
8 Amakilasi / inkomba yemisebenzi
yazisa ()
Iletha okufakiwe kwesaziso.
i-virtual void nlc::SamplerNotify::notify (consst ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampi-leDatas, int64_t applicationData)
Amapharamitha [ku] lastIphutha [ku] samplerState
[nge] sampleDatas [in] applicationData
Ibika iphutha lokugcina lenzekile ngenkathi sampling. Ibika i-sampisimo se-ler ngesikhathi sokwaziswa: Akulungiselelwe / Akulungisiwe / Kulungile / Kuyasebenza / Kuqediwe / Kwehlulekile / Kukhanseliwe. Ibika i-sampuhlu lwedatha led. Ibika idatha eqondene nohlelo lokusebenza.
8.37 SampIsakhiwo seData
Lesi sakhiwo siqukethe i-sampidatha eholelekile.
uin64_t iterationNumber
Iqala ku-0 futhi ikhuphuke kuphela kumodi ephindaphindayo.
std::vector<SampledValues> Iqukethe uhlu luka-sampamanani aholelekile.
8.38 SampIsakhiwo se-ledValue
Lesi sakhiwo siqukethe i-sampamanani aholelekile.
in64_t value uin64_t CollectTimeMsec
Iqukethe inani lekheli le-OD elilandelelwe.
Iqukethe isikhathi seqoqo ngama-millisecond, ngokuhlobene ne-sampisiqalo.
8.39 SampIsakhiwo se-lerTrigger
Lesi sakhiwo siqukethe izilungiselelo ze-trigger ye-sampler.
Sampisimo se-lerTriggerCondition
Inani le-OdIndex uin32_t
Isimo sokucupha:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0xG14TER = 0xG15TER = 0xG16TER TC_GREATER_OR_EQUAL = 0x17 TC_LESS = 0x18 TC_LESS_OR_EQUAL = 0x19 TC_EQUAL = 0x1 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE =
I-OdIndex ye-trigger (ikheli).
Inani lesimo noma inombolo yebhithi (eqala ku-bit zero).
8.40 Isakhiwo se-serial
Thola lapha izinketho zakho zokuxhumana okulandelanayo kanye nezibaluli ezilandelayo zomphakathi:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = "isilinganiso se-serial baud" baudRate =SerialBaudRate struct
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
57
8 Amakilasi / inkomba yemisebenzi
const std::string const SerialParity
PARITY_OPTIONS_NAME = "i-serial parity" iparity = Isakhiwo se-SerialParity
8.41 Isakhiwo se-SerialBaudRate
Thola lapha isilinganiso sakho se-serial baud yokuxhumana kanye nezibaluli ezilandelayo zomphakathi:
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 “BAUD_RATE_56000” BAUD_RATE_57600 = “57600” BAUD_RATE_115200 = “115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000”
8.42 Isakhiwo se-SerialParity
Thola lapha izinketho zakho ze-serial parity kanye nezibaluli zomphakathi ezilandelayo:
const std::string const std::string const std::string const std::string const std::string
NONE = “none” ODD = “odd” EVEN = “ngisho” UMAMA = “maka” ISIKHALA = “isikhala”
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
58
9 Amalayisensi
9 Amalayisensi
Izihloko zesixhumi esibonakalayo se-NanoLib API kanye nesibampikhodi yomthombo inikezwe ilayisense yi-Nanotec Electronic GmbH & Co. KG ngaphansi kwe-Creative Commons Attribution 3.0 Unported License (CC BY). Izingxenye zelabhulali ezinikezwe ngefomethi kanambambili (imitapo yolwazi eyinhloko kanye ne-fieldbus) ilayisensi ngaphansi kwe-Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).
I-Creative Commons
Isifinyezo esilandelayo esingafundeka umuntu ngeke singene esikhundleni selayisense ngokwayo. Ungathola ilayisensi efanele ku-creativecommons.org futhi ixhunywe ngezansi. Ukhululekile ukuthi:
CC BY 3.0
Yabelana: Bona kwesokudla. I-Adaptha: Hlanganisa kabusha, guqula, futhi wakhe phezu kwe
izinto zanoma iyiphi injongo, ngisho nezohwebo.
I-CC BY-ND 4.0
Yabelana: Kopisha futhi usabalalise kabusha okokusebenza nganoma iyiphi indlela noma ifomethi.
Umnikezi welayisensi akakwazi ukuhoxisa lezi nkululeko ezingenhla inqobo nje uma uthobela imigomo yelayisensi elandelayo:
CC BY 3.0
I-CC BY-ND 4.0
Isibaluli: Kufanele unikeze ikhredithi efanelekile, Imfanelo: Bona kwesokunxele. Kodwa: Nikeza isixhumanisi kulokhu
hlinzeka ngesixhumanisi selayisensi, futhi ubonise uma
enye ilayisensi.
kwenziwa izinguquko. Ungakwenza lokho kunoma iyiphi
Akukho okuphuma kokunye: Uma uhlanganisa kabusha, uguqula, noma wakhe
ngendlela enengqondo, kodwa hhayi nganoma iyiphi indlela ephakamisa
phezu kwempahla, awukwazi ukusabalalisa
ivumela umnikezi welayisensi ukuvumela wena noma ukusetshenziswa kwakho.
impahla eguquliwe.
Ayikho imikhawulo eyengeziwe: Akumele usebenzise Ayikho imikhawulo eyengeziwe: Bona kwesokunxele. imigomo yezomthetho noma izinyathelo zobuchwepheshe ezisemthethweni
vimbela abanye ekwenzeni noma yini ilayisensi
izimvume.
Qaphela: Awudingi ukuthobela ilayisensi yezinto ezibonakalayo esizindeni esisesidlangalaleni noma lapho ukusebenzisa kwakho kuvunyelwe ngokuhlukile noma umkhawulo osebenzayo.
Qaphela: Azikho iziqinisekiso ezinikeziwe. Ilayisense kungenzeka ingakuniki zonke izimvume ezidingekayo ekusebenziseni kwakho okuhlosiwe. Okwesiboneloampfuthi, amanye amalungelo afana nokukhangisa, ubumfihlo, noma amalungelo okuziphatha angakhawulela indlela osebenzisa ngayo izinto.
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
59
Imprint, othintana naye, izinguqulo
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Wonke Amalungelo Agodliwe. Iphutha, ukweqiwa, ubuchwepheshe noma ushintsho lokuqukethwe kungenzeka ngaphandle kwesaziso. Imikhiqizo/imikhiqizo ecashuniwe yizimpawu zokuthengisa zabanikazi bazo futhi kufanele ziphathwe kanjalo. Inguqulo yasekuqaleni.
Idokhumenti 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
+ Kwengezwe > Kushintshiwe # Kulungisiwe > Sebenza kabusha i-ex enikeziweampLes.
+ NanoLib Modbus: Kwengezwe indlela yokukhiya idivayisi ye-Modbus VCP. # I-NanoLib Core: Isheke lesimo sokuxhuma esilungisiwe. # Ikhodi yeNanoLib: Ukususwa kwereferensi yehadiwe yebhasi okulungisiwe.
+ I-NanoLib-CANopen: Ukusekelwa kwe-adaptha ye-Peak PCAN-USB (IPEH-002021/002022).
> I-NanoLib Core: Kushintshwe isixhumi esibonakalayo sokungena ngemvume (i-LogLevel ithathelwe indawo yi-LogModule). # I-NanoLib Logger: Ukwehlukaniswa phakathi komnyombo namamojula kulungisiwe. # I-Modbus TCP: Isibuyekezo se-firmware esilungisiwe se-FW4. # I-EtherCAT: Ukulayisha kohlelo lwe-NanoJ olulungisiwe lwe-Core5. # I-EtherCAT: Isibuyekezo se-firmware esilungisiwe se-Core5.
# I-Modbus RTU: Izinkinga zesikhathi ezilungisiwe ngamanani aphansi we-baud ngesikhathi sokuvuselelwa kwe-firmware. # I-RESTful: Ukulayishwa kohlelo lwe-NanoJ okulungisiwe.
# NanoLib Amamojula Sampler: Ukufunda kahle isi-sampi-led boolean values.
+ Ukusekelwa kwe-Java 11 kwawo wonke amapulatifomu. + Python 3.11/3.12 ukwesekwa kwawo wonke amapulatifomu. + Isixhumi esibonakalayo esisha sokungena ngemvume (bona isibampkancane). + Amasinki okushayela emuva kwe-NanoLib Logger. > Buyekeza isiloga sibe yinguqulo engu-1.12.0. > Amamojula weNanoLib Sampler: Sekela manje isilawuli se-Nanotec firmware v24xx. > Amamojula weNanoLib Sampler: Ushintsho kwisakhiwo esisetshenziswe ku-sampler ukucushwa. > Amamojula weNanoLib Sampler: Imodi eqhubekayo ifana nokungapheli; isimo se-trigger sihlolwe kanye; inombolo sampOkuncane kufanele kube ngu-0. > NanoLib Modules Sampler: Okubalulekile okuvamile kuchungechunge oluqoqa idatha kumodi ye-firmware. > Amamojula weNanoLib Sampler: I-algorithm ebhalwe kabusha ukuze kutholwe uguquko phakathi kwesimo Soku-Ready & Running. # I-NanoLib Core: Akusekho Ukwephulwa Kokufinyelela (0xC0000005) ekuvaleni amadivaysi ama-2 noma ngaphezulu kusetshenziswa ihadiwe yebhasi efanayo. # I-NanoLib Core: Alisekho Iphutha Lokuhlukanisa Ngokunamathisela i-adaptha ye-PEAK ngaphansi kwe-Linux. # NanoLib Amamojula Sampler: Kulungile sampi-led-values ifunda kumodi ye-firmware. # NanoLib Amamojula Sampler: Ukucushwa okulungile kwe-502X:04. # NanoLib Amamojula Sampler: Ukuxuba okulungile kwamabhafa namashaneli. # I-NanoLib-Canopen: Ukwenyuka kwesikhathi se-CAN sokuqina nokuskena okulungile kuma-baudrates aphansi. # I-NanoLib-Modbus: I-algorithm yokuthola i-VCP yamadivayisi akhethekile (USB-DA-IO).
+ Ukusekelwa kwe-EtherCAT.
+ Qaphela kuzilungiselelo zephrojekthi ye-VS kokuthi Lungiselela iphrojekthi yakho.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + tholaProfinetDCP (validateProfinetDeviceIp). + I-autoAssignObjectDictionary (). + tholaXmlFileIgama (). + const std::string & xmlFileIndlela ku-addObjectDictionary (). + GetSamplerInterface ().
Umkhiqizo 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)
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
60
10 Imprint, othintana naye, izinguqulo
Idokhumenti
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
+ Kwengezwe > Kushintshiwe # Okulungisiwe + qala kabushaIdivayisi (). + Ikhodi yephutha IsisetshenziswaAyitholakali ku-getDeviceBooloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, kanye ne-~Uid. > firmwareUploadFromFile manje layisha iFirmwareFromFile (). > i-firmwareLayisha () manje layishaI-Firmware (). > i-bootloaderUploadFromFile () manje layishaI-BootloaderFromFile (). > i-bootloaderLayisha () manje layishaI-Bootloader (). > i-bootloaderFirmwareUploadFromFile () ukuze ulayisheI-BootloaderFirmwareFromFile (). > i-bootloaderFirmwareLayisha () manje layishaI-BooloaderFirmware (). > nanojUploadFromFile () manje layisha iNanoJFromFile (). > nanojUpload () manje layishaNanoJ (). > objectDictionaryLibrary () now getObjectDictionaryLibrary (). > I-String_String_Map manje I-StringStringMap. > I-NanoLib-Common: ukukhishwa ngokushesha kohluAvailableBusHardware kanye ne-openBusHardwareWithProtocol ene-adaptha ye-Ixxat. > I-NanoLib-CANopen: izilungiselelo ezizenzakalelayo ezisetshenzisiwe (i-baudrate engu-1000k, inombolo yebhasi ye-Ixxat 0) uma izinketho zehadiwe yebhasi zingenalutho. > I-NanoLib-RESTful: imvume yomqondisi ayisekho ekuxhumaneni nama-bootloaders e-Ethernet ngaphansi kweWindows uma umshayeli we-npcap / winpcap etholakala. # I-NanoLib-CANopen: i-hardware yebhasi manje ivula ngokungenasici ngezinketho ezingenalutho. # I-NanoLib-Common: i-openBusHardwareWithProtocol () engenakho ukuvuza kwenkumbulo manje.
+ Ukusekelwa kwe-Linux ARM64. + Ukugcinwa kwenqwaba ye-USB / REST / Profinet DCP ukwesekwa. + hlolaI-ConnectionState (). + getDeviceBooloaderVersion (). + ResultProfinetDevices. + I-NlcErrorCode (ithathelwe indawo i-NanotecExceptions). + NanoLib Modbus: VCP / USB hub ihlanganiswe ne-USB. > Ukuskena kwe-Modbus TCP kubuyisela imiphumela. < Ukubambezeleka kokuxhumana kwe-Modbus TCP kuhlala kungashintshi.
+ I-ObjectEntryDataType eyengeziwe (iyinkimbinkimbi ne-profile- ethize). + I-IOError ibuya uma i-connectDevice () kanye ne-scanDevices () ingatholi lutho. + Kuphela 100 ms okuzisholo isikhathi sokuvala seCanOpen / Modbus.
+ Ukusekelwa kwe-Modbus (kanye ne-USB Hub nge-VCP). + Isahluko Ukudala iphrojekthi yakho yeLinux. + I-extraHardwareSpecifier ku-BusHardwareId (). + extraId_ kanye ne-extraStringId_ ku-DeviceId ().
+ setha iBusState (). + getDeviceBooloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Ukulungiswa kweziphazamisi.
Uhlelo.
Umkhiqizo
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Inguqulo: doc 1.4.2 / NanoLib 1.3.0
61
Amadokhumenti / Izinsiza
![]() |
I-Nanotic NanoLib C++ Programming [pdf] Imaniwali yosebenzisayo I-NanoLib C Programming, C Programming, Programming |

