Programiranje Nanotic NanoLib C++

Informacije o izdelku
Specifikacije
- Ime izdelka: NanoLib
- Programiranje Jezik: C++
- Različica izdelka: 1.3.0
- Različica uporabniškega priročnika: 1.4.2
Knjižnica NanoLib je zasnovana za programiranje krmilne programske opreme za krmilnike Nanotec. Zagotavlja uporabniški vmesnik, osnovne funkcionalnosti in komunikacijske knjižnice za lažji razvoj nadzornih aplikacij.
Navodila za uporabo izdelka
- Preden začnete:
- Prepričajte se, da vaš sistem izpolnjuje zahteve glede strojne opreme, navedene v priročniku. Ciljno občinstvo za ta izdelek vključuje razvijalce, ki želijo ustvariti krmilno programsko opremo za krmilnike Nanotec.
- Kako začeti:
- Če želite začeti uporabljati NanoLib, sledite tem korakom:
- Začnite z uvozom NanoLib v svoj projekt.
- Po potrebi konfigurirajte nastavitve projekta.
- Zgradite svoj projekt tako, da bo vključeval funkcionalnosti NanoLib.
- Ustvarjanje projektov:
- Ustvarite lahko projekte za okolja Windows in Linux. Sledite posebnim navodilom v priročniku za vsako platformo.
- Referenca razredov / funkcij:
- Glejte uporabniški priročnik za podroben vodnik o razredih in funkcijah, ki so na voljo v NanoLib za programiranje nadzorne programske opreme.
pogosta vprašanja
- V: Kaj je namen NanoLiba?
- A: NanoLib je knjižnica za programiranje nadzorne programske opreme za krmilnike Nanotec, ki zagotavlja bistvene funkcionalnosti in komunikacijske zmogljivosti.
- V: Kako lahko začnem uporabljati NanoLib?
- A: Začnite tako, da uvozite NanoLib v svoj projekt, konfigurirate nastavitve projekta in zgradite svoj projekt za uporabo funkcij NanoLib.
“`
Uporabniški priročnik NanoLib
C++
Velja za različico izdelka 1.3.0
Uporabniški priročnik, različica: 1.4.2
Namen in konvencije dokumenta
Ta dokument opisuje nastavitev in uporabo knjižnice NanoLib ter vsebuje sklicevanje na vse razrede in funkcije za programiranje lastne krmilne programske opreme za krmilnike Nanotec. Uporabljamo naslednje pisave:
Podčrtano besedilo označuje navzkrižno sklicevanje ali hiperpovezavo.
Example 1: Za natančna navodila za NanoLibAccessor glejte Nastavitev. nprample 2: Namestite gonilnik Ixxat in povežite adapter CAN-USB. Ležeče besedilo pomeni: To je imenovan predmet, menijska pot / element, zavihek / file ime ali (če je potrebno) tujejezični izraz.
Example 1: Izberite File > Novo > Prazen dokument. Odprite zavihek Orodje in izberite Komentar. nprample 2: Ta dokument deli uporabnike (= Nutzer; usuario; utente; utilisateur; utente itd.) od:
– Uporabnik tretje osebe (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente itd.). – Končni uporabnik (= Endnutzer; usuario finale; utente finale; utilisateur finale; utente finale itd.).
Kurir označuje kodne bloke ali programske ukaze. nprample 1: Prek Bash pokličite sudo make install za kopiranje predmetov v skupni rabi; nato pokličite ldconfig. nprampLe 2: Uporabite naslednjo funkcijo NanoLibAccessor, da spremenite raven beleženja v NanoLib:
// ***** Različica C++ *****
void setLoggingLevel(LogLevel level);
Krepko besedilo poudarja posamezne ključne besede. Druga možnost je, da klicaj v oklepajih poudarja kritično (!) pomembnost.
Example 1: Zaščitite sebe, druge in svojo opremo. Upoštevajte naše splošne varnostne napotke, ki na splošno veljajo za vse izdelke Nanotec.
Example 2: Za lastno zaščito upoštevajte tudi posebne varnostne napotke, ki veljajo za ta izdelek. Glagol to co-click pomeni klik prek sekundarne tipke miške, da odprete kontekstni meni itd.
Example 1: Sokliknite na file, izberite Preimenuj in preimenujte file. Nprample 2: Če želite preveriti lastnosti, sokliknite na file in izberite Lastnosti.
Različica: doc 1.4.2 / NanoLib 1.3.0
4
Preden začnete
Preden začnete uporabljati NanoLib, pripravite svoj osebni računalnik in se informirajte o predvideni uporabi in omejitvah knjižnice.
2.1 Sistemske in strojne zahteve

OBVESTILO Okvara zaradi 32-bitnega delovanja ali prekinitev sistema! Uporabljajte in dosledno vzdržujte 64-bitni sistem. Upoštevajte ukinitve OEM in ~navodila.
NanoLib 1.3.0 podpira vse izdelke Nanotec s CANopen, Modbus RTU (tudi USB na virtualnih vratih com), Modbus TCP, EtherCat in Profinet. Za starejše NanoLib: glejte dnevnik sprememb v impresumu. Samo na vaše tveganje: uporaba starega sistema. Opomba: Sledite veljavnim navodilom proizvajalca originalne opreme, da nastavite čim nižjo zakasnitev, če imate težave pri uporabi adapterja USB, ki temelji na FTDI.
Zahteve (64-bitni sistem je obvezen)
Windows 10 ali 11 z Visual Studio 2019 različica 16.8 ali novejša in Windows SDK 10.0.20348.0 (različica 2104) ali novejša
C++ za redistribucijo 2017 ali novejši CANopen: osnovni gonilnik Ixxat VCI ali PCAN (izbirno) Modul EtherCat/Profinet DCP: Npcap ali WinPcap Modul RESTful: Npcap, WinPcap ali skrbniško dovoljenje za
komunicirati z ethernetnimi zagonskimi nalagalniki
Linux z Ubuntu 20.04 LTS do 24 (vsi x64 in arm64)
Glave jedra in paket libpopt-dev Profinet DCP: CAP_NET_ADMIN in CAP_NET_RAW omogočata
povezuje CANopen: gonilnik Ixxat ECI ali adapter Peak PCAN-USB EtherCat: CAP_NET_ADMIN, CAP_NET_RAW in
CAP_SYS_NICE sposobnosti RESTful: CAP_NET_ADMIN sposobnost komuniciranja z Eth-
ernet zagonski nalagalniki (priporočeno tudi: CAP_NET_RAW)
Jezik, vmesniki fieldbus, kabli
C++ GCC 7 ali novejši (Linux)
EtherCAT: ethernetni kabel VCP / USB hub: zdaj enoten USB USB masovni pomnilnik: USB kabel REST: ethernetni kabel CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, adapter Peak PCANUSB Brez podpore Ixxat za Ubuntu na arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 ali enakovreden adapter; Kabel USB na virtualnem com portu (VCP)
Modbus TCP: ethernetni kabel v skladu s podatkovnim listom izdelka
2.2 Predvidena uporaba in občinstvo
NanoLib je programska knjižnica in komponenta programske opreme za delovanje in komunikacijo s krmilniki Nanotec v številnih industrijskih aplikacijah in samo za ustrezno usposobljene programerje.
Zaradi strojne opreme (PC) in operacijskega sistema, ki ne podpirata realnega časa, NanoLib ni za uporabo v aplikacijah, ki potrebujejo sinhrono večosno gibanje ali so na splošno časovno občutljive.
V nobenem primeru ne smete integrirati NanoLib kot varnostno komponento v izdelek ali sistem. Ob dostavi končnim uporabnikom morate vsakemu izdelku s komponento, ki jo proizvaja Nanotec, dodati ustrezna opozorila in navodila za varno uporabo in varno delovanje. Vsa opozorila, ki jih izda Nanotec, morate posredovati neposredno končnemu uporabniku.
2.3 Obseg dobave in garancija
NanoLib prihaja kot *.zip mapa iz našega prenosa webspletno mesto za EMEA / APAC ali AMERIKO. Pred namestitvijo ustrezno shranite in razpakirajte svoj prenos. Paket NanoLib vsebuje:
Različica: doc 1.4.2 / NanoLib 1.3.0
5
2 Preden začnete
Glave vmesnika kot izvorna koda (API)
Jedro deluje kot knjižnice v binarni obliki: nano-
Knjižnice, ki olajšajo komunikacijo: nanolibm_ lib.dll
[yourfieldbus].dll itd.Example projekt: Nprample.sln (Visual Studio
projekt) in prample.cpp (glavni file)
Za obseg garancije upoštevajte a) naše pogoje in določila za EMEA/APAC ali AMERIKO in b) vse licenčne pogoje. Opomba: Nanotec ni odgovoren za pomanjkljivo ali neustrezno kakovost, ravnanje, namestitev, delovanje, uporabo in vzdrževanje opreme tretjih oseb! Zaradi ustrezne varnosti vedno upoštevajte veljavna navodila OEM.
Različica: doc 1.4.2 / NanoLib 1.3.0
6
Arhitektura NanoLib
Modularna struktura programske opreme NanoLib vam omogoča, da prosto prilagodljive funkcije krmilnika motorja / fieldbus uredite okoli strogo vnaprej zgrajenega jedra. NanoLib vsebuje naslednje module:
Uporabniški vmesnik (API)
Jedro NanoLib
Vmesniški in pomožni razredi, katere knjižnice, katere
Komunikacijske knjižnice Knjižnice, specifične za Fieldbus, ki
dostop do vašega krmilnika implementira funkcionalnost API do vmesnika med NanoLib
OD (predmetni slovar)
komunicirati z avtobusnimi knjižnicami.
jedro in strojna oprema vodila.
temelji na jedrni funkciji NanoLib
nacionalnosti.
3.1 Uporabniški vmesnik
Uporabniški vmesnik je sestavljen iz vmesnika glave files, ki ga lahko uporabite za dostop do parametrov krmilnika. Razredi uporabniškega vmesnika, kot je opisano v referenci za razrede / funkcije, vam omogočajo, da:
Povežite se s strojno opremo (adapter fieldbus) in krmilno napravo. Dostop do OD naprave za branje/pisanje parametrov krmilnika.
3.2 Jedro NanoLib
Jedro NanoLib prihaja z uvozno knjižnico nanolib.lib. Izvaja funkcionalnost uporabniškega vmesnika in je odgovoren za:
Nalaganje in upravljanje komunikacijskih knjižnic. Zagotavljanje funkcij uporabniškega vmesnika v NanoLibAccessor. Ta komunikacijska vstopna točka de-
določa nabor operacij, ki jih lahko izvedete v jedru in komunikacijskih knjižnicah NanoLib.
3.3 Komunikacijske knjižnice
Poleg nanotec.services.nanolib.dll (uporabno za vaš izbirni Plug & Drive Studio) NanoLib ponuja naslednje komunikacijske knjižnice:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Vse knjižnice postavljajo plast abstrakcije strojne opreme med jedro in krmilnik. Jedro jih naloži ob zagonu iz označene projektne mape in jih uporabi za vzpostavitev komunikacije s krmilnikom po ustreznem protokolu.
Različica: doc 1.4.2 / NanoLib 1.3.0
7
Začetek
Preberite, kako pravilno nastaviti NanoLib za vaš operacijski sistem in kako po potrebi povezati strojno opremo.
4.1 Pripravite svoj sistem
Preden namestite gonilnike adapterja, najprej pripravite svoj računalnik na operacijski sistem. Za pripravo računalnika na vaš operacijski sistem Windows namestite MS Visual Studio z razširitvami C++. Če želite namestiti make in gcc z Linux Bash, pokličite sudo apt install build-essentials. Nato omogočite zmogljivosti CAP_NET_ADMIN, CAP_NET_RAW in CAP_SYS_NICE za aplikacijo, ki uporablja NanoLib: 1. Pokličite sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
ime>. 2. Šele nato namestite gonilnike adapterja.
4.2 Namestite gonilnik adapterja Ixxat za Windows
Šele po ustrezni namestitvi gonilnika lahko uporabite Ixxatov adapter USB-to-CAN V2. Preberite priročnik za pogone USB, če želite izvedeti, ali/kako aktivirati virtualni comport (VCP). 1. Prenesite in namestite Ixxatov gonilnik VCI 4 za Windows iz www.ixxat.com. 2. Ixxatov kompaktni adapter USB-to-CAN V2 povežite z računalnikom prek USB-ja. 3. Z upraviteljem naprav: Preverite, ali sta gonilnik in adapter pravilno nameščena/prepoznana.
4.3 Namestite gonilnik adapterja Peak za Windows
Šele po ustrezni namestitvi gonilnika lahko uporabljate Peakov adapter PCAN-USB. Preberite priročnik za pogone USB, če želite izvedeti, ali/kako aktivirati virtualni comport (VCP). 1. Prenesite in namestite nastavitev gonilnika naprave Windows (= namestitveni paket z gonilniki naprav, orodji in
API-ji) iz http://www.peak-system.com. 2. Povežite Peakov adapter PCAN-USB z osebnim računalnikom prek USB-ja. 3. Z upraviteljem naprav: Preverite, ali sta gonilnik in adapter pravilno nameščena/prepoznana.
4.4 Namestite gonilnik adapterja Ixxat za Linux
Šele po ustrezni namestitvi gonilnika lahko uporabite Ixxatov adapter USB-to-CAN V2. Opomba: drugi podprti adapterji potrebujejo vaša dovoljenja prek sudo chmod +777/dev/ttyACM* (* številka naprave). Preberite priročnik za pogone USB, če želite izvedeti, ali/kako aktivirati virtualni comport (VCP). 1. Namestite programsko opremo, potrebno za gonilnik ECI in demo aplikacijo:
sudo apt-get posodobitev apt-get namestitev libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Prenesite gonilnik ECI-for-Linux z www.ixxat.com. Razpakirajte ga prek:
razpakirajte eci_driver_linux_amd64.zip
3. Namestite gonilnik prek:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Preverite uspešno namestitev gonilnika tako, da prevedete in zaženete demo aplikacijo:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Različica: doc 1.4.2 / NanoLib 1.3.0
8
4 Kako začeti
4.5 Namestite gonilnik adapterja Peak za Linux
Šele po ustrezni namestitvi gonilnika lahko uporabljate Peakov adapter PCAN-USB. Opomba: drugi podprti adapterji potrebujejo vaša dovoljenja prek sudo chmod +777/dev/ttyACM* (* številka naprave). Preberite priročnik za pogone USB, če želite izvedeti, ali/kako aktivirati virtualni comport (VCP). 1. Preverite, ali ima vaš Linux glave jedra: ls /usr/src/linux-headers-`uname -r`. Če ne, namestite
jih: sudo apt-get install linux-headers-`uname -r` 2. Šele zdaj namestite paket libpopt-dev: sudo apt-get install libpopt-dev 3. Prenesite potreben paket gonilnikov (peak-linux-driver- xxx.tar.gz) s strani www.peak-system.com. 4. Če ga želite razpakirati, uporabite: tar xzf peak-linux-driver-xxx.tar.gz 5. V nepakirani mapi: prevedite in namestite gonilnike, osnovno knjižnico PCAN itd.: naredite vse
sudo make install 6. Če želite preveriti funkcijo, priključite adapter PCAN-USB.
a) Preverite modul jedra:
lsmod | grep pcan b) ... in knjižnica v skupni rabi:
ls -l /usr/lib/libpcan*
Opomba: če pride do težav z USB3, uporabite vrata USB2.
4.6 Povežite strojno opremo
Če želite zagnati projekt NanoLib, povežite združljiv krmilnik Nanotec z osebnim računalnikom prek adapterja. 1. Z ustreznim kablom povežite adapter s krmilnikom. 2. Povežite adapter z osebnim računalnikom v skladu s podatkovnim listom adapterja. 3. Vklopite krmilnik z ustreznim napajalnikom. 4. Po potrebi spremenite komunikacijske nastavitve krmilnika Nanotec, kot je navedeno v priročniku za izdelek.
4.7 Naložite NanoLib
Za prvi začetek s hitrimi in enostavnimi osnovami lahko (vendar ne smete) uporabiti naš example projekt. 1. Odvisno od vaše regije: Prenesite NanoLib iz našega webspletno mesto za EMEA / APAC ali AMERIKO. 2. Odpakirajte pakete files / mape in izberite eno možnost: Za hitre in enostavne osnove: glejte Zagon example projekt. Za napredno prilagajanje v sistemu Windows: glejte Ustvarjanje lastnega projekta Windows. Za napredno prilagajanje v Linuxu: glejte Ustvarjanje lastnega projekta Linux.
Različica: doc 1.4.2 / NanoLib 1.3.0
9
Zagon example projekt
S pravilno naloženim NanoLibom je exampprojekt vam prikazuje uporabo NanoLib s krmilnikom Nanotec. Opomba: Za vsak korak so komentarji v priloženem primeruample koda razloži uporabljene funkcije. Bivšiampdale projekt sestavljajo: datoteka `*_functions_example.*' files, ki vsebujejo implementacije za vmesnik NanoLib, funkcije `*_callback_example.*' files, ki vsebuje izvedbe za različne povratne klice (skeniranje, podatki in
beleženje) `menu_*.*' file, ki vsebuje menijsko logiko in kodo Example.* file, ki je glavni program, ki ustvarja meni in inicializira vse uporabljene parametre Sampler_example.* file, ki vsebuje prample izvedba za sampler uporaba. Najdete več exampz nekaj ukazi gibanja za različne načine delovanja v zbirki znanja na nanotec.com. Vsi so uporabni v sistemu Windows ali Linux.
V sistemu Windows z Visual Studio 1. Odprite Example.sln file. 2. Odprite example.cpp. 3. Prevedite in zaženite exampkodo.
V Linuxu prek Bash 1. Razpakirajte vir file, se pomaknite do mape z razpakirano vsebino. Glavni file za bivšegaample je
example.cpp. 2. V bash pokličite:
a. »sudo make install« za kopiranje predmetov v skupni rabi in klic ldconfig. b. »make all«, da zgradite izvršljivo datoteko testa. 3. Mapa bin vsebuje izvršljivo datoteko example file. Z bash: Pojdite v izhodno mapo in vnesite ./example. Če ne pride do napake, so vaši objekti v skupni rabi zdaj ustrezno nameščeni in vaša knjižnica je pripravljena za uporabo. Če se napaka glasi ./example: napaka pri nalaganju knjižnic v skupni rabi: libnanolib.so: ni mogoče odpreti predmeta v skupni rabi file: Ni takega file ali imenik, namestitev predmetov v skupni rabi ni uspela. V tem primeru sledite naslednjim korakom. 4. Ustvarite novo mapo znotraj /usr/local/lib (potrebne so skrbniške pravice). V bash tako vnesite:
sudo mkdir /usr/local/lib/nanotec
5. Kopirajte vse predmete v skupni rabi iz zip filemapa lib osebe:
namestite ./lib/*.so /usr/local/lib/nanotec/
6. Preverite vsebino ciljne mape z:
ls -al /usr/local/lib/nanotec/
Naveden bi moral biti predmet v skupni rabi files iz mape lib. 7. Zaženite ldconfig v tej mapi:
sudo ldconfig /usr/local/lib/nanotec/
Bivšiample je implementiran kot aplikacija CLI in nudi menijski vmesnik. Vnosi v meniju temeljijo na kontekstu in bodo omogočeni ali onemogočeni, odvisno od stanja konteksta. Ponujajo vam možnost izbire in izvajanja različnih funkcij knjižnice v skladu s tipičnim potekom dela za ravnanje s krmilnikom: 1. Preverite, ali je v računalniku priključena strojna oprema (adapterji) in jih navedite. 2. Vzpostavite povezavo z adapterjem. 3. Preglejte vodilo za priključene krmilne naprave. 4. Povežite se z napravo.
Različica: doc 1.4.2 / NanoLib 1.3.0
10
5 Zagon prample projekt
5. Preizkusite eno ali več funkcij knjižnice: branje/pisanje iz/v slovar predmetov krmilnika, posodobite vdelano programsko opremo, naložite in zaženite program NanoJ, zaženite motor in ga nastavite, konfigurirajte in uporabite beleženje/-eampler.
6. Zaprite povezavo najprej z napravo, nato z adapterjem.
Različica: doc 1.4.2 / NanoLib 1.3.0
11
Ustvarjanje lastnega projekta Windows
Ustvarite, prevedite in zaženite lasten projekt Windows za uporabo NanoLib.
6.1 Uvozite NanoLib
Uvozite glavo NanoLib files in knjižnice prek MS Visual Studio.
1. Odprite Visual Studio. 2. Z možnostjo Ustvari nov projekt > Konzolna aplikacija C++ > Naprej: izberite vrsto projekta. 3. Poimenujte svoj projekt (tukaj: NanolibTest), da ustvarite mapo projekta v Raziskovalcu rešitev. 4. Izberite Dokončaj. 5. Odprite okna file raziskovalec in se pomaknite do nove ustvarjene mape projekta. 6. Ustvarite dve novi mapi, inc in lib. 7. Odprite mapo paketa NanoLib. 8. Od tam: Kopirajte glavo files iz mape include v mapo vašega projekta inc in vse .lib in .dll
files v vašo novo projektno mapo lib. 9. Preverite strukturo svoje projektne mape, nprample:
ect mapa za ustrezno 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 Konfigurirajte svoj projekt
Za nastavitev projektov NanoLib uporabite Solution Explorer v MS Visual Studio. Opomba: Za pravilno delovanje NanoLib izberite konfiguracijo izdaje (ne odpravljanja napak!) v nastavitvah projekta Visual C++; nato zgradite in povežite projekt z izvajalnimi časi VC redistribucij C++ [2022].
1. V Raziskovalcu rešitev: Pojdite v mapo svojega projekta (tukaj: NanolibTest). 2. Sokliknite mapo, da odprete kontekstni meni. 3. Izberite Lastnosti. 4. Aktivirajte Vse konfiguracije in Vse platforme. 5. Izberite C/C++ in pojdite na Dodatne vključene imenike. 6. Vstavite: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Izberite Linker in pojdite na dodatne knjižnične imenike. 8. Vstavite: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Razširite Linker in izberite Input. 10.Pojdite na Dodatne odvisnosti in vstavite: nanolib.lib;%(AdditionalDependencies) 11.Potrdite z OK.
Različica: doc 1.4.2 / NanoLib 1.3.0
12
6 Ustvarjanje lastnega projekta Windows
12. Pojdite na Konfiguracija > C++ > Jezik > Jezikovni standard > Standard ISO C++17 in nastavite jezikovni standard na C++17 (/std:c++17).
6.3 Sestavite svoj projekt
Zgradite svoj projekt NanoLib v MS Visual Studio. 1. Odprite glavni *.cpp file (tukaj: nanolib_example.cpp) in po potrebi uredite kodo. 2. Izberite Zgradba > Upravitelj konfiguracije. 3. Spremenite aktivne platforme rešitev na x64. 4. Potrdite prek Zapri. 5. Izberite Zgradi > Zgradi rešitev. 6. Ni napake? Preverite, ali izhod prevajanja pravilno poroča:
1>—— Čisto začeto: Projekt: NanolibTest, Konfiguracija: Debug x64 —–========== Čisto: 1 uspelo, 0 neuspešno, 0 preskočeno ===========
Različica: doc 1.4.2 / NanoLib 1.3.0
13
7 Ustvarjanje lastnega projekta Linux
7 Ustvarjanje lastnega projekta Linux
Ustvarite, prevedite in zaženite svoj projekt Linux za uporabo NanoLiba. 1. V razpakiranem namestitvenem kompletu NanoLib: Odprite /nanotec_nanolib. 2. Poiščite vse objekte v skupni rabi v tar.gz file. 3. Izberite eno možnost: Namestite vsako knjižnico bodisi z Makefile ali ročno.
7.1 Namestite predmete v skupni rabi z Makefile
Uporabite Makefile z Linux Bash za samodejno namestitev vseh privzetih *.so files. 1. Prek Bash: Pojdite v mapo, ki vsebuje makefile. 2. Kopirajte predmete v skupni rabi prek:
sudo make install 3. Potrdite prek:
ldconfig
7.2 Ročno namestite predmete v skupni rabi
Uporabite Bash za namestitev vseh *.so fileNanoLib ročno. 1. Prek Bash: ustvarite novo mapo znotraj /usr/local/lib. 2. Potrebne so skrbniške pravice! Tip:
sudo mkdir /usr/local/lib/nanotec 3. Preklopite v mapo z razpakiranim namestitvenim paketom. 4. Kopirajte vse predmete v skupni rabi iz mape lib prek:
namestite ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Preverite vsebino ciljne mape prek:
ls -al /usr/local/lib/nanotec/ 6. Preverite, ali so navedeni vsi predmeti v skupni rabi iz mape lib. 7. Zaženite ldconfig v tej mapi prek:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Ustvarite svoj projekt
Z nameščenimi predmeti v skupni rabi: Ustvarite nov projekt za vaš Linux NanoLib. 1. Prek Bash: Ustvarite novo projektno mapo (tukaj: NanoLibTest) prek:
mkdir NanoLibTest cd NanoLibTest
2. Kopirajte glavo files v vključeno mapo (tukaj: inc) prek: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Ustvarite glavno file (NanoLibTest.cpp) prek: #include “accessor_factory.hpp” #include
Različica: doc 1.4.2 / NanoLib 1.3.0
14
7 Ustvarjanje lastnega projekta Linux
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds rezultat = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << “Uspeh” << std::endl; }
izbriši dostopnik; vrni 0; }
4. Preverite strukturo svoje projektne mape:

. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Prevedite in preizkusite svoj projekt
Pripravite svoj Linux NanoLib za uporabo prek Bash.
1. Prek Bash: prevedite glavno file prek:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Izvršljivo datoteko povežite prek:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Zaženite testni program prek:
./test
4. Preverite, ali vaš Bash pravilno poroča:
uspeh
Različica: doc 1.4.2 / NanoLib 1.3.0
15
8 Referenca razredov / funkcij
8 Referenca razredov / funkcij
Tukaj najdete seznam razredov uporabniškega vmesnika NanoLib in njihovih članskih funkcij. Tipičen opis funkcije vključuje kratek uvod, definicijo funkcije in seznam parametrov/vračil:
ExampleFunction () Na kratko pove, kaj funkcija počne.
virtualna praznina nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)
Parametri param_a param_b
Vrne ResultVoid
Po potrebi dodaten komentar. Po potrebi dodaten komentar.
8.1 NanoLibAccessor
Razred vmesnika, ki se uporablja kot vstopna točka v NanoLib. Tipičen potek dela izgleda takole:
1. Začnite s skeniranjem strojne opreme z NanoLibAccessor.listAvailableBusHardware (). 2. Nastavite komunikacijske nastavitve z BusHardwareOptions (). 3. Odprite povezavo strojne opreme z NanoLibAccessor.openBusHardwareWithProtocol (). 4. Skenirajte vodilo za povezane naprave z NanoLibAccessor.scanDevices (). 5. Dodajte napravo z NanoLibAccessor.addDevice (). 6. Povežite se z napravo z NanoLibAccessor.connectDevice (). 7. Po končani operaciji odklopite napravo z NanoLibAccessor.disconnectDevice (). 8. Odstranite napravo z NanoLibAccessor.removeDevice (). 9. Zaprite povezavo strojne opreme z NanoLibAccessor.closeBusHardware ().
NanoLibAccessor ima naslednje funkcije javnega člana:
listAvailableBusHardware () Uporabite to funkcijo za seznam razpoložljive strojne opreme fieldbus.
virtualni ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
Vrne ResultBusHwIds
Zagotavlja polje ID polja fieldbus.
openBusHardwareWithProtocol () Uporabite to funkcijo za povezavo strojne opreme vodila.
virtualni ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
Parametri busHwId busHwOpt
Vrne ResultVoid
Določa fieldbus, ki naj se odpre. Določa možnosti odpiranja fieldbus. Potrjuje, da se je zagnala funkcija void.
isBusHardwareOpen () S to funkcijo preverite, ali je vaša strojna povezava fieldbus odprta.
virtualni ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)
Različica: doc 1.4.2 / NanoLib 1.3.0
16
8 Referenca razredov / funkcij
Parametri BusHardwareId Vrne true
lažno
Podaja vsako fieldbus, ki naj se odpre. Strojna oprema je odprta. Strojna oprema je zaprta.
getProtocolSpecificAccessor () Uporabite to funkcijo za pridobivanje objekta dostopnika, specifičnega za protokol.
virtualni ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
Parametri busHwId Vrne ResultVoid
Podaja fieldbus, za katerega želite pridobiti dostopnik. Potrjuje, da se je zagnala funkcija void.
getProfinetDCP () S to funkcijo vrnite sklic na vmesnik Profinet DCP.
virtualni ProfinetDCP & getProfinetDCP ()
Vrne ProfinetDCP
getSamplerInterface () S to funkcijo pridobite referenco na sampler vmesnik.
virtualni SamplerInterface & getSamplerInterface ()
Vrne SamplerInterface
Nanaša se na samprazred vmesnika ler.
setBusState () S to funkcijo nastavite stanje, specifično za protokol vodila.
virtualni ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & stanje)
Stanje parametrov busHwId
Vrne ResultVoid
Določa fieldbus, ki naj se odpre. Dodeli stanje, specifično za vodilo, kot vrednost niza. Potrjuje, da se je zagnala funkcija void.
scanDevices () Uporabite to funkcijo za iskanje naprav v omrežju.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* povratni klic)
Povratni klic parametrov busHwId
Vrne ResultDeviceIds IOError
Določa fieldbus za skeniranje. Sledilnik napredka NlcScanBusCallback. Zagotavlja niz ID-jev naprave. Obvešča, da naprava ni najdena.
Različica: doc 1.4.2 / NanoLib 1.3.0
17
8 Referenca razredov / funkcij
addDevice ()
S to funkcijo dodajte vodilno napravo, ki jo opisuje deviceId, na notranji seznam naprav NanoLib in vrnite deviceHandle zanjo.
virtualni ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)
Parametri deviceId Vrne ResultDeviceHandle
Določa napravo, ki jo želite dodati na seznam. Prinaša ročaj naprave.
connectDevice () Uporabite to funkcijo za povezavo naprave z deviceHandle.
virtualni ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultVoid
IOError
Določa, s katero vodilno napravo se NanoLib poveže. Potrjuje, da se je zagnala funkcija void. Obvešča, da naprava ni najdena.
getDeviceName () S to funkcijo pridobite ime naprave z deviceHandle.
virtualni ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultString
Podaja, za katero vodilno napravo NanoLib dobi ime. Dostavi imena naprav kot niz.
getDeviceProductCode () S to funkcijo pridobite kodo izdelka naprave z deviceHandle.
virtualni ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultInt
Podaja, za katero vodilno napravo NanoLib prejme kodo izdelka. Dostavi kode izdelkov kot celo število.
getDeviceVendorId () S to funkcijo pridobite ID prodajalca naprave z deviceHandle.
virtualni ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultInt
Vir ni na voljo
Podaja, za katero vodilno napravo NanoLib dobi ID prodajalca. Dostavi ID prodajalca kot celo število. Obvešča, da ni podatkov.
Različica: doc 1.4.2 / NanoLib 1.3.0
18
8 Referenca razredov / funkcij
getDeviceId () S to funkcijo pridobite ID določene naprave z notranjega seznama NanoLib.
virtualni ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultDeviceId
Podaja, za katero vodilno napravo NanoLib dobi ID naprave. Prinaša ID naprave.
getDeviceIds () S to funkcijo pridobite ID vseh naprav z notranjega seznama NanoLib.
virtualni ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
Vrne ResultDeviceIds
Prinaša seznam ID-jev naprav.
getDeviceUid () S to funkcijo pridobite enolični ID naprave (96 bitov/12 bajtov) z deviceHandle.
virtualni ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultArrayByte
Vir ni na voljo
Podaja, za katero vodilno napravo NanoLib dobi edinstven ID. Zagotavlja edinstvene ID-je kot niz bajtov. Obvešča, da ni podatkov.
getDeviceSerialNumber () S to funkcijo pridobite serijsko številko naprave z deviceHandle.
virtualni ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultString
Vir ni na voljo
Podaja, za katero vodilno napravo NanoLib dobi serijsko številko. Dostavi serijske številke kot niz. Obvešča, da ni podatkov.
getDeviceHardwareGroup () S to funkcijo pridobite skupino strojne opreme vodilne naprave po deviceHandle.
virtualni ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultInt
Podaja, za katero vodilno napravo NanoLib dobi skupino strojne opreme.
Dostavi skupine strojne opreme kot celo število.
getDeviceHardwareVersion () S to funkcijo pridobite različico strojne opreme vodilne naprave z deviceHandle.
virtualni ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Različica: doc 1.4.2 / NanoLib 1.3.0
19
8 Referenca razredov / funkcij
Parametri deviceHandle
Vračila
ResultString ResourceUnavailable
Določa, za katero vodilno napravo NanoLib dobi različico strojne opreme. Dostavi imena naprav kot niz. Obvešča, da ni podatkov.
getDeviceFirmwareBuildId () S to funkcijo pridobite ID gradnje vdelane programske opreme vodilne naprave z deviceHandle.
virtualni ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultString
Podaja, za katero vodilno napravo NanoLib dobi ID zgradbe vdelane programske opreme.
Dostavi imena naprav kot niz.
getDeviceBootloaderVersion () S to funkcijo pridobite različico zagonskega nalagalnika naprave vodila po deviceHandle.
virtualni ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
Parametri deviceHandle
Vračila
Vir ResultInt ni na voljo
Določa, za katero vodilno napravo NanoLib dobi različico zagonskega nalagalnika. Zagotavlja različice zagonskega nalagalnika kot celo število. Obvešča, da ni podatkov.
getDeviceBootloaderBuildId () S to funkcijo pridobite ID gradnje zagonskega nalagalnika vodilne naprave z deviceHandle.
virtualni ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultString
Podaja, za katero vodilno napravo NanoLib dobi ID zgradbe zagonskega nalagalnika.
Dostavi imena naprav kot niz.
rebootDevice () Uporabite to funkcijo za ponovni zagon naprave z deviceHandle.
virtualni ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Parametri deviceHandle Vrne ResultVoid
Določa fieldbus za ponovni zagon. Potrjuje, da se je zagnala funkcija void.
getDeviceState () S to funkcijo pridobite stanje, specifično za protokol naprave.
virtualni ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Parametri deviceHandle
Podaja, za katero vodilno napravo NanoLib dobi stanje.
Različica: doc 1.4.2 / NanoLib 1.3.0
20
8 Referenca razredov / funkcij
Vrne ResultString
Dostavi imena naprav kot niz.
setDeviceState () S to funkcijo nastavite stanje, specifično za protokol naprave.
virtualni ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & stanje)
Parametri stanje deviceHandle
Vrne ResultVoid
Podaja, kateri napravi vodila NanoLib nastavi stanje. Dodeli stanje, specifično za vodilo, kot vrednost niza. Potrjuje, da se je zagnala funkcija void.
getConnectionState ()
S to funkcijo pridobite zadnje znano stanje povezave določene naprave glede na deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtualni ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultConnectionState
Podaja, za katero vodilno napravo NanoLib dobi stanje povezave.
Zagotavlja stanje povezave (= Disconnected, Connected, ConnectedBootloader).
checkConnectionState ()
Samo če zadnje znano stanje ni bilo Odklopljeno: uporabite to funkcijo za preverjanje in po možnosti posodobitev stanja povezave določene naprave z deviceHandle in s preizkušanjem več operacij, specifičnih za način.
virtualni ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultConnectionState
Določa, za katero vodilno napravo NanoLib preverja stanje povezave.
Prikaže stanje povezave (= ni prekinjeno).
assignObjectDictionary () S to ročno funkcijo dodelite objektni slovar (OD) samemu deviceHandle.
virtualni ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Parametri deviceHandle objectDictionary
Vrne ResultObjectDictionary
Podaja, kateri napravi vodila NanoLib dodeli OD. Prikaže lastnosti slovarja objektov.
autoAssignObjectDictionary ()
Uporabite ta avtomatizem, da omogočite NanoLib dodelitev objektnega slovarja (OD) za deviceHandle. Ko najde in naloži ustrezen OD, ga NanoLib samodejno dodeli napravi. Opomba: Če je združljiv OD že naložen v knjižnici predmetov, ga bo NanoLib samodejno uporabil brez skeniranja predloženega imenika.
virtualni ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)
Različica: doc 1.4.2 / NanoLib 1.3.0
21
8 Referenca razredov / funkcij
Parametri deviceHandle
Vračila
dictionariesLocationPath ResultObjectDictionary
Določa, za katero vodilno napravo bo NanoLib samodejno iskal ustrezne OD. Podaja pot do imenika OD. Prikaže lastnosti slovarja objektov.
getAssignedObjectDictionary ()
S to funkcijo pridobite objektni slovar, ki ga deviceHandle dodeli napravi.
virtualni ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const naprava
ročaj)
Parametri deviceHandle Vrne ResultObjectDictionary
Podaja, za katero vodilno napravo NanoLib dobi dodeljeno OD. Prikaže lastnosti slovarja objektov.
getObjectDictionaryLibrary () Ta funkcija vrne referenco OdLibrary.
virtualna OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
Vrne OdLibrary&
Odpre celotno knjižnico OD in njene objektne slovarje.
setLoggingLevel () S to funkcijo nastavite potrebne podrobnosti dnevnika (in dnevnik file velikost). Privzeta raven je Info.
virtualni void nlc::NanoLibAccessor::setLoggingLevel (raven LogLevel)
Raven parametrov
Možne so naslednje podrobnosti dnevnika:
0 = Sled 1 = Odpravljanje napak 2 = Informacije 3 = Opozorilo 4 = Napaka 5 = Kritično 6 = Izklopljeno
Najnižja raven (največji dnevnik file); beleži vse možne podrobnosti ter zagon/ustavitev programske opreme. Beleži informacije o odpravljanju napak (= vmesni rezultati, poslana ali prejeta vsebina itd.) Privzeta raven; beleži informativna sporočila. Beleži težave, ki so se pojavile, vendar ne ustavijo trenutnega algoritma. Dnevniki le hude težave, ki so ustavile algoritem. Najvišja raven (najmanjši hlod file); izklopi odjavo; sploh ni več dnevnika. Brez beleženja sploh.
setLoggingCallback ()
S to funkcijo nastavite kazalec povratnega klica beleženja in modul dnevnika (= knjižnica) za ta povratni klic (ne za sam zapisovalnik).
virtualni void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* povratni klic, const nlc::LogModule & logModule)
Parametri *callback logModule
Nastavi kazalec povratnega klica. Prilagodi povratni klic (ne zapisovalnik!) vaši knjižnici.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Aktivira povratni klic samo za jedro NanoLiba. Aktivira povratni klic samo za CANopen. Aktivira povratni klic samo za Modbus. Aktivira povratni klic samo za EtherCAT.
Različica: doc 1.4.2 / NanoLib 1.3.0
22
8 Referenca razredov / funkcij
4 = NanolibRest 5 = NanolibUSB
Aktivira povratni klic samo REST. Aktivira povratni klic samo prek USB-ja.
unsetLoggingCallback () S to funkcijo prekličete kazalec povratnega klica beleženja.
virtualni void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Uporabite to funkcijo za branje številske vrednosti iz slovarja objektov.
virtualni ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametri deviceHandle odIndex
Vrne ResultInt
Določa, iz katere vodilne naprave NanoLib bere. Podaja (pod)indeks za branje. Zagotavlja neinterpretirano številsko vrednost (lahko predznačene, nepredznačene, fiksne 16.16 bitne vrednosti).
readNumberArray () Uporabite to funkcijo za branje številskih nizov iz slovarja objektov.
virtualni ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)
Parametri deviceHandle indeks
Vrne ResultArrayInt
Določa, iz katere vodilne naprave NanoLib bere. Indeks predmeta matrike. Zagotavlja matriko celih števil.
readBytes () Uporabite to funkcijo za branje poljubnih bajtov (podatki o objektu domene) iz slovarja objektov.
virtualni ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametri deviceHandle odIndex
Vrne ResultArrayByte
Določa, iz katere vodilne naprave NanoLib bere. Podaja (pod)indeks za branje. Zagotavlja niz bajtov.
readString () Uporabite to funkcijo za branje nizov iz imenika objektov.
virtualni ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametri deviceHandle odIndex
Vrne ResultString
Določa, iz katere vodilne naprave NanoLib bere. Podaja (pod)indeks za branje. Dostavi imena naprav kot niz.
Različica: doc 1.4.2 / NanoLib 1.3.0
23
8 Referenca razredov / funkcij
writeNumber () Uporabite to funkcijo za pisanje številskih vrednosti v imenik objektov.
virtualni ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, vrednost int64_t, const OdIndex odIndex, unsigned int bitLength)
Parametri deviceHandle vrednost odIndex bitLength
Vrne ResultVoid
Podaja, v katero vodilno napravo NanoLib piše. Neinterpretirana vrednost (lahko je predpisana, nepredpisana, popravek 16.16). Podaja (pod)indeks za branje. Dolžina v bitih. Potrjuje, da se je zagnala funkcija void.
writeBytes () Uporabite to funkcijo za pisanje poljubnih bajtov (podatki o predmetu domene) v imenik objektov.
virtualni ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & podatki, const OdIndex odIndex)
Parametri deviceHandle data odIndex
Vrne ResultVoid
Podaja, v katero vodilno napravo NanoLib piše. Bajtni vektor / polje. Podaja (pod)indeks za branje. Potrjuje, da se je zagnala funkcija void.
uploadFirmware ()
Uporabite to funkcijo za posodobitev vdelane programske opreme krmilnika.
virtualni ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* povratni klic)
Parametri deviceHandle fwData NlcDataTransferCallback
Vrne ResultVoid
Podaja, katero vodilno napravo posodobi NanoLib. Niz, ki vsebuje podatke vdelane programske opreme. Sledilnik napredka podatkov. Potrjuje, da se je zagnala funkcija void.
uploadFirmwareFromFile ()
S to funkcijo posodobite vdelano programsko opremo krmilnika tako, da naložite njegovo file.
virtualni ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePot, NlcDataTransferCallback* povratni klic)
Parametri deviceHandle absolutnoFilePot NlcDataTransferCallback
Vrne ResultVoid
Podaja, katero vodilno napravo posodobi NanoLib. Pot do file ki vsebuje podatke vdelane programske opreme (std::string). Sledilnik napredka podatkov. Potrjuje, da se je zagnala funkcija void.
Različica: doc 1.4.2 / NanoLib 1.3.0
24
8 Referenca razredov / funkcij
uploadBootloader ()
Uporabite to funkcijo za posodobitev zagonskega nalagalnika krmilnika.
virtualni ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* povratni klic)
Parametri deviceHandle btData NlcDataTransferCallback
Vrne ResultVoid
Podaja, katero vodilno napravo posodobi NanoLib. Niz, ki vsebuje podatke zagonskega nalagalnika. Sledilnik napredka podatkov. Potrjuje, da se je zagnala funkcija void.
uploadBootloaderFromFile ()
S to funkcijo posodobite zagonski nalagalnik krmilnika tako, da naložite njegov file.
virtualni ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePot, NlcDataTransferCallback* povratni klic)
Parametri deviceHandle bootloaderAbsoluteFilePot NlcDataTransferCallback
Vrne ResultVoid
Podaja, katero vodilno napravo posodobi NanoLib. Pot do file ki vsebuje podatke zagonskega nalagalnika (std::string). Sledilnik napredka podatkov. Potrjuje, da se je zagnala funkcija void.
uploadBootloaderFirmware ()
Uporabite to funkcijo za posodobitev zagonskega nalagalnika krmilnika in vdelane programske opreme.
virtualni ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* povratni klic)
Parametri deviceHandle btData fwData NlcDataTransferCallback
Vrne ResultVoid
Podaja, katero vodilno napravo posodobi NanoLib. Niz, ki vsebuje podatke zagonskega nalagalnika. Niz, ki vsebuje podatke vdelane programske opreme. Sledilnik napredka podatkov. Potrjuje, da se je zagnala funkcija void.
uploadBootloaderFirmwareFromFile ()
Uporabite to funkcijo za posodobitev zagonskega nalagalnika krmilnika in vdelane programske opreme tako, da naložite files.
virtualni ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePot, const std::string & absoluteFilePot, NlcDataTransferCallback* povratni klic)
Parametri deviceHandle bootloaderAbsoluteFilePot absolutnaFilePot NlcDataTransferCallback
Vrne ResultVoid
Podaja, katero vodilno napravo posodobi NanoLib. Pot do file ki vsebuje podatke zagonskega nalagalnika (std::string). Pot do file ki vsebuje podatke vdelane programske opreme (uint8_t). Sledilnik napredka podatkov. Potrjuje, da se je zagnala funkcija void.
Različica: doc 1.4.2 / NanoLib 1.3.0
25
8 Referenca razredov / funkcij
uploadNanoJ ()
Uporabite to javno funkcijo za prenos programa NanoJ v svoj krmilnik.
virtualni ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* povratni klic)
Parametri deviceHandle vmmData NlcDataTransferCallback
Vrne ResultVoid
Podaja, v katero vodilno napravo NanoLib nalaga. Matrika, ki vsebuje podatke NanoJ. Sledilnik napredka podatkov. Potrjuje, da se je zagnala funkcija void.
uploadNanoJFromFile ()
Uporabite to javno funkcijo za nalaganje programa NanoJ v svoj krmilnik tako, da naložite file.
virtualni ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePot, NlcDataTransferCallback* povratni klic)
Parametri deviceHandle absolutnoFilePot NlcDataTransferCallback
Vrne ResultVoid
Podaja, v katero vodilno napravo NanoLib nalaga. Pot do file ki vsebuje podatke NanoJ (std::string). Sledilnik napredka podatkov. Potrjuje, da se je zagnala funkcija void.
disconnectDevice () Uporabite to funkcijo za prekinitev povezave vaše naprave z deviceHandle.
virtualni ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Parametri deviceHandle Vrne ResultVoid
Določa, s katere naprave vodila NanoLib prekine povezavo. Potrjuje, da se je zagnala funkcija void.
removeDevice () S to funkcijo odstranite svojo napravo z notranjega seznama naprav NanoLib.
virtualni ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Parametri deviceHandle Vrne ResultVoid
Podaja, katero vodilno napravo NanoLib odstrani. Potrjuje, da se je zagnala funkcija void.
closeBusHardware () Uporabite to funkcijo za prekinitev povezave s strojno opremo fieldbus.
virtualni ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
Parametri busHwId Vrne ResultVoid
Določa fieldbus, s katerim želite prekiniti povezavo. Potrjuje, da se je zagnala funkcija void.
Različica: doc 1.4.2 / NanoLib 1.3.0
26
8 Referenca razredov / funkcij
8.2 BusHardwareId
Uporabite ta razred za identifikacijo strojne opreme vodila ena proti ena ali za razlikovanje različne strojne opreme vodila med seboj. Ta razred (brez nastavljalskih funkcij, ki bi bile nespremenljive od ustvarjanja naprej) vsebuje tudi informacije o:
Strojna oprema (= ime adapterja, omrežni adapter itd.) Protokol za uporabo (= Modbus TCP, CANopen itd.) Specifikator strojne opreme vodila (= ime serijskih vrat, MAC prijazno ime
naslov itd.)
BusHardwareId () [1/3] Konstruktor, ki ustvari nov objekt ID strojne opreme vodila.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
Parametri busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Vrsta strojne opreme (= ZK-USB-CAN-1 itd.). Komunikacijski protokol vodila (= CANopen itd.). Specifikator strojne opreme (= COM3 itd.). Dodatni specifikator strojne opreme (recimo informacije o lokaciji USB). Prijazno ime (= AdapterName (Port) itd.).
BusHardwareId () [2/3] Konstruktor, ki ustvari nov objekt ID strojne opreme vodila z možnostjo dodatnega specifikatorja strojne opreme.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)
Parametri busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Vrsta strojne opreme (= ZK-USB-CAN-1 itd.). Komunikacijski protokol vodila (= CANopen itd.). Specifikator strojne opreme (= COM3 itd.). Dodatni specifikator strojne opreme (recimo informacije o lokaciji USB). Prijazno ime (= AdapterName (Port) itd.).
BusHardwareId () [3/3] Konstruktor, ki kopira obstoječi busHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
Parametri busHardwareId
Poimenuje ID strojne opreme vodila za kopiranje.
equals () Primerja nov ID strojne opreme vodila z obstoječimi.
bool nlc::BusHardwareId::equals (BusHardwareId const & other) const
Parametri drugi Vrne true
Še en predmet istega razreda. Če sta oba enaka v vseh vrednostih.
Različica: doc 1.4.2 / NanoLib 1.3.0
27
8 Referenca razredov / funkcij
lažno
Če se vrednosti razlikujejo.
getBusHardware () Prebere niz strojne opreme vodila.
std::string nlc::BusHardwareId::getBusHardware () const
Vrne niz
getHardwareSpecifier () Prebere niz specifikacije strojne opreme vodila (= ime omrežja itd.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Vrne niz
getExtraHardwareSpecifier () Prebere niz specifikacije dodatne strojne opreme vodila (= naslov MAC itd.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Vrne niz
getName () Prebere prijazno ime strojne opreme vodila.
std::string nlc::BusHardwareId::getName () const
Vrne niz
getProtocol () Prebere niz protokola vodila.
std::string nlc::BusHardwareId::getProtocol () const
Vrne niz
toString () Vrne ID strojne opreme vodila kot niz.
std::string nlc::BusHardwareId::toString () const
Vrne niz
8.3 BusHardwareOptions
V tem razredu na seznamu nizov ključ-vrednost poiščite vse možnosti, potrebne za odpiranje strojne opreme vodila.
Različica: doc 1.4.2 / NanoLib 1.3.0
28
8 Referenca razredov / funkcij
BusHardwareOptions () [1/2] Konstruira nov predmet možnosti strojne opreme vodila.
nlc::BusHardwareOptions::BusHardwareOptions () Uporabite funkcijo addOption (), da dodate pare ključ-vrednost.
BusHardwareOptions () [2/2] Konstruira nov predmet možnosti strojne opreme vodila z že nameščenim zemljevidom ključ-vrednost.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & možnosti)
Možnosti parametrov
Zemljevid z možnostmi za delovanje strojne opreme vodila.
addOption () Ustvari dodatne ključe in vrednosti.
void nlc::BusHardwareOptions::addOption (std::string const & ključ, std::string const & vrednost)
Ključna vrednost parametrov
Example: BAUD_RATE_OPTIONS_NAME, glejte bus_hw_options_ defaults
Example: BAUD_RATE_1000K, glejte bus_hw_options_defaults
equals () Primerja BusHardwareOptions z obstoječimi.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & other) const
Parametri drugi Vrne true
lažno
Še en predmet istega razreda. Če ima drugi predmet popolnoma enake možnosti. Če ima drugi predmet drugačne ključe ali vrednosti.
getOptions () Prebere vse dodane pare ključ-vrednost.
std::map nlc::BusHardwareOptions::getOptions () const
Vrne zemljevid nizov
toString () Vrne vse ključe/vrednosti kot niz.
std::string nlc::BusHardwareId::toString () const
Vrne niz
8.4 BusHwOptionsDefault
Ta privzeti razred konfiguracijskih možnosti ima naslednje javne atribute:
Različica: doc 1.4.2 / NanoLib 1.3.0
29
8 Referenca razredov / funkcij
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () serial = Serial () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()
8.5 CanBaudRate
Struktura, ki vsebuje baudrate vodila CAN v naslednjih javnih atributih:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” BAUD_RATE_100K = “100k” BAUD_RATE_50K = “50 20k” BAUD_RATE_20K = “10k” BAUD_RATE_10K = “5k” BAUD_RATE_5K = “XNUMXk”
8.6 CanBus
Privzeti razred konfiguracijskih možnosti z naslednjimi javnimi atributi:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = “hitrost prenosa lahko adapter” baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
Za storitev NMT ta struktura vsebuje stanja CANopen NMT kot vrednosti niza v naslednjih javnih atributih:
const std::string const std::string const std::string const std::string const std::string
START = “START” STOP = “STOP” PRE_OPERATIONAL = “PRE_OPERATIONAL” RESET = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”
8.8 CanOpenNmtState
Ta struktura vsebuje stanja CANopen NMT kot vrednosti niza v naslednjih javnih atributih:
const std::string const std::string const std::string const std::string const std::string
STOPPED = “STOPPED” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “OPERATIONAL” INITIALIZATION = “INICIALIZATION” UNKNOWN = “UNKNOWN”
8.9 Struktura EtherCATBus
Ta struktura vsebuje možnosti konfiguracije komunikacije EtherCAT v naslednjih javnih atributih:
Različica: doc 1.4.2 / NanoLib 1.3.0
30
8 Referenca razredov / funkcij
const std::string NETWORK_FIRMWARE_STATE_OP- Stanje omrežja se obravnava kot način vdelane programske opreme. Sprejemljivo
TION_NAME = “Stanje vdelane programske opreme omrežja”
vrednosti (privzeto = PRE_OPERATIONAL):
EtherCATState::PRE_OPERATIONAL EtherCATState::SAFE_OPERATIONAL EtherCATState::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Časovna omejitev v milisekundah za pridobitev ekskluzivnega zaklepanja
TION_NAME = “Časovna omejitev zaklepanja v skupni rabi”
omrežje (privzeto = 500 ms).
const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Časovna omejitev v milisekundah za pridobitev skupnega zaklepanja
NAME = »Časovna omejitev zaklepanja v skupni rabi«
omrežje (privzeto = 250 ms).
const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”
const std::string READ_TIMEOUT_OPTION_NAME = Časovna omejitev v milisekundah za operacijo branja (privzeto
»Časovna omejitev branja«
= 700 ms).
const unsigned int DEFAULT_READ_TIMEOUT = “700”
const std::string WRITE_TIMEOUT_OPTION_NAME = Časovna omejitev v milisekundah za operacijo pisanja (privzeto
»Časovna omejitev pisanja«
= 200 ms).
const unsigned int DEFAULT_WRITE_TIMEOUT = “200”
const std::string READ_WRITE_ATTEMPTS_OPTION_ Največje število poskusov branja ali pisanja (neničelne vrednosti
NAME = “Poskusi branja/pisanja”
samo; privzeto = 5).
const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Poskusi spreminjanja stanja omrežja”
Največje število poskusov spreminjanja stanja omrežja (samo neničelne vrednosti; privzeto = 10).
const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”
const std::string PDO_IO_ENABLED_OPTION_NAME Omogoči ali onemogoči obdelavo PDO za digitalni in- /
= »PDO IO omogočen«
izhodi (samo »True« ali »False«; privzeto = »True«).
const std::string DEFAULT_PDO_IO_ENABLED = “True”
8.10 Struktura EtherCATState
Ta struktura vsebuje podrejena/omrežna stanja EtherCAT kot vrednosti niza v naslednjih javnih atributih. Opomba: privzeto stanje ob vklopu je PRE_OPERATIONAL; NanoLib ne more zagotoviti zanesljivega stanja »OPERATIONAL« v operacijskem sistemu, ki ni v realnem času:
const std::string const std::string const std::string const std::string const std::string const std::string
NONE = “BEZ” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “OPERATIONAL”
Različica: doc 1.4.2 / NanoLib 1.3.0
31
8 Referenca razredov / funkcij
8.11 Ixxat
Ta struktura vsebuje vse informacije za Ixxat usb-to-can v naslednjih javnih atributih:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = “številka vodila adapterja ixxat”
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Ta struktura vsebuje številko vodila za Ixxat usb-to-can v naslednjih javnih atributih:
const std::string const std::string const std::string const std::string
BUS_NUMBER_0_DEFAULT = “0” BUS_NUMBER_1 = “1” BUS_NUMBER_2 = “2” BUS_NUMBER_3 = “3”
8.13 Vrhunec
Ta struktura vsebuje vse informacije za Peak usb-to-can v naslednjih javnih atributih:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = “številka vodila vrha adapterja”
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
Ta struktura vsebuje številko vodila za Peak usb-to-can v naslednjih javnih atributih:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS4) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::to_string (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_13 = std::to_string (PCAN_USBBUS13) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS14) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS15) BUS_NUMBER_16 = std::to_string (PCAN_USBBUS16)
8.15 DeviceHandle
Ta razred predstavlja ročaj za krmiljenje naprave na vodilu in ima naslednje javne funkcije člana.
DeviceHandle () DeviceHandle (ročaj uint32_t)
Različica: doc 1.4.2 / NanoLib 1.3.0
32
8 Referenca razredov / funkcij
equals () Primerja se z danim ročajem naprave.
bool je enako (DeviceHandle const drugo) const (uint32_t ročaj)
toString () Vrne predstavitev niza ročaja naprave.
std::string toString () konst
get () Vrne ročico naprave.
uint32_t get () const
8.16 ID naprave
Uporabite ta razred (ni nespremenljiv od ustvarjanja dalje) za prepoznavanje in razlikovanje naprav na vodilu:
Identifikator adapterja strojne opreme
Identifikator naprave
Opis
Pomen vrednosti ID/opisa naprave je odvisen od vodila. Na primerample lahko vodilo CAN uporablja celoštevilski ID.
DeviceId () [1/3] Ustvari nov predmet ID-ja naprave.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)
Parametri busHardwareId_ deviceId_ description_
Identifikator avtobusa. Indeks; odvisno od vodila (= ID vozlišča CANopen itd.). Opis (lahko je prazen); predmet avtobusa.
DeviceId () [2/3] Ustvari nov objekt ID-ja naprave z razširjenimi možnostmi ID-ja.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)
Parametri busHardwareId_ deviceId_ description_ extraId_ extraStringId_
Identifikator avtobusa. Indeks; odvisno od vodila (= ID vozlišča CANopen itd.). Opis (lahko je prazen); predmet avtobusa. Dodaten ID (lahko je prazen); pomen je odvisen od avtobusa. ID dodatnega niza (lahko prazen); pomen je odvisen od avtobusa.
DeviceId () [3/3] Izdela kopijo predmeta ID naprave.
nlc::DeviceId::DeviceId (DeviceId const &)
Različica: doc 1.4.2 / NanoLib 1.3.0
33
8 Referenca razredov / funkcij
Parametri deviceId_
ID naprave za kopiranje.
equals () Primerja nove z obstoječimi objekti.
bool nlc::DeviceId::equals (DeviceId const & other) const
Vrne logično vrednost
getBusHardwareId () Prebere ID strojne opreme vodila.
BusHardwareId nlc::DeviceId::getBusHardwareId () const
Vrne BusHardwareId
getDescription () Prebere opis naprave (morda neuporabljen).
std::string nlc::DeviceId::getDescription () const
Vrne niz
getDeviceId () Prebere ID naprave (morda neuporabljen).
unsigned int nlc::DeviceId::getDeviceId () const
Vrne nepodpisano int
toString () Vrne predmet kot niz.
std::string nlc::DeviceId::toString () konst
Vrne niz
getExtraId () Prebere dodatni ID naprave (lahko neuporabljen).
const std::vector &getExtraId () const
Vrne vektor
Vektor dodatnih dodatnih ID-jev (lahko prazen); pomen je odvisen od avtobusa.
getExtraStringId () Prebere ID dodatnega niza naprave (lahko neuporabljen).
std::string getExtraStringId () konst
Različica: doc 1.4.2 / NanoLib 1.3.0
34
8 Referenca razredov / funkcij
Vrne niz
ID dodatnega niza (lahko je prazen); pomen je odvisen od avtobusa.
8.17 LogLevel Converter
Ta razred vrne vašo raven dnevnika kot niz. statični std::string toString (nlc::LogLevel logLevel)
8.18 LogModule Converter
Ta razred vrne module dnevnika setLoggingLevel (), specifične za knjižnico, kot niz.
statični std::string
toString (nlc::LogModule logModule)
statični std::string toString (nlc::LogModule logModule)
8.19 ObjectDictionary
Ta razred predstavlja objektni slovar krmilnika in ima naslednje javne funkcije člana: getDeviceHandle ()
virtualni ResultDeviceHandle getDeviceHandle () const Vrne ResultDeviceHandle
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Vrne ResultObjectSubEntry
getObjectEntry () virtualni ResultObjectEntry getObjectEntry (indeks uint16_t)
Vrne ResultObjectEntry
Obvešča o lastnostih predmeta.
getXmlFileName () virtual ResultString getXmlFileIme () konst
Vrne ResultString
Vrne XML file ime kot niz.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Vrne ResultInt
readNumberArray () virtualni ResultArrayInt readNumberArray (uint16_t const index)
Različica: doc 1.4.2 / NanoLib 1.3.0
35
8 Referenca razredov / funkcij
Vrne ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) Vrne ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Vrne ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, const int64_t value) Vrne ResultVoid writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Vrne ResultVoid Sorodne povezave OdIndex
8.20 Vnos predmeta
Ta razred predstavlja vnos objekta v slovarju objektov, ima naslednji statični zaščiteni atribut in javne funkcije člana:
statični nlc::ObjectSubEntry invalidObject
getName () Prebere ime predmeta kot niz.
virtualni std::string getName () konst
getPrivate () Preveri, ali je objekt zaseben.
virtualni bool getPrivate () konst
getIndex () Prebere naslov indeksa objekta.
virtualni uint16_t getIndex () konst
Različica: doc 1.4.2 / NanoLib 1.3.0
36
8 Referenca razredov / funkcij
getDataType () Prebere podatkovni tip objekta.
virtualni nlc::ObjectEntryDataType getDataType () konst
getObjectCode () Prebere objektno kodo:
Null Deftype Defstruct Var Array Record
0x00 0x05 0x06 0x07 0x08 0x09
virtualni nlc::ObjectCode getObjectCode () konst
getObjectSaveable () Preveri, ali je objekt mogoče shraniti, in njegovo kategorijo (za več podrobnosti glejte priročnik za izdelek): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtualni nlc::ObjectSaveable getObjectSaveable () konst
getMaxSubIndex () Prebere število podindeksov, ki jih podpira ta objekt.
virtualni uint8_t getMaxSubIndex () konst
getSubEntry () virtualni nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Glejte tudi ObjectSubEntry.
8.21 ObjectSubEntry
Ta razred predstavlja podvnos objekta (podindeks) slovarja objektov in ima naslednje javne funkcije člana:
getName () Prebere ime predmeta kot niz.
virtualni std::string getName () konst
getSubIndex () Prebere naslov podindeksa.
virtualni uint8_t getSubIndex () konst
Različica: doc 1.4.2 / NanoLib 1.3.0
37
8 Referenca razredov / funkcij
getDataType () Prebere podatkovni tip objekta.
virtualni nlc::ObjectEntryDataType getDataType () konst
getSdoAccess () Preveri, ali je podindeks dostopen prek SDO:
Samo za branje
1
Samo pisanje
2
Branje in pisanje
3
NoAccess
0
virtualni nlc::ObjectSdoAccessAttribute getSdoAccess () konst
getPdoAccess () Preveri, ali je podindeks dostopen/preslikan prek PDO:
Tx
1
Rx
2
TxRx
3
št
0
virtualni nlc::ObjectPdoAccessAttribute getPdoAccess () konst
getBitLength () Preveri dolžino podindeksa.
virtualni uint32_t getBitLength () konst
getDefaultValueAsNumeric () Prebere privzeto vrednost podindeksa za številske vrste podatkov.
virtualni ResultInt getDefaultValueAsNumeric (std::string const & ključ) const
getDefaultValueAsString () Prebere privzeto vrednost podindeksa za podatkovne vrste nizov.
virtualni ResultString getDefaultValueAsString (std::string const & ključ) const
getDefaultValues () Prebere privzete vrednosti podindeksa.
virtualni std::map getDefaultValues () konst
Različica: doc 1.4.2 / NanoLib 1.3.0
38
8 Referenca razredov / funkcij
readNumber () Prebere številsko dejansko vrednost podindeksa.
navidezni ResultInt readNumber () konst
readString () Prebere dejansko vrednost niza podindeksa.
navidezni ResultString readString () konst
readBytes () Prebere dejansko vrednost podindeksa v bajtih.
virtualni ResultArrayByte readBytes () konst
writeNumber () Zapiše številsko vrednost v podindeks.
navidezni ResultVoid writeNumber (const vrednost int64_t) const
writeBytes () Zapiše vrednost v podindeks v bajtih.
virtualni ResultVoid writeBytes (std::vector const & podatki) const
8.22 OdIndex
Uporabite ta razred (nespremenljiv od ustvarjanja dalje) za zavijanje in iskanje indeksov/podindeksov imenika objektov. OD naprave ima do 65535 (0xFFFF) vrstic in 255 (0xFF) stolpcev; z vrzelmi med prekinjenimi vrstami. Za več podrobnosti si oglejte standard CANopen in priročnik za izdelek.
OdIndex () Konstruira nov objekt OdIndex.
nlc::OdIndex::OdIndex (indeks uint16_t, podindeks uint8_t)
Podindeks indeksa parametrov
Od 0 do 65535 (0xFFFF) vklj. Od 0 do 255 (0xFF) vklj.
getIndex () Prebere indeks (od 0x0000 do 0xFFFF).
uint16_t nlc::OdIndex::getIndex () konst
Vrne uint16_t
getSubindex () Prebere podindeks (od 0x00 do 0xFF)
uint8_t nlc::OdIndex::getSubIndex () konst
Različica: doc 1.4.2 / NanoLib 1.3.0
39
8 Referenca razredov / funkcij
Vrne uint8_t
toString () Vrne indeks in podindeks kot niz. Privzeti niz 0xIIII:0xSS se glasi takole:
I = indeks od 0x0000 do 0xFFFF
S = podindeks od 0x00 do 0xFF
std::string nlc::OdIndex::toString () konst
Vrne 0xIIII:0xSS
Privzeta predstavitev niza
8.23 OdLibrary
Uporabite ta programski vmesnik za ustvarjanje primerkov razreda ObjectDictionary iz XML-ja. Z assignObjectDictionary lahko nato povežete vsak primerek z določeno napravo zaradi edinstveno ustvarjenega identifikatorja. Tako ustvarjeni primerki ObjectDictionary so shranjeni v objektu OdLibrary, do katerega lahko dostopate z indeksom. Razred ODLibrary naloži elemente ObjectDictionary iz file ali polje, jih shrani in ima naslednje javne funkcije člana:
getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const
getObjectDictionary () virtualni ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Vrne ResultObjectDictionary
addObjectDictionaryFromFile ()
virtualni ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFilepot)
Vrne ResultObjectDictionary
addObjectDictionary ()
virtualni ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFilePot = std::string ())
Vrne ResultObjectDictionary
8.24 OdTypesHelper
Poleg naslednjih javnih funkcij članov ta razred vsebuje podatkovne tipe po meri. Opomba: Če želite preveriti tipe podatkov po meri, poiščite razred enum ObjectEntryDataType v od_types.hpp.
uintToObjectCode () Pretvori nepredznačena cela števila v objektno kodo:
Null Deftype
0x00 0x05
Različica: doc 1.4.2 / NanoLib 1.3.0
40
8 Referenca razredov / funkcij
Destruct Var Array Record
0x06 0x07 0x08 0x09
statična ObjectCode uintToObjectCode (unsigned int objectCode)
isNumericDataType () Sporoči, ali je tip podatkov številski ali ne.
statični bool isNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () Obvesti, ali je objekt indeks definicijske strukture ali ne.
statični bool isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Obvešča, ali je objekt indeks tipa definicije ali ne.
statični bool isDeftypeIndex (uint16_t typeNum)
isComplexDataType () Obvesti, ali je podatkovni tip zapleten ali ne.
statični bool isComplexDataType (ObjectEntryDataType dataType)
uintToObjectEntryDataType () Pretvori nepredznačena cela števila v podatkovni tip OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () Pretvori podatkovni tip OD v niz.
statični std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () Če je mogoče, pretvori niz v podatkovni tip OD. V nasprotnem primeru vrne UNKNOWN_DATATYPE.
statični ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
Različica: doc 1.4.2 / NanoLib 1.3.0
41
8 Referenca razredov / funkcij
objectEntryDataTypeBitLength () Obvešča o bitni dolžini podatkovnega tipa vnosa objekta.
statični uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)
8.25 Struktura RESTfulBus
Ta struktura vsebuje možnosti konfiguracije komunikacije za vmesnik RESTful (preko Etherneta). Vsebuje naslednje javne atribute:
const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long
CONNECT_TIMEOUT_OPTION_NAME = »Časovna omejitev povezave RESTful« DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = »Časovna omejitev zahteve RESTful« DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = »Časovna omejitev odziva RESTful« DEFAULT_RESPONSE_TIMEOUT = 750
8.26 ProfinetDCP
Pod Linuxom potrebuje klicna aplikacija zmogljivosti CAP_NET_ADMIN in CAP_NET_RAW. Če želite omogočiti: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. V sistemu Windows vmesnik ProfinetDCP uporablja WinPcap (preizkušen z različico 4.1.3) ali Npcap (preizkušen z različicama 1.60 in 1.30). Tako preišče dinamično naloženo knjižnico wpcap.dll v naslednjem vrstnem redu (Opomba: trenutno ni podpore za Win10Pcap):
1. Imenik Nanolib.dll 2. Sistemski imenik Windows SystemRoot%System32 3. Namestitveni imenik Npcap SystemRoot%System32Npcap 4. Pot okolja
Ta razred predstavlja vmesnik Profinet DCP in ima naslednje javne funkcije člana:
getScanTimeout () Obvešča o časovni omejitvi skeniranja naprave (privzeto = 2000 ms).
virtualni uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () Nastavi časovno omejitev skeniranja naprave (privzeto = 2000 ms).
virtualni void nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () Obvešča o časovni omejitvi odziva naprave za nastavitve, ponastavitev in utripanje (privzeto = 1000 ms).
virtualni uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () Obvešča o časovni omejitvi odziva naprave za nastavitve, ponastavitev in utripanje (privzeto = 1000 ms).
navidezna praznina nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Različica: doc 1.4.2 / NanoLib 1.3.0
42
8 Referenca razredov / funkcij
isServiceAvailable ()
S to funkcijo preverite razpoložljivost storitve Profinet DCP.
Veljavnost/razpoložljivost omrežne kartice Windows: razpoložljivost WinPcap/Npcap Linux: zmogljivosti CAP_NET_ADMIN/CAP_NET_RAW
virtualni ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)
Parametri BusHardwareId Vrne true
lažno
ID strojne opreme storitve Profinet DCP za preverjanje. Storitev je na voljo. Storitev ni na voljo.
scanProfinetDevices () S to funkcijo skenirajte vodilo strojne opreme za prisotnost naprav Profinet.
virtualni ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)
Parametri BusHardwareId Vrne ResultProfinetDevices
Podaja vsako fieldbus, ki naj se odpre. Strojna oprema je odprta.
setupProfinetDevice () Vzpostavi naslednje nastavitve naprave:
Ime naprave
naslov IP
Omrežna maska
Privzeti prehod
virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () Ustavi napravo in jo ponastavi na privzete tovarniške nastavitve.
virtualni ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () Ukaže napravi Profinet, da začne utripati svojo Profinet LED.
virtualni ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)
validateProfinetDeviceIp () S to funkcijo preverite naslov IP naprave.
virtualni ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)
Parametri BusHardwareId ProfinetDevice
Določa ID strojne opreme za preverjanje. Podaja napravo Profinet za preverjanje.
Različica: doc 1.4.2 / NanoLib 1.3.0
43
8 Referenca razredov / funkcij
Vrne ResultVoid
8.27 ProfinetDevice struct
Podatki naprave Profinet imajo naslednje javne atribute:
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
deviceName deviceVendor macAddress ipAddress netMask defaultGateway
Naslov MAC je na voljo kot polje v obliki macAddress = {xx, xx, xx, xx, xx, xx}; medtem ko se naslov IP, omrežna maska in prehod vsi interpretirajo kot šestnajstiška števila, kot so:
Naslov IP: 192.168.0.2 Omrežna maska: 255.255.0.0 Prehod: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Razredi rezultatov
Uporabite "neobvezne" vrnjene vrednosti teh razredov, da preverite, ali je bil klic funkcije uspešen ali ne, in tudi poiščete razloge za neuspeh. Ob uspehu funkcija hasError () vrne false. Z getResult () lahko preberete vrednost rezultata glede na vrsto (ResultInt itd.). Če klic ne uspe, preberete razlog z getError ().
Zaščiteni atributi
niz NlcErrorCode uint32_t
errorString errorCode exErrorCode
Ta razred ima tudi naslednje javne funkcije člana:
hasError () Prebere uspeh klica funkcije.
bool nlc::Rezultat::hasError () konst
Vračila
res napačno
Neuspeli klic. Uporabite getError (), da preberete vrednost. Uspešen klic. Uporabite getResult (), da preberete vrednost.
getError () Prebere razlog, če klic funkcije ne uspe.
const std::string nlc::Result::getError () const
Vrne const niz
Različica: doc 1.4.2 / NanoLib 1.3.0
44
8 Referenca razredov / funkcij
rezultat () Naslednje funkcije pomagajo pri definiranju natančnih rezultatov:
Rezultat (std::string const & errorString_)
Rezultat (NlcErrorCode const & errCode, std::string const & errorString_)
Rezultat (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Rezultat (konstanta rezultata in rezultat)
getErrorCode () Preberite NlcErrorCode.
NlcErrorCode getErrorCode () konst
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 ResultVoid
NanoLib vam pošlje primerek tega razreda, če funkcija vrne void. Razred podeduje javne funkcije in zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
ResultVoid () Naslednje funkcije pomagajo pri definiranju natančnega rezultata void:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (konstanta rezultata in rezultat)
8.28.2 ResultInt
NanoLib vam pošlje primerek tega razreda, če funkcija vrne celo število. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Vrne celoštevilski rezultat, če je bil klic funkcije uspešen.
int64_t getResult () konst
Vrne int64_t
Različica: doc 1.4.2 / NanoLib 1.3.0
45
8 Referenca razredov / funkcij
ResultInt () Naslednje funkcije pomagajo pri definiranju natančnega celoštevilskega rezultata:
ResultInt (int64_t rezultat_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (konstanta rezultata in rezultat)
8.28.3 ResultString
NanoLib vam pošlje primerek tega razreda, če funkcija vrne niz. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere rezultat niza, če je bil klic funkcije uspešen.
const std::string nlc::ResultString::getResult () const
Vrne const niz
ResultString () Naslednje funkcije pomagajo pri definiranju natančnega rezultata niza:
ResultString (std::string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (konstanta rezultata in rezultat)
8.28.4 ResultArrayByte
NanoLib vam pošlje primerek tega razreda, če funkcija vrne niz bajtov. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere bajtni vektor, če je bil klic funkcije uspešen.
const std::vector nlc::ResultArrayByte::getResult () const
Vrne vektor const
Različica: doc 1.4.2 / NanoLib 1.3.0
46
8 Referenca razredov / funkcij
ResultArrayByte () Naslednje funkcije pomagajo pri definiranju natančnega rezultata niza bajtov:
ResultArrayByte (std::vector const & rezultat_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (konstanta rezultata in rezultat)
8.28.5 ResultArrayInt
NanoLib vam pošlje primerek tega razreda, če funkcija vrne niz celih števil. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere vektor celega števila, če je bil klic funkcije uspešen.
const std::vector nlc::ResultArrayInt::getResult () const
Vrne vektor const
ResultArrayInt () Naslednje funkcije pomagajo pri definiranju natančnega rezultata niza celih števil:
ResultArrayInt (std::vector const & rezultat_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (konstanta rezultata in rezultat)
8.28.6 ResultBusHwIds
NanoLib vam pošlje primerek tega razreda, če funkcija vrne matriko ID strojne opreme vodila. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere vektor ID strojne opreme vodila, če je bil klic funkcije uspešen.
const std::vector nlc::ResultBusHwIds::getResult () const
Vektor parametrov const
Različica: doc 1.4.2 / NanoLib 1.3.0
47
8 Referenca razredov / funkcij
ResultBusHwIds () Naslednje funkcije pomagajo pri definiranju natančnega rezultata polja ID-strojne opreme vodila:
ResultBusHwIds (std::vector const & rezultat_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (konstanta rezultata in rezultat)
8.28.7 ResultDeviceId
NanoLib vam pošlje primerek tega razreda, če funkcija vrne ID naprave. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere vektor ID-ja naprave, če je bil klic funkcije uspešen.
DeviceId nlc::ResultDeviceId::getResult () const
Vrne vektor const
ResultDeviceId () Naslednje funkcije pomagajo pri definiranju natančnega rezultata ID-ja naprave:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (konstanta rezultata in rezultat)
8.28.8 ResultDeviceIds
NanoLib vam pošlje primerek tega razreda, če funkcija vrne niz ID-jev naprave. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Vrne vektor ID-ja naprave, če je bil klic funkcije uspešen.
DeviceId nlc::ResultDeviceIds::getResult () konst
Vrne vektor const
Različica: doc 1.4.2 / NanoLib 1.3.0
48
8 Referenca razredov / funkcij
ResultDeviceIds () Naslednje funkcije pomagajo pri definiranju natančnega rezultata niza ID-jev naprave:
ResultDeviceIds (std::vector const & rezultat_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (konstanta rezultata in rezultat)
8.28.9 ResultDeviceHandle
NanoLib vam pošlje primerek tega razreda, če funkcija vrne vrednost ročaja naprave. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere ročico naprave, če je bil klic funkcije uspešen.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Vrne DeviceHandle
ResultDeviceHandle () Naslednje funkcije pomagajo pri definiranju natančnega rezultata obravnavanja naprave:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (konstanta rezultata in rezultat)
8.28.10 ResultObjectDictionary
NanoLib vam pošlje primerek tega razreda, če funkcija vrne vsebino objektnega slovarja. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere vektor ID-ja naprave, če je bil klic funkcije uspešen.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
Različica: doc 1.4.2 / NanoLib 1.3.0
49
8 Referenca razredov / funkcij
Vračila
vektor const
ResultObjectDictionary () Naslednje funkcije pomagajo pri definiranju natančnega rezultata slovarja objektov:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)
ResultObjectDictionary (std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectDictionary (rezultat const & rezultat)
8.28.11 ResultConnectionState
NanoLib vam pošlje primerek tega razreda, če funkcija vrne informacije o stanju povezave naprave. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere ročico naprave, če je bil klic funkcije uspešen.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
Vrne DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader
ResultConnectionState () Naslednje funkcije pomagajo pri definiranju natančnega rezultata stanja povezave:
ResultConnectionState (DeviceConnectionStateInfo const & result_)
ResultConnectionState (std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultConnectionState (konstanta rezultata in rezultat)
8.28.12 ResultObjectEntry
NanoLib vam pošlje primerek tega razreda, če funkcija vrne vnos predmeta. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
Različica: doc 1.4.2 / NanoLib 1.3.0
50
8 Referenca razredov / funkcij
getResult () Vrne vektor ID-ja naprave, če je bil klic funkcije uspešen.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Vrne const ObjectEntry
ResultObjectEntry () Naslednje funkcije pomagajo pri definiranju natančnega rezultata vnosa objekta:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (rezultat const & rezultat)
8.28.13 ResultObjectSubEntry
NanoLib vam pošlje primerek tega razreda, če funkcija vrne podvnos predmeta. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Vrne vektor ID-ja naprave, če je bil klic funkcije uspešen.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Vrne const ObjectSubEntry
ResultObjectSubEntry () Naslednje funkcije pomagajo pri definiranju natančnega rezultata podvnosa objekta:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (konstanta rezultata in rezultat)
8.28.14 ResultProfinetDevices
NanoLib vam pošlje primerek tega razreda, če funkcija vrne napravo Profinet. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
Različica: doc 1.4.2 / NanoLib 1.3.0
51
8 Referenca razredov / funkcij
getResult () Prebere vektor naprave Profinet, če je bil klic funkcije uspešen.
const std::vector & getResult () const
ResultProfinetDevices () Naslednje funkcije pomagajo pri definiranju natančnih naprav Profinet.
ResultProfinetDevices (const std::vector & profinetDevices)
ResultProfinetDevices (const Rezultat in rezultat)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 RezultatiampleDataArray
NanoLib vam pošlje primerek tega razreda, če funkcija vrne kotample podatkovno polje. Razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere podatkovno matriko, če je bil klic funkcije uspešen.
const std::vector <SampleData> & getResult () const
REZULTATIampleDataArray () Naslednje funkcije pomagajo pri definiranju natančnih naprav Profinet.
REZULTATIampleDataArray (const std::vector <SampleData> & dataArray)
REZULTATIampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
REZULTATIampleDataArray (const ResultSampleDataArray in drugo)
REZULTATIampleDataArray (const Rezultat in rezultat)
8.28.16 RezultatiamplerState
NanoLib vam pošlje primerek tega razreda, če funkcija vrne kotampler state.Ta razred podeduje javne funkcije/zaščitene atribute iz razreda rezultata in ima naslednje javne funkcije člana:
getResult () Prebere sampvektor stanja, če je bil klic funkcije uspešen.
SamplerState getResult () konst
Vrne SamplerState>
Nekonfigurirano / Konfigurirano / Pripravljeno / V teku / Končano / Neuspešno / Preklicano
Različica: doc 1.4.2 / NanoLib 1.3.0
52
8 Referenca razredov / funkcij
REZULTATIamplerState () Naslednje funkcije pomagajo pri definiranju natančnih sampler stanje.
REZULTATIamplerState (const Sampdržava lerState)
REZULTATIamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
extendedErrorCode = 0)
REZULTATIamplerState (const ResultSamplerState in drugo)
REZULTATIamplerState (const Rezultat in rezultat)
8.29 NlcErrorCode
Če gre kaj narobe, razredi rezultatov poročajo o eni od kod napak, navedenih v tem seznamu.
Koda napake Uspeh Splošna napaka BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments AccessDenied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError
C: Kategorija D: Opis R: Razlog C: Brez. D: Ni napake. R: Operacija uspešno zaključena.
C: Neopredeljeno. D: Nedoločena napaka. R: Neuspeh, ki ne spada v nobeno drugo kategorijo.
C: Avtobus. D: Vodilo strojne opreme ni na voljo. R: Vodilo ne obstaja, prekinjeno ali okvarjeno.
C: Komunikacija. D: Komunikacija nezanesljiva. R: Nepričakovani podatki, napačen CRC, napake okvirja ali paritete itd.
C: Protokol. D: Napaka protokola. R: Odziv po možnosti nepodprtega protokola, poročilo naprave o nepodprtem protokolu, napaka v protokolu (recimo bit za sinhronizacijo segmenta SDO) itd. R: Odziv ali poročilo naprave o nepodprtem protokolu (možnosti) ali o napakah v protokolu (recimo SDO bit za sinhronizacijo segmenta) itd. R: Nepodprt protokol (možnosti) ali napaka v protokolu (recimo bit za sinhronizacijo segmenta SDO) itd.
C: Slovar predmetov. D: Naslov OD ne obstaja. R: V slovarju predmetov ni takega naslova.
C: Slovar predmetov. D: Dostop do naslova OD ni veljaven. R: Poskusi napisati naslov samo za branje ali brati z naslova samo za pisanje.
C: Slovar predmetov. D: Neujemanje vrste. R: Vrednost nepretvorjena v določeno vrsto, recimo pri poskusu obravnavanja niza kot števila.
C: Aplikacija. D: Proces prekinjen. R: Izrez postopka glede na zahtevo aplikacije. Vrne se le ob prekinitvi operacije s funkcijo povratnega klica, na primer pri skeniranju vodila.
C: Skupno. D: Postopek ni podprt. R: Ni podpore za strojno vodilo/napravo.
C: Skupno. D: Postopek je nepravilen v trenutnem kontekstu ali neveljaven s trenutnim argumentom. R: Poskus ponovne povezave z že povezanimi vodili/napravami. Poskus prekinitve povezave z že prekinjenimi. Poskus delovanja zagonskega nalagalnika v načinu vdelane programske opreme ali obratno.
C: Skupno. D: Argument ni veljaven. R: Napačna logika ali sintaksa.
C: Skupno. D: Dostop je zavrnjen. R: Pomanjkanje pravic ali zmožnosti za izvedbo zahtevane operacije.
C: Skupno. D: Določenega predmeta ni bilo mogoče najti. R: Strojno vodilo, protokol, naprava, naslov OD na napravi, oz file ni bil najden.
C: Skupno. D: Določenega predmeta ni bilo mogoče najti. R: zaseden, neobstoječ, prekinjen ali okvarjen.
C: Skupno. D: Premalo pomnilnika. R: Premalo pomnilnika za obdelavo tega ukaza.
C: Skupno. D: Časovna omejitev postopka je potekla. R: Vrnitev po poteku časovne omejitve. Časovna omejitev je lahko odzivni čas naprave, čas za pridobitev skupnega ali ekskluzivnega dostopa do virov ali čas za preklop vodila/naprave v primerno stanje.
Različica: doc 1.4.2 / NanoLib 1.3.0
53
8 Referenca razredov / funkcij
8.30 NlcCallback
Ta nadrejeni razred za povratne klice ima naslednjo javno funkcijo člana: povratni klic ()
virtualni povratni klic ResultVoid ()
Vračila
ResultVoid
8.31 NlcDataTransferCallback
Uporabite ta razred povratnega klica za prenos podatkov (posodobitev vdelane programske opreme, nalaganje NanoJ itd.). 1. Za nalaganje vdelane programske opreme: definirajte »sorazred«, ki tega razširi z metodo povratnega klica po meri
izvajanje. 2. Uporabite primerke »sorazreda« v klicih NanoLibAccessor.uploadFirmware (). Sam glavni razred ima naslednjo javno funkcijo člana:
povratni klic () virtualni povratni klic ResultVoid (informacije nlc::DataTransferInfo, podatki int32_t)
Vračila
ResultVoid
8.32 NlcScanBusCallback
Uporabite ta razred povratnega klica za skeniranje vodila. 1. Definirajte »sorazred«, ki tega razširi z izvedbo metode povratnega klica po meri. 2. Uporabite primerke »sorazreda« v klicih NanoLibAccessor.scanDevices (). Sam glavni razred ima naslednjo javno funkcijo člana.
povratni klic ()
virtualni povratni klic ResultVoid (nlc::BusScanInfo info, std::vector const & devicesFound, podatki int32_t)
Vrne ResultVoid
8.33 NlcLoggingCallback
Uporabite ta razred povratnih klicev za beleženje povratnih klicev. 1. Definirajte razred, ki razširja ta razred z implementacijo metode povratnega klica po meri. 2. Uporabite kazalec na njegove primerke, da nastavite povratni klic z NanoLibAccessor >
setLoggingCallback (…).
virtualni povratni klic (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)
8.34 SamplerInterface
Uporabite ta razred za konfiguracijo, zagon in zaustavitev sampler, ali dobiti sampvodi podatke in pridobi kotamplerjev status ali zadnja napaka. Razred ima naslednje javne funkcije člana.
Različica: doc 1.4.2 / NanoLib 1.3.0
54
8 Referenca razredov / funkcij
configure () Konfigurira kotampler.
virtualni ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)
Parametri [v] deviceHandle [v] samplerConfiguration
Vrne ResultVoid
Podaja, katero napravo naj konfigurira sampler za. Podaja vrednosti konfiguracijskih atributov. Potrjuje, da se je zagnala funkcija void.
getData () Pridobi sampvodeni podatki.
virtualni rezultatiampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Parametri [v] deviceHandle Vrne rezultateampleDataArray
Določa, za katero napravo naj se pridobijo podatki.
Dostavlja sampvodeni podatki, ki so lahko prazna matrika, če samplerNotify je aktiven ob zagonu.
getLastError () Dobi kotamplerjeva zadnja napaka.
virtualni ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
Vrne ResultVoid
Potrjuje, da se je zagnala funkcija void.
getState () Dobi kotamplerjev status.
virtualni rezultatiamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Vrne ResultSamplerState
Dostavlja sampler stanje.
start () Začne se kotampler.
virtualni ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)
Parametri [v] deviceHandle [v] SamplerNotify [in] applicationData
Vrne ResultVoid
Podaja, s katero napravo zaženete sampler za.
Podaja, katere neobvezne informacije je treba prijaviti (lahko je nullptr).
Možnost: Posreduje podatke, povezane z aplikacijo (uporabniško določeno 8-bitno matriko vrednosti/ID naprave/indeksa ali datumsko uro, kazalec spremenljivke/funkcije itd.) v samplerNotify.
Potrjuje, da se je zagnala funkcija void.
Različica: doc 1.4.2 / NanoLib 1.3.0
55
8 Referenca razredov / funkcij
stop () Ustavi kotampler.
virtualni ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
Parametri [v] deviceHandle Vrne ResultVoid
Določa, katera naprava za zaustavitev sampler za. Potrjuje, da se je zagnala funkcija void.
8.35 SamplerConfiguration struct
Ta struktura vsebuje podatke samplerjeve konfiguracijske možnosti (statične ali ne).
Javni atributi
std::vector trackedAddresses
Do 12 naslovov OD, ki jih je treba sampLED.
uint32_t
različica
Različica strukture.
uint32_t
trajanje Milisekund
Samptrajanje linga v ms, od 1 do 65535
uint16_t
periodMilisekund
Samptrajanje v ms.
uint16_t
številoOfSamples
Sampmanjši znesek.
uint16_t
preTriggerNumberOfSamples
Samples znesek pred sprožitvijo.
bool
usingProgramska Implementacija
Uporabite implementacijo programske opreme.
bool
z uporabo NewFWSamplerImplementation Uporabite FW implementacijo za naprave z a
FW različica v24xx ali novejša.
SamplerMode
način
Normalen, ponavljajoč se ali neprekinjen sampling.
SamplerTriggerCondition triggerCondition
Pogoji sprožitve zagona: 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, triggerValue
SamplerTrigger
SamplerTrigger
Sprožilec za začetekampler?
Statični javni atributi
statični constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 statični constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Uporabite ta razred za aktiviranje sampler obvestila, ko začnete kotampler. Razred ima naslednjo javno funkcijo člana.
Različica: doc 1.4.2 / NanoLib 1.3.0
56
8 Referenca razredov / funkcij
obvesti ()
Dostavi vnos obvestila.
virtualna praznina nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)
Parametri [v] lastError [v] samplerState
[v] sampleDatas [in] applicationData
Poroča o zadnji napaki med sampling. Poroča sampstanje ob obvestilu: Nekonfigurirano / Konfigurirano / Pripravljeno / V teku / Dokončano / Neuspešno / Preklicano. Poroča sampled podatkovni niz. Poroča podatke, specifične za aplikacijo.
8.37 SampleData struct
Ta struktura vsebuje sampvodeni podatki.
uin64_t iterationNumber
Začne se pri 0 in se poveča le v ponavljajočem se načinu.
std::vector<SampledValues> Vsebuje niz sampled vrednosti.
8.38 SampledValue struct
Ta struktura vsebuje sampled vrednosti.
in64_t vrednost uin64_t CollectTimeMsec
Vsebuje vrednost sledenega naslova OD.
Vsebuje čas zbiranja v milisekundah glede na sample začetek.
8.39 SamplerTrigger struct
Ta struktura vsebuje nastavitve sprožilca sampler.
Samppogoj lerTriggerCondition
Vrednost OdIndex uin32_t
Pogoj sprožilca: 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 (naslov) sprožilca.
Vrednost pogoja ali številka bita (začenši od bita nič).
8.40 Serijska struktura
Tukaj poiščite svoje možnosti serijske komunikacije in naslednje javne atribute:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = “serijska hitrost prenosa” baudRate = SerialBaudRate struct
Različica: doc 1.4.2 / NanoLib 1.3.0
57
8 Referenca razredov / funkcij
const std::string const SerialParity
PARITY_OPTIONS_NAME = “serijska pariteta” parity = SerialParity struct
8.41 SerialBaudRate struct
Tukaj poiščite svojo hitrost prenosa serijske komunikacije in naslednje javne atribute:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE_56000 = “56000” BAUD_RATE_ 57600 = “57600” BAUD_RATE_115200 = “115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000”
8.42 SerialParity struct
Tukaj poiščite svoje možnosti serijske paritete in naslednje javne atribute:
const std::string const std::string const std::string const std::string const std::string
NONE = "nič" ODD = "liho" EVEN = "sodo" MARK = "oznaka" SPACE = "presledek"
Različica: doc 1.4.2 / NanoLib 1.3.0
58
9 Licence
9 Licence
Glave vmesnika NanoLib API in nprampizvorno kodo licencira Nanotec Electronic GmbH & Co. KG pod licenco Creative Commons Attribution 3.0 Unported (CC BY). Deli knjižnice v binarni obliki (komunikacijske knjižnice jedra in fieldbus) so licencirani pod mednarodno licenco Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).
Creative Commons
Naslednji človeku berljiv povzetek ne bo nadomestil same licence(e). Ustrezno licenco najdete na creativecommons.org in na spodnji povezavi. Prosto lahko:
CC BY 3.0
Deli: Glej desno. Prilagajanje: predelajte, preoblikujte in nadgradite
material za kateri koli namen, tudi komercialni.
CC BY-ND 4.0
Deli: Kopirajte in razširjajte gradivo v katerem koli mediju ali obliki.
Dajalec licence ne more preklicati zgornjih svoboščin, dokler upoštevate naslednje licenčne pogoje:
CC BY 3.0
CC BY-ND 4.0
Pripis: Navesti morate ustrezno avtorstvo, Pripis: Glej levo. Ampak: navedite povezavo do tega
navedite povezavo do licence in navedite, če
drugo licenco.
so bile narejene spremembe. To lahko storite v kateri koli
Brez izpeljank: če predelate, preoblikujete ali zgradite
razumen način, vendar ne na način, ki bi predlagal
na gradivo, ne smete distribuirati
če dajalec licence podpira vas ali vašo uporabo.
spremenjen material.
Brez dodatnih omejitev: Ne morete se prijaviti Brez dodatnih omejitev: Glej levo. pravni pogoji ali tehnološki ukrepi, ki zakonito
drugim omejiti, da bi naredili karkoli z licenco
dovoljenja.
Opomba: Ni vam treba upoštevati licence za elemente gradiva v javni domeni ali kjer je vaša uporaba dovoljena z veljavno izjemo ali omejitvijo.
Opomba: Jamstva niso dana. Licenca vam morda ne daje vseh dovoljenj, potrebnih za predvideno uporabo. Na primerample, lahko druge pravice, kot so publiciteta, zasebnost ali moralne pravice, omejujejo vašo uporabo gradiva.
Različica: doc 1.4.2 / NanoLib 1.3.0
59
Impresum, kontakt, različice
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 Feldkirchen NemčijaTel.+49(0) 89 900 686-0Faks+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Vse pravice pridržane. Možna napaka, opustitev, tehnična ali vsebinska sprememba brez predhodnega obvestila. Navedene blagovne znamke/izdelki so blagovne znamke njihovih lastnikov in jih je treba obravnavati kot take. Originalna različica.
Dokument 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08
+ Dodano > Spremenjeno # Popravljeno > Predelava predloženega pramples.
+ NanoLib Modbus: dodan mehanizem za zaklepanje naprave za Modbus VCP. # NanoLib Core: Popravljeno preverjanje stanja povezave. # Koda NanoLib: popravljena odstranitev reference strojne opreme vodila.
+ NanoLib-CANopen: Podpora za adapter Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: Spremenjen vmesnik za povratni klic beleženja (LogLevel zamenja LogModule). # NanoLib Logger: ločevanje med jedrom in moduli je bilo popravljeno. # Modbus TCP: Popravljena posodobitev vdelane programske opreme za FW4. # EtherCAT: Popravljeno nalaganje programa NanoJ za Core5. # EtherCAT: Popravljena posodobitev vdelane programske opreme za Core5.
# Modbus RTU: Odpravljene težave s časom pri nizkih hitrostih prenosa med posodobitvijo vdelane programske opreme. # RESTful: Popravljeno nalaganje programa NanoJ.
# Moduli NanoLib Sampler: Pravilno branje sampvodilne logične vrednosti.
+ Podpora za Java 11 za vse platforme. + Podpora za Python 3.11/3.12 za vse platforme. + Nov vmesnik za povratni klic beleženja (glejte npramples). + Ponori povratnega klica za NanoLib Logger. > Posodobite zapisovalnik na različico 1.12.0. > Moduli NanoLib Sampler: Podpora zdaj za vdelano programsko opremo krmilnika Nanotec v24xx. > Moduli NanoLib Sampler: Sprememba strukture, ki se uporablja za sampler konfiguracijo. > Moduli NanoLib Sampler: Neprekinjen način je sinonim za neskončno; pogoj sprožitve se enkrat preveri; število samples mora biti 0. > NanoLib Modules Sampler: običajna prioriteta za nit, ki zbira podatke v načinu vdelane programske opreme. > Moduli NanoLib Sampler: Prepisan algoritem za zaznavanje prehoda med stanjem pripravljenosti in stanjem v teku. # NanoLib Core: Nič več kršitev dostopa (0xC0000005) pri zapiranju 2 ali več naprav, ki uporabljajo isto strojno opremo vodila. # NanoLib Core: Nič več napake segmentacije pri priključitvi adapterja PEAK pod Linux. # Moduli NanoLib Sampler: Pravilno sampbranje led vrednosti v načinu vdelane programske opreme. # Moduli NanoLib Sampler: pravilna konfiguracija 502X:04. # Moduli NanoLib Sampler: Pravilno mešanje medpomnilnikov s kanali. # NanoLib-Canopen: Povečane časovne omejitve CAN za robustnost in pravilno skeniranje pri nižjih hitrostih prenosa podatkov. # NanoLib-Modbus: algoritem zaznavanja VCP za posebne naprave (USB-DA-IO).
+ Podpora za EtherCAT.
+ Opomba o nastavitvah projekta VS v razdelku Konfigurirajte svoj projekt.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileIme (). + const std::string & xmlFilePot v addObjectDictionary (). + getSamplerInterface ().
Izdelek 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)
Različica: doc 1.4.2 / NanoLib 1.3.0
60
10 Impresum, kontakt, različice
Dokument
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05
+ Dodano > Spremenjeno # Popravljeno + znova zaženite napravo (). + Koda napake ResourceUnavailable za getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber in ~Uid. > firmwareUploadFromFile zdaj uploadFirmwareFromFile (). > firmwareUpload () zdaj uploadFirmware (). > zagonski nalagalnik UploadFromFile () zdaj uploadBootloaderFromFile (). > bootloaderUpload () zdaj uploadBootloader (). > bootloaderFirmware UploadFromFile () za nalaganje BootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () zdaj uploadBootloaderFirmware (). > nanojUploadFromFile () zdaj uploadNanoJFromFile (). > nanojUpload () zdaj uploadNanoJ (). > objectDictionaryLibrary () zdaj getObjectDictionaryLibrary (). > String_String_Map zdaj StringStringMap. > NanoLib-Common: hitrejša izvedba listAvailableBusHardware in openBusHardwareWithProtocol z adapterjem Ixxat. > NanoLib-CANopen: uporabljene privzete nastavitve (1000k baudrate, številka vodila Ixxat 0), če so možnosti strojne opreme vodila prazne. > NanoLib-RESTful: skrbniško dovoljenje je zastarelo za komunikacijo z ethernetnimi zagonskimi nalagalniki v sistemu Windows, če je na voljo gonilnik npcap / winpcap. # NanoLib-CANopen: strojna oprema vodila se zdaj odpre brez zrušitev s praznimi možnostmi. # NanoLib-Common: openBusHardwareWithProtocol () zdaj brez puščanja pomnilnika.
+ Podpora za Linux ARM64. + Podpora za masovni pomnilnik USB / REST / Profinet DCP. + preveri ConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (nadomestilo NanotecExceptions). + NanoLib Modbus: zvezdišče VCP / USB, poenoteno na USB. > Modbus TCP skeniranje vrne rezultate. < Zakasnitev komunikacije Modbus TCP ostaja konstantna.
+ Več ObjectEntryDataType (kompleksno in profile-specifična). + IOError se vrne, če connectDevice () in scanDevices () ne najdeta nobenega. + Samo 100 ms nominalne časovne omejitve za CanOpen / Modbus.
+ Podpora za Modbus (plus USB Hub prek VCP). + Poglavje Ustvarjanje lastnega projekta Linux. + extraHardwareSpecifier za BusHardwareId (). + extraId_ in extraStringId_ v DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Popravki napak.
Izdaja.
Izdelek
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Različica: doc 1.4.2 / NanoLib 1.3.0
61
Dokumenti / Viri
![]() |
Programiranje Nanotic NanoLib C++ [pdfUporabniški priročnik NanoLib C programiranje, C programiranje, programiranje |

