Nanotika-LOGO

Nanotic NanoLib C++ Programming

Nanotic-NanoLib-C++-Programming-PRODUCT

Product Information

fepetra arahana

  • Anaran'ny vokatra: NanoLib
  • Fandaharana Fiteny: C++
  • Dikan'ny vokatra: 1.3.0
  • User Manual Version: 1.4.2

Ny tranomboky NanoLib dia natao ho an'ny rindrambaiko fanaraha-maso fandaharana ho an'ny mpanara-maso Nanotec. Izy io dia manome interface tsara ho an'ny mpampiasa, fampiasa fototra ary tranomboky fifandraisana mba hanamora ny fampivoarana ny fampiharana fanaraha-maso.

Torolàlana momba ny fampiasana vokatra

  • Alohan'ny hanombohanao:
    • Ataovy azo antoka fa mahafeno ny fepetra takian'ny fitaovana voalaza ao amin'ny boky torolalana ny rafitrao. Ny mpihaino kendrena ho an'ity vokatra ity dia ahitana mpamorona mitady hamorona rindrambaiko fanaraha-maso ho an'ny mpanara-maso Nanotec.
  • Hanomboka:
    • Mba hanombohana mampiasa NanoLib dia araho ireto dingana ireto:
    • Atombohy amin'ny fanafarana NanoLib amin'ny tetikasanao.
    • Amboary ny firafitry ny tetikasanao raha ilaina.
    • Amboary ny tetikasanao mba hampidirana ny fampiasa NanoLib.
  • Mamorona tetikasa:
    • Afaka mamorona tetikasa ho an'ny tontolo Windows sy Linux ianao. Araho ny toromarika manokana omena ao amin'ny boky torolalana ho an'ny sehatra tsirairay.
  • Kilasy / Fampiasana Reference:
    • Jereo ny boky torolalana ho an'ny torolalana amin'ny antsipiriany momba ny kilasy sy ny fiasa hita ao amin'ny NanoLib ho an'ny rindrambaiko fanaraha-maso fandaharana.

FAQs

  • F: Inona no tanjon'ny NanoLib?
    • A: NanoLib dia tranomboky ho an'ny rindrambaiko fanaraha-maso fandaharana ho an'ny mpanara-maso Nanotec, manome fiasa ilaina sy fahaizana mifandray.
  • F: Ahoana no ahafahako manomboka amin'ny NanoLib?
    • A: Atombohy amin'ny fanafarana NanoLib ho ao amin'ny tetikasanao, amboary ny firafitry ny tetikasa, ary manangana ny tetikasanao hampiasa ny endri-javatra NanoLib.

“`

User Manual NanoLib
C++

Manan-kery amin'ny vokatra kinova 1.3.0

User Manual Version: 1.4.2

Tanjona sy fivoriambe

Ity antontan-taratasy ity dia mamaritra ny fananganana sy ny fampiasana ny tranomboky NanoLib ary misy fanondroana ny kilasy sy ny fiasa rehetra amin'ny fandaharana ny rindrambaiko fanaraha-maso manokana ho an'ny mpanara-maso Nanotec. Mampiasa ireto endri-tsoratra manaraka ireto izahay:
Ny lahatsoratra misy tsipihina dia manamarika reference na hyperlink.
Examp1: Raha mila torolalana marina momba ny NanoLibAccessor, jereo ny Setup. EkampDingana 2: Apetraho ny mpamily Ixxat ary ampifandraiso ny adaptatera CAN-to-USB. Ny teny italika dia midika hoe: Ity dia zavatra nomena anarana, lalana menu / singa, tabilao / file anarana na (raha ilaina) fomba fiteny amin'ny fiteny vahiny.
Example 1: Mifidiana File > Vaovao > Document Blank. Sokafy ny tabilao Tool ary mifidiana Comment. Ekample 2: Ity antontan-taratasy ity dia mizara ny mpampiasa (= Nutzer; usuario; utente; utilisateur; utente sns.) amin'ny:
– Mpampiasa antoko fahatelo (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente sns.). – Mpampiasa farany (= Endnutzer; usuario final; utente final; utilisateur final; utente finale sns.).
Ny Courier dia manamarika ny sakana kaody na baiko fandaharana. Ekample 1: Amin'ny alàlan'ny Bash, antsoy ny sudo make install mba handikana zavatra nozaraina; dia antsoy ny ldconfig. Ekample 2: Ampiasao ity fiasa NanoLibAccessor manaraka ity hanovana ny haavon'ny logging ao amin'ny NanoLib:
// ***** Variant C++ *****
void setLoggingLevel(LogLevel level);
Ny lahatsoratra matevina dia manantitrantitra ny teny tsirairay manan-danja. Raha tsy izany, ny marika fihobiana misy fonon-tanana dia manantitrantitra ny maha-zava-dehibe (!).
Example 1: Arovy ny tenanao sy ny hafa ary ny fitaovanao. Araho ny fanamarihana ankapobeny momba ny fiarovana izay azo ampiharina amin'ny vokatra Nanotec rehetra.
Example 2: Mba hiarovana anao manokana, araho ihany koa ny fanamarihana fiarovana manokana izay mihatra amin'ity vokatra manokana ity. Ny matoanteny hoe co-click dia midika hoe kitihina amin'ny alalan'ny fanalahidin'ny totozy faharoa hanokafana menu contexte sns.
Example 1: Co-click amin'ny file, fidio Avereno anarana, ary ovay anarana ny file. Ekample 2: Mba hanamarinana ny fananana, co-click ny file ary mifidiana Properties.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

4

Alohan'ny hanombohanao

Alohan'ny hanombohanao mampiasa NanoLib, omano ny PC-nao ary mampahafantatra ny tenanao momba ny fampiasana sy ny fetran'ny tranomboky.
2.1 Rafitra sy fitaovana ilaina

Nanotic-NanoLib-C++-Programming-FIG- (1)
FANAMARIHANA Ny tsy fahombiazan'ny fandidiana 32-bit na ny rafitra tapaka! Mampiasà, ary mitazona tsy tapaka, rafitra 64-bit. Tandremo ny fampiatoana sy ~ torolàlana OEM.

NanoLib 1.3.0 dia manohana ny vokatra Nanotec rehetra miaraka amin'ny CANopen, Modbus RTU (koa USB amin'ny seranan-tsambo virtoaly), Modbus TCP, EtherCat, ary Profinet. Ho an'ny NanoLibs taloha: Jereo ny changelog ao amin'ny imprint. Atahorana ho anao ihany: fampiasana rafitra lova. Fanamarihana: Araho ny torolalan'ny OEM manan-kery mba hametrahana ny fahatarana ho ambany indrindra raha sendra olana ianao rehefa mampiasa adaptatera USB mifototra amin'ny FTDI.

Fepetra (tsy maintsy rafitra 64-bit)
Windows 10 na 11 w/ Visual Studio 2019 version 16.8 na aoriana ary Windows SDK 10.0.20348.0 (version 2104) na aoriana
C++ redistributables 2017 na ambony CANopen: Ixxat VCI na PCAN mpamily fototra (tsy voatery) EtherCat module / Profinet DCP: Npcap na WinPcap RESTful module: Npcap, WinPcap, na fahazoan-dàlana admin
mifandray amin'ny Ethernet bootloaders
Linux w/ Ubuntu 20.04 LTS hatramin'ny 24 (x64 sy arm64 rehetra)
Lohatenin'ny Kernel sy fonosana libpopt-dev Profinet DCP: CAP_NET_ADMIN sy CAP_NET_RAW mahay-
mampifandray CANopen: Ixxat ECI mpamily na Peak PCAN-USB adapter EtherCat: CAP_NET_ADMIN, CAP_NET_RAW ary
Fahaiza-manao CAP_SYS_NICE MAMPIDIRANA: CAP_NET_ADMIN fahaizana mifandray amin'ny Eth-
ernet bootloaders (aroso ihany koa: CAP_NET_RAW)

Fiteny, adaptatera fieldbus, tariby
C++ GCC 7 na ambony (Linux)
EtherCAT: Cable Ethernet VCP / USB hub: ankehitriny fanamiana USB USB fitehirizana faobe: USB cable RESEST: Ethernet Cable CNopen: Ixxat USB-to-CAN V2; N / A-
notec ZK-USB-CAN-1, Peak PCANUSB adapter Tsy misy fanohanana Ixxat ho an'ny Ubuntu amin'ny arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 na adaptatera mitovy; Cable USB amin'ny seranan-tsambo virtoaly (VCP)
Modbus TCP: tariby Ethernet araka ny angona vokatra

2.2 Fampiasana sy mpihaino
NanoLib dia famakiam-boky programa sy singa rindrambaiko ho an'ny fampandehanana sy fifandraisana amin'ireo mpanara-maso Nanotec amin'ny fampiharana indostrialy isan-karazany ary ho an'ny mpandrindra mahay ihany.
Noho ny fitaovana tsy mahavita tena (PC) sy ny rafitra miasa, NanoLib dia tsy ampiasaina amin'ny rindranasa mila hetsika multi-axis synchronous na matetika saro-pady.
Na ahoana na ahoana, azonao atao ny mampiditra ny NanoLib ho singa fiarovana amin'ny vokatra na rafitra. Amin'ny fanaterana ho an'ny mpampiasa farany dia tsy maintsy ampiana fampitandremana mifanaraka amin'izany sy toromarika ho an'ny fampiasana azo antoka sy azo antoka ho an'ny vokatra tsirairay misy singa vita amin'ny Nanotec. Tsy maintsy ampitainao amin'ny mpampiasa farany ny fampitandremana rehetra navoakan'ny Nanotec.
2.3 Saran'ny fanaterana sy fiantohana
NanoLib dia tonga toy ny fampirimana *.zip avy amin'ny fampidinana anay webtranokala ho an'ny EMEA / APAC na AMERIKA. Tehirizo tsara ary sokafy ny fampidinanao alohan'ny fanamboarana. Ny fonosana NanoLib dia misy:

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

5

2 Alohan'ny hanombohanao

Loham-pandaharana ho toy ny kaody loharano (API)

Ny fototra dia miasa toy ny tranomboky amin'ny endrika binary: nano-

Tranomboky manamora ny fifandraisana: nanolibm_ lib.dll

[yourfieldbus].dll sns.

Example tetikasa: Eksample.sln (Visual Studio

tetikasa) sy example.cpp (main file)

Ho an'ny faritry ny fiantohana, azafady tandremo a) ny fepetra sy ny fepetra ho an'ny EMEA / APAC na AMERIKA ary b) ny fepetra momba ny fahazoan-dàlana rehetra. Fanamarihana: Ny Nanotec dia tsy tompon'andraikitra amin'ny kalitao diso na tsy mendrika, ny fikarakarana, ny fametrahana, ny fampandehanana, ny fampiasana ary ny fikojakojana ny fitaovana an'ny antoko fahatelo! Mba hahazoana fiarovana, araho foana ny torolalana OEM manan-kery.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

6

Ny maritrano NanoLib

Ny rafitra rindrambaiko modular an'i NanoLib dia mamela anao handamina malalaka ny fiasan'ny motera / fieldbus azo zahana manodidina ny fotony efa vita mialoha. NanoLib dia misy ireto modules manaraka ireto:

User interface (API)

NanoLib core

Interface sy mpanampy kilasy izay Library izay

Fitehirizam-bokin'ny fifandraisana Fieldbus manokana famakiam-boky izay

miditra anao amin'ny fampiharana ny fanaraha-maso anao ny fiasan'ny API manao interface eo amin'ny NanoLib

OD (rakibolana zavatra)

mifandray amin'ny tranomboky bus.

fitaovana fototra sy bus.

mifototra amin'ny asa fototra NanoLib-

zom-pirenena.

3.1 User interface tsara

Ny interface interface dia misy lohapejy files azonao ampiasaina hidirana amin'ny mari-pamantarana mpanara-maso. Ny kilasin'ny mpampiasa interface tsara araka ny voalaza ao amin'ny references Classes / functions dia ahafahanao:
Ampifandraiso amin'ny fitaovana (adapter fieldbus) sy ny fitaovana fanaraha-maso. Midira ao amin'ny OD amin'ny fitaovana, hamakiana/hanoratra ny mari-pamantarana mpanara-maso.

3.2 NanoLib core

Ny fototry ny NanoLib dia miaraka amin'ny tranomboky fanafarana nanolib.lib. Mampihatra ny fampiasa amin'ny mpampiasa interface tsara izy io ary tompon'andraikitra amin'ny:
Fametrahana sy fitantanana ny tranomboky fifandraisana. Manome ny fampiasa amin'ny mpampiasa interface tsara ao amin'ny NanoLibAccessor. Ity teboka fidirana amin'ny fifandraisana ity dia
mandoa onitra amin'ny fampandehanan-draharaha azonao atao amin'ny tranombokin'ny fifandraisana sy ny fototry ny NanoLib.

3.3 Tranomboky fifandraisana

Ho fanampin'ny nanotec.services.nanolib.dll (ilaina amin'ny Plug & Drive Studio azonao atao), NanoLib dia manolotra ireto trano famakiam-pifandraisana manaraka ireto:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Ny tranomboky rehetra dia mametraka sosona abstraction hardware eo anelanelan'ny core sy ny controller. Ny fototra dia mameno azy ireo amin'ny fanombohana avy amin'ny lahatahiry tetikasa voatondro ary mampiasa azy ireo hananganana fifandraisana amin'ny mpanara-maso amin'ny alàlan'ny protocol mifanaraka aminy.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

7

Hanomboka

Vakio tsara ny fomba fametrahana NanoLib ho an'ny rafitra fiasanao sy ny fomba fampifandraisana ny fitaovana raha ilaina.
4.1 Omano ny rafitrao
Alohan'ny hametrahana ny mpamily adaptatera, omano aloha ny PC-nao miaraka amin'ny rafitra fiasana. Mba hanomanana ny PC miaraka amin'ny Windows OS, apetraho ny MS Visual Studio miaraka amin'ny fanitarana C++. Raha hametraka make sy gcc amin'ny Linux Bash, antsoy ny sudo apt install build-essentials. Alefaso avy eo ny CAP_NET_ADMIN, CAP_NET_RAW, ary CAP_SYS_NICE ho an'ny fampiharana mampiasa NanoLib: 1. Antsoy ny sudo setcap 'cap_net_admin, cap_net_raw, cap_sys_nice+eip'
anarana>. 2. Avy eo, apetraho ny mpamily adaptatera.
4.2 Apetraho ny mpamily adaptatera Ixxat ho an'ny Windows
Aorian'ny fametrahana ny mpamily dia azonao ampiasaina ny adaptatera USB-to-CAN V2 an'i Ixxat. Vakio ny boky torolàlana momba ny vokatra USB drive, hianarana raha / ny fomba fampandehanana ny virtoaly comport (VCP). 1. Ampidino ary apetraho ny mpamily VCI 4 an'i Ixxat ho an'ny Windows avy amin'ny www.ixxat.com. 2. Ampifandraiso amin'ny PC amin'ny alalan'ny USB ny adaptatera compact USB-to-CAN V2 an'i Ixxat. 3. Amin'ny alalan'ny Mpitantana ny fitaovana: Jereo raha toa ka napetraka/ekena ny mpamily sy ny adaptatera.
4.3 Apetraho ny mpamily adaptatera Peak ho an'ny Windows
Aorian'ny fametrahana mpamily araka ny tokony ho izy dia azonao ampiasaina ny adaptatera PCAN-USB an'ny Peak. Vakio ny boky torolàlana momba ny vokatra USB drive, hianarana raha / ny fomba fampandehanana ny virtoaly comport (VCP). 1. Ampidino ary apetraho ny fametrahana ny mpamily fitaovana Windows (= fonosana fametrahana w/ mpamily fitaovana, fitaovana ary
APIs) avy amin'ny http://www.peak-system.com. 2. Ampifandraiso amin'ny PC amin'ny alalan'ny USB ny adaptatera PCAN-USB an'ny Peak. 3. Amin'ny alalan'ny Mpitantana ny fitaovana: Jereo raha toa ka napetraka/ekena ny mpamily sy ny adaptatera.
4.4 Apetraho ny mpamily adaptatera Ixxat ho an'ny Linux
Aorian'ny fametrahana ny mpamily dia azonao ampiasaina ny adaptatera USB-to-CAN V2 an'i Ixxat. Fanamarihana: Ny adaptatera hafa tohana dia mila ny fahazoan-dàlanao amin'ny sudo chmod +777/dev/ttyACM* (* laharan'ny fitaovana). Vakio ny boky torolàlana momba ny vokatra USB drive, hianarana raha / ny fomba fampandehanana ny virtoaly comport (VCP). 1. Apetraho ny rindrambaiko ilaina ho an'ny mpamily ECI sy ny fampiharana demo:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Ampidino avy amin'ny www.ixxat.com ny mpamily ECI-for-Linux. Sokafy amin'ny alalan'ny:
unzip eci_driver_linux_amd64.zip
3. Mametraka ny mpamily amin'ny alalan'ny:
cd / EciLinux_amd / src / KernelModule sudo manao install-usb
4. Jereo ny fametrahana mpamily mahomby amin'ny fanangonana sy fanombohana ny fampiharana demo:
cd /EciLinux_amd/src/EciDemos/ sudo manao cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

8

4 Fanombohana
4.5 Ampidiro ny mpamily adaptatera Peak ho an'ny Linux
Aorian'ny fametrahana mpamily araka ny tokony ho izy dia azonao ampiasaina ny adaptatera PCAN-USB an'ny Peak. Fanamarihana: Ny adaptatera hafa tohana dia mila ny fahazoan-dàlanao amin'ny sudo chmod +777/dev/ttyACM* (* laharan'ny fitaovana). Vakio ny boky torolàlana momba ny vokatra USB drive, hianarana raha / ny fomba fampandehanana ny virtoaly comport (VCP). 1. Jereo raha manana lohatenin'ny kernel ny Linux-nao: ls /usr/src/linux-headers-`uname -r`. Raha tsy izany dia apetraho
izy ireo: sudo apt-get install linux-headers-`uname -r` 2. Ankehitriny, apetraho ny fonosana libpopt-dev: sudo apt-get install libpopt-dev 3. Ampidino ny fonosana mpamily ilaina (peak-linux-driver-xxx.tar.gz) avy amin'ny www.peak-system.com. 4. Mba hamahana azy dia ampiasao ny: tar xzf peak-linux-driver-xxx.tar.gz 5. Ao amin'ny lahatahiry tsy misy entana: Manangona sy mametraka ny mpamily, tranomboky fototra PCAN, sns.: ataovy daholo
sudo make install 6. Mba hijerena ny fiasa dia ampidiro ny adapter PCAN-USB.
a) Jereo ny module kernel:
lsmod | grep pcan b) ... ary ny tranomboky iombonana:
ls -l /usr/lib/libpcan*
Fanamarihana: Raha misy olana USB3 dia ampiasao seranan-tsambo USB2.
4.6 Ampifandraiso ny fitaovanao
Mba hahafahana mampandeha tetikasa NanoLib, ampifandraiso amin'ny PC amin'ny alàlan'ny adaptatera ny mpanara-maso Nanotec mifanaraka amin'izany. 1. Ampifandraiso amin'ny tariby sahaza ny adaptateranao amin'ny mpanara-maso. 2. Ampifandraiso amin'ny PC ny adaptatera araka ny takelaka data adaptatera. 3. Ampidiro ny controller amin'ny fampiasana famatsiana herinaratra mety. 4. Raha ilaina dia ovay ny firafitry ny fifandraisana an'ny mpifehy Nanotec araka ny toromarika ao amin'ny boky torolalana momba ny vokatra.
4.7 Ampidiro ny NanoLib
Ho fanombohana voalohany amin'ny fototra haingana sy mora, azonao (fa tsy tokony) mampiasa ny talohantsikaample project. 1. Miankina amin'ny faritra misy anao: Misintona NanoLib avy aminay webtranokala ho an'ny EMEA / APAC na AMERIKA. 2. Sokafy ny fonosana files / folders ary mifidiana safidy iray: Ho an'ny fototra haingana sy mora: Jereo ny Manomboka ny example project. Ho an'ny fanamboarana avo lenta amin'ny Windows: Jereo ny Mamorona tetikasa Windows anao manokana. Ho an'ny fanamboarana avo lenta amin'ny Linux: Jereo ny Mamorona tetikasa Linux anao manokana.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

9

Manomboka ny example project

Miaraka amin'ny NanoLib feno entana, ny exampNy tetikasa dia mampiseho anao amin'ny alàlan'ny fampiasana NanoLib miaraka amin'ny mpanara-maso Nanotec. Fanamarihana: Isaky ny dingana, asio hevitra ao amin'ny ex nomenaample code manazava ny fonction ampiasaina. Ny exampNy tetikasa dia ahitana: ny `*_functions_example.*' files, izay misy ny fampiharana ny interface NanoLib miasa ny `*_callback_example.*' files, izay misy fampiharana ho an'ny antso samihafa (scan, data ary
logging) ny `menu_*.*' file, izay misy ny lojikan'ny menio sy ny kaody ny Example.* file, izay programa lehibe indrindra, mamorona ny sakafo ary manomboka ny masontsivana ampiasaina rehetra ny Sampler_example.* file, izay misy ny example fampiharana ho an'ny sampny fampiasana. Afaka mahita ex bebe kokoa ianaoamples, miaraka amin'ny baiko mihetsika sasany ho an'ny fomba fiasa isan-karazany, ao amin'ny Foiben'ny Fahalalana ao amin'ny nanotec.com. Ny rehetra dia azo ampiasaina amin'ny Windows na Linux.
Ao amin'ny Windows miaraka amin'ny Visual Studio 1. Sokafy ny Example.sln file. 2. Sokafy ny example.cpp. 3. Manangona ary mihazakazaka ny example kaody.
Amin'ny Linux amin'ny alàlan'ny Bash 1. Sokafy ny loharano file, mandehana mankany amin'ny lahatahiry misy votoaty voavaha. Ny tena file ho an'ny example ny
example.cpp. 2. Ao amin'ny bash, miantsoa:
a. "sudo make install" handikana ireo zavatra nozaraina ary hiantso ny ldconfig. b. "Ataovy izay rehetra" mba hananganana ny fitsapana azo tanterahina. 3. Ny lahatahiry bin dia misy ex executableample file. Amin'ny alàlan'ny bash: Mandehana any amin'ny lahatahiry vokatra ary soraty ny ./example. Raha tsy misy hadisoana, dia efa napetraka araka ny tokony ho izy izao ny zavatra nozarainao, ary vonona hampiasaina ny tranombokinao. Raha mamaky ny ./example: hadisoana teo am-pandrafetana tranomboky iombonana: libnanolib.so: tsy afaka manokatra zavatra iombonana file: Tsia file na lahatahiry, tsy nahomby ny fametrahana ireo zavatra iombonana. Amin'ity tranga ity, araho ny dingana manaraka. 4. Mamorona lahatahiry vaovao ao anatin'ny /usr/local/lib (ilaina ny zon'ny admin). Ao amin'ny bash, soraty toy izao:
sudo mkdir /usr/local/lib/nanotec
5. Adikao avy amin'ny zip ny zavatra nozaraina rehetra fileny lib folder:
mametraka ./lib/*.so /usr/local/lib/nanotec/
6. Jereo ny votoatin'ny lahatahiry kendrena amin'ny:
ls -al /usr/local/lib/nanotec/
Tokony ho tanisainy ny zavatra nozaraina files avy amin'ny lahatahiry lib. 7. Ampandehano ny ldconfig amin'ity lahatahiry ity:
sudo ldconfig /usr/local/lib/nanotec/
Ny example dia ampiharina ho fampiharana CLI ary manome interface tsara menu. Ny fidirana amin'ny menio dia mifototra amin'ny teny manodidina ary ho alefa na ho kilemaina, arakaraka ny toetry ny contexte. Manolotra anao izy ireo ny fahafahana misafidy sy manatanteraka asa famakiam-boky isan-karazany manaraka ny fomba fiasa mahazatra amin'ny fitantanana controller: 1. Jereo ny PC raha misy fitaovana mifandray (adapter) ary tanisao azy ireo. 2. Mametraha fifandraisana amin'ny adaptatera. 3. Andramo ny fiara fitateram-bahoaka mba hahitana fitaovana fanaraha-maso mifandray. 4. Mifandray amin'ny fitaovana iray.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

10

5 Manomboka ny example project
5. Andramo ny fiasan'ny trano famakiam-boky iray na maromaro: Mamakia / manorata avy amin'ny / mankany amin'ny rakibolana objet an'ny mpanara-maso, manavao ny firmware, mampakatra sy mampandeha programa NanoJ, mandehana sy amboary ny maotera, amboary ary ampiasao ny log / sampler.
6. Akatona ny fifandraisana, voalohany amin'ny fitaovana, avy eo amin'ny adaptatera.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

11

Mamorona tetikasa Windows anao manokana

Mamorona, manangona ary mitantana ny tetikasa Windows anao manokana hampiasana NanoLib.
6.1 Manafatra NanoLib
Ampidiro ny lohatenin'ny NanoLib files sy tranomboky amin'ny alàlan'ny MS Visual Studio.
1. Sokafy Visual Studio. 2. Amin'ny alalan'ny Mamorona tetikasa vaovao > Console App C++ > Manaraka: Mifidiana karazana tetikasa. 3. Omeo anarana ny tetikasanao (eto: NanolibTest) mba hamoronana lahatahiry tetikasa ao amin'ny Solution Explorer. 4. Safidio ny Vita. 5. Sokafy ny varavarankely file explorer ary mandehana mankany amin'ny lahatahiry tetikasa vaovao noforonina. 6. Mamorona lahatahiry vaovao roa, inc sy lib. 7. Sokafy ny lahatahiry fonosana NanoLib. 8. Avy eo: Adikao ny lohateny files avy amin'ny fampirimana tafiditra ao amin'ny lahatahiry tetikasanao inc sy ny .lib sy .dll rehetra
files amin'ny lahatahiry tetikasanao vaovao lib. 9. Jereo ny lahatahiry tetikasanao momba ny rafitra mety, ohatraample:

Nanotic-NanoLib-C++-Programming-FIG- (2)ect lahatahiry ho an'ny rafitra mety:
. 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 Amboary ny tetikasanao
Ampiasao ny Vahaolana Explorer ao amin'ny MS Visual Studio hananganana tetikasa NanoLib. Fanamarihana: Ho an'ny fampandehanana NanoLib marina, safidio ny famotsorana (fa tsy debug!) fikandrana ao amin'ny firafitry ny tetikasa Visual C++; avy eo manangana sy mampifandray ny tetikasa amin'ny VC runtimes C++ redistributables [2022].
1. Ao amin'ny Vahaolana Explorer: Mandehana any amin'ny lahatahiry tetikasanao (eto: NanolibTest). 2. Tsindrio miaraka amin'ny lahatahiry hanokafana ny menu context. 3. Safidio ny Properties. 4. Ampidiro ny fanamafisana rehetra sy ny sehatra rehetra. 5. Safidio ny C/C++ ary mandehana any amin'ny Added Directories fanampiny. 6. Ampidiro: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Safidio ny Linker ary mandehana any amin'ny Direction Library fanampiny. 8. Ampidiro: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Extend Linker ary mifidiana Input. 10. Mandehana any amin'ny Fiankinan-doha fanampiny ary ampidiro: nanolib.lib;%(AdditionalDependencies) 11.Hamarino amin'ny alàlan'ny OK.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

12

6 Mamorona tetikasa Windows anao manokana
12. Mandehana any amin'ny Configuration > C++ > Language > Language Standard > ISO C++17 Standard ary apetraho amin'ny C++17 ny fenitry ny fiteny (/std:c++17).
6.3 Amboary ny tetikasanao
Amboary ny tetikasa NanoLib ao amin'ny MS Visual Studio. 1. Sokafy ny *.cpp lehibe file (eto: nanolib_example.cpp) ary ovay ny code, raha ilaina. 2. Safidio ny Build > Configuration Manager. 3. Ovay ho x64 ny sehatra vahaolana Active. 4. Hamafiso amin'ny alalan'ny Close. 5. Safidio ny Build > Build solution. 6. Tsy misy hadisoana? Jereo raha mitatitra araka ny tokony ho izy ny vokatra navoakanao:
1>—— Natomboka ny fanadiovana: Tetikasa: NanolibTest, Configuration: Debug x64 —–========== Madio: 1 tafita, 0 tsy nahomby, 0 no nitsambikina ==========

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

13

7 Mamorona tetikasa Linux anao manokana
7 Mamorona tetikasa Linux anao manokana
Mamorona, manangona ary mitantana ny tetikasa Linux anao manokana hampiasana NanoLib. 1. Ao amin'ny kitapo fametrahana NanoLib tsy misy zipo: Sokafy /nanotec_nanolib. 2. Tadiavo ao amin'ny tar.gz ny zavatra nozaraina rehetra file. 3. Mifidiana safidy iray: Apetraho ny lib tsirairay na amin'ny Makefile na amin’ny tanana.
7.1 Apetraho amin'ny Makefile
Ampiasao ny Makefile miaraka amin'ny Linux Bash hametraka ho azy ny default *.so files. 1. Via Bash: Mandehana any amin'ny lahatahiry misy ny makefile. 2. Adikao ireo zavatra nozaraina amin'ny alalan'ny:
sudo make install 3. Hamafiso amin'ny alalan'ny:
ldconfig
7.2 Apetraho amin'ny tanana ireo zavatra nozaraina
Mampiasà Bash hametrahana *.so rehetra files an'ny NanoLib amin'ny tanana. 1. Amin'ny alalan'ny Bash: Mamorona lahatahiry vaovao ao anatin'ny /usr/local/lib. 2. Ilaina ny zon'ny Admin! Karazana:
sudo mkdir /usr/local/lib/nanotec 3. Ovay amin'ny lahatahiry fonosana fametrahana tsy misy zipo. 4. Adikao avy amin'ny lahatahiry lib amin'ny alalan'ny:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Jereo ny votoatin'ny lahatahiry kendrena amin'ny alalan'ny:
ls -al /usr/local/lib/nanotec/ 6. Jereo raha voatanisa avokoa ny zavatra ifampizarana avy amin'ny lahatahiry lib. 7. Ampandehano ny ldconfig amin'ity lahatahiry ity amin'ny alàlan'ny:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Mamorona ny tetikasanao
Miaraka amin'ny zavatra zarainao napetraka: Mamorona tetikasa vaovao ho an'ny Linux NanoLib anao. 1. Amin'ny alàlan'ny Bash: Mamorona lahatahiry tetikasa vaovao (eto: NanoLibTest) amin'ny alàlan'ny:
mkdir NanoLibTest cd NanoLibTest
2. Adikao ny lohateny files amin'ny lahatahiry misy (eto: inc) amin'ny alàlan'ny: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Mamorona fototra file (NanoLibTest.cpp) amin'ny alalan'ny: #include “accessor_factory.hpp” #include

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

14

7 Mamorona tetikasa Linux anao manokana
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds result = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << “Fahombiazana” << std::endl; }
mamafa accessor; miverina 0; }
4. Jereo ny lahatahiry tetikasanao raha misy ny rafitra mety:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Angony sy andramo ny tetikasanao
Ataovy vonona hampiasaina amin'ny alalan'ny Bash ny Linux NanoLib anao.
1. Amin'ny alàlan'ny Bash: Manangona ny lehibe file amin'ny:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Ampifandraiso miaraka ny executable amin'ny alalan'ny:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Alefaso ny programa fitsapana amin'ny alàlan'ny:
./test
4. Jereo raha mitatitra araka ny tokony ho izy ny Bash-nao:
FETY

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

15

8 Classes/functions reference

8 Classes/functions reference

Tadiavo eto ny lisitry ny kilasin'ny mpampiasa interface tsara an'ny NanoLib sy ny asan'ny mpikambana ao aminy. Ny famaritana mahazatra momba ny asa iray dia misy fampidirana fohy, ny famaritana asa ary lisitry ny parameter / fiverenana:

ExampleFunction () Lazao anao fohifohy ny ataon'ilay asa.
void virtoaly nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Paramètres param_a param_b
Mamerina ResultVoid

Hevitra fanampiny raha ilaina. Hevitra fanampiny raha ilaina.

8.1 NanoLibAccessor

Kilasy interface tsara ampiasaina ho teboka fidirana amin'ny NanoLib. Toy izao ny fomba fiasa mahazatra:
1. Atombohy amin'ny fijerena ny fitaovana amin'ny NanoLibAccessor.listAvailableBusHardware (). 2. Apetraho amin'ny BusHardwareOptions (). 3. Sokafy ny fifandraisana fitaovana amin'ny NanoLibAccessor.openBusHardwareWithProtocol (). 4. Andramo ny fiara fitateram-bahoaka hahitana fitaovana mifandray amin'ny NanoLibAccessor.scanDevices (). 5. Ampio fitaovana misy NanoLibAccessor.addDevice (). 6. Mifandraisa amin'ny fitaovana amin'ny NanoLibAccessor.connectDevice (). 7. Rehefa vita ny fandidiana dia tapaho ny fitaovana amin'ny NanoLibAccessor.disconnectDevice (). 8. Esory ny fitaovana amin'ny NanoLibAccessor.removeDevice (). 9. Akatona ny fifandraisana fitaovana amin'ny NanoLibAccessor.closeBusHardware ().
NanoLibAccessor dia manana ireto asan'ny mpikambana ho an'ny daholobe manaraka ireto:

listAvailableBusHardware () Ampiasao ity asa ity mba hitanisana ny fitaovana fieldbus misy.
virtoaly ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Mamerina ResultBusHwIds

Manolotra laharan'ny ID fieldbus.

openBusHardwareWithProtocol () Ampiasao ity fampiasa ity hampifandraisana ny fitaovan'ny fiara fitateram-bahoaka.
virtoaly ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parameter busHwId busHwOpt
Mamerina ResultVoid

Manondro ny fieldbus hanokatra. Manondro safidy fanokafana fieldbus. Manamafy fa misy fiasa tsy misy dikany.

isBusHardwareOpen () Ampiasao ity fampiasa ity hijerena raha misokatra ny fifandraisanao amin'ny fitaovana fieldbus.
virtoaly ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

16

8 Classes/functions reference

Parameter BusHardwareId Miverina marina
DISO

Mamaritra ny fieldbus tsirairay hosokafana. Misokatra ny fitaovana. Nakatona ny fitaovana.

getProtocolSpecificAccessor () Ampiasao ity fiasa ity mba hahazoana ilay zavatra accessor manokana momba ny protocol.
virtoaly ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parameter busHwId Return ResultVoid

Manondro ny fieldbus hahazoana ny accessor. Manamafy fa misy fiasa tsy misy dikany.

getProfinetDCP () Ampiasao ity fampiasa ity hamerenana reference amin'ny interface Profinet DCP.
ProfinetDCP virtoaly & getProfinetDCP ()

Mamerina ny ProfinetDCP

NahazoamplerInterface () Ampiasao ity fiasa ity mba hahazoana reference amin'ny sampinterface tsara.
virtoaly SamplerInterface & getSamplerInterface ()

Hiverina SamplerInterface

Manondro ny sampkilasy interface tsara.

setBusState () Ampiasao ity fiasa ity mba hametrahana ny toetry ny protocol-protocol manokana.
virtoaly ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parameter busHwId fanjakana
Mamerina ResultVoid

Manondro ny fieldbus hanokatra. Manendry fanjakana manokana amin'ny fiara fitateram-bahoaka ho sanda tady. Manamafy fa misy fiasa tsy misy dikany.

scanDevices () Ampiasao ity fampiasa ity hijerena fitaovana ao amin'ny tambajotra.
virtoaly ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)

Parameter busHwId callback
Mamerina ResultDeviceIds IOError

Manondro ny fieldbus hojerena. NlcScanBusCallback mpandinika fandrosoana. Manome laharan'ny ID fitaovana. Mampahafantatra fa tsy hita ny fitaovana iray.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

17

8 Classes/functions reference

addDevice ()
Ampiasao ity fiasa ity hanampiana fitaovana fiara fitateram-bahoaka nofaritan'ny deviceId amin'ny lisitry ny fitaovana anatiny an'ny NanoLib, ary hamerina ny deviceHandle ho azy.
virtoaly ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parameter deviceId dia mamerina ny ResultDeviceHandle

Manondro ny fitaovana ampidirina amin'ny lisitra. Manolotra tantana fitaovana.

connectDevice () Ampiasao ity fiasa ity hampifandraisana fitaovana amin'ny deviceHandle.
virtoaly ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parameter deviceHandle mamerina ny ResultVoid
IOError

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka mifandray amin'i NanoLib. Manamafy fa misy fiasa tsy misy dikany. Mampahafantatra fa tsy hita ny fitaovana iray.

getDeviceName () Ampiasao ity fiasa ity mba hahazoana ny anaran'ny fitaovana amin'ny deviceHandle.
virtoaly ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parameters deviceHandle Return ResultString

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib nahazo ny anarana. Manome anarana fitaovana ho tady.

getDeviceProductCode () Ampiasao ity fiasa ity mba hahazoana ny kaody vokatra amin'ny fitaovana amin'ny deviceHandle.
ResultInt virtoaly nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultInt

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib mahazo ny kaody vokatra. Manolotra kaody vokatra ho integer.

getDeviceVendorId () Ampiasao ity fiasa ity hahazoana ny ID mpivarotra fitaovana amin'ny deviceHandle.
ResultInt virtoaly nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultInt
ResourceUnavailable

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka i NanoLib mahazo ny ID mpivarotra. Mandefa ny kaodin'ny mpivarotra ho integer. Mampahafantatra fa tsy misy angona hita.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

18

8 Classes/functions reference

getDeviceId () Ampiasao ity fampiasa ity mba hahazoana ID fitaovana manokana avy amin'ny lisitra anatiny NanoLib.
virtoaly ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parameter deviceHandle mamerina ny ResultDeviceId

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka i NanoLib mahazo ny ID fitaovana. Manome ID fitaovana.

getDeviceIds () Ampiasao ity fampiasa ity mba hahazoana ID ny fitaovana rehetra avy amin'ny lisitra anatiny NanoLib.
virtoaly ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Mamerina ResultDeviceIds

Manolotra lisitry ny ID fitaovana.

getDeviceUid () Ampiasao ity fiasa ity mba hahazoana ID tokana an'ny fitaovana (96 bit / 12 bytes) amin'ny deviceHandle.
virtoaly ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parameter deviceHandle mamerina ny ResultArrayByte
ResourceUnavailable

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka i NanoLib mahazo ny ID tokana. Manome ID tokana ho toy ny laharan'ny byte. Mampahafantatra fa tsy misy angon-drakitra hita.

getDeviceSerialNumber () Ampiasao ity fiasa ity mba hahazoana ny laharan'ny fitaovana amin'ny deviceHandle.
virtoaly ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parameters deviceHandle Return ResultString
ResourceUnavailable

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka i NanoLib no mahazo ny laharana. Manome laharan-tariby ho tady. Mampahafantatra fa tsy misy angona hita.

getDeviceHardwareGroup () Ampiasao ity fampiasa ity mba hahazoana ny vondrona fitaovan'ny fitaovan'ny fiara fitateram-bahoaka amin'ny alalan'ny deviceHandle.
virtoaly ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultInt

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib mahazo ny vondrona fitaovana.
Manolotra vondrona fitaovana ho integer.

getDeviceHardwareVersion () Ampiasao ity fampiasa ity mba hahazoana ny kinova hardware an'ny fitaovan'ny fiara fitateram-bahoaka amin'ny alalan'ny deviceHandle.
virtoaly ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

19

8 Classes/functions reference

Paramètres deviceHandle

Miverina

ResultString ResourceUnavailable

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka i NanoLib mahazo ny kinova hardware. Manome anarana fitaovana ho tady. Mampahafantatra fa tsy misy angona hita.

getDeviceFirmwareBuildId () Ampiasao ity fampiasa ity mba hahazoana ID fananganana firmware an'ny fitaovana bus amin'ny deviceHandle.
virtoaly ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parameters deviceHandle Return ResultString

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka i NanoLib mahazo ny ID fananganana firmware.
Manome anarana fitaovana ho tady.

getDeviceBootloaderVersion () Ampiasao ity fampiasa ity mba hahazoana ny kinova bootloader an'ny fitaovana bus amin'ny deviceHandle.
ResultInt virtoaly nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Paramètres deviceHandle

Miverina

ResultInt ResourceUnavailable

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib mahazo ny kinova bootloader. Manome dikan-teny bootloader ho integer. Mampahafantatra fa tsy misy angona hita.

getDeviceBootloaderBuildId () Ampiasao ity fiasa ity mba hahazoana ID fananganana bootloader an'ny fitaovana bus amin'ny deviceHandle.
virtoaly ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parameters deviceHandle Return ResultString

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib mahazo ny bootloader build ID.
Manome anarana fitaovana ho tady.

rebootDevice () Ampiasao ity fiasa ity hamerenana ny fitaovana amin'ny alalan'ny deviceHandle.
virtoaly ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parameter deviceHandle mamerina ny ResultVoid

Manondro ny fieldbus hamerenana indray. Manamafy fa misy fiasa tsy misy dikany.

getDeviceState () Ampiasao ity fiasa ity mba hahazoana ny toetra manokana momba ny fitaovana.
virtoaly ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Paramètres deviceHandle

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib mahazo ny fanjakana.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

20

8 Classes/functions reference

Mamerina ResultString

Manome anarana fitaovana ho tady.

setDeviceState () Ampiasao ity fiasa ity mba hametrahana ny toetry ny protocole manokana.
virtoaly ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parameter deviceHandle fanjakana
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib mametraka ny fanjakana. Manendry fanjakana manokana amin'ny fiara fitateram-bahoaka ho sanda tady. Manamafy fa misy fiasa tsy misy dikany.

getConnectionState ()
Ampiasao ity fiasa ity mba hahazoana ny toetry ny fifandraisana farany fantatra amin'ny fitaovana iray amin'ny deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtoaly ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle mamerina ny ResultConnectionState

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib mahazo ny toetry ny fifandraisana.
Manatitra toetry ny fifandraisana (= Disconnected, Connected, ConnectedBootloader).

checkConnectionState ()
Raha tsy tapaka ihany ilay fanjakana fantatra farany: Ampiasao ity fampiasa ity mba hanamarinana sy mety hanavao ny toetry ny fifandraisan'ny fitaovana iray amin'ny alalan'ny deviceHandle sy amin'ny alalan'ny fitiliana asa manokana.
virtoaly ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle mamerina ny ResultConnectionState

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka i NanoLib manamarina ny toetry ny fifandraisana.
Manatitra toetry ny fifandraisana (= tsy tapaka).

assignObjectDictionary () Ampiasao ity asa tanana ity hanendry rakibolana zavatra (OD) ho an'ny deviceHandle irery.
virtoaly ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Paramètres deviceHandle objectDictionary
Mamerina ResultObjectDictionary

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka omen'ny NanoLib ny OD. Maneho ny toetran'ny rakibolana zavatra.

autoAssignObjectDictionary ()
Ampiasao ity automatisme ity mba hamela ny NanoLib hanendry rakibolana (OD) ho an'ny deviceHandle. Amin'ny fitadiavana sy fametahana OD mety, NanoLib dia manome azy ho azy amin'ny fitaovana. Fanamarihana: Raha toa ka misy OD mifanentana efa tafiditra ao amin'ny tranomboky zavatra, dia hampiasa azy ho azy ny NanoLib raha tsy mijery ny lahatahiry natolotra.
virtoaly ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

21

8 Classes/functions reference

Paramètres deviceHandle

Miverina

rakibolanaLocationPath ResultObjectDictionary

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka hanodina ho azy ny NanoLib ho an'ny OD mety. Mamaritra ny lalana mankany amin'ny lahatahiry OD. Maneho ny toetran'ny rakibolana zavatra.

getAssignedObjectDictionary ()
Ampiasao ity asa ity mba hahazoana ny rakibolana zavatra voatendry ho an'ny fitaovana iray amin'ny deviceHandle.
virtoaly ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const fitaovana
Tantana)

Parameter deviceHandle dia mamerina ny ResultObjectDictionary

Mamaritra hoe inona ny fitaovana fiara fitateram-bahoaka NanoLib mahazo ny OD voatendry. Maneho ny toetran'ny rakibolana zavatra.

getObjectDictionaryLibrary () Ity fiasa ity dia mamerina reference OdLibrary.
virtoaly OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Mamerina ny OdLibrary&

Manokatra ny tranomboky OD manontolo sy ny rakibolana misy azy.

setLoggingLevel () Ampiasao ity fiasa ity mba hametrahana ny antsipiriany momba ny log (sy ny log file habe). Ny haavon'ny default dia Info.
virtoaly void nlc::NanoLibAccessor::setLoggingLevel (LogLevel level)

Ambaratonga parameter

Ireto manaraka ireto ny antsipiriany momba ny log dia azo atao:

0 = Trace 1 = Debug 2 = Info 3 = Fampitandremana 4 = Error 5 = Critique 6 = Tsy misy

Ambaratonga ambany indrindra (Log file); mirakitra an-tsoratra izay antsipiriany azo atao, miampy fanombohana / fijanonana ny rindrambaiko. Fampahalalana momba ny debug amin'ny logs (= valiny vonjimaika, votoaty nalefa na voaray, sns.) Ambaratonga default; mitanisa hafatra fampahalalana. Mitadiava olana izay nitranga fa tsy hampiato ny algorithm ankehitriny. Ny logs dia olana goavana izay nanakana ny algorithm. Ambaratonga ambony indrindra (Log kely indrindra file); mamono ny fidirana; tsy misy log intsony. Tsy misy logging mihitsy.

setLoggingCallback ()
Ampiasao ity fampiasa ity mba hametrahana tondro famerenan'ny logiciel sy môdely log (= tranomboky) ho an'io antso miverina io (fa tsy ho an'ny logger mihitsy).
virtoaly void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)

Paramètres * logback logModule

Mametraka tondro fiantsoana. Ampifanaraho amin'ny tranombokinao ny antso miverina (fa tsy logger!).

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

Manetsika antso miverina ho an'ny fototry ny NanoLib ihany. Manetsika antso miverina CANopen ihany. Manetsika antso miverina Modbus ihany. Manetsika antso miverina EtherCAT ihany.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

22

8 Classes/functions reference

4 = NanolibRest 5 = NanolibUSB

Manetsika antso miverina REST ihany. Manetsika antso miverina USB ihany.

unsetLoggingCallback () Ampiasao ity fampiasa ity mba hanafoanana ny tondro antso miverina.
void virtoaly nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Ampiasao ity fiasa ity hamakiana sanda isa avy amin'ny rakibolana zavatra.
ResultInt virtoaly nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Return ResultInt

Mamaritra hoe avy amin'ny inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib. Manondro ny fanondroana (sub-) hovakiana. Manome sanda isa tsy voadika (azo sonia, tsy misy sonia, fix16.16 bit sanda).

readNumberArray () Ampiasao ity fampiasa ity hamakiana ireo laharan-tsarety avy amin'ny rakibolana zavatra.
virtoaly ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Paramètres deviceHandle index
Mamerina ResultArrayInt

Mamaritra hoe avy amin'ny inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib. Fanondroana zavatra laharan-kira. Mamoaka andry integer.

readBytes () Ampiasao ity fampiasa ity hamakiana bytes tsy misy dikany ( data object domain) avy amin'ny rakibolana zavatra.
virtoaly ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Mamerina ResultArrayByte

Mamaritra hoe avy amin'ny inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib. Manondro ny fanondroana (sub-) hovakiana. Manome array byte.

readString () Ampiasao ity fiasa ity hamakiana tady avy amin'ny lahatahiry zavatra.
virtoaly ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Mamerina ResultString

Mamaritra hoe avy amin'ny inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib. Manondro ny fanondroana (sub-) hovakiana. Manome anarana fitaovana ho tady.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

23

8 Classes/functions reference

writeNumber () Ampiasao ity asa ity hanoratana soatoavina isa amin'ny lahatahiry zavatra.
virtoaly ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)

Paramètres deviceHandle value odIndex bitLength
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitaterana nanoratan'i NanoLib. Ny sanda tsy misy dikany (azo sonia, tsy misy sonia, manamboatra 16.16). Manondro ny fanondroana (sub-) hovakiana. Halavany amin'ny bit. Manamafy fa misy fiasa tsy misy dikany.

writeBytes () Ampiasao ity asa ity hanoratana bytes tsy ara-dalàna (angona object domain) amin'ny lahatahiry zavatra.
virtoaly ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & data, const OdIndex odIndex)

Paramètres deviceHandle data odIndex
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitaterana nanoratan'i NanoLib. Byte vector / array. Manondro ny fanondroana (sub-) hovakiana. Manamafy fa misy fiasa tsy misy dikany.

uploadFirmware ()
Ampiasao ity fampiasa ity mba hanavaozanao ny firmware-nao.
virtoaly ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* callback)

Paramètres deviceHandle fwData NlcDataTransferCallback
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka nohavaozin'i NanoLib. Array misy angona firmware. Mpandinika ny fivoaran'ny angona. Manamafy fa misy fiasa tsy misy dikany.

uploadFirmwareFromFile ()
Ampiasao ity fampiasa ity mba hanavaozanao ny firmware amin'ny alàlan'ny fampiakarana azy file.
virtoaly ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std :: string & absoluteFilePath, NlcDataTransferCallback* callback)

Paramètres deviceHandle absoluteFileLalana NlcDataTransferCallback
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka nohavaozin'i NanoLib. Lalana mankany file misy angona firmware (std::string). Mpandinika ny fivoaran'ny angona. Manamafy fa misy fiasa tsy misy dikany.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

24

8 Classes/functions reference

uploadBootloader ()
Ampiasao ity fiasa ity mba hanavaozana ny bootloader anao.
virtoaly ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* callback)

Paramètres deviceHandle btData NlcDataTransferCallback
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka nohavaozin'i NanoLib. Array misy angona bootloader. Mpandinika ny fivoaran'ny angona. Manamafy fa misy fiasa tsy misy dikany.

uploadBootloaderFromFile ()
Ampiasao ity fiasa ity hanavaozana ny bootloader controller anao amin'ny alàlan'ny fampiakarana azy file.
virtoaly ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std :: string & bootloaderAbsoluteFilePath, NlcDataTransferCallback* callback)

Paramètres deviceHandle bootloaderAbsoluteFileLalana NlcDataTransferCallback
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka nohavaozin'i NanoLib. Lalana mankany file misy angona bootloader (std::string). Mpandinika ny fivoaran'ny angona. Manamafy fa misy fiasa tsy misy dikany.

uploadBootloaderFirmware ()
Ampiasao ity fiasa ity mba hanavaozana ny bootloader sy firmware anao.
virtoaly ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* callback)

Paramètres deviceHandle btData fwData NlcDataTransferCallback
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka nohavaozin'i NanoLib. Array misy angona bootloader. Array misy angona firmware. Mpandinika ny fivoaran'ny angona. Manamafy fa misy fiasa tsy misy dikany.

uploadBootloaderFirmwareFromFile ()
Ampiasao ity fiasa ity mba hanavaozana ny bootloader sy firmware anao amin'ny alàlan'ny fampiakarana ny files.
ResultVoid virtoaly nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std :: string & bootloaderAbsoluteFileLalana, const std::string & absoluteFilePath, NlcDataTransferCallback* callback)

Paramètres deviceHandle bootloaderAbsoluteFileLalana tanterakaFileLalana NlcDataTransferCallback
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka nohavaozin'i NanoLib. Lalana mankany file misy angona bootloader (std::string). Lalana mankany file misy angona firmware (uint8_t). Mpandinika ny fivoaran'ny angona. Manamafy fa misy fiasa tsy misy dikany.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

25

8 Classes/functions reference

uploadNanoJ ()
Ampiasao ity fiasa ho an'ny daholobe ity mba hampiakatra ny programa NanoJ amin'ny mpanara-maso anao.
virtoaly ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* callback)

Parameter deviceHandle vmmData NlcDataTransferCallback
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka ampiakarin'i NanoLib. Array misy angona NanoJ. Mpandinika ny fivoaran'ny angona. Manamafy fa misy fiasa tsy misy dikany.

uploadNanoJFromFile ()
Ampiasao ity fiasa ho an'ny daholobe ity mba hampiakatra ny programa NanoJ amin'ny mpanara-maso anao amin'ny alàlan'ny fampiakarana ny file.
virtoaly ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std :: string & absoluteFilePath, NlcDataTransferCallback* callback)

Paramètres deviceHandle absoluteFileLalana NlcDataTransferCallback
Mamerina ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka ampiakarin'i NanoLib. Lalana mankany file misy angona NanoJ (std::string). Mpandinika ny fivoaran'ny angona. Manamafy fa misy fiasa tsy misy dikany.

disconnectDevice () Ampiasao ity fampiasa ity hanesorana ny fitaovanao amin'ny alalan'ny deviceHandle.
virtoaly ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parameter deviceHandle mamerina ny ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka manasaraka ny NanoLib. Manamafy fa misy fiasa tsy misy dikany.

removeDevice () Ampiasao ity fampiasa ity hanesorana ny fitaovanao amin'ny lisitry ny fitaovana anatiny an'ny NanoLib.
virtoaly ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Parameter deviceHandle mamerina ny ResultVoid

Mamaritra hoe inona ny fitaovan'ny fiara fitateram-bahoaka NanoLib. Manamafy fa misy fiasa tsy misy dikany.

closeBusHardware () Ampiasao ity fampiasa ity mba hialana amin'ny fitaovan'ny fieldbus anao.
virtoaly ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parameter busHwId Return ResultVoid

Manondro ny fiara fitateram-bahoaka hialana. Manamafy fa misy fiasa tsy misy dikany.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

26

8 Classes/functions reference

8.2 BusHardwareId
Ampiasao ity kilasy ity hamantarana fitaovana iray amin'ny fiara fitateram-bahoaka iray na hanavaka ny fitaovan'ny fiara fitateram-bahoaka samihafa. Ity kilasy ity (tsy misy setter miasa ho tsy miova manomboka amin'ny famoronana) dia mitazona fampahalalana momba ny:
Hardware (= anaran'ny adaptatera, adaptatera tambajotra sns.) Protocole ampiasaina (= Modbus TCP, CANopen sns.) Famaritana ny fitaovana fiara fitateram-bahoaka (= anarana seranan-tsambo, anarana MAC Friendly
adiresy sns.)

BusHardwareId () [1/3] Mpanamboatra izay mamorona zavatra ID hardware vaovao.
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_

Karazana fitaovana (= ZK-USB-CAN-1 sns.). Protocol serasera bus (= CANopen sns.). Ny famaritana ny fitaovana iray (= COM3 sns.). Ny famaritana fanampiny amin'ny fitaovana (milaza, fampahalalana momba ny toerana misy USB). Anarana namana (= AdapterName (Port) sns. ).

BusHardwareId () [2/3] Mpanamboatra izay mamorona zavatra ID hardware vaovao amin'ny fiara fitateram-bahoaka, miaraka amin'ny safidy ho an'ny fanamafisam-peo fanampiny.
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_

Karazana fitaovana (= ZK-USB-CAN-1 sns.). Protocol serasera bus (= CANopen sns.). Ny famaritana ny fitaovana iray (= COM3 sns.). Ny famaritana fanampiny amin'ny fitaovana (milaza, fampahalalana momba ny toerana misy USB). Anarana namana (= AdapterName (Port) sns. ).

BusHardwareId () [3/3] Mpanamboatra izay mandika busHardwareId efa misy.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parameter busHardwareId

Omeo anarana ny ID fitaovan'ny fiara fitateram-bahoaka hanaovana kopia.

mitovy () Mampitaha ID fitaovana fiara fitateram-bahoaka vaovao amin'ny efa misy.
bool nlc::BusHardwareId::equals (BusHardwareId const & other) const

Parameter hafa Miverina marina

Zavatra iray hafa mitovy kilasy. Raha samy mitovy amin'ny soatoavina rehetra.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

27

8 Classes/functions reference

DISO

Raha tsy mitovy ny soatoavina.

getBusHardware () Mamaky ny tady fitaovan'ny fiara fitateram-bahoaka.
std::string nlc::BusHardwareId::getBusHardware () const

Mamerina tady

getHardwareSpecifier () Mamaky ny tadin'ny fitaovan'ny fiara fitateram-bahoaka (= anaran'ny tambajotra sns.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Mamerina tady

getExtraHardwareSpecifier () Mamaky ny tadin'ny fitaovan'ny fiara fitateram-bahoaka fanampiny (= adiresy MAC sns.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Mamerina tady

getName () Mamaky ny anaran'ny fitaovan'ny fiara fitateram-bahoaka.
std::string nlc::BusHardwareId::getName () const

Mamerina tady

getProtocol () Mamaky ny tadin'ny protocol bus.
std::string nlc::BusHardwareId::getProtocol () const

Mamerina tady

toString () Mamerina ny ID hardware bus ho tady.
std::string nlc::BusHardwareId::toString () const

Mamerina tady
8.3 BusHardwareOptions
Tadiavo ao amin'ity kilasy ity, ao amin'ny lisitry ny tady manandanja, ny safidy rehetra ilaina hanokafana fitaovana fiara fitateram-bahoaka.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

28

8 Classes/functions reference

BusHardwareOptions () [1/2] Manangana zavatra safidin'ny fitaovana fiara fitateram-bahoaka vaovao.
nlc::BusHardwareOptions::BusHardwareOptions () Ampiasao ny fonction addOption () hanampiana tsiroaroa manan-danja.

BusHardwareOptions () [2/2] Manangana zavatra safidin'ny fitaovana fiara fitateram-bahoaka vaovao miaraka amin'ny sarintany manan-danja efa napetraka.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & safidy)

Safidy paramètre

Sarintany misy safidy ho an'ny fitaovan'ny fiara fitaterana.

addOption () Mamorona fanalahidy sy soatoavina fanampiny.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Sanda manan-danja parameter

Example: BAUD_RATE_OPTIONS_NAME, jereo bus_hw_options_ defaults
Example: BAUD_RATE_1000K, jereo bus_hw_options_defaults

mitovy () Mampitaha ny BusHardwareOptions amin'ny efa misy.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & other) const

Parameter hafa Miverina marina
DISO

Zavatra iray hafa mitovy kilasy. Raha manana safidy mitovy daholo ny zavatra hafa. Raha manana fanalahidy na soatoavina hafa ilay zavatra hafa.

getOptions () Mamaky ny tsiroaroa manan-danja rehetra.
std::sarintany nlc::BusHardwareOptions::getOptions () const

Mamerina sari-tany tady

toString () Mamerina ny fanalahidy / soatoavina rehetra ho tady.
std::string nlc::BusHardwareId::toString () const

Mamerina tady
8.4 BusHwOptionsDefault
Ity kilasy safidy fanamafisam-peo default ity dia manana ireto toetra ampahibemaso manaraka ireto:

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

29

8 Classes/functions reference

const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Rafitra misy baudrates bisy CAN amin'ireto toetran'ny vahoaka ireto:

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

BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” BAUD_RATE_100K” = “100_50K BAUD_RATE_50K” = “20_20K” E_10K = “10k” BAUD_RATE_5K = “5k” BAUD_RATE_XNUMXK = “XNUMXk”

8.6 CanBus

Kilasy safidy fanamafisam-peo default miaraka amin'ireto toetra ampahibemaso manaraka ireto:

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = "afaka adaptatera baud tahan'ny" baudRate = AfakaBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Ho an'ny serivisy NMT, ity rafitra ity dia mirakitra ny CANopen NMT states ho soatoavin'ny tady amin'ireto toetram-bahoaka manaraka ireto:

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

Ity rafitra ity dia misy ny CANopen NMT states ho soatoavin'ny tady amin'ireto toetran'ny daholobe manaraka ireto:

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

MITONDRA = “NAHATONGA” ALOHA_OPERATIONAL = “MIASA_OPERATIONAL” ASA = “OPERATIONAL” FANOMEZANA = “INITIALIZATION” TSY FANTATRA = “TSY FANTATRA”

8.9 EtherCATBus struct

Ity rafitra ity dia misy ny safidy fanamafisana ny fifandraisana EtherCAT amin'ireto toetran'ny daholobe manaraka ireto:

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

30

8 Classes/functions reference

const std :: string NETWORK_FIRMWARE_STATE_OP- Ny tambazotran'ny tambajotra dia raisina ho toy ny maody firmware. azo ekena

TION_NAME = “Fanjakana Firmware Network”

sanda (default = PRE_OPERATIONAL):

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

const std ::string DEFAULT_NETWORK_FIRMWARE_ STATE = "PRE_OPERATIONAL"

const std :: tady EXCLUSIVE_LOCK_TIMEOUT_OP- Tany amin'ny milisegondra hahazoana hidy manokana

TION_NAME = “Fotoan'ny hidin-trano iombonana”

ny tambajotra (default = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std :: tady SHARED_LOCK_TIMEOUT_OPTION_ Fotoana ao anatin'ny milisegondra hahazoana hidin-trano iombonana

NAME = “Fotoan'ny hidin-trano iombonana”

ny tambajotra (default = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std :: tady READ_TIMEOUT_OPTION_NAME = Ny fe-potoana ao anatin'ny milisegondra ho an'ny asa famakiana (default

“Famakiana fotoana”

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std :: tady WRITE_TIMEOUT_OPTION_NAME = Fotoana ao anatin'ny milisegondra ho an'ny asa fanoratana (default

“Manoratra fotoana voafetra”

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

const std :: tady READ_WRITE_ATTEMPTS_OPTION_ Andrana mamaky na manoratra ambony indrindra (tsy aotra soatoavina

NAME = "Ezaka mamaky / manoratra"

ihany; default = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std ::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Hanova ny ezaky ny fanjakana tambajotra”

Isan'ny andrana manova ny toetry ny tambajotra (tsy aotra ihany; default = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std :: string PDO_IO_ENABLED_OPTION_NAME Mamela na manakana ny fanodinana PDO ho an'ny in- /

= "PDO IO Enabled"

outputs (“Marina” na “Diso” ihany; default = “Marina”).

const std::string DEFAULT_PDO_IO_ENABLED = "Marina"

8.10 EtherCATState struct

Ity rafitra ity dia ahitana ny andevo / tambajotra EtherCAT ho sanda soatoavina amin'ireto toetran'ny daholobe manaraka ireto. Fanamarihana: PRE_OPERATIONAL ny toerana misy ny herinaratra; NanoLib dia tsy afaka manome fanjakana "OPERATIONAL" azo itokisana amin'ny rafitra fiasa tsy amin'ny fotoana tena izy:

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

TSY MISY = “TSY MISY” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “OPERATIONAL”

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

31

8 Classes/functions reference

8.11 Ixxat

Ity struct ity dia mitazona ny fampahalalana rehetra momba ny Ixxat usb-to-can amin'ireto toetran'ny besinimaro manaraka ireto:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “ixxat adapter bus number”

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Ity rafitra ity dia mitazona ny laharan'ny fiara fitateram-bahoaka ho an'ny Ixxat usb-to-can amin'ireto toetran'ny besinimaro manaraka ireto:

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”

Tampon'ny 8.13

Ity rafitra ity dia mitazona ny fampahalalana rehetra momba ny Peak usb-to-can amin'ireto toetran'ny daholobe manaraka ireto:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "Laharana fiara fitateram-bahoaka tampon'isa"

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Ity rafitra ity dia mitazona ny laharan'ny fiara fitateram-bahoaka ho an'ny Peak usb-to-can amin'ireto toetran'ny besinimaro manaraka ireto:

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

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

8.15 Fitantanana fitaovana
Ity kilasy ity dia maneho tantana hifehezana fitaovana iray amin'ny fiara fitateram-bahoaka ary manana ireto andraikitry ny vahoaka manaraka ireto.

DeviceHandle () DeviceHandle (uint32_t handle)

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

32

8 Classes/functions reference

mitovy () Mampitaha ny tenany amin'ny fitantanam-pitaovana nomena.
bool mitovy (DeviceHandle const hafa) const (uint32_t handle)

toString () Mamerina fanehoana tady amin'ny fitantanam-pitaovana.
std::string toString () const

get () Mamerina ny fitantanam-pitaovana.
uint32_t mahazo () const

8.16 DeviceId
Ampiasao ity kilasy ity (tsy azo ovaina manomboka amin'ny famoronana) hamantarana sy hanavahana ireo fitaovana ao anaty fiara fitateram-bahoaka:

Famantarana adapter hardware

Mpanondro fitaovana

Description

Miankina amin'ny fiara fitateram-bahoaka ny dikan'ny sandan'ny ID/famaritana fitaovana. Ho an'ny exampNy bisy CAN dia mety hampiasa ny ID integer.

DeviceId () [1/3] Manangana zavatra ID fitaovana vaovao.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

Parameter busHardwareId_ deviceId_ description_

Mpanondro ny bisy. An index; iharan'ny fiara fitateram-bahoaka (= CANopen node ID sns.). Famaritana (mety ho foana); iharan'ny bus.

DeviceId () [2/3] Manangana zavatra ID fitaovana vaovao miaraka amin'ny safidy ID miitatra.
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_

Mpanondro ny bisy. An index; iharan'ny fiara fitateram-bahoaka (= CANopen node ID sns.). Famaritana (mety ho foana); iharan'ny bus. ID fanampiny (mety ho foana); ny dikany dia miankina amin'ny bus. ID tady fanampiny (mety ho foana); ny dikany dia miankina amin'ny bus.

DeviceId () [3/3] Manamboatra dika mitovy amin'ny zavatra ID fitaovana.
nlc::DeviceId::DeviceId (DeviceId const &)

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

33

8 Classes/functions reference

Parameter deviceId_

ID fitaovana handikana.

mitovy () Mampitaha vaovao amin'ny zavatra efa misy.
bool nlc::DeviceId::equals (DeviceId const & other) const

Miverina boolean

getBusHardwareId () Mamaky ny ID hardware bus.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Mamerina BusHardwareId

getDescription () Mamaky ny famaritana ny fitaovana (mety tsy ampiasaina).
std::string nlc::DeviceId::getDescription () const

Mamerina tady

getDeviceId () Mamaky ny ID fitaovana (mety tsy ampiasaina).
unsigned int nlc::DeviceId::getDeviceId () const

Miverina tsy misy sonia int

toString () Mamerina ny zavatra ho tady.
std::string nlc::DeviceId::toString () const

Mamerina tady

getExtraId () Mamaky ny ID fanampiny an'ny fitaovana (mety tsy ampiasaina).
const std::vector &getExtraId () const

Miverina vector

Vector amin'ny ID fanampiny fanampiny (mety ho foana); ny dikany dia miankina amin'ny bus.

getExtraStringId () Mamaky ny ID tady fanampiny an'ny fitaovana (mety tsy ampiasaina).
std::string getExtraStringId () const

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

34

8 Classes/functions reference

Mamerina tady

Ny ID tady fanampiny (mety ho foana); ny dikany dia miankina amin'ny bus.

8.17 LogLevelConverter

Ity kilasy ity dia mamerina ny haavon'ny dianao ho tady. static std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Ity kilasy ity dia mamerina ny log modulesetLoggingLevel () manokana ho an'ny tranombokinao ho tady.

static std::string

toString (nlc::LogModule logModule)

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

8.19 ObjectDictionary
Ity kilasy ity dia maneho rakibolana iray an'ny mpanara-maso iray ary manana ireto fiasa manaraka ireto ho an'ny mpikambana: getDeviceHandle ()
virtoaly ResultDeviceHandle getDeviceHandle () const Miverina ResultDeviceHandle

getObject () virtoaly ResultObjectSubEntry getObject (OdIndex const odIndex) mamerina ResultObjectSubEntry

getObjectEntry () virtoaly ResultObjectEntry getObjectEntry (uint16_t index)

Mamerina ResultObjectEntry

Mampahafantatra ny toetran'ny zavatra iray.

getXmlFileAnarana () virtoaly ResultString getXmlFileAnarana () const

Mamerina ResultString

Mamerina ny XML file anarana toy ny tady.

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

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

35

8 Classes/functions reference
Mamerina ResultArrayInt readString ()
virtoaly ResultString readString (OdIndex const odIndex) Mamerina ResultString readBytes () virtoaly ResultArrayByte readBytes (OdIndex const odIndex) Mamerina ResultArrayByte writeNumber () virtoaly ResultVoid writeNumber (OdIndex const odIndex) writeBytes () virtoaly ResultVoid writeBytes (OdIndex const OdIndex, std ::vector
const & data) Mamerina rohy mifandraika amin'ny ResultVoid OdIndex
8.20 ObjectEntry
Ity kilasy ity dia maneho ny fidiran'ny zavatra ao amin'ny rakibolana objet, manana ny toetra voaaro static sy ny asan'ny mpikambana ho an'ny daholobe:
static nlc::ObjectSubEntry invalidObject
getName () Mamaky ny anaran'ilay zavatra ho tady.
virtual std::string getName () const
getPrivate () Manamarina raha mitokana ilay zavatra.
virtoaly bool getPrivate () const
getIndex () Mamaky ny adiresin'ny index Object.
virtoaly uint16_t getIndex () const

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

36

8 Classes/functions reference

getDataType () Mamaky ny karazana angona an'ilay zavatra.
virtoaly nlc::ObjectEntryDataType getDataType () const

getObjectCode () Mamaky ny code object:

Null Deftype Defstruct Var Array Record

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

virtoaly nlc::ObjectCode getObjectCode () const

getObjectSaveable () Manamarina raha azo tehirizina ilay zavatra ary ny sokajy (jereo ny boky torolàlana momba ny vokatra raha mila fanazavana fanampiny): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtoaly nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Mamaky ny isan'ny subindices tohanan'ity zavatra ity.
virtoaly uint8_t getMaxSubIndex () const

getSubEntry () virtoaly nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Jereo koa ny ObjectSubEntry.
8.21 ObjectSubEntry
Ity kilasy ity dia maneho ny sub-entry (subindex) amin'ny rakibolana zavatra ary manana ireto asa manaraka ireto ho an'ny mpikambana:
getName () Mamaky ny anaran'ilay zavatra ho tady.
virtual std::string getName () const

getSubIndex () Mamaky ny adiresin'ny subindex.
virtoaly uint8_t getSubIndex () const

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

37

8 Classes/functions reference

getDataType () Mamaky ny karazana angona an'ilay zavatra.
virtoaly nlc::ObjectEntryDataType getDataType () const

getSdoAccess () Manamarina raha azo idirana amin'ny SDO ny subindex:

Read Only

1

WriteOnly

2

ReadWrite

3

NoAccess

0

virtoaly nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Manamarina raha azo idirana / azo sari-tany amin'ny alalan'ny PDO ny subindex:

Tx

1

Rx

2

TxRx

3

tsy misy

0

virtoaly nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Manamarina ny halavan'ny subindex.
virtoaly uint32_t getBitLength () const

getDefaultValueAsNumeric () Mamaky ny tombam-bidin'ny subindex ho an'ny karazana angona nomerika.
virtual ResultInt getDefaultValueAsNumeric (std :: string const & key) const

getDefaultValueAsString () Mamaky ny sanda default amin'ny subindex ho an'ny karazana angona tady.
virtual ResultString getDefaultValueAsString (std :: string const & key) const

getDefaultValues ​​() Mamaky ny soatoavina default amin'ny subindex.
virtoaly std::map getDefaultValues ​​() const

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

38

8 Classes/functions reference

readNumber () Mamaky ny sanda marina amin'ny subindex.
virtoaly ResultInt readNumber () const

readString () Mamaky ny tady tena sandan'ny subindex.
virtual ResultString readString () const

readBytes () Mamaky ny tena sandan'ny subindex amin'ny bytes.
virtoaly ResultArrayByte readBytes () const

writeNumber () Manoratra sanda isa ao amin'ny subindex.
virtoaly ResultVoid writeNumber (const int64_t value) const

writeBytes () Manoratra sanda ao amin'ny subindex amin'ny bytes.
virtoaly ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Ampiasao ity kilasy ity (tsy azo ovaina manomboka amin'ny famoronana) mba hamehezana sy hitadiavana indices / sub-indices. Ny OD an'ny fitaovana iray dia manana andalana 65535 (0xFFFF) sy tsanganana 255 (0xFF); misy banga eo anelanelan'ny andalana tsy miato. Jereo ny fenitra CANopen sy ny boky torolalana momba ny vokatrao raha mila fanazavana fanampiny.
OdIndex () Manangana zavatra OdIndex vaovao.
nlc::OdIndex::OdIndex (fanondroana uint16_t, subIndex uint8_t)

Subindex fanondroan'ny paramètres

Avy amin'ny 0 ka hatramin'ny 65535 (0xFFFF) incl. Avy amin'ny 0 ka hatramin'ny 255 (0xFF) incl.

getIndex () Mamaky ny index (avy amin'ny 0x0000 ka hatramin'ny 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Miverina uint16_t

getSubindex () Mamaky ny sub-index (avy amin'ny 0x00 ka hatramin'ny 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

39

8 Classes/functions reference

Miverina uint8_t

toString () Mamerina ny index sy ny subindex ho tady. Ny string default 0xIIII: 0xSS dia toy izao manaraka izao:

I = index avy amin'ny 0x0000 mankany 0xFFFF

S = sub-index avy amin'ny 0x00 mankany 0xFF

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

Miverina 0xIIII:0xSS

Fanehoana tady mahazatra

8.23 OdLibrary
Ampiasao ity interface interface ity mba hamoronana ohatra amin'ny kilasy ObjectDictionary avy amin'ny XML. Amin'ny alàlan'ny assignObjectDictionary, azonao atao ny mamatotra ny tranga tsirairay amin'ny fitaovana manokana noho ny famantarana tokana noforonina. Ny ohatra ObjectDictionary noforonina dia voatahiry ao amin'ny zavatra OdLibrary mba hidirana amin'ny index. Ny kilasy ODLibrary dia mitondra entana ObjectDictionary avy amin'ny file na array, mitahiry azy ireo, ary manana ireto asa manaraka ireto ho an'ny mpikambana:

getObjectDictionaryCount () virtoaly uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtoaly ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Mamerina ResultObjectDictionary

addObjectDictionaryFromFile ()
virtoaly ResultObjectDictionary addObjectDictionaryFromFile (std:: string const & absoluteXmlFilelalana)

Mamerina ResultObjectDictionary

addObjectDictionary ()
virtoaly ResultObjectDictionary addObjectDictionary (std ::vector const & odXmlData, const std::string &xmlFileLalana = std::string ())

Mamerina ResultObjectDictionary
8.24 OdTypesHelper
Ho fanampin'ireto asa ataon'ny mpikambana ho an'ny daholobe manaraka ireto, ity kilasy ity dia misy karazana angona manokana. Fanamarihana: Raha hijerena ny karazana angon-drakitrao manokana dia tadiavo ny kilasy enum ObjectEntryDataType ao amin'ny od_types.hpp.

uintToObjectCode () Mamadika integer tsy misy sonia ho kaody zavatra:

Null Deftype

0x00 0x05

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

40

8 Classes/functions reference

Defstruct Var Array Record

0x06 0x07 0x08 0x09

static ObjectCode uintToObjectCode (tsy misy sonia int objectCode)

isNumericDataType () Mampahafantatra raha isa ny karazana data na tsia.
Ny bool static diaNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Mampahafantatra raha tondro firafitry ny famaritana ny zavatra iray na tsia.
static bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Mampandre raha fanondro karazana famaritana ny zavatra iray na tsia.
Ny bool static diaDeftypeIndex (uint16_t typeNum)

isComplexDataType () Mampahafantatra raha sarotra na tsia ny karazana data.
static bool diaComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Mamadika isa tsy misy sonia ho karazana angona OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Mamadika karazana angona OD ho tady.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Manova tady ho karazana data OD raha azo atao. Raha tsy izany dia miverina UNKNOWN_DATATYPE.
static ObjectEntryDataType stringToObjectEntryDatatype (std :: string dataTypeString)

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

41

8 Classes/functions reference

objectEntryDataTypeBitLength () Mampahafantatra ny halavan'ny bitin'ny karazana angona fampidirana zavatra.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RESTfulBus struct

Ity struct ity dia misy ny safidy fanamafisana ny fifandraisana ho an'ny interface RESTful (amin'ny Ethernet). Ahitana ireto toetram-bahoaka manaraka ireto:

const std :: string const tsy misy sonia lava const std :: string const tsy misy sonia lava const std :: string const tsy misy sonia lava

CONNECT_TIMEOUT_OPTION_NAME = “Fotoam-potoanan’ny fifandraisana mandry fahalemana” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Fotoan’ny fangataham-pitsaharana” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “Fotoan’ny famaliana mitsahatra” =_RESPONSEFAULT = 750TIME.

8.26 ProfinetDCP
Amin'ny Linux, mila fahaiza-manao CAP_NET_ADMIN sy CAP_NET_RAW ny fampiharana fiantsoana. Mba hahafahan'ny: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Ao amin'ny Windows, ny interface ProfinetDCP dia mampiasa WinPcap (voasedra amin'ny version 4.1.3) na Npcap (voasedra amin'ny version 1.60 sy 1.30). Izy io dia mikaroka ny tranomboky wpcap.dll feno dynamique amin'ny filaharana manaraka (Fanamarihana: tsy misy fanohanana Win10Pcap ankehitriny):
1. Nanolib.dll directory 2. Windows system directory SystemRoot%System32 3. Npcap installation directory SystemRoot%System32Npcap 4. Environmental path
Ity kilasy ity dia maneho ny interface Profinet DCP ary manana ireto asa manaraka ireto ho an'ny mpikambana:

getScanTimeout () Mampandre momba ny fotoana fiatoan'ny fitaovana (default = 2000 ms).
virtoaly uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Mametraka fe-potoana fitarafana fitaovana (default = 2000 ms).
virtoaly void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Mampahafantatra amin'ny fotoana fiatoan'ny famalian'ny fitaovana ho an'ny fampandehanan-drafitra, famerenana, ary fiketsehana (default = 1000 ms).
virtoaly uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Mampahafantatra amin'ny fotoana fiafaran'ny famalian'ny fitaovana ho an'ny fampandehanana, famerenam-bola ary mikitroka (default = 1000 ms).
virtoaly void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

42

8 Classes/functions reference

isServiceAvailable ()
Ampiasao ity fiasa ity hijerena ny fisian'ny serivisy Profinet DCP.
Valiny / azo ampiasaina amin'ny tambajotra Windows: WinPcap / Npcap availability Linux: CAP_NET_ADMIN / CAP_NET_RAW fahaiza-manao
virtoaly ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Parameter BusHardwareId Miverina marina
DISO

ID Hardware an'ny serivisy Profinet DCP hanamarina. Misy ny serivisy. Tsy misy serivisy.

scanProfinetDevices () Ampiasao ity fampiasa ity hijerena ny fiara fitateram-bahoaka mba hahitana ny fisian'ny fitaovana Profinet.
virtoaly ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)

Parameter BusHardwareId dia mamerina ny ResultProfinetDevices

Mamaritra ny fieldbus tsirairay hosokafana. Misokatra ny fitaovana.

setupProfinetDevice () Mametraka ireto fitaovana manaraka ireto:

Anaran'ny fitaovana

adiresy IP

Saron-tambajotra

Vavahady default

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

resetProfinetDevice () Atsaharo ny fitaovana ary avereno amin'ny toeran'ny orinasa.
virtoaly ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Mandidy ny fitaovana Profinet hanomboka mamiratra ny LED Profinet.
virtoaly ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Ampiasao ity fampiasa ity hijerena ny adiresy IP an'ny fitaovana.
Virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

Parameter BusHardwareId ProfinetDevice

Manondro ny ID fitaovana hojerena. Manondro ny fitaovana Profinet hanamarina.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

43

8 Classes/functions reference

Mamerina ResultVoid

8.27 ProfinetDevice struct

Ny angon-drakitra fitaovana Profinet dia manana ireto toetra ampahibemaso manaraka ireto:

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

DeviceName deviceVendor macAddress ipAddress netMask defaultGateway

Ny adiresy MAC dia omena amin'ny endrika array amin'ny macAddress = {xx, xx, xx, xx, xx, xx}; fa ny adiresy IP, ny saron-tambajotra ary ny vavahady dia adika ho isa hex endian lehibe, toy ny:

Adiresy IP: 192.168.0.2 Saron-tambajotra: 255.255.0.0 Vavahady: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Kilasy vokatra

Ampiasao ny sanda miverina "tsy voatery" amin'ireto kilasy ireto mba hijerena raha nahomby ny antso an-tariby iray na tsia, ary tadiavo koa ny antony tsy nahomby. Amin'ny fahombiazana, ny hasError () function dia miverina diso. Amin'ny getResult (), azonao atao ny mamaky ny sandan'ny vokatra isaky ny karazana (ResultInt sns.). Raha toa ka tsy nahomby ny antso dia vakianao ny antony amin'ny getError ().

Toetra voaaro

string NlcErrorCode uint32_t

errorString errorCode exErrorCode

Ary koa, ity kilasy ity dia manana ireto asan'ny mpikambana ho an'ny daholobe manaraka ireto:

hasError () Mamaky ny fahombiazan'ny antso iray.
bool nlc::Result::hasError () const

Miverina

tena diso

Antso tsy nahomby. Ampiasao getError () hamakiana ny sandany. Antso mahomby. Ampiasao getResult () hamakiana ny sandany.

getError () Mamaky ny antony raha tsy mahomby ny antso.
const std::string nlc::Result::getError () const

Mamerina tady const

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

44

8 Classes/functions reference
vokatra () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valiny marina:
Vokatra (std :: string const & errorString_)
Vokatra (NlcErrorCode const & errCode, std :: string const & errorString_)
Vokatra (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
Vokany (Result const & result)
getErrorCode () Vakio ny NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 ResultVoid
NanoLib dia mandefa anao ohatra amin'ity kilasy ity raha toa ka miverina foana ny fiasa. Ny kilasy dia mandova ny asan'ny besinimaro sy ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
ResultVoid () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valiny marina:
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 & result)
8.28.2 ResultInt
NanoLib dia mandefa ohatra amin'ity kilasy ity raha mamerina integer ny asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamerina ny valin'ny integer raha nahomby ny antso iray.
int64_t getResult () const
Miverina int64_t

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

45

8 Classes/functions reference
ResultInt () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny integer marina:
ResultInt (int64_t vokatra_)
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 (Result const & result)
8.28.3 ResultString
NanoLib dia mandefa ohatra amin'ity kilasy ity raha mamerina tady ny asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny valin'ny tady raha nahomby ny antso.
const std::string nlc::ResultString::getResult () const
Mamerina tady const
ResultString () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny tady marina:
ResultString (std :: string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std :: string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
ResultString (Result const & result)
8.28.4 ResultArrayByte
NanoLib dia mandefa anao ohatra amin'ity kilasy ity raha toa ka mamerina ny array byte ny fiasa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny vector byte raha nahomby ny antso.
const std::vector nlc::ResultArrayByte::getResult () const
Miverina const vector

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

46

8 Classes/functions reference
ResultArrayByte () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny array byte marina:
ResultArrayByte (std::vector const & valiny_)
ResultArrayByte (std :: string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std :: string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
ResultArrayByte (Result const & result)
8.28.5 ResultArrayInt
NanoLib dia mandefa ohatra iray amin'ity kilasy ity raha toa ka mamerina array integer ny fiasa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny vector integer raha nahomby ny antso iray.
const std::vector nlc::ResultArrayInt::getResult () const
Miverina const vector
ResultArrayInt () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny array integer marina:
ResultArrayInt (std::vector const & valiny_)
ResultArrayInt (std :: string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std :: string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
ResultArrayInt (Result const & result)
8.28.6 ResultBusHwIds
NanoLib dia mandefa ohatra amin'ity kilasy ity raha toa ka mamerina ny laharan'ny ID hardware ny asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny vector bus-hardware-ID raha nahomby ny antso iray.
const std::vector nlc::ResultBusHwIds::getResult () const
Parameter const vector

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

47

8 Classes/functions reference
ResultBusHwIds () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny bus-hardware-ID-array marina:
ResultBusHwIds (std::vector const & valiny_)
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 (Result const & result)
8.28.7 ResultDeviceId
NanoLib dia mandefa ohatra iray amin'ity kilasy ity raha mamerina ID fitaovana ilay asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny vector ID fitaovana raha nahomby ny antso.
DeviceId nlc::ResultDeviceId::getResult () const
Mamerina const vector
ResultDeviceId () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny ID fitaovana marina:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std :: string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std :: string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string errorString_)
ResultDeviceId (Result const & result)
8.28.8 ResultDeviceIds
NanoLib dia mandefa ohatra amin'ity kilasy ity raha toa ka mamerina fitaovana ID ny fitaovana. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamerina ny vector ID fitaovana raha nahomby ny antso iray.
DeviceId nlc::ResultDeviceIds::getResult () const
Mamerina const vector

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

48

8 Classes/functions reference
ResultDeviceIds () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny fitaovana-ID-array marina:
ResultDeviceIds (std::vector const & valiny_)
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 & result)
8.28.9 ResultDeviceHandle
NanoLib dia mandefa ohatra amin'ity kilasy ity raha mamerina ny sandan'ny fitantanam-pitaovana ilay asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny fitaovan'ny fitaovana raha nahomby ny antso.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Mamerina ny DeviceHandle
ResultDeviceHandle () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny fitantanam-pitaovana marina:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std :: string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std :: string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
ResultDeviceHandle (Result const & result)
8.28.10 ResultObjectDictionary
NanoLib dia mandefa ohatra amin'ity kilasy ity raha mamerina ny votoatin'ny rakibolana iray ny asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny vector ID fitaovana raha nahomby ny antso.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

49

8 Classes/functions reference

Miverina

const vector

ResultObjectDictionary () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny rakibolana zavatra marina:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)

ResultObjectDictionary (std :: string const & errorString_)

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

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

ResultObjectDictionary (Result const & result)

8.28.11 ResultConnectionState
NanoLib dia mandefa ohatra amin'ity kilasy ity raha mamerina fampahalalana momba ny fifandraisana amin'ny fitaovana. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny fitaovan'ny fitaovana raha nahomby ny antso.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Mamerina ny DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader

ResultConnectionState () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny toetry ny fifandraisana marina:
ResultConnectionState (DeviceConnectionStateInfo const & result_)

ResultConnectionState (std :: string const & errorString_)

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

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

ResultConnectionState (Result const & result)

8.28.12 ResultObjectEntry
NanoLib dia mandefa ohatra amin'ity kilasy ity raha toa ka mamerina zavatra iray ny asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

50

8 Classes/functions reference
getResult () Mamerina ny vector ID fitaovana raha nahomby ny antso iray.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Miverina const ObjectEntry
ResultObjectEntry () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny fidirana zavatra marina:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std :: string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std :: string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
ResultObjectEntry (Result const & result)
8.28.13 ResultObjectSubEntry
NanoLib dia mandefa anao ohatra amin'ity kilasy ity raha toa ka mamerina zavatra sub-entry ny asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamerina ny vector ID fitaovana raha nahomby ny antso iray.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Miverina const ObjectSubEntry
ResultObjectSubEntry () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny valin'ny sub-entry zavatra marina:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std :: string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std :: string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
ResultObjectSubEntry (Result const & result)
8.28.14 ResultProfinetDevices
NanoLib dia mandefa ohatra amin'ity kilasy ity raha mamerina fitaovana Profinet ny asa. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

51

8 Classes/functions reference

getResult () Mamaky ny vector fitaovana Profinet raha toa ka nahomby ny antso an-tariby.
const std::vector & getResult () const

ResultProfinetDevices () Manampy amin'ny famaritana ireo fitaovana Profinet marina ireto fiasa manaraka ireto.
ResultProfinetDevices (const std ::vector & profinetDevices)
ResultProfinetDevices (Const Result & result)
ResultProfinetDevices (const std :: string &errorText, NlcErrorCode errorCode = NlcErrorCode ::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 VokanyampleDataArray
NanoLib dia mandefa anao ohatra amin'ity kilasy ity raha miverina ny asa toy nyample data array. Ny kilasy dia mandova ny asan'ny daholobe / ny toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:
getResult () Mamaky ny angon-drakitra raha toa ka nahomby ny antso.
const std::vector <SampleData> & getResult () const

VOKATRAampleDataArray () Manampy amin'ny famaritana ireo fitaovana Profinet marina ireto fiasa manaraka ireto.
VOKATRAampleDataArray (const std ::vector <SampleData> & dataArray)

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

VOKATRAampleDataArray (const ResultSampleDataArray & hafa)

VOKATRAampleDataArray (Const Result & result)

8.28.16 VokanyamplerState
NanoLib dia mandefa anao ohatra amin'ity kilasy ity raha miverina ny asa toy nyampler state. Ity kilasy ity dia mandova ny asan'ny besinimaro / toetra voaaro avy amin'ny kilasy vokatra ary manana ireto asan'ny mpikambana manaraka ireto:

getResult () Mamaky ny sampler state vector raha toa ka nahomby ny antso an-tariby.
SamplerState getResult () const

Hiverina SamplerState>

Tsy voarindra / Voafefy / Vonona / Mihazakazaka / Vita / Tsy nahomby / Nofoanana

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

52

8 Classes/functions reference

VOKATRAamplerState () Ireto asa manaraka ireto dia manampy amin'ny famaritana ny tena sampfanjakana ler.
VOKATRAamplerState (const SamplerState)

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

VOKATRAamplerState (const ResultSamplerState & hafa)

VOKATRAamplerState (Const Result & result)

8.29 NlcErrorCode

Raha misy tsy mety dia mitatitra ny iray amin'ireo kaody diso voatanisa ato amin'ity fanisana ity ny kilasy valiny.

Kaody diso Success GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch Operation Tapaka ny OperationNot Supported InvalidOperation
InvalidArguments Access denied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError

C: Sokajy D: Famaritana R: Antony C: Tsy misy. D: Tsy misy hadisoana. R: Vita soa aman-tsara ny fandidiana.
C: Tsy voafaritra. D: Fahadisoana tsy voafaritra. R: Tsy fahombiazana tsy mifanaraka amin'ny sokajy hafa.
C: Bus. D: Tsy misy fiara fitateram-bahoaka. R: Bus tsy misy, tapaka na kilema.
C: Fifandraisana. D: Tsy azo itokisana ny fifandraisana. R: Angona tsy nampoizina, CRC diso, lesoka na parity, sns.
C: Protocol. D: Fahadisoan'ny protocole. R: Valiny aorian'ny safidy protocol tsy tohanana, mitatitra ny protocol tsy tohanana ny fitaovana, misy hadisoana ao amin'ny protocole (milaza hoe, bit sync segment SDO), sns. bit sync segment), sns. R: Protocol tsy tohanana (safidy) na hadisoana amin'ny protocol (milaza hoe, bit sync segment SDO), sns.
C: rakibolana zavatra. D: adiresy OD tsy misy. R: Tsy misy adiresy toy izany ao amin'ny rakibolana zavatra.
C: rakibolana zavatra. D: Tsy mety ny fidirana amin'ny adiresy OD. R: Miezaha manoratra mamaky fotsiny, na mamaky avy amin'ny adiresy sora-tanana fotsiny.
C: rakibolana zavatra. D: Karazana tsy mifanentana. R: Sanda tsy niova ho karazana voafaritra, ohatra, amin'ny fikasana hitondra tady ho isa.
C: Fampiharana. D: Najanona ny dingana. R: Fomba tapaka amin'ny fangatahana fangatahana. Miverina ihany amin'ny fanelanelanana amin'ny alàlan'ny fampandehanana antso miverina, ohatra, avy amin'ny scan bus.
C: mahazatra. D: Ny dingana tsy tohanana. R: Tsy misy fanohanana fiara fitateram-bahoaka / fitaovana.
C: mahazatra. D: Diso ny fizotran'ny toe-javatra ankehitriny, na tsy mety amin'ny hevitra ankehitriny. R: Andrana mamerina mampifandray ireo fiara fitateram-bahoaka / fitaovana efa mifandray. Fikasana hanapaka amin'ireo efa tapaka. Andrana fandidiana bootloader amin'ny maody firmware na ny mifamadika amin'izany.
C: mahazatra. D: Tsy mety ny tohan-kevitra. R: Lojika na fehezanteny diso.
C: mahazatra. D: Nolavina ny fidirana. R: Tsy fahampian'ny zo na fahafahana hanao ny asa nangatahana.
C: mahazatra. D: Zavatra voafaritra tsy hita. R: fiara fitateram-bahoaka, protocol, fitaovana, adiresy OD amin'ny fitaovana, na file tsy hita.
C: mahazatra. D: Zavatra voafaritra tsy hita. R: sahirana, tsy misy, tapaka na kilema.
C: mahazatra. D: Tsy ampy ny fitadidiana. R: Kely loatra ny fitadidiana mba hikarakarana an'io baiko io.
C: mahazatra. D: Tapitra ny fotoana. R: Miverena rehefa tapitra ny fotoana fiatoana. Ny fe-potoana dia mety ho fotoana famalian'ny fitaovana, fotoana hahazoana fidirana loharanon-karena zaraina na manokana, na fotoana hanovana ny fiara fitateram-bahoaka/fitaovana ho amin'ny toerana mety.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

53

8 Classes/functions reference

8.30 NlcCallback
Ity kilasin'ny ray aman-dreny ho an'ny antso miverina ity dia manana ny asan'ny mpikambana ho an'ny daholobe: callback ()
virtoaly ResultVoid callback ()

Miverina

ResultVoid

8.31 NlcDataTransferCallback
Ampiasao ity kilasy callback ity ho an'ny famindrana angon-drakitra (fanavaozana firmware, fampiakarana NanoJ sns.). 1. Ho an'ny fampiakarana firmware: Farito ny “kilasy mpiara-miombon'antoka” manitatra ity iray ity miaraka amin'ny fomba fiantsoana mahazatra
fampiharana. 2. Ampiasao ny trangan'ny "co-class's" amin'ny antso NanoLibAccessor.uploadFirmware (). Ny kilasy lehibe dia manana ny asan'ny mpikambana ho an'ny daholobe:

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

Miverina

ResultVoid

8.32 NlcScanBusCallback
Ampiasao ity kilasin'ny callback ity ho an'ny scan bus. 1. Farito ny “kilasy mpiara-miombon'antoka” manitatra ity iray ity miaraka amin'ny fampiharana fomba fanao amin'ny antso miverina. 2. Ampiasao ny trangan'ny "co-class's" amin'ny antso NanoLibAccessor.scanDevices (). Ny kilasy fototra mihitsy no manana ny asan'ny mpikambana ho an'ny daholobe.

hiantso koa ()
virtoaly ResultVoid callback (nlc::BusScanInfo info, std::vector const & devicesFound, data int32_t)

Mamerina ResultVoid
8.33 NlcLoggingCallback
Ampiasao ity kilasin'ny callback ity amin'ny fandraketana ny antso miverina. 1. Farito ny kilasy iray izay manitatra ity kilasy ity miaraka amin'ny fampiharana fomba fanao antso an-tariby 2. Mampiasà fanondro amin'ny ohatra misy azy mba hametrahana antso an-tariby avy amin'ny NanoLibAccessor >
setLoggingCallback (…).
virtoaly 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
Ampiasao ity kilasy ity hanamboarana, hanombohana ary hampitsahatra ny sampler, na mahazo sampnitarika angon-drakitra ary alao hoampny toetry ny ler na ny fahadisoana farany. Ny kilasy dia manana ireto asan'ny mambra manaraka ireto.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

54

8 Classes/functions reference

configure () Configures hoampler.
virtoaly ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Paramètre [amin'ny] deviceHandle [amin'ny] samplerConfiguration
Mamerina ResultVoid

Mamaritra izay fitaovana hamboarina ny sampler ho. Manondro ny sandan'ny toetran'ny fanefena. Manamafy fa misy fiasa tsy misy dikany.

getData () Mahazo ny sampnitarika data.
Valiny virtoalyampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parameter [amin'ny] deviceHandle Returns ResultSampleDataArray

Mamaritra ny fitaovana handraisana ny angona.
Manatitra ny sampdata nitarika, izay mety ho array foana raha samplerNotify dia mavitrika amin'ny fanombohana.

getLastError () Mahazo toy nyampfahadisoana farany nataon'i ler.
virtoaly ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Mamerina ResultVoid

Manamafy fa misy fiasa tsy misy dikany.

getState () Mahazo toy nyampstatut ler.
Valiny virtoalyamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Return ResultSamplerState

Manatitra ny sampfanjakana ler.

manomboka () manomboka toy nyampler.
virtoaly ResultVoid nlc::SamplerInterface::manomboka (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)

Paramètre [amin'ny] deviceHandle [amin'ny] SamplerNotify [amin'ny] applicationData
Mamerina ResultVoid

Mamaritra izay fitaovana hanombohana ny sampler ho.
Mamaritra izay fampahalalana tsy voatery hotaterina (mety ho nullptr).
Safidy: Mandrosoa angon-drakitra mifandraika amin'ny fampiharana (array 8-bit voafaritry ny mpampiasa amin'ny sanda / ID / index, na daty, tondroin'ny variable / function, sns) mankany samplerNotify.
Manamafy fa misy fiasa tsy misy dikany.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

55

8 Classes/functions reference

mijanona () Mijanona toy nyampler.
virtoaly ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Parameter [amin'ny] deviceHandle dia mamerina ny ResultVoid

Mamaritra izay fitaovana hampijanonana ny sampler ho. Manamafy fa misy fiasa tsy misy dikany.

8.35 SamplerConfiguration struct

Ity struct ity dia misy ny data sampOptions configuration ler (static na tsia).

Toetram-bahoaka

std::vector trackedAddresses

Adiresy OD hatramin'ny 12 ho sampLED.

uint32_t

Malagasy Bible

Dikan'ny rafitra iray.

uint32_t

faharetanaMilliseconds

SampNy faharetan'ny ling in ms, avy amin'ny 1 ka hatramin'ny 65535

uint16_t

fe-potoanaMilliseconds

Sampfe-potoana ling in ms.

uint16_t

numberOfSampl'

Samples vola.

uint16_t

preTriggerNumberOfSampl'

Samples pre-trigger amount.

bool

mampiasaSoftwareImplementation

Mampiasà fampiharana rindrambaiko.

bool

mampiasaNewFWSamplerImplementation Mampiasà fampiharana FW ho an'ny fitaovana misy a

FW version v24xx na vao haingana.

SamplerMode

fomba

Normal, miverimberina na mitohy sampling

SamplerTriggerCondition triggerCondition

Atombohy ny fepetra miteraka: 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 = TCxGREATER = 0x15 = TCxGREATER = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, Odaluedex, triggerV

SamplerTrigger

SamplerTrigger

Trigger manomboka toy nyampler?

Toetram-bahoaka static
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Ampiasao ity kilasy ity mba hampavitrika ny sampler fampahafantarana rehefa manomboka toy nyampler. Ny kilasy dia manana ny asan'ny mpikambana ho an'ny daholobe.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

56

8 Classes/functions reference

mampahafantatra ()
Manatitra fidirana fampahafantarana.
void virtoaly nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Parametera [amin'ny] lastError [in] samplerState
[in] sampleDatas [in] applicationData

Mitatitra ny fahadisoana farany nitranga nandritra ny sampling. Mitatitra ny sampNy sata eo amin'ny fotoana fampahafantarana: Tsy voarindra / Voafefy / Vonona / mihazakazaka / Vita / Tsy nahomby / Nofoanana. Mitatitra ny sampled-data array. Mitatitra angona manokana momba ny fampiharana.

8.37 SampleData struct

Ity struct ity dia misy ny sampnitarika data.

uin64_t iterationNumber

Manomboka amin'ny 0 ary mitombo amin'ny fomba miverimberina ihany.

std::vector<SampledValues> Ahitana ny array sampnitarika soatoavina.

8.38 SampledValue struct

Ity struct ity dia misy ny sampnitarika soatoavina.

in64_t sanda uin64_t CollectTimeMsec

Ahitana ny sandan'ny adiresy OD voara-maso.
Ahitana ny fotoana fanangonana amin'ny milisegondra, mifandraika amin'ny sample manomboka.

8.39 SamplerTrigger struct

Ity struct ity dia misy ny firafitry ny trigger an'ny sampler.

SamplerTriggerCondition fepetra
OdIndex uin32_t sanda

Ny fepetra miteraka: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = TCx0GREATER = 15x0 = TC_GREATER 16x0 TC_LESS = 17x0 TC_LESS_OR_EQUAL = 18x0 TC_EQUAL = 19x0 TC_NOT_EQUAL = 1x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1xXNUMXC
OdIndex (adiresy) an'ny trigger.
Vidin'ny toe-javatra na isa bit (manomboka amin'ny aotra bit).

8.40 Serial struct

Tadiavo eto ny safidinao amin'ny fifandraisan-davitra sy ireto toetran'ny besinimaro manaraka ireto:

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = “serial baud rate” baudRate =SerialBaudRate struct

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

57

8 Classes/functions reference

const std::string const SerialParity

PARITY_OPTIONS_NAME = "parity série" parity = SerialParity struct

8.41 SerialBaudRate struct

Tadiavo eto ny tahan'ny baud seraseranao sy ireto toetran'ny daholobe manaraka ireto:

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

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

8.42 SerialParity struct

Tadiavo eto ny safidinao parity serial sy ireto toetra ampahibemaso manaraka ireto:

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

TSY MISY = "tsy misy" ODD = "hafahafa" EVEN = "even" MARK = "mark" SPACE = "space"

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

58

9 Fahazoan-dàlana

9 Fahazoan-dàlana

NanoLib API interface headers sy exampNy kaody loharano dia nahazo alalana avy amin'ny Nanotec Electronic GmbH & Co. KG eo ambanin'ny Creative Commons Attribution 3.0 Unported License (CC BY). Ny ampahany amin'ny tranomboky omena amin'ny endrika mimari-droa (fitehirizam-bokin'ny fifandraisana fototra sy fieldbus) dia nahazo alalana avy amin'ny Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).

Creative Commons
Ity famintinana azo vakin'olona manaraka ity dia tsy hisolo ny (ireo) fahazoan-dàlana. Azonao atao ny mahita ny fahazoan-dàlana tsirairay ao amin'ny creativecommons.org ary mifandray eto ambany. Malalaka ianao amin'ny:

CC BY 3.0
Zarao: Jereo tsara. Mampifanaraka: Remix, manova, ary manangana ny
fitaovana ho an'ny tanjona rehetra, na dia ara-barotra aza.

CC BY-ND 4.0
Zarao: Adikao ary zarao amin'ny fitaovana na endrika rehetra ny fitaovana.

Tsy afaka manafoana ireo fahalalahana voalaza etsy ambony ireo ny licence raha mankatò ireto fepetra fahazoan-dàlana manaraka ireto ianao:

CC BY 3.0

CC BY-ND 4.0

Attribution: Tsy maintsy manome crédit sahaza ianao, Attribution: Jereo ankavia. Fa: Omeo rohy mankany amin'ity

omeo rohy mankany amin'ny fahazoan-dàlana, ary asehoy raha

lisansa hafa.

fanovana natao. Azonao atao izany na aiza na aiza

Tsy misy derivatives: Raha mampifangaro, manova, na manorina ianao

amin'ny fomba mitombina, fa tsy amin'ny fomba rehetra

amin'ny fitaovana dia tsy azonao zaraina ny

gests ny licensor manohana anao na ny fampiasanao.

fitaovana novaina.

Tsy misy fameperana fanampiny: Tsy azo ampiharina Tsy misy fameperana fanampiny: Jereo ny ankavia. fepetra ara-dalàna na fepetra ara-teknolojia izay ara-dalàna

ferana ny hafa tsy hanao na inona na inona ny fahazoan-dàlana

fahazoan-dàlana.

Fanamarihana: Tsy mila manaraka ny fahazoan-dàlana ho an'ny singa amin'ny fitaovana ao amin'ny sehatra ho an'ny daholobe ianao na izay avela hampiasainao amin'ny alàlan'ny fanavahana na famerana azo ampiharina.
Fanamarihana: Tsy misy antoka omena. Ny fahazoan-dàlana dia mety tsy hanome anao ny fahazoan-dàlana rehetra ilaina amin'ny fampiasanao. Ho an'ny exampRaha ny marina, ny zo hafa toy ny fampahafantarana, ny fiainana manokana, na ny zo ara-moraly dia mety hametra ny fomba fampiasanao ilay fitaovana.

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

59

Imprint, contact, versions

©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 Zo rehetra voatokana. Ny fahadisoana, ny tsy fisiana, ny fiovana ara-teknika na ny atiny dia azo atao tsy misy fampandrenesana. Ny marika/vokatra voatonona dia mariky ny tompony ary tokony ho raisina ho toy izany. Version original.

Antontan-taratasy 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

+ Nampiana > Novana # Fixed > Famerenana ny asa efa nomenaamples.
+ NanoLib Modbus: Mekanisma manidy fitaovana fanampiny ho an'ny Modbus VCP. # NanoLib Core: Fanamarinana ny fifandraisana raikitra. # Kaody NanoLib: Nahitsy ny fanesorana ny fitaovan'ny fiara fitateram-bahoaka.
+ NanoLib-CANopen: Fanohanana ny adaptatera Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: Niova ny logiciel callback interface (LogLevel nosoloina LogModule). # NanoLib Logger: Nahitsy ny fisarahana eo amin'ny fototra sy ny maody. # Modbus TCP: Fanavaozana firmware raikitra ho an'ny FW4. # EtherCAT: fandefasana programa NanoJ raikitra ho an'ny Core5. # EtherCAT: fanavaozana firmware raikitra ho an'ny Core5.
# Modbus RTU: Olana ara-potoana raikitra miaraka amin'ny tahan'ny baud ambany mandritra ny fanavaozana firmware. # FAMPISEHOANA: fandefasana programa NanoJ raikitra.
# NanoLib Modules Sampler: Famakiana marina ny sampnitarika soatoavina boolean.
+ Fanohanana Java 11 ho an'ny sehatra rehetra. + Fanohanana Python 3.11/3.12 ho an'ny sehatra rehetra. + Fifandraisana antso an-tariby vaovao (jereo ny examples). + Milentika ny antso ho an'ny NanoLib Logger. > Fanavaozana ny logger amin'ny version 1.12.0. > NanoLib Modules Sampler: Tohano izao ny firmware v24xx controller Nanotec. > NanoLib Modules Sampler: Fiovan'ny rafitra ampiasaina amin'ny sampler configuration. > NanoLib Modules Sampler: Ny fomba mitohy dia mitovy amin'ny tsy misy farany; ny toetry ny trigger dia voamarina indray mandeha; ny isan'ny samptsy maintsy 0. > NanoLib Modules Sampler: Laharam-pahamehana mahazatra ho an'ny kofehy izay manangona angona amin'ny maody firmware. > NanoLib Modules Sampler: Algorithm nosoratana indray hamantarana ny fifindrana eo amin'ny fanjakana Vonona & Running. # NanoLib Core: Tsy misy fanitsakitsahana ny fidirana (0xC0000005) amin'ny fanakatonana fitaovana 2 na mihoatra amin'ny fampiasana fitaovana fiara fitateram-bahoaka mitovy. # NanoLib Core: Tsy misy fahadisoana Segmentation intsony amin'ny fametahana adaptatera PEAK amin'ny Linux. # NanoLib Modules Sampler: Ahitsio sampled-values ​​mamaky amin'ny firmware mode. # NanoLib Modules Sampler: fanitsiana marina ny 502X:04. # NanoLib Modules Sampler: Fampifangaroana tsara ny buffer amin'ny fantsona. # NanoLib-Canopen: Nitombo ny fe-potoana CAN ho an'ny fahamendrehana sy ny scan marina amin'ny baudrates ambany. # NanoLib-Modbus: algorithm fitiliana VCP ho an'ny fitaovana manokana (USB-DA-IO).
+ Fanohanana EtherCAT.
+ Fanamarihana momba ny firafitry ny tetikasa VS ao amin'ny Configure ny tetikasanao.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileAnarana (). + const std::string & xmlFileLalana ao amin'ny addObjectDictionary (). + mahazoSamplerInterface ().

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

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

60

10 Imprint, contact, versions

tahirin-kevitra
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

+ Nampiana > Novana # Fixed + rebootDevice (). + Kaody diso ResourceUnavailable ho an'ny getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, ary ~Uid. > firmwareUploadFromFile izao uploadFirmwareFromFile (). > firmwareUpload () izao uploadFirmware (). > bootloaderUploadFromFile () izao uploadBootloaderFromFile (). > bootloaderUpload () izao uploadBootloader (). > bootloaderFirmwareUploadFromFile () hampiakatraBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () izao uploadBootloaderFirmware (). > nanojUploadFromFile () izao uploadNanoJFromFile (). > nanojUpload () izao uploadNanoJ (). > objectDictionaryLibrary () ankehitriny getObjectDictionaryLibrary (). > String_String_Map izao StringStringMap. > NanoLib-Common: fanatanterahana haingana kokoa ny listAvailableBusHardware sy openBusHardwareWithProtocol miaraka amin'ny adaptatera Ixxat. > NanoLib-CANopen: fampiasana default (1000k baudrate, Ixxat bus number 0) raha tsy misy ny safidy fitaovan'ny fiara fitateram-bahoaka. > NanoLib-RESTful: ny fahazoan-dàlana admin dia lany andro ho an'ny fifandraisana amin'ireo bootloader Ethernet eo ambanin'ny Windows raha misy ny mpamily npcap / winpcap. # NanoLib-CANopen: ny fitaovan'ny fiara fitateram-bahoaka izao dia misokatra tsy misy fiatoana miaraka amin'ny safidy foana. # NanoLib-Common: openBusHardwareWithProtocol () tsy misy fitadidiana mivoaka izao.
+ Fanohanana Linux ARM64. + USB fitahirizana faobe / REST / Profinet DCP fanohanana. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (nosoloina NanotecExceptions). + NanoLib Modbus: VCP / USB hub mitambatra amin'ny USB. > Modbus TCP scan dia mamerina valiny. < Mijanona ho tsy miova ny faharetan'ny fifandraisana Modbus TCP.
+ ObjectEntryDataType bebe kokoa (sarotra sy profile- manokana). + IOError miverina raha connectDevice () sy scanDevices () tsy mahita. + 100 ms ihany ny fotoana voafetra ho an'ny CanOpen / Modbus.
+ Fanohanana Modbus (miampy USB Hub amin'ny VCP). + Toko Mamorona tetikasa Linux anao manokana. + extraHardwareSpecifier amin'ny BusHardwareId (). + extraId_ sy extraStringId_ amin'ny DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Fanamboarana bug.
Edition.

vokatra
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Dikan-teny: doc 1.4.2 / NanoLib 1.3.0

61

Documents / Loharano

Nanotic NanoLib C++ Programming [pdf] Boky Torolàlana
NanoLib C Programming, C Programming, Programming

References

Mametraha hevitra

Tsy havoaka ny adiresy mailakao. Voamarika ireo saha ilaina *