Nanotic-LOGO

Nanotic NanoLib C++ Programmazzjoni

Nanotic-NanoLib-C++-Programming-PRODOTT

Informazzjoni dwar il-Prodott

Speċifikazzjonijiet

  • Isem tal-Prodott: NanoLib
  • Programmazzjoni Lingwa: C++
  • Verżjoni tal-Prodott: 1.3.0
  • Verżjoni tal-Manwal tal-Utent: 1.4.2

Il-librerija NanoLib hija mfassla għall-ipprogrammar ta 'softwer ta' kontroll għall-kontrolluri Nanotec. Jipprovdi interface għall-utent, funzjonalitajiet ewlenin, u libreriji ta 'komunikazzjoni biex jiffaċilitaw l-iżvilupp ta' applikazzjonijiet ta 'kontroll.

Istruzzjonijiet għall-Użu tal-Prodott

  • Qabel tibda:
    • Kun żgur li s-sistema tiegħek tissodisfa r-rekwiżiti tal-hardware speċifikati fil-manwal. L-udjenza maħsuba għal dan il-prodott tinkludi żviluppaturi li qed ifittxu li joħolqu softwer ta 'kontroll għall-kontrolluri Nanotec.
  • Nibdew:
    • Biex tibda tuża NanoLib, segwi dawn il-passi:
    • Ibda billi timporta NanoLib fil-proġett tiegħek.
    • Ikkonfigura s-settings tal-proġett tiegħek kif meħtieġ.
    • Ibni l-proġett tiegħek biex tinkorpora l-funzjonalitajiet NanoLib.
  • Ħolqien ta' Proġetti:
    • Tista 'toħloq proġetti kemm għall-ambjenti Windows u Linux. Segwi l-istruzzjonijiet speċifiċi pprovduti fil-manwal għal kull pjattaforma.
  • Klassijiet / Referenza tal-Funzjonijiet:
    • Irreferi għall-manwal tal-utent għal gwida dettaljata dwar il-klassijiet u l-funzjonijiet disponibbli f'NanoLib għall-ipprogrammar tas-softwer tal-kontroll.

FAQs

  • Q: X'inhu l-iskop ta 'NanoLib?
    • A: NanoLib hija librerija għall-ipprogrammar ta 'softwer ta' kontroll għall-kontrolluri Nanotec, li tipprovdi funzjonalitajiet essenzjali u kapaċitajiet ta 'komunikazzjoni.
  • Q: Kif nista' nibda b'NanoLib?
    • A: Ibda billi timporta NanoLib fil-proġett tiegħek, tikkonfigura s-settings tal-proġett, u tibni l-proġett tiegħek biex tutilizza l-karatteristiċi tan-NanoLib.

"`

Manwal għall-Utent NanoLib
C++

Validu mal-verżjoni tal-prodott 1.3.0

Verżjoni tal-Manwal tal-Utent: 1.4.2

Għan tad-dokument u konvenzjonijiet

Dan id-dokument jiddeskrivi s-setup u l-użu tal-librerija NanoLib u fih referenza għall-klassijiet u l-funzjonijiet kollha għall-ipprogrammar tas-softwer tal-kontroll tiegħek stess għall-kontrolluri Nanotec. Aħna nużaw it-tipa li ġejjin:
Test issottolinjat jimmarka cross reference jew hyperlink.
Example 1: Għal struzzjonijiet eżatti dwar in-NanoLibAccessor, ara Setup. Eżample 2: Installa s-sewwieq Ixxat u qabbad l-adapter CAN-to-USB. Test korsiv ifisser: Dan huwa oġġett imsemmi, mogħdija/oġġett tal-menu, tab/ file isem jew (jekk meħtieġ) espressjoni ta’ lingwa barranija.
Example 1: Agħżel File > Ġdid > Dokument Blank. Iftaħ it-tab Għodda u agħżel Kumment. Eżample 2: Dan id-dokument jaqsam l-utenti (= Nutzer; usuari; utente; utilisateur; utente eċċ.) minn:
– Utent terz (= Drittnutzer; tercero usuario; terzo utente; tiers utilisateur; terzo utente eċċ.). – End user (= Endnutzer; usuario final; utente final; utilisateur final; utente finale eċċ.).
Il-kurrier jimmarka blokki ta' kodiċi jew ordnijiet ta' programmazzjoni. Eżample 1: Via Bash, sejħa sudo make install biex tikkopja oġġetti kondiviżi; imbagħad ċempel ldconfig. Eżample 2: Uża l-funzjoni NanoLibAccessor li ġejja biex tbiddel il-livell tal-illoggjar f'NanoLib:
// ***** Varjant C++ *****
void setLoggingLevel(livell ta' LogLevel);
Test b'tipa grassa jenfasizza kliem individwali ta' importanza kritika. Inkella, marki tal-esklamazzjoni fil-parentesi jenfasizzaw l-importanza kritika(!).
Example 1: Ipproteġi lilek innifsek, lill-oħrajn u t-tagħmir tiegħek. Segwi n-noti ġenerali tas-sigurtà tagħna li huma ġeneralment applikabbli għall-prodotti Nanotec kollha.
Example 2: Għall-protezzjoni tiegħek, segwi wkoll noti speċifiċi ta 'sigurtà li japplikaw għal dan il-prodott speċifiku. Il-verb li tikklikkja flimkien ifisser ikklikkja permezz ta’ ċavetta sekondarja tal-maws biex tiftaħ menu tal-kuntest eċċ.
Example 1: Ikklikkja fuq il- file, agħżel Semmi, u semmi mill-ġdid file. Eżample 2: Biex tiċċekkja l-proprjetajiet, ko-ikklikkja fuq il- file u agħżel Properties.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

4

Qabel ma tibda

Qabel ma tibda tuża NanoLib, ipprepara l-PC tiegħek u informa lilek innifsek dwar l-użu maħsub u l-limitazzjonijiet tal-librerija.
2.1 Rekwiżiti tas-sistema u tal-ħardwer

Nanotic-NanoLib-C++-Programming-FIG- (1)
AVVIŻ Ħsara minn tħaddim ta' 32-bit jew sistema li twaqqfet! Uża, u żżomm b'mod konsistenti, sistema 64-bit. Osserva t-twaqqif u l-istruzzjonijiet tal-OEM.

NanoLib 1.3.0 jappoġġja l-prodotti kollha Nanotec b'CANOpen, Modbus RTU (ukoll USB fuq port virtwali com), Modbus TCP, EtherCat, u Profinet. Għal NanoLibs anzjani: Ara changelog fl-imprint. Għar-riskju tiegħek biss: użu tas-sistema legata. Nota: Segwi struzzjonijiet OEM validi biex tissettja l-latency baxx kemm jista 'jkun jekk tiffaċċja problemi meta tuża adapter USB ibbażat fuq FTDI.

Rekwiżiti (sistema ta' 64 bit obbligatorja)
Windows 10 jew 11 b'Visual Studio 2019 verżjoni 16.8 jew aktar tard u Windows SDK 10.0.20348.0 (verżjoni 2104) jew aktar tard
C++ redistributables 2017 jew ogħla CANopen: Ixxat VCI jew sewwieq bażiku PCAN (mhux obbligatorju) Modulu EtherCat / Profinet DCP: Npcap jew WinPcap Modulu RESTful: Npcap, WinPcap, jew permess tal-amministratur għal
tikkomunika w / bootloaders Ethernet
Linux w/ Ubuntu 20.04 LTS sa 24 (x64 u arm64 kollha)
Headers tal-kernel u pakkett libpopt-dev Profinet DCP: CAP_NET_ADMIN u CAP_NET_RAW abilità
rabtiet CANopen: Ixxat ECI driver jew Peak PCAN-USB adapter EtherCat: CAP_NET_ADMIN, CAP_NET_RAW u
CAP_SYS_NICE abbiltajiet RESTful: CAP_NET_ADMIN abbiltà li jikkomunika bl-Eth-
bootloaders tal-ernet (rakkomandat ukoll: CAP_NET_RAW)

Lingwa, fieldbus adapters, kejbils
C++ GCC 7 jew ogħla (Linux)
EtherCAT: Ethernet cable VCP / USB hub: issa uniformi USB USB ħażna tal-massa: USB cable REST: Ethernet cable CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB adapter Nru Ixxat appoġġ għal Ubuntu fuq arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 jew adapter ekwivalenti; Kejbil USB fuq port virtwali tal-com (VCP)
Modbus TCP: Cable Ethernet skont id-datasheet tal-prodott

2.2 Użu maħsub u udjenza
NanoLib huwa librerija ta' programmi u komponent ta' softwer għat-tħaddim ta', u komunikazzjoni ma', kontrolluri Nanotec f'firxa wiesgħa ta' applikazzjonijiet industrijali u għal programmaturi tas-sengħa kif suppost biss.
Minħabba ħardwer (PC) u sistema operattiva inkapaċi f'ħin reali, NanoLib mhuwiex għall-użu f'applikazzjonijiet li jeħtieġu moviment sinkroniku multi-assi jew li huma ġeneralment sensittivi għall-ħin.
Fl-ebda każ ma tista' tintegra NanoLib bħala komponent ta' sigurtà fi prodott jew sistema. Mal-kunsinna lill-utenti finali, trid iżżid avviżi ta' twissija u struzzjonijiet korrispondenti għal użu sikur u tħaddim sikur għal kull prodott b'komponent manifatturat minn Nanotec. Trid tgħaddi l-avviżi ta' twissija kollha maħruġa minn Nanotec dritt lill-utent aħħari.
2.3 L-ambitu tal-kunsinna u l-garanzija
NanoLib jiġi bħala folder *.zip mit-tniżżil tagħna websit għall-EMEA/APAC jew l-AMERIKA. Aħżen kif suppost u unzip download tiegħek qabel is-setup. Il-pakkett NanoLib fih:

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

5

2 Qabel ma tibda

Intestaturi tal-interface bħala kodiċi tas-sors (API)

Il-qalba tiffunzjona bħala libreriji f'format binarju: nano-

Libreriji li jiffaċilitaw il-komunikazzjoni: nanolibm_ lib.dll

[yourfieldbus].dll eċċ.

Example proġett: Eżample.sln (Visual Studio

proġett) u example.cpp (main file)

Għall-ambitu tal-garanzija, jekk jogħġbok osserva a) it-termini u l-kundizzjonijiet tagħna jew għall-EMEA/APAC jew għall-AMERIKA u b) it-termini kollha tal-liċenzja. Nota: Nanotec mhix responsabbli għal kwalità, immaniġġjar, installazzjoni, tħaddim, użu u manutenzjoni difettużi jew mhux dovuti ta 'tagħmir ta' partijiet terzi! Għas-sigurtà dovuta, dejjem segwi l-istruzzjonijiet OEM validi.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

6

L-arkitettura NanoLib

L-istruttura tas-software modulari ta 'NanoLib tħallik tirranġa kontrollur tal-mutur / funzjonijiet fieldbus li jistgħu jiġu personalizzati b'mod liberu madwar qalba strettament mibnija minn qabel. NanoLib fih il-moduli li ġejjin:

Interfaċċja tal-utent (API)

qalba NanoLib

Interface u klassijiet helper li Libreriji li

Libreriji tal-komunikazzjoni Libreriji speċifiċi Fieldbus li

aċċess inti għall-kontrollur tiegħek timplimenta l-funzjonalità API do interface bejn NanoLib

OD (dizzjunarju tal-oġġett)

jinteraġixxi mal-libreriji tal-karozzi tal-linja.

ħardwer tal-qalba u tal-karozzi tal-linja.

bażi fuq il-funzjoni ċentrali NanoLib

nazzjonalitajiet.

3.1 Interface tal-utent

L-interface tal-utent tikkonsisti f'interface tal-header files tista tuża biex taċċessa l-parametri tal-kontrollur. Il-klassijiet tal-interface tal-utent kif deskritti fir-referenza tal-Klassijiet/funzjonijiet jippermettulek:
Qabbad kemm mal-ħardwer (adapter tal-fieldbus) kif ukoll mal-apparat tal-kontrollur. Aċċessa l-OD tal-apparat, biex taqra/tikteb il-parametri tal-kontrollur.

3.2 qalba NanoLib

Il-qalba tan-NanoLib tiġi mal-librerija ta 'importazzjoni nanolib.lib. Hija timplimenta l-funzjonalità tal-interface tal-utent u hija responsabbli għal:
Tagħbija u ġestjoni tal-libreriji tal-komunikazzjoni. Jipprovdu l-funzjonalitajiet tal-interface tal-utent fin-NanoLibAccessor. Dan il-punt tad-dħul tal-komunikazzjoni jidde-
timmulta sett ta 'operazzjonijiet li tista' tesegwixxi fuq il-libreriji tal-qalba u tal-komunikazzjoni tan-NanoLib.

3.3 Libreriji tal-komunikazzjoni

Minbarra nanotec.services.nanolib.dll (utli għall-Plug & Drive Studio fakultattiv tiegħek), NanoLib joffri l-libreriji tal-komunikazzjoni li ġejjin:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Il-libreriji kollha jistabbilixxu saff ta 'astrazzjoni tal-ħardwer bejn il-qalba u l-kontrollur. Il-qalba jgħabbihom fl-istartjar mill-folder tal-proġett magħżul u jużahom biex jistabbilixxi komunikazzjoni mal-kontrollur permezz ta 'protokoll korrispondenti.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

7

Nibdew

Aqra kif twaqqaf NanoLib għas-sistema operattiva tiegħek kif suppost u kif tikkonnettja l-ħardwer kif meħtieġ.
4.1 Ipprepara s-sistema tiegħek
Qabel ma tinstalla s-sewwieqa tal-adapter, l-ewwel ipprepara l-PC tiegħek tul is-sistema operattiva. Biex tipprepara l-PC tul il-Windows OS tiegħek, installa MS Visual Studio b'estensjonijiet C++. Biex tinstalla make u gcc minn Linux Bash, ċempel sudo apt install build-essentials. Imbagħad ippermetti CAP_NET_ADMIN, CAP_NET_RAW, u CAP_SYS_NICE kapaċitajiet għall-applikazzjoni li tuża NanoLib: 1. Ċempel sudo setcap 'cap_net_admin, cap_net_raw, cap_sys_nice+eip'
isem>. 2. Imbagħad biss, installa s-sewwieqa tal-adapter tiegħek.
4.2 Installa s-sewwieq tal-adapter Ixxat għall-Windows
Biss wara l-installazzjoni dovuta tas-sewwieq, tista 'tuża l-adapter USB-to-CAN V2 ta' Ixxat. Aqra l-manwal tal-prodott tal-USB drives, biex titgħallem jekk / kif tattiva l-komport virtwali (VCP). 1. Niżżel u installa s-sewwieq VCI 4 ta' Ixxat għall-Windows minn www.ixxat.com. 2. Qabbad l-adapter kompatt USB-to-CAN V2 ta 'Ixxat mal-PC permezz tal-USB. 3. Permezz tal-Maniġer tal-Apparat: Iċċekkja jekk kemm is-sewwieq kif ukoll l-adapter humiex installati/rikonoxxuti kif suppost.
4.3 Installa s-sewwieq tal-adapter Peak għall-Windows
Biss wara l-installazzjoni dovuta tas-sewwieq, tista 'tuża l-adapter PCAN-USB ta' Peak. Aqra l-manwal tal-prodott tal-USB drives, biex titgħallem jekk / kif tattiva l-komport virtwali (VCP). 1. Niżżel u installa s-setup tas-sewwieq tal-apparat tal-Windows (= pakkett ta 'installazzjoni w/ drivers tal-apparat, għodod, u
APIs) minn http://www.peak-system.com. 2. Qabbad l-adapter PCAN-USB ta 'Peak mal-PC permezz tal-USB. 3. Permezz tal-Maniġer tal-Apparat: Iċċekkja jekk kemm is-sewwieq kif ukoll l-adapter humiex installati/rikonoxxuti kif suppost.
4.4 Installa s-sewwieq tal-adapter Ixxat għal Linux
Biss wara l-installazzjoni dovuta tas-sewwieq, tista 'tuża l-adapter USB-to-CAN V2 ta' Ixxat. Nota: Adapters appoġġjati oħra jeħtieġu l-permessi tiegħek minn sudo chmod +777/dev/ttyACM* (* numru tat-tagħmir). Aqra l-manwal tal-prodott tal-USB drives, biex titgħallem jekk / kif tattiva l-komport virtwali (VCP). 1. Installa s-softwer meħtieġ għas-sewwieq ECI u l-applikazzjoni demo:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Niżżel is-sewwieq ECI-for-Linux minn www.ixxat.com. Unzip permezz:
unzip eci_driver_linux_amd64.zip
3. Installa s-sewwieq permezz ta':
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Iċċekkja għall-installazzjoni tas-sewwieq b'suċċess billi tikkompila u tibda l-applikazzjoni demo:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

8

4 Nibdew
4.5 Installa s-sewwieq tal-adapter Peak għal Linux
Biss wara l-installazzjoni dovuta tas-sewwieq, tista 'tuża l-adapter PCAN-USB ta' Peak. Nota: Adapters appoġġjati oħra jeħtieġu l-permessi tiegħek minn sudo chmod +777/dev/ttyACM* (* numru tat-tagħmir). Aqra l-manwal tal-prodott tal-USB drives, biex titgħallem jekk / kif tattiva l-komport virtwali (VCP). 1. Iċċekkja jekk il-Linux tiegħek għandux headers tal-kernel: ls /usr/src/linux-headers-`uname -r`. Jekk le, installa
minnhom: sudo apt-get install linux-headers-`uname -r` 2. Issa biss, installa l-pakkett libpopt-dev: sudo apt-get install libpopt-dev 3. Niżżel il-pakkett tas-sewwieq meħtieġ (peak-linux-driver- xxx.tar.gz) minn www.peak-system.com. 4. Biex tħollha, uża: tar xzf peak-linux-driver-xxx.tar.gz 5. Fil-folder mhux ippakkjat: Ikkompila u installa d-drivers, il-librerija bażi PCAN, eċċ.: agħmel kollha
sudo make install 6. Biex tiċċekkja l-funzjoni, ipplaggja l-adapter PCAN-USB.
a) Iċċekkja l-modulu tal-qalba:
lsmod | grep pcan b) ... u l-librerija kondiviża:
ls -l /usr/lib/libpcan*
Nota: Jekk iseħħu problemi USB3, uża port USB2.
4.6 Qabbad il-ħardwer tiegħek
Biex tkun tista 'tmexxi proġett NanoLib, qabbad kontrollur Nanotec kompatibbli mal-PC billi tuża l-adapter tiegħek. 1. Permezz ta 'kejbil adattat, qabbad l-adapter tiegħek mal-kontrollur. 2. Qabbad l-adapter mal-PC skont il-folja tad-dejta tal-adapter. 3. Ixgħel il-kontrollur billi tuża provvista ta 'enerġija xierqa. 4. Jekk meħtieġ, ibdel is-settings tal-komunikazzjoni tal-kontrollur Nanotec kif inhu struzzjonijiet fil-manwal tal-prodott tiegħu.
4.7 Tagħbija NanoLib
Għall-ewwel bidu b'affarijiet bażiċi ta 'malajr u faċli, tista' (iżda m'għandekx) tuża l-ex tagħnaample proġett. 1. Skont ir-reġjun tiegħek: Niżżel NanoLib minn tagħna websit għall-EMEA/APAC jew l-AMERIKA. 2. Unzip il-pakkett files / folders u agħżel għażla waħda: Għal affarijiet bażiċi ta 'malajr u faċli: Ara Tibda l-example proġett. Għal customizing avvanzat fil-Windows: Ara l-Ħolqien tal-proġett tal-Windows tiegħek stess. Għal customizing avvanzat fil-Linux: Ara l-Ħolqien tal-proġett Linux tiegħek stess.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

9

Jibda l-example proġett

B'NanoLib mgħobbi kif suppost, l-exampil-proġett jurik permezz tal-użu ta 'NanoLib ma' kontrollur Nanotec. Nota: Għal kull pass, kummenti fl-eżampil-kodiċi jispjega l-funzjonijiet użati. L-exampil-proġett jikkonsisti minn: il- `*_functions_example.*' files, li fihom l-implimentazzjonijiet għall-funzjonijiet tal-interface NanoLib l- `*_callback_example.*' files, li fihom implimentazzjonijiet għad-diversi callbacks (scan, data u
logging) il-'menu_*.*' file, li fih il-loġika tal-menu u tikkodifika l-Example.* file, li huwa l-programm ewlieni, joħloq il-menu u inizjalizza l-parametri kollha użati l-Sampler_example.* file, li fih l-example implimentazzjoni għal sampl-użu. Tista 'ssib aktar examples, b'xi kmandi tal-moviment għal diversi modi ta' tħaddim, fil-Bażi tal-Għarfien f'nanotec.com. Kollha jistgħu jintużaw fil-Windows jew Linux.
Fil-Windows ma Visual Studio 1. Iftaħ il-Example.sln file. 2. Iftaħ l-example.cpp. 3. Iġbor u mexxi l-exampil-kodiċi.
Fil-Linux permezz ta 'Bash 1. Unzip is-sors file, innaviga lejn il-folder b'kontenut unzipped. Il-prinċipali file għall-eżample huwa
example.cpp. 2. Fil-bash, ċempel:
a. "sudo make install" biex tikkopja l-oġġetti kondiviżi u ċempel ldconfig. b. "tagħmel kollha" biex tibni l-eżekutibbli tat-test. 3. Il-folder bin fih ex eżekutibbliample file. Permezz ta 'bash: Mur fil-folder tal-output u ittajpja ./example. Jekk ma jseħħ l-ebda żball, l-oġġetti kondiviżi tiegħek issa huma installati kif suppost, u l-librerija tiegħek hija lesta għall-użu. Jekk l-iżball jaqra ./example: żball waqt it-tagħbija tal-libreriji kondiviżi: libnanolib.so: ma tistax tiftaħ oġġett kondiviż file: L-ebda tali file jew direttorju, l-installazzjoni tal-oġġetti kondiviżi falliet. F'dan il-każ, segwi l-passi li jmiss. 4. Oħloq folder ġdid fi ħdan /usr/local/lib (jeħtieġu d-drittijiet tal-amministratur). Fil-bash, għalhekk ittajpja:
sudo mkdir /usr/local/lib/nanotec
5. Ikkopja l-oġġetti kollha kondiviżi miż-zip filefolder lib ta':
installa ./lib/*.so /usr/local/lib/nanotec/
6. Iċċekkja l-kontenut tal-folder fil-mira bi:
ls -al /usr/local/lib/nanotec/
Għandha telenka l-oġġett kondiviż files mill-fowlder lib. 7. Mexxi ldconfig fuq dan il-folder:
sudo ldconfig /usr/local/lib/nanotec/
L-example hija implimentata bħala applikazzjoni CLI u tipprovdi interface tal-menu. L-entrati fil-menu huma bbażati fuq il-kuntest u se jkunu attivati ​​jew diżattivati, skont l-istat tal-kuntest. Huma joffrulek il-possibbiltà li tagħżel u tesegwixxi diversi funzjonijiet tal-librerija wara l-fluss tax-xogħol tipiku għall-immaniġġjar ta' kontrollur: 1. Iċċekkja l-PC għal ħardwer konness (adapters) u elenkahom. 2. Stabbilixxi konnessjoni ma 'adapter. 3. Skennja l-bus għal apparati ta 'kontrollur konnessi. 4. Qabbad ma 'apparat.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

10

5 Tibda l-example proġett
5. Ittestja waħda jew aktar mill-funzjonijiet tal-librerija: Aqra/tikteb minn/għad-dizzjunarju tal-oġġett tal-kontrollur, aġġorna l-firmware, ittella’ u mexxi programm NanoJ, iġġib il-mutur jaħdem u rranġah, ikkonfigura u uża l-logging/sampler.
6. Agħlaq il-konnessjoni, l-ewwel mal-apparat, imbagħad mal-adapter.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

11

Ħolqien tal-proġett tal-Windows tiegħek stess

Oħloq, ikkumpila u mexxi l-proġett tal-Windows tiegħek stess biex tuża NanoLib.
6.1 Importa NanoLib
Importa l-header NanoLib files u libreriji permezz MS Visual Studio.
1. Iftaħ Visual Studio. 2. Via Oħloq proġett ġdid > App Console C++ > Li jmiss: Agħżel tip ta 'proġett. 3. Semmi l-proġett tiegħek (hawn: NanolibTest) biex toħloq folder tal-proġett fis-Soluzzjoni Explorer. 4. Agħżel Finish. 5. Iftaħ it-twieqi file explorer u naviga għall-folder tal-proġett il-ġdid maħluqa. 6. Oħloq żewġ folders ġodda, inc u lib. 7. Iftaħ il-folder tal-pakkett NanoLib. 8. Minn hemm: Ikkopja l-header files mill-fowlder jinkludu fil-folder tal-proġett tiegħek inc u .lib u .dll kollha
files għal lib folder tal-proġett ġdid tiegħek. 9. Iċċekkja l-folder tal-proġett tiegħek għall-istruttura dovuta, pereżempjuample:

Nanotic-NanoLib-C++-Programming-FIG- (2)folder eċċ għall-istruttura dovuta:
. 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.
6.2 Ikkonfigura l-proġett tiegħek
Uża l-Explorer tas-Soluzzjoni f'MS Visual Studio biex twaqqaf proġetti NanoLib. Nota: Għal tħaddim korrett ta 'NanoLib, agħżel il-konfigurazzjoni tar-rilaxx (mhux debug!) fl-issettjar tal-proġett Visual C++; imbagħad ibni u għaqqad il-proġett ma 'runtimes VC ta' C++ redistributables [2022].
1. Fil-Soluzzjoni Explorer: Mur fil-folder tal-proġett tiegħek (hawn: NanolibTest). 2. Ikklikkja fuq il-folder biex tiftaħ il-menu tal-kuntest. 3. Agħżel Properties. 4. Attiva l-konfigurazzjonijiet kollha u l-pjattaformi kollha. 5. Agħżel C/C++ u mur Direttorji Inkludi Addizzjonali. 6. Daħħal: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Agħżel Linker u mur Direttorji tal-Librerija Addizzjonali. 8. Daħħal: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Estendi Linker u agħżel Input. 10.Mur Dipendenzi Addizzjonali u daħħal: nanolib.lib;%(Dipendenzi Addizzjonali) 11.Ikkonferma permezz ta' OK.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

12

6 Il-ħolqien tal-proġett tal-Windows tiegħek stess
12.Mur Konfigurazzjoni > C++ > Lingwa > Standard tal-Lingwa > Standard ISO C++17 u waqqaf l-istandard tal-lingwa għal C++17 (/std:c++17).
6.3 Ibni l-proġett tiegħek
Ibni l-proġett NanoLib tiegħek f'MS Visual Studio. 1. Iftaħ il-*.cpp prinċipali file (hawn: nanolib_example.cpp) u editja l-kodiċi, jekk ikun hemm bżonn. 2. Agħżel Ibni > Maniġer tal-Konfigurazzjoni. 3. Ibdel il-pjattaformi tas-soluzzjoni attiva għal x64. 4. Ikkonferma permezz Agħlaq. 5. Agħżel Ibni > Ibni soluzzjoni. 6. L-ebda żball? Iċċekkja jekk l-output tal-kompila tiegħek jirrapportax kif suppost:
1>—— Nadif beda: Proġett: NanolibTest, Konfigurazzjoni: Debug x64 —–========== Nadif: 1 irnexxa, 0 falla, 0 qabeż ==========

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

13

7 Il-ħolqien tal-proġett Linux tiegħek stess
7 Il-ħolqien tal-proġett Linux tiegħek stess
Oħloq, ikkumpila u mexxi l-proġett Linux tiegħek stess biex tuża NanoLib. 1. Fil-kit ta 'installazzjoni NanoLib unzipped: Iftaħ /nanotec_nanolib. 2. Sib l-oġġetti kollha kondiviżi fit-tar.gz file. 3. Agħżel għażla waħda: Installa kull lib jew b'Għamlafile jew bl-idejn.
7.1 Installa l-oġġetti kondiviżi ma Makefile
Uża Agħmelfile mal-Linux Bash biex tinstalla awtomatikament il-*.so kollha default files. 1. Via Bash: Mur fil-folder li fih il-markafile. 2. Ikkopja l-oġġetti kondiviżi permezz ta':
sudo make install 3. Ikkonferma permezz ta':
ldconfig
7.2 Installa l-oġġetti kondiviżi bl-idejn
Uża Bash biex tinstalla *.so kollha files ta 'NanoLib manwalment. 1. Via Bash: Oħloq folder ġdid fi ħdan /usr/local/lib. 2. Id-drittijiet tal-amministrazzjoni meħtieġa! Tip:
sudo mkdir /usr/local/lib/nanotec 3. Ibdel għall-folder tal-pakkett ta' installazzjoni mneħħa. 4. Ikkopja l-oġġetti kondiviżi kollha mill-folder lib permezz:
installa ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Iċċekkja l-kontenut tal-folder fil-mira permezz:
ls -al /usr/local/lib/nanotec/ 6. Iċċekkja jekk l-oġġetti kollha kondiviżi mill-fowlder lib humiex elenkati. 7. Mexxi ldconfig fuq dan il-folder permezz ta':
sudo ldconfig /usr/local/lib/nanotec/
7.3 Oħloq il-proġett tiegħek
Bl-oġġetti kondiviżi tiegħek installati: Oħloq proġett ġdid għal Linux NanoLib tiegħek. 1. Via Bash: Oħloq folder ġdid tal-proġett (hawn: NanoLibTest) permezz:
mkdir NanoLibTest cd NanoLibTest
2. Ikkopja l-header files għal include folder (hawn: inc) permezz: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Oħloq main file (NanoLibTest.cpp) permezz: #include “accessor_factory.hpp” #include

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

14

7 Il-ħolqien tal-proġett Linux tiegħek stess
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor ();
nlc::ResultBusHwIds riżultat = accessor->listAvailableBusHardware ();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
inkella{ std::cout << "Suċċess" << std::endl; }
ħassar l-aċċessor; ritorn 0; }
4. Iċċekkja l-folder tal-proġett tiegħek għall-istruttura dovuta:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Iġbor u ttestja l-proġett tiegħek
Agħmel il-Linux NanoLib tiegħek lest għall-użu permezz ta' Bash.
1. Via Bash: Ikkompila l-prinċipali file permezz ta':
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Link l-eżekutibbli flimkien permezz:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Mexxi l-programm tat-test permezz:
./test
4. Iċċekkja jekk Bash tiegħek jirrapportax kif suppost:
suċċess

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

15

8 Klassijiet / referenza tal-funzjonijiet

8 Klassijiet / referenza tal-funzjonijiet

Sib hawn lista tal-klassijiet tal-interface tal-utent ta' NanoLib u l-funzjonijiet tal-membri tagħhom. Id-deskrizzjoni tipika ta’ funzjoni tinkludi introduzzjoni qasira, id-definizzjoni tal-funzjoni u lista ta’ parametri/ritorn:

ExampleFunction () Jgħidlek fil-qosor x'tagħmel il-funzjoni.
virtwali null nlc::NanoLibAccessor::EżampleFunction (Param_a const & param_a, Param_b const & param_B)

Parametri param_a param_b
Ritorna ResultVoid

Kumment addizzjonali jekk meħtieġ. Kumment addizzjonali jekk meħtieġ.

8.1 NanoLibAccessor

Klassi tal-interface użata bħala punt tad-dħul għan-NanoLib. Fluss tax-xogħol tipiku jidher bħal dan:
1. Ibda billi tiskennja għall-ħardwer b'NanoLibAccessor.listAvailableBusHardware (). 2. Issettja s-settings tal-komunikazzjoni ma' BusHardwareOptions (). 3. Iftaħ il-konnessjoni tal-ħardwer ma' NanoLibAccessor.openBusHardwareWithProtocol (). 4. Skennja l-bus għal apparati konnessi ma NanoLibAccessor.scanDevices (). 5. Żid apparat b'NanoLibAccessor.addDevice (). 6. Qabbad mal-apparat b'NanoLibAccessor.connectDevice (). 7. Wara li tispiċċa l-operazzjoni, skonnettja l-apparat b'NanoLibAccessor.disconnectDevice (). 8. Neħħi l-apparat b'NanoLibAccessor.removeDevice (). 9. Agħlaq il-konnessjoni tal-ħardwer ma NanoLibAccessor.closeBusHardware ().
NanoLibAccessor għandu l-funzjonijiet tal-membri pubbliċi li ġejjin:

listAvailableBusHardware () Uża din il-funzjoni biex telenka l-ħardwer fieldbus disponibbli.
virtwali ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Jirritorna ResultBusHwIds

Jagħti firxa ta' ID fieldbus.

openBusHardwareWithProtocol () Uża din il-funzjoni biex tikkonnettja l-ħardwer tax-xarabank.
virtwali ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parametri busHwId busHwOpt
Ritorna ResultVoid

Jispeċifika l-fieldbus li se tiftaħ. Jispeċifika l-għażliet tal-ftuħ tal-fieldbus. Jikkonferma li funzjoni null tkun ħadet.

isBusHardwareOpen () Uża din il-funzjoni biex tivverifika jekk il-konnessjoni tal-hardware fieldbus tiegħek hijiex miftuħa.
virtwali ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

16

8 Klassijiet / referenza tal-funzjonijiet

Parametri BusHardwareId Jirritorna vera
falza

Jispeċifika kull fieldbus li trid tiftaħ. Il-ħardwer huwa miftuħ. Il-ħardwer huwa magħluq.

getProtocolSpecificAccessor () Uża din il-funzjoni biex tikseb l-oġġett aċċessor speċifiku għall-protokoll.
virtwali ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parametri busHwId Ritorn ResultVoid

Jispeċifika l-fieldbus biex tikseb l-accessor għalih. Jikkonferma li funzjoni nulla tkun ħadet.

getProfinetDCP () Uża din il-funzjoni biex tirritorna referenza għall-interface Profinet DCP.
virtwali ProfinetDCP & getProfinetDCP ()

Ritorni ProfinetDCP

getSamplerInterface () Uża din il-funzjoni biex tikseb referenza għall-sampler interface.
virtwali SamplerInterface & getSamplerInterface ()

Jirritorna SamplerInterface

Jirreferi għall-sampler interface klassi.

setBusState () Uża din il-funzjoni biex tissettja l-istat speċifiku tal-bus-protocol.
virtwali ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parametri busHwId state
Ritorna ResultVoid

Jispeċifika l-fieldbus li se tiftaħ. Jassenja stat speċifiku għax-xarabank bħala valur ta' string. Jikkonferma li funzjoni null tkun ħadet.

scanDevices () Uża din il-funzjoni biex tiskennja għal apparati fin-netwerk.
virtwali ResultDeviceIds nlc::NanoLibAccessor::scanDevices (konst BusHardwareId & busHwId, NlcScanBusCallback* callback)

Parametri busHwId callback
Jirritorna ResultDeviceIds IOError

Jispeċifika l-fieldbus li għandu jiġi skennjat. Traċċatur tal-progress NlcScanBusCallback. Jagħti firxa ta' ID tal-apparat. Jinforma li apparat ma jinstabx.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

17

8 Klassijiet / referenza tal-funzjonijiet

addDevice ()
Uża din il-funzjoni biex iżżid apparat tax-xarabank deskritt minn deviceId mal-lista ta 'tagħmir intern ta' NanoLib, u biex tirritorna deviceHandle għaliha.
virtwali ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parametri deviceId Jirritorna ResultDeviceHandle

Jispeċifika l-apparat li żżid mal-lista. Jagħti manku tal-apparat.

connectDevice () Uża din il-funzjoni biex tikkonnettja apparat permezz ta' deviceHandle.
virtwali ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parametri deviceHandle Ritorni ResultVoid
IOError

Jispeċifika liema apparat tax-xarabank jgħaqqad NanoLib. Jikkonferma li funzjoni null tkun ħadet. Jinforma li apparat ma jinstabx.

getDeviceName () Uża din il-funzjoni biex tikseb isem ta' apparat permezz ta' deviceHandle.
ResultString virtwali nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parametri deviceHandle Jirritorna ResultString

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-isem. Jagħti l-ismijiet tal-apparat bħala string.

getDeviceProductCode () Uża din il-funzjoni biex tikseb il-kodiċi tal-prodott ta' apparat permezz ta' deviceHandle.
virtwali ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parametri deviceHandle Ritorni ResultInt

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-kodiċi tal-prodott. Jagħti kodiċijiet tal-prodott bħala numru sħiħ.

getDeviceVendorId () Uża din il-funzjoni biex tikseb l-ID tal-bejjiegħ tat-tagħmir permezz ta' deviceHandle.
virtwali ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parametri deviceHandle Ritorni ResultInt
Riżorsi Mhux Disponibbli

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-ID tal-bejjiegħ. Jagħti ID tal-bejjiegħ bħala numru sħiħ. Jinforma li ma tinstab l-ebda data.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

18

8 Klassijiet / referenza tal-funzjonijiet

getDeviceId () Uża din il-funzjoni biex tikseb ID ta' apparat speċifiku mil-lista interna tan-NanoLib.
virtwali ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parametri deviceHandle Ritorna ResultDeviceId

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-ID tal-apparat. Jagħti ID tal-apparat.

getDeviceIds () Uża din il-funzjoni biex tikseb l-ID tal-apparati kollha mil-lista interna tan-NanoLib.
virtwali ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Jirritorna ResultDeviceIds

Jagħti lista tal-ID tal-apparat.

getDeviceUid () Uża din il-funzjoni biex tikseb l-ID unika ta' apparat (96 bit / 12 bytes) minn deviceHandle.
virtwali ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parametri deviceHandle Ritorna ResultArrayByte
Riżorsi Mhux Disponibbli

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-ID unika għalih. Jagħti ID uniċi bħala firxa ta' byte. Jinforma li ma tinstab l-ebda data.

getDeviceSerialNumber () Uża din il-funzjoni biex tikseb in-numru tas-serje ta' apparat permezz ta' deviceHandle.
ResultString virtwali NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parametri deviceHandle Jirritorna ResultString
Riżorsi Mhux Disponibbli

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu n-numru tas-serje. Jagħti numri tas-serje bħala string. Jinforma li ma tinstab l-ebda data.

getDeviceHardwareGroup () Uża din il-funzjoni biex tikseb grupp ta' ħardwer ta' apparat tax-xarabank permezz ta' deviceHandle.
virtwali ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parametri deviceHandle Ritorni ResultInt

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-grupp tal-ħardwer.
Jagħti gruppi ta' ħardwer bħala numru sħiħ.

getDeviceHardwareVersion () Uża din il-funzjoni biex tikseb il-verżjoni tal-ħardwer ta' apparat tax-xarabank permezz ta' deviceHandle.
virtwali ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

19

8 Klassijiet / referenza tal-funzjonijiet

Parametri deviceHandle

Ritorni

ResultString ResourceUnavailable

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-verżjoni tal-hardware. Jagħti l-ismijiet tal-apparat bħala string. Jinforma li ma tinstab l-ebda data.

getDeviceFirmwareBuildId () Uża din il-funzjoni biex tikseb l-ID tal-bini tal-firmware ta' apparat tax-xarabank permezz ta' deviceHandle.
virtwali ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parametri deviceHandle Jirritorna ResultString

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-ID tal-bini tal-firmware.
Jagħti l-ismijiet tal-apparat bħala string.

getDeviceBootloaderVersion () Uża din il-funzjoni biex tikseb il-verżjoni bootloader ta' apparat tax-xarabank permezz ta' deviceHandle.
virtwali ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parametri deviceHandle

Ritorni

ResultInt ResourceUnavailable

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-verżjoni tal-bootloader. Jagħti verżjonijiet tal-bootloader bħala numru sħiħ. Jinforma li ma tinstab l-ebda data.

getDeviceBootloaderBuildId () Uża din il-funzjoni biex tikseb l-ID tal-bini tal-bootloader ta' apparat tax-xarabank permezz ta' deviceHandle.
virtwali ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parametri deviceHandle Jirritorna ResultString

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-ID tal-bini tal-bootloader.
Jagħti l-ismijiet tal-apparat bħala string.

rebootDevice () Uża din il-funzjoni biex terġa' tibda t-tagħmir permezz ta' deviceHandle.
virtwali ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parametri deviceHandle Ritorni ResultVoid

Jispeċifika l-fieldbus biex jerġa' jibda. Jikkonferma li funzjoni null tkun ħadet.

getDeviceState () Uża din il-funzjoni biex tikseb l-istat speċifiku għall-protokoll tal-apparat.
virtwali ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parametri deviceHandle

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-istat.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

20

8 Klassijiet / referenza tal-funzjonijiet

Jirritorna ResultString

Jagħti l-ismijiet tal-apparat bħala string.

setDeviceState () Uża din il-funzjoni biex tissettja l-istat speċifiku għall-protokoll tal-apparat.
virtwali ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parametri deviceHandle stat
Ritorna ResultVoid

Jispeċifika għal liema apparat tax-xarabank NanoLib jistabbilixxi l-istat. Jassenja stat speċifiku għax-xarabank bħala valur ta' string. Jikkonferma li funzjoni null tkun ħadet.

getConnectionState ()
Uża din il-funzjoni biex tikseb l-aħħar stat ta' konnessjoni magħruf ta' apparat speċifiku permezz ta' deviceHandle (= Skonnettjat, Konness, ConnectedBootloader)
virtwali ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parametri deviceHandle Jirritorna ResultConnectionState

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-istat tal-konnessjoni.
Jagħti stat ta' konnessjoni (= Skonnettjat, Konness, ConnectedBootloader).

checkConnectionState ()
Biss jekk l-aħħar stat magħruf ma kienx Skonnettjat: Uża din il-funzjoni biex tiċċekkja u possibilment taġġorna l-istat tal-konnessjoni ta' apparat speċifiku permezz ta' deviceHandle u billi tittestja diversi operazzjonijiet speċifiċi għall-modalità.
virtwali ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parametri deviceHandle Jirritorna ResultConnectionState

Jispeċifika għal liema apparat tax-xarabank NanoLib jiċċekkja l-istat tal-konnessjoni.
Jagħti stat ta' konnessjoni (= mhux Skonnettjat).

assignObjectDictionary () Uża din il-funzjoni manwali biex tassenja dizzjunarju tal-oġġett (OD) lil deviceHandle waħdek.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parametri deviceHandle objectDizzjunarju
Jirritorna ResultObjectDictionary

Jispeċifika liema apparat tax-xarabank NanoLib jassenja l-OD. Juri l-proprjetajiet ta 'dizzjunarju oġġett.

autoAssignObjectDizzjunarju ()
Uża dan l-awtomatiżmu biex tħalli lil NanoLib tassenja dizzjunarju tal-oġġett (OD) lil deviceHandle. Meta ssib u tgħabbi OD adattat, NanoLib awtomatikament jassenjah lill-apparat. Nota: Jekk OD kompatibbli huwa diġà mgħobbi fil-librerija tal-oġġett, NanoLib jużah awtomatikament mingħajr ma jiskennja d-direttorju sottomess.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

21

8 Klassijiet / referenza tal-funzjonijiet

Parametri deviceHandle

Ritorni

dizzjunarjiLocationPath ResultObjectDizzjunarju

Jispeċifika għal liema apparat tax-xarabank NanoLib għandu awtomatikament jiskennja għal OD's xierqa. Jispeċifika l-mogħdija għad-direttorju OD. Juri l-proprjetajiet ta 'dizzjunarju oġġett.

getAssignedObjectDizzjunarju ()
Uża din il-funzjoni biex tikseb id-dizzjunarju tal-oġġett assenjat lil apparat minn deviceHandle.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
Manku)

Parametri deviceHandle Ritorna ResultObjectDictionary

Jispeċifika għal liema apparat tax-xarabank NanoLib jieħu l-OD assenjat għalih. Juri l-proprjetajiet ta 'dizzjunarju oġġett.

getObjectDictionaryLibrary () Din il-funzjoni tirritorna referenza OdLibrary.
virtwali OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Ritorn OdLibrary&

Jiftaħ il-librerija OD kollha u d-dizzjunarji tal-oġġetti tagħha.

setLoggingLevel () Uża din il-funzjoni biex tissettja d-dettalji tal-log meħtieġa (u log file daqs). Il-livell default huwa Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (livell ta' LogLevel)

Livell tal-parametri

Id-dettalji tal-log li ġejjin huma possibbli:

0 = Traċċa 1 = Debug 2 = Informazzjoni 3 = Twissija 4 = Żball 5 = Kritika 6 = Mitfi

L-aktar livell baxx (l-akbar log file); jirreġistra kwalunkwe dettall fattibbli, flimkien mal-bidu/waqfien tas-softwer. L-informazzjoni tad-debug tal-logs (= riżultati interim, kontenut mibgħut jew riċevut, eċċ.) Livell default; jirreġistra messaġġi informattivi. Irreġistra problemi li seħħew iżda mhux se jwaqqfu l-algoritmu attwali. Zkuk biss inkwiet serju li waqqaf l-algoritmu. L-ogħla livell (l-iżgħar log file); itfi l-illoggjar; ebda log aktar fil-livelli kollha. Ebda qtugħ fil-livelli kollha.

issettjaLoggingCallback ()
Uża din il-funzjoni biex tissettja pointer tal-logging callback u modulu log (= librerija) għal dik ir-callback (mhux għall-logger innifsu).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)

Parametri *callback logModule

Issettja pointer ta' callback. Intuna r-callback (mhux logger!) Mal-librerija tiegħek.

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

Jattiva callback għall-qalba ta 'NanoLib biss. Jattiva callback ta' CANopen biss. Jattiva callback ta' Modbus biss. Jattiva callback ta' EtherCAT biss.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

22

8 Klassijiet / referenza tal-funzjonijiet

4 = NanolibRest 5 = NanolibUSB

Jattiva callback ta' REST biss. Jattiva callback tal-USB biss.

unsetLoggingCallback () Uża din il-funzjoni biex tikkanċella pointer tal-logging callback.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Uża din il-funzjoni biex taqra valur numeriku mid-dizzjunarju tal-oġġett.
virtwali ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametri deviceHandle odIndex
Ritorna ResultInt

Jispeċifika minn liema apparat tax-xarabank jaqra NanoLib. Jispeċifika l-indiċi (sub-) minn fejn jinqara. Jagħti valur numeriku mhux interpretat (jistgħu jiġu ffirmati, mhux iffirmati, iffissaw valuri ta '16.16 bit).

readNumberArray () Uża din il-funzjoni biex taqra arrays numeriċi mid-dizzjunarju tal-oġġett.
virtwali ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, indiċi const uint16_t)

Parametri deviceHandle indiċi
Jirritorna ResultArrayInt

Jispeċifika minn liema apparat tax-xarabank jaqra NanoLib. Indiċi tal-oġġett tal-array. Jagħti firxa ta' numru sħiħ.

readBytes () Uża din il-funzjoni biex taqra bytes arbitrarji (dejta tal-oġġett tad-dominju) mid-dizzjunarju tal-oġġett.
virtwali ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametri deviceHandle odIndex
Jirritorna ResultArrayByte

Jispeċifika minn liema apparat tax-xarabank jaqra NanoLib. Jispeċifika l-indiċi (sub-) minn fejn jinqara. Jagħti firxa ta' byte.

readString () Uża din il-funzjoni biex taqra strings mid-direttorju tal-oġġetti.
virtwali ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametri deviceHandle odIndex
Jirritorna ResultString

Jispeċifika minn liema apparat tax-xarabank jaqra NanoLib. Jispeċifika l-indiċi (sub-) minn fejn jinqara. Jagħti l-ismijiet tal-apparat bħala string.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

23

8 Klassijiet / referenza tal-funzjonijiet

writeNumber () Uża din il-funzjoni biex tikteb valuri numeriċi fid-direttorju tal-oġġetti.
virtwali ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, valur int64_t, const OdIndex odIndex, unsigned int bitLength)

Parametri deviceHandle valur odIndex bitLength
Ritorna ResultVoid

Jispeċifika liema apparat tax-xarabank jikteb NanoLib. Il-valur mhux interpretat (jista 'jiġi ffirmat, mhux iffirmat, jiffissa 16.16). Jispeċifika l-indiċi (sub-) minn fejn jinqara. Tul f'bit. Jikkonferma li funzjoni null tkun ħadet.

writeBytes () Uża din il-funzjoni biex tikteb bytes arbitrarji (dejta tal-oġġett tad-dominju) fid-direttorju tal-oġġett.
virtwali ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & data, const OdIndex odIndex)

Parametri deviceHandle data odIndex
Ritorna ResultVoid

Jispeċifika liema apparat tax-xarabank jikteb NanoLib. Byte vector / array. Jispeċifika l-indiċi (sub-) minn fejn jinqara. Jikkonferma li funzjoni null tkun ħadet.

uploadFirmware ()
Uża din il-funzjoni biex taġġorna l-firmware tal-kontrollur tiegħek.
virtwali ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* callback)

Parametri deviceHandle fwData NlcDataTransferCallback
Ritorna ResultVoid

Jispeċifika liema apparat tax-xarabank jaġġorna NanoLib. Array li jkun fih data tal-firmware. Traċċatur tal-progress tad-dejta. Jikkonferma li funzjoni null tkun ħadet.

uploadFirmwareFromFile ()
Uża din il-funzjoni biex taġġorna l-firmware tal-kontrollur tiegħek billi ttella' tagħha file.
virtwali ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & assolutaFilePath, NlcDataTransferCallback* callback)

Parametri deviceHandle assolutiFileMogħdija NlcDataTransferCallback
Ritorna ResultVoid

Jispeċifika liema apparat tax-xarabank jaġġorna NanoLib. Mogħdija lejn file li jkun fih data tal-firmware (std::string). Traċċatur tal-progress tad-dejta. Jikkonferma li funzjoni nulla tkun ħadet.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

24

8 Klassijiet / referenza tal-funzjonijiet

uploadBootloader ()
Uża din il-funzjoni biex taġġorna l-bootloader tal-kontrollur tiegħek.
virtwali ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* callback)

Parametri deviceHandle btData NlcDataTransferCallback
Ritorna ResultVoid

Jispeċifika liema apparat tax-xarabank jaġġorna NanoLib. Array li fih data tal-bootloader. Traċċatur tal-progress tad-dejta. Jikkonferma li funzjoni null tkun ħadet.

uploadBootloaderFromFile ()
Uża din il-funzjoni biex taġġorna l-bootloader tal-kontrollur tiegħek billi ttella' file.
virtwali ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePath, NlcDataTransferCallback* callback)

Parametri deviceHandle bootloaderAbsoluteFileMogħdija NlcDataTransferCallback
Ritorna ResultVoid

Jispeċifika liema apparat tax-xarabank jaġġorna NanoLib. Mogħdija lejn file li jkun fih data tal-bootloader (std::string). Traċċatur tal-progress tad-dejta. Jikkonferma li funzjoni nulla tkun ħadet.

uploadBootloaderFirmware ()
Uża din il-funzjoni biex taġġorna l-bootloader u l-firmware tal-kontrollur tiegħek.
virtwali ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* callback)

Parametri deviceHandle btData fwData NlcDataTransferCallback
Ritorna ResultVoid

Jispeċifika liema apparat tax-xarabank jaġġorna NanoLib. Array li fih data tal-bootloader. Array li jkun fih data tal-firmware. Traċċatur tal-progress tad-dejta. Jikkonferma li funzjoni null tkun ħadet.

uploadBootloaderFirmwareFromFile ()
Uża din il-funzjoni biex taġġorna l-bootloader u l-firmware tal-kontrollur tiegħek billi ttella' l- files.
virtwali ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePath, const std::string & assolutaFilePath, NlcDataTransferCallback* callback)

Parametri deviceHandle bootloaderAbsoluteFileMogħdija assolutaFileMogħdija NlcDataTransferCallback
Ritorna ResultVoid

Jispeċifika liema apparat tax-xarabank jaġġorna NanoLib. Mogħdija lejn file li jkun fih data tal-bootloader (std::string). Mogħdija lejn file li jkun fih data tal-firmware (uint8_t). Traċċatur tal-progress tad-dejta. Jikkonferma li funzjoni nulla tkun ħadet.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

25

8 Klassijiet / referenza tal-funzjonijiet

uploadNanoJ ()
Uża din il-funzjoni pubblika biex ittella' l-programm NanoJ lill-kontrollur tiegħek.
virtwali ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* callback)

Parametri deviceHandle vmmData NlcDataTransferCallback
Ritorna ResultVoid

Jispeċifika fuq liema apparat tax-xarabank jittella' NanoLib. Array li fih data tan-NanoJ. Traċċatur tal-progress tad-dejta. Jikkonferma li funzjoni null tkun ħadet.

uploadNanoJFromFile ()
Uża din il-funzjoni pubblika biex ittella' l-programm NanoJ lill-kontrollur tiegħek billi ttella' l- file.
virtwali ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & assolutaFilePath, NlcDataTransferCallback* callback)

Parametri deviceHandle assolutiFileMogħdija NlcDataTransferCallback
Ritorna ResultVoid

Jispeċifika fuq liema apparat tax-xarabank jittella' NanoLib. Mogħdija lejn file li jkun fiha data NanoJ (std::string). Traċċatur tal-progress tad-dejta. Jikkonferma li funzjoni null tkun ħadet.

disconnectDevice () Uża din il-funzjoni biex skonnettja t-tagħmir tiegħek permezz ta' deviceHandle.
virtwali ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parametri deviceHandle Ritorni ResultVoid

Jispeċifika minn liema apparat tax-xarabank jiskonnettja NanoLib. Jikkonferma li funzjoni null tkun ħadet.

removeDevice () Uża din il-funzjoni biex tneħħi t-tagħmir tiegħek mil-lista interna tat-tagħmir tan-NanoLib.
virtwali ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Parametri deviceHandle Ritorni ResultVoid

Jispeċifika liema apparat tax-xarabank NanoLib jneħħi. Jikkonferma li funzjoni null tkun ħadet.

closeBusHardware () Uża din il-funzjoni biex skonnettja mill-hardware fieldbus tiegħek.
virtwali ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parametri busHwId Ritorn ResultVoid

Jispeċifika l-fieldbus minn fejn skonnettja. Jikkonferma li funzjoni null tkun ħadet.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

26

8 Klassijiet / referenza tal-funzjonijiet

8.2 BusHardwareId
Uża din il-klassi biex tidentifika ħardwer tax-xarabank one-to-one jew biex tiddistingwi ħardwer tax-xarabank differenti minn xulxin. Din il-klassi (mingħajr funzjonijiet tas-setter li jkunu immutabbli mill-ħolqien fuq) iżżomm ukoll informazzjoni dwar:
Ħardwer (= isem tal-adapter, adapter tan-netwerk eċċ.) Protokoll li għandu jintuża (= Modbus TCP, CANopen eċċ.) Speċifikatur tal-ħardwer tal-karozzi tal-linja (= isem tal-port tas-serje, isem ta' ħbiberija MAC
indirizz eċċ.)

BusHardwareId () [1/3] Kostruttur li joħloq oġġett ġdid tal-ID tal-ħardwer tax-xarabank.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parametri busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Tip ta 'ħardwer (= ZK-USB-CAN-1 eċċ.). Protokoll tal-komunikazzjoni tal-karozzi tal-linja (= CANopen eċċ.). L-ispeċifikazzjoni ta' hardware (= COM3 eċċ.). L-ispeċifikazzjoni żejda tal-ħardwer (jiġifieri, informazzjoni dwar il-post tal-USB). Isem faċli (= AdapterName (Port) eċċ.).

BusHardwareId () [2/3] Kostruttur li joħloq oġġett ġdid tal-ID tal-ħardwer tax-xarabank, bl-għażla għal speicifier tal-ħardwer żejda.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)

Parametri busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Tip ta 'ħardwer (= ZK-USB-CAN-1 eċċ.). Protokoll tal-komunikazzjoni tal-karozzi tal-linja (= CANopen eċċ.). L-ispeċifikazzjoni ta' hardware (= COM3 eċċ.). L-ispeċifikazzjoni żejda tal-ħardwer (jiġifieri, informazzjoni dwar il-post tal-USB). Isem faċli (= AdapterName (Port) eċċ.).

BusHardwareId () [3/3] Kostruttur li jikkopja busHardwareId eżistenti.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parametri busHardwareId

Isem l-ID tal-hardware tal-karozzi tal-linja minn fejn tikkopja.

ugwali () Tqabbel ID tal-ħardwer tax-xarabank ġdid ma' dawk eżistenti.
bool nlc::BusHardwareId::equals (BusHardwareId const u oħrajn) const

Parametri oħra Ritorn veru

Oġġett ieħor tal-istess klassi. Jekk it-tnejn huma ugwali fil-valuri kollha.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

27

8 Klassijiet / referenza tal-funzjonijiet

falza

Jekk il-valuri jvarjaw.

getBusHardware () Jaqra s-sekwenza tal-ħardwer tax-xarabank.
std::string nlc::BusHardwareId::getBusHardware () const

Ritorn string

getHardwareSpecifier () Jaqra s-sekwenza tal-ispeċifikazzjoni tal-ħardwer tax-xarabank (= isem tan-netwerk eċċ.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Ritorn string

getExtraHardwareSpecifier () Jaqra s-sekwenza tal-ispeċifikazzjoni tal-ħardwer żejda tax-xarabank (= indirizz MAC eċċ.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Ritorn string

getName () Jaqra l-isem faċli tal-ħardwer tax-xarabank.
std::string nlc::BusHardwareId::getName () const

Ritorn string

getProtocol () Jaqra s-sekwenza tal-protokoll tal-linja.
std::string nlc::BusHardwareId::getProtocol () const

Ritorn string

toString () Jirritorna l-ID tal-ħardwer tax-xarabank bħala string.
std::string nlc::BusHardwareId::toString () const

Ritorn string
8.3 BusHardwareOptions
Sib f'din il-klassi, f'lista ta 'kordi ta' valur ewlieni, l-għażliet kollha meħtieġa biex tiftaħ hardware tal-karozzi tal-linja.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

28

8 Klassijiet / referenza tal-funzjonijiet

BusHardwareOptions () [1/2] Tibni oġġett ġdid ta' għażla ta' hardware tal-linja.
nlc::BusHardwareOptions::BusHardwareOptions () Uża l-funzjoni addOption () biex iżżid il-pari ewlenin-valur.

BusHardwareOptions () [2/2] Tibni oġġett ġdid tal-għażliet tal-ħardwer tax-xarabank bil-mappa tal-valur taċ-ċavetta diġà fis-seħħ.
nlc::BusHardwareOptions::BusHardwareOptions (std::mappa const u għażliet)

Għażliet tal-parametri

Mappa b'għażliet għall-ħardwer tax-xarabank biex jopera.

addOption () Joħloq ċwievet u valuri addizzjonali.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Valur ewlieni tal-parametri

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

ugwali () Tqabbel il-BusHardwareOptions ma' dawk eżistenti.
bool nlc::BusHardwareOptions::ugwali (BusHardwareOptions const u oħrajn) const

Parametri oħra Ritorn veru
falza

Oġġett ieħor tal-istess klassi. Jekk l-oġġett l-ieħor ikollu l-istess għażliet eżatti kollha. Jekk l-oġġett l-ieħor ikollu ċwievet jew valuri differenti.

getOptions () Jaqra l-pari kollha miżjuda ta' valuri ewlenin.
std::mappa nlc::BusHardwareOptions::getOptions () const

Jirritorna mappa string

toString () Jirritorna ċ-ċwievet / valuri kollha bħala string.
std::string nlc::BusHardwareId::toString () const

Ritorn string
8.4 BusHwOptionsDefault
Din il-klassi ta' għażliet ta' konfigurazzjoni default għandha l-attributi pubbliċi li ġejjin:

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

29

8 Klassijiet / referenza tal-funzjonijiet

const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Struttura li fiha baudrates tal-linja CAN fl-attributi pubbliċi li ġejjin:

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

BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_RATE_100K = "UD_RATE_100K"_50 "_50K"_20 ATE_20K = “10k” BAUD_RATE_10K = “5k” BAUD_RATE_5K = “XNUMXk”

8.6 CanBus

Klassi ta' għażliet ta' konfigurazzjoni default bl-attributi pubbliċi li ġejjin:

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = “baud rate ta’ l-adapter” baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Għas-servizz NMT, din l-istruttura fiha l-istati CANopen NMT bħala valuri ta’ string fl-attributi pubbliċi li ġejjin:

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

START = “START” STOP = “WAQQF” PRE_OPERATIONAL = “PR_OPERATIONAL” RESET = “IRRISTETTA” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

Din l-istruttura fiha l-istati CANopen NMT bħala valuri ta’ string fl-attributi pubbliċi li ġejjin:

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

WAQQAF = “WAQQFA” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “OPERAZZJONALI” INIZJALIZZAZZJONI = “INIZJALIZZAZZJONI” MHUX MAGĦRUF = “MHUX MAGRUF”

8.9 Struttura EtherCATBus

Din l-istruttura fiha l-għażliet tal-konfigurazzjoni tal-komunikazzjoni EtherCAT fl-attributi pubbliċi li ġejjin:

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

30

8 Klassijiet / referenza tal-funzjonijiet

const std::string NETWORK_FIRMWARE_STATE_OP- L-istat tan-netwerk trattat bħala mod firmware. Aċċettabbli

TION_NAME = “Stat tal-Firmware tan-Netwerk”

valuri (default = PRE_OPERATIONAL):

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

const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Timeout f'millisekondi biex takkwista lock esklussiv fuq

TION_NAME = “Timeout tal-Lock Kondiviż”

in-netwerk (default = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Timeout f'millisekondi biex takkwista lock kondiviż fuq

ISEM = "Timeout tal-Lock Kondiviż"

in-netwerk (default = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = Timeout f'millisekondi għal operazzjoni ta' qari (default

"Aqra Timeout"

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = Timeout f'millisekondi għal operazzjoni ta' kitba (default

"Write Timeout"

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

const std::string READ_WRITE_ATTEMPTS_OPTION_ Massimi tentattivi ta' qari jew ta' kitba (valuri mhux żero

ISEM = "Aqra/Kitba Tentattivi"

biss; default = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Tbiddlu l-Attentattivi tal-Istat tan-Netwerk”

Numru massimu ta' tentattivi biex jinbidel l-istat tan-netwerk (valuri mhux żero biss; default = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME Jippermetti jew tiddiżattiva l-ipproċessar tal-PDO għall-in-/

= "PDO IO Ippermettiet"

outputs (“Veru” jew “Falz” biss; default = “Veru”).

const std::string DEFAULT_PDO_IO_ENABLED = “Veru”

8.10 EtherCATState struct

Din l-istruttura fiha l-istati slave / tan-netwerk EtherCAT bħala valuri ta 'string fl-attributi pubbliċi li ġejjin. Nota: L-istat default meta jinxtegħel huwa PRE_OPERATIONAL; NanoLib ma jista 'jipprovdi l-ebda stat "OPERAZZJONALI" affidabbli f'sistema operattiva mhux f'ħin reali:

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

XEJN = “XEJN” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “OPERAZZJONALI”

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

31

8 Klassijiet / referenza tal-funzjonijiet

8.11 Ixxat

Din l-istruttura żżomm l-informazzjoni kollha għall-usb-to-can Ixxat fl-attributi pubbliċi li ġejjin:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “numru tal-bus adapter ixxat”

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Din l-istruttura żżomm in-numru tal-karozza tal-linja għall-usb-to-can Ixxat fl-attributi pubbliċi li ġejjin:

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

BUS_NUMBER_0_DEFAULT = “0” BUS_NUMBER_1 = “1” BUS_NUMBER_2 = “2” BUS_NUMBER_3 = “3”

8.13 L-ogħla

Din l-istruttura żżomm l-informazzjoni kollha għall-Peak usb-to-can fl-attributi pubbliċi li ġejjin:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “numru tal-bus tal-adapter tal-quċċata”

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Din l-istruttura żżomm in-numru tax-xarabank għall-Peak usb-to-can fl-attributi pubbliċi li ġejjin:

const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string 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_USBBUS:to_string (PCAN_USBBUS:to_string) = std::to_string (PCAN_USBBUS4) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS:to_string) (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::to_USBBUS9 (PCAN_USBBUS10:to_string) (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_13 = std::to_string (PCAN_USBBUS13) BUS_NUMBER_14 = std::_USBBUS14 = std::_USBBUS15 std::to_string (PCAN_USBBUS15) BUS_NUMBER_16 = std::to_string (PCAN_USBBUS16)

8.15 DeviceHandle
Din il-klassi tirrappreżenta manku għall-kontroll ta' apparat fuq xarabank u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin.

DeviceHandle () DeviceHandle (uint32_t manku)

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

32

8 Klassijiet / referenza tal-funzjonijiet

ugwali () Tqabbel lilu nnifsu ma' manku ta' apparat partikolari.
bool ugwali (DeviceHandle const other) const (uint32_t handle)

toString () Jirritorna rappreżentazzjoni ta' string tal-manku tat-tagħmir.
std::string toString () const

get () Jirritorna l-manku tal-apparat.
uint32_t get () const

8.16 DeviceId
Uża din il-klassi (mhux immutabbli mill-ħolqien fuq) biex tidentifika u tiddistingwi apparati fuq xarabank:

Identifikatur tal-adapter tal-ħardwer

Identifikatur tal-apparat

Deskrizzjoni

It-tifsira tal-valuri tal-ID tal-apparat / tad-deskrizzjoni tiddependi fuq ix-xarabank. Per example, bus CAN jista 'juża l-ID integer.

DeviceId () [1/3] Jibni oġġett ġdid tal-ID tal-apparat.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

Parametri busHardwareId_ deviceId_ description_

Identifikatur tax-xarabank. Indiċi; suġġett għal xarabank (= CANopen node ID eċċ.). Deskrizzjoni (tista' tkun vojta); suġġett għal xarabank.

DeviceId () [2/3] Jibni oġġett ġdid tal-ID tal-apparat b'għażliet tal-ID estiżi.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)

Parametri busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Identifikatur tax-xarabank. Indiċi; suġġett għal xarabank (= CANopen node ID eċċ.). Deskrizzjoni (tista' tkun vojta); suġġett għal xarabank. ID addizzjonali (tista' tkun vojta); tifsira tiddependi fuq xarabank. ID ta' string addizzjonali (jista' jkun vojt); tifsira tiddependi fuq xarabank.

DeviceId () [3/3] Tibni kopja ta' oġġett ID tal-apparat.
nlc::DeviceId::DeviceId (DeviceId const &)

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

33

8 Klassijiet / referenza tal-funzjonijiet

Parametri deviceId_

ID tal-apparat minn fejn tikkopja.

ugwali () Iqabbel oġġetti ġodda ma' oġġetti eżistenti.
bool nlc::DeviceId::equals (DeviceId const & other) const

Jirritorna boolean

getBusHardwareId () Jaqra l-ID tal-ħardwer tax-xarabank.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Ritorna BusHardwareId

getDescription () Jaqra d-deskrizzjoni tat-tagħmir (forsi mhux użat).
std::string nlc::DeviceId::getDescription () const

Ritorn string

getDeviceId () Jaqra l-ID tat-tagħmir (forsi mhux użat).
unsigned int nlc::DeviceId::getDeviceId () const

Jirritorna int mhux iffirmat

toString () Jirritorna l-oġġett bħala string.
std::string nlc::DeviceId::toString () const

Ritorn string

getExtraId () Jaqra l-ID żejda tal-apparat (jista' ma jintużax).
const std::vector &getExtraId () const

Vettur jirritorna

Vettur tal-ID addizzjonali addizzjonali (jista' jkun vojt); tifsira tiddependi fuq ix-xarabank.

getExtraStringId () Jaqra l-ID string żejda tal-apparat (jista' ma jintużax).
std::string getExtraStringId () const

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

34

8 Klassijiet / referenza tal-funzjonijiet

Ritorn string

L-ID string addizzjonali (jista 'jkun vojt); tifsira tiddependi fuq ix-xarabank.

8.17 LogLevelConverter

Din il-klassi tirritorna l-livell tal-log tiegħek bħala string. static std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Din il-klassi tirritorna log modulesetLoggingLevel () speċifiku għal-librerija tiegħek bħala string.

std statiku::string

toString (nlc::LogModule logModule)

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

8.19 Dizzjunarju tal-Oġġetti
Din il-klassi tirrappreżenta dizzjunarju oġġett ta' kontrollur u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin: getDeviceHandle ()
virtwali ResultDeviceHandle getDeviceHandle () const Ritorna ResultDeviceHandle

getObject () virtwali ResultObjectSubEntry getObject (OdIndex const odIndex) Jirritorna ResultObjectSubEntry

getObjectEntry () virtwali ResultObjectEntry getObjectEntry (indiċi uint16_t)

Jirritorna ResultObjectEntry

Jinforma dwar il-proprjetajiet ta' oġġett.

getXmlFileIsem () ResultString virtwali getXmlFileIsem () kost

Jirritorna ResultString

Jirritorna l-XML file isem bħala spag.

readNumber () virtwali ResultInt readNumber (OdIndex const odIndex) Jirritorna ResultInt
readNumberArray () virtwali ResultArrayInt readNumberArray (uint16_t const index)

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

35

8 Klassijiet / referenza tal-funzjonijiet
Jirritorna ResultArrayInt readString ()
virtwali ResultString readString (OdIndex const odIndex) Jirritorna ResultString readBytes () virtwali ResultArrayByte readBytes (OdIndex const odIndex) Jirritorna ResultArrayByte writeNumber () virtwali ResultVoid writeNumber (OdIndex const odIndex, valur tal-kitba tar-ritorn) () virtwali ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Returns ResultVoid Links Relatati OdIndex
8.20 Dħul ta' Oġġett
Din il-klassi tirrappreżenta dħul ta' oġġett tad-dizzjunarju tal-oġġett, għandha l-attribut statiku protett u l-funzjonijiet tal-membri pubbliċi li ġejjin:
static nlc::ObjectSubEntry invalidObject
getName () Jaqra l-isem tal-oġġett bħala string.
virtwali std::string getName () const
getPrivate () Jiċċekkja jekk l-oġġett huwiex privat.
virtwali bool getPrivate () const
getIndex () Jaqra l-indirizz tal-indiċi tal-oġġett.
virtwali uint16_t getIndex () const

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

36

8 Klassijiet / referenza tal-funzjonijiet

getDataType () Jaqra t-tip tad-dejta tal-oġġett.
virtwali nlc::ObjectEntryDataType getDataType () const

getObjectCode () Jaqra l-kodiċi tal-oġġett:

Null Deftype Defstruct Var Rekord Array

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

virtwali nlc::ObjectCode getObjectCode () const

getObjectSaveable () Jiċċekkja jekk l-oġġett jistax jiġi salvat u l-kategorija tiegħu (ara l-manwal tal-prodott għal aktar dettalji): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Jaqra n-numru ta' subindiċi appoġġjati minn dan l-oġġett.
virtwali uint8_t getMaxSubIndex () const

getSubEntry () virtwali nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Ara wkoll ObjectSubEntry.
8.21 ObjectSubEntry
Din il-klassi tirrappreżenta sotto-entrata tal-oġġett (subindiċi) tad-dizzjunarju tal-oġġett u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getName () Jaqra l-isem tal-oġġett bħala string.
virtwali std::string getName () const

getSubIndex () Jaqra l-indirizz tas-subindiċi.
virtwali uint8_t getSubIndex () const

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

37

8 Klassijiet / referenza tal-funzjonijiet

getDataType () Jaqra t-tip tad-dejta tal-oġġett.
virtwali nlc::ObjectEntryDataType getDataType () const

getSdoAccess () Jiċċekkja jekk is-subindiċi huwiex aċċessibbli permezz ta' SDO:

Qari Biss

1

WriteOnly

2

Aqra Ikteb

3

NoAccess

0

virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Jiċċekkja jekk is-subindiċi huwiex aċċessibbli/mappabbli permezz ta' PDO:

Tx

1

Rx

2

TxRx

3

Nru

0

virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Jiċċekkja t-tul tas-subindiċi.
virtwali uint32_t getBitLength () const

getDefaultValueAsNumeric () Jaqra l-valur default tas-subindiċi għal tipi ta' dejta numerika.
virtwali ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Jaqra l-valur default tas-subindiċi għal tipi ta' dejta ta' string.
virtwali ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Jaqra l-valuri default tas-subindiċi.
virtwali std::mappa getDefaultValues ​​() const

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

38

8 Klassijiet / referenza tal-funzjonijiet

readNumber () Jaqra l-valur numeriku attwali tas-subindiċi.
virtwali ResultInt readNumber () konst

readString () Jaqra l-valur attwali tal-istring tas-subindiċi.
virtwali ResultString readString () const

readBytes () Jaqra l-valur attwali tas-subindiċi f'bytes.
virtwali ResultArrayByte readBytes () konst

writeNumber () Jikteb valur numeriku fis-subindiċi.
virtwali ResultVoid writeNumber (valur konst int64_t) const

writeBytes () Jikteb valur fis-subindiċi f'bytes.
virtwali ResultVoid writeBytes (std::vector const & data) konst

8.22 OdIndex
Uża din il-klassi (immutabbli mill-ħolqien fuq) biex tkebbeb u ssib indiċi/sub-indiċi tad-direttorju tal-oġġetti. OD ta 'apparat għandu sa 65535 (0xFFFF) ringieli u 255 (0xFF) kolonna; b'lakuni bejn ir-ringieli mhux kontinwi. Ara l-istandard CANopen u l-manwal tal-prodott tiegħek għal aktar dettalji.
OdIndex () Jibni oġġett OdIndex ġdid.
nlc::OdIndex::OdIndex (uint16_t indiċi, uint8_t subIndex)

Subindiċi tal-indiċi tal-parametri

Minn 0 sa 65535 (0xFFFF) inkl. Minn 0 sa 255 (0xFF) inkl.

getIndex () Jaqra l-indiċi (minn 0x0000 sa 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Jirritorna uint16_t

getSubindex () Jaqra s-sub-indiċi (minn 0x00 sa 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

39

8 Klassijiet / referenza tal-funzjonijiet

Jirritorna uint8_t

toString () Jirritorna l-indiċi u s-subindiċi bħala string. Is-sekwenza default 0xIIII:0xSS taqra kif ġej:

I = indiċi minn 0x0000 sa 0xFFFF

S = sub-indiċi minn 0x00 sa 0xFF

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

Jirritorna 0xIIII:0xSS

Rappreżentazzjoni ta' string default

8.23 OdLibrary
Uża din l-interface tal-ipprogrammar biex toħloq istanzi tal-klassi ObjectDictionary minn XML. Permezz assignObjectDictionary, tista' mbagħad torbot kull istanza ma' apparat speċifiku minħabba identifikatur maħluq unikament. L-istanzi ta' ObjectDictionary hekk maħluqa huma maħżuna fl-oġġett OdLibrary biex jiġu aċċessati permezz ta' indiċi. Il-klassi ODLibrary tagħbija oġġetti ObjectDictionary minn file jew array, jaħżenhom, u għandu l-funzjonijiet tal-membri pubbliċi li ġejjin:

getObjectDictionaryCount () virtwali uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtwali ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Jirritorna ResultObjectDictionary

addObjectDictionaryFromFile ()
virtwali ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileMogħdija)

Jirritorna ResultObjectDictionary

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

Jirritorna ResultObjectDictionary
8.24 OdTypesHelper
Minbarra l-funzjonijiet tal-membri pubbliċi li ġejjin, din il-klassi fiha tipi ta’ dejta personalizzati. Nota: Biex tiċċekkja t-tipi tad-dejta tad-dwana tiegħek, fittex il-klassi enum ObjectEntryDataType f'od_types.hpp.

uintToObjectCode () Tikkonverti interi mhux iffirmati f'kodiċi ta' oġġett:

Null Deftype

0x00 0x05

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

40

8 Klassijiet / referenza tal-funzjonijiet

Defstruct Var Array Record

0x06 0x07 0x08 0x09

ObjectCode statiku uintToObjectCode (unsigned int objectCode)

isNumericDataType () Jinforma jekk tip ta' dejta huwiex numeriku jew le.
static bool isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Jinforma jekk oġġett huwiex indiċi ta' struttura ta' definizzjoni jew le.
bool statiku isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Jinforma jekk oġġett huwiex indiċi tat-tip ta' definizzjoni jew le.
bool statiku isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Jinforma jekk tip ta' data huwiex kumpless jew le.
static bool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Tikkonverti interi mhux iffirmati għal tip ta' dejta OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Tikkonverti t-tip tad-dejta OD għal string.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Tikkonverti string għal tip ta' data OD jekk possibbli. Inkella, jirritorna UNKNOWN_DATATYPE.
static ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

41

8 Klassijiet / referenza tal-funzjonijiet

objectEntryDataTypeBitLength () Jinforma dwar it-tul tal-bit ta' tip ta' data tad-dħul ta' oġġett.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RESTfulBus struct

Din l-istruttura fiha l-għażliet tal-konfigurazzjoni tal-komunikazzjoni għall-interface RESTful (fuq Ethernet). Fiha l-attributi pubbliċi li ġejjin:

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

CONNECT_TIMEOUT_OPTION_NAME = “Timeout RESTful Connect” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Timeout RESTful Request” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “Timeout RESTful Response” DEFAULT_750TIMEOUT_XNUMX RESPONSE

8.26 ProfinetDCP
Taħt Linux, l-applikazzjoni tas-sejħa teħtieġ kapaċitajiet CAP_NET_ADMIN u CAP_NET_RAW. Biex tippermetti: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Fil-Windows, l-interface ProfinetDCP juża WinPcap (ittestjat bil-verżjoni 4.1.3) jew Npcap (ittestjat bil-verżjonijiet 1.60 u 1.30). Għalhekk ifittex il-librerija wpcap.dll mgħobbija b'mod dinamiku fl-ordni li ġejja (Nota: l-ebda appoġġ kurrenti Win10Pcap):
1. Id-direttorju Nanolib.dll 2. Id-direttorju tas-sistema tal-Windows SystemRoot%System32 3. Id-direttorju tal-installazzjoni Npcap SystemRoot%System32Npcap 4. It-triq tal-ambjent
Din il-klassi tirrappreżenta interface Profinet DCP u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:

getScanTimeout () Jinforma dwar il-ħin tal-iskannjar tal-apparat (default = 2000 ms).
virtwali uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Issettja timeout tal-iskannjar tal-apparat (default = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Jinforma dwar timeout tar-rispons tal-apparat għal operazzjonijiet ta' setup, reset u teptip (default = 1000 ms).
virtwali uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Jinforma dwar timeout tar-rispons tal-apparat għal operazzjonijiet ta' setup, reset u teptip (default = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

42

8 Klassijiet / referenza tal-funzjonijiet

isServiceAvailable ()
Uża din il-funzjoni biex tiċċekkja d-disponibbiltà tas-servizz Profinet DCP.
Validità/disponibbiltà tal-adapter tan-netwerk Windows: disponibbiltà WinPcap / Npcap Linux: kapaċitajiet CAP_NET_ADMIN / CAP_NET_RAW
virtwali ResultVoid nlc::ProfinetDCP::isServiceAvailable (konst BusHardwareId & busHardwareId)

Parametri BusHardwareId Jirritorna vera
falza

ID tal-ħardwer tas-servizz Profinet DCP biex tiċċekkja. Is-servizz huwa disponibbli. Is-servizz mhux disponibbli.

scanProfinetDevices () Uża din il-funzjoni biex tiskennja l-hardware bus għall-preżenza ta' apparati Profinet.
virtwali ResultProfinetDevices scanProfinetDevices (kostitut BusHardwareId & busHardwareId)

Parametri BusHardwareId Ritorna ResultProfinetDevices

Jispeċifika kull fieldbus li trid tiftaħ. Il-ħardwer huwa miftuħ.

setupProfinetDevice () Jistabbilixxi s-settings tal-apparat li ġejjin:

Isem tal-apparat

indirizz IP

Maskra tan-netwerk

Gateway default

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

resetProfinetDevice () Jwaqqaf it-tagħmir u jerġa' jpoġġih għal defaults tal-fabbrika.
virtwali ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Jikmanda lill-apparat Profinet biex jibda jteptep l-LED Profinet tiegħu.
virtwali ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Uża din il-funzjoni biex tiċċekkja l-indirizz IP tal-apparat.
virtwali ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

Parametri BusHardwareId ProfinetDevice

Jispeċifika l-ID tal-ħardwer li trid tiċċekkja. Jispeċifika l-apparat Profinet li għandu jivvalida.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

43

8 Klassijiet / referenza tal-funzjonijiet

Ritorna ResultVoid

8.27 ProfinetDevice struct

Id-dejta tal-apparat Profinet għandha l-attributi pubbliċi li ġejjin:

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

L-indirizz MAC huwa pprovdut bħala firxa fil-format macAddress = {xx, xx, xx, xx, xx, xx}; billi l-indirizz IP, il-maskra tan-netwerk u l-gateway huma kollha interpretati bħala numri hex big endian, bħal:

Indirizz IP: 192.168.0.2 Maskra tan-netwerk: 255.255.0.0 Gateway: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Klassijiet tar-riżultati

Uża l-valuri ta 'ritorn "mhux obbligatorji" ta' dawn il-klassijiet biex tivverifika jekk sejħa ta 'funzjoni kellhiex suċċess jew le, u wkoll issib ir-raġunijiet tal-falliment. Fuq suċċess, il-funzjoni hasError () tirritorna falza. Permezz getResult (), tista 'taqra l-valur tar-riżultat skond it-tip (ResultInt eċċ.). Jekk sejħa tonqos, taqra r-raġuni billi getError ().

Attributi protetti

string NlcErrorCode uint32_t

errorString errorCode exErrorCode

Ukoll, din il-klassi għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:

hasError () Jaqra s-suċċess ta' sejħa ta' funzjoni.
bool nlc::Riżultat::hasError () const

Ritorni

veru falz

Sejħa falluta. Uża getError () biex taqra l-valur. Sejħa ta' suċċess. Uża getResult () biex taqra l-valur.

getError () Jaqra r-raġuni jekk sejħa ta' funzjoni tfalli.
const std::string nlc::Riżultat::getError () const

Jirritorna string const

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

44

8 Klassijiet / referenza tal-funzjonijiet
riżultat () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultati eżatti:
Riżultat (std::string const & errorString_)
Riżultat (NlcErrorCode const & errCode, std::string const & errorString_)
Riżultat (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Riżultat (Riżultat konst & riżultat)
getErrorCode () Aqra l-NlcErrorCode.
NlcErrorCode getErrorCode () konst
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 ResultVoid
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna null. Il-klassi tirret il-funzjonijiet pubbliċi u l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
ResultVoid () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tal-vojt:
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 (Riżultat konst & riżultat)
8.28.2 ResultInt
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna numru sħiħ. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jirritorna r-riżultat numru sħiħ jekk sejħa ta' funzjoni kellha suċċess.
int64_t getResult () const
Jirritorna int64_t

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

45

8 Klassijiet / referenza tal-funzjonijiet
ResultInt () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat sħiħ eżatt:
ResultInt (int64_t result_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (Riżultat konst & riżultat)
8.28.3 ResultString
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna string. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra r-riżultat tas-sekwenza jekk sejħa ta' funzjoni kellha suċċess.
const std::string nlc::ResultString::getResult () const
Jirritorna string const
ResultString () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tas-sekwenza:
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 (Riżultat konst & riżultat)
8.28.4 ResultArrayByte
NanoLib jibgħatlek istanza ta 'din il-klassi jekk il-funzjoni tirritorna firxa ta' byte. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra l-vector tal-byte jekk sejħa ta' funzjoni kellha suċċess.
const std::vector nlc::ResultArrayByte::getResult () const
Jirritorna const vector

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

46

8 Klassijiet / referenza tal-funzjonijiet
ResultArrayByte () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tal-firxa tal-byte:
ResultArrayByte (std::vector const & result_)
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 (Riżultat konst & riżultat)
8.28.5 ResultArrayInt
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna firxa ta' numru sħiħ. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra l-vettur numru sħiħ jekk sejħa ta' funzjoni kellha suċċess.
const std::vector nlc::ResultArrayInt::getResult () const
Jirritorna const vector
ResultArrayInt () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tal-array ta’ numru sħiħ:
ResultArrayInt (std::vector const & result_)
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 (Riżultat konst & riżultat)
8.28.6 ResultBusHwIds
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna array ta' ID tal-ħardwer tax-xarabank. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra l-vector ID tal-ħardwer tal-linja jekk sejħa ta' funzjoni kellha suċċess.
const std::vector nlc::ResultBusHwIds::getResult () const
Parametri const vector

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

47

8 Klassijiet / referenza tal-funzjonijiet
ResultBusHwIds () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tal-array tal-ID tal-ħardwer tal-linja:
ResultBusHwIds (std::vector const & result_)
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 (Riżultat konst & riżultat)
8.28.7 ResultDeviceId
NanoLib jibgħatlek istanza ta 'din il-klassi jekk il-funzjoni tirritorna ID tal-apparat. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra l-vector ID tal-apparat jekk sejħa ta' funzjoni kellha suċċess.
DeviceId nlc::ResultDeviceId::getResult () const
Jirritorna const vector
ResultDeviceId () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tal-ID tal-apparat:
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 (Riżultat konst & riżultat)
8.28.8 ResultDeviceIds
NanoLib jibgħatlek istanza ta 'din il-klassi jekk il-funzjoni tirritorna firxa ta' ID tal-apparat. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jirritorna l-vettur tal-ID tal-apparat jekk sejħa ta' funzjoni kellha suċċess.
DeviceId nlc::ResultDeviceIds::getResult () const
Jirritorna const vector

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

48

8 Klassijiet / referenza tal-funzjonijiet
ResultDeviceIds () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tal-firxa tal-ID tal-apparat:
ResultDeviceIds (std::vector const & result_)
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 (Riżultat konst & riżultat)
8.28.9 ResultDeviceHandle
NanoLib jibgħatlek istanza ta 'din il-klassi jekk il-funzjoni tirritorna l-valur ta' manku ta 'apparat. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra l-manku tat-tagħmir jekk sejħa ta' funzjoni kellha suċċess.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Jirritorna DeviceHandle
ResultDeviceHandle () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tal-manku tal-apparat:
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 (Riżultat konst & riżultat)
8.28.10 ResultObjectDizzjunarju
NanoLib jibgħatlek istanza ta 'din il-klassi jekk il-funzjoni tirritorna l-kontenut ta' dizzjunarju oġġett. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra l-vector ID tal-apparat jekk sejħa ta' funzjoni kellha suċċess.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

49

8 Klassijiet / referenza tal-funzjonijiet

Ritorni

const vector

ResultObjectDictionary () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tad-dizzjunarju tal-oġġett:
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 (Riżultat konst & riżultat)

8.28.11 ResultConnectionState
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna informazzjoni dwar l-istat tal-konnessjoni tal-apparat. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra l-manku tat-tagħmir jekk sejħa ta' funzjoni kellha suċċess.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Jirritorna DeviceConnectionStateInfo Konnessi / Skonnettjati / ConnectedBootloader

ResultConnectionState () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tal-istat tal-konnessjoni:
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 (Riżultat konst & riżultat)

8.28.12 ResultObjectEntry
NanoLib jibgħatlek istanza ta 'din il-klassi jekk il-funzjoni tirritorna dħul ta' oġġett. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

50

8 Klassijiet / referenza tal-funzjonijiet
getResult () Jirritorna l-vettur tal-ID tal-apparat jekk sejħa ta' funzjoni kellha suċċess.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Ritorni const ObjectEntry
ResultObjectEntry () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tad-dħul tal-oġġett:
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 (Riżultat konst & riżultat)
8.28.13 ResultObjectSubEntry
NanoLib jibgħatlek istanza ta 'din il-klassi jekk il-funzjoni tirritorna sotto-entrata ta' oġġett. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jirritorna l-vettur tal-ID tal-apparat jekk sejħa ta' funzjoni kellha suċċess.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Ritorni const ObjectSubEntry
ResultObjectSubEntry () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tar-riżultat eżatt tas-sub-entrata tal-oġġett:
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 (Riżultat konst & riżultat)
8.28.14 ResultProfinetDevices
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna apparat Profinet. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

51

8 Klassijiet / referenza tal-funzjonijiet

getResult () Jaqra l-vettur tat-tagħmir Profinet jekk sejħa ta' funzjoni kellha suċċess.
const std::vector & getResult () konst

ResultProfinetDevices () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tat-tagħmir Profinet eżatt.
ResultProfinetDevices (const std::vector & ProfinetDevices)
ResultProfinetDevices (konst Riżultat u riżultat)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 RiżultatiampleDataArray
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna bħalaample firxa tad-data. Il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:
getResult () Jaqra l-array tad-dejta jekk sejħa ta' funzjoni kellha suċċess.
const std::vector <SampleData> & getResult () const

RiżultatSampleDataArray () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tal-apparati Profinet eżatti.
RiżultatSampleDataArray (const std::vector <SampleData> & dataArray)

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

RiżultatSampleDataArray (konst ResultSampleDataArray u oħrajn)

RiżultatSampleDataArray (konst Riżultat u riżultat)

8.28.16 RiżultatiamplerState
NanoLib jibgħatlek istanza ta' din il-klassi jekk il-funzjoni tirritorna bħalaampler state.Din il-klassi tirret il-funzjonijiet pubbliċi/l-attributi protetti mill-klassi tar-riżultat u għandha l-funzjonijiet tal-membri pubbliċi li ġejjin:

getResult () Jaqra l-sampler state vector jekk sejħa funzjoni kellha suċċess.
SamplerState getResult () const

Jirritorna SamplerState>

Mhux ikkonfigurat / Konfigurat / Lest / Tħaddim / Tlesti / Falliet / Ikkanċellat

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

52

8 Klassijiet / referenza tal-funzjonijiet

RiżultatSamplerState () Il-funzjonijiet li ġejjin jgħinu fid-definizzjoni tal-s eżattaampler stat.
RiżultatSamplerState (kost SamplerState state)

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

RiżultatSamplerState (const ResultSamplerState u oħrajn)

RiżultatSamplerState (const Riżultat u riżultat)

8.29 NlcErrorCode

Jekk xi ħaġa tmur ħażin, il-klassijiet tar-riżultat jirrappurtaw wieħed mill-kodiċijiet ta 'żball elenkati f'din l-enumerazzjoni.

Kodiċi ta' żball Success GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch Operation Operation Aborted OperationNotSupported InvalidOperation
InvalidArguments Access Denied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError

C: Kategorija D: Deskrizzjoni R: Raġuni Ċ: Xejn. D: L-ebda żball. R: L-operazzjoni tlestiet b'suċċess.
C: Mhux speċifikat. D: Żball mhux speċifikat. R: Nuqqas li ma jaqax f'kategorija oħra.
C: Xarabank. D: Bus tal-ħardwer mhux disponibbli. R: Xarabank ineżistenti, qtugħ jew difett.
C: Komunikazzjoni. D: Komunikazzjoni mhux affidabbli. R: Dejta mhux mistennija, CRC ħażina, żbalji ta’ qafas jew ta’ parità, eċċ.
C: Protokoll. D: Żball tal-Protokoll. R: Rispons wara għażla ta' protokoll mhux appoġġjat, rapport ta' apparat protokoll mhux appoġġjat, żball fil-protokoll (jiġifieri, SDO segment sync bit), eċċ. R: Reazzjoni jew rapport ta' apparat għal protokoll mhux appoġġjat (għażliet) jew għal żbalji fil-protokoll (jiġifieri, SDO segment sync bit), eċċ. R: Protokoll mhux appoġġjat (għażliet) jew żball fil-protokoll (jiġifieri, SDO segment sync bit), eċċ.
C: Dizzjunarju tal-Oġġetti. D: Indirizz OD ineżistenti. R: L-ebda indirizz bħal dan fid-dizzjunarju tal-oġġett.
C: Dizzjunarju tal-Oġġetti. D: Aċċess għall-indirizz OD invalidu. R: Ipprova tikteb indirizz tal-qari biss, jew taqra minn indirizz tal-kitba biss.
C: Dizzjunarju tal-Oġġetti. D: Tqabbil tat-tip. R: Valur mhux konvertit għal tip speċifikat, ngħidu aħna, f'tentattiv biex tittratta string bħala numru.
C: Applikazzjoni. D: Proċess abort. R: Proċess maqtugħ b'talba għall-applikazzjoni. Jirritorna biss fuq interruzzjoni tal-operat b'funzjoni ta' callback, ngħidu aħna, minn skanjar tal-karozzi tal-linja.
C: Komuni. D: Proċess mhux appoġġjat. R: L-ebda appoġġ tal-ħardwer tal-bus/apparat.
C: Komuni. D: Proċess mhux korrett fil-kuntest attwali, jew invalidu bl-argument attwali. R: Tentattiv ta' konnessjoni mill-ġdid ma' xarabanks / apparati diġà konnessi. Attentat ta' skonnettjar għal dawk diġà skonnettjati. Attentat ta' tħaddim tal-bootloader fil-modalità tal-firmware jew viċi versa.
C: Komuni. D: Argument invalidu. R: Loġika jew sintassi żbaljata.
C: Komuni. D: L-aċċess huwa miċħud. R: Nuqqas ta' drittijiet jew kapaċitajiet biex titwettaq l-operazzjoni mitluba.
C: Komuni. D: Oġġett speċifikat mhux misjub. R: Xarabank tal-ħardwer, protokoll, apparat, indirizz OD fuq it-tagħmir, jew file ma nstabx.
C: Komuni. D: Oġġett speċifikat mhux misjub. R: okkupat, ineżistenti, cut-off jew difett.
C: Komuni. D: Memorja insuffiċjenti. R: Ftit wisq memorja biex tipproċessa dan il-kmand.
C: Komuni. D: Proċess timed out. R: Ritorn wara li skada l-ħin. Timeout jista 'jkun ħin ta' rispons tal-apparat, ħin biex jinkiseb aċċess għar-riżorsi kondiviż jew esklussiv, jew ħin biex taqleb ix-xarabank/apparat għal stat xieraq.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

53

8 Klassijiet / referenza tal-funzjonijiet

8.30 NlcCallback
Din il-klassi ġenitur għal callbacks għandha l-funzjoni ta' membru pubbliku li ġejja: callback ()
callback virtwali ResultVoid ()

Ritorni

ResultVoid

8.31 NlcDataTransferCallback
Uża din il-klassi ta' callback għal trasferimenti ta' data (aġġornament tal-firmware, upload ta' NanoJ eċċ.). 1. Għal upload tal-firmware: Iddefinixxi "ko-klassi" li testendi din b'metodu ta' callback personalizzat
implimentazzjoni. 2. Uża l-istanzi tal-"ko-klassi" fis-sejħiet NanoLibAccessor.uploadFirmware (). Il-klassi prinċipali nnifisha għandha l-funzjoni ta' membru pubbliku li ġejja:

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

Ritorni

ResultVoid

8.32 NlcScanBusCallback
Uża din il-klassi callback għall-iskannjar tal-karozzi tal-linja. 1. Iddefinixxi "ko-klassi" li testendi din b'implimentazzjoni ta 'metodu ta' callback personalizzat. 2. Uża l-istanzi tal-"ko-klassi" fis-sejħiet NanoLibAccessor.scanDevices (). Il-klassi prinċipali nnifisha għandha l-funzjoni ta 'membru pubbliku li ġejja.

ċempilli lura ()
callback virtwali ResultVoid (nlc::BusScanInfo info, std::vector const & devicesFound, data int32_t)

Ritorna ResultVoid
8.33 NlcLoggingCallback
Uża din il-klassi callback biex tirreġistra callbacks. 1. Iddefinixxi klassi li testendi din il-klassi b'implimentazzjoni ta' metodu ta' callback personalizzat 2. Uża pointer għall-istanzi tagħha sabiex tissettja callback minn NanoLibAccessor >
setLoggingCallback (…).
callback virtwali null (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
Uża din il-klassi biex tikkonfigura, tibda u twaqqaf is-sampler, jew biex tikseb sampwassal data u jġibu bħalaampl-istatus tal-ler jew l-aħħar żball. Il-klassi għandha l-funzjonijiet tal-membri pubbliċi li ġejjin.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

54

8 Klassijiet / referenza tal-funzjonijiet

kkonfigurat () Jikkonfigura bħalaampler.
virtwali ResultVoid nlc::SamplerInterface::konfigura (const DeviceHandle deviceHandle, const SamplerKonfigurazzjoni & samplerConfiguration)

Parametri [fl] deviceHandle [fi] samplerKonfigurazzjoni
Ritorna ResultVoid

Jispeċifika liema mezz biex jiġi kkonfigurat l-sampler għal. Jispeċifika l-valuri tal-attributi tal-konfigurazzjoni. Jikkonferma li funzjoni nulla tkun ħadet.

getData () Jiġbor is-sampdata mmexxija.
Riżultati virtwaliampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parametri [fl] deviceHandle Ritorni RiżultatSampleDataArray

Jispeċifika għal liema apparat tikseb id-dejta.
Jagħti l-sampdata mmexxija, li tista 'tkun firxa vojta jekk samplerNotify huwa attiv mal-bidu.

getLastError () Gets asampl-aħħar żball ta' ler.
virtwali ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Ritorna ResultVoid

Jikkonferma li funzjoni null tkun ħadet.

getState () Gets asampl-istatus tal-ler.
Riżultati virtwaliamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Riżultati RiżultatiSamplerState

Jagħti l-sampler stat.

start () Jibda bħalaampler.
virtwali ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerInnotifika* samplerNotify, int64_t applicationData)

Parametri [fi] deviceHandle [fi] SamplerInnotifika [fl] applicationData
Ritorna ResultVoid

Jispeċifika liema mezz biex tibda l-sampler għal.
Jispeċifika liema informazzjoni fakultattiva għandha tirrapporta (jista' jkun nullptr).
Għażla: Tgħaddi data relatata mal-applikazzjoni (matriċi ta' 8-bit definita mill-utent ta' valur/ID tal-apparat/indiċi, jew data-ħin, pointer ta' varjabbli/funzjoni, eċċ.) għal samplerNotify.
Jikkonferma li funzjoni null tkun ħadet.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

55

8 Klassijiet / referenza tal-funzjonijiet

stop () Jieqaf bħalaampler.
virtwali ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Parametri [fi] deviceHandle Ritorni ResultVoid

Jispeċifika liema mezz biex iwaqqaf is-sampler għal. Jikkonferma li funzjoni null tkun ħadet.

8.35 SamplerConfiguration struct

Din l-istruttura fiha d-data sampgħażliet ta' konfigurazzjoni tal-ler (statiċi jew le).

Attributi pubbliċi

std::vector trackedAddresses

Sa 12-il indirizz OD għandhom ikunu sampLED.

uint32_t

verżjoni

Verżjoni ta' struttura.

uint32_t

durationMilliseconds

Samptul ta' żmien f'ms, minn 1 sa 65535

uint16_t

perjoduMillisekonda

Sampperjodu ling f'ms.

uint16_t

numruOfSamples

Samples ammont.

uint16_t

preTriggerNumberOfSamples

Samples pre-trigger ammont.

bool

bl-użu ta'SoftwareImplementation

Uża l-implimentazzjoni tas-softwer.

bool

billi tużaNewFWSamplerImplementation Uża l-implimentazzjoni FW għal apparati b'a

Verżjoni FW v24xx jew aktar ġdida.

SamplerMode

mod

Normali, ripetittivi jew kontinwu samplipp.

SamplerTriggerCondition triggerCondition

Kundizzjonijiet ta' attivazzjoni tal-bidu: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = TC_GREATER_0 = TC_GREATER_15 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValu

SamplerTrigger

SamplerTrigger

A grillu biex tibda bħalaampler?

Attributi pubbliċi statiċi
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Uża din il-klassi biex tattiva sampler notifiki meta tibda bħalaampler. Il-klassi għandha l-funzjoni ta' membru pubbliku li ġejja.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

56

8 Klassijiet / referenza tal-funzjonijiet

jinnotifika ()
Jagħti dħul ta' notifika.
virtwali null nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Parametri [fi] lastError [fi] samplerState
[fi] sampleDatas [f'] applicationData

Jirrapporta li l-aħħar żball seħħ waqt li samplipp. Jirrapporta l-sampistatus tal-ler fil-ħin tan-notifika: Mhux ikkonfigurat / Konfigurat / Lest / Tħaddim / Tlesti / Falliet / Ikkanċellat. Jirrapporta l-sampfirxa mmexxija tad-data. Jirrapporta data speċifika għall-applikazzjoni.

8.37 SampleData struct

Din l-istruttura fiha l-sampdata mmexxija.

uin64_t iterazzjoniNumber

Jibda minn 0 u jiżdied biss f'mod ripetittiv.

std::vector<SampledValues> Fih firxa ta' sampvaluri mmexxija.

8.38 SampledValue struct

Din l-istruttura fiha l-sampvaluri mmexxija.

in64_t valur uin64_t CollectTimeMsec

Fih il-valur ta' indirizz OD traċċat.
Fih il-ħin tal-ġbir f'millisekondi, relattiv għall-sample bidu.

8.39 SamplerTrigger struct

Din l-istruttura fiha l-issettjar tal-grillu tal-sampler.

SamplerTriggerCondition kundizzjoni
OdIndex uin32_t valur

Il-kondizzjoni ta' attivazzjoni:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER__0GREATER__15GREATER__ 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
L-OdIndex tal-grillu (indirizz).
Valur tal-kundizzjoni jew numru tal-bit (li jibda minn bit żero).

8.40 Struttura tas-serje

Sib hawn l-għażliet ta' komunikazzjoni serjali tiegħek u l-attributi pubbliċi li ġejjin:

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = “Rata baud tas-serje” baudRate = Struttura SerialBaudRate

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

57

8 Klassijiet / referenza tal-funzjonijiet

const std::string const SerialParity

PARITY_OPTIONS_NAME = "parità tas-serje" parity = struttura SerialParity

8.41 Struttura SerialBaudRate

Sib hawn ir-rata baud tal-komunikazzjoni serjali tiegħek u l-attributi pubbliċi li ġejjin:

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_RATE_56000 = “_56000_57600”_57600 “_115200” 115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000” BAUD_RATE_XNUMX = “XNUMX”

8.42 SerialParity struct

Sib hawn l-għażliet tal-parità serjali tiegħek u l-attributi pubbliċi li ġejjin:

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

XEJN = "xejn" ODD = "fard" EVEN = "even" MARK = "marka" SPAZJU = "spazju"

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

58

9 Liċenzji

9 Liċenzji

NanoLib API interface headers u exampil-kodiċi tas-sors huma liċenzjati minn Nanotec Electronic GmbH & Co. KG taħt il-Liċenzja Creative Commons Attribution 3.0 Unported (CC BY). Partijiet tal-libreriji pprovduti f'format binarju (libreriji tal-komunikazzjoni ewlenin u fieldbus) huma liċenzjati taħt il-Liċenzja Internazzjonali Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).

Creative Commons
Is-sommarju li ġej li jinqara mill-bniedem mhux se jissostitwixxi l-liċenzja(i) innifisha. Tista' ssib il-liċenzja rispettiva fuq creativecommons.org u marbuta hawn taħt. Inti liberu li:

CC BY 3.0
Share: Ara dritt. Adatta: Remix, ittrasforma, u tibni fuq il-
materjal għal kwalunkwe skop, anke kummerċjalment.

CC BY-ND 4.0
Aqsam: Ikkopja u qassam mill-ġdid il-materjal fi kwalunkwe mezz jew format.

Il-konċedent ma jistax jirrevoka l-libertajiet ta’ hawn fuq sakemm tobdi t-termini tal-liċenzja li ġejjin:

CC BY 3.0

CC BY-ND 4.0

Attribuzzjoni: Trid tagħti kreditu xieraq, Attribuzzjoni: Ara xellug. Iżda: Ipprovdi link għal dan

ipprovdi link għal-liċenzja, u indika jekk

liċenzja oħra.

saru bidliet. Tista' tagħmel dan fi kwalunkwe

Ebda derivattivi: Jekk tirremix, tittrasforma, jew tibni

b’mod raġonevoli, iżda bl-ebda mod li jissuġġerixxi

fuq il-materjal, ma tistax tqassam il-

jiġġestixxi li l-konċedent japprova lilek jew l-użu tiegħek.

materjal modifikat.

Ebda restrizzjonijiet addizzjonali: Inti tista' ma tapplikax Ebda restrizzjonijiet addizzjonali: Ara xellug. termini legali jew miżuri teknoloġiċi li legalment

jillimitaw lil ħaddieħor milli jagħmel xi ħaġa tal-liċenzja

permessi.

Nota: M'għandekx għalfejn tikkonforma mal-liċenzja għal elementi tal-materjal fid-dominju pubbliku jew fejn l-użu tiegħek huwa permess minn eċċezzjoni jew limitazzjoni applikabbli.
Nota: L-ebda garanziji mogħtija. Il-liċenzja tista' ma tagħtikx il-permessi kollha meħtieġa għall-użu intiż tiegħek. Per example, drittijiet oħra bħal pubbliċità, privatezza, jew drittijiet morali jistgħu jillimitaw kif tuża l-materjal.

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

59

Imprint, kuntatt, verżjonijiet

©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 Id-drittijiet kollha riżervati. Żball, ommissjoni, bidla teknika jew kontenut possibbli mingħajr avviż. Marki/prodotti kkwotati huma trademarks tas-sidien tagħhom u għandhom jiġu ttrattati bħala tali. Verżjoni oriġinali.

Dokument 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

+ Miżjud > Mibdul # Fiss > Xogħol mill-ġdid tal-ex ipprovdutamples.
+ NanoLib Modbus: Mekkaniżmu miżjud ta 'qfil tal-apparat għal Modbus VCP. # NanoLib Core: Kontroll fiss tal-istat tal-konnessjoni. # Kodiċi NanoLib: Tneħħija ta 'referenza tal-hardware tal-karozzi tal-linja kkoreġuta.
+ NanoLib-CANopen: Appoġġ għall-adapter Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: Inbidel l-interface tal-logging callback (LogLevel sostitwit minn LogModule). # NanoLib Logger: Is-separazzjoni bejn il-qalba u l-moduli ġiet ikkoreġuta. # Modbus TCP: Aġġornament tal-firmware fiss għal FW4. # EtherCAT: Tlugħ fiss tal-programm NanoJ għal Core5. # EtherCAT: Aġġornament tal-firmware fiss għal Core5.
# Modbus RTU: Kwistjonijiet ta' ħin fissi b'rati baud baxxi waqt l-aġġornament tal-firmware. # RESTful: Tlugħ fiss tal-programm NanoJ.
# NanoLib Moduli Sampler: Qari korrett ta' sampvaluri boolean mmexxija.
+ Appoġġ Java 11 għall-pjattaformi kollha. + Appoġġ għal Python 3.11/3.12 għall-pjattaformi kollha. + Interface ġdida ta’ callback tal-illoggjar (ara examples). + Callback sinkijiet għal NanoLib Logger. > Aġġorna l-logger għall-verżjoni 1.12.0. > NanoLib Moduli Sampler: Appoġġ issa għall-Firmware tal-kontrollur Nanotec v24xx. > NanoLib Moduli Sampler: Bidla fl-istruttura użata għal sampkonfigurazzjoni ler. > NanoLib Moduli Sampler: Il-mod kontinwu huwa sinonimu ma bla tmiem; il-kundizzjoni tal-grillu tiġi ċċekkjata darba; in-numru ta' samples għandhom ikunu 0. > NanoLib Modules Sampler: Prijorità normali għall-ħajt li jiġbor id-dejta fil-modalità tal-firmware. > NanoLib Moduli Sampler: Algoritmu miktub mill-ġdid biex jiskopri transizzjoni bejn l-istat Ready & Running. # NanoLib Core: M'hemmx aktar Vjolazzjoni ta' Aċċess (0xC0000005) meta jagħlqu 2 jew aktar apparati li jużaw l-istess ħardwer tal-karozzi tal-linja. # NanoLib Core: M'hemmx aktar Ħtija ta' Segmentazzjoni meta twaħħal adapter PEAK taħt Linux. # NanoLib Moduli Sampler: Ikkoreġi sampqari tal-valuri led fil-modalità tal-firmware. # NanoLib Moduli Sampler: Konfigurazzjoni korretta ta' 502X:04. # NanoLib Moduli Sampler: Taħlit korrett ta' buffers ma' kanali. # NanoLib-Canopen: Żieda fil-ħinijiet CAN għal robustezza u skanjar korrett b'baudrates aktar baxxi. # NanoLib-Modbus: algoritmu ta' skoperta VCP għal apparati speċjali (USB-DA-IO).
+ Appoġġ EtherCAT.
+ Nota dwar is-settings tal-proġett VS f'Kkonfigura l-proġett tiegħek.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileIsem (). + const std::string & xmlFileMogħdija f'addObjectDictionary (). + tiksebSamplerInterface ().

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

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

60

10 Imprint, kuntatt, verżjonijiet

Dokument
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

+ Miżjud > Mibdul # Fiss + rebootDevice (). + Kodiċi tal-iżball ResourceUnavailable għal getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, u ~Uid. > FirmwareUploadFromFile issa uploadFirmwareFromFile (). > firmwareUpload () issa uploadFirmware (). > bootloaderUploadFromFile () issa uploadBootloaderFromFile (). > bootloaderUpload () issa uploadBootloader (). > bootloaderFirmwareUploadFromFile () biex ittella'BootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () issa uploadBootloaderFirmware (). > nanojUploadFromFile () issa uploadNanoJFromFile (). > nanojUpload () issa uploadNanoJ (). > objectDictionaryLibrary () issa getObjectDictionaryLibrary (). > String_String_Map issa StringStringMap. > NanoLib-Komun: eżekuzzjoni aktar mgħaġġla tal-listAvailableBusHardware u openBusHardwareWithProtocol bl-adapter Ixxat. > NanoLib-CANopen: settings default użati (1000k baudrate, Ixxat bus number 0) jekk l-għażliet tal-hardware tal-karozzi tal-linja vojta. > NanoLib-RESTful: permess ta 'l-amministratur skadut għall-komunikazzjoni ma' bootloaders Ethernet taħt Windows jekk is-sewwieq npcap / winpcap ikun disponibbli. # NanoLib-CANopen: il-ħardwer tal-karozzi tal-linja issa jiftaħ mingħajr crashless b'għażliet vojta. # NanoLib-Common: openBusHardwareWithProtocol () bla tnixxija tal-memorja issa.
+ Appoġġ Linux ARM64. + Ħażna tal-massa USB / REST / Appoġġ Profinet DCP. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (NanotecExceptions mibdul). + NanoLib Modbus: VCP / USB hub unifikat għal USB. > L-iskannjar Modbus TCP jirritorna r-riżultati. < Il-latenza tal-komunikazzjoni Modbus TCP tibqa' kostanti.
+ Aktar ObjectEntryDataType (kumpless u profile-speċifiku). + IOError jirritorna jekk connectDevice () u scanDevices () ma jsibu xejn. + Timeout nominali ta' 100 ms biss għal CanOpen / Modbus.
+ Appoġġ Modbus (flimkien ma' USB Hub permezz ta' VCP). + Kapitolu Ħolqien tal-proġett Linux tiegħek stess. + extraHardwareSpecifier għal BusHardwareId (). + extraId_ u extraStringId_ għal DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Bugfixs.
Edizzjoni.

Prodott
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Verżjoni: dok 1.4.2 / NanoLib 1.3.0

61

Dokumenti / Riżorsi

Nanotic NanoLib C++ Programmazzjoni [pdfManwal tal-Utent
NanoLib C Programmazzjoni, C Programmazzjoni, Programmazzjoni

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *