Nanotic-LOGO

Nanotic NanoLib C++ Programming

Nanotic-NanoLib-C++-Programming-PRODUCT

Impormasyon sa Produkto

Mga detalye

  • Ngalan sa Produkto: NanoLib
  • Pagprograma Pinulongan: C++
  • Bersyon sa Produkto: 1.3.0
  • Bersyon sa User Manual: 1.4.2

Ang NanoLib library kay gidisenyo para sa programming control software para sa Nanotec controllers. Naghatag kini og user interface, core functionalities, ug communication library aron mapadali ang pagpalambo sa control applications.

Mga Instruksyon sa Paggamit sa Produkto

  • Sa dili ka pa magsugod:
    • Siguruha nga ang imong sistema nakab-ot ang mga kinahanglanon sa hardware nga gitakda sa manwal. Ang gituyo nga mamiminaw alang niini nga produkto naglakip sa mga developer nga nangita sa paghimo sa kontrol nga software alang sa Nanotec controllers.
  • Pagsugod:
    • Sa pagsugod sa paggamit sa NanoLib, sunda kini nga mga lakang:
    • Pagsugod pinaagi sa pag-import sa NanoLib sa imong proyekto.
    • I-configure ang imong mga setting sa proyekto kung gikinahanglan.
    • Pagtukod sa imong proyekto aron ilakip ang mga gamit sa NanoLib.
  • Paghimo og mga Proyekto:
    • Makahimo ka og mga proyekto para sa Windows ug Linux environment. Sunda ang piho nga mga instruksyon nga gihatag sa manwal alang sa matag plataporma.
  • Mga Klase / Function Reference:
    • Tan-awa ang manwal sa paggamit alang sa usa ka detalyado nga giya sa mga klase ug mga gimbuhaton nga anaa sa NanoLib alang sa programming control software.

Mga FAQ

  • Q: Unsa ang katuyoan sa NanoLib?
    • A: Ang NanoLib usa ka librarya alang sa programming control software alang sa Nanotec controllers, nga naghatag ug importanteng mga gamit ug mga kapabilidad sa komunikasyon.
  • P: Unsaon nako pagsugod sa NanoLib?
    • A: Pagsugod pinaagi sa pag-import sa NanoLib sa imong proyekto, pag-configure sa mga setting sa proyekto, ug paghimo sa imong proyekto aron magamit ang mga bahin sa NanoLib.

“`

Manwal sa Gumagamit NanoLib
C++

Balido sa bersyon sa produkto 1.3.0

Bersyon sa Manwal sa Gumagamit: 1.4.2

Tumong sa dokumento ug mga kombensiyon

Kini nga dokumento naghulagway sa setup ug paggamit sa NanoLib library ug adunay reference sa tanang klase ug function para sa pagprograma sa imong kaugalingong control software para sa Nanotec controllers. Gigamit namo ang mosunod nga mga typeface:
Ang nabadlong nga teksto nagtimaan sa usa ka cross reference o hyperlink.
Examp1: Alang sa eksaktong instruksyon sa NanoLibAccessor, tan-awa ang Setup. ExampLakang 2: I-install ang Ixxat driver ug ikonektar ang CAN-to-USB adapter. Ang Italic nga teksto nagpasabut: Kini usa ka butang nga ginganlan, usa ka agianan sa menu / butang, usa ka tab / file ngalan o (kon gikinahanglan) usa ka ekspresyon sa langyaw nga pinulongan.
Example 1: Pagpili File > Bag-o > Blangko nga Dokumento. Ablihi ang Tool tab ug pilia ang Comment. Example 2: Kini nga dokumento nagbahin sa mga tiggamit (= Nutzer; usuario; utente; utilisateur; utente ug uban pa) gikan sa:
– Third-party nga tiggamit (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente etc.). – Katapusan nga tiggamit (= Endnutzer; usuario final; utente final; utilisateur final; utente finale ug uban pa).
Ang courier nagtimaan sa mga bloke sa code o mga command sa programming. Example 1: Pinaagi sa Bash, tawga ang sudo make install aron kopyahon ang gipaambit nga mga butang; unya tawga ang ldconfig. Example 2: Gamita ang mosunod nga NanoLibAccessor function aron usbon ang logging level sa NanoLib:
// ***** C++ nga variant *****
void setLoggingLevel(LogLevel level);
Ang maisog nga teksto nagpasiugda sa tagsa-tagsa nga mga pulong nga hinungdanon kaayo. Sa laing bahin, ang gi-bracket nga exclamation mark nagpasiugda sa kritikal(!) nga importansya.
Examp1: Panalipdi ang imong kaugalingon, ang uban ug ang imong kagamitan. Sunda ang among kinatibuk-ang mga nota sa kaluwasan nga kasagaran magamit sa tanang mga produkto sa Nanotec.
Example 2: Alang sa imong kaugalingon nga proteksyon, sunda usab ang piho nga mga nota sa kaluwasan nga magamit sa kini nga piho nga produkto. Ang berbo nga mag-co-click nagpasabut nga usa ka pag-klik pinaagi sa ikaduha nga yawe sa mouse aron maablihan ang usa ka menu sa konteksto ug uban pa.
Example 1: Co-click sa file, pilia ang Rename, ug ilisan ang ngalan sa file. Example 2: Aron masusi ang mga kabtangan, i-co-click ang file ug pagpili sa mga Properties.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

4

Sa dili ka pa magsugod

Sa dili ka pa magsugod sa paggamit sa NanoLib, pag-andam sa imong PC ug ipahibalo ang imong kaugalingon bahin sa gituyo nga paggamit ug ang mga limitasyon sa librarya.
2.1 Mga kinahanglanon sa sistema ug hardware

Nanotic-NanoLib-C++-Programming-FIG- (1)
PAHIBALO Malfunction gikan sa 32-bit nga operasyon o gihunong nga sistema! Paggamit, ug makanunayon nga pagmentinar, usa ka 64-bit nga sistema. Tan-awa ang mga paghunong sa OEM ug ~ mga instruksyon.

Ang NanoLib 1.3.0 nagsuporta sa tanang mga produkto sa Nanotec nga adunay CANopen, Modbus RTU (usab USB sa virtual com port), Modbus TCP, EtherCat, ug Profinet. Para sa mas tigulang nga NanoLibs: Tan-awa ang changelog sa imprint. Sa imong risgo lang: paggamit sa legacy-system. Mubo nga sulat: Sunda ang balido nga mga instruksyon sa OEM aron itakda ang latency sa ubos kutob sa mahimo kung mag-atubang ka og mga problema sa paggamit sa FTDI-based USB adapter.

Mga kinahanglanon (64-bit system mandatory)
Windows 10 o 11 w/ Visual Studio 2019 version 16.8 o mas ulahi ug Windows SDK 10.0.20348.0 (bersyon 2104) o mas ulahi
C++ redistributables 2017 o mas taas nga CANopen: Ixxat VCI o PCAN basic driver (opsyonal) EtherCat module / Profinet DCP: Npcap o WinPcap RESTful module: Npcap, WinPcap, o admin permiso sa
makigkomunikar sa mga bootloader sa Ethernet
Linux w/ Ubuntu 20.04 LTS to 24 (tanan x64 ug arm64)
Kernel header ug libpopt-dev packet Profinet DCP: CAP_NET_ADMIN ug CAP_NET_RAW abili-
ties CANopen: Ixxat ECI driver o Peak PCAN-USB adapter EtherCat: CAP_NET_ADMIN, CAP_NET_RAW ug
CAP_SYS_NICE nga abilidad RESTful: CAP_NET_ADMIN abilidad sa pagkomunikar uban sa Eth-
ernet bootloaders (girekomenda usab: CAP_NET_RAW)

Pinulongan, fieldbus adapters, mga kable
C++ GCC 7 o mas taas (Linux)
EtherCAT: Ethernet cable VCP / USB hub: karon uniporme USB USB mass storage: USB cable REST: Ethernet cable CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB adapter Walay Ixxat nga suporta alang sa Ubuntu sa arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 o katumbas nga adapter; USB cable sa virtual com port (VCP)
Modbus TCP: Ethernet cable sama sa kada datasheet sa produkto

2.2 Gituyo nga paggamit ug mamiminaw
Ang NanoLib usa ka librarya sa programa ug sangkap sa software alang sa operasyon sa, ug komunikasyon sa, Nanotec controllers sa usa ka halapad nga mga aplikasyon sa industriya ug alang lamang sa mga batid nga programmer.
Tungod sa real-time nga dili makahimo nga hardware (PC) ug operating system, ang NanoLib dili gamiton sa mga aplikasyon nga nanginahanglan ug dungan nga paglihok sa multi-axis o kasagaran sensitibo sa oras.
Sa bisan unsang kaso mahimo nimong i-integrate ang NanoLib isip usa ka sangkap sa kaluwasan sa usa ka produkto o sistema. Sa paghatud sa mga end user, kinahanglan nimong idugang ang katugbang nga mga pahibalo sa pasidaan ug mga panudlo alang sa luwas nga paggamit ug luwas nga operasyon sa matag produkto nga adunay sangkap nga hinimo sa Nanotec. Kinahanglan nimo nga ipasa ang tanan nga Nanotec-issued warning notices ngadto mismo sa end user.
2.3 Sakup sa pagpadala ug garantiya
Ang NanoLib moabut ingon usa ka *.zip folder gikan sa among pag-download website para sa EMEA/APAC o AMERICA. Pagtipig ug unzip sa imong pag-download sa dili pa i-setup. Ang pakete sa NanoLib adunay:

Bersyon: doc 1.4.2 / NanoLib 1.3.0

5

2 Sa wala pa ka magsugod

Interface header isip source code (API)

Ang kinauyokan naglihok isip mga librarya sa binary format: nano-

Mga librarya nga nagpadali sa komunikasyon: nanolibm_ lib.dll

[yourfieldbus].dll ug uban pa.

Exampang proyekto: Example.sln (Visual Studio

proyekto) ug example.cpp (main file)

Para sa sakup sa warranty, palihog tan-awa ang a) among mga termino ug kondisyon para sa EMEA/APAC o AMERICA ug b) sa tanang termino sa lisensya. Pahinumdom: Ang Nanotec dili manubag sa sayop o dili angay nga kalidad, pagdumala, pag-instalar, operasyon, paggamit, ug pagmentinar sa mga kagamitan sa ikatulo nga partido! Alang sa angay nga kaluwasan, sunda kanunay ang balido nga instruksyon sa OEM.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

6

Ang arkitektura sa NanoLib

Ang modular software structure sa NanoLib nagtugot kanimo sa paghan-ay sa libre nga napasadya nga motor controller / fieldbus function sa palibot sa usa ka estrikto nga pre-built core. Ang NanoLib naglangkob sa mosunod nga mga module:

User interface (API)

NanoLib core

Interface ug katabang nga mga klase nga mga librarya nga

Mga librarya sa komunikasyon Mga librarya nga piho sa Fieldbus nga

access kanimo sa imong controller's implement ang API functionality do interface tali sa NanoLib

OD (diksiyonaryo sa butang)

makig-uban sa mga librarya sa bus.

core ug bus hardware.

base sa NanoLib core function-

mga nasyonalidad.

3.1 User interface

Ang user interface naglangkob sa header interface files imong magamit aron ma-access ang mga parameter sa controller. Ang mga klase sa user interface sama sa gihulagway sa Reperensya sa Mga Klase / function nagtugot kanimo sa:
Sumpaysumpaya ang hardware (fieldbus adapter) ug ang controller device. Pag-access sa OD sa aparato, aron mabasa / isulat ang mga parameter sa controller.

3.2 NanoLib core

Ang NanoLib core nag-uban sa import library nanolib.lib. Gipatuman niini ang pagpaandar sa user interface ug responsable sa:
Pag-load ug pagdumala sa mga librarya sa komunikasyon. Paghatag sa mga gamit sa user interface sa NanoLibAccessor. Kini nga punto sa pagsulod sa komunikasyon de-
multa ang usa ka hugpong sa mga operasyon nga mahimo nimong ipatuman sa NanoLib core ug mga librarya sa komunikasyon.

3.3 Mga librarya sa komunikasyon

Dugang sa nanotec.services.nanolib.dll (mapuslanon alang sa imong opsyonal nga Plug & Drive Studio), ang NanoLib nagtanyag sa mosunod nga mga librarya sa komunikasyon:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Ang tanan nga mga librarya nagbutang usa ka layer sa abstraction sa hardware taliwala sa core ug controller. Ang kinauyokan nagkarga kanila sa pagsugod gikan sa gitudlo nga folder sa proyekto ug gigamit kini aron matukod ang komunikasyon sa controller pinaagi sa katugbang nga protocol.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

7

Pagsugod

Basaha kung giunsa ang pag-set up sa NanoLib alang sa imong operating system nga husto ug kung giunsa ang pagkonektar sa hardware kung gikinahanglan.
4.1 Pag-andam sa imong sistema
Sa dili pa i-install ang mga driver sa adapter, pag-andam una ang imong PC sa operating system. Aron maandam ang PC sa imong Windows OS, i-install ang MS Visual Studio nga adunay mga extension sa C++. Aron ma-install ang make ug gcc sa Linux Bash, tawagan ang sudo apt install build-essentials. Buhata dayon ang CAP_NET_ADMIN, CAP_NET_RAW, ug CAP_SYS_NICE nga kapabilidad para sa aplikasyon nga naggamit sa NanoLib: 1. Tawga ang sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
ngalan>. 2. Unya ra, i-install ang imong mga driver sa adapter.
4.2 I-install ang Ixxat adapter driver alang sa Windows
Human lamang sa pag-instalar sa drayber, mahimo nimong gamiton ang USB-to-CAN V2 adapter sa Ixxat. Basaha ang manwal sa produkto sa USB drive, aron mahibal-an kung / unsaon pag-aktibo ang virtual comport (VCP). 1. I-download ug i-install ang VCI 4 driver sa Ixxat para sa Windows gikan sa www.ixxat.com. 2. Ikonektar ang Ixxat's USB-to-CAN V2 compact adapter sa PC pinaagi sa USB. 3. Pinaagi sa Device Manager: Susiha kon ang duha ka drayber ug adapter kay na-install/giila.
4.3 I-install ang Peak adapter driver para sa Windows
Human lamang sa pag-instalar sa drayber, mahimo nimong gamiton ang PCAN-USB adapter sa Peak. Basaha ang manwal sa produkto sa USB drive, aron mahibal-an kung / unsaon pag-aktibo ang virtual comport (VCP). 1. I-download ug i-install ang Windows device driver setup (= installation package w/ device drivers, tools, ug
API) gikan sa http://www.peak-system.com. 2. Ikonektar ang PCAN-USB adapter sa Peak sa PC pinaagi sa USB. 3. Pinaagi sa Device Manager: Susiha kon ang duha ka drayber ug adapter kay na-install/giila.
4.4 I-install ang Ixxat adapter driver para sa Linux
Human lamang sa pag-instalar sa drayber, mahimo nimong gamiton ang USB-to-CAN V2 adapter sa Ixxat. Mubo nga sulat: Ang uban nga gisuportahan nga mga adaptor nanginahanglan sa imong pagtugot pinaagi sa sudo chmod +777/dev/ttyACM* (* numero sa aparato). Basaha ang manwal sa produkto sa USB drive, aron mahibal-an kung / unsaon pagpaaktibo ang virtual comport (VCP). 1. I-install ang software nga gikinahanglan para sa ECI driver ug demo application:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. I-download ang ECI-for-Linux driver gikan sa www.ixxat.com. Unzip kini pinaagi sa:
unzip eci_driver_linux_amd64.zip
3. I-install ang driver pinaagi sa:
cd /EciLinux_amd/src/KernelModule sudo paghimo install-usb
4. Susiha ang malampuson nga pag-instalar sa drayber pinaagi sa pag-compile ug pagsugod sa demo application:
cd /EciLinux_amd/src/EciDemos/ sudo paghimo cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Bersyon: doc 1.4.2 / NanoLib 1.3.0

8

4 Pagsugod
4.5 I-install ang Peak adapter driver alang sa Linux
Human lamang sa pag-instalar sa drayber, mahimo nimong gamiton ang PCAN-USB adapter sa Peak. Mubo nga sulat: Ang uban nga gisuportahan nga mga adaptor nanginahanglan sa imong pagtugot pinaagi sa sudo chmod +777/dev/ttyACM* (* numero sa aparato). Basaha ang manwal sa produkto sa USB drive, aron mahibal-an kung / unsaon pagpaaktibo ang virtual comport (VCP). 1. Susiha kon ang imong Linux adunay mga kernel header: ls /usr/src/linux-headers-`uname -r`. Kung dili, i-install
kanila: sudo apt-get install linux-headers-`uname -r` 2. Karon lang, i-install ang libpopt-dev packet: sudo apt-get install libpopt-dev 3. I-download ang gikinahanglan nga driver package (peak-linux-driver-xxx.tar.gz) gikan sa www.peak-system.com. 4. Sa pag-unpack niini, gamita ang: tar xzf peak-linux-driver-xxx.tar.gz 5. Sa unpacked folder: Compile and install the drivers, PCAN base library, etc.: himoa ang tanan
sudo make install 6. Aron masusi ang function, i-plug ang PCAN-USB adapter.
a) Susiha ang kernel module:
lsmod | grep pcan b) ... ug ang gipaambit nga librarya:
ls -l /usr/lib/libpcan*
Mubo nga sulat: Kung adunay mga problema sa USB3, gamita ang USB2 port.
4.6 Ikonektar ang imong hardware
Aron makadagan ug proyekto sa NanoLib, ikonektar ang usa ka katugbang nga Nanotec controller sa PC gamit ang imong adapter. 1. Pinaagi sa angay nga kable, ikonektar ang imong adapter sa controller. 2. Ikonektar ang adapter sa PC sumala sa adapter data sheet. 3. Gahum sa controller gamit ang angay nga suplay sa kuryente. 4. Kon gikinahanglan, usba ang mga setting sa komunikasyon sa Nanotec controller sumala sa gitudlo sa manwal sa produkto niini.
4.7 I-load ang NanoLib
Alang sa una nga pagsugod sa dali-ug-sayon ​​nga mga sukaranan, mahimo nimo (apan dili kinahanglan) gamiton ang among exampang proyekto. 1. Depende sa imong rehiyon: I-download ang NanoLib gikan sa among website para sa EMEA/APAC o AMERICA. 2. Unzip ang package ni files/folder ug pilia ang usa ka kapilian: Alang sa dali ug dali nga sukaranan: Tan-awa ang Pagsugod sa exampang proyekto. Para sa advanced customizing sa Windows: Tan-awa ang Paghimo sa imong kaugalingong proyekto sa Windows. Para sa advanced customizing sa Linux: Tan-awa ang Paghimo sa imong kaugalingong proyekto sa Linux.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

9

Nagsugod ang exampang proyekto

Uban sa NanoLib nga gikarga, ang exampAng proyekto nagpakita kanimo pinaagi sa paggamit sa NanoLib sa usa ka Nanotec controller. Pahinumdom: Alang sa matag lakang, mga komento sa gihatag nga exampAng code nagpatin-aw sa mga gimbuhaton nga gigamit. Ang exampAng proyekto naglangkob sa: ang `*_functions_example.*' files, nga naglangkob sa mga implementasyon alang sa NanoLib interface naglihok sa `*_callback_example.*' files, nga adunay mga implementasyon alang sa lainlaing mga callback (scan, data ug
pag-log) ang `menu_*.*' file, nga naglangkob sa menu logic ug code sa Example. * file, nga mao ang nag-unang programa, paghimo sa menu ug pagsugod sa tanan nga gigamit nga mga parameter ang Sampler_example. * file, nga naglangkob sa example pagpatuman para sa sampler paggamit. Makakita pa ka ug examples, uban sa pipila ka mga motion commands alang sa lain-laing mga operation mode, sa Knowledge Base sa nanotec.com. Ang tanan magamit sa Windows o Linux.
Sa Windows nga adunay Visual Studio 1. Ablihi ang Example.sln file. 2. Ablihi ang example.cpp. 3. Compile ug run ang exampang code.
Sa Linux pinaagi sa Bash 1. Unzip ang tinubdan file, navigate sa folder nga adunay unzipped content. Ang nag-unang file para sa example mao
example.cpp. 2. Sa bash, tawga:
a. "sudo make install" aron kopyahon ang gipaambit nga mga butang ug tawagan ang ldconfig. b. "himoa ang tanan" aron matukod ang pagsulay nga ma-executable. 3. Ang bin folder adunay executable example file. Pinaagi sa bash: Adto sa output folder ug type ./example. Kung walay sayup nga mahitabo, ang imong gipaambit nga mga butang na-install na karon, ug ang imong librarya andam nang gamiton. Kung ang sayup mabasa ./example: sayup samtang nagkarga sa gipaambit nga mga librarya: libnanolib.so: dili makaabli sa gipaambit nga butang file: Dili ingon ana file o direktoryo, napakyas ang pag-instalar sa gipaambit nga mga butang. Sa kini nga kaso, sunda ang sunod nga mga lakang. 4. Paghimo og bag-ong folder sulod sa /usr/local/lib (gikinahanglan ang mga katungod sa admin). Sa bash, sa ingon i-type ang:
sudo mkdir /usr/local/lib/nanotec
5. Kopyaha ang tanang gipaambit nga butang gikan sa zip fileang lib folder:
i-install ang ./lib/*.so /usr/local/lib/nanotec/
6. Susiha ang sulod sa target folder sa:
ls -al /usr/local/lib/nanotec/
Kinahanglan nga ilista niini ang gipaambit nga butang files gikan sa lib folder. 7. Run ldconfig niini nga folder:
sudo ldconfig /usr/local/lib/nanotec/
Ang example giimplementar isip CLI application ug naghatag ug menu interface. Ang mga entry sa menu gibase sa konteksto ug mahimo o ma-disable, depende sa kahimtang sa konteksto. Gitanyagan ka nila sa posibilidad sa pagpili ug pagpatuman sa lain-laing mga gimbuhaton sa librarya nga nagsunod sa naandan nga dagan sa trabaho alang sa pagdumala sa usa ka controller: 1. Susiha ang PC alang sa konektado nga hardware (mga adaptor) ug ilista kini. 2. Paghimo og koneksyon sa usa ka adapter. 3. I-scan ang bus para sa konektado nga mga device sa controller. 4. Sumpaysumpaya sa usa ka himan.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

10

5 Pagsugod sa exampang proyekto
5. Sulayi ang usa o daghan pa sa mga gimbuhaton sa librarya: Basaha/isulat gikan/ngadto sa diksyonaryo sa butang sa controller, i-update ang firmware, pag-upload ug pagdagan og NanoJ nga programa, pagpaandar sa motor ug tune niini, i-configure ug gamiton ang logging/sampler.
6. Isira ang koneksyon, una sa device, dayon sa adapter.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

11

Paghimo sa imong kaugalingon nga proyekto sa Windows

Paghimo, pagtipon ug pagdagan sa imong kaugalingon nga proyekto sa Windows aron magamit ang NanoLib.
6.1 Import NanoLib
Import ang NanoLib header files ug mga librarya pinaagi sa MS Visual Studio.
1. Ablihi ang Visual Studio. 2. Pinaagi sa Paghimo og bag-ong proyekto > Console App C++ > Sunod: Pagpili og matang sa proyekto. 3. Ngalan ang imong proyekto (dinhi: NanolibTest) aron makahimo og project folder sa Solution Explorer. 4. Pilia ang Tapos. 5. Ablihi ang mga bintana file explorer ug pag-navigate sa bag-ong gimugna nga folder sa proyekto. 6. Paghimo og duha ka bag-ong folder, inc ug lib. 7. Ablihi ang NanoLib package folder. 8. Gikan didto: Kopyaha ang ulohan files gikan sa include folder ngadto sa imong project folder inc ug sa tanan nga .lib ug .dll
files sa imong bag-ong project folder lib. 9. Susiha ang imong project folder alang sa angay nga istruktura, alang sa example:

Nanotic-NanoLib-C++-Programming-FIG- (2)ect folder alang sa angay nga istruktura:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vlibcxTest.vlibcx
6.2 I-configure ang imong proyekto
Gamita ang Solution Explorer sa MS Visual Studio aron i-set up ang mga proyekto sa NanoLib. Mubo nga sulat: Alang sa husto nga operasyon sa NanoLib, pilia ang pagpagawas (dili debug!) configuration sa Visual C++ project settings; unya paghimo ug pagsumpay sa proyekto sa VC runtimes sa C++ redistributables [2022].
1. Sa Solution Explorer: Adto sa imong project folder (dinhi: NanolibTest). 2. I-co-click ang folder aron maablihan ang menu sa konteksto. 3. Pilia ang Properties. 4. I-aktibo ang Tanan nga mga kumpigurasyon ug Tanan nga mga platform. 5. Pilia ang C/C++ ug adto sa Additional Include Directories. 6. Insert: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Pilia ang Linker ug adto sa Additional Library Directories. 8. Insert: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Extend Linker ug pilia ang Input. 10. Lakaw ngadto sa Dugang nga Dependencies ug sal-ot: nanolib.lib;%(AdditionalDependencies) 11. Kumpirma pinaagi sa OK.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

12

6 Paghimo sa imong kaugalingon nga proyekto sa Windows
12. Adto sa Configuration > C++ > Language > Language Standard > ISO C++17 Standard ug ibutang ang language standard sa C++17 (/std:c++17).
6.3 Pagtukod sa imong proyekto
Pagtukod sa imong NanoLib nga proyekto sa MS Visual Studio. 1. Ablihi ang main *.cpp file (dinhi: nanolib_example.cpp) ug usba ang code, kung gikinahanglan. 2. Pilia ang Build > Configuration Manager. 3. Usba ang Active solution platforms ngadto sa x64. 4. Kumpirma pinaagi sa Close. 5. Pilia ang Build > Build solution. 6. Walay sayop? Susiha kung ang imong pag-compile nga output tukma nga mga taho:
1>—— Limpyo nagsugod: Project: NanolibTest, Configuration: Debug x64 —–========== Limpyo: 1 ang milampos, 0 ang napakyas, 0 ang nalaktawan ==========

Bersyon: doc 1.4.2 / NanoLib 1.3.0

13

7 Paghimo sa imong kaugalingon nga proyekto sa Linux
7 Paghimo sa imong kaugalingon nga proyekto sa Linux
Paghimo, pag-compile ug pagpadagan sa imong kaugalingon nga proyekto sa Linux aron magamit ang NanoLib. 1. Sa unzipped NanoLib installation kit: Open /nanotec_nanolib. 2. Pangitaa ang tanang gipaambit nga butang sa tar.gz file. 3. Pagpili og usa ka kapilian: I-install ang matag lib bisan sa usa ka Paghimofile o pinaagi sa kamot.
7.1 I-install ang gipaambit nga mga butang gamit ang Makefile
Gamita ang Paghimofile uban sa Linux Bash aron i-auto-install ang tanang default *.so files. 1. Pinaagi sa Bash: Lakaw ngadto sa folder nga naglangkob sa paghimofile. 2. Kopyaha ang gipaambit nga mga butang pinaagi sa:
sudo make install 3. Kumpirma pinaagi sa:
ldconfig
7.2 I-install ang gipaambit nga mga butang pinaagi sa kamot
Gamit ug Bash para ma-install ang tanan *.so files sa NanoLib nga mano-mano. 1. Pinaagi sa Bash: Paghimo og bag-ong folder sulod sa /usr/local/lib. 2. Gikinahanglan ang mga katungod sa Admin! Type:
sudo mkdir /usr/local/lib/nanotec 3. Usba sa unzipped folder sa package sa pag-install. 4. Kopyaha ang tanang gipaambit nga mga butang gikan sa lib folder pinaagi sa:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Susiha ang sulod sa target folder pinaagi sa:
ls -al /usr/local/lib/nanotec/ 6. Susiha kon ang tanang gipaambit nga mga butang gikan sa lib folder nalista. 7. Pagdalagan ang ldconfig niini nga folder pinaagi sa:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Paghimo sa imong proyekto
Uban sa imong gipaambit nga mga butang nga na-install: Paghimo og bag-ong proyekto para sa imong Linux NanoLib. 1. Pinaagi sa Bash: Paghimo og bag-ong folder sa proyekto (dinhi: NanoLibTest) pinaagi sa:
mkdir NanoLibTest cd NanoLibTest
2. Kopyaha ang ulohan files sa usa ka naglakip nga folder (dinhi: inc) pinaagi sa: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Paghimo og main file (NanoLibTest.cpp) pinaagi sa: #include “accessor_factory.hpp” #include

Bersyon: doc 1.4.2 / NanoLib 1.3.0

14

7 Paghimo sa imong kaugalingon nga proyekto sa Linux
int main(){nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc:: ResultBusHwIds resulta = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
lain{ std::cout << “Kalamposan” << std::endl; }
kuhaa ang accessor; balik 0; }
4. Susiha ang imong folder sa proyekto alang sa tukma nga istruktura:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Pagtipon ug pagsulay sa imong proyekto
Himua nga andam ang imong Linux NanoLib para magamit pinaagi sa Bash.
1. Pinaagi sa Bash: I-compile ang main file pinaagi sa:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. I-link ang executable pinaagi sa:
g++ -Wall -Wextra -pedantic -I./inc -o pagsulay NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Pagdalagan ang programa sa pagsulay pinaagi sa:
./pagsulay
4. Susiha kung ang imong Bash nagreport sa hustong paagi:
kalampusan

Bersyon: doc 1.4.2 / NanoLib 1.3.0

15

8 Reperensya sa mga klase / function

8 Reperensya sa mga klase / function

Pangitaa dinhi ang usa ka lista sa mga klase sa user interface sa NanoLib ug ang ilang mga gimbuhaton sa miyembro. Ang kasagaran nga paghulagway sa usa ka function naglakip sa usa ka mubo nga pasiuna, ang kahulugan sa function ug usa ka parameter / lista sa pagbalik:

ExampleFunction () Isulti kanimo sa makadiyot kung unsa ang gibuhat sa function.
virtual void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Mga parametro param_a param_b
Nagbalik nga ResultaVoid

Dugang komento kon gikinahanglan. Dugang komento kon gikinahanglan.

8.1 NanoLibAccessor

Interface nga klase nga gigamit isip entry point sa NanoLib. Ang usa ka tipikal nga workflow ingon niini:
1. Sugdi pinaagi sa pag-scan sa hardware gamit ang NanoLibAccessor.listAvailableBusHardware (). 2. Ibutang ang mga setting sa komunikasyon gamit ang BusHardwareOptions (). 3. Ablihi ang koneksyon sa hardware gamit ang NanoLibAccessor.openBusHardwareWithProtocol (). 4. I-scan ang bus alang sa konektado nga mga himan gamit ang NanoLibAccessor.scanDevices (). 5. Pagdugang og device nga adunay NanoLibAccessor.addDevice (). 6. Sumpaysumpaya ang device gamit ang NanoLibAccessor.connectDevice (). 7. Human mahuman ang operasyon, idiskonekta ang device gamit ang NanoLibAccessor.disconnectDevice (). 8. Kuhaa ang device gamit ang NanoLibAccessor.removeDevice (). 9. Isira ang koneksyon sa hardware gamit ang NanoLibAccessor.closeBusHardware ().
Ang NanoLibAccessor adunay mosunud nga mga gimbuhaton sa publiko nga miyembro:

listAvailableBusHardware () Gamita kini nga function sa paglista sa available nga fieldbus hardware.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Nagbalik sa ResultaBusHwIds

Naghatag ug fieldbus ID array.

openBusHardwareWithProtocol () Gamita kini nga function sa pagkonektar sa bus hardware.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parameter busHwId busHwOpt
Nagbalik nga ResultaVoid

Gipiho ang fieldbus nga ablihan. Gipiho ang mga kapilian sa pag-abli sa fieldbus. Gipamatud-an nga ang usa ka void function midagan.

isBusHardwareOpen () Gamita kini nga function sa pagsusi kon ang imong fieldbus hardware koneksyon bukas.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Bersyon: doc 1.4.2 / NanoLib 1.3.0

16

8 Reperensya sa mga klase / function

Mga Parameter BusHardwareId Mibalik nga tinuod
bakak

Gipiho ang matag fieldbus nga ablihan. Bukas ang hardware. Gisira ang hardware.

getProtocolSpecificAccessor () Gamita kini nga function aron makuha ang protocol-specific accessor object.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Mga Parameter busHwId Returns ResultVoid

Gipiho ang fieldbus aron makuha ang accessor. Gipamatud-an nga ang usa ka void function midagan.

getProfinetDCP () Gamita kini nga function aron ibalik ang usa ka reference sa Profinet DCP interface.
virtual nga ProfinetDCP & getProfinetDCP ()

Ibalik ang ProfinetDCP

getSamplerInterface () Gamita kini nga function aron makakuha og pakisayran sa sampler interface.
virtual SamplerInterface & getSamplerInterface ()

Mibalik si SamplerInterface

Nagtumong sa sampler interface nga klase.

setBusState () Gamita kini nga function aron itakda ang bus-protocol-specific nga kahimtang.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parameter busHwId estado
Nagbalik nga ResultaVoid

Gipiho ang fieldbus nga ablihan. Nag-assign sa usa ka kahimtang nga piho sa bus ingon usa ka kantidad sa string. Gipamatud-an nga ang usa ka void function midagan.

scanDevices () Gamita kini nga function sa pag-scan sa mga device sa network.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)

Parameter busHwId callback
Nagbalik sa ResultDeviceIds IOError

Gipiho ang fieldbus nga i-scan. NlcScanBusCallback nga pagsubay sa pag-uswag. Naghatag ug laray sa device ID. Nagpahibalo nga ang usa ka aparato wala makit-an.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

17

8 Reperensya sa mga klase / function

addDevice ()
Gamita kini nga function aron makadugang ug bus device nga gihulagway sa deviceId sa lista sa internal device sa NanoLib, ug aron ibalik ang deviceHandle para niini.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Mga Parameter deviceId Nagbalik sa ResultaDeviceHandle

Gipiho ang aparato nga idugang sa lista. Naghatag ug gunitanan sa device.

connectDevice () Gamita kini nga function sa pagkonektar sa usa ka device pinaagi sa deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Mga Parameter deviceHandle Returns ResultVoid
IOError

Gipiho kung unsang bus device ang gikonektar sa NanoLib. Gikumpirma nga ang usa ka walay pulos nga function midagan. Nagpahibalo nga ang usa ka aparato wala makit-an.

getDeviceName () Gamita kini nga function aron makuha ang ngalan sa device pinaagi sa deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultString

Gipiho kung unsang bus device ang NanoLib nakakuha sa ngalan. Naghatag mga ngalan sa aparato ingon usa ka hilo.

getDeviceProductCode () Gamita kini nga function aron makuha ang product code sa device pinaagi sa deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt

Gipiho kung unsang bus device ang NanoLib makakuha sa code sa produkto. Naghatag mga code sa produkto ingon usa ka integer.

getDeviceVendorId () Gamita kini nga function aron makuha ang device vendor ID pinaagi sa deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt
ResourceUnavailable

Gipiho kung unsang bus device ang NanoLib makakuha sa vendor ID. Naghatud sa mga ID sa vendor ingon usa ka integer. Nagpahibalo nga walay nakit-an nga datos.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

18

8 Reperensya sa mga klase / function

getDeviceId () Gamita kini nga function aron makakuha og ID sa usa ka piho nga device gikan sa internal nga listahan sa NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parameter deviceHandle Mibalik ResultDeviceId

Gipiho kung unsang bus device ang NanoLib makakuha sa device ID. Naghatag ug device ID.

getDeviceIds () Gamita kini nga function aron makuha ang tanang device' ID gikan sa NanoLib internal list.
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Ibalik ang ResultDeviceIds

Naghatag usa ka lista sa ID sa aparato.

getDeviceUid () Gamita kini nga function aron makuha ang talagsaon nga ID sa usa ka device (96 bit / 12 bytes) pinaagi sa deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parameter deviceHandle Mibalik ResultArrayByte
ResourceUnavailable

Gipiho kung unsang bus device ang NanoLib makakuha sa talagsaon nga ID. Naghatag ug talagsaon nga ID isip usa ka byte array. Nagpahibalo nga walay nakit-an nga datos.

getDeviceSerialNumber () Gamita kini nga function aron makuha ang serial number sa device pinaagi sa deviceHandle.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultString
ResourceUnavailable

Gipiho kung unsang bus device ang NanoLib makakuha sa serial number. Naghatud sa mga serial number isip usa ka hilo. Nagpahibalo nga walay nakit-an nga datos.

getDeviceHardwareGroup () Gamita kini nga function aron makuha ang grupo sa hardware sa bus device pinaagi sa deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultInt

Gipiho kung unsang bus device ang NanoLib makakuha sa hardware nga grupo.
Naghatag mga grupo sa hardware ingon usa ka integer.

getDeviceHardwareVersion () Gamita kini nga function aron makuha ang bersyon sa hardware sa bus device pinaagi sa deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Bersyon: doc 1.4.2 / NanoLib 1.3.0

19

8 Reperensya sa mga klase / function

Parameter deviceHandle

Mibalik

ResultString ResourceUnavailable

Gipiho kung unsang bus device ang NanoLib makakuha sa hardware nga bersyon. Naghatag mga ngalan sa aparato ingon usa ka hilo. Nagpahibalo nga walay nakit-an nga datos.

getDeviceFirmwareBuildId () Gamita kini nga function aron makuha ang firmware build ID sa bus device pinaagi sa deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultString

Gipiho kung unsang bus device ang NanoLib makakuha sa firmware build ID.
Naghatag mga ngalan sa aparato ingon usa ka hilo.

getDeviceBootloaderVersion () Gamita kini nga function aron makuha ang bersyon sa bootloader sa bus device pinaagi sa deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parameter deviceHandle

Mibalik

ResultInt ResourceUnavailable

Gipiho kung unsang bus device ang NanoLib makakuha sa bersyon sa bootloader. Naghatag ug mga bersyon sa bootloader isip integer. Nagpahibalo nga walay nakit-an nga datos.

getDeviceBootloaderBuildId () Gamita kini nga function aron makuha ang bootloader build ID sa bus device pinaagi sa deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultString

Gipiho kung unsang bus device ang NanoLib makakuha sa bootloader build ID.
Naghatag mga ngalan sa aparato ingon usa ka hilo.

rebootDevice () Gamita kini nga function aron i-reboot ang device pinaagi sa deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Mga Parameter deviceHandle Returns ResultVoid

Gipiho ang fieldbus nga i-reboot. Gipamatud-an nga ang usa ka void function midagan.

getDeviceState () Gamita kini nga function aron makuha ang device-protocol-specific nga kahimtang.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parameter deviceHandle

Gipiho kung unsang bus device ang NanoLib makakuha sa estado.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

20

8 Reperensya sa mga klase / function

Nagbalik sa ResultaString

Naghatag mga ngalan sa aparato ingon usa ka hilo.

setDeviceState () Gamita kini nga function aron itakda ang device-protocol-specific nga kahimtang.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parameter deviceHandle state
Nagbalik nga ResultaVoid

Gipiho kung unsa nga aparato sa bus ang NanoLib nagtakda sa estado. Nag-assign sa usa ka bus-specific nga estado isip usa ka kantidad sa string. Gipamatud-an nga ang usa ka void function midagan.

getConnectionState ()
Gamita kini nga function aron makuha ang katapusang nahibal-an nga estado sa koneksyon sa usa ka aparato pinaagi sa deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultConnectionState

Gipiho kung unsang bus device ang NanoLib makakuha sa kahimtang sa koneksyon.
Naghatag usa ka kahimtang sa koneksyon (= Disconnected, Connected, ConnectedBootloader).

checkConnectionState ()
Kung ang katapusan nga nahibal-an nga estado dili Nadiskonekta: Gamita kini nga function aron masusi ug posible nga i-update ang kahimtang sa koneksyon sa usa ka piho nga aparato pinaagi sa deviceHandle ug pinaagi sa pagsulay sa daghang mga operasyon nga piho sa mode.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle Returns ResultConnectionState

Gipiho kung unsang aparato sa bus nga gisusi sa NanoLib ang kahimtang sa koneksyon.
Naghatag usa ka kahimtang sa koneksyon (= dili Disconnected).

assignObjectDictionary () Gamita kini nga manwal nga function sa pag-assign og object dictionary (OD) sa deviceHandle sa imong kaugalingon.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parameter deviceHandle objectDictionary
Nagbalik sa ResultObjectDictionary

Gipiho kung unsang bus device ang NanoLib nag-assign sa OD. Nagpakita sa mga kabtangan sa usa ka diksyonaryo sa butang.

autoAssignObjectDictionary ()
Gamita kini nga automatismo aron tugotan ang NanoLib nga mag-assign og object dictionary (OD) sa deviceHandle. Sa pagpangita ug pag-load sa usa ka angay nga OD, ang NanoLib awtomatikong i-assign kini sa aparato. Mubo nga sulat: Kung ang usa ka compatible OD nakarga na sa object library, ang NanoLib awtomatik nga mogamit niini nga walay pag-scan sa gisumite nga direktoryo.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Bersyon: doc 1.4.2 / NanoLib 1.3.0

21

8 Reperensya sa mga klase / function

Parameter deviceHandle

Mibalik

mga diksyonaryoLocationPath ResultObjectDictionary

Gitino kung asa nga bus device ang NanoLib awtomatik nga mag-scan alang sa angay nga mga OD. Gipiho ang agianan sa direktoryo sa OD. Nagpakita sa mga kabtangan sa usa ka diksyonaryo sa butang.

getAssignedObjectDictionary ()
Gamita kini nga function aron makuha ang diksyonaryo sa butang nga gi-assign sa usa ka aparato pinaagi sa deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
gunitanan)

Parameter deviceHandle Mibalik ResultObjectDictionary

Gipiho kung unsang bus device ang NanoLib makakuha sa gi-assign nga OD. Nagpakita sa mga kabtangan sa usa ka diksyonaryo sa butang.

getObjectDictionaryLibrary () Kini nga function nagbalik sa usa ka OdLibrary reference.
virtual OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Gibalik ang OdLibrary&

Gibuksan ang tibuok librarya sa OD ug ang mga diksyonaryo niini.

setLoggingLevel () Gamita kini nga function aron itakda ang gikinahanglan nga pagdetalye sa log (ug log file gidak-on). Default nga lebel mao ang Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (LogLevel level)

Parameter nga lebel

Ang mosunod nga mga detalye sa log posible:

0 = Pagsubay 1 = Debug 2 = Impormasyon 3 = Pasidaan 4 = Sayop 5 = Kritikal 6 = Wala

Labing ubos nga lebel (labing dako nga log file); nag-log sa bisan unsang posible nga detalye, lakip ang pagsugod / paghunong sa software. Mga log debug nga impormasyon (= interim nga mga resulta, sulod nga gipadala o nadawat, ug uban pa) Default nga lebel; nag-log sa mga mensahe sa impormasyon. Logs mga problema nga nahitabo apan dili mohunong sa kasamtangan nga algorithm. Ang mga log grabe nga problema nga nagpahunong sa algorithm. Pinakataas nga lebel (labing gamay nga log file); gipalong ang pag-log off; wala nay dugang nga log. Walay logging sa tanan.

setLoggingCallback ()
Gamita kini nga function para magbutang ug logging callback pointer ug log module (= library) para sa callback (dili para sa logger mismo).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)

Parameter *callback logModule

Nagbutang ug callback pointer. I-tune ang callback (dili logger!) sa imong library.

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

Gi-aktibo ang usa ka callback alang sa kinauyokan sa NanoLib lamang. Nag-aktibo sa usa ka CANopen-only callback. Pag-aktibo sa usa ka Modbus-lamang nga callback. Nag-aktibo sa usa ka EtherCAT-lamang nga callback.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

22

8 Reperensya sa mga klase / function

4 = NanolibRest 5 = NanolibUSB

Gi-aktibo ang usa ka REST-only callback. Gi-aktibo ang us aka USB-lamang nga callback.

unsetLoggingCallback () Gamita kini nga function para kanselahon ang logging callback pointer.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Gamita kini nga function sa pagbasa sa numeric value gikan sa object dictionary.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Nagbalik nga ResultaInt

Gipiho kung unsang bus device ang NanoLib nagbasa gikan. Gipiho ang (sub-) nga indeks nga basahon gikan. Naghatag usa ka wala mahibal-an nga kantidad sa numero (mahimong mapirmahan, dili mapirmahan, ayohon ang mga kantidad nga 16.16 bit).

readNumberArray () Gamita kini nga function sa pagbasa sa numeric arrays gikan sa object dictionary.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Parameter deviceHandle index
Nagbalik ResultArrayInt

Gipiho kung unsang bus device ang NanoLib nagbasa gikan. Array object index. Naghatag ug integer array.

readBytes () Gamita kini nga function sa pagbasa sa arbitraryong bytes (domain object data) gikan sa object dictionary.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Ibalik ang ResultArrayByte

Gipiho kung unsang bus device ang NanoLib nagbasa gikan. Gipiho ang (sub-) nga indeks nga basahon gikan. Naghatag ug byte array.

readString () Gamita kini nga function sa pagbasa sa mga string gikan sa object directory.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Nagbalik sa ResultaString

Gipiho kung unsang bus device ang NanoLib nagbasa gikan. Gipiho ang (sub-) nga indeks nga basahon gikan. Naghatag mga ngalan sa aparato ingon usa ka hilo.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

23

8 Reperensya sa mga klase / function

writeNumber () Gamita kini nga function sa pagsulat sa numeric values ​​ngadto sa object directory.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)

Parameter deviceHandle value odIndex bitLength
Nagbalik nga ResultaVoid

Gipiho kung unsang aparato sa bus ang NanoLib nagsulat. Ang wala mahubad nga kantidad (mahimong mapirmahan, dili mapirmahan, ayohon ang 16.16). Gipiho ang (sub-) nga indeks nga basahon gikan. Ang gitas-on sa gamay. Gipamatud-an nga ang usa ka void function midagan.

writeBytes () Gamita kini nga function sa pagsulat sa arbitraryong bytes (domain object data) ngadto sa object directory.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & data, const OdIndex odIndex)

Parameter deviceHandle data odIndex
Nagbalik nga ResultaVoid

Gipiho kung unsang aparato sa bus ang NanoLib nagsulat. Byte vector / array. Gipiho ang (sub-) nga indeks nga basahon gikan. Gipamatud-an nga ang usa ka void function midagan.

uploadFirmware ()
Gamita kini nga function sa pag-update sa imong controller firmware.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* callback)

Parameter deviceHandle fwData NlcDataTransferCallback
Nagbalik nga ResultaVoid

Gipiho kung unsang bus device ang gi-update sa NanoLib. Array nga adunay data sa firmware. Usa ka pagsubay sa pag-uswag sa datos. Gikumpirma nga ang usa ka void function midagan.

uploadFirmwareGikanFile ()
Gamita kini nga function aron ma-update ang imong controller firmware pinaagi sa pag-upload niini file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePath, NlcDataTransferCallback* callback)

Mga parametro sa deviceHandle ang hingpitFilePath NlcDataTransferCallback
Nagbalik nga ResultaVoid

Gipiho kung unsang bus device ang gi-update sa NanoLib. Paagi sa file nga adunay mga datos sa firmware (std::string). Usa ka pagsubay sa pag-uswag sa datos. Gipamatud-an nga ang usa ka void function midagan.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

24

8 Reperensya sa mga klase / function

uploadBootloader ()
Gamita kini nga function aron ma-update ang imong controller bootloader.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* callback)

Parameter deviceHandle btData NlcDataTransferCallback
Nagbalik nga ResultaVoid

Gipiho kung unsang bus device ang gi-update sa NanoLib. Array nga adunay bootloader data. Usa ka pagsubay sa pag-uswag sa datos. Gikumpirma nga ang usa ka walay pulos nga function midagan.

uploadBootloaderGikanFile ()
Gamita kini nga function aron ma-update ang imong controller bootloader pinaagi sa pag-upload niini file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePath, NlcDataTransferCallback* callback)

Parameter deviceHandle bootloaderAbsoluteFilePath NlcDataTransferCallback
Nagbalik nga ResultaVoid

Gipiho kung unsang bus device ang gi-update sa NanoLib. Paagi sa file adunay sulod nga data sa bootloader (std::string). Usa ka pagsubay sa pag-uswag sa datos. Gipamatud-an nga ang usa ka void function midagan.

uploadBootloaderFirmware ()
Gamita kini nga function aron ma-update ang imong controller bootloader ug firmware.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* callback)

Parameter deviceHandle btData fwData NlcDataTransferCallback
Nagbalik nga ResultaVoid

Gipiho kung unsang bus device ang gi-update sa NanoLib. Array nga adunay bootloader data. Array nga adunay data sa firmware. Usa ka pagsubay sa pag-uswag sa datos. Gikumpirma nga ang usa ka void function midagan.

uploadBootloaderFirmwareFromFile ()
Gamita kini nga function aron ma-update ang imong controller bootloader ug firmware pinaagi sa pag-upload sa files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePath, const std::string & absoluteFilePath, NlcDataTransferCallback* callback)

Parameter deviceHandle bootloaderAbsoluteFileAng dalan hingpitFilePath NlcDataTransferCallback
Nagbalik nga ResultaVoid

Gipiho kung unsang bus device ang gi-update sa NanoLib. Paagi sa file adunay sulod nga data sa bootloader (std::string). Paagi sa file nga adunay datos sa firmware (uint8_t). Usa ka pagsubay sa pag-uswag sa datos. Gipamatud-an nga ang usa ka void function midagan.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

25

8 Reperensya sa mga klase / function

uploadNanoJ ()
Gamita kini nga public function para i-upload ang NanoJ program sa imong controller.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* callback)

Parameter deviceHandle vmmData NlcDataTransferCallback
Nagbalik nga ResultaVoid

Gipiho kung unsang bus device ang NanoLib nag-upload. Array nga adunay NanoJ data. Usa ka pagsubay sa pag-uswag sa datos. Gikumpirma nga ang usa ka walay pulos nga function midagan.

uploadNanoJFromFile ()
Gamita kini nga public function aron i-upload ang NanoJ program sa imong controller pinaagi sa pag-upload sa file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePath, NlcDataTransferCallback* callback)

Mga parametro sa deviceHandle ang hingpitFilePath NlcDataTransferCallback
Nagbalik nga ResultaVoid

Gipiho kung unsang bus device ang NanoLib nag-upload. Paagi sa file nga adunay NanoJ data (std::string). Usa ka pagsubay sa pag-uswag sa datos. Gipamatud-an nga ang usa ka void function midagan.

disconnectDevice () Gamita kini nga function sa pagdiskonekta sa imong device pinaagi sa deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Mga Parameter deviceHandle Returns ResultVoid

Gipiho kung unsa nga aparato sa bus ang NanoLib gidiskonekta. Gikumpirma nga ang usa ka void function midagan.

removeDevice () Gamita kini nga function aron makuha ang imong device gikan sa listahan sa internal device sa NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Mga Parameter deviceHandle Returns ResultVoid

Gipiho kung unsang bus device ang gi-delist sa NanoLib. Gipamatud-an nga ang usa ka void function midagan.

closeBusHardware () Gamita kini nga function sa pagdiskonekta gikan sa imong fieldbus hardware.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Mga Parameter busHwId Returns ResultVoid

Gipiho ang fieldbus nga idiskonekta. Gipamatud-an nga ang usa ka void function midagan.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

26

8 Reperensya sa mga klase / function

8.2 BusHardwareId
Gamita kini nga klase sa pag-ila sa usa ka bus hardware sa usa-sa-usa o sa pag-ila sa lain-laing mga bus hardware gikan sa usag usa. Kini nga klase (nga walay setter function nga dili mausab gikan sa paglalang sa) naghupot usab og impormasyon sa:
Hardware (= ngalan sa adaptor, adapter sa network ug uban pa) Protocol nga gamiton (= Modbus TCP, CANopen ug uban pa) Espesipika sa hardware sa bus (= ngalan sa serial port, MAC Friendly nga ngalan
adres ug uban pa)

BusHardwareId () [1/3] Constructor nga nagmugna og bag-ong butang nga hardware ID sa bus.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parameter busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Type sa hardware (= ZK-USB-CAN-1 ug uban pa). Bus communication protocol (= CANopen ug uban pa). Ang specifier sa usa ka hardware (= COM3 etc.). Ang dugang nga espesipiko sa hardware (ingon, impormasyon sa lokasyon sa USB). Usa ka mahigalaon nga ngalan (= AdapterName (Port) ug uban pa).

BusHardwareId () [2/3] Constructor nga nagmugna og bag-ong bus hardware ID object, nga adunay opsyon alang sa extra hardware specifier.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)

Parameter busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Type sa hardware (= ZK-USB-CAN-1 ug uban pa). Bus communication protocol (= CANopen ug uban pa). Ang specifier sa usa ka hardware (= COM3 etc.). Ang dugang nga espesipiko sa hardware (ingon, impormasyon sa lokasyon sa USB). Usa ka mahigalaon nga ngalan (= AdapterName (Port) ug uban pa).

BusHardwareId () [3/3] Constructor nga nagkopya sa naglungtad nga busHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parameter busHardwareId

Ngalan ang bus hardware ID aron kopyahon.

equals () Itandi ang usa ka bag-ong bus hardware ID ngadto sa kasamtangan.
bool nlc::BusHardwareId::katumbas (BusHardwareId const ug uban pa) const

Mga parametro sa ubang mga Returns tinuod

Laing butang sa parehas nga klase. Kung ang duha managsama sa tanan nga mga kantidad.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

27

8 Reperensya sa mga klase / function

bakak

Kung magkalainlain ang mga kantidad.

getBusHardware () Nagbasa sa bus hardware string.
std::string nlc::BusHardwareId::getBusHardware () const

Nagbalik sa string

getHardwareSpecifier () Nagbasa sa string sa specifier sa bus hardware (= ngalan sa network ug uban pa).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Nagbalik sa string

getExtraHardwareSpecifier () Nagbasa sa bus extra hardware's specifier string (= MAC address ug uban pa).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Nagbalik sa string

getName () Nagbasa sa mahigalaon nga ngalan sa bus hardware.
std::string nlc::BusHardwareId::getName () const

Nagbalik sa string

getProtocol () Nagbasa sa bus protocol string.
std::string nlc::BusHardwareId::getProtocol () const

Nagbalik sa string

toString () Ibalik ang bus hardware ID isip string.
std::string nlc::BusHardwareId::toString () const

Nagbalik sa string
8.3 Mga Opsyon sa BusHardware
Pangitaa sa kini nga klase, sa usa ka lista sa hinungdanon nga kantidad sa mga kuwerdas, ang tanan nga mga kapilian nga gikinahanglan aron maablihan ang hardware sa bus.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

28

8 Reperensya sa mga klase / function

BusHardwareOptions () [1/2] Naghimo ug bag-ong butang nga kapilian sa hardware sa bus.
nlc::BusHardwareOptions::BusHardwareOptions () Gamita ang function addOption () aron idugang ang key-value pairs.

BusHardwareOptions () [2/2] Naghimo ug bag-ong bus hardware options object nga nabutang na ang key-value map.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & mga kapilian)

Mga kapilian sa parameter

Usa ka mapa nga adunay mga kapilian alang sa hardware sa bus nga molihok.

addOption () Naghimo og dugang nga mga yawe ug mga bili.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Mga parameter nga yawe nga bili

Example: BAUD_RATE_OPTIONS_NAME, tan-awa ang bus_hw_options_ defaults
Example: BAUD_RATE_1000K, tan-awa ang bus_hw_options_defaults

equals () Itandi ang BusHardwareOptions sa mga naa na.
bool nlc::BusHardwareOptions::katumbas (BusHardwareOptions const ug uban pa) const

Mga parametro sa ubang mga Returns tinuod
bakak

Laing butang sa parehas nga klase. Kung ang lain nga butang adunay tanan nga parehas nga kapilian. Kung ang laing butang adunay lain-laing mga yawe o mga kantidad.

getOptions () Nagbasa sa tanang gidugang nga key-value pairs.
std::mapa nlc::BusHardwareOptions::getOptions () const

Ibalik ang string map

toString () Ibalik ang tanan nga yawe / bili isip usa ka hilo.
std::string nlc::BusHardwareId::toString () const

Nagbalik sa string
8.4 BusHwOptionsDefault
Kini nga default nga mga kapilian sa pag-configure nga klase adunay mga mosunod nga publiko nga mga hiyas:

Bersyon: doc 1.4.2 / NanoLib 1.3.0

29

8 Reperensya sa mga klase / function

const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Struct nga adunay CAN bus baudrates sa mosunod nga publiko nga mga hiyas:

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

BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” BAUD_RATE_100_K BAUD_RATE_100K E_50K = “50k” BAUD_RATE_20K = “20k” BAUD_RATE_10K = “10k”

8.6 CanBus

Default nga mga opsyon sa pag-configure nga klase nga adunay mosunod nga publikong mga hiyas:

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = "mahimo nga adapter baud rate" baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Alang sa serbisyo sa NMT, kini nga estruktura naglangkob sa mga estado sa CANopen NMT isip mga kantidad sa string sa mosunod nga mga kinaiya sa publiko:

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

Kini nga struct naglangkob sa CANopen NMT states isip string values ​​sa mosunod nga public attributes:

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

GIHUNONG = "NAHUNONG" PRE_OPERATIONAL = "PRE_OPERATIONAL" OPERATIONAL = "OPERATIONAL" INISYALISASYON = "INITIALISASYON" WALA KILALA = "WALA KAHIBALO"

8.9 EtherCATBus nga istruktura

Kini nga estruktura naglangkob sa mga kapilian sa pagsumpo sa komunikasyon sa EtherCAT sa mosunod nga mga kinaiya sa publiko:

Bersyon: doc 1.4.2 / NanoLib 1.3.0

30

8 Reperensya sa mga klase / function

const std::string NETWORK_FIRMWARE_STATE_OP- Ang estado sa network gitratar isip firmware mode. Madawat

TION_NAME = “Network Firmware State”

mga bili (default = PRE_OPERATIONAL):

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

const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = "PRE_OPERATIONAL"

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Timeout sa milliseconds aron makuha ang eksklusibong kandado sa

TION_NAME = “Gipaambit nga Lock Timeout”

ang network (default = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Timeout sa milliseconds aron makuha ang gipaambit nga kandado sa

NAME = "Gipaambit nga Lock Timeout"

ang network (default = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = Timeout sa milliseconds para sa usa ka read operation (default

"Pagbasa sa Timeout"

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = Timeout sa milliseconds para sa operasyon sa pagsulat (default

"Pagsulat sa Timeout"

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = "200"

const std::string READ_WRITE_ATTEMPTS_OPTION_ Maximum nga mga pagsulay sa pagbasa o pagsulat (dili-zero nga mga bili

NAME = "Pagsulay sa Pagbasa / Pagsulat"

lamang; default = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Usba ang Network State nga Pagsulay”

Kinatas-ang gidaghanon sa mga pagsulay sa pag-usab sa kahimtang sa network (dili-zero nga mga bili lamang; default = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME Makapahimo o makapugong sa pagproseso sa PDO para sa digital in- /

= "PDO IO Naka-enable"

mga output (“Tinuod” o “Bakak” lamang; default = “Tinuod”).

const std::string DEFAULT_PDO_IO_ENABLED = "Tinuod"

8.10 Istruktura sa EtherCATState

Kini nga estruktura naglangkob sa EtherCAT nga ulipon / network nga estado ingon nga mga kantidad sa string sa mosunod nga publiko nga mga hiyas. Mubo nga sulat: Default nga estado sa power on mao ang PRE_OPERATIONAL; Ang NanoLib dili makahatag ug kasaligan nga "OPERATIONAL" nga estado sa usa ka non-realtime nga operating system:

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

WALA = “WALA” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “OPERATIONAL”

Bersyon: doc 1.4.2 / NanoLib 1.3.0

31

8 Reperensya sa mga klase / function

8.11 Ixxat

Kini nga estraktura naghupot sa tanang impormasyon alang sa Ixxat usb-to-can sa mosunod nga publikong mga hiyas:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “ixxat adapter bus number”

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Kini nga estruktura naghupot sa numero sa bus alang sa Ixxat usb-to-can sa mosunod nga publikong mga hiyas:

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 nga Bungtod

Kini nga estruktura nagkupot sa tanang impormasyon para sa Peak usb-to-can sa mosunod nga publikong mga hiyas:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “peak adapter bus number”

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Kini nga estruktura nagkupot sa numero sa bus alang sa Peak usb-to-can sa mosunod nga publikong mga hiyas:

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::string const std::string const std::string const std::string const std::string const: std::string const std::string

BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS4) (PCAN_USBBUS5) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_8 = std::to_BBUS(9PCAN_USBBUS9) std::to_string (PCAN_USBBUS10) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS13:13 BUS (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS16)

8.15 Pagdumala sa Device
Kini nga klase nagrepresentar sa usa ka kuptanan alang sa pagkontrol sa usa ka aparato sa usa ka bus ug adunay mosunod nga mga gimbuhaton sa publiko nga miyembro.

DeviceHandle () DeviceHandle (uint32_t handle)

Bersyon: doc 1.4.2 / NanoLib 1.3.0

32

8 Reperensya sa mga klase / function

equals () Itandi ang kaugalingon sa gihatag nga kuptanan sa device.
bool equals (DeviceHandle const other) const (uint32_t handle)

toString () Nagbalik sa representasyon sa hilo sa gunitanan sa device.
std::string toString () const

get () Ibalik ang gunitanan sa device.
uint32_t makakuha () const

8.16 DeviceId
Gamita kini nga klase (dili mausab gikan sa paglalang sa) sa pag-ila ug pag-ila sa mga himan sa usa ka bus:

Hardware adapter identifier

Device identifier

Deskripsyon

Ang kahulogan sa device ID / mga bili sa paghulagway nagdepende sa bus. Kay example, ang usa ka CAN bus mahimong mogamit sa integer ID.

DeviceId () [1/3] Naghimo ug bag-ong device ID object.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

Parameter busHardwareId_ deviceId_ description_

Identifier sa bus. Usa ka indeks; ubos sa bus (= CANopen node ID ug uban pa). Usa ka paghulagway (mahimong walay sulod); sakop sa bus.

DeviceId () [2/3] Naghimo og bag-ong device ID nga butang nga adunay gipadako nga mga opsyon sa ID.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)

Parameter busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Identifier sa bus. Usa ka indeks; ubos sa bus (= CANopen node ID ug uban pa). Usa ka paghulagway (mahimong walay sulod); sakop sa bus. Dugang nga ID (mahimo nga walay sulod); meaning depende sa bus. Dugang nga string ID (mahimo nga walay sulod); meaning depende sa bus.

DeviceId () [3/3] Naghimo ug kopya sa device ID nga butang.
nlc::DeviceId::DeviceId (DeviceId const &)

Bersyon: doc 1.4.2 / NanoLib 1.3.0

33

8 Reperensya sa mga klase / function

Parameter deviceId_

Device ID aron kopyahon gikan.

equals () Itandi ang bag-o sa kasamtangan nga mga butang.
bool nlc::DeviceId::katumbas (DeviceId const & uban pa) const

Ibalik ang boolean

getBusHardwareId () Nagbasa sa bus hardware ID.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Nagbalik sa BusHardwareId

getDescription () Nagbasa sa paghulagway sa device (tingali wala magamit).
std::string nlc::DeviceId::getDescription () const

Nagbalik sa string

getDeviceId () Nagbasa sa device ID (tingali wala magamit).
unsigned int nlc::DeviceId::getDeviceId () const

Nagbalik nga wala gipirmahan nga int

toString () Ibalik ang butang isip usa ka hilo.
std::string nlc::DeviceId::toString () const

Nagbalik sa string

getExtraId () Gibasa ang dugang nga ID sa device (mahimong wala magamit).
const std::vector &getExtraId () const

Ibalik ang vector

Usa ka vector sa dugang nga dugang nga mga ID (mahimo nga walay sulod); meaning depende sa bus.

getExtraStringId () Gibasa ang dugang nga string ID sa aparato (mahimo nga wala magamit).
std::string getExtraStringId () const

Bersyon: doc 1.4.2 / NanoLib 1.3.0

34

8 Reperensya sa mga klase / function

Nagbalik sa string

Ang dugang nga string ID (mahimo nga walay sulod); meaning depende sa bus.

8.17 LogLevelConverter

Kini nga klase nagbalik sa imong lebel sa log ingon usa ka hilo. static std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Kini nga klase nagbalik sa imong library-specific log modulesetLoggingLevel () isip usa ka string.

static nga std::string

toString (nlc::LogModule logModule)

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

8.19 ObjectDictionary
Kini nga klase nagrepresentar sa usa ka diksyonaryo sa butang sa usa ka controller ug adunay mga mosunod nga mga gimbuhaton sa publiko nga miyembro: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Returns ResultDeviceHandle

getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Nagbalik sa ResultObjectSubEntry

getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t index)

Nagbalik sa ResultObjectEntry

Nagpahibalo sa mga kabtangan sa usa ka butang.

getXmlFileNgalan () virtual ResultString getXmlFileNgalan () const

Nagbalik sa ResultaString

Ibalik ang XML file ngalan isip usa ka hilo.

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

Bersyon: doc 1.4.2 / NanoLib 1.3.0

35

8 Reperensya sa mga klase / function
Nagbalik sa ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) Nagbalik sa ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Nagbalik sa ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, OdIndex const odIndex) writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Nagbalik sa ResultVoid Related Links OdIndex
8.20 Object Entry
Kini nga klase nagrepresentar sa usa ka butang nga pagsulod sa butang nga diksyonaryo, adunay mosunod nga static nga giprotektahan nga hiyas ug mga gimbuhaton sa publiko nga miyembro:
static nlc::ObjectSubEntry invalidObject
getName () Nagbasa sa ngalan sa butang isip usa ka hilo.
virtual std::string getName () const
getPrivate () Gisusi kung pribado ang butang.
virtual bool getPrivate () const
getIndex () Nagbasa sa adres sa indeks sa butang.
virtual uint16_t getIndex () const

Bersyon: doc 1.4.2 / NanoLib 1.3.0

36

8 Reperensya sa mga klase / function

getDataType () Nagbasa sa tipo sa datos sa butang.
virtual nlc::ObjectEntryDataType getDataType () const

getObjectCode () Nagbasa sa object code:

Null Deftype Defstruct Var Array Record

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

virtual nlc::ObjectCode getObjectCode () const

getObjectSaveable () Susihon kung ang butang ma-save ug kini kategorya (tan-awa ang manwal sa produkto alang sa dugang nga mga detalye): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Nagbasa sa gidaghanon sa mga subindices nga gisuportahan niini nga butang.
virtual uint8_t getMaxSubIndex () const

getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Tan-awa usab ang ObjectSubEntry.
8.21 ObjectSubEntry
Kini nga klase nagrepresentar sa usa ka sub-entry nga butang (subindex) sa diksyonaryo sa butang ug adunay mosunod nga mga gimbuhaton sa publiko nga miyembro:
getName () Nagbasa sa ngalan sa butang isip usa ka hilo.
virtual std::string getName () const

getSubIndex () Nagbasa sa adres sa subindex.
virtual uint8_t getSubIndex () const

Bersyon: doc 1.4.2 / NanoLib 1.3.0

37

8 Reperensya sa mga klase / function

getDataType () Nagbasa sa tipo sa datos sa butang.
virtual nlc::ObjectEntryDataType getDataType () const

getSdoAccess () Pagsusi kon ang subindex ma-access pinaagi sa SDO:

ReadOnly

1

Pagsulat Lamang

2

ReadWrite

3

WalayAccess

0

virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Pagsusi kon ang subindex ma-access/mappable pinaagi sa PDO:

Tx

1

Rx

2

TxRx

3

Dili

0

virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Gisusi ang gitas-on sa subindex.
virtual uint32_t getBitLength () const

getDefaultValueAsNumeric () Nagbasa sa default nga kantidad sa subindex alang sa mga tipo sa datos sa numero.
virtual ResultInt getDefaultValueAsNumeric (std:: string const & key) const

getDefaultValueAsString () Nagbasa sa default nga kantidad sa subindex alang sa mga tipo sa datos sa string.
virtual ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Nagbasa sa mga default nga kantidad sa subindex.
virtual std::mapa getDefaultValues ​​() const

Bersyon: doc 1.4.2 / NanoLib 1.3.0

38

8 Reperensya sa mga klase / function

readNumber () Nagbasa sa numeric nga aktuwal nga bili sa subindex.
virtual ResultInt readNumber () const

readString () Nagbasa sa aktuwal nga kantidad sa string sa subindex.
virtual ResultString readString () const

readBytes () Nagbasa sa aktuwal nga bili sa subindex sa bytes.
virtual ResultArrayByte readBytes () const

writeNumber () Nagsulat ug numeric value sa subindex.
virtual ResultVoid writeNumber (const int64_t value) const

writeBytes () Nagsulat ug bili sa subindex sa bytes.
virtual nga ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Gamita kini nga klase (dili mausab gikan sa paglalang sa) sa pagputos ug pagpangita sa object directory indeks / sub-indeks. Ang OD sa usa ka aparato adunay hangtod sa 65535 (0xFFFF) nga mga laray ug 255 (0xFF) nga mga kolum; nga adunay mga kal-ang tali sa wala’y pagpadayon nga mga laray. Tan-awa ang sumbanan sa CANopen ug ang imong manwal sa produkto alang sa dugang detalye.
OdIndex () Nagtukod ug bag-ong OdIndex nga butang.
nlc::OdIndex::OdIndex (uint16_t index, uint8_t subIndex)

Parameter index subindex

Gikan sa 0 hangtod 65535 (0xFFFF) apil. Gikan sa 0 hangtod 255 (0xFF) apil.

getIndex () Nagbasa sa index (gikan sa 0x0000 hangtod 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Mibalik uint16_t

getSubindex () Nagbasa sa sub-index (gikan sa 0x00 hangtod 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Bersyon: doc 1.4.2 / NanoLib 1.3.0

39

8 Reperensya sa mga klase / function

Mibalik uint8_t

toString () Ibalik ang index ug subindex isip string. Ang string default 0xIIII:0xSS mabasa sama sa mosunod:

I = index gikan sa 0x0000 ngadto sa 0xFFFF

S = sub-index gikan sa 0x00 ngadto sa 0xFF

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

Ibalik ang 0xIIII:0xSS

Default nga representasyon sa string

8.23 OdLibrary
Gamita kini nga interface sa programming aron makahimo og mga higayon sa klase sa ObjectDictionary gikan sa XML. Pinaagi sa assignObjectDictionary, mahimo nimong ibugkos ang matag higayon sa usa ka piho nga aparato tungod sa usa ka talagsaon nga gihimo nga identifier. Ang mga pananglitan sa ObjectDictionary nga gihimo gitipigan sa OdLibrary nga butang aron ma-access pinaagi sa indeks. Ang klase sa ODLibrary nagkarga sa ObjectDictionary nga mga butang gikan sa file o array, nagtipig niini, ug adunay mosunod nga mga gimbuhaton sa publikong miyembro:

getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Nagbalik sa ResultObjectDictionary

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

Nagbalik sa ResultObjectDictionary

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

Nagbalik sa ResultObjectDictionary
8.24 OdTypesHelper
Dugang pa sa mga musunod nga mga gimbuhaton sa publiko nga miyembro, kini nga klase adunay mga naandan nga tipo sa datos. Mubo nga sulat: Aron masusi ang imong custom data type, pangitaa ang enum class nga ObjectEntryDataType sa od_types.hpp.

uintToObjectCode () Nag-convert sa mga unsigned integer ngadto sa object code:

Null Deftype

0x00 0x05

Bersyon: doc 1.4.2 / NanoLib 1.3.0

40

8 Reperensya sa mga klase / function

Defstruct Var Array Record

0x06 0x07 0x08 0x09

static nga ObjectCode uintToObjectCode (unsigned int objectCode)

isNumericDataType () Nagpahibalo kung ang usa ka tipo sa datos numero o dili.
static nga bool mao angNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Nagpahibalo kung ang usa ka butang usa ka indeks sa istruktura sa kahulugan o dili.
static bool mao angDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Nagpahibalo kung ang usa ka butang usa ka indeks nga tipo sa kahulugan o dili.
static bool mao angDeftypeIndex (uint16_t typeNum)

isComplexDataType () Nagpahibalo kung ang usa ka tipo sa datos komplikado o dili.
static nga bool mao angComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Nag-convert sa mga unsigned integer ngadto sa OD data type.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Nag-convert sa OD data type ngadto sa string.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Nag-convert sa string ngadto sa OD data type kung mahimo. Kung dili, ibalik ang UNKNOWN_DATATYPE.
static nga ObjectEntryDataType stringToObjectEntryDatatype (std:: string dataTypeString)

Bersyon: doc 1.4.2 / NanoLib 1.3.0

41

8 Reperensya sa mga klase / function

objectEntryDataTypeBitLength () Nagpahibalo sa gamay nga gitas-on sa usa ka butang entry data type.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RESTfulBus nga istruktura

Kini nga estruktura naglangkob sa mga kapilian sa pagsumpo sa komunikasyon alang sa RESTful interface (sa Ethernet). Naglangkob kini sa mosunod nga mga kinaiya sa publiko:

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

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

8.26 ProfineDCP
Ubos sa Linux, ang aplikasyon sa pagtawag nanginahanglan mga kapabilidad sa CAP_NET_ADMIN ug CAP_NET_RAW. Aron mahimo: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Sa Windows, ang ProfinetDCP interface naggamit sa WinPcap (gisulayan sa bersyon 4.1.3) o Npcap (gisulayan sa mga bersyon 1.60 ug 1.30). Kini sa ingon nangita sa dinamikong gikarga nga wpcap.dll library sa mosunod nga han-ay (Pahinumdom: walay kasamtangan nga suporta sa Win10Pcap):
1. Nanolib.dll directory 2. Windows system directory SystemRoot%System32 3. Npcap installation directory SystemRoot%System32Npcap 4. Environment path
Kini nga klase nagrepresentar sa usa ka Profinet DCP interface ug adunay mga mosunod nga mga gimbuhaton sa publiko nga miyembro:

getScanTimeout () Nagpahibalo sa usa ka device scan timeout (default = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Nagtakda ug device scan timeout (default = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Nagpahibalo sa oras sa pagtubag sa aparato alang sa pag-setup, pag-reset ug pag-blink nga mga operasyon (default = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Nagpahibalo sa timeout sa pagtubag sa device alang sa setup, reset ug blink nga mga operasyon (default = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Bersyon: doc 1.4.2 / NanoLib 1.3.0

42

8 Reperensya sa mga klase / function

isServiceAvailable ()
Gamita kini nga function aron masusi ang pagkaanaa sa serbisyo sa Profinet DCP.
Pagkabalido / pagkaanaa sa network adapter Windows: Pagkabaton sa WinPcap / Npcap Linux: Mga kapabilidad sa CAP_NET_ADMIN / CAP_NET_RAW
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Mga Parameter BusHardwareId Mibalik nga tinuod
bakak

Hardware ID sa serbisyo sa Profinet DCP aron masusi. Anaa ang serbisyo. Ang serbisyo dili magamit.

scanProfinetDevices () Gamita kini nga function sa pag-scan sa hardware bus alang sa presensya sa Profinet device.
virtual nga ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)

Mga Parameter BusHardwareId Mibalik ResultProfinetDevices

Gipiho ang matag fieldbus nga ablihan. Bukas ang hardware.

setupProfinetDevice () Nagtukod sa mosunod nga mga setting sa device:

Ngalan sa device

IP adres

maskara sa network

Default nga ganghaan

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

resetProfinetDevice () Gipahunong ang device ug gi-reset kini sa mga default sa pabrika.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Nagmando sa Profinet device nga magsugod sa pagpakidlap sa iyang Profinet LED.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Gamita kini nga function aron masusi ang IP address sa device.
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

Mga Parameter BusHardwareId ProfinetDevice

Gipiho ang hardware ID nga susihon. Gipiho ang Profinet device aron ma-validate.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

43

8 Reperensya sa mga klase / function

Nagbalik nga ResultaVoid

8.27 Istruktura sa ProfinetDevice

Ang datos sa Profinet device adunay mga mosunod nga publikong mga hiyas:

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

Ang MAC address gihatag isip array sa format macAddress = {xx, xx, xx, xx, xx, xx}; samtang ang IP address, network mask ug gateway tanan gihubad nga dako nga endian hex nga mga numero, sama sa:

IP address: 192.168.0.2 Network mask: 255.255.0.0 Gateway: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Resulta nga mga klase

Gamita ang "opsyonal" nga mga kantidad sa pagbalik sa kini nga mga klase aron masusi kung ang usa ka tawag sa function nagmalampuson o wala, ug pangitaa usab ang mga hinungdan nga napakyas. Sa kalampusan, ang hasError () function mibalik og bakak. Pinaagi sa getResult (), mahimo nimong basahon ang resulta nga kantidad sumala sa matag tipo (ResultInt etc.). Kung ang usa ka tawag mapakyas, imong basahon ang rason pinaagi sa getError ().

Gipanalipdan nga mga hiyas

string NlcErrorCode uint32_t

errorString errorCode exErrorCode

Usab, kini nga klase adunay mga musunod nga mga gimbuhaton sa publiko nga miyembro:

hasError () Nagbasa sa kalampusan sa usa ka function call.
bool nlc::Resulta::hasError () const

Mibalik

tinuod nga bakak

Napakyas nga tawag. Gamita ang getError () aron mabasa ang kantidad. Malampuson nga tawag. Gamita ang getResult () aron mabasa ang kantidad.

getError () Nagbasa sa rason kon ang usa ka function call mapakyas.
const std::string nlc::Resulta::getError () const

Nagbalik sa const string

Bersyon: doc 1.4.2 / NanoLib 1.3.0

44

8 Reperensya sa mga klase / function
resulta () Ang mosunod nga mga gimbuhaton makatabang sa pagtino sa eksaktong resulta:
Resulta (std::string const & errorString_)
Resulta (NlcErrorCode const & errCode, std::string const & errorString_)
Resulta (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Resulta (Resulta const & resulta)
getErrorCode () Basaha ang NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 Resulta nga Wala
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function mobalik nga walay pulos. Gipanunod sa klase ang mga gimbuhaton sa publiko ug gipanalipdan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
ResultVoid () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong void nga resulta:
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 (Result const & resulta)
8.28.2 ResultaInt
Nagpadala kanimo ang NanoLib og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka integer. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Ibalik ang integer nga resulta kung ang usa ka function call adunay kalampusan.
int64_t getResult () const
Mibalik int64_t

Bersyon: doc 1.4.2 / NanoLib 1.3.0

45

8 Reperensya sa mga klase / function
ResultInt () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong resulta sa integer:
ResultInt (int64_t resulta_)
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 (Resulta const & resulta)
8.28.3 ResultaString
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka string. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Nagbasa sa resulta sa string kung ang usa ka function nga tawag adunay kalampusan.
const std::string nlc::ResultString::getResult () const
Nagbalik sa const string
ResultString () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong resulta sa string:
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 (Resulta const & resulta)
8.28.4 ResultaArrayByte
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka byte array. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Nagbasa sa byte vector kung ang usa ka function call adunay kalampusan.
const std::vector nlc::ResultArrayByte::getResult () const
Nagbalik sa const vector

Bersyon: doc 1.4.2 / NanoLib 1.3.0

46

8 Reperensya sa mga klase / function
ResultArrayByte () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong byte array nga resulta:
ResultArrayByte (std::vector const & resulta_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Result const & resulta)
8.28.5 ResultaArrayInt
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka integer array. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Nagbasa sa integer vector kung ang usa ka function call adunay kalampusan.
const std::vector nlc::ResultArrayInt::getResult () const
Nagbalik sa const vector
ResultArrayInt () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong resulta sa integer array:
ResultArrayInt (std::vector const & resulta_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Result const & resulta)
8.28.6 ResultaBusHwIds
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka bus hardware ID array. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Nagbasa sa bus-hardware-ID vector kung ang usa ka function call nagmalampuson.
const std::vector nlc::ResultBusHwIds::getResult () const
Mga parameter const vector

Bersyon: doc 1.4.2 / NanoLib 1.3.0

47

8 Reperensya sa mga klase / function
ResultBusHwIds () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong bus-hardware-ID-array nga resulta:
ResultBusHwIds (std::vector const & resulta_)
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 (Resulta const & resulta)
8.28.7 ResultaDeviceId
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka device ID. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Gibasa ang device ID vector kung ang usa ka function call nagmalampuson.
DeviceId nlc::ResultDeviceId::getResult () const
Nagbalik sa const vector
ResultDeviceId () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong resulta sa device ID:
ResultDeviceId (DeviceId const & resulta_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Result const & resulta)
8.28.8 ResultaDeviceIds
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka device ID array. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Ibalik ang device ID vector kung ang usa ka function call nagmalampuson.
DeviceId nlc::ResultDeviceIds::getResult () const
Nagbalik sa const vector

Bersyon: doc 1.4.2 / NanoLib 1.3.0

48

8 Reperensya sa mga klase / function
ResultDeviceIds () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong device-ID-array nga resulta:
ResultDeviceIds (std::vector const & resulta_)
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 (Result const & resulta)
8.28.9 ResultaDeviceHandle
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function mobalik sa bili sa usa ka gunitanan sa device. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Gibasa ang kuptanan sa aparato kung nagmalampuson ang usa ka tawag sa function.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Ibalik ang DeviceHandle
ResultDeviceHandle () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong resulta sa pagdumala sa device:
ResultDeviceHandle (DeviceHandle const & resulta_)
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 (Result const & resulta)
8.28.10 ResultaObjectDictionary
Nagpadala kanimo ang NanoLib og usa ka pananglitan niini nga klase kung ang function ibalik ang sulud sa usa ka diksyonaryo sa butang. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Gibasa ang device ID vector kung ang usa ka function call nagmalampuson.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Bersyon: doc 1.4.2 / NanoLib 1.3.0

49

8 Reperensya sa mga klase / function

Mibalik

const vector

ResultObjectDictionary () Ang mosunod nga mga function makatabang sa pagpasabot sa eksaktong resulta sa diksyonaryo sa butang:
ResultObjectDictionary (nlc::ObjectDictionary const & resulta_)

ResultObjectDictionary (std::string const & errorString_)

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

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

ResultObjectDictionary (Result const & resulta)

8.28.11 ResultaConnectionState
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka device-koneksyon-estado nga impormasyon. Gipanunod sa klase ang mga gimbuhaton sa publiko / gipanalipdan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Gibasa ang kuptanan sa aparato kung nagmalampuson ang usa ka tawag sa function.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Ibalik ang DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader

ResultConnectionState () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong resulta sa estado sa koneksyon:
ResultConnectionState (DeviceConnectionStateInfo const & resulta_)

ResultConnectionState (std::string const & errorString_)

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

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

ResultConnectionState (Result const & resulta)

8.28.12 ResultObjectEntry
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka butang nga entry. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:

Bersyon: doc 1.4.2 / NanoLib 1.3.0

50

8 Reperensya sa mga klase / function
getResult () Ibalik ang device ID vector kung ang usa ka function call nagmalampuson.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Ibalik ang const ObjectEntry
ResultObjectEntry () Ang mosunod nga mga gimbuhaton makatabang sa pagtino sa eksaktong resulta sa pagsulod sa butang:
ResultObjectEntry (nlc::ObjectEntry const & resulta_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (Result const & resulta)
8.28.13 ResultObjectSubEntry
Nagpadala kanimo ang NanoLib og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka sub-entry nga butang. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Ibalik ang device ID vector kung ang usa ka function call nagmalampuson.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Ibalik ang const ObjectSubEntry
ResultObjectSubEntry () Ang mosunod nga mga function makatabang sa pagtino sa eksaktong object sub-entry nga resulta:
ResultObjectSubEntry (nlc::ObjectEntry const & resulta_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (Result const & resulta)
8.28.14 ResultaProfinetDevices
Ang NanoLib nagpadala kanimo og usa ka pananglitan niini nga klase kung ang function nagbalik sa usa ka Profinet device. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:

Bersyon: doc 1.4.2 / NanoLib 1.3.0

51

8 Reperensya sa mga klase / function

getResult () Nagbasa sa Profinet device vector kung nagmalampuson ang usa ka function call.
const std::vector & getResult () const

ResultProfinetDevices () Ang mga musunod nga mga function makatabang sa pagtino sa eksaktong mga aparato sa Profinet.
ResultProfinetDevices (const std::vector & profinetDevices)
ResultProfinetDevices (const Resulta & resulta)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ResultaSampleDataArray
Ang NanoLib nagpadala kanimo usa ka pananglitan niini nga klase kung ang function mobalik ingonample data array. Gipanunod sa klase ang mga gimbuhaton sa publiko / giprotektahan nga mga hiyas gikan sa klase sa resulta ug adunay mga musunod nga gimbuhaton sa publiko nga miyembro:
getResult () Nagbasa sa han-ay sa datos kung nagmalampuson ang usa ka tawag sa function.
const std::vector <SampleData> & getResult () const

ResultaSampleDataArray () Ang mosunod nga mga gimbuhaton makatabang sa pagtino sa eksaktong mga himan sa Profinet.
ResultaSampleDataArray (const std::vector <SampleData> & dataArray)

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

ResultaSampleDataArray (const ResultSampleDataArray ug uban pa)

ResultaSampleDataArray (const Resulta & resulta)

8.28.16 ResultaSamplerState
Ang NanoLib nagpadala kanimo usa ka pananglitan niini nga klase kung ang function mobalik ingonampler state.Kini nga klase nakapanunod sa mga public function / protected attributes gikan sa resulta nga klase ug adunay mosunod nga public member functions:

getResult () Gibasa ang sampler state vector kung ang usa ka function call adunay kalampusan.
SamplerState getResult () const

Mibalik si SamplerState>

Wala ma-configure / Na-configure / Andam / Nagdagan / Nakompleto / Napakyas / Gikansela

Bersyon: doc 1.4.2 / NanoLib 1.3.0

52

8 Reperensya sa mga klase / function

ResultaSamplerState () Ang mosunod nga mga gimbuhaton makatabang sa pagpasabot sa eksaktong sampler nga estado.
ResultaSamplerState (const Sampestado sa lerState)

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

ResultaSamplerState (const ResultSamplerState ug uban pa)

ResultaSamplerState (const Resulta ug resulta)

8.29 NlcErrorCode

Kung adunay mahitabo nga sayup, ang mga klase sa resulta nagtaho sa usa sa mga error code nga gilista sa kini nga enumeration.

Error code Kalampusan Kinatibuk-angError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationGipaundang ang OperationNotSupported InvalidOperation
Dili balido nga pag-access sa mga argumento nga gibalibaran nga kapanguhaan wala makit-an nga kapanguhaan dili magamit sa gawas sa panumduman nga timeout error

C: Category D: Deskripsyon R: Rason C: Wala. D: Walay sayop. R: Malampuson nga nahuman ang operasyon.
C: Dili matino. D: Wala matino nga sayup. R: Kapakyasan nga dili mohaum sa ubang kategorya.
C: Bus. D: Wala magamit ang hardware bus. R: Bus wala, naputol o depekto.
C: Komunikasyon. D: Dili kasaligan ang komunikasyon. R: Wala damha nga datos, sayop nga CRC, frame o parity errors, etc.
C: Protocol. D: Sayop sa protocol. R: Tubag human sa dili suportadong opsyon sa protocol, device report nga dili suportadong protocol, sayop sa protocol (ingon, SDO segment sync bit), ug uban pa R: Usa ka tubag o device report sa dili suportadong protocol (mga opsyon) o sa mga sayop sa protocol (ingon, SDO segment sync bit), ug uban pa R: Dili suportadong protocol (mga opsyon) o sayop sa protocol (ingon, SDO segment sync bit), ug uban pa.
C: Diksyonaryo sa butang. D: OD address wala. R: Walay adres sa object dictionary.
C: Diksyonaryo sa butang. D: Ang pag-access sa OD nga adres dili balido. R: Pagsulay sa pagsulat sa read-only, o pagbasa gikan sa write-only, address.
C: Diksyonaryo sa butang. D: Type mismatch. R: Ang kantidad nga wala mabag-o sa piho nga tipo, ingnon ta, sa pagsulay sa pagtratar sa usa ka hilo ingon usa ka numero.
C: Aplikasyon. D: Na-abort ang proseso. R: Pagputol sa proseso pinaagi sa hangyo sa aplikasyon. Mobalik lamang sa operasyon nga mabalda pinaagi sa callback function, ingnon ta, gikan sa bus-scan.
C: Kasagaran. D: Dili suportado ang proseso. R: Walay hardware bus / device nga suporta.
C: Kasagaran. D: Dili husto ang proseso sa kasamtangang konteksto, o dili balido sa kasamtangang argumento. R: Usa ka pagsulay sa pagkonektar pag-usab sa konektado na nga mga bus / device. Usa ka pagsulay sa pagdiskonekta sa mga nadiskonekta na. Usa ka pagsulay sa operasyon sa bootloader sa firmware mode o vice versa.
C: Kasagaran. D: Ang argumento dili balido. R: Sayop nga lohika o syntax.
C: Kasagaran. D: Gidili ang pag-access. R: Kakulang sa mga katungod o kapabilidad sa pagbuhat sa gihangyo nga operasyon.
C: Kasagaran. D: Wala makit-an ang piho nga butang. R: Hardware bus, protocol, device, OD address sa device, o file wala makit-an.
C: Kasagaran. D: Wala makit-an ang piho nga butang. R: busy, wala, naputol o depekto.
C: Kasagaran. D: Dili igo nga memorya. R: Gamay ra kaayo nga memorya aron maproseso kini nga mando.
C: Kasagaran. D: Nag-time out ang proseso. R: Pagbalik human matapos ang time-out. Ang timeout mahimo nga usa ka oras sa pagtubag sa aparato, usa ka oras aron maangkon ang gipaambit o eksklusibo nga pag-access sa kapanguhaan, o usa ka oras sa pagbalhin sa bus / aparato sa usa ka angay nga kahimtang.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

53

8 Reperensya sa mga klase / function

8.30 NlcCallback
Kini nga klase sa ginikanan alang sa mga callback adunay mosunod nga function sa publiko nga miyembro: callback ()
virtual nga ResultVoid callback ()

Mibalik

ResultaVoid

8.31 NlcDataTransferCallback
Gamita kini nga klase sa callback alang sa mga pagbalhin sa datos (pag-update sa firmware, pag-upload sa NanoJ ug uban pa). 1. Alang sa pag-upload sa firmware: Ipasabot ang usa ka "co-class" nga nagpalugway niini nga adunay usa ka custom nga pamaagi sa callback
pagpatuman. 2. Gamita ang "co-class's" nga mga higayon sa NanoLibAccessor.uploadFirmware () mga tawag. Ang nag-unang klase mismo adunay mosunod nga katungdanan sa publiko nga miyembro:

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

Mibalik

ResultaVoid

8.32 NlcScanBusCallback
Gamita kini nga klase sa callback alang sa pag-scan sa bus. 1. Paghubit sa usa ka "co-class" nga nagpalapad niini nga adunay usa ka naandan nga pagpatuman sa pamaagi sa callback. 2. Gamita ang "co-class's" nga mga higayon sa NanoLibAccessor.scanDevices () mga tawag. Ang nag-unang klase mismo adunay mosunod nga katungdanan sa publiko nga miyembro.

tawag balik ()
virtual nga ResultVoid callback (nlc::BusScanInfo info, std::vector const & devicesNakaplagan, int32_t data)

Nagbalik nga ResultaVoid
8.33 NlcLoggingCallback
Gamita kini nga klase sa callback alang sa pag-log sa mga callback. 1. Paghubit sa usa ka klase nga nagpalapad niini nga klase nga adunay usa ka naandan nga pamaagi sa callback nga pagpatuman 2. Paggamit usa ka pointer sa mga higayon niini aron mabutang ang usa ka callback pinaagi sa NanoLibAccessor >
setLoggingCallback (…).
virtual void callback (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

8.34 SamplerInterface
Gamita kini nga klase sa pag-configure, pagsugod ug paghunong sa sampler, o sa pagkuha sa sampnanguna sa datos ug pagkuha ingonampkahimtang sa ler o katapusan nga sayup. Ang klase adunay mosunod nga mga gimbuhaton sa publiko nga miyembro.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

54

8 Reperensya sa mga klase / function

i-configure () I-configure ingonampler.
virtual ResultVoid nlc::SamplerInterface:: i-configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Parameter [sa] deviceHandle [sa] samplerConfiguration
Nagbalik nga ResultaVoid

Gipiho kung unsang aparato ang i-configure ang sampler para. Gipiho ang mga kantidad sa mga hiyas sa pag-configure. Gipamatud-an nga ang usa ka void function midagan.

getData () Nakuha ang sampgipangulohan datos.
virtual nga ResultaSampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Mga Parameter [sa] deviceHandle Returns ResultaSampleDataArray

Gipiho kung para sa unsang aparato makuha ang datos.
Naghatod sa sampnanguna nga datos, nga mahimong usa ka walay sulod nga laray kung sampAng lerNotify aktibo sa pagsugod.

getLastError () Nakuha ingonamplast error ni ler.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Nagbalik nga ResultaVoid

Gipamatud-an nga ang usa ka void function midagan.

getState () Nakuha ingonampstatus ni ler.
virtual nga ResultaSamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Mga Resulta sa PagbalikSamplerState

Naghatod sa sampler nga estado.

pagsugod () Nagsugod ingonampler.
virtual ResultVoid nlc::SamplerInterface::pagsugod (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)

Parameter [sa] deviceHandle [sa] SamplerNotify [sa] applicationData
Nagbalik nga ResultaVoid

Gipiho kung unsang aparato ang magsugod sa sampler para.
Gipiho kung unsa ang opsyonal nga impormasyon nga ireport (mahimong nullptr).
Opsyon: Ipasa ang datos nga may kalabutan sa aplikasyon (usa ka 8-bit nga han-ay sa kantidad nga gitakda sa user / device ID / index, o usa ka datetime, pointer sa variable / function, ug uban pa) ngadto sa samplerNotify.
Gipamatud-an nga ang usa ka void function midagan.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

55

8 Reperensya sa mga klase / function

hunong () Mihunong ingonampler.
virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Mga Parameter [sa] deviceHandle Mibalik ResultVoid

Gipiho kung unsang aparato ang mohunong sa sampler para. Gipamatud-an nga ang usa ka void function midagan.

8.35 SamplerConfiguration struct

Kini nga estruktura naglangkob sa data sampMga kapilian sa pag-configure sa ler (static o dili).

Mga kinaiya sa publiko

std::vektor gisubay ngaAddresses

Hangtod sa 12 ka OD nga adres ang mahimong sampgipangulohan

uint32_t

bersyon

Usa ka bersyon sa istruktura.

uint32_t

gidugayonMilliseconds

Sampling gidugayon sa ms, gikan sa 1 ngadto sa 65535

uint16_t

panahonMilliseconds

Sampling period sa ms.

uint16_t

numberOfSamples

Sampgamay nga kantidad.

uint16_t

preTriggerNumberOfSamples

Samples pre-trigger nga kantidad.

bool

gamit ang SoftwareImplementation

Gamita ang pagpatuman sa software.

bool

gamit angNewFWSamplerImplementation Gamita ang FW nga pagpatuman para sa mga device nga adunay a

FW nga bersyon v24xx o mas bag-o.

SamplerMode

mode

Normal, balik-balik o padayon nga sampling

SamplerTriggerKondisyon triggerKondisyon

Pagsugod sa mga kondisyon sa pag-trigger: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE_TOGGLE = 0x14 TCx0GREATER = 15x0 TCx16GREA = 0x17 TC_LESS = 0x18 TC_LESS_OR_EQUAL = 0x19 TC_EQUAL = 0x1 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = XNUMXxXNUMXC, OdInluedex, triggerV

SamplerTrigger

SamplerTrigger

Usa ka trigger nga magsugod ingonampler?

Static publiko nga mga hiyas
static nga constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Gamita kini nga klase aron ma-activate ang sampler pahibalo sa diha nga ikaw magsugod ingon ngaampler. Ang klase adunay mosunod nga katungdanan sa publiko nga miyembro.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

56

8 Reperensya sa mga klase / function

ipahibalo ()
Naghatag usa ka entry sa pagpahibalo.
virtual void nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Parameter [sa] lastError [sa] samplerState
[sa] sampleDatas [sa] applicationData

Gitaho ang katapusang sayop nga nahitabo samtang sampling. Nagreport ang sampAng kahimtang sa oras sa pagpahibalo: Wala ma-configure / Na-configure / Andam / Nagdagan / Nakompleto / Napakyas / Gikansela. Nagreport ang sampled-data array. Nagreport sa datos nga piho sa aplikasyon.

8.37 SampleData struct

Kini nga estruktura naglangkob sa sampgipangulohan datos.

uin64_t iterationNumber

Magsugod sa 0 ug motaas ra sa balik-balik nga mode.

std::vector<SampledValues> Naglangkob siya han-ay sa sampnanguna nga mga mithi.

8.38 SampledValue struct

Kini nga estruktura naglangkob sa sampnanguna nga mga mithi.

in64_t bili uin64_t CollectTimeMsec

Naglangkob sa bili sa usa ka gisubay nga OD address.
Naglangkob sa oras sa pagkolekta sa milliseconds, nga may kalabotan sa sampang pagsugod.

8.39 SamplerTrigger struct

Kini nga istruktura naglangkob sa mga setting sa pag-trigger sa sampler.

SamplerTriggerKondisyon nga kahimtang
OdIndex uin32_t nga bili

Ang hinungdan nga kondisyon: 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 = 0x16 TC_GREATER = 0x17 TC_GREATER 0x18 TC_LESS = 0x19 TC_LESS_OR_EQUAL = 0x1 TC_EQUAL = 0x1 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = XNUMXxXNUMXB TC_MULTI_EDGE = XNUMXxXNUMXC
Ang OdIndex (address) sa trigger.
Bili sa kahimtang o numero sa gamay (sugod sa gamay nga zero).

8.40 Serial nga estruktura

Pangitaa dinhi ang imong serial communication nga mga opsyon ug ang mosunod nga public attributes:

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = "serial baud rate" baudRate =SerialBaudRate struct

Bersyon: doc 1.4.2 / NanoLib 1.3.0

57

8 Reperensya sa mga klase / function

const std::string const SerialParity

PARITY_OPTIONS_NAME = "serial parity" parity = SerialParity struct

8.41 SerialBaudRate nga estruktura

Pangitaa dinhi ang imong serial communication baud rate ug ang mosunod nga public attributes:

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

BAUD_RATE_7200 = "7200" BAUD_RATE_9600 = "9600" BAUD_RATE_14400 = "14400" BAUD_RATE_19200 = "19200" BAUD_RATE_38400 = "38400" BAUD_56000_56000 57600” BAUD_RATE_57600 = “115200” BAUD_RATE_115200 = “128000” BAUD_RATE_128000 = “256000”

8.42 SerialParity nga istruktura

Pangitaa dinhi ang imong serial parity nga mga opsyon ug ang mosunod nga public attributes:

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

WALA = "wala" ODD = "odd" EVEN = "even" MARK = "marka" SPACE = "space"

Bersyon: doc 1.4.2 / NanoLib 1.3.0

58

9 Mga Lisensya

9 Mga Lisensya

NanoLib API interface header ug exampAng source code kay lisensyado sa Nanotec Electronic GmbH & Co. KG ubos sa Creative Commons Attribution 3.0 Unported License (CC BY). Ang mga bahin sa librarya nga gihatag sa binary format (kinauyokan ug fieldbus communication library) lisensyado ubos sa Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).

Creative Commons
Ang mosunod nga mabasa sa tawo nga summary dili mopuli sa (mga) lisensya mismo. Makita nimo ang tagsa-tagsa nga lisensya sa creativecommons.org ug gisumpay sa ubos. Libre ka sa:

CC BY 3.0
Share: Tan-awa ra. Ipahiangay: Pag-remix, pagbag-o, ug pagtukod sa
materyal alang sa bisan unsang katuyoan, bisan sa komersyo.

CC BY-ND 4.0
Share: Kopyaha ug ipanghatag pag-usab ang materyal sa bisan unsang medium o format.

Ang naglilisensya dili makabawi sa mga kagawasan sa ibabaw basta imong sundon ang mosunod nga mga termino sa lisensya:

CC BY 3.0

CC BY-ND 4.0

Attribution: Kinahanglan nimo nga hatagan ug angay nga kredito, Attribution: Tan-awa sa wala. Apan: Paghatag ug link niini

paghatag og link sa lisensya, ug ipakita kung

laing lisensya.

gihimo ang mga pagbag-o. Mahimo nimo kini buhaton sa bisan unsang

Walay mga derivatives: Kung mag-remix ka, magbag-o, o magtukod

makatarunganon nga paagi, apan dili sa bisan unsang paagi nga nagsugyot

sa materyal, dili nimo ipang-apod-apod ang

gests ang licensor nga nag-endorso kanimo o sa imong paggamit.

giusab nga materyal.

Walay dugang nga mga pagdili: Mahimong dili ka mag-aplay Walay dugang nga mga pagdili: Tan-awa sa wala. legal nga mga termino o teknolohiya nga mga lakang nga legal

pagdili sa uban sa pagbuhat sa bisan unsa nga lisensya

permiso.

Mubo nga sulat: Dili nimo kinahanglan nga mosunod sa lisensya alang sa mga elemento sa materyal sa publikong dominyo o diin ang imong paggamit gitugutan sa usa ka angay nga eksepsiyon o limitasyon.
Mubo nga sulat: Walay garantiya nga gihatag. Ang lisensya mahimong dili maghatag kanimo sa tanan nga mga pagtugot nga gikinahanglan alang sa imong gituyo nga paggamit. Kay exampDugang pa, ang ubang mga katungod sama sa publisidad, pribasiya, o moral nga mga katungod mahimong limitahan kung giunsa nimo paggamit ang materyal.

Bersyon: doc 1.4.2 / NanoLib 1.3.0

59

Imprenta, kontak, mga bersyon

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Tanang katungod gigahin. Ang sayop, pagkawala, teknikal o pagbag-o sa sulod posible nga walay pahibalo. Ang gikutlo nga mga tatak/produkto kay mga marka sa pamatigayon sa ilang mga tag-iya ug pagatagdon nga ingon niana. Orihinal nga bersyon.

Dokumento 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

+ Gidugang > Gibag-o # Giayo > Pagtrabaho pag-usab sa gihatag nga examples.
+ NanoLib Modbus: Gidugang ang mekanismo sa pag-lock sa aparato alang sa Modbus VCP. # NanoLib Core: Giayo nga pagsusi sa estado sa koneksyon. # NanoLib Code: Gitul-id nga bus hardware reference pagtangtang.
+ NanoLib-CANopen: Suporta alang sa Peak PCAN-USB adapter (IPEH-002021/002022).
> NanoLib Core: Giusab ang logging callback interface (LogLevel gipulihan sa LogModule). # NanoLib Logger: Ang pagbulag tali sa kinauyokan ug mga module natul-id. # Modbus TCP: Naayo nga pag-update sa firmware alang sa FW4. # EtherCAT: Naayos nga pag-upload sa programa sa NanoJ alang sa Core5. # EtherCAT: Giayo nga pag-update sa firmware alang sa Core5.
# Modbus RTU: Naayo ang mga isyu sa timing nga adunay mubu nga baud rate sa panahon sa pag-update sa firmware. # RESTful: Naayo nga pag-upload sa programa sa NanoJ.
# NanoLib Modules Sampler: Husto nga pagbasa sa sampnanguna sa mga kantidad sa boolean.
+ Java 11 nga suporta alang sa tanan nga mga platform. + Python 3.11 / 3.12 nga suporta alang sa tanan nga mga platform. + Bag-ong logging callback interface (tan-awa ang examples). + Nalunod ang callback alang sa NanoLib Logger. > I-update ang logger sa bersyon 1.12.0. > NanoLib Modules Sampler: Suporta karon para sa Nanotec controller firmware v24xx. > NanoLib Modules Sampler: Pagbag-o sa istruktura nga gigamit para sa sampler configuration. > NanoLib Modules Sampler: Ang padayon nga paagi susama sa walay katapusan; ang kahimtang sa trigger gisusi kausa; ang gidaghanon sa samples kinahanglan nga 0. > NanoLib Modules Sampler: Normal nga prayoridad para sa thread nga nagkolekta og data sa firmware mode. > NanoLib Modules Sampler: Gisulat pag-usab nga algorithm aron mahibal-an ang transisyon tali sa Ready & Running nga estado. # NanoLib Core: Wala nay Paglapas sa Pag-access (0xC0000005) sa pagsira sa 2 o daghan pa nga mga aparato gamit ang parehas nga hardware sa bus. # NanoLib Core: Wala nay Segmentation Fault sa pag-attach sa PEAK adapter ubos sa Linux. # NanoLib Modules Sampler: Sakto sampled-values ​​nga pagbasa sa firmware mode. # NanoLib Modules Sampler: Sakto nga configuration sa 502X:04. # NanoLib Modules Sampler: Husto nga pagsagol sa mga buffer sa mga kanal. # NanoLib-Canopen: Dugang nga CAN timeouts para sa kalig-on ug husto nga pag-scan sa mas ubos nga baudrates. # NanoLib-Modbus: VCP detection algorithm alang sa mga espesyal nga aparato (USB-DA-IO).
+ Suporta sa EtherCAT.
+ Pahinumdom sa mga setting sa proyekto sa VS sa I-configure ang imong proyekto.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileNgalan (). + const std::string & xmlFilePath sa addObjectDictionary (). + getSamplerInterface ().

Produkto 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)

Bersyon: doc 1.4.2 / NanoLib 1.3.0

60

10 Imprenta, kontak, mga bersyon

Dokumento
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

+ Gidugang > Gibag-o # Giayo + rebootDevice (). + Error code ResourceUnavailable para sa getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, ug ~Uid. > firmwareUploadFromFile karon uploadFirmwareFromFile (). > firmwareUpload () karon uploadFirmware (). > bootloaderUploadFromFile () karon uploadBootloaderFromFile (). > bootloaderUpload () karon uploadBootloader (). > bootloaderFirmwareUploadFromFile () sa pag-upload saBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () karon uploadBootloaderFirmware (). > nanojUploadGikanFile () karon uploadNanoJFromFile (). > nanojUpload () karon uploadNanoJ (). > objectDictionaryLibrary () karon getObjectDictionaryLibrary (). > String_String_Map karon StringStringMap. > NanoLib-Common: mas paspas nga pagpatuman sa listAvailableBusHardware ug openBusHardwareWithProtocol uban sa Ixxat adapter. > NanoLib-CANopen: gigamit nga default setting (1000k baudrate, Ixxat bus number 0) kung walay sulod ang mga opsyon sa hardware sa bus. > NanoLib-RESTful: ang pagtugot sa admin wala na magamit alang sa komunikasyon sa mga Ethernet bootloader ubos sa Windows kung ang npcap / winpcap driver anaa. # NanoLib-CANopen: ang hardware sa bus karon nagbukas nga walay crash nga adunay walay sulod nga mga kapilian. # NanoLib-Common: openBusHardwareWithProtocol () nga walay memory leak karon.
+ Suporta sa Linux ARM64. + Suporta sa USB mass storage / REST / Profinet DCP. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultaProfinetDevices. + NlcErrorCode (gipuli ang NanotecExceptions). + NanoLib Modbus: VCP / USB hub nahiusa sa USB. > Modbus TCP scanning mibalik sa mga resulta. < Modbus TCP communication latency nagpabiling makanunayon.
+ Dugang nga ObjectEntryDataType (komplikado ug profile- piho). + IOError mobalik kung connectDevice () ug scanDevices () walay makit-an. + Lamang 100 ms nominal timeout alang sa CanOpen / Modbus.
+ Suporta sa Modbus (dugang USB Hub pinaagi sa VCP). + Kapitulo Paghimo sa imong kaugalingon nga proyekto sa Linux. + extraHardwareSpecifier sa BusHardwareId (). + extraId_ ug extraStringId_ sa DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Mga pag-ayo sa bug.
Edisyon.

produkto
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Bersyon: doc 1.4.2 / NanoLib 1.3.0

61

Mga Dokumento / Mga Kapanguhaan

Nanotic NanoLib C++ Programming [pdf] Manwal sa Gumagamit
NanoLib C Programming, C Programming, Programming

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *