Programimi Nanotik NanoLib C++

Informacioni i produktit
Specifikimet
- Emri i produktit: NanoLib
- Programimi Gjuha: C++
- Versioni i produktit: 1.3.0
- Versioni i manualit të përdoruesit: 1.4.2
Biblioteka NanoLib është projektuar për programimin e softuerëve të kontrollit për kontrolluesit Nanotec. Ajo ofron një ndërfaqe përdoruesi, funksionalitete thelbësore dhe biblioteka komunikimi për të lehtësuar zhvillimin e aplikacioneve të kontrollit.
Udhëzimet e përdorimit të produktit
- Përpara se të filloni:
- Sigurohuni që sistemi juaj i plotëson kërkesat e harduerit të specifikuara në manual. Audienca e synuar për këtë produkt përfshin zhvilluesit që kërkojnë të krijojnë softuer kontrolli për kontrolluesit Nanotec.
- Fillimi:
- Për të filluar përdorimin e NanoLib, ndiqni këto hapa:
- Filloni duke importuar NanoLib në projektin tuaj.
- Konfiguroni cilësimet e projektit tuaj sipas nevojës.
- Ndërtoni projektin tuaj duke përfshirë funksionalitetet e NanoLib.
- Krijimi i Projekteve:
- Mund të krijoni projekte për mjediset Windows dhe Linux. Ndiqni udhëzimet specifike të dhëna në manualin për secilën platformë.
- Referenca e Klasave / Funksioneve:
- Referojuni manualit të përdoruesit për një udhëzues të detajuar mbi klasat dhe funksionet e disponueshme në NanoLib për softuerin e kontrollit të programimit.
Pyetjet e shpeshta
- P: Cili është qëllimi i NanoLib?
- A: NanoLib është një bibliotekë për programimin e softuerëve të kontrollit për kontrolluesit Nanotec, duke ofruar funksionalitete thelbësore dhe aftësi komunikimi.
- P: Si mund të filloj me NanoLib?
- A: Filloni duke importuar NanoLib në projektin tuaj, duke konfiguruar cilësimet e projektit dhe duke e ndërtuar atë për të përdorur veçoritë e NanoLib.
“`
Manuali i përdoruesit NanoLib
C++
E vlefshme me versionin e produktit 1.3.0
Versioni i manualit të përdorimit: 1.4.2
Qëllimi i dokumentit dhe konventat
Ky dokument përshkruan konfigurimin dhe përdorimin e bibliotekës NanoLib dhe përmban një referencë për të gjitha klasat dhe funksionet për programimin e softuerit tuaj të kontrollit për kontrollorët Nanotec. Ne përdorim shkronjat e mëposhtme:
Teksti i nënvizuar shënon një referencë ose hiperlidhje.
ExampLe 1: Për udhëzime të sakta mbi NanoLibAccessor, shihni Konfigurimi. p.shampLe 2: Instaloni drejtuesin Ixxat dhe lidhni përshtatësin CAN-to-USB. Teksti i pjerrët do të thotë: Ky është një objekt i emërtuar, një shteg / artikull i menysë, një skedë / file emër ose (nëse është e nevojshme) një shprehje në gjuhë të huaj.
Example 1: Zgjidhni File > E re > Dokument bosh. Hapni skedën Tool dhe zgjidhni Koment. p.shample 2: Ky dokument i ndan përdoruesit (= Nutzer; usuario; utente; utilisateur; utente etj.) nga:
– Përdorues i palës së tretë (= Drittnutzer; tercero usuario; terceiro utente; nivelet utilisateur; terzo utente etj.). – Përdoruesi përfundimtar (= Endnutzer; usuario përfundimtar; utente përfundimtar; utilisateur përfundimtar; utente finale etj.).
Korrieri shënon blloqe kodesh ose komanda programimi. p.shampnë 1: Nëpërmjet Bash, telefononi sudo make install për të kopjuar objekte të përbashkëta; pastaj telefononi ldconfig. p.shampLe 2: Përdorni funksionin e mëposhtëm NanoLibAccessor për të ndryshuar nivelin e regjistrimit në NanoLib:
// ***** Varianti C++ *****
void setLoggingLevel (niveli LogLevel);
Teksti i trashë thekson fjalët individuale me rëndësi kritike. Përndryshe, pikëçuditjet në kllapa theksojnë rëndësinë kritike(!).
ExampHapi 1: Mbroni veten, të tjerët dhe pajisjet tuaja. Ndiqni shënimet tona të përgjithshme të sigurisë që janë përgjithësisht të zbatueshme për të gjitha produktet Nanotec.
Example 2: Për mbrojtjen tuaj, ndiqni gjithashtu shënimet specifike të sigurisë që vlejnë për këtë produkt specifik. Folja për të bashkë-klikuar do të thotë një klikim nëpërmjet tastit dytësor të miut për të hapur një meny të kontekstit etj.
Example 1: Bashkë-kliko mbi file, zgjidhni Riemërto dhe riemërto fileMe P.shampLe 2: Për të kontrolluar vetitë, bashkë-kliko mbi file dhe zgjidhni Properties.
Versioni: doc 1.4.2 / NanoLib 1.3.0
4
Para se të filloni
Përpara se të filloni të përdorni NanoLib, përgatitni kompjuterin tuaj dhe informohuni për përdorimin e synuar dhe kufizimet e bibliotekës.
2.1 Kërkesat e sistemit dhe harduerit

NJOFITIM Mosfunksionim nga funksionimi 32-bit ose sistemi i ndërprerë! Përdorni dhe mirëmbani vazhdimisht një sistem 64-bit. Zbatoni ndërprerjet dhe udhëzimet e prodhuesit OEM.
NanoLib 1.3.0 mbështet të gjitha produktet Nanotec me CANopen, Modbus RTU (gjithashtu USB në portin virtual të com), Modbus TCP, EtherCat dhe Profinet. Për NanoLib-et më të vjetra: Shihni regjistrin e ndryshimeve në shtyp. Vetëm në rrezikun tuaj: përdorimi i sistemit të trashëguar. Shënim: Ndiqni udhëzimet e vlefshme OEM për të vendosur vonesën sa më të ulët të jetë e mundur nëse hasni probleme kur përdorni një përshtatës USB të bazuar në FTDI.
Kërkesat (sistemi 64-bit i detyrueshëm)
Windows 10 ose 11 me Visual Studio 2019 versioni 16.8 ose më të ri dhe Windows SDK 10.0.20348.0 (versioni 2104) ose më të ri
Të rishpërndara C++ 2017 ose më të reja CANopen: Ixxat VCI ose PCAN drajver bazë (opsional) Moduli EtherCat / Profinet DCP: Npcap ose WinPcap Moduli RESTful: Npcap, WinPcap, ose leje administratori për
komunikoni me ngarkues boot Ethernet
Linux me Ubuntu 20.04 LTS deri në 24 (të gjitha x64 dhe arm64)
Titujt e bërthamës dhe paketa libpopt-dev Profinet DCP: CAP_NET_ADMIN dhe CAP_NET_RAW aftësi-
lidhjet CANopen: Drajveri Ixxat ECI ose përshtatësi Peak PCAN-USB EtherCat: CAP_NET_ADMIN, CAP_NET_RAW dhe
Aftësitë CAP_SYS_NICE RESTful: Aftësia CAP_NET_ADMIN për të komunikuar me Eth-
bootloaders ernet (rekomandohet gjithashtu: CAP_NET_RAW)
Gjuha, adaptorët e fieldbus, kabllot
C++ GCC 7 ose më i lartë (Linux)
EtherCAT: Kabllo Ethernet VCP / Hub USB: tani uniform USB Magazinim masiv USB: Kabllo USB REST: Kabllo Ethernet CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, adaptor Peak PCANUSB Nuk ka mbështetje Ixxat për Ubuntu në arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 ose adaptor ekuivalent; kabllo USB në portin virtual të com (VCP)
Modbus TCP: Kabllo Ethernet sipas fletës së të dhënave të produktit
2.2 Përdorimi i synuar dhe audienca
NanoLib është një bibliotekë programesh dhe një komponent softuerësh për funksionimin dhe komunikimin me kontrollorët Nanotec në një gamë të gjerë aplikimesh industriale dhe vetëm për programues të kualifikuar.
Për shkak të paaftësisë së pajisjeve (PC) dhe sistemit operativ në kohë reale, NanoLib nuk është për përdorim në aplikacione që kërkojnë lëvizje sinkrone shumë-aksore ose që në përgjithësi janë të ndjeshme ndaj kohës.
Në asnjë rast nuk mund ta integroni NanoLib si një komponent sigurie në një produkt ose sistem. Gjatë dorëzimit te përdoruesit fundorë, duhet të shtoni njoftime paralajmëruese dhe udhëzime përkatëse për përdorim dhe funksionim të sigurt në çdo produkt me një komponent të prodhuar nga Nanotec. Duhet t'ia kaloni të gjitha njoftimet paralajmëruese të lëshuara nga Nanotec direkt përdoruesit fundor.
2.3 Fusha e dorëzimit dhe garancia
NanoLib vjen si një dosje *.zip nga shkarkimi ynë webfaqe për EMEA / APAC ose AMERICA. Ruani dhe çzipni siç duhet shkarkimin tuaj përpara konfigurimit. Paketa NanoLib përmban:
Versioni: doc 1.4.2 / NanoLib 1.3.0
5
2 Para se të filloni
Titujt e ndërfaqes si kod burimor (API)
Funksionet kryesore si biblioteka në format binar: nano-
Bibliotekat që lehtësojnë komunikimin: nanolibm_ lib.dll
[yourfieldbus].dll etj.Exampprojekti le: Ishample.sln (Visual Studio
projekt) dhe ishample.cpp (kryesor file)
Për qëllimin e garancisë, ju lutemi të respektoni a) kushtet dhe afatet tona për EMEA / APAC ose AMERIKËN dhe b) të gjitha kushtet e licencës. Shënim: Nanotec nuk është përgjegjës për cilësinë, trajtimin, instalimin, funksionimin, përdorimin dhe mirëmbajtjen e pajisjeve të palëve të treta me defekte ose të papërshtatshme! Për sigurinë e duhur, ndiqni gjithmonë udhëzimet e vlefshme të OEM-së.
Versioni: doc 1.4.2 / NanoLib 1.3.0
6
Arkitektura NanoLib
Struktura modulare e softuerit të NanoLib ju lejon të organizoni funksionet e kontrolluesit të motorit / autobusit në terren të personalizueshme lirisht rreth një bërthame të para-ndërtuar rreptësisht. NanoLib përmban modulet e mëposhtme:
Ndërfaqja e përdoruesit (API)
Bërthama NanoLib
Ndërfaqe dhe klasa ndihmëse të cilat Bibliotekat të cilat
Bibliotekat e komunikimit Bibliotekat specifike për Fieldbus të cilat
ju hyni në ndërfaqen e ndërfaqes së funksionalitetit API ndërmjet NanoLib
OD (fjalor objektesh)
ndërveprojnë me bibliotekat e autobusëve.
hardueri bazë dhe autobusi.
bazë në funksionin bazë të NanoLib-
nacionalitetet.
3.1 Ndërfaqja e përdoruesit
Ndërfaqja e përdoruesit përbëhet nga ndërfaqja e kokës files që mund të përdorni për të aksesuar parametrat e kontrolluesit. Klasat e ndërfaqes së përdoruesit, siç përshkruhen në referencën e Klasave / funksioneve, ju lejojnë të:
Lidheni si me harduerin (adaptori i fieldbus-it) ashtu edhe me pajisjen e kontrolluesit. Hyni në OD të pajisjes, për të lexuar/shkruar parametrat e kontrolluesit.
3.2 Bërthama NanoLib
Bërthama e NanoLib vjen me bibliotekën e importimit nanolib.lib. Ajo zbaton funksionalitetin e ndërfaqes së përdoruesit dhe është përgjegjëse për:
Ngarkimi dhe menaxhimi i bibliotekave të komunikimit. Ofrimi i funksionaliteteve të ndërfaqes së përdoruesit në NanoLibAccessor. Kjo pikë hyrjeje komunikimi de-
gjobit një sërë operacionesh që mund të ekzekutoni në bërthamën NanoLib dhe bibliotekat e komunikimit.
3.3 Bibliotekat e komunikimit
Përveç nanotec.services.nanolib.dll (e dobishme për Plug & Drive Studio tuaj opsionale), NanoLib ofron bibliotekat e mëposhtme të komunikimit:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Të gjitha bibliotekat vendosin një shtresë abstraksioni të harduerit midis bërthamës dhe kontrolluesit. Bërthama i ngarkon ato në nisje nga dosja e caktuar e projektit dhe i përdor ato për të vendosur komunikim me kontrolluesin me protokollin përkatës.
Versioni: doc 1.4.2 / NanoLib 1.3.0
7
Duke filluar
Lexoni se si të konfiguroni NanoLib për sistemin tuaj operativ siç duhet dhe si të lidhni pajisjen sipas nevojës.
4.1 Përgatitni sistemin tuaj
Para instalimit të drajverëve të përshtatësit, përgatitni së pari PC-në tuaj sipas sistemit operativ. Për ta përgatitur PC-në sipas sistemit operativ Windows, instaloni MS Visual Studio me zgjerime C++. Për të instaluar make dhe gcc nga Linux Bash, thirrni sudo apt install build-essentials. Pastaj aktivizoni aftësitë CAP_NET_ADMIN, CAP_NET_RAW dhe CAP_SYS_NICE për aplikacionin që përdor NanoLib: 1. Thirrni sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
emri>. 2. Vetëm atëherë instaloni drejtuesit e përshtatësit.
4.2 Instaloni drajverin e përshtatësit Ixxat për Windows
Vetëm pas instalimit të duhur të drajverit, mund të përdorni adaptorin USB-to-CAN V2 të Ixxat. Lexoni manualin e produktit të disqeve USB, për të mësuar nëse/si të aktivizoni komportin virtual (VCP). 1. Shkarkoni dhe instaloni drajverin VCI 4 të Ixxat për Windows nga www.ixxat.com2. Lidhni adaptorin kompakt USB-to-CAN V2 të Ixxat me PC-në nëpërmjet USB-së. 3. Nga Menaxheri i Pajisjeve: Kontrolloni nëse si drajveri ashtu edhe adaptori janë instaluar/njihen siç duhet.
4.3 Instaloni drajverin e adaptorit Peak për Windows
Vetëm pas instalimit të duhur të drajverit, mund të përdorni adaptorin PCAN-USB të Peak. Lexoni manualin e produktit të disqeve USB, për të mësuar nëse / si të aktivizoni komunikimin virtual (VCP). 1. Shkarkoni dhe instaloni konfigurimin e drajverit të pajisjes Windows (= paketën e instalimit me drajverë pajisjesh, mjete dhe
API-të) nga http://www.peak-system.com2. Lidhni adaptorin PCAN-USB të Peak me PC-në nëpërmjet USB-së. 3. Nga Device Manager: Kontrolloni nëse si drajveri ashtu edhe adaptori janë instaluar/njihen siç duhet.
4.4 Instaloni drajverin e përshtatësit Ixxat për Linux
Vetëm pas instalimit të duhur të drajverit, mund të përdorni adaptorin USB-to-CAN V2 të Ixxat. Shënim: Përshtatësit e tjerë të mbështetur kanë nevojë për lejet tuaja duke përdorur sudo chmod +777/dev/ttyACM* (* numri i pajisjes). Lexoni manualin e produktit të disqeve USB për të mësuar nëse / si të aktivizoni komportin virtual (VCP). 1. Instaloni softuerin e nevojshëm për aplikacionin e drajverit ECI dhe demonstrimin:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Shkarkoni drajverin ECI-for-Linux nga www.ixxat.com. Hapni paketën e tij nëpërmjet:
çkompreso eci_driver_linux_amd64.zip
3. Instaloni drajverin nëpërmjet:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Kontrolloni instalimin e suksesshëm të drajverit duke kompiluar dhe nisur aplikacionin demo:
cd /EciLinux_amd/src/EciDemos/ sudo bëj cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Versioni: doc 1.4.2 / NanoLib 1.3.0
8
4 Fillimi
4.5 Instaloni drajverin e adaptorit Peak për Linux
Vetëm pas instalimit të duhur të drajverit, mund të përdorni adaptorin PCAN-USB të Peak. Shënim: Përshtatës të tjerë të mbështetur kanë nevojë për lejet tuaja duke përdorur sudo chmod +777/dev/ttyACM* (* numri i pajisjes). Lexoni manualin e produktit të disqeve USB për të mësuar nëse / si të aktivizoni komportin virtual (VCP). 1. Kontrolloni nëse Linux-i juaj ka header kernel: ls /usr/src/linux-headers-`uname -r`. Nëse jo, instaloni
them: sudo apt-get install linux-headers-`uname -r` 2. Vetëm tani, instaloni paketën libpopt-dev: sudo apt-get install libpopt-dev 3. Shkarkoni paketën e nevojshme të drajverëve (peak-linux-driver-xxx.tar.gz) nga www.peak-system.com. 4. Për ta çpaketuar atë, përdorni: tar xzf peak-linux-driver-xxx.tar.gz 5. Në dosjen e çpaketuar: Kompiloni dhe instaloni drajverët, bibliotekën bazë PCAN, etj.: bëni të gjitha
sudo make install 6. Për të kontrolluar funksionin, lidhni adaptorin PCAN-USB.
a) Kontrolloni modulin e kernelit:
lsmod | grep pcan b) … dhe biblioteka e përbashkët:
ls -l /usr/lib/libpcan*
Shënim: Nëse ndodhin probleme me USB3, përdorni një portë USB2.
4.6 Lidhni pajisjen tuaj
Për të qenë në gjendje të ekzekutoni një projekt NanoLib, lidhni një kontrollues të pajtueshëm Nanotec me PC-në duke përdorur adaptorin tuaj. 1. Me një kabllo të përshtatshme, lidhni adaptorin me kontrolluesin. 2. Lidhni adaptorin me PC-në sipas fletës së të dhënave të adaptorit. 3. Ndizni kontrolluesin duke përdorur një furnizim me energji të përshtatshëm. 4. Nëse është e nevojshme, ndryshoni cilësimet e komunikimit të kontrolluesit Nanotec siç udhëzohen në manualin e produktit.
4.7 Ngarko NanoLib
Për një fillim të parë me bazat e shpejta dhe të lehta, ju mund (por nuk duhet) të përdorni ish-in tonëample projekt. 1. Në varësi të rajonit tuaj: Shkarkoni NanoLib nga ne webfaqe për EMEA / APAC ose AMERICA. 2. Zhbllokoni paketën files / dosjet dhe zgjidhni një opsion: Për bazat e shpejta dhe të lehta: Shikoni Fillimi i ishampprojekti le. Për personalizim të avancuar në Windows: Shihni Krijimi i projektit tuaj në Windows. Për personalizim të avancuar në Linux: Shihni Krijimi i projektit tuaj në Linux.
Versioni: doc 1.4.2 / NanoLib 1.3.0
9
Fillimi i ishample projekt
Me NanoLib të ngarkuar siç duhet, ishample projekt ju tregon përmes përdorimit të NanoLib me një kontrollues Nanotec. Shënim: Për çdo hap, komentet në p.shampkodi le të shpjegojë funksionet e përdorura. IshampProjekti përbëhet nga: `*_functions_example.*' files, të cilat përmbajnë implementimet për funksionet e ndërfaqes NanoLib `*_callback_example.*' files, të cilat përmbajnë implementime për thirrjet e ndryshme (skanim, të dhëna dhe
regjistrimi) `menuja_*.*' file, i cili përmban logjikën e menusë dhe kodin Example.* file, i cili është programi kryesor, duke krijuar menunë dhe duke inicializuar të gjithë parametrat e përdorur të S-së.ampler_example.* file, e cila përmban ish-inampimplementimi le për samppërdorimi i ler. Mund të gjeni më shumëamples, me disa komanda lëvizjeje për mënyra të ndryshme operimi, në Bazën e Njohurive në nanotec.com. Të gjitha janë të përdorshme në Windows ose Linux.
Në Windows me Visual Studio 1. Hapni Example.sln file2. Hapni ish-inample.cpp. 3. Kompiloni dhe ekzekutoni exampkodin.
Në Linux nëpërmjet Bash 1. Hapni paketën burimore file, shkoni te dosja me përmbajtjen e çzipuar. Kryesorja file për ishample eshte
example.cpp. 2. Në bash, thirrni:
a. “sudo make install” për të kopjuar objektet e përbashkëta dhe për të thirrur ldconfig. b. “make all” për të ndërtuar skedarin ekzekutues të testimit. 3. Dosja bin përmban një skedar ekzekutues p.sh.ample fileNga bash: Shko te dosja e daljes dhe shkruaj ./exampdmth. Nëse nuk ndodh ndonjë gabim, objektet tuaja të përbashkëta tani janë instaluar siç duhet dhe biblioteka juaj është gati për përdorim. Nëse gabimi lexon ./example: gabim gjatë ngarkimit të bibliotekave të përbashkëta: libnanolib.so: nuk mund të hapet objekti i përbashkët fileNuk ka të tillë file ose direktori, instalimi i objekteve të përbashkëta dështoi. Në këtë rast, ndiqni hapat e mëposhtëm. 4. Krijoni një dosje të re brenda /usr/local/lib (nevojitet të keni të drejta administratori). Në bash, shkruani:
sudo mkdir /usr/local/lib/nanotec
5. Kopjoni të gjitha objektet e përbashkëta nga skedari zip filedosja e lib-së së 's:
instalo ./lib/*.so /usr/local/lib/nanotec/
6. Kontrolloni përmbajtjen e dosjes së synuar me:
ls -al /usr/local/lib/nanotec/
Duhet të rendisë objektin e përbashkët files nga dosja lib. 7. Ekzekutoni ldconfig në këtë dosje:
sudo ldconfig /usr/local/lib/nanotec/
Ishample është implementuar si një aplikacion CLI dhe ofron një ndërfaqe menuje. Hyrjet e menusë bazohen në kontekst dhe do të aktivizohen ose çaktivizohen, varësisht nga gjendja e kontekstit. Ato ju ofrojnë mundësinë për të zgjedhur dhe ekzekutuar funksione të ndryshme të bibliotekës duke ndjekur rrjedhën tipike të punës për trajtimin e një kontrolluesi: 1. Kontrolloni PC-në për pajisje të lidhura (adaptorë) dhe listojini ato. 2. Vendosni lidhjen me një përshtatës. 3. Skanoni autobusin për pajisje të lidhura të kontrolluesit. 4. Lidhuni me një pajisje.
Versioni: doc 1.4.2 / NanoLib 1.3.0
10
5 Fillimi i ishample projekt
5. Testoni një ose më shumë nga funksionet e bibliotekës: Lexoni/shkruani nga/në fjalorin e objekteve të kontrolluesit, përditësoni firmware-in, ngarkoni dhe ekzekutoni një program NanoJ, vini në punë motorin dhe akordojeni atë, konfiguroni dhe përdorni regjistrimin/regjistrimet.ampler
6. Mbyllni lidhjen, së pari me pajisjen, pastaj me përshtatësin.
Versioni: doc 1.4.2 / NanoLib 1.3.0
11
Krijimi i projektit tuaj në Windows
Krijoni, kompiloni dhe ekzekutoni projektin tuaj të Windows për të përdorur NanoLib.
6.1 Importimi i NanoLib
Importo kokën e NanoLib files dhe bibliotekat nëpërmjet MS Visual Studio.
1. Hapni Visual Studio. 2. Nëpërmjet Create new project > Console App C++ > Tjetra: Zgjidhni një lloj projekti. 3. Emërtoni projektin tuaj (këtu: NanolibTest) për të krijuar një dosje projekti në Solution Explorer. 4. Zgjidhni Finish. 5. Hapni dritaret file eksplorues dhe shkoni te dosja e projektit të sapokrijuar. 6. Krijoni dy dosje të reja, inc dhe lib. 7. Hapni dosjen e paketës NanoLib. 8. Nga atje: Kopjoni kokën files nga dosja include në dosjen tuaj të projektit inc dhe të gjitha .lib dhe .dll
files në dosjen tuaj të re të projektit lib. 9. Kontrolloni dosjen e projektit tuaj për strukturën e duhur, për shembullampe:
dosja ect për strukturën e duhur:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vcxproj.user NanolibTest.sln
6.2 Konfiguroni projektin tuaj
Përdorni Solution Explorer në MS Visual Studio për të konfiguruar projektet NanoLib. Shënim: Për funksionimin e saktë të NanoLib, zgjidhni konfigurimin e versionit (jo debug!) në cilësimet e projektit Visual C++; pastaj ndërtoni dhe lidhni projektin me kohëzgjatjet e VC të materialeve të rishpërndara C++ [2022].
1. Në Solution Explorer: Shkoni te dosja e projektit tuaj (këtu: NanolibTest). 2. Klikoni bashkë mbi dosje për të hapur menynë e kontekstit. 3. Zgjidhni Properties (Vetitë). 4. Aktivizoni All configurations (Të gjitha konfigurimet) dhe All platforms (Të gjitha platformat). 5. Zgjidhni C/C++ dhe shkoni te Additional Include Directories (Drejtoritë shtesë për përfshirje). 6. Vendosni: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Zgjidhni Linker (Lidhës) dhe shkoni te Additional Library Directories (Drejtoritë shtesë për bibliotekat). 8. Vendosni: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Zgjeroni Linker (Lidhës) dhe zgjidhni Input (Input). 10. Shkoni te Additional Dependencies (Varësi shtesë) dhe vendosni: nanolib.lib;%(AdditionalDependencies) 11. Konfirmoni me anë të OK.
Versioni: doc 1.4.2 / NanoLib 1.3.0
12
6 Krijimi i projektit tuaj në Windows
12. Shkoni te Konfigurimi > C++ > Gjuha > Standardi i Gjuhës > Standardi ISO C++17 dhe caktoni standardin e gjuhës në C++17 (/std:c++17).
6.3 Ndërtoni projektin tuaj
Ndërtoni projektin tuaj NanoLib në MS Visual Studio. 1. Hapni skedarin kryesor *.cpp file (këtu: nanolib_example.cpp) dhe modifikoni kodin, nëse është e nevojshme. 2. Zgjidhni Ndërto > Menaxheri i Konfigurimit. 3. Ndryshoni platformat e zgjidhjes aktive në x64. 4. Konfirmoni nëpërmjet Mbyll. 5. Zgjidhni Ndërto > Ndërto zgjidhjen. 6. Nuk ka gabim? Kontrolloni nëse rezultati i kompajlimit raporton siç duhet:
1>—— Pastrimi filloi: Projekti: NanolibTest, Konfigurimi: Debug x64 —–========== Pastrimi: 1 pati sukses, 0 dështoi, 0 u anashkalua ===========
Versioni: doc 1.4.2 / NanoLib 1.3.0
13
7 Krijimi i projektit tuaj Linux
7 Krijimi i projektit tuaj Linux
Krijoni, kompiloni dhe ekzekutoni projektin tuaj Linux për të përdorur NanoLib. 1. Në paketën e instalimit NanoLib të çzipuar: Hapni /nanotec_nanolib. 2. Gjeni të gjitha objektet e përbashkëta në tar.gz file. 3. Zgjidhni një opsion: Instaloni secilën librari ose me një Makefile ose me dorë.
7.1 Instaloni objektet e përbashkëta me Makefile
Përdor Bërefile me Linux Bash për të instaluar automatikisht të gjitha skedarët *.so të parazgjedhur files. 1. Nëpërmjet Bash: Shko te dosja që përmban markënfile2. Kopjoni objektet e përbashkëta nëpërmjet:
sudo make install 3. Konfirmo nëpërmjet:
ldconfig
7.2 Instaloni objektet e përbashkëta me dorë
Përdorni një Bash për të instaluar të gjitha *.so filetë NanoLib manualisht. 1. Nëpërmjet Bash: Krijoni një dosje të re brenda /usr/local/lib. 2. Nevojiten të drejta administratori! Shkruani:
sudo mkdir /usr/local/lib/nanotec 3. Kaloni në dosjen e paketës së instalimit të çzipuar. 4. Kopjoni të gjitha objektet e përbashkëta nga dosja lib nëpërmjet:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Kontrolloni përmbajtjen e dosjes së synuar nëpërmjet:
ls -al /usr/local/lib/nanotec/ 6. Kontrolloni nëse janë të listuara të gjitha objektet e përbashkëta nga dosja lib. 7. Ekzekutoni ldconfig në këtë dosje nëpërmjet:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Krijoni projektin tuaj
Me objektet e përbashkëta të instaluara: Krijoni një projekt të ri për NanoLib-in tuaj Linux. 1. Nëpërmjet Bash: Krijoni një dosje të re projekti (këtu: NanoLibTest) nëpërmjet:
mkdir NanoLibTest cd NanoLibTest
2. Kopjoni kokën files në një dosje include (këtu: inc) nëpërmjet: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Krijo një faqe kryesore file (NanoLibTest.cpp) nëpërmjet: #include “accessor_factory.hpp” #include
Versioni: doc 1.4.2 / NanoLib 1.3.0
14
7 Krijimi i projektit tuaj Linux
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds rezultati = aksesor->listAvailableBusHardware();
nëse(rezultati.kaGabim()) { std::cout << rezultati.getGabim() << std::endl; }
else{ std::cout << “Sukses” << std::endl; }
fshi aksesorin; kthe 0; }
4. Kontrolloni dosjen e projektit tuaj për strukturën e duhur:

NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Kompiloni dhe testoni projektin tuaj
Bëjeni Linux NanoLib-in tuaj gati për përdorim nëpërmjet Bash.
1. Nëpërmjet Bash: Kompiloni skedarin kryesor file nëpërmjet:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Lidhni skedarin ekzekutues së bashku nëpërmjet:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Ekzekutoni programin e testimit nëpërmjet:
./test
4. Kontrolloni nëse Bash juaj raporton siç duhet:
sukses
Versioni: doc 1.4.2 / NanoLib 1.3.0
15
8 Referenca e klasave/funksioneve
8 Referenca e klasave/funksioneve
Gjeni këtu një listë të klasave të ndërfaqes së përdoruesit të NanoLib dhe funksionet e tyre anëtare. Përshkrimi tipik i një funksioni përfshin një hyrje të shkurtër, përkufizimin e funksionit dhe një listë parametrash/kthimi:
ExampleFunction () Ju tregon shkurtimisht se çfarë bën funksioni.
virtual void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)
Parametrat param_a param_b
Rikthen Rezultati Void
Koment shtesë nëse është e nevojshme. Koment shtesë nëse është e nevojshme.
8.1 NanoLibAccessor
Klasa e ndërfaqes e përdorur si pikë hyrëse në NanoLib. Një rrjedhë tipike e punës duket si kjo:
1. Filloni duke skanuar për pajisje me NanoLibAccessor.listAvailableBusHardware (). 2. Vendosni cilësimet e komunikimit me BusHardwareOptions (). 3. Hapni lidhjen e harduerit me NanoLibAccessor.openBusHardwareWithProtocol (). 4. Skanoni autobusin për pajisje të lidhura me NanoLibAccessor.scanDevices (). 5. Shto një pajisje me NanoLibAccessor.addDevice (). 6. Lidhuni me pajisjen me NanoLibAccessor.connectDevice (). 7. Pas përfundimit të funksionimit, shkëputeni pajisjen me NanoLibAccessor.disconnectDevice (). 8. Hiqni pajisjen me NanoLibAccessor.removeDevice (). 9. Mbyllni lidhjen e harduerit me NanoLibAccessor.closeBusHardware ().
NanoLibAccessor ka funksionet e mëposhtme të anëtarëve publikë:
listAvailableBusHardware () Përdoreni këtë funksion për të listuar harduerin e disponueshëm të fushës së autobusit.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
Kthen ResultBusHwIds
Ofron një grup ID të Fieldbus.
openBusHardwareWithProtocol () Përdoreni këtë funksion për të lidhur harduerin e autobusit.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
Parametrat busHwId busHwOpt
Rikthen Rezultati Void
Specifikon autobusin e fushës për t'u hapur. Specifikon opsionet e hapjes së autobusit. Konfirmon që një funksion void është ekzekutuar.
isBusHardwareOpen () Përdorni këtë funksion për të kontrolluar nëse lidhja juaj harduerike e autobusit është e hapur.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)
Versioni: doc 1.4.2 / NanoLib 1.3.0
16
8 Referenca e klasave/funksioneve
Parametrat BusHardwareId Kthen të vërtetë
e rreme
Specifikon çdo fushëbus për t'u hapur. Hardueri është i hapur. Hardware është i mbyllur.
getProtocolSpecificAccessor () Përdorni këtë funksion për të marrë objektin aksesor specifik të protokollit.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
Parametrat busHwId Kthen ResultVoid
Specifikon autobusin e fushës për të marrë aksesorin. Konfirmon që një funksion void është ekzekutuar.
getProfinetDCP () Përdorni këtë funksion për të kthyer një referencë në ndërfaqen Profinet DCP.
ProfinetDCP virtuale dhe getProfinetDCP ()
Kthen ProfinetDCP
merrSamplerInterface () Përdoreni këtë funksion për të marrë një referencë për sampndërfaqe ler.
virtual SamplerInterface & getSampler Ndërfaqja ()
Kthehet SamplerInterface
I referohet sampklasa e ndërfaqes ler.
setBusState () Përdorni këtë funksion për të vendosur gjendjen specifike të protokollit të autobusit.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)
Gjendja e parametrave busHwId
Rikthen Rezultati Void
Specifikon autobusin e fushës për t'u hapur. Cakton një gjendje specifike të autobusit si vlerë vargu. Konfirmon që një funksion void është ekzekutuar.
scanDevices () Përdoreni këtë funksion për të skanuar pajisje në rrjet.
virtuale ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* thirrje mbrapsht)
Parametrat busHwId kthimi i thirrjes
Kthen ResultDeviceIds IOGabim
Specifikon autobusin e fushës për skanim. NlcScanBusGjurmuesi i progresit të kthimit të telefonatës. Ofron një grup ID të pajisjes. Informon se një pajisje nuk është gjetur.
Versioni: doc 1.4.2 / NanoLib 1.3.0
17
8 Referenca e klasave/funksioneve
shtoPajisje ()
Përdorni këtë funksion për të shtuar një pajisje bus të përshkruar nga deviceId në listën e brendshme të pajisjeve të NanoLib dhe për të kthyer deviceHandle për të.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)
Parametrat deviceId Kthen ResultDeviceHandle
Përcakton pajisjen për t'u shtuar në listë. Ofron një dorezë pajisjeje.
connectDevice () Përdorni këtë funksion për të lidhur një pajisje me pajisje Handle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultVoid
IO Gabim
Përcakton se me çfarë pajisje autobusi lidhet NanoLib. Konfirmon që një funksion void është ekzekutuar. Informon se një pajisje nuk është gjetur.
getDeviceName () Përdorni këtë funksion për të marrë emrin e një pajisjeje sipas pajisjes Handle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultString
Përcakton se për cilën pajisje autobusi merr emrin NanoLib. Dërgon emrat e pajisjeve si një varg.
getDeviceProductCode () Përdoreni këtë funksion për të marrë kodin e produktit të një pajisjeje sipas pajisjes Handle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultInt
Përcakton se për cilën pajisje autobusi NanoLib merr kodin e produktit. Ofron kodet e produktit si një numër i plotë.
getDeviceVendorId () Përdorni këtë funksion për të marrë ID-në e shitësit të pajisjes sipas pajisjes Handle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultInt
Burimi i padisponueshëm
Përcakton se për çfarë pajisje autobusi NanoLib merr ID-në e shitësit. Dërgon ID-të e shitësit si një numër i plotë. Informon se nuk gjenden të dhëna.
Versioni: doc 1.4.2 / NanoLib 1.3.0
18
8 Referenca e klasave/funksioneve
getDeviceId () Përdorni këtë funksion për të marrë ID-në e një pajisjeje specifike nga lista e brendshme e NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultDeviceId
Përcakton se për cilën pajisje autobusi NanoLib merr ID-në e pajisjes. Ofron një ID të pajisjes.
getDeviceIds () Përdoreni këtë funksion për të marrë ID-në e të gjitha pajisjeve nga lista e brendshme e NanoLib.
ResultDeviceIds virtuale nlc::NanoLibAccessor::getDeviceIds ()
Kthen ResultDeviceIds
Ofron një listë ID të pajisjes.
getDeviceUid () Përdoreni këtë funksion për të marrë ID-në unike të një pajisjeje (96 bit / 12 bajte) sipas pajisjes Handle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultArrayByte
Burimi i padisponueshëm
Përcakton se për çfarë pajisje autobusi NanoLib merr ID-në unike. Ofron ID unike si një grup bajt. Informon se nuk gjenden të dhëna.
getDeviceSerialNumber () Përdorni këtë funksion për të marrë numrin serial të një pajisjeje sipas pajisjes Handle.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultString
Burimi i padisponueshëm
Përcakton se për cilën pajisje autobusi NanoLib merr numrin serial. Ofron numrat serialë si varg. Informon se nuk gjenden të dhëna.
getDeviceHardwareGroup () Përdoreni këtë funksion për të marrë grupin e harduerit të një pajisje autobusi sipas pajisjes Handle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultInt
Përcakton se për çfarë pajisje autobusi NanoLib merr grupin e harduerit.
Ofron grupet e harduerit si një numër i plotë.
getDeviceHardwareVersion () Përdorni këtë funksion për të marrë versionin e harduerit të një pajisjeje autobusi sipas pajisjes Handle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Versioni: doc 1.4.2 / NanoLib 1.3.0
19
8 Referenca e klasave/funksioneve
Parametrat e pajisjes Handle
Kthimet
Burimi ResultString i padisponueshëm
Përcakton se për çfarë pajisje autobusi NanoLib merr versionin e harduerit. Dërgon emrat e pajisjeve si një varg. Informon se nuk gjenden të dhëna.
getDeviceFirmwareBuildId () Përdoreni këtë funksion për të marrë ID-në e ndërtimit të firmuerit të një pajisjeje autobusi sipas pajisjes Handle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultString
Përcakton se për çfarë pajisje autobusi NanoLib merr ID-në e ndërtimit të firmuerit.
Dërgon emrat e pajisjeve si një varg.
getDeviceBootloaderVersion () Përdorni këtë funksion për të marrë versionin e ngarkuesit të një pajisje autobusi nga deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
Parametrat e pajisjes Handle
Kthimet
Burimi ResultInt I Padisponueshëm
Përcakton se për çfarë pajisje autobusi NanoLib merr versionin e ngarkuesit. Ofron versionet e ngarkuesit si një numër i plotë. Informon se nuk gjenden të dhëna.
getDeviceBootloaderBuildId () Përdoreni këtë funksion për të marrë ID-në e ndërtimit të ngarkuesit të një pajisje autobusi sipas pajisjes Handle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultString
Përcakton se për çfarë pajisje autobusi NanoLib merr ID-në e ndërtimit të ngarkuesit.
Dërgon emrat e pajisjeve si një varg.
rebootDevice () Përdorni këtë funksion për të rindezur pajisjen sipas pajisjes Handle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Parametrat deviceHandle Kthimet ResultVoid
Specifikon fushëbusin për rindezje. Konfirmon që një funksion void është ekzekutuar.
getDeviceState () Përdorni këtë funksion për të marrë gjendjen specifike të protokollit të pajisjes.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Parametrat e pajisjes Handle
Specifikon për cilën pajisje autobusi NanoLib merr gjendjen.
Versioni: doc 1.4.2 / NanoLib 1.3.0
20
8 Referenca e klasave/funksioneve
Rikthen ResultString
Dërgon emrat e pajisjeve si një varg.
setDeviceState () Përdorni këtë funksion për të vendosur gjendjen specifike të protokollit të pajisjes.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)
Parametrat e pajisjes Gjendja e trajtimit
Rikthen Rezultati Void
Përcakton se për çfarë pajisje autobusi cakton gjendjen NanoLib. Cakton një gjendje specifike të autobusit si vlerë vargu. Konfirmon që një funksion void është ekzekutuar.
getConnectionState ()
Përdoreni këtë funksion për të marrë gjendjen e fundit të njohur të lidhjes së një pajisjeje specifike nga deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Parametrat e pajisjes Handle Kthimet ResultConnectionState
Përcakton se për çfarë pajisje autobusi NanoLib merr gjendjen e lidhjes.
Ofron një gjendje lidhjeje (= Shkëputur, Lidhur, ConnectedBootloader).
kontrolloniGjendjen e Lidhjes ()
Vetëm nëse gjendja e fundit e njohur nuk ishte Shkëputur: Përdorni këtë funksion për të kontrolluar dhe ndoshta përditësuar gjendjen e lidhjes së një pajisjeje specifike me anë të deviceHandle dhe duke testuar disa operacione specifike për modalitetin.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Parametrat e pajisjes Handle Kthimet ResultConnectionState
Përcakton se për çfarë pajisje autobusi NanoLib kontrollon gjendjen e lidhjes.
Ofron një gjendje lidhjeje (= jo e shkëputur).
assignObjectDictionary () Përdorni këtë funksion manual për t'i caktuar vetë një fjalor objekti (OD) pajisjes Handle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Parametrat deviceHandle objectDictionary
Rikthen RezultatiObjectDictionary
Përcakton se cilës pajisje autobusi NanoLib i cakton OD. Tregon vetitë e një fjalori objekti.
autoAssignObjectDictionary ()
Përdoreni këtë automatizëm për të lejuar NanoLib të caktojë një fjalor objekti (OD) në pajisje Handle. Me gjetjen dhe ngarkimin e një OD të përshtatshme, NanoLib ia cakton automatikisht pajisjes. Shënim: Nëse një OD e përputhshme është ngarkuar tashmë në bibliotekën e objekteve, NanoLib do ta përdorë atë automatikisht pa skanuar drejtorinë e paraqitur.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionaryLocationPath)
Versioni: doc 1.4.2 / NanoLib 1.3.0
21
8 Referenca e klasave/funksioneve
Parametrat e pajisjes Handle
Kthimet
fjalorëVendndodhjaRruga RezultatiObjektFjalori
Përcakton për cilën pajisje autobusi NanoLib do të skanojë automatikisht për OD të përshtatshme. Përcakton shtegun për në direktorinë OD. Tregon vetitë e një fjalori objekti.
getAssignedObjectDictionary ()
Përdoreni këtë funksion për të caktuar fjalorin e objekteve për një pajisje nga deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
Dorezë)
Parametrat deviceHandle Returns ResultObjectDictionary
Përcakton se për cilën pajisje autobusi NanoLib merr OD-në e caktuar. Tregon vetitë e një fjalori objekti.
getObjectDictionaryLibrary () Ky funksion kthen një referencë OdLibrary.
virtuale OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
Kthen OdLibrary&
Hap të gjithë bibliotekën OD dhe fjalorët e objekteve të saj.
setLoggingLevel () Përdorni këtë funksion për të vendosur detajet e nevojshme të regjistrit (dhe log file madhësia). Niveli i parazgjedhur është Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (niveli i LogLevel)
Niveli i parametrave
Detajet e mëposhtme të regjistrit janë të mundshme:
0 = Gjurmë 1 = Korrigjimi 2 = Informacion 3 = Paralajmërim 4 = Gabim 5 = Kritik 6 = Joaktiv
Niveli më i ulët (logi më i madh file); Regjistron çdo detaj të mundshëm, plus fillimin/ndalimin e softuerit. Regjistron informacionin e korrigjimit të gabimeve (= rezultatet e përkohshme, përmbajtja e dërguar ose marrë, etj.) Niveli i parazgjedhur; regjistrat e mesazheve informative. Regjistron problemet që kanë ndodhur, por nuk do të ndalojnë algoritmin aktual. Regjistron vetëm probleme të rënda që ndaluan algoritmin. Niveli më i lartë (logi më i vogël file); çaktivizon logimin; asnjë log tjetër fare. Asnjë prerje fare.
setLoggingCallback ()
Përdoreni këtë funksion për të vendosur një tregues të rikthimit të thirrjes së regjistrimit dhe një modul log (= library) për atë rikthim të thirrjes (jo për vetë loggerin).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)
Parametrat *callback logModule
Cakton një tregues të rikthimit të thirrjes. Akordon rikthimin e thirrjes (jo regjistruesin!) në bibliotekën tuaj.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Aktivizon një rikthim vetëm për bërthamën e NanoLib. Aktivizon një rikthim vetëm për CANopen. Aktivizon një rikthim vetëm për Modbus. Aktivizon një rikthim vetëm për EtherCAT.
Versioni: doc 1.4.2 / NanoLib 1.3.0
22
8 Referenca e klasave/funksioneve
4 = NanolibRest 5 = NanolibUSB
Aktivizon një thirrje kthimi vetëm REST. Aktivizon një thirrje kthimi vetëm me USB.
unsetLoggingCallback () Përdorni këtë funksion për të anuluar një tregues të kthimit të thirrjes në regjistrim.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Përdoreni këtë funksion për të lexuar një vlerë numerike nga fjalori i objektit.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametrat e pajisjesHandle odIndex
Kthen RezultatiInt
Përcakton nga cila pajisje autobusi lexon NanoLib. Përcakton indeksin (nën-) për të lexuar. Jep një vlerë numerike të painterpretuar (mund të jetë e nënshkruar, e panënshkruar, e rregulluar 16.16 bit).
readNumberArray () Përdorni këtë funksion për të lexuar vargje numerike nga fjalori i objekteve.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t indeks)
Parametrat e pajisjes Indeksi i trajtimit
Kthen ResultArrayInt
Përcakton nga cila pajisje autobusi lexon NanoLib. Indeksi i objektit të grupit. Ofron një grup me numra të plotë.
readBytes () Përdoreni këtë funksion për të lexuar bajt arbitrare (të dhënat e objektit të domenit) nga fjalori i objektit.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametrat e pajisjesHandle odIndex
Kthen ResultArrayByte
Përcakton nga cila pajisje autobusi lexon NanoLib. Përcakton indeksin (nën-) për të lexuar. Ofron një grup bajt.
readString () Përdoreni këtë funksion për të lexuar vargjet nga direktoria e objektit.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametrat e pajisjesHandle odIndex
Rikthen ResultString
Përcakton nga cila pajisje autobusi lexon NanoLib. Përcakton indeksin (nën-) për të lexuar. Dërgon emrat e pajisjeve si një varg.
Versioni: doc 1.4.2 / NanoLib 1.3.0
23
8 Referenca e klasave/funksioneve
writeNumber () Përdoreni këtë funksion për të shkruar vlera numerike në drejtorinë e objektit.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)
Parametrat pajisja e vlerës së odIndeksit Gjatësia e bitit
Rikthen Rezultati Void
Përcakton se cilës pajisje autobusi i shkruan NanoLib. Vlera e pakonterpretuar (mund të jetë e nënshkruar, e panënshkruar, rregullohet 16.16). Përcakton indeksin (nën-) për të lexuar. Gjatësia në bit. Konfirmon që një funksion void është ekzekutuar.
writeBytes () Përdoreni këtë funksion për të shkruar bajt arbitrare (të dhëna të objektit të domenit) në drejtorinë e objektit.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & të dhëna, const OdIndex odIndex)
Parametrat e pajisjes Trajtimi i të dhënave odIndex
Rikthen Rezultati Void
Përcakton se cilës pajisje autobusi i shkruan NanoLib. Vektori / vargu i bajtit. Përcakton indeksin (nën-) për të lexuar. Konfirmon që një funksion void është ekzekutuar.
ngarkoniFirmware ()
Përdoreni këtë funksion për të përditësuar firmware-in e kontrolluesit tuaj.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* (kthim thirrjeje)
Parametrat e pajisjes Trajtoni fwData NlcTransferimi i të dhënave Kthim
Rikthen Rezultati Void
Përcakton se çfarë pajisje autobusi përditëson NanoLib. Array që përmban të dhëna firmware. Një gjurmues i përparimit të të dhënave. Konfirmon që një funksion void është ekzekutuar.
ngarkoniFirmwareNgaFile ()
Përdorni këtë funksion për të përditësuar firmware-in e kontrolluesit tuaj duke e ngarkuar atë file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileShtegu, NlcDataTransferCallback* thirrje kthyese)
Parametrat e pajisjes Handle absoluteFileRruga NlcTransferimi i të Dhënave Kthim
Rikthen Rezultati Void
Përcakton se çfarë pajisje autobusi përditëson NanoLib. Rruga drejt file që përmban të dhëna të firmware-it (std::string). Një gjurmues i progresit të të dhënave. Konfirmon që është ekzekutuar një funksion void.
Versioni: doc 1.4.2 / NanoLib 1.3.0
24
8 Referenca e klasave/funksioneve
ngarkoniBootloader-in ()
Përdoreni këtë funksion për të përditësuar ngarkuesin e nisjes së kontrolluesit tuaj.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* (kthim thirrjeje)
Parametrat e pajisjes Trajtoni btData NlcTransferimi i të dhënave Kthim
Rikthen Rezultati Void
Përcakton se çfarë pajisje autobusi përditëson NanoLib. Array që përmban të dhëna të ngarkuesit. Një gjurmues i përparimit të të dhënave. Konfirmon që një funksion void është ekzekutuar.
ngarkoniBootloaderFromFile ()
Përdorni këtë funksion për të përditësuar ngarkuesin e kontrollit duke e ngarkuar atë. file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileShtegu, NlcDataTransferCallback* thirrje kthyese)
Parametrat e pajisjes Trajtoni bootloaderAbsoluteFileRruga NlcTransferimi i të Dhënave Kthim
Rikthen Rezultati Void
Përcakton se çfarë pajisje autobusi përditëson NanoLib. Rruga drejt file që përmban të dhëna të ngarkuesit të nisjes (std::string). Një gjurmues i progresit të të dhënave. Konfirmon që është ekzekutuar një funksion void.
ngarkoniBootloaderFirmware ()
Përdoreni këtë funksion për të përditësuar ngarkuesin e nisjes dhe firmware-in e kontrolluesit tuaj.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* (kthim thirrjeje)
Parametrat e pajisjes Trajtoni btData fwData NlcTransferimi i të dhënave Kthimi i thirrjes
Rikthen Rezultati Void
Përcakton se çfarë pajisje autobusi përditëson NanoLib. Array që përmban të dhëna të ngarkuesit. Array që përmban të dhëna firmware. Një gjurmues i përparimit të të dhënave. Konfirmon që një funksion void është ekzekutuar.
ngarkoniBootloaderFirmwareFromFile ()
Përdorni këtë funksion për të përditësuar ngarkuesin dhe firmuerin e kontrolluesit duke ngarkuar files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileShtegu, const std::string & absoluteFileShtegu, NlcDataTransferCallback* thirrje kthyese)
Parametrat e pajisjes Trajtoni bootloaderAbsoluteFileRruga absoluteFileRruga NlcTransferimi i të Dhënave Kthim
Rikthen Rezultati Void
Përcakton se çfarë pajisje autobusi përditëson NanoLib. Rruga drejt file që përmban të dhëna ngarkuesi të nisjes (std::string). Shtegu për në file që përmban të dhëna firmware (uint8_t). Një gjurmues i përparimit të të dhënave. Konfirmon që një funksion void është ekzekutuar.
Versioni: doc 1.4.2 / NanoLib 1.3.0
25
8 Referenca e klasave/funksioneve
ngarkoniNanoJ ()
Përdorni këtë funksion publik për të përditësuar programin NanoJ në kontrolluesin tuaj.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* thirrje kthyese)
Parametrat e pajisjes Trajtoni vmmData NlcTransferimi i të dhënave kthimi i telefonatës
Rikthen Rezultati Void
Përcakton në cilën pajisje autobusi ngarkon NanoLib. Array që përmban të dhëna NanoJ. Një gjurmues i përparimit të të dhënave. Konfirmon që një funksion void është ekzekutuar.
ngarkoNanoJNgaFile ()
Përdorni këtë funksion publik për të përditësuar programin NanoJ në kontrolluesin tuaj duke ngarkuar file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileShtegu, NlcDataTransferCallback* thirrje kthyese)
Parametrat e pajisjes Handle absoluteFileRruga NlcTransferimi i të Dhënave Kthim
Rikthen Rezultati Void
Përcakton në cilën pajisje autobusi ngarkon NanoLib. Rruga drejt file që përmban të dhëna NanoJ (std::string). Një gjurmues i progresit të të dhënave. Konfirmon që është ekzekutuar një funksion void.
disconnectDevice () Përdorni këtë funksion për të shkëputur pajisjen tuaj me pajisje Handle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Parametrat deviceHandle Kthimet ResultVoid
Përcakton nga cila pajisje autobusi shkëputet NanoLib. Konfirmon që një funksion void është ekzekutuar.
removeDevice () Përdorni këtë funksion për të hequr pajisjen tuaj nga lista e brendshme e pajisjeve të NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Parametrat deviceHandle Kthimet ResultVoid
Përcakton se çfarë pajisje autobusi fshin NanoLib. Konfirmon që një funksion void është ekzekutuar.
closeBusHardware () Përdoreni këtë funksion për t'u shkëputur nga pajisja juaj e fushës.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
Parametrat busHwId Kthen ResultVoid
Specifikon autobusin e fushës për t'u shkëputur. Konfirmon që një funksion void është ekzekutuar.
Versioni: doc 1.4.2 / NanoLib 1.3.0
26
8 Referenca e klasave/funksioneve
8.2 BusHardwareId
Përdoreni këtë klasë për të identifikuar një harduer autobusi një-për-një ose për të dalluar pajisje të ndryshme të autobusit nga njëri-tjetri. Kjo klasë (pa funksionet e vendosësit që të jenë të pandryshueshme që nga krijimi) gjithashtu përmban informacione për:
Hardware (= emri i përshtatësit, përshtatësi i rrjetit etj.) Protokolli për t'u përdorur (= Modbus TCP, CANopen etj.) Specifikuesi i harduerit të autobusit (= emri i portës serike, Emri miqësor MAC
adresa etj.)
BusHardwareId () [1/3] Konstruktor që krijon një objekt të ri ID të harduerit të autobusit.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
Parametrat busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ emri_
Lloji i harduerit (= ZK-USB-CAN-1 etj.). Protokolli i komunikimit me autobus (= CANopen etj.). Specifikuesi i një hardueri (= COM3 etj.). Specifikimi shtesë i harduerit (të themi, informacioni i vendndodhjes USB). Një emër miqësor (= Emri i përshtatësit (Port) etj.).
BusHardwareId () [2/3] Konstruktor që krijon një objekt të ri ID-je hardueri të autobusit, me opsionin për një specifikues shtesë hardueri.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)
Parametrat busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ emri_
Lloji i harduerit (= ZK-USB-CAN-1 etj.). Protokolli i komunikimit me autobus (= CANopen etj.). Specifikuesi i një hardueri (= COM3 etj.). Specifikimi shtesë i harduerit (të themi, informacioni i vendndodhjes USB). Një emër miqësor (= Emri i përshtatësit (Port) etj.).
BusHardwareId () [3/3] Konstruktor që kopjon një busHardwareId ekzistues.
nlc::BusHardwareId::BusHardwareId (BusHardwareId konst &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId konst &)
Parametrat busHardwareId
Emërton ID-në e harduerit të autobusit për të kopjuar.
barazohet me () Krahason një ID të re të harduerit të autobusit me ato ekzistuese.
bool nlc::BusHardwareId::equals (BusHardwareId const & të tjera) const
Parametrat e tjera Kthen true
Një objekt tjetër i së njëjtës klasë. Nëse të dy janë të barabartë në të gjitha vlerat.
Versioni: doc 1.4.2 / NanoLib 1.3.0
27
8 Referenca e klasave/funksioneve
e rreme
Nëse vlerat ndryshojnë.
getBusHardware () Lexon vargun e harduerit të autobusit.
std::string nlc::BusHardwareId::getBusHardware () const
Rikthen vargun
getHardwareSpecifier () Lexon vargun specifikues të harduerit të autobusit (= emri i rrjetit etj.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Rikthen vargun
getExtraHardwareSpecifier () Lexon vargun specifikues të harduerit shtesë të autobusit (= adresa MAC etj.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Rikthen vargun
getName () Lexon emrin miqësor të harduerit të autobusit.
std::string nlc::BusHardwareId::getName () const
Rikthen vargun
getProtocol () Lexon vargun e protokollit të autobusit.
std::string nlc::BusHardwareId::getProtocol () const
Rikthen vargun
toString () Kthen ID-në e harduerit të autobusit si një varg.
std::string nlc::BusHardwareId::toString () const
Rikthen vargun
8.3 Opsionet e BusHardware
Gjeni në këtë klasë, në një listë vargjesh çelës-vlerë, të gjitha opsionet e nevojshme për të hapur një harduer bus-i.
Versioni: doc 1.4.2 / NanoLib 1.3.0
28
8 Referenca e klasave/funksioneve
BusHardwareOptions () [1/2] Ndërton një objekt të ri opsioni hardueri për autobusin.
nlc::BusHardwareOptions::BusHardwareOptions () Përdorni funksionin addOption () për të shtuar çifte çelës-vlerë.
BusHardwareOptions () [2/2] Ndërton një objekt të ri opsionesh të harduerit të autobusit me hartën e vlerës-kyç tashmë të vendosur.
nlc::BusHardwareOptions::BusHardwareOptions (std::map konst dhe opsione)
Opsionet e parametrave
Një hartë me opsione për funksionimin e pajisjeve të autobusit.
addOption () Krijon çelësa dhe vlera shtesë.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)
Vlera kryesore e parametrave
Example: BAUD_RATE_OPTIONS_NAME, shiko bus_hw_options_ standardet
Example: BAUD_RATE_1000K, shiko bus_hw_options_defaults
e barabartë me () Krahason opsionet e BusHardware me ato ekzistuese.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & të tjera) const
Parametrat e tjera Kthen true
e rreme
Një objekt tjetër i së njëjtës klasë. Nëse objekti tjetër ka të gjitha opsionet ekzaktësisht të njëjta. Nëse objekti tjetër ka çelësa ose vlera të ndryshme.
getOptions () Lexon të gjitha çiftet e shtuara çelës-vlerë.
std::map nlc::BusHardwareOptions::getOptions () const
Kthen hartën e vargut
toString () I kthen të gjithë çelësat/vlerat si varg.
std::string nlc::BusHardwareId::toString () const
Rikthen vargun
8.4 BusHwOptions Default
Kjo klasë e opsioneve të konfigurimit të paracaktuar ka atributet e mëposhtme publike:
Versioni: doc 1.4.2 / NanoLib 1.3.0
29
8 Referenca e klasave/funksioneve
const CanBus konst Const Seriali RESTfulBus konst EtherCATBus
canBus = CanBus () serial = Serial () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()
8.5 CanBaudRate
Struktura që përmban baudrate të autobusit CAN në atributet publike të mëposhtme:
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 100k” BAUD_RATE_50K = “50k” BAUD_RATE_20K = “20k” BAUD_RATE_10K = “10k”
8.6 CanBus
Klasa e parazgjedhur e opsioneve të konfigurimit me atributet e mëposhtme publike:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = "shkalla e baudit të përshtatësit" baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 Shërbimi CanOpenNmt
Për shërbimin NMT, kjo strukturë përmban gjendjet CANopen NMT si vlera vargu në atributet e mëposhtme publike:
const std::string const std::string const std::string const std::string const std::string
START = "START" STOP = "STOP" PRE_OPERATIONAL = "PRE_OPERATIONAL" RESET = "RESET" RESET_COMMUNICATION = "RESET_COMMUNICATION"
8.8 CanOpenNmtState
Kjo strukturë përmban gjendjet CANopen NMT si vlera vargu në atributet publike të mëposhtme:
const std::string const std::string const std::string const std::string const std::string
TË NDALUAR = "NDALUAR" PARA_OPERATIONAL = "PRE_OPERATIONAL" OPERATIONAL = "OPERATIONAL" INICIALIZIMI = "INITIALIZIM" I PANJUAR = "I PANJOHUR"
8.9 Struktura EtherCATBus
Kjo strukturë përmban opsionet e konfigurimit të komunikimit EtherCAT në atributet e mëposhtme publike:
Versioni: doc 1.4.2 / NanoLib 1.3.0
30
8 Referenca e klasave/funksioneve
const std::string NETWORK_FIRMWARE_STATE_OP- Gjendja e rrjetit trajtohet si modalitet firmware. E pranueshme
TION_NAME = “Gjendja e Firmware-it të Rrjetit”
vlerat (e parazgjedhur = PRE_OPERATIONAL):
EtherCATState::PRE_OPERATIONAL EtherCATState::SAFE_OPERATIONAL EtherCATState::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PARA-OPERACIONAL”
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Koha e pritjes në milisekonda për të marrë bllokim ekskluziv
TION_NAME = “Skadimi i Kohës së Kyçjes së Ndarë”
rrjeti (e parazgjedhur = 500 ms).
i panënshkruar në DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Kohëzgjatja në milisekonda për të marrë kyçjen e përbashkët në
EMRI = "Kohëzgjatja e Mbylljes së Përbashkët"
rrjeti (e parazgjedhur = 250 ms).
i panënshkruar në DEFAULT_SHARED_LOCK_TIMEOUT = "250"
const std::string READ_TIMEOUT_OPTION_NAME = Kohëzgjatja në milisekonda për një operacion leximi (parazgjedhur
"Kohëzgjatja e Leximit"
= 700 ms).
i panënshkruar në DEFAULT_READ_TIMEOUT = "700"
const std::string WRITE_TIMEOUT_OPTION_NAME = Kohëzgjatja në milisekonda për një operacion shkrimi (parazgjedhur
"Koha e Shkrimit"
= 200 ms).
i panënshkruar në DEFAULT_WRITE_TIMEOUT = "200"
const std::string READ_WRITE_ATTEMPTS_OPTION_ Përpjekjet maksimale për lexim ose shkrim (vlera jo-zero)
EMRI = “Përpjekje Leximi/Shkrimi”
vetëm; default = 5).
i panënshkruar int DEFAULT_READ_WRITE_ATTEMPTS = "5"
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Përpjekjet për të ndryshuar gjendjen e rrjetit”
Numri maksimal i përpjekjeve për të ndryshuar gjendjen e rrjetit (vetëm vlera jo zero; parazgjedhje = 10).
i panënshkruar në DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"
const std::string PDO_IO_ENABLED_OPTION_NAME Aktivizon ose çaktivizon përpunimin PDO për hyrje dixhitale /
= “PDO IO i Aktivizuar”
daljet (vetëm "E vërtetë" ose "E gabuar"; parazgjedhja = "E vërtetë").
const std::string DEFAULT_PDO_IO_ENABLED = "E vërtetë"
8.10 Struktura EtherCATSstate
Kjo strukturë përmban gjendjet e skllavërisë / rrjetit EtherCAT si vlera vargu në atributet publike të mëposhtme. Shënim: Gjendja e parazgjedhur në ndezje është PRE_OPERATIONAL; NanoLib nuk mund të sigurojë asnjë gjendje të besueshme "OPERATIONAL" në një sistem operativ jo-real:
const std::string const std::string const std::string const std::string const std::string
ASNJË = "ASNJË" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" OPERATIONAL = "OPERATIONAL"
Versioni: doc 1.4.2 / NanoLib 1.3.0
31
8 Referenca e klasave/funksioneve
8.11 Ixxat
Kjo strukturë mban të gjitha informacionet për Ixxat usb-to-can në atributet publike të mëposhtme:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "numri i autobusit të përshtatësit ixxat"
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Kjo strukturë mban numrin e autobusit për Ixxat usb-to-can në atributet publike të mëposhtme:
const std::string const std::string const std::string const std::string
BUS_NUMBER_0_DEFAULT = “0” BUS_NUMBER_1 = “1” BUS_NUMBER_2 = “2” BUS_NUMBER_3 = “3”
8.13 maja
Kjo strukturë përmban të gjitha informacionet për Peak usb-to-can në atributet publike të mëposhtme:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "numri i autobusit të përshtatësit maksimal"
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 Numri i Autobusit të Përshtatësit të Peak-ut
Kjo strukturë përmban numrin e autobusit për Peak usb-to-can në atributet publike të mëposhtme:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BUS_NUMBER_1_DEFAULT = std::te_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::te_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::te_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::te_string (PCAN_USBBUS4) BUS_NUMBER_5 = std::te_string (PCAN_USBBUS5) BUS_NUMBER_6 = std::te_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::te_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::te_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::te_string (PCAN_USBBUS9) BUS_NUMBER_10 = std::te_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::te_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::te_string (PCAN_USBBUS12) BUS_NUMBER_13 = std::te_string (PCAN_USBBUS13) BUS_NUMBER_14 = std::te_string (PCAN_USBBUS14) BUS_NUMBER_15 = std::te_string (PCAN_USBBUS15) BUS_NUMBER_16 = std::te_string (PCAN_USBBUS16)
8.15 Doreza e pajisjes
Kjo klasë përfaqëson një dorezë për kontrollin e një pajisjeje në një autobus dhe ka funksionet e mëposhtme të anëtarëve publikë.
DeviceHandle () DeviceHandle (uint32_t handle)
Versioni: doc 1.4.2 / NanoLib 1.3.0
32
8 Referenca e klasave/funksioneve
e barabartë me () Krahason veten me një dorezë të caktuar pajisjeje.
bool është e barabartë me (DeviceHandle const other) const (uint32_t handle)
toString () Kthen një paraqitje të vargut të dorezës së pajisjes.
std::string toString () const
get () Kthen dorezën e pajisjes.
uint32_t merr () const
8.16 ID e pajisjes
Përdorni këtë klasë (e pandryshueshme që nga krijimi) për të identifikuar dhe dalluar pajisjet në një autobus:
Identifikuesi i përshtatësit të harduerit
Identifikuesi i pajisjes
Përshkrimi
Kuptimi i vlerave të ID-së/përshkrimit të pajisjes varet nga autobusi. Për shembullampLe, një autobus CAN mund të përdorë ID-në e numrit të plotë.
DeviceId () [1/3] Ndërton një objekt të ri ID të pajisjes.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)
Parametrat busHardwareId_ deviceId_ description_
Identifikuesi i autobusit. Një indeks; subjekt i autobusit (= CANonopen ID ID etj.). Një përshkrim (mund të jetë bosh); subjekt i autobusit.
DeviceId () [2/3] Ndërton një objekt të ri të ID-së së pajisjes me opsione të zgjeruara të ID-së.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, int i panënshkruar i pajisjesId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)
Parametrat busHardwareId_deviceId_description_extraId_extraStringId_
Identifikuesi i bus-it. Një indeks; i nënshtruar bus-it (= ID e nyjes CANopen etj.). Një përshkrim (mund të jetë bosh); i nënshtruar bus-it. Një ID shtesë (mund të jetë bosh); kuptimi varet nga bus-i. ID shtesë e vargut (mund të jetë bosh); kuptimi varet nga bus-i.
DeviceId () [3/3] Ndërton një kopje të një objekti ID të pajisjes.
nlc::DeviceId::DeviceId (DeviceId konst &)
Versioni: doc 1.4.2 / NanoLib 1.3.0
33
8 Referenca e klasave/funksioneve
Parametrat e pajisjesId_
ID-ja e pajisjes për të kopjuar.
barazohet () Krahason të rejat me objektet ekzistuese.
bool nlc::DeviceId::equals (DeviceId const & other) const
Kthen boolean
getBusHardwareId () Lexon ID-në e harduerit të autobusit.
BusHardwareId nlc::DeviceId::getBusHardwareId () const
Kthen BusHardwareId
getDescription () Lexon përshkrimin e pajisjes (ndoshta e papërdorur).
std::string nlc::DeviceId::getDescription () const
Rikthen vargun
getDeviceId () Lexon ID-në e pajisjes (ndoshta e papërdorur).
int i pa nënshkruar nlc::DeviceId::getDeviceId () const
Kthen të panënshkruara int
toString () E kthen objektin si varg.
std::string nlc::DeviceId::toString () const
Rikthen vargun
getExtraId () Lexon ID-në shtesë të pajisjes (mund të jetë e papërdorur).
const std::vector &getExtraId () const
Kthen vektorin
Një vektor i ID-ve shtesë shtesë (mund të jetë bosh); kuptimi varet nga autobusi.
getExtraStringId () Lexon ID-në shtesë të vargut të pajisjes (mund të jetë i papërdorur).
std::string getExtraStringId () konst
Versioni: doc 1.4.2 / NanoLib 1.3.0
34
8 Referenca e klasave/funksioneve
Rikthen vargun
ID-ja e vargut shtesë (mund të jetë bosh); kuptimi varet nga autobusi.
8.17 LogLevelConverter
Kjo klasë kthen nivelin tuaj të regjistrimit si një varg. static std::string toString (nlc::LogLevel logLevel)
8.18 Konvertuesi i Modulit të Logut
Kjo klasë kthen moduletLoggingLevel () të regjistrit specifik për bibliotekën tuaj si një varg.
statike std::string
toString (nlc::LogModule logModule)
statike std::string toString (nlc::LogModule logModule)
8.19 Fjalori i objekteve
Kjo klasë përfaqëson një fjalor objektesh të një kontrolluesi dhe ka funksionet e mëposhtme të anëtarëve publikë: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Kthen ResultDeviceHandle
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Kthen ResultObjectSubEntry
getObjectEntry () virtual ResultObjectEntry getObjectEntry (indeksi uint16_t)
Rikthen ResultObjectEntry
Informon për vetitë e një objekti.
getXmlFileEmri () virtual ResultString getXmlFileEmri () konst
Rikthen ResultString
Kthen XML file emër si varg.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Kthen ResultInt
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const index)
Versioni: doc 1.4.2 / NanoLib 1.3.0
35
8 Referenca e klasave/funksioneve
Kthen ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) Kthen ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Kthen ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, const int64_t value) Kthen ResultVoid writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Kthen ResultVoid Lidhje të Ngjashme OdIndex
8.20 Hyrja e objektit
Kjo klasë përfaqëson një hyrje objekti të fjalorit të objekteve, ka atributin statik të mbrojtur dhe funksionet publike si më poshtë:
statik nlc::ObjectSubEntry invalidObject
getName () Lexon emrin e objektit si varg.
virtual std::string getName () const
getPrivate () Kontrollon nëse objekti është privat.
virtual bool getPrivate () const
getIndex () Lexon adresën e indeksit të objektit.
virtual uint16_t getIndex () const
Versioni: doc 1.4.2 / NanoLib 1.3.0
36
8 Referenca e klasave/funksioneve
getDataType () Lexon llojin e të dhënave të objektit.
virtual nlc::ObjectEntryDataType getDataType () const
getObjectCode () Lexon kodin e objektit:
Regjistrimi Null Defstruct Var Array Defstruct Deftype
0x00 0x05 0x06 0x07 0x08 0x09
virtual nlc::ObjectCode getObjectCode () const
getObjectSaveable () Kontrollon nëse objekti mund të ruhet dhe nëse është kategoria e tij (shih manualin e produktit për më shumë detaje): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, JO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFYNOWLENTYPENKVENK,
virtual nlc::ObjectSaveable getObjectSaveable () const
getMaxSubIndex () Lexon numrin e nënindekseve të mbështetur nga ky objekt.
virtual uint8_t getMaxSubIndex () const
getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Shihni gjithashtu ObjectSubEntry.
8.21 ObjektSubentry
Kjo klasë përfaqëson një nën-hyrje (nën-indeks) të objektit të fjalorit të objektit dhe ka funksionet e mëposhtme të anëtarëve publikë:
getName () Lexon emrin e objektit si varg.
virtual std::string getName () const
getSubIndex () Lexon adresën e nënindeksit.
virtual uint8_t getSubIndex () const
Versioni: doc 1.4.2 / NanoLib 1.3.0
37
8 Referenca e klasave/funksioneve
getDataType () Lexon llojin e të dhënave të objektit.
virtual nlc::ObjectEntryDataType getDataType () const
getSdoAccess () Kontrollon nëse nënindeksi është i aksesueshëm nëpërmjet SDO:
Vetëm për lexim
1
Shkruaj Vetëm
2
Lexo Shkruaj
3
Pa Qasje
0
virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () Kontrollon nëse nënindeksi është i aksesueshëm/i hartueshëm nëpërmjet PDO:
Tx
1
Rx
2
TxRx
3
Nr
0
virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () Kontrollon gjatësinë e nënindeksit.
virtual uint32_t getBitLength () const
getDefaultValueAsNumeric () Lexon vlerën e paracaktuar të nënindeksit për llojet e të dhënave numerike.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () Lexon vlerën e paracaktuar të nënindeksit për llojet e të dhënave të vargut.
virtual ResultString getDefaultValueAsString (std::string const & key) const
getDefaultValues () Lexon vlerat e paracaktuara të nënindeksit.
virtual std::map getDefaultValues () const
Versioni: doc 1.4.2 / NanoLib 1.3.0
38
8 Referenca e klasave/funksioneve
readNumber () Lexon vlerën aktuale numerike të nënindeksit.
virtual ResultInt readNumber () const
readString () Lexon vlerën aktuale të vargut të nënindeksit.
virtual ResultString readString () const
readBytes () Lexon vlerën aktuale të nënindeksit në bajt.
virtual ResultArrayByte readBytes () const
writeNumber () Shkruan një vlerë numerike në nënindeks.
virtual ResultVoid writeNumber (vlera const int64_t) const
writeBytes () Shkruan një vlerë në nënindeks në bajt.
virtual ResultVoid writeBytes (std::vector const & të dhëna) const
8.22 OdIndeksi
Përdorni këtë klasë (të pandryshueshme që nga krijimi) për të mbështjellë dhe lokalizuar indekset / nën-indekset e drejtorisë së objekteve. OD e një pajisjeje ka deri në 65535 (0xFFFF) rreshta dhe 255 (0xFF) kolona; me boshllëqe midis rreshtave të ndërprerë. Shikoni standardin CANopen dhe manualin e produktit tuaj për më shumë detaje.
OdIndex () Ndërton një objekt të ri OdIndex.
nlc::OdIndex::OdIndex (indeksi uint16_t, nën-indeksi uint8_t)
Nënindeksi i indeksit të parametrave
Nga 0 në 65535 (0xFFFF) përfshirë. Nga 0 në 255 (0xFF) përfshirë.
getIndex () Lexon indeksin (nga 0x0000 në 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const
Kthen uint16_t
getSubindex () Lexon nën-indeksin (nga 0x00 në 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const
Versioni: doc 1.4.2 / NanoLib 1.3.0
39
8 Referenca e klasave/funksioneve
Kthen uint8_t
toString () Kthen indeksin dhe nënindeksin si varg. Vargu i paracaktuar 0xIIII:0xSS lexohet si më poshtë:
I = indeks nga 0x0000 në 0xFFFF
S = nën-indeks nga 0x00 në 0xFF
std::string nlc::OdIndex::toString () konst
Kthen 0xIIII:0xSS
Paraqitja e parazgjedhur e vargut
8.23 OdLibrary
Përdorni këtë ndërfaqe programimi për të krijuar shembuj të klasës ObjectDictionary nga XML. Duke caktuarObjectDictionary, më pas mund të lidhni çdo shembull me një pajisje specifike për shkak të një identifikuesi të krijuar në mënyrë unike. Instancat e ObjectDictionary të krijuara në këtë mënyrë ruhen në objektin OdLibrary për t'u aksesuar nga indeksi. Klasa ODLibrary ngarkon artikujt e ObjectDictionary nga file ose grup, i ruan ato dhe ka funksionet e mëposhtme të anëtarëve publikë:
getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const
getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Rikthen RezultatiObjectDictionary
addObjectDictionaryFromFile ()
virtual ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileRruga)
Rikthen RezultatiObjectDictionary
shtoFjalorin e Objekteve ()
virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileRruga = std::string ())
Rikthen RezultatiObjectDictionary
8.24 OdTypesHelper
Përveç funksioneve të mëposhtme publike, kjo klasë përmban lloje të të dhënave të personalizuara. Shënim: Për të kontrolluar llojet e të dhënave të personalizuara, kërkoni klasën enum ObjectEntryDataType në od_types.hpp.
uintToObjectCode () Konverton numra të plotë të panënshkruar në kod objekti:
Deftipi Null
0x00 0x05
Versioni: doc 1.4.2 / NanoLib 1.3.0
40
8 Referenca e klasave/funksioneve
Destruct Var Array Record
0x06 0x07 0x08 0x09
ObjectCode statik uintToObjectCode (objectCode int i panënshkruar)
isNumericDataType () Informon nëse një lloj i të dhënave është numerik apo jo.
bool statik isNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () Informon nëse një objekt është një indeks i strukturës së definicionit apo jo.
bool statike ështëDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Informon nëse një objekt është një indeks i llojit të përkufizimit apo jo.
bool statike ështëDeftypeIndex (uint16_t typeNum)
isComplexDataType () Informon nëse një lloj i të dhënave është kompleks apo jo.
bool statik ështëComplexDataType (ObjectEntryDataType dataType)
uintToObjectEntryDataType () Konverton numra të plotë të panënshkruar në llojin e të dhënave OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () Konverton llojin e të dhënave OD në varg.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () Konverton vargun në llojin e të dhënave OD nëse është e mundur. Përndryshe, kthen UNKNOWN_DATATYPE.
statik ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
Versioni: doc 1.4.2 / NanoLib 1.3.0
41
8 Referenca e klasave/funksioneve
objectEntryDataTypeBitLength () Informon për gjatësinë e bitit të një lloji të të dhënave të hyrjes së objektit.
statik uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)
8.25 Struktura RESTfulBus
Kjo strukturë përmban opsionet e konfigurimit të komunikimit për ndërfaqen RESTful (përmes Ethernetit). Ai përmban atributet e mëposhtme publike:
const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long
CONNECT_TIMEOUT_OPTION_NAME = "Kohëzgjatja e plotë e lidhjes REST" DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = "Përfundimi i plotë i kërkesës" DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_Post = 750
8.26 ProfinetDCP
Në Linux, aplikacioni telefonues ka nevojë për aftësi CAP_NET_ADMIN dhe CAP_NET_RAW. Për të aktivizuar: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./e ekzekutueshme. Në Windows, ndërfaqja ProfinetDCP përdor WinPcap (testuar me versionin 4.1.3) ose Npcap (testuar me versionet 1.60 dhe 1.30). Kështu, ai kërkon në bibliotekën wpcap.dll të ngarkuar dinamikisht në rendin e mëposhtëm (Shënim: nuk ka mbështetje aktuale Win10Pcap):
1. Drejtoria Nanolib.dll 2. Drejtoria e sistemit Windows SystemRoot%System32 3. Drejtoria e instalimit Npcap SystemRoot%System32Npcap 4. Rruga e mjedisit
Kjo klasë përfaqëson një ndërfaqe Profinet DCP dhe ka funksionet e mëposhtme të anëtarëve publikë:
getScanTimeout () Informon për një afat kohor të skanimit të pajisjes (parazgjedhja = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () Vendos një afat kohor të skanimit të pajisjes (parazgjedhja = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () Informon për një afat kohor të përgjigjes së pajisjes për operacionet e konfigurimit, rivendosjes dhe ndezjes (parazgjedhja = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () Informon për një afat kohor të përgjigjes së pajisjes për operacionet e konfigurimit, rivendosjes dhe ndezjes (parazgjedhja = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Versioni: doc 1.4.2 / NanoLib 1.3.0
42
8 Referenca e klasave/funksioneve
ështëServiceAvailable ()
Përdoreni këtë funksion për të kontrolluar disponueshmërinë e shërbimit Profinet DCP.
Vlefshmëria/disponueshmëria e përshtatësit të rrjetit Windows: Disponueshmëria e WinPcap / Npcap Linux: Aftësitë CAP_NET_ADMIN / CAP_NET_RAW
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (konst BusHardwareId & busHardwareId)
Parametrat BusHardwareId Kthen të vërtetë
e rreme
ID-ja e harduerit të shërbimit Profinet DCP për të kontrolluar. Shërbimi është i disponueshëm. Shërbimi është i padisponueshëm.
scanProfinetDevices () Përdoreni këtë funksion për të skanuar autobusin e harduerit për praninë e pajisjeve Profinet.
virtual ResultProfinetDevices skanonProfinetDevices (const BusHardwareId & busHardwareId)
Parametrat BusHardwareId kthen ResultProfinetDevices
Specifikon çdo fushëbus për t'u hapur. Hardware është i hapur.
setupProfinetDevice () Vendos cilësimet e mëposhtme të pajisjes:
Emri i pajisjes
Adresa IP
Maska e rrjetit
Porta e parazgjedhur
virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () Ndalon pajisjen dhe e rivendos atë në cilësimet e fabrikës.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () Komandon pajisjen Profinet që të fillojë të pulsojë LED Profinet e saj.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)
validateProfinetDeviceIp () Përdorni këtë funksion për të kontrolluar adresën IP të pajisjes.
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)
Parametrat BusHardwareId ProfinetDevice
Përcakton ID-në e harduerit për të kontrolluar. Përcakton pajisjen Profinet për të vërtetuar.
Versioni: doc 1.4.2 / NanoLib 1.3.0
43
8 Referenca e klasave/funksioneve
Rikthen Rezultati Void
8.27 Struktura ProfinetDevice
Të dhënat e pajisjes Profinet kanë këto atribute publike:
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
Emri i pajisjes, Vëleri i pajisjes, Adresa mac, Adresa ip, NetMask, Porta defaultGateway
Adresa MAC ofrohet si grup në formatin macAddress = {xx, xx, xx, xx, xx, xx}; ndërsa adresa IP, maska e rrjetit dhe porta interpretohen të gjitha si numra të mëdhenj hex endian, si p.sh.
Adresa IP: 192.168.0.2 Maska e rrjetit: 255.255.0.0 Porta: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Klasat e rezultateve
Përdorni vlerat e kthimit "opsionale" të këtyre klasave për të kontrolluar nëse një thirrje funksioni pati sukses apo jo, dhe gjithashtu për të gjetur arsyet e dështimit. Me sukses, funksioni hasError () kthehet false. Nga getResult (), ju mund të lexoni vlerën e rezultatit sipas llojit (ResultInt etj.). Nëse një telefonatë dështon, ju lexoni arsyen me getError ().
Atributet e mbrojtura
vargu NlcErrorCode uint32_t
errorString errorCode exErrorCode
Gjithashtu, kjo klasë ka funksionet e mëposhtme të anëtarëve publikë:
hasError () Lexon suksesin e një thirrjeje funksioni.
bool nlc::Result::hasError () const
Kthimet
e vërtetë e rreme
Telefonatë e dështuar. Përdorni getError () për të lexuar vlerën. Telefonatë e suksesshme. Përdorni getResult () për të lexuar vlerën.
getError () Lexon arsyen nëse një thirrje funksioni dështon.
const std::string nlc::Result::getError () const
Kthen vargun konst
Versioni: doc 1.4.2 / NanoLib 1.3.0
44
8 Referenca e klasave/funksioneve
result () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultateve të sakta:
Rezultati (std::string const & errorString_)
Rezultati (NlcErrorCode const & errCode, std::string const & errorString_)
Rezultati (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Rezultati (rezultati konsistent & rezultat)
getErrorCode () Lexoni kodin NlcError.
NlcErrorCode getErrorCode () konst
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 Rezultati i pavlefshëm
NanoLib ju dërgon një shembull të kësaj klase nëse funksioni kthehet i pavlefshëm. Klasa trashëgon funksionet publike dhe atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme të anëtarëve publikë:
ResultVoid () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të zbrazëtisë:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (rezultati konsistent dhe rezultat)
8.28.2 RezultatiInt
NanoLib ju dërgon një shembull të kësaj klase nëse funksioni kthen një numër të plotë. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme të anëtarëve publikë:
getResult () Rikthen rezultatin e numrit të plotë nëse një thirrje funksioni kishte sukses.
int64_t getResult () const
Kthen int64_t
Versioni: doc 1.4.2 / NanoLib 1.3.0
45
8 Referenca e klasave/funksioneve
ResultInt () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të numrit të plotë:
ResultInt (int64_t result_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (rezultati konsistent dhe rezultat)
8.28.3 Rrezja e rezultateve
NanoLib ju dërgon një shembull të kësaj klase nëse funksioni kthen një varg. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme të anëtarëve publikë:
getResult () Lexon rezultatin e vargut nëse një thirrje funksioni kishte sukses.
const std::string nlc::ResultString::getResult () const
Kthen vargun konst
ResultString () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të vargut:
ResultString (std::string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (rezultati konsistent dhe rezultat)
8.28.4 ResultArrayByte
NanoLib ju dërgon një instancë të kësaj klase nëse funksioni kthen një varg bajtesh. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme publike:
getResult () Lexon vektorin e bajtit nëse thirrja e një funksioni ka pasur sukses.
const std::vector nlc::ResultArrayByte::getResult () const
Kthen vektorin konst
Versioni: doc 1.4.2 / NanoLib 1.3.0
46
8 Referenca e klasave/funksioneve
ResultArrayByte () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të grupit të bajtit:
ResultArrayByte (std::vector konst & rezultat_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Konsistenca dhe rezultati i rezultatit)
8.28.5 ResultArrayInt
NanoLib ju dërgon një instancë të kësaj klase nëse funksioni kthen një varg numrash të plotë. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme publike:
getResult () Lexon vektorin e numrave të plotë nëse thirrja e një funksioni ka pasur sukses.
const std::vector nlc::ResultArrayInt::getResult () const
Kthen vektorin konst
ResultArrayInt () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të grupit të numrave të plotë:
ResultArrayInt (std::vector konst & rezultat_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (rezultati konsistent dhe rezultat)
8.28.6 ResultBusHwIds
NanoLib ju dërgon një instancë të kësaj klase nëse funksioni kthen një varg ID-sh hardueri të autobusit. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme publike anëtare:
getResult () Lexon vektorin bus-hardware-ID nëse një thirrje funksioni ka pasur sukses.
const std::vector nlc::ResultBusHwIds::getResult () const
Vektori i parametrave konst
Versioni: doc 1.4.2 / NanoLib 1.3.0
47
8 Referenca e klasave/funksioneve
ResultBusHwIds () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të bus-hardware-ID-array:
ResultBusHwIds (std::vector konst & rezultat_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (rezultati konst dhe rezultati)
8.28.7 ResultDeviceId
NanoLib ju dërgon një instancë të kësaj klase nëse funksioni kthen një ID pajisjeje. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultatit dhe ka funksionet e mëposhtme publike:
getResult () Lexon vektorin e ID-së së pajisjes nëse një thirrje funksioni kishte sukses.
DeviceId nlc::ResultDeviceId::getResult () const
Rikthen vektorin konst
ResultDeviceId () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të ID-së së pajisjes:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (rezultati konsistent dhe rezultat)
8.28.8 ID-të e pajisjes së rezultatit
NanoLib ju dërgon një instancë të kësaj klase nëse funksioni kthen një varg ID-sh pajisjeje. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme publike:
getResult () Kthen vektorin e ID-së së pajisjes nëse thirrja e një funksioni pati sukses.
DeviceId nlc::ResultDeviceIds::getResult () const
Rikthen vektorin konst
Versioni: doc 1.4.2 / NanoLib 1.3.0
48
8 Referenca e klasave/funksioneve
ResultDeviceIds () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të grupit të ID-së së pajisjes:
ResultDeviceIds (std::vector konst & rezultat_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (rezultat konst & rezultat)
8.28.9 ResultDevice Handle
NanoLib ju dërgon një instancë të kësaj klase nëse funksioni kthen vlerën e një trajte pajisjeje. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme publike:
getResult () Lexon dorezën e pajisjes nëse një thirrje funksioni kishte sukses.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Rikthen Device Handle
ResultDeviceHandle () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të dorezës së pajisjes:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (Konsistenca dhe rezultati i rezultatit)
8.28.10 RezultatiObjekt Fjalor
NanoLib ju dërgon një shembull të kësaj klase nëse funksioni kthen përmbajtjen e një fjalori të objektit. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme të anëtarëve publikë:
getResult () Lexon vektorin e ID-së së pajisjes nëse një thirrje funksioni kishte sukses.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
Versioni: doc 1.4.2 / NanoLib 1.3.0
49
8 Referenca e klasave/funksioneve
Kthimet
vektor konst
ResultObjectDictionary () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të fjalorit të objektit:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)
ResultObjectDictionary (std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectDictionary (rezultat const & result)
8.28.11 Rezultati i Lidhjes Gjendja
NanoLib ju dërgon një shembull të kësaj klase nëse funksioni kthen një informacion të gjendjes së lidhjes së pajisjes. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme të anëtarëve publikë:
getResult () Lexon dorezën e pajisjes nëse një thirrje funksioni kishte sukses.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
Kthen DeviceConnectionStateInfo Lidhur / Shkëputur / ConnectedBootloader
ResultConnectionState () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të gjendjes së lidhjes:
Gjendja e Lidhjes së Rezultatit (DeviceConnectionStateInfo const & result_)
Gjendja e Lidhjes së Rezultatit (std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultConnectionState (Konsistenca dhe rezultati i rezultatit)
8.28.12 Rezultati i Objektit
NanoLib ju dërgon një instancë të kësaj klase nëse funksioni kthen një hyrje objekti. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme publike:
Versioni: doc 1.4.2 / NanoLib 1.3.0
50
8 Referenca e klasave/funksioneve
getResult () Kthen vektorin e ID-së së pajisjes nëse thirrja e një funksioni pati sukses.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Rikthen konst ObjectEntry
ResultObjectEntry () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të hyrjes së objektit:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (rezultati konsistent dhe rezultat)
8.28.13NënHyrja e Rezultatit
NanoLib ju dërgon një instancë të kësaj klase nëse funksioni kthen një nën-hyrje objekti. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultatit dhe ka funksionet e mëposhtme publike anëtare:
getResult () Kthen vektorin e ID-së së pajisjes nëse thirrja e një funksioni pati sukses.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Kthimet konst ObjectSubEntry
ResultObjectSubEntry () Funksionet e mëposhtme ndihmojnë në përcaktimin e rezultatit të saktë të nënhyrjes së objektit:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (rezultati konsistent dhe rezultat)
8.28.14 ResultProfinetDevices
NanoLib ju dërgon një shembull të kësaj klase nëse funksioni kthen një pajisje Profinet. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme të anëtarëve publikë:
Versioni: doc 1.4.2 / NanoLib 1.3.0
51
8 Referenca e klasave/funksioneve
getResult () Lexon vektorin e pajisjes Profinet nëse një thirrje funksioni kishte sukses.
const std::vector & getResult() const
ResultProfinetDevices () Funksionet e mëposhtme ndihmojnë në përcaktimin e saktë të pajisjeve Profinet.
ResultProfinetDevices (const std::vector & profinetDevices)
ResultProfinetDevices (const Result & result)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 RezultatiSampleDataArray
NanoLib ju dërgon një shembull të kësaj klase nëse funksioni kthehet siampgrupi i të dhënave. Klasa trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme të anëtarëve publikë:
getResult () Lexon grupin e të dhënave nëse një thirrje funksioni kishte sukses.
const std::vector <SampleData> & getResult () const
RezultatiSampleDataArray () Funksionet e mëposhtme ndihmojnë në përcaktimin e saktë të pajisjeve Profinet.
RezultatiSampleDataArray (const std::vector <SampleData> & dataArray)
RezultatiSampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
RezultatiSampleDataArray (const ResultsSampleDataArray dhe të tjera)
RezultatiSampleDataArray (const Result & result)
8.28.16 RezultatiSamplerShteti
NanoLib ju dërgon një shembull të kësaj klase nëse funksioni kthehet siampler shteti. Kjo klasë trashëgon funksionet publike / atributet e mbrojtura nga klasa e rezultateve dhe ka funksionet e mëposhtme të anëtarëve publikë:
getResult () Lexon sampVektori i gjendjes ler nëse një thirrje funksioni kishte sukses.
SamplerState getResult () const
Kthehet SamplerShteti>
I pakonfiguruar / I konfiguruar / Gati / Në ekzekutim / i përfunduar / i dështuar / i anuluar
Versioni: doc 1.4.2 / NanoLib 1.3.0
52
8 Referenca e klasave/funksioneve
RezultatiSamplerState () Funksionet e mëposhtme ndihmojnë në përcaktimin e saktë të sampler shtet.
RezultatiSamplerState (const Sampshteti i shtetit)
RezultatiSamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
Kodi i Gabimit i zgjeruar = 0)
RezultatiSamplerState (const ResultsSampShteti dhe të tjera)
RezultatiSamplerState (rezultati dhe rezultati i konstancës)
8.29 NlcKodi i Gabimit
Nëse diçka shkon keq, klasat e rezultateve raportojnë një nga kodet e gabimit të listuara në këtë numërim.
Kodi i gabimit Sukses GeneralError BusUnavailableCommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
Qasja e pavlefshme Argumente Burimi i mohuar BurimiNuk u gjet Burimi i padisponueshëm OutOfMemory TimeOutGabim
C: Kategoria D: Përshkrimi R: Arsyeja C: Asnjë. D: Nuk ka gabim. R: Operacioni përfundoi me sukses.
C: E paspecifikuar. D: Gabim i papërcaktuar. R: Dështim që nuk i përshtatet asnjë kategorie tjetër.
C: Autobus. D: Autobusi i harduerit nuk disponohet. R: Autobusi inekzistent, ndërprerje ose defekt.
C: Komunikimi. D: Komunikimi jo i besueshëm. R: Të dhëna të papritura, gabime CRC, korniza ose barazi, etj.
C: Protokolli. D: Gabim protokolli. R: Përgjigja pas opsionit të protokollit të pambështetur, raporti i pajisjes për protokollin e pambështetur, gabimi në protokoll (të themi, biti i sinkronizimit të segmentit SDO), etj. R: Një përgjigje ose raport i pajisjes ndaj protokollit të pambështetur (opsione) ose ndaj gabimeve në protokoll (të themi, SDO Biti i sinkronizimit të segmentit), etj. R: Protokoll i pambështetur (opsione) ose gabim në protokoll (të themi, biti i sinkronizimit të segmentit SDO), etj.
C: Fjalor objektesh. D: Adresa OD nuk ekziston. R: Nuk ka një adresë të tillë në fjalorin e objekteve.
C: Fjalori i objektit. D: Qasja në adresën OD është e pavlefshme. R: Përpiquni të shkruani një adresë vetëm për lexim, ose për të lexuar nga një adresë vetëm për shkrim.
C: Fjalori i objektit. D: Mospërputhja e tipit. R: Vlera e pakonvertuar në llojin e specifikuar, le të themi, në një përpjekje për të trajtuar një varg si një numër.
C: Aplikimi. D: Procesi i ndërprerë. R: Procesi i prerë sipas kërkesës së aplikimit. Kthehet vetëm në ndërprerjen e funksionimit nga funksioni i kthimit të thirrjes, të themi, nga skanimi i autobusit.
C: E zakonshme. D: Procesi nuk mbështetet. R: Nuk ka mbështetje për autobus / pajisje harduerike.
C: E zakonshme. D: Procesi i pasaktë në kontekstin aktual, ose i pavlefshëm me argumentin aktual. R: Një përpjekje për rilidhje me autobusët / pajisjet tashmë të lidhura. Një përpjekje për shkëputje me ato tashmë të shkëputura. Një përpjekje për funksionimin e ngarkuesit në modalitetin e firmuerit ose anasjelltas.
C: E zakonshme. D: Argumenti është i pavlefshëm. R: Logjikë apo sintaksë e gabuar.
C: E zakonshme. D: Qasja është refuzuar. R: Mungesa e të drejtave ose aftësive për të kryer operacionin e kërkuar.
C: E zakonshme. D: Artikulli i specifikuar nuk u gjet. R: Autobusi i harduerit, protokolli, pajisja, adresa OD në pajisje ose file nuk u gjet.
C: E zakonshme. D: Artikulli i specifikuar nuk u gjet. R: i zënë, inekzistent, i prerë ose defekt.
C: E zakonshme. D: Kujtesa e pamjaftueshme. R: Shumë pak memorie për të përpunuar këtë komandë.
C: E zakonshme. D: Procesi mbaroi. R: Kthimi pas skadimit të afatit. Kohëzgjatja mund të jetë një kohë përgjigjeje e pajisjes, një kohë për të fituar akses në burim të përbashkët ose ekskluziv, ose një kohë për të kaluar autobusin/pajisjen në një gjendje të përshtatshme.
Versioni: doc 1.4.2 / NanoLib 1.3.0
53
8 Referenca e klasave/funksioneve
8.30 NlcThirrje
Kjo klasë prind për thirrjet mbrapsht ka funksionin e mëposhtëm publik: callback()
virtuale ResultVoid callback ()
Kthimet
Rezultati i pavlefshëm
8.31 NlcTransferimi i të Dhënave Kthim
Përdorni këtë klasë rikthimi për transferimet e të dhënave (përditësim i firmware-it, ngarkim i NanoJ etj.). 1. Për një ngarkim firmware-i: Përcaktoni një "bashkë-klasë" duke e zgjeruar këtë me një metodë rikthimi të personalizuar
implementimi. 2. Përdorni instancat e “bashkëklasës” në thirrjet NanoLibAccessor.uploadFirmware (). Vetë klasa kryesore ka funksionin e mëposhtëm publik anëtar:
callback () virtual ResultVoid callback (nlc::DataTransferInfo info, int32_t data)
Kthimet
Rezultati i pavlefshëm
8.32 NlcScanBusCallback
Përdorni këtë klasë rikthimi për skanimin e autobusit. 1. Përcaktoni një "bashkë-klasë" duke e zgjeruar këtë me një implementim të metodës së rikthimit të personalizuar. 2. Përdorni instancat e "bashkë-klasës" në thirrjet NanoLibAccessor.scanDevices (). Vetë klasa kryesore ka funksionin e mëposhtëm publik.
kthimi i thirrjes ()
kthimi i thirrjes virtuale ResultVoid (nlc::BusScanInfo info, std::vector const & devicesGjetur, të dhëna int32_t)
Rikthen Rezultati Void
8.33 NlcLoggingCallback
Përdoreni këtë klasë të kthimit të thirrjeve për regjistrimin e kthimeve të thirrjeve. 1. Përcaktoni një klasë që e zgjeron këtë klasë me një implementim të metodës së kthimit të thirrjes me porosi.
setLoggingCallback (…).
Thirrje mbrapsht virtuale e void (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)
8.34 SamplerInterface
Përdoreni këtë klasë për të konfiguruar, nisur dhe ndaluar sampler, ose për të marrë samptë dhëna led dhe marr siampstatusi i lerit ose gabimi i fundit. Klasa ka funksionet e mëposhtme të anëtarëve publikë.
Versioni: doc 1.4.2 / NanoLib 1.3.0
54
8 Referenca e klasave/funksioneve
configure () Konfigurohet siampler
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SampKonfigurimi dhe samplerConfiguration)
Parametrat [në] pajisje Handle [në] samplerKonfigurimi
Rikthen Rezultati Void
Përcakton se çfarë pajisje të konfigurohet sampler për. Përcakton vlerat e atributeve të konfigurimit. Konfirmon që një funksion void është ekzekutuar.
getData () Merr samptë dhëna të udhëhequra.
Rezultatet virtualeampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Parametrat [në] pajisje Handle Kthimet RezultateSampleDataArray
Përcakton se për çfarë pajisje të merren të dhënat.
Ofron samptë dhëna led, të cilat mund të jenë një grup bosh nëse samplerNotify është aktiv në fillim.
getLastError () Merret siampgabimi i fundit i lerit.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
Rikthen Rezultati Void
Konfirmon që një funksion void është ekzekutuar.
getState () Merr siampstatusi i lerit.
Rezultatet virtualeamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Kthen RezultatetamplerShteti
Ofron sampler shtet.
start () Fillon siampler
virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)
Parametrat [në] pajisje Handle [në] SamplerNjoftoni [në] të dhënat e aplikacionit
Rikthen Rezultati Void
Përcakton se çfarë pajisje duhet të fillojë sampler për.
Përcakton se çfarë informacioni opsional duhet të raportohet (mund të jetë nullptr).
Opsioni: Përcjell të dhënat e lidhura me aplikacionin (një grup 8-bitësh i përcaktuar nga përdoruesi i vlerës / ID-së / indeksit të pajisjes, ose një datë data, treguesi i një ndryshoreje / funksioni, etj.) në samplerNjoftoni.
Konfirmon që një funksion void është ekzekutuar.
Versioni: doc 1.4.2 / NanoLib 1.3.0
55
8 Referenca e klasave/funksioneve
ndal () Ndalon siampler
virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
Parametrat [në] pajisje Handle Kthimet ResultVoid
Përcakton se çfarë pajisje duhet të ndalojë sampler për. Konfirmon që një funksion void është ekzekutuar.
8.35 Sampler Struktura e konfigurimit
Kjo strukturë përmban të dhënat sampopsionet e konfigurimit të ler (statike ose jo).
Atributet publike
std:: vektor Adresat e gjurmuara
Deri në 12 adresa OD të jenë sampudhëhequr.
uint32_t
version
Versioni i një strukture.
uint32_t
kohëzgjatjaMilisekonda
Sampkohëzgjatja e lidhjes në ms, nga 1 në 65535
uint16_t
periudhaMilisekonda
Sampperiudha ling në ms.
uint16_t
numri iSamples
Sampmë pak shumë.
uint16_t
paraTriggerNumberOfSamples
Samples sasia e para-shkaktimit.
bool
duke përdorur SoftwareImplementation
Përdorni zbatimin e softuerit.
bool
duke përdorur NewFWSamplerImplementimi Përdorni implementimin FW për pajisjet me a
Versioni FW v24xx ose më i ri.
SamplerMode
modaliteti
S normale, të përsëritura ose të vazhdueshmeampling
SamplerTriggerCondition triggerCondition
Kushtet e shkaktimit të fillimit: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, Vlera e shkaktimit
SamplerTrigger
SamplerTrigger
Një shkas për të filluar siampler?
Atributet publike statike
statike constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 statike constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNjoftoni
Përdoreni këtë klasë për të aktivizuar sampler njoftimet kur filloni siampler. Klasa ka funksionin e mëposhtëm të anëtarëve publikë.
Versioni: doc 1.4.2 / NanoLib 1.3.0
56
8 Referenca e klasave/funksioneve
njoftoj ()
Jep një hyrje njoftimi.
virtual boshllëk nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerShteti samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)
Parametrat [në] e fundit Gabim [në] samplerShteti
[në] sampleDatas [në] aplikacion Të dhënat
Raporton gabimin e fundit që ka ndodhur ndërsa sampling. Raporton sampStatusi në kohën e njoftimit: I pakonfiguruar / I konfiguruar / Gati / Në ekzekutim / I përfunduar / Dështuar / Anuluar. Raporton sampgrupi led-të dhënash. Raporton të dhëna specifike për aplikacionin.
8.37 SampStruktura leData
Kjo strukturë përmban samptë dhëna të udhëhequra.
uin64_t numri i përsëritjes
Fillon në 0 dhe rritet vetëm në modalitetin përsëritës.
std::vektor<SampledValues> Përmban një grup prej sampvlerat e udhëhequra.
8.38 SampStruktura ledValue
Kjo strukturë përmban sampvlerat e udhëhequra.
vlera in64_t uin64_t CollectTimeMsec
Përmban vlerën e një adrese OD të gjurmuar.
Përmban kohën e grumbullimit në milisekonda, në raport me sampfillimi.
8.39 SamplerTrigger struct
Kjo strukturë përmban cilësimet e këmbëzës së sampler
SampKushti lerTrigger
Vlera e OdIndex uin32_t
Kushti i shkaktimit: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
OdIndex (adresa) e këmbëzës.
Vlera e kushtit ose numri i bitit (duke filluar nga biti zero).
8.40 Struktura serike
Gjeni këtu opsionet tuaja të komunikimit serial dhe atributet e mëposhtme publike:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = “shpejtësia seriale e baud-it” baudRate =Struktura Seriale e BaudRate
Versioni: doc 1.4.2 / NanoLib 1.3.0
57
8 Referenca e klasave/funksioneve
const std::string const SerialParity
PARITY_OPTIONS_NAME = “paritet serial” paritet = strukturë SerialParity
8.41 Struktura SerialBaudRate
Gjeni këtu shpejtësinë e zhurmës së komunikimit serik dhe atributet e mëposhtme publike:
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_56000RA" = "56000RATE" 57600 = "57600" BAUD_RATE_115200 = "115200" BAUD_RATE_128000 = "128000" BAUD_RATE_256000 = "256000"
8.42 Struktura e barazisë serike
Gjeni këtu opsionet tuaja të barazisë serike dhe atributet e mëposhtme publike:
const std::string const std::string const std::string const std::string const std::string
ASNJË = “asnjë” Tek = “tek” EVEN = “çift” SHENJË = “shëno” HAPËSIRË = “hapësirë”
Versioni: doc 1.4.2 / NanoLib 1.3.0
58
9 Licencat
9 Licencat
Titujt e ndërfaqes së NanoLib API dhe shembujtampKodi burimor licencohet nga Nanotec Electronic GmbH & Co. KG sipas licencës Creative Commons Attribution 3.0 Unported (CC BY). Pjesët e bibliotekës të ofruara në format binar (bibliotekat e komunikimit bërthamor dhe fushëbus) janë të licencuara sipas licencës ndërkombëtare Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).
Creative Commons
Përmbledhja e mëposhtme e lexueshme nga njeriu nuk do të zëvendësojë vetë licencën(at). Licencën përkatëse mund ta gjeni në creativecommons.org dhe të lidhur më poshtë. Ju jeni të lirë të:
CC NGA 3.0
Shpërndaje: Shih djathtas. Përshtateni: Përzieni, transformoni dhe ndërtoni mbi të
material për çdo qëllim, qoftë edhe komercial.
CC BY-ND 4.0
Ndani: Kopjoni dhe rishpërndani materialin në çdo medium ose format.
Licencuesi nuk mund të revokojë liritë e mësipërme për sa kohë që ju i bindeni kushteve të mëposhtme të licencës:
CC NGA 3.0
CC BY-ND 4.0
Atribuimi: Duhet të jepni kreditimin e duhur, Atribuimi: Shih majtas. Por: Jep një lidhje për këtë
jepni një lidhje me licencën dhe tregoni nëse
licencë tjetër.
u bënë ndryshime. Ju mund ta bëni këtë në çdo
Nuk ka derivate: Nëse ripërzieni, transformoni ose ndërtoni
në mënyrë të arsyeshme, por jo në asnjë mënyrë që sugjeron-
mbi materialin, nuk mund ta shpërndani
tregon se licencuesi miraton ju ose përdorimin tuaj.
material i modifikuar.
Nuk ka kufizime shtesë: Ju nuk mund të aplikoni Nuk ka kufizime shtesë: Shih majtas. termat juridikë ose masat teknologjike që ligjërisht
kufizoni të tjerët që të bëjnë ndonjë gjë të licencës
lejeve.
Shënim: Ju nuk duhet të pajtoheni me licencën për elementë të materialit në domenin publik ose kur përdorimi juaj lejohet nga një përjashtim ose kufizim i zbatueshëm.
Shënim: Nuk jepen garanci. Licenca mund të mos ju japë të gjitha lejet e nevojshme për përdorimin tuaj të synuar. Për shembullampGjithashtu, të drejta të tjera si publiciteti, privatësia ose të drejtat morale mund të kufizojnë mënyrën se si e përdorni materialin.
Versioni: doc 1.4.2 / NanoLib 1.3.0
59
Imprint, kontakt, versione
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGjermaniTel.+49(0) 89 900 686-0Faks+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Të gjitha të drejtat e rezervuara. Gabimet, lëshimet, ndryshimet teknike ose të përmbajtjes janë të mundshme pa paralajmërim. Markat/produktet e cituara janë marka tregtare të pronarëve të tyre dhe duhet të trajtohen si të tilla. Versioni origjinal.
Dokumenti 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
+ Shtuar > Ndryshuar # Rregulluar > Ripërpunim i ish-it të dhënëamples.
+ NanoLib Modbus: U shtua mekanizëm bllokimi i pajisjes për Modbus VCP. # NanoLib Core: U rregullua kontrolli i gjendjes së lidhjes. # NanoLib Code: U korrigjua heqja e referencës së harduerit të autobusit.
+ NanoLib-CANopen: Mbështetje për adaptorin Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: Ndërfaqja e rikthimit të thirrjes së regjistrimit është ndryshuar (LogLevel është zëvendësuar nga LogModule). # NanoLib Logger: Ndarja midis bërthamës dhe moduleve është korrigjuar. # Modbus TCP: Është rregulluar përditësimi i firmware-it për FW4. # EtherCAT: Është rregulluar ngarkimi i programit NanoJ për Core5. # EtherCAT: Është rregulluar përditësimi i firmware-it për Core5.
# Modbus RTU: Rregulloi problemet e kohës me ritme të ulëta baud gjatë përditësimit të firmuerit. # RESTful: Rregulloi ngarkimin e programit NanoJ.
# Modulet NanoLib Sampler: Lexim i saktë i sampvlerat boolean led.
+ Mbështetje Java 11 për të gjitha platformat. + Mbështetje Python 3.11/3.12 për të gjitha platformat. + Ndërfaqja e re e kthimit të telefonatave të regjistrimit (shih p.shamples). + Mbështetja e thirrjes për NanoLib Logger. > Përditëso regjistruesin në versionin 1.12.0. > Modulet NanoLib Sampler: Mbështetje tani për firmuerin e kontrolluesit Nanotec v24xx. > Modulet NanoLib Sampler: Ndryshimi në strukturën e përdorur për sampler konfigurimin. > Modulet NanoLib Sampler: Mënyra e vazhdueshme është sinonim i pafund; gjendja e këmbëzës kontrollohet një herë; numri i samples duhet të jetë 0. > NanoLib Modulet Sampler: Prioritet normal për thread-in që mbledh të dhëna në modalitetin e firmuerit. > Modulet NanoLib Sampler: Algoritmi i rishkruar për të zbuluar tranzicionin midis gjendjes gati dhe funksionale. # NanoLib Core: Nuk ka më shkelje të aksesit (0xC0000005) në mbylljen e 2 ose më shumë pajisjeve duke përdorur të njëjtin harduer autobusi. # NanoLib Core: Nuk ka më gabime segmentimi në lidhjen e një përshtatësi PEAK nën Linux. # Modulet NanoLib Sampler: E sakte sampLeximi i vlerave led në modalitetin e firmuerit. # Modulet NanoLib Sampler: Konfigurimi i saktë i 502X:04. # Modulet NanoLib Sampler: Përzierja e saktë e buferave me kanalet. # NanoLib-Canopen: Rritja e afateve kohore të CAN për qëndrueshmëri dhe skanim korrekt me shpejtësi më të ulëta. # NanoLib-Modbus: Algoritmi i zbulimit të VCP për pajisje speciale (USB-DA-IO).
+ Mbështetje për EtherCAT.
+ Shënim mbi cilësimet e projektit VS në Konfiguro projektin tënd.
+ getDeviceHardwareGroup(). + getProfinetDCP(ështëServiceAvailable). + getProfinetDCP(validateProfinetDeviceIp). + autoAssignObjectDictionary(). + getXmlFileEmri (). + const std::string & xmlFileShtegu në addObjectDictionary (). + getSampNdërfaqja ler ().
Produkti 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)
Versioni: doc 1.4.2 / NanoLib 1.3.0
60
10 Shtypja, kontakti, versionet
Dokumenti
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
+ Shtuar > Ndryshuar # U rregullua + rebootDevice(). + Kodi i gabimit ResourceUnavailable për getDeviceBootloaderVersion(), ~VendorId(), ~HardwareVersion(), ~SerialNumber dhe ~Uid. > firmwareUploadFromFile tani ngarkoniFirmwareNgaFile (). > firmwareUpload () tani ngarkoniFirmware (). > bootloaderUploadNgaFile () tani ngarkoniBootloaderNgaFile (). > bootloaderUpload () tani ngarkoniBootloader (). > bootloaderFirmwareUploadNgaFile () për të ngarkuarBootloaderFirmwareNgaFile (). > bootloaderFirmwareUpload () tani ngarkoniBootloaderFirmware (). > nanojUploadNgaFile () tani ngarkoniNanoJFromFile (). > nanojUpload () tani uploadNanoJ (). > objectDictionaryLibrary () tani getObjectDictionaryLibrary (). > String_String_Map tani StringStringMap. > NanoLib-Common: ekzekutim më i shpejtë i listAvailableBusHardware dhe openBusHardwareWithProtocol me adaptorin Ixxat. > NanoLib-CANopen: përdoren cilësimet fillestare (1000k baudrate, numri i autobusit Ixxat 0) nëse opsionet e harduerit të autobusit janë bosh. > NanoLib-RESTful: leja e administratorit është e vjetëruar për komunikim me ngarkuesit e nisjes Ethernet në Windows nëse drajveri npcap / winpcap është i disponueshëm. # NanoLib-CANopen: hardueri i autobusit tani hapet pa bllokim me opsione bosh. # NanoLib-Common: openBusHardwareWithProtocol () pa rrjedhje memorieje tani.
+ Mbështetje për Linux ARM64. + Mbështetje për memorie masive USB / REST / Profinet DCP. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (zëvendësoi NanotecExceptions). + NanoLib Modbus: Qendra VCP / USB e unifikuar në USB. > Skanimi Modbus TCP kthen rezultatet. < Vonesa e komunikimit Modbus TCP mbetet konstante.
+ Më shumë ObjectEntryDataType (komplekse dhe profesionale)file-specifik). + Kthen gabim nëse connectDevice() dhe scanDevices() nuk gjejnë asnjë. + Vetëm 100 ms kohëzgjatje nominale për CanOpen / Modbus.
+ Mbështetje për Modbus (plus USB Hub nëpërmjet VCP). + Kapitull Krijimi i projektit tuaj Linux. + extraHardwareSpecifier në BusHardwareId (). + extraId_ dhe extraStringId_ në DeviceId ().
+ setBusState(). + getDeviceBootloaderBuildId(). + getDeviceFirmwareBuildId(). + getDeviceHardwareVersion(). # Korrigjime të Gabimeve.
Botim.
Produkti
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Versioni: doc 1.4.2 / NanoLib 1.3.0
61
Dokumentet / Burimet
![]() |
Programimi Nanotik NanoLib C++ [pdf] Manuali i Përdoruesit Programimi në NanoLib në C, Programimi në C, Programimi |

