Nanotic-LOGO

Nanotic NanoLib C++ Programado

Nanotic-NanoLib-C++-Programado-PRODUKTO

Produktaj Informoj

Specifoj

  • Produkta Nomo: NanoLib
  • Programado Lingvo: C++
  • Produkta Versio: 1.3.0
  • Uzanta Manlibro Versio: 1.4.2

La biblioteko NanoLib estas destinita por programado de kontrola programaro por Nanotec-regiloj. Ĝi provizas uzantinterfacon, kernajn funkciojn kaj komunikadajn bibliotekojn por faciligi la disvolvon de kontrolaj aplikaĵoj.

Produktaj Uzado-Instrukcioj

  • Antaŭ ol Vi Komencu:
    • Certigu, ke via sistemo plenumas la aparatarajn postulojn specifitajn en la manlibro. La celita publiko por ĉi tiu produkto inkluzivas programistojn, kiuj volas krei stiran programaron por Nanotec-regiloj.
  • Komencante:
    • Por komenci uzi NanoLib, sekvu ĉi tiujn paŝojn:
    • Komencu per importi NanoLib en vian projekton.
    • Agordu viajn projektajn agordojn laŭbezone.
    • Kreu vian projekton por integri NanoLib-funkciojn.
  • Kreado de Projektoj:
    • Vi povas krei projektojn por kaj Vindoza kaj Linuksa medioj. Sekvu la specifajn instrukciojn donitajn en la manlibro por ĉiu platformo.
  • Referenco pri Klasoj / Funkcioj:
    • Vidu la uzantmanlibron por detala gvidilo pri la klasoj kaj funkcioj haveblaj en NanoLib por programado de kontrola programaro.

Oftaj Demandoj

  • D: Kio estas la celo de NanoLib?
    • A: NanoLib estas biblioteko por programado de kontrola programaro por Nanotec-regiloj, provizante esencajn funkciojn kaj komunikajn kapablojn.
  • D: Kiel mi povas komenci uzi NanoLib?
    • A: Komencu per importi NanoLib en vian projekton, agordi projektajn agordojn, kaj konstrui vian projekton por uzi la funkciojn de NanoLib.

“`

Manlibro de uzanto NanoLib
C++

Valida kun produkta versio 1.3.0

Uzanta Manlibro Versio: 1.4.2

Dokumentu celon kaj konvenciojn

Ĉi tiu dokumento priskribas la aranĝon kaj uzon de la biblioteko NanoLib kaj enhavas referencon al ĉiuj klasoj kaj funkcioj por programi vian propran kontrolprogramaron por Nanotec-regiloj. Ni uzas la jenajn tiparojn:
Substrekita teksto markas krucreferencon aŭ hiperligon.
Example 1: Por precizaj instrukcioj pri la NanoLibAccessor, vidu Agordo. Ekzample 2: Instalu la Ixxat-ŝoforon kaj konektu la CAN-al-USB-adaptilon. Kursiva teksto signifas: Ĉi tio estas nomita objekto, menuvojo / ero, langeto / file nomo aŭ (se necese) fremdlingva esprimo.
Example 1: Elektu File > Nova > Blanka Dokumento. Malfermu la langeton Ilo kaj elektu Komento. Ekzample 2: Ĉi tiu dokumento disigas uzantojn (= Nutzer; usuario; uzanto; utilisateur; uzanto ktp.) de:
– Tria uzanto (= Drittnutzer; tercero usuario; terzo utente; tiers utilisateur; terzo utente ktp.). – Fina uzanto (= Endnutzer; usuario final; utente final; utilisateur final; utente finale ktp.).
Kuriero markas kodblokojn aŭ programajn komandojn. Ekzample 1: Per Bash, voku sudo make install por kopii komunajn objektojn; poste voku ldconfig. Ekzample 2: Uzu la sekvan NanoLibAccessor-funkcion por ŝanĝi la registran nivelon en NanoLib:
// ***** C++-variaĵo *****
void setLoggingLevel(LogLevel-nivelo);
Grada teksto emfazas individuajn vortojn de kritika graveco. Alternative, interkrampitaj ekkriaj signoj emfazas la kritikan(!) gravecon.
Example 1: Protektu vin, aliajn kaj vian ekipaĵon. Sekvu niajn ĝeneralajn sekurecajn notojn, kiuj ĝenerale validas por ĉiuj Nanotec-produktoj.
Example 2: Por via propra protekto, ankaŭ sekvu specifajn sekurecajn notojn kiuj validas por ĉi tiu specifa produkto. La verbo kunklaki signifas klakon per malĉefa musklavo por malfermi kuntekstan menuon ktp.
Example 1: Kunklaku sur la file, elektu Alinomi, kaj renomu la file. Ekzample 2: Por kontroli la ecojn, kunklaku sur la file kaj elektu Proprietoj.

Versio: doc 1.4.2 / NanoLib 1.3.0

4

Antaŭ ol vi komencu

Antaŭ ol vi ekuzi NanoLib, pretigu vian komputilon kaj informu vin pri la celita uzo kaj la bibliotekaj limigoj.
2.1 Postuloj pri sistemo kaj aparataro

Nanotic-NanoLib-C++-Programming-FIG- (1)
AVIZO Paneo pro 32-bita operacio aŭ nuligita sistemo! Uzu kaj konstante prizorgu 64-bitan sistemon. Observu la nuligajn instrukciojn kaj instrukciojn de la fabrikanto.

NanoLib 1.3.0 subtenas ĉiujn Nanotec-produktojn kun CANopen, Modbus RTU (ankaŭ USB sur virtuala COM-pordo), Modbus TCP, EtherCat, kaj Profinet. Por pli malnovaj NanoLibs: Vidu la ŝanĝprotokolon en la premsigno. Nur je via risko: uzo por heredaĵaj sistemoj. Noto: Sekvu validajn OEM-instrukciojn por agordi la latentecon kiel eble plej malalte se vi renkontas problemojn uzante FTDI-bazitan USB-adaptilon.

Postuloj (64-bita sistemo deviga)
Vindozo 10 aŭ 11 kun Visual Studio 2019 versio 16.8 aŭ pli nova kaj Vindoza SDK 10.0.20348.0 (versio 2104) aŭ pli nova
C++ redistribueblaj 2017 aŭ pli novaj CANopen: Ixxat VCI aŭ PCAN baza pelilo (nedeviga) EtherCat-modulo / Profinet DCP: Npcap aŭ WinPcap RESTful-modulo: Npcap, WinPcap, aŭ administra permeso por
komuniki kun Eterretaj startigiloj
Linukso kun Ubuntu 20.04 LTS ĝis 24 (ĉiuj x64 kaj arm64)
Kernaj kaplinioj kaj libpopt-dev pakaĵo Profinet DCP: CAP_NET_ADMIN kaj CAP_NET_RAW kapabloj-
ligoj CANopen: Ixxat ECI-pelilo aŭ Peak PCAN-USB-adaptilo EtherCat: CAP_NET_ADMIN, CAP_NET_RAW kaj
CAP_SYS_NICE-kapabloj RESTful: CAP_NET_ADMIN-kapablo komuniki kun Eth-
reta startigiloj (ankaŭ rekomenditaj: CAP_NET_RAW)

Lingvo, kampbusaj adaptiloj, kabloj
C++ GCC 7 aŭ pli alta (Linukso)
EtherCAT: Ethernet-kablo VCP / USB-nabo: nun unuforma USB USB-amasa memoro: USB-kablo REST: Ethernet-kablo CANopen: Ixxat USB-al-CAN V2; Na-
notec ZK-USB-CAN-1, adaptilo Peak PCANUSB Neniu subteno de Ixxat por Ubuntu sur arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 aŭ ekvivalenta adaptilo; USB-kablo ĉe virtuala komunikpordo (VCP)
Modbus TCP: Ethernet-kablo laŭ produkta datenfolio

2.2 Intencita uzo kaj spektantaro
NanoLib estas programa biblioteko kaj programaro por la funkciado kaj komunikado kun Nanotec-regiloj en ampleksa gamo de industriaj aplikoj kaj nur por taŭge spertaj programistoj.
Pro tio, ke la aparataro (komputilo) kaj operaciumo ne kapablas funkcii en reala tempo, NanoLib ne taŭgas por uzo en aplikoj, kiuj bezonas sinkronan pluraksan movadon aŭ ĝenerale estas temposentemaj.
Nenial vi rajtas integri NanoLib kiel sekurecan komponenton en produkton aŭ sistemon. Ĉe livero al finuzantoj, vi devas aldoni respondajn avertojn kaj instrukciojn por sekura uzo kaj sekura funkciigo al ĉiu produkto kun Nanotec-fabrikita komponento. Vi devas transdoni ĉiujn Nanotec-eldonitajn avertojn rekte al la finuzanto.
2.3 Amplekso de livero kaj garantio
NanoLib venas kiel *.zip dosierujo de nia elŝuto webretejo por EMEA/APAC aŭ AMERIKO. Konvene konservu kaj malzimpu vian elŝuton antaŭ agordo. La pako NanoLib enhavas:

Versio: doc 1.4.2 / NanoLib 1.3.0

5

2 Antaŭ ol komenci

Interfacaj titoloj kiel fontkodo (API)

Kernaj funkcioj kiel bibliotekoj en duuma formato: nano-

Bibliotekoj kiuj faciligas komunikadon: nanolibm_ lib.dll

[viakampabuso].dll ktp.

Exampla projekto: Ekzample.sln (Visual Studio

projekto) kaj eksample.cpp (ĉefa file)

Pri la amplekso de la garantio, bonvolu observi a) niajn kondiĉojn por EMEA / APAC aŭ AMERIKO kaj b) ĉiujn licencajn kondiĉojn. Noto: Nanotec ne respondecas pri difekta aŭ nepra kvalito, manipulado, instalado, funkciigo, uzo kaj prizorgado de triaparta ekipaĵo! Por konvena sekureco, ĉiam sekvu validajn OEM-instrukciojn.

Versio: doc 1.4.2 / NanoLib 1.3.0

6

La NanoLib-arkitekturo

La modula programara strukturo de NanoLib ebligas al vi aranĝi libere agordeblajn motorregilojn/kampbusajn funkciojn ĉirkaŭ strikte antaŭkonstruita kerno. NanoLib enhavas la sekvajn modulojn:

Uzantinterfaco (API)

NanoLib-kerno

Interfaco kaj helpklasoj kiuj Bibliotekoj kiuj

Komunikaj bibliotekoj Fieldbus-specifaj bibliotekoj kiuj

aliru vin al la efektivigo de via regilo la API-funkcion fari interfacon inter NanoLib

OD (objekta vortaro)

interagi kun busbibliotekoj.

kerna kaj busa aparataro.

bazu sur la kernfunkcio de NanoLib

nacioj.

3.1 Uzantinterfaco

La uzantinterfaco konsistas el kapinterfaco fileojn, kiujn vi povas uzi por aliri la parametrojn de la regilo. La uzantinterfacaj klasoj, kiel priskribite en la referenco Klasoj / funkcioj, permesas al vi:
Konektiĝu al kaj la aparataro (kampabusa adaptilo) kaj la regilo. Aliru la eksteran dosieron de la aparato por legi/skribi la regilo-parametrojn.

3.2 NanoLib-kerno

La kerno de NanoLib venas kun la importbiblioteko nanolib.lib. Ĝi efektivigas la uzulinterfacan funkcion kaj respondecas pri:
Ŝargado kaj administrado de la komunikadaj bibliotekoj. Provizado de la uzantinterfacaj funkcioj en la NanoLibAccessor. Ĉi tiu komunikada enirejo de-
monpunas aron da operacioj, kiujn vi povas plenumi sur la kernaj kaj komunikaj bibliotekoj de NanoLib.

3.3 Komunikaj bibliotekoj

Krom nanotec.services.nanolib.dll (utila por via laŭvola Plug & Drive Studio), NanoLib ofertas la jenajn komunikajn bibliotekojn:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Ĉiuj bibliotekoj metas hardvarabstraktan tavolon inter kerno kaj regilo. La kerno ŝarĝas ilin ĉe ekfunkciigo de la elektita projekta dosierujo kaj uzas ilin por establi komunikadon kun la regilo per responda protokolo.

Versio: doc 1.4.2 / NanoLib 1.3.0

7

Komencante

Legu kiel agordi NanoLib por via operaciumo ĝuste kaj kiel konekti aparataron laŭbezone.
4.1 Preparu vian sistemon
Antaŭ ol instali la adaptilajn pelilojn, unue preparu vian komputilon laŭ la operaciumo. Por prepari la komputilon laŭ via Vindoza operaciumo, instalu MS Visual Studio kun C++-etendaĵoj. Por instali make kaj gcc per Linuksa Bash, voku sudo apt install build-essentials. Poste ebligu la kapablojn CAP_NET_ADMIN, CAP_NET_RAW, kaj CAP_SYS_NICE por la aplikaĵo, kiu uzas NanoLib: 1. Voku sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
nomo>. 2. Nur tiam, instalu viajn adaptilojn.
4.2 Instalu la pelilon de la adaptilo Ixxat por Vindozo
Nur post ĝusta instalado de la pelilo, vi povas uzi la USB-al-CAN V2 adaptilon de Ixxat. Legu la produktan manlibron de la USB-diskoj por lerni ĉu/kiel aktivigi la virtualan konekton (VCP). 1. Elŝutu kaj instalu la VCI 4 pelilon de Ixxat por Vindozo de www.ixxat.com2. Konekti la USB-al-CAN V2 kompaktan adaptilon de Ixxat al la komputilo per USB. 3. Per la Aparata Administrilo: Kontrolu ĉu kaj la pelilo kaj la adaptilo estas laŭregule instalitaj/rekonitaj.
4.3 Instalu la pelilon de la adaptilo Peak por Vindozo
Nur post ĝusta instalado de la pelilo, vi povas uzi la PCAN-USB-adaptilon de Peak. Legu la produktan manlibron de la USB-diskoj por lerni ĉu/kiel aktivigi la virtualan konekton (VCP). 1. Elŝutu kaj instalu la instalilon de la pelilo por Vindozo (= instalpakaĵo kun peliloj, iloj kaj...).
API-oj) de http://www.peak-system.com2. Konekti la PCAN-USB-adaptilon de Peak al la komputilo per USB. 3. Per la Aparata Administrilo: Kontrolu ĉu kaj la pelilo kaj la adaptilo estas laŭregule instalitaj/rekonitaj.
4.4 Instalu la pelilon de la adaptilo Ixxat por Linukso
Nur post ĝusta instalado de la pelilo, vi rajtas uzi la USB-al-CAN V2-adaptilon de Ixxat. Noto: Aliaj subtenataj adaptiloj bezonas viajn permesojn per sudo chmod +777/dev/ttyACM* (* aparatnumero). Legu la produktan manlibron de la USB-diskoj por lerni ĉu/kiel aktivigi la virtualan konekton (VCP). 1. Instalu la programaron bezonatan por la ECI-pelilo kaj demonstra aplikaĵo:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Elŝutu la pelilon ECI-por-Linukso de www.ixxat.com. Malzipu ĝin per:
malzipi eci_driver_linux_amd64.zip
3. Instalu la pelilon per:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Kontrolu la sukcesan instaladon de la pelilo per kompilo kaj lanĉo de la demonstraĵa aplikaĵo:
cd /EciLinux_amd/src/EciDemos/ sudo kreu cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Versio: doc 1.4.2 / NanoLib 1.3.0

8

4 Komencante
4.5 Instalu la pelilon de la adaptilo Peak por Linukso
Nur post ĝusta instalado de la pelilo, vi povas uzi la PCAN-USB-adaptilon de Peak. Noto: Aliaj subtenataj adaptiloj bezonas viajn permesojn per sudo chmod +777/dev/ttyACM* (* aparatnumero). Legu la produktan manlibron de la USB-diskoj por lerni ĉu/kiel aktivigi la virtualan konekton (VCP). 1. Kontrolu ĉu via Linukso havas kernalajn kapliniojn: ls /usr/src/linux-headers-`uname -r`. Se ne, instalu
ilin: sudo apt-get install linux-headers-`uname -r` 2. Nur nun, instalu la libpopt-dev pakaĵeton: sudo apt-get install libpopt-dev 3. Elŝutu la bezonatan pelilpakaĵon (peak-linux-driver-xxx.tar.gz) de www.peak-system.com. 4. Por malpaki ĝin, uzu: tar xzf peak-linux-driver-xxx.tar.gz 5. En la malpakita dosierujo: Kompilu kaj instalu la pelilojn, la bazan bibliotekon de PCAN, ktp.: faru ĉion
sudo make install 6. Por kontroli la funkcion, enŝovu la PCAN-USB-adaptilon.
a) Kontrolu la kernan modulon:
lsmod | grep pcan b) … kaj la komuna biblioteko:
ls -l /usr/lib/libpcan*
Noto: Se okazas problemoj pri USB3, uzu USB2-pordon.
4.6 Konektu vian aparataron
Por povi funkciigi NanoLib-projekton, konektu kongruan Nanotec-regilon al la komputilo per via adaptilo. 1. Per taŭga kablo, konektu vian adaptilon al la regilo. 2. Konekti la adaptilon al la komputilo laŭ la datenfolio de la adaptilo. 3. Ŝaltu la regilon per taŭga elektrofonto. 4. Se necese, ŝanĝu la komunikajn agordojn de la Nanotec-regilo kiel instrukciite en ĝia produkta manlibro.
4.7 Ŝargi NanoLib
Por unua komenco kun rapidaj kaj facilaj bazaĵoj, vi povas (sed ne devas) uzi nian eksample projekto. 1. Depende de via regiono: Elŝutu NanoLib de nia webretejo por EMEA/APAC aŭ AMERIKO. 2. Malfermu la pakaĵon files / dosierujoj kaj elektu unu opcion: Por rapidaj kaj facilaj bazaĵoj: Vidu Komenci la eksampla projekto. Por altnivela agordo en Vindozo: Vidu Krei vian propran Vindozan projekton. Por altnivela agordo en Linukso: Vidu Krei vian propran Linuksan projekton.

Versio: doc 1.4.2 / NanoLib 1.3.0

9

Komencante la eksample projekto

Kun NanoLib laŭregule ŝarĝita, la eksampla projekto montras al vi la uzadon de NanoLib per Nanotec-regilo. Noto: Por ĉiu paŝo, komentoj en la provizita ekzampla kodo klarigas la uzatajn funkciojn. La eksampla projekto konsistas el: la `*_functions_example.*' files, kiuj enhavas la efektivigojn por la NanoLib-interfacaj funkcioj `*_callback_example.*' files, kiuj enhavas efektivigojn por la diversaj revokoj (skanado, datumoj kaj
protokolado) la `menu_*.*' file, kiu enhavas la menuan logikon kaj kodon de la Ekzemploample.* file, kiu estas la ĉefa programo, kreante la menuon kaj inicialigante ĉiujn uzitajn parametrojn la Sampler_example.* file, kiu enhavas la eks-ampefektivigo por sampler uzado. Vi povas trovi pliajn ekzemplojnampdosierujojn, kun kelkaj movkomandoj por diversaj operaciumoj, en la Sciobazo ĉe nanotec.com. Ĉiuj estas uzeblaj en Vindozo aŭ Linukso.
En Vindozo kun Visual Studio 1. Malfermu la Example.sln file2. Malfermu la eksample.cpp. 3. Kompilu kaj rulu la ekz.ample kodo.
En Linukso per Bash 1. Malzipu la fontkodon file, navigu al la dosierujo kun malkunpremita enhavo. La ĉefa file por la eksample is
example.cpp. 2. En la bash, voku:
a. “sudo make install” por kopii la komunajn objektojn kaj voki ldconfig. b. “make all” por konstrui la testan ruleblan dosieron. 3. La dosierujo bin enhavas ruleblan dosieron example filePer bash: Iru al la eliga dosierujo kaj tajpu ./exampekz. Se neniu eraro okazas, viaj komunaj objektoj nun estas laŭregule instalitaj, kaj via biblioteko estas preta por uzo. Se la eraro legas ./example: eraro dum ŝargado de komunaj bibliotekoj: libnanolib.so: ne eblas malfermi komunan objekton fileNe tia file aŭ dosierujo, la instalado de la komunaj objektoj malsukcesis. En ĉi tiu kazo, sekvu la jenajn paŝojn. 4. Kreu novan dosierujon ene de /usr/local/lib (administrantaj rajtoj necesas). En la bash-dosieron, tajpu jene:
sudo mkdir /usr/local/lib/nanotec
5. Kopiu ĉiujn komunajn objektojn el la zip-dosiero filedosierujo lib de 's:
instalu ./lib/*.so /usr/local/lib/nanotec/
6. Kontrolu la enhavon de la cela dosierujo per:
ls -al /usr/loka/lib/nanotec/
Ĝi devus listigi la komunan objekton files el la dosierujo lib. 7. Rulu ldconfig sur ĉi tiu dosierujo:
sudo ldconfig /usr/local/lib/nanotec/
La eksample estas efektivigita kiel CLI-aplikaĵo kaj provizas menuan interfacon. La menueroj estas kuntekstbazitaj kaj estos ebligitaj aŭ malebligitaj, depende de la kunteksta stato. Ili ofertas al vi la eblecon elekti kaj plenumi diversajn bibliotekajn funkciojn laŭ la tipa laborfluo por pritrakti regilon: 1. Kontrolu la komputilon por konektita aparataro (adaptiloj) kaj listigi ilin. 2. Establu konekton al adaptilo. 3. Skanu la buson por konektitaj regilaj aparatoj. 4. Konekti al aparato.

Versio: doc 1.4.2 / NanoLib 1.3.0

10

5 Komencante la eksample projekto
5. Testu unu aŭ plurajn el la bibliotekaj funkcioj: Legi/skribi el/al la objekta vortaro de la regilo, ĝisdatigi la firmvaron, alŝuti kaj ruli NanoJ-programon, ekfunkciigi la motoron kaj agordi ĝin, agordi kaj uzi la protokolado(j)nampler.
6. Fermu la konekton, unue al la aparato, poste al la adaptilo.

Versio: doc 1.4.2 / NanoLib 1.3.0

11

Krei vian propran Vindozan projekton

Kreu, kompilu kaj lanĉu vian propran Vindozan projekton por uzi NanoLib.
6.1 Importi NanoLib
Importi la NanoLib-kaplinion fileoj kaj bibliotekoj per MS Visual Studio.
1. Malfermu Visual Studion. 2. Per Krei novan projekton > Konzola Aplikaĵo C++ > Sekva: Elektu projektotipon. 3. Nomu vian projekton (ĉi tie: NanolibTest) por krei projektodosierujon en la Solvo-Esplorilo. 4. Elektu Fini. 5. Malfermu la fenestrojn file esplorilon kaj navigu al la nove kreita projekta dosierujo. 6. Kreu du novajn dosierujojn, inc kaj lib. 7. Malfermu la pakaĵdosierujon NanoLib. 8. De tie: Kopiu la kapdosieron files el la dosierujo "include" en vian projektan dosierujon "inc" kaj ĉiujn .lib kaj .dll
files al via nova projekta dosierujo lib. 9. Kontrolu vian projektan dosierujon por ĝusta strukturo, ekzempleample:

Nanotic-NanoLib-C++-Programming-FIG- (2)ect-dosierujo por konvena strukturo:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vcxproj.user NanolibTest.sln
6.2 Agordu vian projekton
Uzu la Solvo-Esplorilon en MS Visual Studio por agordi NanoLib-projektojn. Noto: Por ĝusta funkciado de NanoLib, elektu la eldonon (ne sencimigan!) agordon en la projektaj agordoj de Visual C++; poste konstruu kaj ligu la projekton kun VC-rultempaj dosieroj de C++-redistribueblaj dosieroj [2022].
1. En la Solvo-Esplorilo: Iru al via projekta dosierujo (ĉi tie: NanolibTest). 2. Kun-klaku la dosierujon por malfermi la kuntekstan menuon. 3. Elektu Ecoj. 4. Aktivigu Ĉiujn agordojn kaj Ĉiujn platformojn. 5. Elektu C/C++ kaj iru al Pliaj Inkluzivaj Dosierujoj. 6. Enmetu: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Elektu Ligilon kaj iru al Pliaj Bibliotekaj Dosierujoj. 8. Enmetu: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Etendu Ligilon kaj elektu Enigo. 10. Iru al Pliaj Dependaĵoj kaj enmetu: nanolib.lib;%(AdditionalDependencies) 11. Konfirmu per OK.

Versio: doc 1.4.2 / NanoLib 1.3.0

12

6 Krei vian propran Vindozan projekton
12. Iru al Agordo > C++ > Lingvo > Lingva Normo > ISO C++17 Normo kaj agordu la lingvan normon al C++17 (/std:c++17).
6.3 Krei vian projekton
Kreu vian NanoLib-projekton en MS Visual Studio. 1. Malfermu la ĉefan *.cpp dosieron file (ĉi tie: nanolib_example.cpp) kaj redaktu la kodon, se necese. 2. Elektu Konstrui > Agordo-administrilo. 3. Ŝanĝu Aktivajn solvaĵajn platformojn al x64. 4. Konfirmu per Fermi. 5. Elektu Konstrui > Konstrui solvon. 6. Neniu eraro? Kontrolu ĉu via kompila eligo ĝuste raportas:
1>—— Purigo komencita: Projekto: NanolibTest, Agordo: Debug x64 —–========== Purigo: 1 sukcesis, 0 malsukcesis, 0 preterlasis ===========

Versio: doc 1.4.2 / NanoLib 1.3.0

13

7 Krei vian propran Linuksan projekton
7 Krei vian propran Linuksan projekton
Kreu, kompilu kaj lanĉu vian propran Linuksan projekton por uzi NanoLib. 1. En la malzipita NanoLib-instala ilaro: Malfermu /nanotec_nanolib. 2. Trovu ĉiujn komunajn objektojn en la dosiero tar.gz file. 3. Elektu unu opcion: Instalu ĉiun bibliotekon aŭ per Kreaĵofile aŭ permane.
7.1 Instalu la komunajn objektojn per Makefile
Uzu Farufile per Linuksa Bash por aŭtomate instali ĉiujn defaŭltajn *.so-dosierojn files. 1. Per Bash: Iri al la dosierujo enhavanta la kreaĵonfile2. Kopiu la komunajn objektojn per:
sudo make install 3. Konfirmu per:
ldconfig
7.2 Instalu la komunajn objektojn permane
Uzu Bash por instali ĉiujn *.so-dosierojn files de NanoLib permane. 1. Per Bash: Kreu novan dosierujon ene de /usr/local/lib. 2. Administraj rajtoj necesas! Tajpu:
sudo mkdir /usr/local/lib/nanotec 3. Ŝanĝu al la dosierujo de la malzipita instalpakaĵo. 4. Kopiu ĉiujn komunajn objektojn el la dosierujo lib per:
instalu ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Kontrolu la enhavon de la cela dosierujo per:
ls -al /usr/local/lib/nanotec/ 6. Kontrolu ĉu ĉiuj komunaj objektoj el la dosierujo lib estas listigitaj. 7. Rulu ldconfig sur ĉi tiu dosierujo per:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Kreu vian projekton
Kun viaj komunaj objektoj instalitaj: Kreu novan projekton por via Linuksa NanoLib. 1. Per Bash: Kreu novan projektan dosierujon (ĉi tie: NanoLibTest) per:
mkdir NanoLibTest cd NanoLibTest
2. Kopiu la titolon files al inkluziva dosierujo (ĉi tie: inc) per: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Kreu ĉefan file (NanoLibTest.cpp) per: #include “accessor_factory.hpp” #include

Versio: doc 1.4.2 / NanoLib 1.3.0

14

7 Krei vian propran Linuksan projekton
int ĉefa(){ nlc::NanoLibAccessor *aliro = akiriNanoLibAccessor();
nlc::ResultBusHwIds rezulto = aliro->listoDisponeblaBusaAparataro();
se(rezulto.havasEraron()) { std::cout << rezulto.akiriEraron() << std::endl; }
alie{ std::cout << "Sukceso" << std::endl; }
forigi alirilon; redoni 0; }
4. Kontrolu la ĝustan strukturon de via projektodosierujo:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc alirfabriko.hpp busa aparataro_identigilo.hpp … od_indekso.hpp rezulto.hpp NanoLibTest.cpp
7.4 Kompilu kaj testu vian projekton
Pretigu vian Linuksan NanoLib por uzo per Bash.
1. Per Bash: Kompilu la ĉefan file per:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Ligu la efektivigeblan dosieron kune per:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Rulu la testprogramon per:
./testo
4. Kontrolu ĉu via Bash laŭregule raportas:
sukceson

Versio: doc 1.4.2 / NanoLib 1.3.0

15

8 Klasoj / funkcioj referenco

8 Klasoj / funkcioj referenco

Trovu ĉi tie liston de la uzantinterfacaj klasoj de NanoLib kaj iliaj membrofunkcioj. La tipa priskribo de funkcio inkluzivas mallongan enkondukon, la funkciodifinon kaj parametron/revenan liston:

ExampleFunction () Rakontas al vi mallonge, kion faras la funkcio.
virtuala malpleno nlc::NanoLibAccessor::ExamplaFunkcio (Param_a konstanto & param_a, Param_b konstanto & param_B)

Parametroj param_a param_b
Revenas ResultVoid

Kroma komento se necese. Kroma komento se necese.

8.1 NanoLibAccessor

Interfacklaso uzata kiel enirpunkto al la NanoLib. Tipa laborfluo aspektas jene:
1. Komencu skanante aparataron per NanoLibAccessor.listAvailableBusHardware (). 2. Agordu la komunikajn agordojn per BusHardwareOptions (). 3. Malfermu la aparatan konekton kun NanoLibAccessor.openBusHardwareWithProtocol (). 4. Skanu la buson por konektitaj aparatoj kun NanoLibAccessor.scanDevices (). 5. Aldonu aparaton kun NanoLibAccessor.addDevice (). 6. Konektu al la aparato kun NanoLibAccessor.connectDevice (). 7. Fininte la operacion, malkonekti la aparaton per NanoLibAccessor.disconnectDevice (). 8. Forigu la aparaton per NanoLibAccessor.removeDevice (). 9. Fermu la aparatan konekton kun NanoLibAccessor.closeBusHardware ().
NanoLibAccessor havas la sekvajn publikajn membrofunkciojn:

listAvailableBusHardware () Uzu ĉi tiun funkcion por listigi disponeblajn kampbusajn aparataron.
virtuala ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Revenas ResultBusHwIds

Liveras kampbusan ID-tabelon.

openBusHardwareWithProtocol () Uzu ĉi tiun funkcion por konekti busa aparataro.
virtuala ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId konst & busHwId, BusHardwareOptions konst & busHwOpt)

Parametroj busHwId busHwOpt
Revenas ResultVoid

Specifas la kampbuson por malfermi. Specifas kampbusajn malfermopciojn. Konfirmas ke malplena funkcio funkciis.

isBusHardwareOpen () Uzu ĉi tiun funkcion por kontroli ĉu via kampbusa aparatara konekto estas malfermita.
virtuala ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (konstanta BusHardwareId & busHwId, konstanta BusHardwareOptions & busHwOpt)

Versio: doc 1.4.2 / NanoLib 1.3.0

16

8 Klasoj / funkcioj referenco

Parametroj BusHardwareId Redonas vera
malvera

Specifas ĉiun kampbuson por malfermi. Aparataro estas malfermita. Aparataro estas fermita.

getProtocolSpecificAccessor () Uzu ĉi tiun funkcion por akiri la protokol-specifan akcesorobjekton.
virtuala ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parametroj busHwId Revenas ResultVoid

Specifas la kampbuson por akiri la akcesoraĵon. Konfirmas ke malplena funkcio funkciis.

getProfinetDCP () Uzu ĉi tiun funkcion por resendi referencon al Profinet DCP-interfaco.
virtuala ProfinetDCP & getProfinetDCP ()

Revenas ProfinetDCP

ricevasSamplerInterface () Uzu ĉi tiun funkcion por ricevi referencon al la sampler interfaco.
virtuala SamplerInterface kaj getSamplerInterfaco ()

Revenas SamplerInterfaco

Rilatas al la sampler interfaco klaso.

setBusState () Uzu ĉi tiun funkcion por agordi la bus-protokolo-specifan staton.
virtuala ResultVoid nlc::NanoLibAccessor::setBusState (konstanta BusHardwareId & busHwId, konstanta std::string & state)

Parametroj busHwId stato
Revenas ResultVoid

Specifas la kampbuson por malfermi. Atribuas bus-specifan staton kiel ĉenvaloro. Konfirmas ke malplena funkcio funkciis.

scanDevices () Uzu ĉi tiun funkcion por serĉi aparatojn en la reto.
virtualaj RezultajAparatajId-oj nlc::NanoLibAccessor::scanDevices (konstanta BusHardwareId & busHwId, NlcScanBusCallback* revoko)

Parametroj busHwId callback
Liveras ResultDeviceIds IOError

Specifas la kampbuson por skani. NlcScanBusCallback progreso spurilo. Liveras aparatan ID-tabelon. Informas ke aparato ne estas trovita.

Versio: doc 1.4.2 / NanoLib 1.3.0

17

8 Klasoj / funkcioj referenco

aldoniAparaton ()
Uzu ĉi tiun funkcion por aldoni busan aparaton priskribitan per deviceId al la interna aparatlisto de NanoLib, kaj por redoni deviceHandle por ĝi.
virtuala ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId konstanto & deviceId)

Parametroj deviceId Liveras ResultDeviceHandle

Specifas la aparaton por aldoni al la listo. Liveras aparato-tenilon.

connectDevice () Uzu ĉi tiun funkcion por konekti aparaton per deviceHandle.
virtuala ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle konst deviceHandle)

Parametroj deviceHandle Revenas ResultVoid
IOEraro

Specifas al kiu busa aparato NanoLib konektas. Konfirmas ke malplena funkcio funkciis. Informas ke aparato ne estas trovita.

getDeviceName () Uzu ĉi tiun funkcion por ricevi la nomon de aparato per deviceHandle.
virtuala Rezultĉeno nlc::NanoLibAccessor::getDeviceName (DeviceHandle konst deviceHandle)

Parametroj deviceHandle Redonas ResultString

Specifas por kiu busa aparato NanoLib ricevas la nomon. Liveras aparatnomojn kiel ŝnuro.

getDeviceProductCode () Uzu ĉi tiun funkcion por akiri la produktokodon de aparato per deviceHandle.
virtuala ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle konst deviceHandle)

Parametroj deviceHandle Revenas ResultInt

Specifas por kiu busa aparato NanoLib ricevas la produktokodon. Liveras produktkodojn kiel entjero.

getDeviceVendorId () Uzu ĉi tiun funkcion por akiri la aparaton de vendisto ID per deviceHandle.
virtuala ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle konst deviceHandle)

Parametroj deviceHandle Revenas ResultInt
RimedoNedisponebla

Specifas por kiu busa aparato NanoLib ricevas la vendistan ID por. Liveras identigilojn de vendisto kiel entjero. Informas ke neniu datumo estas trovita.

Versio: doc 1.4.2 / NanoLib 1.3.0

18

8 Klasoj / funkcioj referenco

getDeviceId () Uzu ĉi tiun funkcion por akiri specifan identigilon de aparato el la interna listo de NanoLib.
virtuala RezultoAparataIdentigilo nlc::NanoLibAccessor::getDeviceId (AparataTenilo konst aparatoTenilo)

Parametroj deviceHandle Revenas ResultDeviceId

Specifas por kiu busa aparato NanoLib ricevas la aparato-ID por. Liveras aparaton ID.

getDeviceIds () Uzu ĉi tiun funkcion por akiri la ID de ĉiuj aparatoj el la interna listo de NanoLib.
virtuala RezultoAparatajIdentigiloj nlc::NanoLibAccessor::getDeviceIds ()

Liveras ResultDeviceIds

Liveras aparaton ID-liston.

getDeviceUid () Uzu ĉi tiun funkcion por akiri la unikan identigilon de aparato (96 bitoj / 12 bajtoj) per deviceHandle.
virtuala ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle konst deviceHandle)

Parametroj deviceHandle Revenas ResultArrayByte
RimedoNedisponebla

Specifas por kiu busa aparato NanoLib ricevas la unikan identigilon. Liveras unikajn identigilojn kiel bajta tabelo. Informas ke neniu datumo estas trovita.

getDeviceSerialNumber () Uzu ĉi tiun funkcion por akiri la serian numeron de aparato per deviceHandle.
virtuala Rezultĉeno NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parametroj deviceHandle Redonas ResultString
RimedoNedisponebla

Specifas por kiu busa aparato NanoLib ricevas la serian numeron. Liveras seriajn numerojn kiel ŝnuro. Informas ke neniu datumo estas trovita.

getDeviceHardwareGroup () Uzu ĉi tiun funkcion por akiri la aparataron de busa aparato per deviceHandle.
virtuala RezultoAparataId nlc::NanoLibAccessor::getDeviceHardwareGroup (AparataTenilo konst aparatoTenilo)

Parametroj deviceHandle Revenas ResultInt

Specifas por kiu busa aparato NanoLib ricevas la hardvargrupon.
Liveras hardvargrupojn kiel entjero.

getDeviceHardwareVersion () Uzu ĉi tiun funkcion por akiri la aparatan version de busaparato per deviceHandle.
virtuala RezultoAparataIdentigilo nlc::NanoLibAccessor::getDeviceHardwareVersion (AparataTeno konst aparatoTeno)

Versio: doc 1.4.2 / NanoLib 1.3.0

19

8 Klasoj / funkcioj referenco

Parametroj deviceHandle

Revenoj

ResultString RimedoNedisponebla

Specifas por kiu busa aparato NanoLib ricevas la aparatan version. Liveras aparatnomojn kiel ŝnuro. Informas ke neniu datumo estas trovita.

getDeviceFirmwareBuildId () Uzu ĉi tiun funkcion por akiri la firmware-konstruan ID de busaparato per deviceHandle.
virtuala RezultoAparataIdentigilo nlc::NanoLibAccessor::getDeviceFirmwareBuildId (AparataTenilo konst aparatoTenilo)

Parametroj deviceHandle Redonas ResultString

Specifas por kiu busa aparato NanoLib ricevas la firmware-konstruan ID por.
Liveras aparatnomojn kiel ŝnuro.

getDeviceBootloaderVersion () Uzu ĉi tiun funkcion por akiri la version de ekŝargilo de busaparato per deviceHandle.
virtuala ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle konst deviceHandle)

Parametroj deviceHandle

Revenoj

ResultInt ResourceUnavailable

Specifas por kiu busa aparato NanoLib ricevas la version de ekŝargilo. Liveras startŝargilversiojn kiel entjero. Informas ke neniu datumo estas trovita.

getDeviceBootloaderBuildId () Uzu ĉi tiun funkcion por akiri la konstruan ID de ekŝargilo de busaparato per deviceHandle.
virtuala RezultoAparataIdentigilo nlc::NanoLibAccessor:: (AparataTenilo konst aparatoTenilo)

Parametroj deviceHandle Redonas ResultString

Specifas por kiu busa aparato NanoLib ricevas la konstruan ID de ekŝargilo.
Liveras aparatnomojn kiel ŝnuro.

rebootDevice () Uzu ĉi tiun funkcion por rekomenci la aparaton per deviceHandle.
virtuala ResultVoid nlc::NanoLibAccessor::rebootDevice (konstanta Aparata Tenilo aparatoTenilo)

Parametroj deviceHandle Revenas ResultVoid

Specifas la kampbuson por rekomenci. Konfirmas ke malplena funkcio funkciis.

getDeviceState () Uzu ĉi tiun funkcion por akiri la specifan staton de aparato-protokolo.
virtuala Rezulto-Ĉeno nlc::NanoLibAccessor::getDeviceState (AparataTeno konst aparatoTeno)

Parametroj deviceHandle

Specifas por kiu busaparato NanoLib ricevas la staton.

Versio: doc 1.4.2 / NanoLib 1.3.0

20

8 Klasoj / funkcioj referenco

Revenas ResultString

Liveras aparatnomojn kiel ŝnuro.

setDeviceState () Uzu ĉi tiun funkcion por agordi la specifan staton de aparato-protokolo.
virtuala ResultVoid nlc::NanoLibAccessor::setDeviceState (konstanta DeviceHandle aparatoHandle, konstanta std::string & stato)

Parametroj deviceHandle stato
Revenas ResultVoid

Specifas por kiu busa aparato NanoLib starigas la staton. Atribuas bus-specifan staton kiel ĉenvaloro. Konfirmas ke malplena funkcio funkciis.

akiriKonektanStaton ()
Uzu ĉi tiun funkcion por akiri la lastan konatan konektostaton de specifa aparato per deviceHandle (= Malkonektita, Konektita, KonektitaStartŝargilo)
virtuala ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle konst deviceHandle)

Parametroj deviceHandle Redonas ResultConnectionState

Specifas por kiu busa aparato NanoLib ricevas la konektan staton.
Liveras konektan staton (= Malkonektita, Konektita, ConnectedBootloader).

kontroliKonektan Staton ()
Nur se la lasta konata stato ne estis Malkonektita: Uzu ĉi tiun funkcion por kontroli kaj eble ĝisdatigi la konektan staton de specifa aparato per deviceHandle kaj testante plurajn reĝim-specifajn operaciojn.
virtuala ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle konst deviceHandle)

Parametroj deviceHandle Redonas ResultConnectionState

Specifas por kiu busa aparato NanoLib kontrolas la konektan staton.
Liveras konektan staton (= ne Malkonektita).

assignObjectDictionary () Uzu ĉi tiun manlibron por asigni objektovortaron (OD) al deviceHandle memstare.
virtuala ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle konst deviceHandle, ObjectDictionary konst & objectDictionary)

Parametroj deviceHandle objektoVortaro
Liveras ResultObjectDictionary

Specifas al kiu busa aparato NanoLib asignas la OD. Montras la ecojn de objektovortaro.

autoAsignObjectVortaro ()
Uzu ĉi tiun aŭtomatismon por lasi NanoLib asigni objektovortaron (OD) al deviceHandle. Trovante kaj ŝarĝante taŭgan OD, NanoLib aŭtomate asignas ĝin al la aparato. Noto: Se kongrua OD jam estas ŝarĝita en la objektobiblioteko, NanoLib aŭtomate uzos ĝin sen skanado de la sendita dosierujo.
virtuala ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionarysLocationPath)

Versio: doc 1.4.2 / NanoLib 1.3.0

21

8 Klasoj / funkcioj referenco

Parametroj deviceHandle

Revenoj

vortarojLocationPath ResultObjectVortaro

Specifas por kiu busa aparato NanoLib aŭtomate skanos por taŭgaj OD-oj. Specifas la vojon al la OD-dosierujo. Montras la ecojn de objektovortaro.

akiriAsignitanObjektoVortaron ()
Uzu ĉi tiun funkcion por akiri la objektan vortaron asignitan al aparato per deviceHandle.
virtuala ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle konstanto aparato
Tenilo)

Parametroj deviceHandle Revenas ResultObjectDictionary

Specifas por kiu busa aparato NanoLib ricevas la asignitan OD. Montras la ecojn de objektovortaro.

getObjectDictionaryLibrary () Ĉi tiu funkcio liveras referencon al OdLibrary.
virtuala OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Revenas OdLibrary&

Malfermas la tutan OD-bibliotekon kaj ĝiajn objektovortarojn.

setLoggingLevel () Uzu ĉi tiun funkcion por agordi la bezonatan protokolo-detalon (kaj protokolo file grandeco). Defaŭlta nivelo estas Info.
virtuala malpleno nlc::NanoLibAccessor::setLoggingLevel (LogLevel nivelo)

Nivelo de parametroj

La sekvaj protokolaj detaloj eblas:

0 = Spuro 1 = Sencimigi 2 = Informoj 3 = Averti 4 = Eraro 5 = Kritika 6 = Malŝaltita

Plej malalta nivelo (plej granda ŝtipo file); registras ajnan realigeblan detalon, plus programaro starto/haltigi. Ensalutas sencimigan informon (= provizoraj rezultoj, enhavo sendita aŭ ricevita, ktp.) Defaŭlta nivelo; registras informajn mesaĝojn. Registras problemojn kiuj okazis sed ne haltigos la nunan algoritmon. Registras nur severajn problemojn, kiuj haltigis la algoritmon. Plej alta nivelo (plej malgranda ŝtipo file); malŝaltas la ensaluti; tute ne plu ŝtipu. Tute neniu arbohakado.

agordiProtokoladanRevokon ()
Uzu ĉi tiun funkcion por agordi registradan revokmontrilon kaj registran modulon (= bibliotekon) por tiu revokmontrilo (ne por la registranto mem).
virtuala malpleno nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* revoko, konst nlc::LogModule & logModule)

Parametroj *revoka logModulo

Agordas revokmontrilon. Agordas la revokmontrilon (ne la registrilon!) al via biblioteko.

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

Aktivigas revokon nur por la kerno de NanoLib. Aktivigas revokon nur por CANopen. Aktivigas revokon nur por Modbus. Aktivigas revokon nur por EtherCAT.

Versio: doc 1.4.2 / NanoLib 1.3.0

22

8 Klasoj / funkcioj referenco

4 = NanolibRest 5 = NanolibUSB

Aktivigas nur-REST-revokon. Aktivigas nur-USB-revokon.

unsetLoggingCallback () Uzu ĉi tiun funkcion por nuligi registran revokmontrilon.
virtuala malpleno nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Uzu ĉi tiun funkcion por legi nombran valoron el la objektovortaro.
virtuala ResultInt nlc::NanoLibAccessor::readNumber (konstanta AparatoTenilo aparatoTenilo, konstanta OdIndex odIndex)

Parametroj deviceHandle odIndex
Revenas ResultInt

Specifas de kiu busa aparato NanoLib legas. Specifas la (sub-) indekson por legi. Liveras neinterpretitan numeran valoron (povas esti subskribita, nesubskribita, fiksi 16.16 bitajn valorojn).

readNumberArray () Uzu ĉi tiun funkcion por legi nombrajn tabelojn el la objektovortaro.
virtuala ResultArrayInt nlc::NanoLibAccessor::readNumberArray (konstanta AparatoTenilo aparatoTenilo, konstanta uint16_t indekso)

Parametroj deviceHandle indekso
Liveras ResultArrayInt

Specifas de kiu busa aparato NanoLib legas. Tabelobjekta indekso. Liveras entjeran tabelon.

readBytes () Uzu ĉi tiun funkcion por legi arbitrajn bajtojn (domajnaj objektodatenoj) de la objektovortaro.
virtuala ResultArrayByte nlc::NanoLibAccessor::readBytes (konstanta AparatoTenilo aparatoTenilo, konstanta OdIndex odIndex)

Parametroj deviceHandle odIndex
Revenas ResultArrayByte

Specifas de kiu busa aparato NanoLib legas. Specifas la (sub-) indekson por legi. Liveras bajtan tabelon.

readString () Uzu ĉi tiun funkcion por legi ĉenojn el la objekta dosierujo.
virtuala RezultoĈeno nlc::NanoLibAccessor::leguĈeno (konstanta AparatoTenilo aparatoTenilo, konstanta OdIndex odIndex)

Parametroj deviceHandle odIndex
Revenas ResultString

Specifas de kiu busa aparato NanoLib legas. Specifas la (sub-) indekson por legi. Liveras aparatnomojn kiel ŝnuro.

Versio: doc 1.4.2 / NanoLib 1.3.0

23

8 Klasoj / funkcioj referenco

writeNumber () Uzu ĉi tiun funkcion por skribi nombrajn valorojn al la objekta dosierujo.
virtuala ResultVoid nlc::NanoLibAccessor::writeNumber (konstanta AparatoTenilo aparatoTenilo, int64_t valoro, konstanta OdIndex odIndex, sensigna int bitLength)

Parametroj deviceHandle valoro odIndex bitLength
Revenas ResultVoid

Specifas al kiu busa aparato NanoLib skribas. La neinterpretita valoro (povas esti subskribita, nesubskribita, ripari 16.16). Specifas la (sub-) indekson por legi. Longo en iom. Konfirmas ke malplena funkcio funkciis.

writeBytes () Uzu ĉi tiun funkcion por skribi arbitrajn bajtojn (domajnaj objektodatenoj) al la objekta dosierujo.
virtuala ResultVoid nlc::NanoLibAccessor::writeBytes (konstanta AparatoTenilo aparatoTenilo, konstanta std::vector & datumoj, konstanto OdIndex odIndex)

Parametroj deviceHandle datumoj odIndex
Revenas ResultVoid

Specifas al kiu busa aparato NanoLib skribas. Bajta vektoro / tabelo. Specifas la (sub-) indekson por legi. Konfirmas ke malplena funkcio funkciis.

alŝutiFirmware ()
Uzu ĉi tiun funkcion por ĝisdatigi la firmvaron de via regilo.
virtuala ResultVoid nlc::NanoLibAccessor::uploadFirmware (konstanta AparatoTenilo aparatoTenilo, konstanta std::vector & fwData, NlcDataTransferCallback* revoko)

Parametroj deviceHandle fwData NlcDataTransferCallback
Revenas ResultVoid

Specifas kian busaparaton NanoLib ĝisdatigas. Tabelo enhavante firmware-datenojn. Datumprogresspurilo. Konfirmas ke malplena funkcio funkciis.

alŝutiFirmwareDeFile ()
Uzu ĉi tiun funkcion por ĝisdatigi la firmvaron de via regilo per alŝutado de ĝia file.
virtuala ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (konstanta Aparata Tenilo aparatoTenilo, konstanta std::string & absolutaFilePado, NlcDataTransferCallback* revoko)

Parametroj deviceHandle absolutaFileVojo NlcDataTransferCallback
Revenas ResultVoid

Specifas kian busaparaton NanoLib ĝisdatigas. Vojo al file enhavanta firmvarajn datumojn (std::string). Spurilo de datumprogreso. Konfirmas, ke void-funkcio funkciis.

Versio: doc 1.4.2 / NanoLib 1.3.0

24

8 Klasoj / funkcioj referenco

alŝutiStartigilon ()
Uzu ĉi tiun funkcion por ĝisdatigi la startŝargilon de via regilo.
virtuala ResultVoid nlc::NanoLibAccessor::uploadBootloader (konstanta AparatoTenilo aparatoTenilo, konstanta std::vector & btData, NlcDataTransferCallback* revoko)

Parametroj deviceHandle btData NlcDataTransferCallback
Revenas ResultVoid

Specifas kian busaparaton NanoLib ĝisdatigas. Tabelo enhavanta datumojn de ekŝargilo. Datumprogresspurilo. Konfirmas ke malplena funkcio funkciis.

alŝutiBootloaderDeFile ()
Uzu ĉi tiun funkcion por ĝisdatigi la startŝargilon de via regilo per alŝutado de ĝia file.
virtuala ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (konstanta Aparata Tenilo aparatoTenilo, konstanta std::string & ekŝargiloAbsoluteFilePado, NlcDataTransferCallback* revoko)

Parametroj deviceHandle bootloaderAbsoluteFileVojo NlcDataTransferCallback
Revenas ResultVoid

Specifas kian busaparaton NanoLib ĝisdatigas. Vojo al file enhavanta datumojn de la startŝargilo (std::string). Spurilo de datuma progreso. Konfirmas, ke void-funkcio funkciis.

alŝutiStartigan Firmvaron ()
Uzu ĉi tiun funkcion por ĝisdatigi la startigilon kaj firmvaron de via regilo.
virtuala ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (konstanta Aparata Tenilo aparatoTenilo, konstanta std::vector & btData, konstanto std::vector & fwData, NlcDataTransferCallback* revoko)

Parametroj deviceHandle btData fwData NlcDataTransferCallback
Revenas ResultVoid

Specifas kian busaparaton NanoLib ĝisdatigas. Tabelo enhavanta datumojn de ekŝargilo. Tabelo enhavante firmware-datenojn. Datumprogresspurilo. Konfirmas ke malplena funkcio funkciis.

uploadBootloaderFirmwareDeFile ()
Uzu ĉi tiun funkcion por ĝisdatigi vian regilon ekŝargilon kaj firmvaro alŝutante la files.
virtuala ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (konstanta Aparata Tenilo aparatoTenilo, konstanta std::string & ekŝargiloAbsoluteFilePado, konstanto std::string kaj absolutaFilePado, NlcDataTransferCallback* revoko)

Parametroj deviceHandle bootloaderAbsoluteFileVojo absolutaFileVojo NlcDataTransferCallback
Revenas ResultVoid

Specifas kian busaparaton NanoLib ĝisdatigas. Vojo al file enhavanta datumojn de la startigilo (std::string). Pado al file enhavante firmvardatenojn (uint8_t). Datumprogresspurilo. Konfirmas ke malplena funkcio funkciis.

Versio: doc 1.4.2 / NanoLib 1.3.0

25

8 Klasoj / funkcioj referenco

alŝutiNanoJ ()
Uzu ĉi tiun publikan funkcion por ĝisdatigi la NanoJ-programon al via regilo.
virtuala ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle konst deviceHandle, std::vector konst & vmmData, NlcDataTransferCallback* revoko)

Parametroj deviceHandle vmmData NlcDataTransferCallback
Revenas ResultVoid

Specifas al kiu busa aparato NanoLib alŝutas. Tabelo enhavante NanoJ-datenojn. Datumprogresspurilo. Konfirmas ke malplena funkcio funkciis.

alŝutiNanoJFromFile ()
Uzu ĉi tiun publikan funkcion por ĝisdatigi la NanoJ-programon al via regilo per alŝutado de la file.
virtuala ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (konstanta Aparata Tenilo aparatoTenilo, konstanta std::string & absolutaFilePado, NlcDataTransferCallback* revoko)

Parametroj deviceHandle absolutaFileVojo NlcDataTransferCallback
Revenas ResultVoid

Specifas al kiu busa aparato NanoLib alŝutas. Vojo al file enhavanta NanoJ-datumojn (std::string). Spurilo de datumprogreso. Konfirmas, ke void-funkcio funkciis.

disconnectDevice () Uzu ĉi tiun funkcion por malkonekti vian aparaton per deviceHandle.
virtuala ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle konst deviceHandle)

Parametroj deviceHandle Revenas ResultVoid

Specifas de kiu busa aparato NanoLib malkonektas. Konfirmas ke malplena funkcio funkciis.

removeDevice () Uzu ĉi tiun funkcion por forigi vian aparaton el la interna aparato-listo de NanoLib.
virtuala ResultVoid nlc::NanoLibAccessor::removeDevice (konstanta Aparata Tenilo aparatoTenilo)

Parametroj deviceHandle Revenas ResultVoid

Specifas kian busaparaton NanoLib forigas. Konfirmas ke malplena funkcio funkciis.

closeBusHardware () Uzu ĉi tiun funkcion por malkonekti de via kampbusa aparataro.
virtuala ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parametroj busHwId Revenas ResultVoid

Specifas la kampbuson por malkonekti. Konfirmas ke malplena funkcio funkciis.

Versio: doc 1.4.2 / NanoLib 1.3.0

26

8 Klasoj / funkcioj referenco

8.2 BusHardwareId
Uzu ĉi tiun klason por identigi busaparaton unu-al-unu aŭ por distingi malsaman busaparaton unu de la alia. Ĉi tiu klaso (sen setter-funkcioj por esti neŝanĝebla ekde kreado) ankaŭ enhavas informojn pri:
Aparataro (= adaptilonomo, retadaptilo ktp.) Protokolo por uzi (= Modbus TCP, CANopen ktp.) Busa aparataro-specifilo (= seria havennomo, MAC-amika nomo
adreso ktp.)

BusHardwareId () [1/3] Konstruilo kiu kreas novan objekton por busa aparataro.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parametroj busHardware_ protokolo_ aparataroSpecifier_ ekstraHardwareSpecifier_ nomo_

Aparataro tipo (= ZK-USB-CAN-1 ktp.). Bus-komunika protokolo (= CANopen ktp.). La specifilo de aparataro (= COM3 ktp.). La ekstra specifilo de la aparataro (ekzemple, USB-lokaj informoj). Amika nomo (= AdapterName (Porto) ktp. ).

BusHardwareId () [2/3] Konstruilo kiu kreas novan busan aparataran ID-objekton, kun la eblo por ekstra aparatara specifilo.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)

Parametroj busHardware_ protokolo_ aparataroSpecifier_ ekstraHardwareSpecifier_ nomo_

Aparataro tipo (= ZK-USB-CAN-1 ktp.). Bus-komunika protokolo (= CANopen ktp.). La specifilo de aparataro (= COM3 ktp.). La ekstra specifilo de la aparataro (ekzemple, USB-lokaj informoj). Amika nomo (= AdapterName (Porto) ktp. ).

BusHardwareId () [3/3] Konstruisto kiu kopias ekzistantan busHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId konst &)

nlc::BusHardwareId::BusHardwareId (BusHardwareId konst &)

Parametroj busHardwareId

Nomas la busa aparataro ID por kopii.

equals () Kompparas novan busa aparataro ID al ekzistantaj.
bool nlc::BusHardwareId::equals (BusHardwareId konstanto & alia) konstanto

Parametroj aliaj Donas vera

Alia objekto de la sama klaso. Se ambaŭ estas egalaj laŭ ĉiuj valoroj.

Versio: doc 1.4.2 / NanoLib 1.3.0

27

8 Klasoj / funkcioj referenco

malvera

Se la valoroj malsamas.

getBusHardware () Legas la busa aparataro ĉeno.
std::string nlc::BusHardwareId::getBusHardware () konstanto

Redonas ĉenon

getHardwareSpecifier () Legas la specifan ĉenon de la busa aparataro (= retnomo ktp.).
std::string nlc::BusHardwareId::getHardwareSpecifier () konstanto

Redonas ĉenon

getExtraHardwareSpecifier () Legas la specifilĉenon de la busa ekstra aparataro (= MAC-adreso ktp.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Redonas ĉenon

getName () Legas la amikan nomon de la busa aparataro.
std::string nlc::BusHardwareId::getName () konstanto

Redonas ĉenon

getProtocol () Legas la busan protokolĉenon.
std::string nlc::BusHardwareId::getProtocol () konstanto

Redonas ĉenon

toString () Redonas la busan aparataran identigilon kiel ĉenon.
std::string nlc::BusHardwareId::toString () konstanto

Redonas ĉenon
8.3 BusHardwareOpcioj
Trovu en ĉi tiu klaso, en listo de ĉenoj kun ŝlosilo-valoro, ĉiujn opciojn necesajn por malfermi busan aparataron.

Versio: doc 1.4.2 / NanoLib 1.3.0

28

8 Klasoj / funkcioj referenco

BusHardwareOptions () [1/2] Konstruas novan objekton por busa aparataro.
nlc::BusHardwareOptions::BusHardwareOptions () Uzu la funkcion addOption () por aldoni ŝlosilo-valorajn parojn.

BusHardwareOptions () [2/2] Konstruas novan busa aparataro opciobjekton kun la ŝlosilvalora mapo jam en loko.
nlc::BusHardwareOptions::BusHardwareOptions (std::map konstanto kaj opcioj)

Opcioj de parametroj

Mapo kun opcioj por la busa aparataro por funkcii.

addOption () Kreas kromajn ŝlosilojn kaj valorojn.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Parametra ŝlosila valoro

Example: BAUD_RATE_OPTIONS_NAME, vidu bus_hw_options_ defaŭltojn
Example: BAUD_RATE_1000K, vidu bus_hw_options_defaults

egalas () Kompparas la BusHardwareOptions kun ekzistantaj.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions konstanto & alia) konstanto

Parametroj aliaj Donas vera
malvera

Alia objekto de la sama klaso. Se la alia objekto havas ĉiujn ekzakte samajn eblojn. Se la alia objekto havas malsamajn ŝlosilojn aŭ valorojn.

getOptions () Legas ĉiujn aldonitajn ŝlosilvalorajn parojn.
std::map nlc::BusHardwareOptions::getOptions () konstanto

Redonas ĉenmapon

toString () Resendas ĉiujn ŝlosilojn/valorojn kiel ĉenon.
std::string nlc::BusHardwareId::toString () konstanto

Redonas ĉenon
8.4 BusHwOptionsDefault
Ĉi tiu defaŭlta agorda elektoklaso havas la jenajn publikajn atributojn:

Versio: doc 1.4.2 / NanoLib 1.3.0

29

8 Klasoj / funkcioj referenco

const CanBus const Seria const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Strukturo kiu enhavas CAN-busajn baŭdratojn en la sekvaj publikaj atributoj:

konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string

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

8.6 CanBus

Defaŭlta agorda elektoklaso kun la sekvaj publikaj atributoj:

konst std::string konst CanBaudRate konst Ixxat

BAUD_RATE_OPTIONS_NAME = “povas adaptilo baudrapido” baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Por la NMT-servo, tiu strukturo enhavas la CANopen NMT-ŝtatojn kiel kordvaloroj en la sekvaj publikaj atributoj:

konst std::string konst std::string konst std::string konst std::string konst std::string

START = "START" STOP = "HALSI" PRE_OPERACIONAL = "PRE_OPERACIONAL" RESET = "RESET" RESET_COMMUNICATION = "RESET_COMMUNICATION"

8.8 CanOpenNmtState

Ĉi tiu strukturo enhavas la CANopen NMT-ŝtatojn kiel kordvaloroj en la sekvaj publikaj atributoj:

konst std::string konst std::string konst std::string konst std::string konst std::string

HALTITA = “HALTAS” PRE_FUNCIATIVA = “PRE_FUNCIATIVA” OPERATIONAL = “FUNCIATIVA” INICIAGO = “INICIALISMO” NEKONATA = “NEKONATA”

8.9 EtherCATBus-strukturo

Ĉi tiu strukturo enhavas la EtherCAT-komunikajn agordajn elektojn en la sekvaj publikaj atributoj:

Versio: doc 1.4.2 / NanoLib 1.3.0

30

8 Klasoj / funkcioj referenco

const std::string NETWORK_FIRMWARE_STATE_OP - Reta stato traktata kiel firmvara reĝimo. Akceptebla

TION_NAME = “Stato de Reta Firmvaro”

valoroj (defaŭlte = PRE_OPERATIONAL):

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

konstanto std::string DEFAŬLTA_RETA_FIRMVARO_STATO = “ANTAŬ_FUNKCIA”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Tempolimo en milisekundoj por akiri ekskluzivan ŝlosadon

TION_NAME = “Tempolimigo de Kunhavata Ŝloso”

la reto (defaŭlte = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Tempolimo en milisekundoj por akiri komunan ŝloson

NOMO = “Tempolimigo de Kunhavata Ŝloso”

la reto (defaŭlte = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = Atendotempo en milisekundoj por legado (defaŭlte

"Legado-Tempolimo"

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = Atendotempo en milisekundoj por skriboperacio (defaŭlte

"Skribi Tempolimon"

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

const std::string READ_WRITE_ATTEMPTS_OPTION_ Maksimumaj provoj legi aŭ skribi (ne-nulaj valoroj

NOMO = “Provoj legi/skribi”

nur; defaŭlta = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Provoj Ŝanĝi Retstaton”

Maksimuma nombro da provoj ŝanĝi la retan staton (nur ne-nulaj valoroj; defaŭlte = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME Ebligas aŭ malebligas PDO-prilaboradon por cifereca en- /

= “PDO IO Ebligita”

eligoj ("Vera" aŭ "Malvera" nur; defaŭlte = "Vera").

konstanto std::string DEFAULT_PDO_IO_ENABLED = “Vera”

8.10 EtherCATState-strukturo

Ĉi tiu strukturo enhavas la EtherCAT-sklavo/retajn ŝtatojn kiel kordvalorojn en la sekvaj publikaj atributoj. Noto: Defaŭlta stato ĉe ŝaltado estas PRE_OPERACIA; NanoLib povas provizi neniun fidindan "FUNKTIMAN" staton en ne-realtempa operaciumo:

konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string

NONE = “NONE” INIT = “INIT” PRE_OPERATIONAL = “PRRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIVO = “OPERATIVA”

Versio: doc 1.4.2 / NanoLib 1.3.0

31

8 Klasoj / funkcioj referenco

8.11 Ixxat

Ĉi tiu strukturo enhavas ĉiujn informojn por la Ixxat usb-al-skatolo en la jenaj publikaj atributoj:

konstanto std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "ixxat adaptila busnumero"

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Ĉi tiu strukturo enhavas la busnumeron por la Ixxat usb-al-skatolo en la jenaj publikaj atributoj:

konst std::string konst std::string konst std::string konst std::string

BUS_NUMERO_0_DEFAŬLTA = “0” BUS_NUMERO_1 = “1” BUS_NUMERO_2 = “2” BUS_NUMERO_3 = “3”

8.13 Pico

Ĉi tiu strukturo enhavas ĉiujn informojn por la Peak usb-al-skatolo en la jenaj publikaj atributoj:

konstanto std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “pinta adaptila busnumero”

konstanto PintaAdaptiloBusNumero adaptiloBusNumero = PintaAdaptiloBusNumero ()

8.14 PintaAdaptilo BusNumero

Ĉi tiu strukturo tenas la busnumeron por la Peak usb-al-skatolo en la jenaj publikaj atributoj:

konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string

BUS_NUMERO_1_DEFAŬLTA = std::al_ĉeno (PCAN_USBBUS1) BUS_NUMERO_2 = std::al_ĉeno (PCAN_USBBUS2) BUS_NUMERO_3 = std::al_ĉeno (PCAN_USBBUS3) BUS_NUMERO_4 = std::al_ĉeno (PCAN_USBBUS4) BUS_NUMERO_5 = std::al_ĉeno (PCAN_USBBUS5) BUS_NUMERO_6 = std::al_ĉeno (PCAN_USBBUS6) BUS_NUMERO_7 = std::al_ĉeno (PCAN_USBBUS7) BUS_NUMERO_8 = std::al_ĉeno (PCAN_USBBUS8) BUS_NUMERO_9 = std::al_ĉeno (PCAN_USBBUS9) BUS_NUMERO_10 = std::al_ĉeno (PCAN_USBBUS10) BUS_NUMERO_11 = std::al_ĉeno (PCAN_USBBUS11) BUS_NUMERO_12 = std::al_ĉeno (PCAN_USBBUS12) BUS_NUMERO_13 = std::al_ĉeno (PCAN_USBBUS13) BUS_NUMERO_14 = std::al_ĉeno (PCAN_USBBUS14) BUS_NUMERO_15 = std::al_ĉeno (PCAN_USBBUS15) BUS_NUMERO_16 = std::al_ĉeno (PCAN_USBBUS16)

8.15 Aparato-Tenilo
Ĉi tiu klaso reprezentas tenilon por kontroli aparaton sur buso kaj havas la sekvajn publikajn membrofunkciojn.

Aparata Tenilo () Aparata Tenilo (uint32_t tenilo)

Versio: doc 1.4.2 / NanoLib 1.3.0

32

8 Klasoj / funkcioj referenco

egalas () Kompparas sin al donita aparato tenilo.
bool egalas (DeviceHandle konst alia) konst (uint32_t tenilo)

toString () Liveras ĉenprezenton de la aparato-tenilo.
std::string alString () konstanto

akiri () Redonas la aparatan tenilon.
uint32_t akiri () konstanton

8.16 DeviceId
Uzu ĉi tiun klason (ne neŝanĝeblan ekde kreado) por identigi kaj distingi aparatojn sur buso:

Aparataro adaptilo identigilo

Aparato identigilo

Priskribo

La signifo de aparataj ID/priskribaj valoroj dependas de la buso. Por ekzample, CAN-buso povas uzi la entjeran ID.

DeviceId () [1/3] Konstruas novan aparaton ID-objekton.
nlc::DeviceId::DeviceId (BusHardwareId konstanto & busHardwareId_, sensigna entjero aparatId_, std::string konstanto & priskribo_)

Parametroj busHardwareId_ deviceId_ description_

Identigilo de la buso. Indekso; subjekto al buso (= CANopen-nodo ID ktp.). Priskribo (povas esti malplena); subjekto al buso.

DeviceId () [2/3] Konstruas novan aparatan ID-objekton kun etenditaj ID-opcioj.
nlc::DeviceId::DeviceId (BusHardwareId konstanto & busHardwareId, sensigna entjero aparatId_, std::string konstanto & priskribo_ std::vektoro konst & extraId_, std::string konst & extraStringId_)

Parametroj busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Identigilo de la buso. Indekso; rilata al buso (= CANopen-noda ID ktp.). Priskribo (eble malplena); rilata al buso. Plia ID (eble malplena); la signifo dependas de la buso. Plia ĉena ID (eble malplena); la signifo dependas de la buso.

DeviceId () [3/3] Konstruas kopion de aparato ID-objekto.
nlc::DeviceId::DeviceId (DeviceId konstanto &)

Versio: doc 1.4.2 / NanoLib 1.3.0

33

8 Klasoj / funkcioj referenco

Parametroj deviceId_

Aparato ID por kopii.

egalas () Kompparas novajn al ekzistantaj objektoj.
bool nlc::DeviceId::equals (DeviceId konstanto & alia) konstanto

Revenas bulean

getBusHardwareId () Legas la busa aparataro ID.
BusHardwareId nlc::DeviceId::getBusHardwareId () konstanto

Revenas BusHardwareId

getDescription () Legas la aparatpriskribon (eble neuzata).
std::string nlc::DeviceId::getDescription () konstanto

Redonas ĉenon

getDeviceId () Legas la aparaton ID (eble neuzata).
sensigna entjero nlc::DeviceId::getDeviceId () konstanto

Liveras sensigna int

toString () Resendas la objekton kiel ĉenon.
std::string nlc::DeviceId::toString () konstanto

Redonas ĉenon

getExtraId () Legas la kroman identigilon de la aparato (eble ne estas uzata).
konstanto std::vektoro &akiruEkstraId () konstanto

Revenvektoro

Vektoro de la kromaj kromaj identigiloj (povas esti malplena); signifo dependas de la buso.

getExtraStringId () Legas la kroman ĉenidentigilon de la aparato (eble ne estas uzata).
std::string getExtraStringId () konst

Versio: doc 1.4.2 / NanoLib 1.3.0

34

8 Klasoj / funkcioj referenco

Redonas ĉenon

La kroma ĉena ID (povas esti malplena); signifo dependas de la buso.

8.17 LogLevelConverter

Ĉi tiu klaso redonas vian protokolan nivelon kiel ĉenon. static std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Ĉi tiu klaso redonas vian bibliotekan-specifan protokolon modulesetLoggingLevel() kiel ĉenon.

statika std::string

alŜnuro (nlc::LogModule logModule)

statika std::string alString (nlc::LogModule logModule)

8.19 Objekta Vortaro
Ĉi tiu klaso reprezentas objektovortaron de regilo kaj havas la sekvajn publikajn membrofunkciojn: getDeviceHandle ()
virtuala RezultoAparatoTenilo akiriAparatoTenilon () konstanto Redonas RezultoAparatoTenilon

akiriObjekton () virtuala RezultoObjektoSubEntry akiriObjekton (OdIndex const odIndex) Redonas RezultoObjektoSubEntry

akiriObjektonEntrigon () virtuala RezultoObjektoEntrigo akiriObjektonEntrigon (uint16_t indekso)

Liveras ResultObjectEntry

Informas pri la propraĵoj de objekto.

getXmlFileNomo () virtuala Rezultoĉeno akiriXmlFileNomo () konstanto

Revenas ResultString

Resendas la XML file nomo kiel ŝnuro.

leguNumero () virtuala RezultoEntero leguNumero (OdIndex const odIndex) Redonas RezultoEntero
leguNumberArray () virtuala RezultoArrayInt leguNumberArray (uint16_t konstanta indekso)

Versio: doc 1.4.2 / NanoLib 1.3.0

35

8 Klasoj / funkcioj referenco
Liveras ResultArrayInt readString ()
virtuala RezultoĈeno leguĈenon (OdIndex const odIndex) Redonas RezultoĈeno leguBajtojn () virtuala RezultoAroBajto leguBajtojn (OdIndex const odIndex) Redonas RezultoAroBajton skribuNumero () virtuala RezultoMalplena skribuNumero (OdIndex const odIndex, const int64_t valoro) Redonas RezultoMalplena skribuBajtojn () virtuala RezultoMalplena skribuBajtojn (OdIndex const OdIndex, std::vector
konst & data) Redonas ResultVoid Rilataj ligiloj OdIndex
8.20 Objekteniro
Ĉi tiu klaso reprezentas objektan eniron de la objekta vortaro, havas la jenajn statikajn protektitajn atributojn kaj publikajn membrofunkciojn:
statika nlc::ObjectSubEntry malvalidaObjekto
getName () Legas la nomon de la objekto kiel ĉeno.
virtuala std::string akiriNomon () konstanto
getPrivate () Kontrolas ĉu la objekto estas privata.
virtuala bool akiriPrivatan () konstanto
getIndex () Legas la adreson de la objekto indekso.
virtuala uint16_t akiriIndekson () konstanto

Versio: doc 1.4.2 / NanoLib 1.3.0

36

8 Klasoj / funkcioj referenco

getDataType () Legas la datumtipo de la objekto.
virtuala nlc::ObjectEntryDataType getDataType () konstanto

getObjectCode () Legas la objektokodon:

Null Deftype Defstruct Var Array Record

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

virtuala nlc::ObjectCode getObjectCode () konstanto

getObjectSaveable () Kontrolas ĉu la objekto estas konservebla kaj ĝia kategorio (vidu produktan manlibron por pliaj detaloj): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtuala nlc::ObjectSaveable getObjectSaveable () konstanto

getMaxSubIndex () Legas la nombron da subindeksoj subtenataj de ĉi tiu objekto.
virtuala uint8_t getMaxSubIndex () konstanto

akiriSubEntron () virtuala nlc::ObjectSubEntro & akiriSubEntro (uint8_t subIndekso)
Vidu ankaŭ ObjectSubEntry.
8.21 ObjectSubEntry
Ĉi tiu klaso reprezentas objektan subeniron (subindekson) de la objektovortaro kaj havas la sekvajn publikajn membrofunkciojn:
getName () Legas la nomon de la objekto kiel ĉeno.
virtuala std::string akiriNomon () konstanto

getSubIndex () Legas la adreson de la subindekso.
virtuala uint8_t akiriSubIndekson () konstanto

Versio: doc 1.4.2 / NanoLib 1.3.0

37

8 Klasoj / funkcioj referenco

getDataType () Legas la datumtipo de la objekto.
virtuala nlc::ObjectEntryDataType getDataType () konstanto

getSdoAccess () Kontrolas ĉu la subindekso estas alirebla per SDO:

Nur Legado

1

Skribu Nur

2

ReadWrite

3

SenAliro

0

virtuala nlc::ObjectSdoAccessAttribute getSdoAccess () konstanto

getPdoAccess () Kontrolas ĉu la subindekso estas alirebla/mapebla per PDO:

Tx

1

Rx

2

TxRx

3

Ne

0

virtuala nlc::ObjectPdoAccessAttribute getPdoAccess () konstanto

getBitLength () Kontrolas la subindeksan longon.
virtuala uint32_t getBitLength () konstanto

getDefaultValueAsNumeric () Legas la defaŭltan valoron de la subindekso por nombraj datumtipoj.
virtuala RezultoEnterigito akiriDefaŭltanValoronKielNumera (std::string konstanto & ŝlosilo) konstanto

getDefaultValueAsString () Legas la defaŭltan valoron de la subindekso por ĉenaj datumtipoj.
virtuala RezultoĈeno akiriDefaŭltanValoronKielĈeno (std::string konstanto & ŝlosilo) konstanto

getDefaultValues ​​() Legas la defaŭltajn valorojn de la subindekso.
virtuala std::map akiriDefaŭltajnValorojn () konstanto

Versio: doc 1.4.2 / NanoLib 1.3.0

38

8 Klasoj / funkcioj referenco

readNumber () Legas la nombran realan valoron de la subindekso.
virtuala RezultoInt leguNumero () konstanto

readString () Legas la ĉenon realan valoron de la subindekso.
virtuala Rezulto-Ĉeno leguĈenon () konstanto

readBytes () Legas la realan valoron de la subindekso en bajtoj.
virtuala RezultoAroBajto leguBajtojn () konstanto

writeNumber () Skribas nombran valoron en la subindekso.
virtuala RezultoMalplena skribuNumero (konstanto int64_t valoro) konstanto

writeBytes () Skribas valoron en la subindekso en bajtoj.
virtuala ResultVoid skribuBajtojn (std::vector konstanto kaj datumoj) konstanto

8.22 OdIndekso
Uzu ĉi tiun klason (neŝanĝebla ekde kreado) por envolvi kaj lokalizi objektajn dosierujojn/sub-indeksojn. La OD de aparato havas ĝis 65535 (0xFFFF) vicojn kaj 255 (0xFF) kolumnojn; kun interspacoj inter la malkontinuaj vicoj. Vidu la CANopen-normon kaj vian produktan manlibron por pli da detaloj.
OdIndex () Konstruas novan OdIndex-objekton.
nlc::OdIndex::OdIndex (uint16_t indekso, uint8_t subindekso)

Subindekso de parametroj

De 0 ĝis 65535 (0xFFFF) inkl. De 0 ĝis 255 (0xFF) inkl.

getIndex () Legas la indekson (de 0x0000 ĝis 0xFFFF).
uint16_t nlc::OdIndex::getIndex () konstanto

Redonas uint16_t

getSubindex () Legas la subindekson (de 0x00 ĝis 0xFF)
uint8_t nlc::OdIndex::getSubIndex () konstanto

Versio: doc 1.4.2 / NanoLib 1.3.0

39

8 Klasoj / funkcioj referenco

Redonas uint8_t

toString () Liveras la indekson kaj subindekson kiel ĉeno. La defaŭlta ĉeno 0xIIII:0xSS legas jene:

I = indekso de 0x0000 ĝis 0xFFFF

S = sub-indekso de 0x00 ĝis 0xFF

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

Donas 0xIIII:0xSS

Defaŭlta korda prezento

8.23 OdLibrary
Uzu ĉi tiun programan interfacon por krei okazojn de la klaso ObjectDictionary el XML. Per assignObjectDictionary, vi povas tiam ligi ĉiun okazon al specifa aparato pro unike kreita identigilo. ObjectDictionary-okazoj tiel kreitaj estas stokitaj en la objekto OdLibrary alirebla per indekso. La ODLibrary klaso ŝargas ObjectDictionary erojn de file aŭ tabelo, stokas ilin, kaj havas la sekvajn publikajn membrofunkciojn:

akiriObjektoVortaroKalkulo () virtuala uint32_t akiriObjektoVortaroKalkulo () konstanto

akiriObjektoDicionario () virtuala RezultoObjektoDicionario akiriObjektoDicionario (uint32_t odIndex)

Liveras ResultObjectDictionary

aldoniObjektonVortaroDeFile ()
virtuala RezultoObjektoVortaro aldonuObjektoVortaronDeFile (std::string konstanto & absolutaXmlFileVojo)

Liveras ResultObjectDictionary

aldonuObjektoVortaron ()
virtuala RezultoObjektoVortaro aldonuObjektoVortaron (std::vektoro konst & odXmlData, konst std::string &xmlFileVojo = std::string ())

Liveras ResultObjectDictionary
8.24 OdTypesHelper
Aldone al la jenaj publikaj membrofunkcioj, ĉi tiu klaso enhavas kutimajn datumtipojn. Noto: Por kontroli viajn kutimajn datumtipojn, serĉu la enum-klason ObjectEntryDataType en od_types.hpp.

uintToObjectCode () Konvertas sensignajn entjerojn al objektokodo:

Nula Diftipo

0x00 0x05

Versio: doc 1.4.2 / NanoLib 1.3.0

40

8 Klasoj / funkcioj referenco

Destruct Var Array Record

0x06 0x07 0x08 0x09

statika Objektkodo uintAlObjektkodo (sensigna entjero objektokodo)

isNumericDataType () Informas ĉu datumtipo estas nombra aŭ ne.
statika bulea estasNumeraDataTipo (ObjektaEniraDataTipo datumtipo)

isDefstructIndex () Informas ĉu objekto estas difinstruktura indekso aŭ ne.
senmova bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Informas ĉu objekto estas difina tipo indekso aŭ ne.
senmova bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Informas ĉu datumtipo estas kompleksa aŭ ne.
statika bool estasKompleksaDataTipo (ObjektaEniraDataTipo datumtipo)

uintToObjectEntryDataType () Konvertas sensignajn entjerojn al OD-datumtipo.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Konvertas OD-datupon al ĉeno.
statika std::string objektoEnigoDatumtipoAlĈeno (ObjektoEnigoDatumtipo odDatumtipo)

stringToObjectEntryDatatype () Konvertas string al OD-datumtipo se eble. Alie, liveras UNKNOWN_DATATYPE.
statika ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Versio: doc 1.4.2 / NanoLib 1.3.0

41

8 Klasoj / funkcioj referenco

objectEntryDataTypeBitLength () Informas pri bita longo de objekto-eniga datumtipo.
statika uint32_t objektoEnigoDataTipoBitLength (ObjektoEnigoDataTipo konstanto & datumtipo)

8.25 RESTfulBus-strukturo

Ĉi tiu strukturo enhavas la komunikajn agordajn elektojn por la RESTful-interfaco (super Ethernet). Ĝi enhavas la sekvajn publikajn atributojn:

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

CONNECT_TIMEOUT_OPTION_NAME = “Ripoza Konekto-Tempozo” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Ripoza Peto-Tempozo” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “RESTful Respondeca Tempo ekskludo” DEFAULT_750OUT_XNUMX RESPONSE

8.26 ProfinetDCP
Sub Linukso, la voka aplikaĵo bezonas kapablojn CAP_NET_ADMIN kaj CAP_NET_RAW. Por ebligi: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. En Vindozo, la ProfinetDCP-interfaco uzas WinPcap (provitan kun versio 4.1.3) aŭ Npcap (provitan kun versioj 1.60 kaj 1.30). Ĝi tiel serĉas la dinamike ŝarĝitan bibliotekon wpcap.dll en la sekva ordo (Noto: neniu nuna subteno de Win10Pcap):
1. Nanolib.dll-dosierujo 2. Vindoza sistemdosierujo SystemRoot%System32 3. Npcap-instala dosierujo SystemRoot%System32Npcap 4. Media vojo
Ĉi tiu klaso reprezentas Profinet DCP-interfacon kaj havas la sekvajn publikajn membrofunkciojn:

getScanTimeout () Informas pri skanado de aparato (defaŭlte = 2000 ms).
virtuala uint32_t nlc::ProfinetDCP::getScanTimeout () konstanto

setScanTimeout () Agordas la skanadon de aparato (defaŭlte = 2000 ms).
virtuala malpleno nlc::setScanTimeout (uint32_t timeoutMs)

getResponseTimeout () Informas pri aparato-respondtempo por agordo, restarigo kaj palpebrumado (defaŭlte = 1000 ms).
virtuala uint32_t nlc::ProfinetDCP::getResponseTimeout () konstanto

setResponseTimeout () Informas pri aparato-respondtempo por agordaj, rekomencigitaj kaj palpebrumaj operacioj (defaŭlte = 1000 ms).
virtuala malpleno nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMs)

Versio: doc 1.4.2 / NanoLib 1.3.0

42

8 Klasoj / funkcioj referenco

estasServoDisponebla ()
Uzu ĉi tiun funkcion por kontroli la haveblecon de la servo de Profinet DCP.
Valideco / havebleco de retadaptilo Vindozo: havebleco de WinPcap / Npcap Linukso: kapabloj de CAP_NET_ADMIN / CAP_NET_RAW
virtuala ResultVoid nlc::ProfinetDCP::isServiceAvailable (konstante BusHardwareId & busHardwareId)

Parametroj BusHardwareId Redonas vera
malvera

Aparataro ID de Profinet DCP-servo por kontroli. Servo disponeblas. Servo ne disponeblas.

scanProfinetDevices () Uzu ĉi tiun funkcion por skani la aparataron por la ĉeesto de Profinet-aparatoj.
virtuala RezultoProfinetAparatoj skaniProfinetAparatojn (konstanta BusAparataraId & busAparataraId)

Parametroj BusHardwareId Revenas ResultProfinetDevices

Specifas ĉiun kampbuson por malfermi. Aparataro estas malfermita.

setupProfinetDevice () Establas la sekvajn aparatajn agordojn:

Aparato nomo

IP-adreso

Reta masko

Defaŭlta enirejo

virtuala ResultVoid nlc::setupProfinetDevice (konstanto BusHardwareId & busHardwareId, konstanto ProfinetDevice struct & profinetDevice, bool savePermanent)

resetProfinetDevice () Maldaŭrigas la aparaton kaj restarigas ĝin al la fabrikaj defaŭltoj.
virtuala ResultVoid nlc::resetProfinetDevice (konstanto BusHardwareId & busHardwareId, konstanto ProfinetDevice & profinetDevice)

blinkProfinetDevice () Ordonas al la Profinet-aparato komenci palpebrumi sian Profinet-LED.
virtuala ResultVoid nlc::blinkProfinetDevice (konstanto BusHardwareId & busHardwareId, konstanto ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Uzu ĉi tiun funkcion por kontroli la IP-adreson de la aparato.
virtuala RezultoMalvalida validigiProfinetAparataIp (konstanto BusAparataraId &busAparataraId, konstanto ProfinetAparato & profinetAparato)

Parametroj BusHardwareId ProfinetDevice

Specifas la aparataron ID por kontroli. Specifas la Profinet-aparaton por validigi.

Versio: doc 1.4.2 / NanoLib 1.3.0

43

8 Klasoj / funkcioj referenco

Revenas ResultVoid

8.27 ProfinetDevice-strukturo

La datumoj de la aparato de Profinet havas la jenajn publikajn atributojn:

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

aparatoNomo aparatoVendisto MacAdreso IPAdreso netMask defaŭltaEnirejo

La MAC-adreso estas provizita kiel tabelo en formato macAddress = {xx, xx, xx, xx, xx, xx}; dum IP-adreso, reta masko kaj enirejo estas ĉiuj interpretitaj kiel big endian-heksaj nombroj, kiel ekzemple:

IP-adreso: 192.168.0.2 Reta masko: 255.255.0.0 Enirejo: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Rezultaj klasoj

Uzu la "laŭvolajn" revenvalorojn de ĉi tiuj klasoj por kontroli ĉu funkciovoko havis sukceson aŭ ne, kaj ankaŭ lokalizi la malsukcesajn kialojn. Sukcese, la funkcio hasError () resendas malvera. Per getResult (), vi povas legi la rezultan valoron laŭ tipo (ResultInt ktp.). Se voko malsukcesas, vi legu la kialon per getError ().

Protektitaj atributoj

ĉeno NlcErrorCode uint32_t

errorString errorCode exErrorCode

Ankaŭ, ĉi tiu klaso havas la sekvajn publikajn membrofunkciojn:

hasError () Legas la sukceson de funkciovoko.
bool nlc::Result::hasError () konstanto

Revenoj

vera malvera

Malsukcesa voko. Uzu getError () por legi la valoron. Sukcesa voko. Uzu getResult () por legi la valoron.

getError () Legas la kialon se funkcio-voko malsukcesas.
konstanto std::string nlc::Result::getError () konstanto

Liveras konstan ĉenon

Versio: doc 1.4.2 / NanoLib 1.3.0

44

8 Klasoj / funkcioj referenco
rezulto () La jenaj funkcioj helpas difini la precizajn rezultojn:
Rezulto (std::string const & errorString_)
Rezulto (NlcErrorCode konstanto & erarKodo, std::string konstanto & erarĈeno_)
Rezulto (NlcErrorCode konst & erarKodo, konst uint32_t eksErrKodo, std::string konst & erarĈeno_)
Rezulto (Konstanto de rezulto kaj rezulto)
getErrorCode () Legu la NlcErrorCode.
NlcErrorCode getErrorCode () konst
akiriEksEraranKodon () uint32_t akiriEksEraranKodon () konstanto
8.28.1 ResultVoid
NanoLib sendas al vi ekzemplon de ĉi tiu klaso se la funkcio resendas malplena. La klaso heredas la publikajn funkciojn kaj protektitajn atributojn de la rezultklaso kaj havas la sekvajn publikajn membrofunkciojn:
ResultVoid () La sekvaj funkcioj helpas difini la precizan malplenan rezulton:
RezultoMalpleno (std::string konst &eraroĈeno_)
RezultoMalpleno (NlcEraroKodo konst & erarKodo, std::string konst & erarĈeno_)
RezultoMalplena (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std:: ĉeno konst & erarĈeno_)
RezultoMalplena (Rezulto-konstanto & rezulto)
8.28.2 ResultInt
NanoLib sendas al vi ekzemplon de ĉi tiu klaso se la funkcio liveras entjeron. La klaso heredas la publikajn funkciojn/protektitajn atributojn de la rezultklaso kaj havas la sekvajn publikajn membrofunkciojn:
getResult () Liveras la entjeran rezulton se funkciovoko havis sukceson.
int64_t akiriRezulton () konstanto
Redonas int64_t

Versio: doc 1.4.2 / NanoLib 1.3.0

45

8 Klasoj / funkcioj referenco
ResultInt () La sekvaj funkcioj helpas difini la precizan entjerrezulton:
RezultoEntute (ent64_t rezulto_)
RezultoEntute (std::string konstanto & eraroĈeno_)
RezultoEntute (NlcEraroKodo konst & erarKodo, std::string konst & erarĈeno_)
RezultoEntute (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std::string konst & erarĈeno_)
RezultoEnto (Konstanto de rezultoj kaj rezulto)
8.28.3 ResultString
NanoLib sendas al vi ekzemplon de ĉi tiu klaso se la funkcio resendas ĉenon. La klaso heredas la publikajn funkciojn/protektitajn atributojn de la rezultklaso kaj havas la sekvajn publikajn membrofunkciojn:
getResult () Legas la ĉenrezulton se funkciovoko havis sukceson.
konstanto std::string nlc::ResultString::getResult () konstanto
Liveras konstan ĉenon
ResultString () La sekvaj funkcioj helpas difini la ĝustan ĉenrezulton:
RezultoĈeno (std::string konstanto & mesaĝo, bool havasEraron_)
RezultoĈeno (NlcEraroKodo konst & erarKodo, std::string konst & erarĈeno_)
RezultoĈeno (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std:: ĉeno konst & erarĈeno_)
Rezultoĉeno (Rezultokonstanto & rezulto)
8.28.4 ResultArrayByte
NanoLib sendas al vi instancon de ĉi tiu klaso se la funkcio redonas bajtan tabelon. La klaso heredas la publikajn funkciojn / protektitajn atributojn de la rezulta klaso kaj havas la jenajn publikajn membrofunkciojn:
getResult () Legas la bajtvektoron se funkciovoko sukcesis.
konstanto std::vektoro nlc::ResultArrayByte::getResult () konstanto
Redonas konstantan vektoron

Versio: doc 1.4.2 / NanoLib 1.3.0

46

8 Klasoj / funkcioj referenco
ResultArrayByte () La sekvaj funkcioj helpas difini la ĝustan bajtan tabelrezulton:
RezultoAroBajto (std::vektoro konstanto & rezulto_)
RezultoAroBajto (std::string konstanto & eraroĈeno_)
RezultoAroBajto (NlcEraroKodo konstanto & erarKodo, std::string konstanto & eraro Ŝnuro_)
RezultoAroBajto (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std:: ĉeno konst & erarĈeno_)
RezultoAroBajto (Rezultokonstanto & rezulto)
8.28.5 ResultArrayInt
NanoLib sendas al vi instancon de ĉi tiu klaso se la funkcio redonas entjeran tabelon. La klaso heredas la publikajn funkciojn / protektitajn atributojn de la rezulta klaso kaj havas la jenajn publikajn membrofunkciojn:
getResult () Legas la entjeran vektoron se funkciovoko sukcesis.
konstanto std::vektoro nlc::ResultArrayInt::getResult () konstanto
Redonas konstantan vektoron
ResultArrayInt () La sekvaj funkcioj helpas difini la precizan entjeran tabelrezulton:
RezultoAroEntuto (std::vektoro konstanto & rezulto_)
RezultoAroEntuto (std::string konstanto & eraroĈeno_)
RezultoAroEntute (NlcEraroKodo konstanto & erarKodo, std::string konstanto & eraro Ŝnuro_)
RezultoAroEntuto (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std:: ĉeno konst & erarĈeno_)
RezultoAroEntuto (Rezultokonstanto & rezulto)
8.28.6 ResultBusHwIds
NanoLib sendas al vi instancon de ĉi tiu klaso se la funkcio redonas tabelon de busaj aparataraj ID-oj. La klaso heredas la publikajn funkciojn / protektitajn atributojn de la rezulta klaso kaj havas la jenajn publikajn membrofunkciojn:
getResult () Legas la vektoron bus-hardware-ID se funkciovoko sukcesis.
konstanto std::vektoro nlc::ResultBusHwIds::getResult () konstanto
Parametroj konst vektora

Versio: doc 1.4.2 / NanoLib 1.3.0

47

8 Klasoj / funkcioj referenco
ResultBusHwIds () La sekvaj funkcioj helpas difini la precizan bus-hardware-ID-aran rezulton:
RezultoBusHwIds (std::vector konstanto & rezulto_)
RezultoBusHwIds (std::string konstanto & erarĉeno_)
RezultBusHwIds (NlcErrorCode konst & erarCode, std::string konst & erarString_)
RezultBusHwIds (NlcErrorCode konst & erarKodo, konst uint32_t eksErKodo, std::string konst & erarĈeno_)
RezultoBusHwIds (Rezultokonstanto & rezulto)
8.28.7 ResultDeviceId
NanoLib sendas al vi instancon de ĉi tiu klaso se la funkcio redonas aparatan ID-on. La klaso heredas la publikajn funkciojn / protektitajn atributojn de la rezulta klaso kaj havas la jenajn publikajn membrofunkciojn:
getResult () Legas la aparatan ID-vektoron se funkciovoko sukcesis.
Aparata ID nlc::RezultoAparata ID::getResult () konstanto
Revenas konstan vektoron
ResultDeviceId () La sekvaj funkcioj helpas difini la ĝustan aparaton ID-rezulton:
RezultoAparataID (AparataID konstanto & rezulto_)
RezultoAparataID (std::string konstanto & erarĉeno_)
RezultoAparataID (NlcEraroKodo konst & erarKodo, std::string konst & erarĈeno_)
RezultoAparataIdentigilo (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std::string erarĈeno_)
RezultoAparataID (Rezultokonstanto & rezulto)
8.28.8 ResultDeviceIds
NanoLib sendas al vi instancon de ĉi tiu klaso se la funkcio redonas tabelon de aparataj ID-oj. La klaso heredas la publikajn funkciojn / protektitajn atributojn de la rezulta klaso kaj havas la jenajn publikajn membrofunkciojn:
getResult () Redonas la aparatan ID-vektoron se funkciovoko sukcesis.
AparataId nlc::ResultDeviceIds::getResult () konstanto
Revenas konstan vektoron

Versio: doc 1.4.2 / NanoLib 1.3.0

48

8 Klasoj / funkcioj referenco
ResultDeviceIds () La sekvaj funkcioj helpas difini la precizan rezulton de aparato-ID-tabelo:
RezultaparatajIdentigiloj (std::vector konstanto & rezulto_)
RezultoAparatajIdentigiloj (std::string konstanto & erarĉeno_)
RezultoAparatajIdentigiloj (NlcErrorCode konst & erarKodo, std::string konst & erarĈeno_)
RezultoAparatajIdentigiloj (NlcErrorCode konst & erarKodo, konst uint32_t eksErrKodo, std::string konst & erarĈeno_)
RezultoAparatajID-oj (Rezultokonstanto & rezulto)
8.28.9 ResultDeviceHandle
NanoLib sendas al vi instancon de ĉi tiu klaso se la funkcio redonas la valoron de aparata tenilo. La klaso heredas la publikajn funkciojn / protektitajn atributojn de la rezulta klaso kaj havas la jenajn publikajn membrofunkciojn:
getResult () Legas la aparatan tenilon se funkciovoko sukcesis.
Aparata Tenilo nlc::RezultoAparataTenilo::getResult () konstanto
Revenas DeviceHandle
ResultDeviceHandle () La sekvaj funkcioj helpas difini la ĝustan aparaton pritraktilo rezulton:
RezultoAparatoTenilo (AparatoTenilo konst & rezulto_)
RezultoAparatoTenilo (std::string konstanto & erarĉeno_)
RezultoAparatoTenilo (NlcErrorCode konst & erarKodo, std::string konst & erarĈeno_)
RezultoAparatoTenilo (NlcErrorCode konst & erarKodo, konst uint32_t eksErrKodo, std::string konst & erarĈeno_)
RezultoAparatoTenilo (Rezultokonstanto & rezulto)
8.28.10 RezultoObjektoVortaro
NanoLib sendas al vi ekzemplon de ĉi tiu klaso se la funkcio resendas la enhavon de objektovortaro. La klaso heredas la publikajn funkciojn/protektitajn atributojn de la rezultklaso kaj havas la sekvajn publikajn membrofunkciojn:
getResult () Legas la aparatan ID-vektoron se funkciovoko sukcesis.
konstanto nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () konstanto

Versio: doc 1.4.2 / NanoLib 1.3.0

49

8 Klasoj / funkcioj referenco

Revenoj

konst-vektoro

ResultObjectDictionary () La sekvaj funkcioj helpas difini la precizan objektvortaran rezulton:
RezultoObjektoVortaro (nlc::ObjektoVortaro konst & rezulto_)

RezultoObjektoVortaro (std::string konstanto & eraroĈeno_)

RezultoObjektoVortaro (NlcEraroKodo konst & erarKodo, std::string konst & erarĈeno_)

RezultoObjektoVortaro (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std::string konst & erarĈeno_)

RezultoObjektoVortaro (Rezultokonstanto & rezulto)

8.28.11 ResultConnectionState
NanoLib sendas al vi ekzemplon de ĉi tiu klaso se la funkcio liveras informojn pri aparato-konekto-ŝtato. La klaso heredas la publikajn funkciojn/protektitajn atributojn de la rezultklaso kaj havas la sekvajn publikajn membrofunkciojn:
getResult () Legas la aparatan tenilon se funkciovoko sukcesis.
Aparata Konekta StatoInformo nlc::RezultaKonekta Stato::getResult () konstanto

Revenas DeviceConnectionStateInfo Konektita / Malkonektita / KonektitaBootloader

ResultConnectionState () La sekvaj funkcioj helpas difini la ĝustan konektan statorezulton:
RezultoKonektaStato (AparataKonektaStatoInformoj konst & rezulto_)

RezultoKonektaStato (std::string konst & erarĉeno_)

RezultoKonektaStato (NlcEraroKodo konst & erarKodo, std::string konst & erarĈeno_)

RezultoKonektaStato (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std::string konst & erarĈeno_)

RezultoKonektaStato (Rezultokonstanto & rezulto)

8.28.12 ResultObjectEntry
NanoLib sendas al vi instancon de ĉi tiu klaso se la funkcio redonas objektan eniron. La klaso heredas la publikajn funkciojn / protektitajn atributojn de la rezulta klaso kaj havas la jenajn publikajn membrofunkciojn:

Versio: doc 1.4.2 / NanoLib 1.3.0

50

8 Klasoj / funkcioj referenco
getResult () Redonas la aparatan ID-vektoron se funkciovoko sukcesis.
nlc::ObjectEntry konstanto& nlc::ResultObjectEntry::getResult () konstanto
Redonas const ObjectEntry
ResultObjectEntry () La sekvaj funkcioj helpas difini la precizan objekton enirrezulton:
RezultoObjektoEnigo (nlc::ObjektoEnigo konstanto & rezulto_)
RezultoObjektoEnigo (std::string konstanto & eraroĈeno_)
RezultoObjektoEnigo (NlcEraroKodo konst & erarKodo, std::string konst & erarĈeno_)
RezultoObjektoEnigo (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std::string konst & erarĈeno_)
RezultoObjektoEnigo (Rezultokonstanto & rezulto)
8.28.13 ResultObjectSubEntry
NanoLib sendas al vi instancon de ĉi tiu klaso se la funkcio redonas objektan subeniron. La klaso heredas la publikajn funkciojn / protektitajn atributojn de la rezulta klaso kaj havas la jenajn publikajn membrofunkciojn:
getResult () Redonas la aparatan ID-vektoron se funkciovoko sukcesis.
nlc::ObjectSubEntry konstanto & nlc::ResultObjectSubEntry::getResult () konstanto
Redonas const ObjectSubEntry
ResultObjectSubEntry () La sekvaj funkcioj helpas difini la precizan objektan subendon rezulton:
RezultoObjektoSubEniro (nlc::ObjektoEniro konstanto & rezulto_)
RezultoObjektoSubEniro (std::string konstanto & erarĉeno_)
RezultoObjektoSubEniro (NlcEraroKodo konst & erarKodo, std::string konst & erarĈeno_)
RezultoObjektoSubEniro (NlcEraroKodo konst & erarKodo, konst uint32_t eksEraroKodo, std::string konst & erarĈeno_)
RezultoObjektoSubEniro (Rezultokonstanto & rezulto)
8.28.14 ResultProfinetDevices
NanoLib sendas al vi ekzemplon de ĉi tiu klaso se la funkcio resendas Profinet-aparaton. La klaso heredas la publikajn funkciojn/protektitajn atributojn de la rezultklaso kaj havas la sekvajn publikajn membrofunkciojn:

Versio: doc 1.4.2 / NanoLib 1.3.0

51

8 Klasoj / funkcioj referenco

getResult () Legas la Profinet-aparatan vektoron se funkciovoko sukcesis.
konstanto std::vektoro & akiriRezulton () konstanto

ResultProfinetDevices () La sekvaj funkcioj helpas difini la precizajn Profinet-aparatojn.
RezultoProfinetAparatoj (konstanta std::vektoro & profinetAparatoj)
RezultoProfinetAparatoj (konstanta Rezulto & rezulto)
RezultoProfinetAparatoj (konstanta std::string &errorText, NlcErrorCode erarKodo = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 RezultojampleDataArray
NanoLib sendas al vi ekzemplon de ĉi tiu klaso se la funkcio revenas kielample datuma tabelo. La klaso heredas la publikajn funkciojn/protektitajn atributojn de la rezultklaso kaj havas la sekvajn publikajn membrofunkciojn:
getResult () Legas la datuman tabelon se funkciovoko sukcesis.
konstanto std::vector <SampleData> & getResult () konstanto

RezultoampleDataArray () La sekvaj funkcioj helpas difini la precizajn Profinet-aparatojn.
RezultoampleDataArray (konstanta std::vector <SampleDatumoj> & datumaAro)

RezultoampleDataArray (konstanta std::string &errorDesc, konstanta NlcErrorCode errorCode = NlcErrorCode::GeneralError, konstanta uint32_t extendedErrorCode = 0)

RezultoampleDataArray (konstanta RezultojampleDataArray kaj aliaj)

RezultoampleDataArray (konstanta Rezulto & rezulto)

8.28.16 RezultojamplerState
NanoLib sendas al vi ekzemplon de ĉi tiu klaso se la funkcio revenas kielampler state.Ĉi tiu klaso heredas la publikajn funkciojn/protektitajn atributojn de la rezultklaso kaj havas la jenajn publikajn membrofunkciojn:

getResult () Legas la sampler ŝtatvektoro se funkciovoko havis sukceson.
SamplerState akiriRezulton () konstanto

Revenas SamplerState>

Neagordita / Agordita / Preta / Funkcianta / Finita / Malsukcesa / Nuligite

Versio: doc 1.4.2 / NanoLib 1.3.0

52

8 Klasoj / funkcioj referenco

RezultoamplerState () La sekvaj funkcioj helpas difini la precizan sampler stato.
RezultoamplerState (konstanta Samplerŝtata ŝtato)

RezultoamplerState (konstanto std::string & errorDesc, konstanto NlcErrorCode errorCode = NlcErrorCode::GeneralError, konstanto uint32_t
etenditaEraraKodo = 0)

RezultoamplerState (konstanta RezultojamplerState & aliaj)

RezultoamplerState (konstanta Rezulto & rezulto)

8.29 NlcErrorCode

Se io misfunkcias, la rezultklasoj raportas unu el la erarkodoj listigitaj en ĉi tiu listigo.

Erarkodo Sukceso Ĝenerala Eraro Buso Nedisponebla Komunikada Eraro Protokola Eraro
ODNeNeEkzistas ODNeŭmalvalidaAliro ODTipa Miskongruo OperacioNuligis OperacionNeSubtenatan MalvalidaOperacio
NevalidajArgumentoj AliroMalpermesita RimedoNeTrovita RimedoUnavailable OutOfMemory TimeOutError

C: Kategorio D: Priskribo R: Kialo C: Neniu. D: Neniu eraro. R: La operacio sukcese finiĝis.
C: Nespecifita. D: Nespecifita eraro. R: Fiasko kiu konvenas al neniu alia kategorio.
C: Buso. D: Aparataro buso ne havebla. R: Buso neekzistanta, tranĉita aŭ difekto.
C: Komunikado. D: Komunikado nefidinda. R: Neatenditaj datumoj, malĝusta CRC, eraroj de kadro aŭ egaleco ktp.
C: Protokolo. D: Protokola eraro. R: Respondo post nesubtenata protokolo-opcio, nesubtenata protokolo pri aparata raporto, eraro en la protokolo (ekzemple, SDO-segmento-sinkroniga bito), ktp. R: Respondo aŭ aparato-raporto al nesubtenata protokolo (opcioj) aŭ al eraroj en protokolo (ekzemple, SDO). segmenta sinkroniga bito), ktp. R: Nesubtenata protokolo (opcioj) aŭ eraro en protokolo (ekzemple, SDO-segmento-sinkroniga bito), ktp.
C: Objekta vortaro. D: OD-adreso neekzistanta. R: Tia adreso ne ekzistas en la objekta vortaro.
C: Objekta vortaro. D: Aliro al OD-adreso nevalida. R: Provu skribi nurlegeblan, aŭ legi el nurskribebla adreso.
C: Objekta vortaro. D: Tipo miskongruo. R: Valoro nekonvertita al specifita tipo, ekzemple, en provo trakti ĉenon kiel nombron.
C: Apliko. D: Procezo abortita. R: Procezo tranĉita per aplika peto. Revenas nur ĉe operacia interrompo per revokfunkcio, ekzemple, de bus-skanado.
C: Ofta. D: Procezo nesubtenata. R: Neniu aparatara buso/aparata subteno.
C: Ofta. D: Procezo malĝusta en nuna kunteksto, aŭ malvalida kun aktuala argumento. R: Rekonektoprovo al jam konektitaj busoj/aparatoj. Malkonekti provo al jam malkonektitaj. Provo de operacio de ekŝargilo en firmvarreĝimo aŭ inverse.
C: Ofta. D: Argumento nevalida. R: Malĝusta logiko aŭ sintakso.
C: Ofta. D: Aliro estas malpermesata. R: Manko de rajtoj aŭ kapabloj por plenumi la petitan operacion.
C: Ofta. D: Specifita ero ne trovita. R: Aparataro buso, protokolo, aparato, OD-adreso sur aparato, aŭ file ne estis trovita.
C: Ofta. D: Specifita ero ne trovita. R: okupata, neekzistanta, fortranĉita aŭ difekto.
C: Ofta. D: Nesufiĉa memoro. R: Tro malmulte da memoro por procesi ĉi tiun komandon.
C: Ofta. D: Procezo elĉerpita. R: Reveno post la eksvalidiĝo. Tempo povas esti tempo de responda aparato, tempo por akiri komunan aŭ ekskluzivan rimedan aliron, aŭ tempo por ŝanĝi la buson/aparaton al taŭga stato.

Versio: doc 1.4.2 / NanoLib 1.3.0

53

8 Klasoj / funkcioj referenco

8.30 NlcCallback
Ĉi tiu gepatra klaso por revokoj havas la jenan publikan membrofunkcion: callback ()
virtuala ResultVoid-revoko ()

Revenoj

ResultVoid

8.31 NlcDataTransferCallback
Uzu ĉi tiun revokan klason por datumtransigoj (firmvara ĝisdatigo, NanoJ-alŝuto ktp.). 1. Por firmvara alŝuto: Difinu "kunklason" etendante ĉi tiun per kutima revoka metodo.
efektivigo. 2. Uzu la instancojn de la "kunklaso" en alvokoj de NanoLibAccessor.uploadFirmware(). La ĉefa klaso mem havas la jenan publikan membrofunkcion:

revoko () virtuala ResultVoid revoko (nlc::DataTransferInfo info, int32_t datumoj)

Revenoj

ResultVoid

8.32 NlcScanBusCallback
Uzu ĉi tiun revokan klason por busoskanado. 1. Difinu "kunklason" etendante ĉi tiun per efektivigo de kutima revoka metodo. 2. Uzu la instancojn de la "kunklaso" en alvokoj de NanoLibAccessor.scanDevices(). La ĉefa klaso mem havas la jenan publikan membrofunkcion.

revoko ()
virtuala ResultVoid-revoko (nlc::BusScanInfo info, std::vector konstanto & aparatojTrovitaj, int32_t datumoj)

Revenas ResultVoid
8.33 NlcLoggingCallback
Uzu ĉi tiun revokklason por registri revokojn. 1. Difinu klason, kiu etendas ĉi tiun klason per kutima revokmetoda efektivigo 2. Uzu montrilon al ĝiaj okazoj por agordi revokon per NanoLibAccessor >
setLoggingCallback (...).
virtuala void-revoko (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t tempo_ekde_epoko, const size_t faden_id)

8.34 SamplerInterfaco
Uzu ĉi tiun klason por agordi, komenci kaj haltigi la sampler, aŭ akiri sampgvidis datumojn kaj alporti kielampstato de ler aŭ lasta eraro. La klaso havas la sekvajn publikajn membrofunkciojn.

Versio: doc 1.4.2 / NanoLib 1.3.0

54

8 Klasoj / funkcioj referenco

configure () Agordas kielampler.
virtuala ResultVoid nlc::SamplerInterface::configure (konstanta Aparata Tenilo aparatoTenilo, konstanta SamplerConfiguration & samplerAgordo)

Parametroj [en] deviceHandle [en] samplerConfiguration
Revenas ResultVoid

Specifas kian aparaton agordi la sampler for. Specifas la valorojn de agordaj atributoj. Konfirmas ke malplena funkcio funkciis.

getData () Akiras la sampgviditaj datumoj.
virtualaj RezultojampleDataArray nlc::SamplerInterface::getData (konstanto AparatoTenilo aparatoTenilo)

Parametroj [en] deviceHandle ResultSampleDataArray

Specifas por kiu aparato akiri la datumojn.
Liveras la sampgvidis datumoj, kiuj povas esti malplena tabelo se samplerNotify estas aktiva je komenco.

getLastError () Akiras kielampla lasta eraro de ler.
virtuala ResultVoid nlc::SamplerInterface::getLastError (konstanta Aparata Tenilo aparatoTenilo)

Revenas ResultVoid

Konfirmas ke malplena funkcio funkciis.

getState () Akiras kielampstatuso de ler.
virtualaj RezultojamplerState nlc::SamplerInterface::getState (konstanta Aparata Tenilo aparatoTenilo)

Revenas RezultojamplerState

Liveras la sampler stato.

start () Komencas kielampler.
virtuala ResultVoid nlc::SamplerInterface::start (konstanta Aparata Tenilo aparatoTenilo, SamplerNotify* samplerNotify, int64_t aplikaĵajDatumoj)

Parametroj [en] deviceHandle [en] SamplerNotify [en] applicationData
Revenas ResultVoid

Specifas kian aparaton komenci la sampler for.
Specifas kiajn laŭvolajn informojn raporti (povas esti nullptr).
Opcio: Plusendas aplikaĵ-rilatajn datumojn (uzant-difinita 8-bita tabelo de valoro/aparato ID/indekso, aŭ datotempo, indikilo de variablo/funkcio, ktp.) al samplerNotify.
Konfirmas ke malplena funkcio funkciis.

Versio: doc 1.4.2 / NanoLib 1.3.0

55

8 Klasoj / funkcioj referenco

halti () Haltas kielampler.
virtuala ResultVoid nlc::SamplerInterface::stop (konstanta AparatoTenilo aparatoTenilo)

Parametroj [en] deviceHandle Revenas ResultVoid

Specifas kian aparaton haltigi la sampler for. Konfirmas ke malplena funkcio funkciis.

8.35 SamplerConfiguration struct

Ĉi tiu strukturo enhavas la datumojn sampla agordajn opciojn de ler (senmovaj aŭ ne).

Publikaj atributoj

std::vektoro spuritaj Adresoj

Ĝis 12 OD-adresoj estu sampgvidis.

uint32_t

versio

Versio de strukturo.

uint32_t

daŭroMilisekundoj

Sampling daŭro en ms, de 1 ĝis 65535

uint16_t

periodoMilisekundoj

Sampling periodo en ms.

uint16_t

nombroOfSamples

Samples kvanto.

uint16_t

preTriggerNumberOfSamples

Samples pre-trigger kvanto.

bool

uzanteProgramefektivigon

Uzu programaran efektivigon.

bool

uzante NewFWSamplerImplementation Uzu FW-efektivigon por aparatoj kun a

FW-versio v24xx aŭ pli nova.

SamplerMode

reĝimo

Normala, ripeta aŭ kontinua sampling.

SamplerTriggerCondition triggerCondition

Komencaj ellasilkondiĉoj: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, ellasilValue

SamplerTrigger

SamplerTrigger

ellasilo por komenci kielampler?

Senmovaj publikaj atributoj
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 statika konstexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Uzu ĉi tiun klason por aktivigi sampler sciigoj kiam vi komencas kielampler. La klaso havas la sekvan publikan membrofunkcion.

Versio: doc 1.4.2 / NanoLib 1.3.0

56

8 Klasoj / funkcioj referenco

sciigi ()
Liveras sciigeniron.
virtuala malpleno nlc::SamplerNotify::notify (konstanto RezultoMalplena & lastaEraro, konstanto SamplerState samplerState, konstanto std::vector <SampleDatumoj> & sampleDataoj, int64_t aplikaĵajDataoj)

Parametroj [en] lastError [en] samplerState
[en] sampleDatas [en] applicationData

Raportas ke la lasta eraro okazis dum sampling. Raportas la sampler-stato je sciiga tempo: Neagordita / Agordita / Preta / Funkcianta / Finita / Malsukcesa / Nuligita. Raportas la sampled-datuma tabelo. Raportas aplikaĵ-specifajn datumojn.

8.37 SampleData strukturo

Ĉi tiu strukturo enhavas la sampgviditaj datumoj.

uin64_t iteracioNumero

Komencas je 0 kaj nur pliiĝas en ripetema reĝimo.

std::vector<SampledValues> Enhavas li tabelon de sampgvidis valorojn.

8.38 SampledValue strukturo

Ĉi tiu strukturo enhavas la sampgvidis valorojn.

in64_t valoro uin64_t CollectTimeMsec

Enhavas la valoron de spurita OD-adreso.
Enhavas la kolektotempon en milisekundoj, relative al la sample komenco.

8.39 SamplerTrigger struct

Ĉi tiu strukturo enhavas la ellasilajn agordojn de la sampler.

SamplerTriggerCondition kondiĉo
OdIndex uin32_t valoro

La ellasilo-kondiĉo: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
La OdIndex de la ellasilo (adreso).
Kondiĉvaloro aŭ bita nombro (komencante de bito nul).

8.40 Seria strukturo

Trovu ĉi tie viajn seriajn komunikajn elektojn kaj la jenajn publikajn atributojn:

konst std::string konst SeriaBaŭdrapido

BAUD_RATE_OPTIONS_NAME = “seria baŭdrapideco” baudRate =SeriaBaŭdrapideco struktur

Versio: doc 1.4.2 / NanoLib 1.3.0

57

8 Klasoj / funkcioj referenco

konst std::string konst SeriaPareco

PARECO_OPCIOJ_NOMO = “seria pareco” pareco = SeriaPareco struktur

8.41 SerialBaudRate-strukturo

Trovu ĉi tie vian serian komunikan baudrapidecon kaj la jenajn publikajn atributojn:

konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst 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” BAUD_RATE_115200 = “115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000”

8.42 SerialParity-strukturo

Trovu ĉi tie viajn seriajn egalecajn opciojn kaj la jenajn publikajn atributojn:

konst std::string konst std::string konst std::string konst std::string konst std::string

NONE = "neniu" NPARA = "nepara" EVEN = "para" MARKO = "marko" SPACE = "spaco"

Versio: doc 1.4.2 / NanoLib 1.3.0

58

9 Permesiloj

9 Permesiloj

NanoLib API-interfacaj titoloj kaj ekz.ampLa fontkodo estas permesita de Nanotec Electronic GmbH & Co. KG laŭ la permesilo Krea Komunaĵo Atribuite 3.0 Neadaptita (CC BY). Bibliotekaj partoj provizitaj en binara formato (kernaj kaj kampbusaj komunikadbibliotekoj) estas licencitaj laŭ la Krea Komunaĵo AtribuiteNeDerivaĵoj 4.0 Internacia Licenco (CC BY ND).

Krea Komunaĵo
La jena homlegebla resumo ne anstataŭigos la permesilon(j)n mem. Vi povas trovi la respektivan permesilon ĉe creativecommons.org kaj ligitan sube. Vi rajtas:

CC BY 3.0
Kunhavigi: Vidu ĝuste. Adapti: Remiksu, transformu kaj konstruu sur la
materialo por ajna celo, eĉ komerce.

CC BY-ND 4.0
Kunhavigi: Kopiu kaj redistribuu la materialon en iu ajn rimedo aŭ formato.

La licencanto ne povas revoki ĉi-suprajn liberecojn kondiĉe ke vi obeas la sekvajn licenckondiĉojn:

CC BY 3.0

CC BY-ND 4.0

Atribuo: Vi devas doni taŭgan krediton, Atribuo: Vidu maldekstre. Sed: Provizu ligilon al ĉi tio

provizi ligon al la permesilo, kaj indiku ĉu

alia permesilo.

ŝanĝoj estis faritaj. Vi povas fari tion en iu ajn

Neniuj derivaĵoj: Se vi remiksas, transformas aŭ konstruas

racia maniero, sed neniel tiu sugesto-

sur la materialo, vi ne rajtas distribui la

sugestas, ke la licencinto apogas vin aŭ vian uzon.

modifita materialo.

Neniuj aldonaj limigoj: Vi eble ne apliki. Neniuj aldonaj limigoj: Vidu maldekstre. juraj terminoj aŭ teknologiaj mezuroj kiuj laŭleĝe

limigi aliajn fari ion ajn la permesilon

permesiloj.

Noto: Vi ne devas observi la permesilon por elementoj de la materialo en la publika domeno aŭ kie via uzo estas permesita de aplikebla escepto aŭ limigo.
Noto: Neniuj garantioj donitaj. La permesilo eble ne donas al vi ĉiujn permesojn necesajn por via celita uzo. Por ekzampAliaj rajtoj kiel publikeco, privateco aŭ moralaj rajtoj povas limigi kiel vi uzas la materialon.

Versio: doc 1.4.2 / NanoLib 1.3.0

59

Premsigno, kontakto, versioj

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanioTel.+49(0) 89 900 686-0Fakso+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Ĉiuj rajtoj rezervitaj. Eraroj, preterlasoj, teknikaj aŭ enhavaj ŝanĝoj eblas sen antaŭa avizo. Cititaj markoj/produktoj estas varmarkoj de siaj posedantoj kaj devas esti traktataj kiel tiaj. Originala versio.

Dokumento 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08

+ Aldonita > Ŝanĝita # Riparita > Reprilaboro de la provizita ekz.amples.
+ NanoLib Modbus: Aldonita mekanismo por ŝlosado de aparato por Modbus VCP. # NanoLib Core: Riparita kontrolo de la stato de la konekto. # NanoLib Code: Korektita forigo de referenco pri busa aparataro.
+ NanoLib-CANopen: Subteno por Peak PCAN-USB-adaptilo (IPEH-002021/002022).
> NanoLib Core: Ŝanĝita protokola revoka interfaco (LogLevel anstataŭigita per LogModule). # NanoLib Logger: Apartigo inter kerno kaj moduloj estis korektita. # Modbus TCP: Riparita firmvara ĝisdatigo por FW4. # EtherCAT: Riparita NanoJ-programa alŝuto por Core5. # EtherCAT: Riparita firmvara ĝisdatigo por Core5.
# Modbus RTU: Korektis tempoproblemojn kun malaltaj baŭdaj indicoj dum firmware-ĝisdatigo. # RESTful: Riparita alŝuto de la programo NanoJ.
# NanoLib Moduloj Sampler: Ĝusta legado de sampgvidis buleajn valorojn.
+ Java 11-subteno por ĉiuj platformoj. + Python 3.11/3.12 subteno por ĉiuj platformoj. + Nova interfaco de ensaluta revokado (vidu ekzamples). + Revoko-lavujoj por NanoLib Logger. > Ĝisdatigu registrilon al versio 1.12.0. > NanoLib Moduloj Sampler: Subteno nun por Nanotec-regilo-firmvaro v24xx. > NanoLib Moduloj Sampler: Ŝanĝo en strukturo uzata por sampler agordo. > NanoLib Moduloj Sampler: Kontinua reĝimo estas sinonimo de senfina; la ellasilkondiĉo estas kontrolita unufoje; la nombro de samples devas esti 0. > NanoLib Modules Sampler: Normala prioritato por la fadeno kiu kolektas datumojn en firmvarreĝimo. > NanoLib Moduloj Sampler: Reskribita algoritmo por detekti transiron inter Preta kaj Kuranta stato. # NanoLib Core: Ne plia Aliro-Malobservo (0xC0000005) ĉe fermo de 2 aŭ pli da aparatoj uzante la saman busan aparataron. # NanoLib Core: Ne plia Segmenta Faŭlto ĉe alkroĉado de PEAK-adaptilo sub Linukso. # NanoLib Moduloj Sampler: Ĝuste sampled-valoroj legante en firmvarreĝimo. # NanoLib Moduloj Sampler: Ĝusta agordo de 502X:04. # NanoLib Moduloj Sampler: Ĝusta miksado de bufroj kun kanaloj. # NanoLib-Canopen: Pliigitaj CAN-tempotempoj por fortikeco kaj ĝusta skanado ĉe pli malaltaj baŭdratoj. # NanoLib-Modbus: VCP-detekta algoritmo por specialaj aparatoj (USB-DA-IO).
+ Subteno por EtherCAT.
+ Noto pri la agordoj de VS-projekto en Agordu vian projekton.
+ akiriAparatanGrupon(). + akiriProfinetDCP(ĉuServoDisponeblas). + akiriProfinetDCP(validigiProfinetAparatanIp-on). + aŭtomatigoAsigniObjektanVortaron(). + akiriXmlFileNomo (). + konst std::string & xmlFilePado en addObjectDictionary (). + getSamplerInterface ().

Produkto 1.3.0 1.2.1 1.2.0 1.1.3
1.1.2 1.1.1 1.1.0
1.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)

Versio: doc 1.4.2 / NanoLib 1.3.0

60

10 Premsigno, kontakto, versioj

Dokumento
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05

+ Aldonita > Ŝanĝita # Riparita + rebootDevice(). + Erarkodo ResourceUnavailable por getDeviceBootloaderVersion(), ~VendorId(), ~HardwareVersion(), ~SerialNumber, kaj ~Uid. > firmwareUploadFromFile nun alŝutuFirmwareDeFile (). > firmvaroAlŝuto () nun alŝutoFirmvaro (). > startŝargiloAlŝutoDeFile () nun alŝutiStartŝargilon DeFile (). > startŝargiloAlŝuti () nun alŝutiStartŝargilo (). > startŝargiloFirmvaroAlŝutiDeFile () alŝutiStartigilonFirmwareDeFile (). > startŝargiloFirmwareUpload () nun uploadBootloaderFirmware (). > nanojUploadFromFile () nun alŝutuNanoJFromFile (). > nanojUpload () nun uploadNanoJ (). > objectDictionaryLibrary () nun getObjectDictionaryLibrary (). > String_String_Map nun StringStringMap. > NanoLib-Common: pli rapida plenumo de listAvailableBusHardware kaj openBusHardwareWithProtocol kun Ixxat-adaptilo. > NanoLib-CANopen: defaŭltaj agordoj uzataj (1000k baŭdrapido, Ixxat-busnumero 0) se la busaparataraj opcioj estas malplenaj. > NanoLib-RESTful: administranta permeso estas eksdata por komunikado kun Eterretaj startigiloj sub Vindozo se la pelilo npcap / winpcap estas havebla. # NanoLib-CANopen: busa aparataro nun malfermiĝas sen kraŝo kun malplenaj opcioj. # NanoLib-Common: openBusHardwareWithProtocol () nun sen memorliko.
+ Subteno por Linukso ARM64. + Subteno por USB-amasa memoro / REST / Profinet DCP. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (anstataŭigis NanotecExceptions). + NanoLib Modbus: VCP / USB-nabo unuigita al USB. > Modbus TCP-skanado redonas rezultojn. < La latenteco de Modbus TCP-komunikado restas konstanta.
+ Pli da ObjectEntryDataType (kompleksa kaj profesia)file-specifa). + IOError redonas se connectDevice() kaj scanDevices() trovas neniun. + Nur 100 ms nominala tempolimo por CanOpen / Modbus.
+ Subteno por Modbus (plus USB-hub per VCP). + Ĉapitro Kreante vian propran Linuksan projekton. + extraHardwareSpecifier al BusHardwareId(). + extraId_ kaj extraStringId_ al DeviceId().
+ setBusState(). + getDeviceBootloaderBuildId(). + getDeviceFirmwareBuildId(). + getDeviceHardwareVersion(). # Korektoj de cimoj.
Eldono.

Produkto
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Versio: doc 1.4.2 / NanoLib 1.3.0

61

Dokumentoj/Rimedoj

Nanotic NanoLib C++ Programado [pdf] Uzanto-manlibro
NanoLib C-Programado, C-Programado, Programado

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *