Nanotic-LOGO

Nanotic NanoLib C++ programiranje

Nanotic-NanoLib-C++-Programming-PRODUCT

Informacije o proizvodu

Specifikacije

  • Naziv proizvoda: NanoLib
  • Programiranje Jezik: C++
  • Verzija proizvoda: 1.3.0
  • Verzija korisničkog priručnika: 1.4.2

NanoLib biblioteka je dizajnirana za programiranje upravljačkog softvera za Nanotec kontrolere. Pruža korisničko sučelje, osnovne funkcije i komunikacijske biblioteke kako bi se olakšao razvoj kontrolnih aplikacija.

Upute za upotrebu proizvoda

  • Prije nego počnete:
    • Uvjerite se da vaš sistem ispunjava hardverske zahtjeve navedene u priručniku. Predviđena publika za ovaj proizvod uključuje programere koji žele kreirati upravljački softver za Nanotec kontrolere.
  • Početak:
    • Da biste počeli koristiti NanoLib, slijedite ove korake:
    • Započnite uvozom NanoLib-a u svoj projekat.
    • Po potrebi konfigurirajte postavke projekta.
    • Izgradite svoj projekat da biste uključili NanoLib funkcionalnosti.
  • Kreiranje projekata:
    • Možete kreirati projekte za Windows i Linux okruženja. Slijedite posebna uputstva navedena u priručniku za svaku platformu.
  • Klase/funkcije Referenca:
    • Pogledajte korisnički priručnik za detaljan vodič o klasama i funkcijama dostupnim u NanoLibu za programiranje upravljačkog softvera.

FAQs

  • P: Koja je svrha NanoLib-a?
    • A: NanoLib je biblioteka za programiranje upravljačkog softvera za Nanotec kontrolere, pružajući osnovne funkcionalnosti i komunikacijske mogućnosti.
  • P: Kako mogu započeti s NanoLibom?
    • A: Započnite uvozom NanoLib-a u svoj projekat, konfiguracijom postavki projekta i izgradnjom projekta za korištenje NanoLib funkcija.

“`

Korisnički priručnik NanoLib
C++

Vrijedi za verziju proizvoda 1.3.0

Verzija korisničkog priručnika: 1.4.2

Cilj dokumenta i konvencije

Ovaj dokument opisuje postavljanje i korištenje NanoLib biblioteke i sadrži referencu na sve klase i funkcije za programiranje vlastitog upravljačkog softvera za Nanotec kontrolere. Koristimo sljedeće tipove:
Podvučeni tekst označava unakrsnu referencu ili hipervezu.
Example 1: Za tačna uputstva o NanoLibAccessoru pogledajte Podešavanje. Pramplekcija 2: Instalirajte Ixxat drajver i povežite CAN-na-USB adapter. Kurziv tekst znači: Ovo je imenovani objekt, putanja menija / stavka, kartica / file naziv ili (ako je potrebno) izraz na stranom jeziku.
Example 1: Odaberite File > Novo > Prazan dokument. Otvorite karticu Alat i odaberite Komentar. Prample 2: Ovaj dokument dijeli korisnike (= Nutzer; usuario; utente; utilisateur; utente itd.) od:
– Korisnik treće strane (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente itd.). – Krajnji korisnik (= Endnutzer; usuario final; utente final; utilisateur final; utente finale itd.).
Kurir označava blokove koda ili programske komande. Prample 1: Preko Bash-a, pozovite sudo make install za kopiranje zajedničkih objekata; zatim pozovite ldconfig. Prample 2: Koristite sljedeću funkciju NanoLibAccessor da promijenite nivo evidentiranja u NanoLib:
// ***** C++ varijanta *****
void setLoggingLevel(LogLevel level);
Podebljani tekst naglašava pojedine riječi od kritične važnosti. Alternativno, uzvičniki u zagradama naglašavaju kritičnu(!) važnost.
ExampLekcija 1: Zaštitite sebe, druge i svoju opremu. Slijedite naše opće sigurnosne napomene koje su općenito primjenjive na sve Nanotec proizvode.
ExampLe 2: Radi vlastite zaštite, također slijedite posebne sigurnosne napomene koje se odnose na ovaj specifični proizvod. Glagol co-click znači klik sekundarnom tipkom miša za otvaranje kontekstnog menija itd.
Example 1: Ko-kliknite na file, izaberite Preimenuj i preimenujte file. Prample 2: Da biste provjerili svojstva, zajedno kliknite na file i izaberite Properties.

Verzija: doc 1.4.2 / NanoLib 1.3.0

4

Prije nego počnete

Prije nego počnete koristiti NanoLib, pripremite svoj PC i informirajte se o namjeravanoj upotrebi i ograničenjima biblioteke.
2.1 Sistemski i hardverski zahtjevi

Nanotic-NanoLib-C++-Programiranje-FIG- (1)
OBAVIJEST Neispravnost zbog 32-bitnog rada ili ukinutog sistema! Koristite i dosljedno održavajte 64-bitni sistem. Poštujte OEM prekide i ~uputstva.

NanoLib 1.3.0 podržava sve Nanotec proizvode sa CANopen, Modbus RTU (takođe USB na virtuelnom com portu), Modbus TCP, EtherCat i Profinet. Za starije NanoLibs: Pogledajte dnevnik promjena u impresumu. Samo na vaš rizik: korištenje naslijeđenog sistema. Napomena: Slijedite važeće upute OEM-a da postavite kašnjenje što je moguće niže ako se suočite s problemima kada koristite USB adapter zasnovan na FTDI.

Zahtjevi (64-bitni sistem obavezan)
Windows 10 ili 11 sa Visual Studio 2019 verzija 16.8 ili novija i Windows SDK 10.0.20348.0 (verzija 2104) ili novija
C++ redistributable 2017 ili noviji CANopen: Ixxat VCI ili PCAN osnovni drajver (opciono) EtherCat modul / Profinet DCP: Npcap ili WinPcap RESTful modul: Npcap, WinPcap ili administratorska dozvola za
komunicirati s Ethernet bootloaderima
Linux sa Ubuntu 20.04 LTS do 24 (svi x64 i arm64)
Zaglavlja kernela i libpopt-dev paket Profinet DCP: CAP_NET_ADMIN i CAP_NET_RAW mogućnost
veze CANopen: Ixxat ECI drajver ili Peak PCAN-USB adapter EtherCat: CAP_NET_ADMIN, CAP_NET_RAW i
CAP_SYS_NICE sposobnosti RESTful: CAP_NET_ADMIN sposobnost komuniciranja s Eth-
ernet pokretači (takođe se preporučuju: CAP_NET_RAW)

Jezik, fieldbus adapteri, kablovi
C++ GCC 7 ili noviji (Linux)
EtherCAT: Eternet kabl VCP / USB hub: sada jednoobrazno USB USB masovno skladištenje: USB kabl REST: Eternet kabl CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB adapter Nema Ixxat podrške za Ubuntu na arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 ili ekvivalentni adapter; USB kabl na virtuelnom com portu (VCP)
Modbus TCP: Ethernet kabl prema podacima o proizvodu

2.2 Namjena i publika
NanoLib je programska biblioteka i softverska komponenta za rad i komunikaciju sa Nanotec kontrolerima u širokom spektru industrijskih aplikacija i samo za odgovarajuće kvalifikovane programere.
Zbog hardvera (PC) i operativnog sistema koji nije sposoban za realno vrijeme, NanoLib nije za upotrebu u aplikacijama kojima je potrebno sinhrono kretanje po više osa ili su općenito osjetljive na vrijeme.
Ni u kom slučaju ne smijete integrirati NanoLib kao sigurnosnu komponentu u proizvod ili sistem. Prilikom isporuke krajnjim korisnicima, morate dodati odgovarajuća upozorenja i upute za sigurnu upotrebu i siguran rad svakom proizvodu s komponentom koju je proizveo Nanotec. Morate proslediti sva obaveštenja o upozorenjima koje je izdao Nanotec pravo krajnjem korisniku.
2.3 Obim isporuke i garancija
NanoLib dolazi kao *.zip folder iz našeg preuzimanja webstranica za EMEA/APAC ili AMERICU. Propisno pohranite i raspakirajte svoje preuzimanje prije postavljanja. NanoLib paket sadrži:

Verzija: doc 1.4.2 / NanoLib 1.3.0

5

2 Prije početka

Zaglavlja interfejsa kao izvorni kod (API)

Osnovne funkcije kao biblioteke u binarnom formatu: nano-

Biblioteke koje olakšavaju komunikaciju: nanolibm_lib.dll

[yourfieldbus].dll itd.

Example projekat: prample.sln (Visual Studio

projekat) i prample.cpp (glavni file)

Za obim garancije, molimo da se pridržavate a) naših odredbi i uslova za EMEA/APAC ili AMERICU i b) sve uslove licence. Napomena: Nanotec nije odgovoran za neispravan ili neodgovarajući kvalitet, rukovanje, instalaciju, rad, upotrebu i održavanje opreme treće strane! Za dužnu sigurnost, uvijek slijedite važeće upute OEM-a.

Verzija: doc 1.4.2 / NanoLib 1.3.0

6

NanoLib arhitektura

Modularna softverska struktura NanoLib-a omogućava vam da organizujete slobodno prilagodljive funkcije kontrolera motora / sabirnice polja oko strogo unapred izgrađenog jezgra. NanoLib sadrži sljedeće module:

Korisničko sučelje (API)

NanoLib jezgro

Interfejs i pomoćne klase koje biblioteke koje

Komunikacijske biblioteke Biblioteke specifične za Fieldbus koje

pristupiti vašem kontroleru implementirati API funkcionalnost do interfejsa između NanoLib-a

OD (rečnik objekata)

interakciju sa autobuskim bibliotekama.

hardver jezgra i magistrale.

baziran na funkciji jezgre NanoLib-a

nacionalnosti.

3.1 Korisničko sučelje

Korisnički interfejs se sastoji od interfejsa zaglavlja files možete koristiti za pristup parametrima kontrolera. Klase korisničkog sučelja kako su opisane u referenci Klase/funkcije omogućavaju vam:
Spojite i na hardver (adapter sabirnice polja) i na upravljački uređaj. Pristupite OD uređaja za čitanje/zapisivanje parametara kontrolera.

3.2 NanoLib jezgro

NanoLib jezgro dolazi sa bibliotekom za uvoz nanolib.lib. Implementira funkcionalnost korisničkog interfejsa i odgovoran je za:
Učitavanje i upravljanje komunikacijskim bibliotekama. Pružanje funkcionalnosti korisničkog interfejsa u NanoLibAccessor. Ova ulazna tačka komunikacije de-
precizira skup operacija koje možete izvršiti na NanoLib jezgri i komunikacijskim bibliotekama.

3.3 Komunikacione biblioteke

Pored nanotec.services.nanolib.dll (korisno za vaš opcionalni Plug & Drive Studio), NanoLib nudi sljedeće komunikacijske biblioteke:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Sve biblioteke postavljaju sloj hardverske apstrakcije između jezgre i kontrolera. Jezgro ih učitava pri pokretanju iz naznačene fascikle projekta i koristi ih za uspostavljanje komunikacije s kontrolerom prema odgovarajućem protokolu.

Verzija: doc 1.4.2 / NanoLib 1.3.0

7

Početak

Pročitajte kako pravilno postaviti NanoLib za svoj operativni sistem i kako povezati hardver po potrebi.
4.1 Pripremite svoj sistem
Prije instaliranja drajvera adaptera, prvo pripremite svoj PC zajedno sa operativnim sistemom. Da biste pripremili računar uz svoj Windows OS, instalirajte MS Visual Studio sa C++ ekstenzijama. Da biste instalirali make i gcc od Linux Bash, pozovite sudo apt install build-essentials. Zatim omogućite mogućnosti CAP_NET_ADMIN, CAP_NET_RAW i CAP_SYS_NICE za aplikaciju koja koristi NanoLib: 1. Pozovite sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
ime>. 2. Tek tada instalirajte drajvere vašeg adaptera.
4.2 Instalirajte drajver Ixxat adaptera za Windows
Tek nakon odgovarajuće instalacije drajvera, možete koristiti Ixxatov USB-to-CAN V2 adapter. Pročitajte priručnik proizvoda za USB diskove, da saznate da li/kako aktivirate virtuelni komport (VCP). 1. Preuzmite i instalirajte Ixxatov VCI 4 drajver za Windows sa www.ixxat.com. 2. Povežite Ixxatov USB-to-CAN V2 kompaktni adapter na PC preko USB-a. 3. Upravljačem uređaja: Provjerite da li su i drajver i adapter pravilno instalirani/prepoznati.
4.3 Instalirajte drajver Peak adaptera za Windows
Tek nakon odgovarajuće instalacije drajvera, možete koristiti Peakov PCAN-USB adapter. Pročitajte priručnik proizvoda za USB diskove, da saznate da li/kako aktivirate virtuelni komport (VCP). 1. Preuzmite i instalirajte postavku Windows drajvera uređaja (= instalacioni paket sa drajverima uređaja, alatima i
API-ji) iz http://www.peak-system.com. 2. Povežite Peakov PCAN-USB adapter na PC preko USB-a. 3. Upravljačem uređaja: Provjerite da li su i drajver i adapter pravilno instalirani/prepoznati.
4.4 Instalirajte upravljački program Ixxat adaptera za Linux
Tek nakon odgovarajuće instalacije drajvera, možete koristiti Ixxatov USB-to-CAN V2 adapter. Napomena: Ostali podržani adapteri trebaju vaše dozvole od strane sudo chmod +777/dev/ttyACM* (* broj uređaja). Pročitajte priručnik proizvoda za USB diskove, da saznate da li/kako aktivirate virtuelni komport (VCP). 1. Instalirajte softver potreban za ECI drajver i demo aplikaciju:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Preuzmite upravljački program ECI-for-Linux sa www.ixxat.com. Raspakujte ga putem:
raspakujte eci_driver_linux_amd64.zip
3. Instalirajte drajver putem:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Provjerite uspješnu instalaciju drajvera kompajliranjem i pokretanjem demo aplikacije:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Verzija: doc 1.4.2 / NanoLib 1.3.0

8

4 Početak rada
4.5 Instalirajte upravljački program Peak adaptera za Linux
Tek nakon odgovarajuće instalacije drajvera, možete koristiti Peakov PCAN-USB adapter. Napomena: Ostali podržani adapteri trebaju vaše dozvole od strane sudo chmod +777/dev/ttyACM* (* broj uređaja). Pročitajte priručnik proizvoda za USB diskove, da saznate da li/kako aktivirate virtuelni komport (VCP). 1. Provjerite ima li vaš Linux zaglavlja kernela: ls /usr/src/linux-headers-`uname -r`. Ako ne, instalirajte
njima: sudo apt-get install linux-headers-`uname -r` 2. Tek sada, instalirajte libpopt-dev paket: sudo apt-get install libpopt-dev 3. Preuzmite potreban paket drajvera (peak-linux-driver- xxx.tar.gz) sa www.peak-system.com. 4. Da ga raspakujete, koristite: tar xzf peak-linux-driver-xxx.tar.gz 5. U raspakovanoj fascikli: kompajlirajte i instalirajte drajvere, PCAN baznu biblioteku, itd.: napravite sve
sudo make install 6. Da biste provjerili funkciju, priključite PCAN-USB adapter.
a) Provjerite modul kernela:
lsmod | grep pcan b) … i zajednička biblioteka:
ls -l /usr/lib/libpcan*
Napomena: Ako dođe do problema sa USB3, koristite USB2 port.
4.6 Povežite svoj hardver
Da biste mogli da pokrenete NanoLib projekat, povežite kompatibilni Nanotec kontroler na računar pomoću vašeg adaptera. 1. Pomoću odgovarajućeg kabla povežite adapter sa kontrolerom. 2. Povežite adapter sa računarom prema podacima o adapteru. 3. Uključite kontroler koristeći odgovarajuće napajanje. 4. Ako je potrebno, promijenite komunikacijske postavke Nanotec kontrolera prema uputama u priručniku za proizvod.
4.7 Učitavanje NanoLib
Za prvi početak sa brzim i lakim osnovama, možete (ali ne smijete) koristiti našu example project. 1. Ovisno o vašoj regiji: Preuzmite NanoLib sa našeg webstranica za EMEA/APAC ili AMERICU. 2. Raspakujte paket files / foldere i odaberite jednu opciju: Za brze i jednostavne osnove: Pogledajte Pokretanje example project. Za napredno prilagođavanje u Windows-u: Pogledajte Kreiranje vlastitog Windows projekta. Za napredno prilagođavanje u Linuxu: pogledajte Stvaranje vlastitog Linux projekta.

Verzija: doc 1.4.2 / NanoLib 1.3.0

9

Pokretanje example project

Sa propisno napunjenim NanoLibom, example projekat vam pokazuje kroz upotrebu NanoLib-a sa Nanotec kontrolerom. Napomena: Za svaki korak, komentari u priloženom prample kod objašnjava funkcije koje se koriste. Bivšiample projekat se sastoji od: `*_functions_example.*' files, koji sadrže implementacije za NanoLib funkcije sučelja `*_callback_example.*' files, koji sadrže implementacije za različite povratne pozive (scan, data i
evidentiranje) `meni_*.*' file, koji sadrži logiku menija i kod Example.* file, koji je glavni program, kreira meni i inicijalizira sve korištene parametre Sampler_example.* file, koji sadrži example implementacija za sampler usage. Možete pronaći više examples, sa nekim komandama pokreta za različite režime rada, u bazi znanja na nanotec.com. Svi su upotrebljivi u Windows ili Linux.
U Windowsima sa Visual Studio 1. Otvorite Example.sln file. 2. Otvorite example.cpp. 3. Prevedite i pokrenite exampkod.
U Linuxu preko Bash-a 1. Raspakujte izvor file, idite do foldera sa raspakiranim sadržajem. Glavni file za example is
example.cpp. 2. U bash-u pozovite:
a. “sudo make install” za kopiranje zajedničkih objekata i pozivanje ldconfig. b. “napravi sve” za izradu izvršne datoteke za testiranje. 3. bin folder sadrži izvršni example file. By bash: Idite na izlaznu fasciklu i ukucajte ./example. Ako ne dođe do greške, vaši zajednički objekti su sada propisno instalirani i vaša biblioteka je spremna za upotrebu. Ako greška glasi ./example: greška pri učitavanju dijeljenih biblioteka: libnanolib.so: ne može otvoriti zajednički objekt file: Nema takve file ili direktorij, instalacija zajedničkih objekata nije uspjela. U tom slučaju slijedite sljedeće korake. 4. Kreirajte novi folder unutar /usr/local/lib (potrebna su administratorska prava). U bash, otkucajte:
sudo mkdir /usr/local/lib/nanotec
5. Kopirajte sve zajedničke objekte iz zip-a file's lib folder:
instaliraj ./lib/*.so /usr/local/lib/nanotec/
6. Provjerite sadržaj ciljne mape pomoću:
ls -al /usr/local/lib/nanotec/
Trebao bi navesti zajednički objekt files iz foldera lib. 7. Pokrenite ldconfig na ovoj fascikli:
sudo ldconfig /usr/local/lib/nanotec/
Bivšiample je implementiran kao CLI aplikacija i pruža interfejs menija. Unosi menija su zasnovani na kontekstu i biće omogućeni ili onemogućeni, u zavisnosti od stanja konteksta. Oni vam nude mogućnost odabira i izvršavanja različitih bibliotečkih funkcija slijedeći tipičan tok rada za rukovanje kontrolerom: 1. Provjerite PC ima li povezanog hardvera (adaptera) i navedite ih. 2. Uspostavite vezu s adapterom. 3. Skenirajte sabirnicu za povezane uređaje kontrolera. 4. Povežite se na uređaj.

Verzija: doc 1.4.2 / NanoLib 1.3.0

10

5 Pokretanje example project
5. Testirajte jednu ili više bibliotečkih funkcija: Čitanje/pisanje iz/u riječnik objekata kontrolera, ažuriranje firmvera, otpremanje i pokretanje NanoJ programa, pokretanje motora i podešavanje, konfiguriranje i korištenje zapisnika/eampler.
6. Zatvorite vezu, prvo sa uređajem, a zatim sa adapterom.

Verzija: doc 1.4.2 / NanoLib 1.3.0

11

Kreiranje vlastitog Windows projekta

Kreirajte, kompajlirajte i pokrenite vlastiti Windows projekt za korištenje NanoLib.
6.1 Uvoz NanoLib
Uvezite NanoLib zaglavlje filei biblioteke putem MS Visual Studio-a.
1. Otvorite Visual Studio. 2. Preko Create new project > Console App C++ > Next: Odaberite tip projekta. 3. Imenujte svoj projekat (ovde: NanolibTest) da biste kreirali fasciklu projekta u Solution Exploreru. 4. Odaberite Završi. 5. Otvorite prozore file explorer i idite do novo kreirane mape projekta. 6. Kreirajte dva nova foldera, inc i lib. 7. Otvorite folder paketa NanoLib. 8. Odatle: Kopirajte zaglavlje files iz fascikle uključi u vašu projektnu fasciklu inc i sve .lib i .dll
files u vašu novu fasciklu projekta lib. 9. Provjerite svoju projektnu fasciklu za odgovarajuću strukturu, nprample:

Nanotic-NanoLib-C++-Programiranje-FIG- (2)ect folder za odgovarajuću strukturu:
. 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.vcxprojproj NavclibT NanolibTest.vcxproj.user NanolibTest.sln
6.2 Konfigurišite svoj projekat
Koristite Solution Explorer u MS Visual Studio za postavljanje NanoLib projekata. Napomena: Za ispravan NanoLib rad, odaberite konfiguraciju izdanja (ne debug!) u postavkama projekta Visual C++; zatim izgradite i povežite projekat sa VC runtimes C++ redistributable [2022].
1. U Solution Exploreru: Idite u fasciklu vašeg projekta (ovde: NanolibTest). 2. Zajedničkim klikom na fasciklu otvorite kontekstni meni. 3. Odaberite Svojstva. 4. Aktivirajte Sve konfiguracije i Sve platforme. 5. Odaberite C/C++ i idite na Dodatni direktoriji za uključivanje. 6. Umetnite: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Odaberite Linker i idite na Dodatni direktoriji biblioteka. 8. Umetnite: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Proširite Linker i odaberite Unos. 10.Idite na Dodatne ovisnosti i umetnite: nanolib.lib;%(AdditionalDependencies) 11.Potvrdite putem OK.

Verzija: doc 1.4.2 / NanoLib 1.3.0

12

6 Kreiranje vlastitog Windows projekta
12. Idite na Konfiguracija > C++ > Jezik > Standard jezika > ISO C++17 Standard i postavite jezični standard na C++17 (/std:c++17).
6.3 Izgradite svoj projekat
Izgradite svoj NanoLib projekat u MS Visual Studio. 1. Otvorite glavni *.cpp file (ovdje: nanolib_example.cpp) i uredite kod, ako je potrebno. 2. Odaberite Build > Configuration Manager. 3. Promijenite Active Solution platforme na x64. 4. Potvrdite putem Zatvori. 5. Odaberite Izgradi > Izgradi rješenje. 6. Nema greške? Provjerite da li vaš rezultat kompajliranja ispravno izvještava:
1>—— Čišćenje je počelo: Projekat: NanolibTest, Konfiguracija: Debug x64 —–========== Čišćenje: 1 uspjelo, 0 neuspjelo, 0 preskočeno ==========

Verzija: doc 1.4.2 / NanoLib 1.3.0

13

7 Kreiranje vlastitog Linux projekta
7 Kreiranje vlastitog Linux projekta
Kreirajte, kompajlirajte i pokrenite svoj vlastiti Linux projekt za korištenje NanoLib. 1. U raspakovanom NanoLib instalacionom kompletu: Otvorite /nanotec_nanolib. 2. Pronađite sve zajedničke objekte u tar.gz file. 3. Odaberite jednu opciju: Instalirajte svaku lib ili sa Makefile ili ručno.
7.1 Instalirajte dijeljene objekte pomoću Makefile
Koristite Makefile sa Linux Bash za automatsku instalaciju svih zadanih *.so files. 1. Preko Bash-a: Idite na fasciklu koja sadrži markufile. 2. Kopirajte dijeljene objekte putem:
sudo make install 3. Potvrdite putem:
ldconfig
7.2 Ručno instalirajte zajedničke objekte
Koristite Bash da instalirate sve *.so files NanoLib ručno. 1. Preko Bash-a: Kreirajte novi folder unutar /usr/local/lib. 2. Potrebna su administratorska prava! Vrsta:
sudo mkdir /usr/local/lib/nanotec 3. Promijenite u fasciklu raspakiranog instalacionog paketa. 4. Kopirajte sve dijeljene objekte iz mape lib putem:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Provjerite sadržaj ciljne mape putem:
ls -al /usr/local/lib/nanotec/ 6. Provjerite da li su svi zajednički objekti iz mape lib navedeni. 7. Pokrenite ldconfig na ovoj fascikli preko:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Kreirajte svoj projekat
Sa instaliranim zajedničkim objektima: Kreirajte novi projekat za vaš Linux NanoLib. 1. Preko Bash-a: Kreirajte novi folder projekta (ovdje: NanoLibTest) putem:
mkdir NanoLibTest cd NanoLibTest
2. Kopirajte zaglavlje files u uključeni folder (ovdje: inc) preko: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Kreirajte glavnu file (NanoLibTest.cpp) preko: #include “accessor_factory.hpp” #include

Verzija: doc 1.4.2 / NanoLib 1.3.0

14

7 Kreiranje vlastitog Linux projekta
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds rezultat = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << rezultat.getError() << std::endl; }
else{ std::cout << “Uspjeh” << std::endl; }
delete accessor; return 0; }
4. Provjerite svoju projektnu fasciklu za odgovarajuću strukturu:

Nanotic-NanoLib-C++-Programiranje-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Kompilirajte i testirajte svoj projekat
Pripremite svoj Linux NanoLib za upotrebu putem Basha.
1. Preko Bash-a: kompajlirajte glavni file putem:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Povežite izvršnu datoteku zajedno putem:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Pokrenite testni program putem:
./test
4. Provjerite da li vaš Bash uredno prijavljuje:
uspjeh

Verzija: doc 1.4.2 / NanoLib 1.3.0

15

8 Referenca za klase/funkcije

8 Referenca za klase/funkcije

Ovdje pronađite listu klasa korisničkog interfejsa NanoLib-a i njihovih funkcija članova. Tipičan opis funkcije uključuje kratak uvod, definiciju funkcije i listu parametara/povrataka:

ExampleFunction () Ukratko vam govori šta funkcija radi.
virtual void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Parametri param_a param_b
Vraća ResultVoid

Dodatni komentari ako je potrebno. Dodatni komentari ako je potrebno.

8.1 NanoLibAccessor

Klasa interfejsa koja se koristi kao ulazna tačka u NanoLib. Tipičan tok posla izgleda ovako:
1. Započnite skeniranjem hardvera pomoću NanoLibAccessor.listAvailableBusHardware (). 2. Podesite postavke komunikacije pomoću BusHardwareOptions (). 3. Otvorite hardversku vezu sa NanoLibAccessor.openBusHardwareWithProtocol (). 4. Skenirajte sabirnicu za povezane uređaje pomoću NanoLibAccessor.scanDevices (). 5. Dodajte uređaj sa NanoLibAccessor.addDevice (). 6. Povežite se na uređaj pomoću NanoLibAccessor.connectDevice (). 7. Nakon završetka operacije, isključite uređaj pomoću NanoLibAccessor.disconnectDevice (). 8. Uklonite uređaj pomoću NanoLibAccessor.removeDevice (). 9. Zatvorite hardversku vezu sa NanoLibAccessor.closeBusHardware ().
NanoLibAccessor ima sljedeće javne funkcije člana:

listAvailableBusHardware () Koristite ovu funkciju za popis dostupnog hardvera sabirnice polja.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Vraća ResultBusHwIds

Isporučuje polje ID sabirnice polja.

openBusHardwareWithProtocol () Koristite ovu funkciju za povezivanje hardvera magistrale.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parametri busHwId busHwOpt
Vraća ResultVoid

Određuje sabirnicu polja za otvaranje. Određuje opcije otvaranja sabirnice polja. Potvrđuje da je funkcija void pokrenuta.

isBusHardwareOpen () Koristite ovu funkciju da provjerite je li vaša hardverska veza sabirnice polja otvorena.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Verzija: doc 1.4.2 / NanoLib 1.3.0

16

8 Referenca za klase/funkcije

Parametri BusHardwareId Vraća true
false

Određuje svaku sabirnicu polja za otvaranje. Hardver je otvoren. Hardver je zatvoren.

getProtocolSpecificAccessor () Koristite ovu funkciju da dobijete pristupni objekt specifičnog za protokol.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parametri busHwId Vraća ResultVoid

Određuje sabirnicu polja za dobivanje pristupnika. Potvrđuje da je funkcija void pokrenuta.

getProfinetDCP () Koristite ovu funkciju da vratite referencu na Profinet DCP interfejs.
virtualni ProfinetDCP & getProfinetDCP ()

Vraća ProfinetDCP

getSamplerInterface () Koristite ovu funkciju da dobijete referencu na sampler interfejs.
virtuelni SamplerInterface & getSamplerInterface ()

Vraća SamplerInterface

Odnosi se na sampler klasa interfejsa.

setBusState () Koristite ovu funkciju za postavljanje stanja specifičnog za protokol sabirnice.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parametri busHwId stanje
Vraća ResultVoid

Određuje sabirnicu polja za otvaranje. Dodjeljuje stanje specifično za sabirnicu kao vrijednost niza. Potvrđuje da je funkcija void pokrenuta.

scanDevices () Koristite ovu funkciju za skeniranje uređaja u mreži.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* povratni poziv)

Parametri busHwId povratni poziv
Vraća ResultDeviceIds IOError

Određuje sabirnicu polja za skeniranje. NlcScanBusCallback praćenje napretka. Isporučuje niz ID uređaja. Obavještava da uređaj nije pronađen.

Verzija: doc 1.4.2 / NanoLib 1.3.0

17

8 Referenca za klase/funkcije

addDevice ()
Koristite ovu funkciju da dodate uređaj sabirnice opisan kao deviceId na NanoLib-ovu internu listu uređaja i da vratite deviceHandle za njega.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parametri deviceId Vraća ResultDeviceHandle

Određuje uređaj za dodavanje na listu. Isporučuje ručku uređaja.

connectDevice () Koristite ovu funkciju za povezivanje uređaja pomoću deviceHandle-a.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parametri deviceHandle vraća ResultVoid
IOError

Određuje na koji se uređaj sabirnice NanoLib povezuje. Potvrđuje da je funkcija void pokrenuta. Obavještava da uređaj nije pronađen.

getDeviceName () Koristite ovu funkciju da dobijete ime uređaja po deviceHandleu.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultString

Određuje za koji uređaj sabirnice NanoLib dobiva ime. Isporučuje imena uređaja kao niz.

getDeviceProductCode () Koristite ovu funkciju da dobijete šifru proizvoda uređaja po deviceHandleu.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultInt

Određuje za koji uređaj sabirnice NanoLib dobija kod proizvoda. Isporučuje kodove proizvoda kao cijeli broj.

getDeviceVendorId () Koristite ovu funkciju da dobijete ID dobavljača uređaja po deviceHandleu.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultInt
ResourceUnavailable

Određuje za koji uređaj sabirnice NanoLib dobiva ID dobavljača. Isporučuje ID dobavljača kao cijeli broj. Obavještava da podaci nisu pronađeni.

Verzija: doc 1.4.2 / NanoLib 1.3.0

18

8 Referenca za klase/funkcije

getDeviceId () Koristite ovu funkciju da dobijete ID određenog uređaja sa interne liste NanoLib-a.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultDeviceId

Određuje za koji uređaj sabirnice NanoLib dobiva ID uređaja. Isporučuje ID uređaja.

getDeviceIds () Koristite ovu funkciju da dobijete ID svih uređaja sa interne liste NanoLib-a.
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Vraća ResultDeviceIds

Isporučuje listu ID uređaja.

getDeviceUid () Koristite ovu funkciju da dobijete jedinstveni ID uređaja (96 bita / 12 bajtova) pomoću deviceHandlea.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultArrayByte
ResourceUnavailable

Određuje za koji uređaj sabirnice NanoLib dobiva jedinstveni ID. Isporučuje jedinstvene ID-ove kao niz bajtova. Obavještava da podaci nisu pronađeni.

getDeviceSerialNumber () Koristite ovu funkciju da dobijete serijski broj uređaja po deviceHandleu.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultString
ResourceUnavailable

Određuje za koji uređaj sabirnice NanoLib dobija serijski broj. Isporučuje serijske brojeve kao niz. Obavještava da podaci nisu pronađeni.

getDeviceHardwareGroup () Koristite ovu funkciju da dobijete hardversku grupu uređaja sabirnice prema deviceHandleu.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultInt

Određuje za koji uređaj sabirnice NanoLib dobija hardversku grupu.
Isporučuje hardverske grupe kao cijeli broj.

getDeviceHardwareVersion () Koristite ovu funkciju da dobijete hardversku verziju uređaja sabirnice prema deviceHandleu.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Verzija: doc 1.4.2 / NanoLib 1.3.0

19

8 Referenca za klase/funkcije

Parametri deviceHandle

Povratak

ResultString ResourceUnavailable

Određuje za koji uređaj sabirnice NanoLib dobija verziju hardvera. Isporučuje imena uređaja kao niz. Obavještava da podaci nisu pronađeni.

getDeviceFirmwareBuildId () Koristite ovu funkciju da dobijete ID izgradnje firmvera uređaja sabirnice pomoću deviceHandlea.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultString

Određuje za koji uređaj sabirnice NanoLib dobija ID verzije firmvera.
Isporučuje imena uređaja kao niz.

getDeviceBootloaderVersion () Koristite ovu funkciju da dobijete verziju bootloadera uređaja sabirnice prema deviceHandleu.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parametri deviceHandle

Povratak

ResultInt ResourceUnavailable

Određuje za koji uređaj sabirnice NanoLib dobija verziju bootloadera. Isporučuje verzije bootloadera kao cijeli broj. Obavještava da podaci nisu pronađeni.

getDeviceBootloaderBuildId () Koristite ovu funkciju da dobijete ID izgradnje pokretačkog uređaja sabirnice pomoću deviceHandlea.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultString

Određuje za koji uređaj sabirnice NanoLib dobija ID izgradnje pokretačkog programa.
Isporučuje imena uređaja kao niz.

rebootDevice () Koristite ovu funkciju za ponovno pokretanje uređaja pomoću deviceHandlea.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parametri deviceHandle vraća ResultVoid

Određuje sabirnicu polja za ponovno pokretanje. Potvrđuje da je funkcija void pokrenuta.

getDeviceState () Koristite ovu funkciju da dobijete stanje specifično za protokol uređaja.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parametri deviceHandle

Određuje za koji uređaj sabirnice NanoLib dobija stanje.

Verzija: doc 1.4.2 / NanoLib 1.3.0

20

8 Referenca za klase/funkcije

Vraća ResultString

Isporučuje imena uređaja kao niz.

setDeviceState () Koristite ovu funkciju za postavljanje stanja specifičnog za protokol uređaja.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parametri deviceHandle state
Vraća ResultVoid

Određuje za koji uređaj sabirnice NanoLib postavlja stanje. Dodjeljuje stanje specifično za sabirnicu kao vrijednost niza. Potvrđuje da je funkcija void pokrenuta.

getConnectionState ()
Koristite ovu funkciju da dobijete posljednje poznato stanje veze određenog uređaja prema deviceHandle-u (= Disconnected, Connected, ConnectedBootloader)
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultConnectionState

Određuje za koji uređaj sabirnice NanoLib dobija stanje veze.
Isporučuje stanje veze (= Disconnected, Connected, ConnectedBootloader).

checkConnectionState ()
Samo ako posljednje poznato stanje nije Disconnected: Koristite ovu funkciju da provjerite i eventualno ažurirate stanje veze određenog uređaja pomoću deviceHandlea i testiranjem nekoliko operacija specifičnih za način rada.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parametri deviceHandle Vraća ResultConnectionState

Određuje za koji uređaj sabirnice NanoLib provjerava stanje veze.
Isporučuje stanje veze (= nije isključeno).

assignObjectDictionary () Koristite ovu ručnu funkciju da sami dodijelite riječnik objekata (OD) deviceHandleu.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parametri deviceHandle objectDictionary
Vraća ResultObjectDictionary

Određuje kojem sabirničkom uređaju NanoLib dodjeljuje OD. Prikazuje svojstva rečnika objekata.

autoAssignObjectDictionary ()
Koristite ovaj automatizam da dozvolite NanoLibu da dodijeli rečnik objekata (OD) deviceHandleu. Kada pronađe i učita odgovarajući OD, NanoLib ga automatski dodeljuje uređaju. Napomena: Ako je kompatibilni OD već učitan u biblioteku objekata, NanoLib će ga automatski koristiti bez skeniranja dostavljenog direktorija.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Verzija: doc 1.4.2 / NanoLib 1.3.0

21

8 Referenca za klase/funkcije

Parametri deviceHandle

Povratak

dictionariesLocationPath ResultObjectDictionary

Određuje za koji uređaj sabirnice NanoLib će automatski skenirati odgovarajuće OD. Određuje putanju do OD direktorija. Prikazuje svojstva rečnika objekata.

getAssignedObjectDictionary ()
Koristite ovu funkciju da dobijete rečnik objekata koji je uređaj dodelio deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const uređaj
ručka)

Parametri deviceHandle Vraća ResultObjectDictionary

Određuje za koji uređaj sabirnice NanoLib dobiva dodijeljeni OD. Prikazuje svojstva rečnika objekata.

getObjectDictionaryLibrary () Ova funkcija vraća referencu OdLibrary.
virtual OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Vraća OdLibrary&

Otvara cijelu OD biblioteku i njene objektne rječnike.

setLoggingLevel () Koristite ovu funkciju za postavljanje potrebnih detalja dnevnika (i dnevnika file veličina). Podrazumevani nivo je Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (LogLevel nivo)

Nivo parametara

Mogući su sljedeći detalji dnevnika:

0 = Trag 1 = Otklanjanje grešaka 2 = Informacije 3 = Upozorenje 4 = Greška 5 = Kritično 6 = Isključeno

Najniži nivo (najveći dnevnik file); evidentira sve moguće detalje, plus softver start/stop. Zapisuje informacije o otklanjanju grešaka (= privremeni rezultati, sadržaj poslat ili primljen, itd.) Podrazumevani nivo; evidentira informativne poruke. Zapisuje probleme koji su se dogodili, ali neće zaustaviti trenutni algoritam. Zapisuje samo ozbiljne probleme koji su zaustavili algoritam. Najviši nivo (najmanji dnevnik file); isključuje odjavu; nema daljeg dnevnika. Uopšte nema logovanja.

setLoggingCallback ()
Koristite ovu funkciju da postavite pokazivač povratnog poziva za evidentiranje i modul dnevnika (= biblioteka) za taj povratni poziv (ne za sam logger).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* povratni poziv, const nlc::LogModule & logModule)

Parametri *callback logModule

Postavlja pokazivač povratnog poziva. Podešava povratni poziv (ne logger!) vašoj biblioteci.

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

Aktivira povratni poziv samo za jezgro NanoLib-a. Aktivira povratni poziv samo za CANopen. Aktivira povratni poziv samo za Modbus. Aktivira povratni poziv samo za EtherCAT.

Verzija: doc 1.4.2 / NanoLib 1.3.0

22

8 Referenca za klase/funkcije

4 = NanolibRest 5 = NanolibUSB

Aktivira povratni poziv samo za REST. Aktivira povratni poziv samo za USB.

unsetLoggingCallback () Koristite ovu funkciju da poništite pokazivač povratnog poziva u evidenciji.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Koristite ovu funkciju za čitanje numeričke vrijednosti iz riječnika objekata.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametri deviceHandle odIndex
Vraća ResultInt

Određuje s kojeg bus uređaja NanoLib čita. Određuje (pod-) indeks za čitanje. Isporučuje neinterpretiranu numeričku vrijednost (može biti potpisana, nepotpisana, fiksne 16.16 bitne vrijednosti).

readNumberArray () Koristite ovu funkciju za čitanje numeričkih nizova iz rečnika objekata.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t indeks)

Parametri deviceHandle index
Vraća ResultArrayInt

Određuje s kojeg bus uređaja NanoLib čita. Indeks objekata niza. Isporučuje cijeli niz.

readBytes () Koristite ovu funkciju za čitanje proizvoljnih bajtova (podataka o objektu domene) iz riječnika objekata.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametri deviceHandle odIndex
Vraća ResultArrayByte

Određuje s kojeg bus uređaja NanoLib čita. Određuje (pod-) indeks za čitanje. Isporučuje niz bajtova.

readString () Koristite ovu funkciju za čitanje nizova iz direktorija objekata.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametri deviceHandle odIndex
Vraća ResultString

Određuje s kojeg bus uređaja NanoLib čita. Određuje (pod-) indeks za čitanje. Isporučuje imena uređaja kao niz.

Verzija: doc 1.4.2 / NanoLib 1.3.0

23

8 Referenca za klase/funkcije

writeNumber () Koristite ovu funkciju za pisanje numeričkih vrijednosti u direktorij objekata.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t vrijednost, const OdIndex odIndex, unsigned int bitLength)

Parametri deviceHandle vrijednost odIndex bitLength
Vraća ResultVoid

Određuje na koji uređaj sabirnice NanoLib piše. Neinterpretirana vrijednost (može biti potpisana, nepotpisana, popravak 16.16). Određuje (pod-) indeks za čitanje. Dužina u bitovima. Potvrđuje da je funkcija void pokrenuta.

writeBytes () Koristite ovu funkciju za pisanje proizvoljnih bajtova (podataka o objektu domene) u direktorij objekata.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & podaci, const OdIndex odIndex)

Parametri deviceHandle data odIndex
Vraća ResultVoid

Određuje na koji uređaj sabirnice NanoLib piše. Bajt vektor / niz. Određuje (pod-) indeks za čitanje. Potvrđuje da je funkcija void pokrenuta.

upload firmware ()
Koristite ovu funkciju za ažuriranje firmvera vašeg kontrolera.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* povratni poziv)

Parametri deviceHandle fwData NlcDataTransferCallback
Vraća ResultVoid

Određuje koji uređaj sabirnice NanoLib ažurira. Niz koji sadrži podatke o firmveru. Traktor napretka podataka. Potvrđuje da je funkcija void pokrenuta.

uploadFirmwareFromFile ()
Koristite ovu funkciju da ažurirate firmver vašeg kontrolera tako što ćete ga učitati file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & apsolutnoFilePutanja, NlcDataTransferCallback* povratni poziv)

Parametri deviceHandle apsolutniFilePutanja NlcDataTransferCallback
Vraća ResultVoid

Određuje koji uređaj sabirnice NanoLib ažurira. Put do file koji sadrži podatke o firmveru (std::string). Traktor napretka podataka. Potvrđuje da je funkcija void pokrenuta.

Verzija: doc 1.4.2 / NanoLib 1.3.0

24

8 Referenca za klase/funkcije

uploadBootloader ()
Koristite ovu funkciju da ažurirate pokretač kontrolera.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* povratni poziv)

Parametri deviceHandle btData NlcDataTransferCallback
Vraća ResultVoid

Određuje koji uređaj sabirnice NanoLib ažurira. Niz koji sadrži podatke pokretača. Traktor napretka podataka. Potvrđuje da je funkcija void pokrenuta.

uploadBootloaderFromFile ()
Koristite ovu funkciju da ažurirate pokretač kontrolera tako što ćete ga učitati file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderApsolutnoFilePutanja, NlcDataTransferCallback* povratni poziv)

Parametri deviceHandle bootloaderAbsoluteFilePutanja NlcDataTransferCallback
Vraća ResultVoid

Određuje koji uređaj sabirnice NanoLib ažurira. Put do file koji sadrži podatke pokretača (std::string). Traktor napretka podataka. Potvrđuje da je funkcija void pokrenuta.

uploadBootloaderFirmware ()
Koristite ovu funkciju za ažuriranje pokretačkog programa kontrolera i firmvera.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* povratni poziv)

Parametri deviceHandle btData fwData NlcDataTransferCallback
Vraća ResultVoid

Određuje koji uređaj sabirnice NanoLib ažurira. Niz koji sadrži podatke pokretača. Niz koji sadrži podatke o firmveru. Traktor napretka podataka. Potvrđuje da je funkcija void pokrenuta.

uploadBootloaderFirmwareFromFile ()
Koristite ovu funkciju za ažuriranje pokretačkog programa kontrolera i firmvera tako što ćete učitati files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderApsolutnoFilePutanja, const std::string & apsolutnoFilePutanja, NlcDataTransferCallback* povratni poziv)

Parametri deviceHandle bootloaderAbsoluteFilePut apsolutniFilePutanja NlcDataTransferCallback
Vraća ResultVoid

Određuje koji uređaj sabirnice NanoLib ažurira. Put do file koji sadrži podatke pokretača (std::string). Put do file koji sadrži podatke o firmveru (uint8_t). Traktor napretka podataka. Potvrđuje da je funkcija void pokrenuta.

Verzija: doc 1.4.2 / NanoLib 1.3.0

25

8 Referenca za klase/funkcije

uploadNanoJ ()
Koristite ovu javnu funkciju za upload-ovanje NanoJ programa na vaš kontroler.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* povratni poziv)

Parametri deviceHandle vmmData NlcDataTransferCallback
Vraća ResultVoid

Određuje na koji se uređaj sabirnice NanoLib učitava. Niz koji sadrži NanoJ podatke. Traktor napretka podataka. Potvrđuje da je funkcija void pokrenuta.

uploadNanoJFromFile ()
Koristite ovu javnu funkciju da otpremite NanoJ program na vaš kontroler tako što ćete učitati file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & apsolutnoFilePutanja, NlcDataTransferCallback* povratni poziv)

Parametri deviceHandle apsolutniFilePutanja NlcDataTransferCallback
Vraća ResultVoid

Određuje na koji se uređaj sabirnice NanoLib učitava. Put do file koji sadrži NanoJ podatke (std::string). Traktor napretka podataka. Potvrđuje da je funkcija void pokrenuta.

disconnectDevice () Koristite ovu funkciju da isključite svoj uređaj pomoću deviceHandlea.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parametri deviceHandle vraća ResultVoid

Određuje s kojim se uređajem sabirnice NanoLib prekida vezu. Potvrđuje da je funkcija void pokrenuta.

removeDevice () Koristite ovu funkciju da uklonite svoj uređaj sa NanoLib-ove interne liste uređaja.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Parametri deviceHandle vraća ResultVoid

Određuje koji uređaj sabirnice NanoLib briše. Potvrđuje da je funkcija void pokrenuta.

closeBusHardware () Koristite ovu funkciju za odvajanje od hardvera sabirnice polja.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parametri busHwId Vraća ResultVoid

Određuje sabirnicu polja za odspajanje. Potvrđuje da je funkcija void pokrenuta.

Verzija: doc 1.4.2 / NanoLib 1.3.0

26

8 Referenca za klase/funkcije

8.2 BusHardwareId
Koristite ovu klasu za identifikaciju hardvera sabirnice jedan-na-jedan ili za razlikovanje različitih hardvera sabirnice jedan od drugog. Ova klasa (bez funkcija za podešavanje koje bi bile nepromjenjive od kreiranja nadalje) također sadrži informacije o:
Hardver (= naziv adaptera, mrežni adapter itd.) Protokol za korištenje (= Modbus TCP, CANopen itd.) Specifikator hardvera magistrale (= naziv serijskog porta, MAC prijateljski naziv
adresa itd.)

BusHardwareId () [1/3] Konstruktor koji kreira novi objekt ID hardvera sabirnice.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parametri busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Tip hardvera (= ZK-USB-CAN-1 itd.). Protokol komunikacije sabirnice (= CANopen itd.). Specifikator hardvera (= COM3 itd.). Dodatni specificator hardvera (recimo, informacije o USB lokaciji). Prijateljsko ime (= AdapterName (Port) itd.).

BusHardwareId () [2/3] Konstruktor koji kreira novi hardverski ID objekat magistrale, sa opcijom za dodatni hardverski specifikator.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier:string const_) & std:

Parametri busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Tip hardvera (= ZK-USB-CAN-1 itd.). Protokol komunikacije sabirnice (= CANopen itd.). Specifikator hardvera (= COM3 itd.). Dodatni specificator hardvera (recimo, informacije o USB lokaciji). Prijateljsko ime (= AdapterName (Port) itd.).

BusHardwareId () [3/3] Konstruktor koji kopira postojeći busHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parametri busHardwareId

Imenuje hardverski ID magistrale za kopiranje.

jednako () Uspoređuje novi hardverski ID sabirnice sa postojećim.
bool nlc::BusHardwareId::jednako (BusHardwareId const i ostalo) const

Parametri other Vraća istinito

Još jedan objekat iste klase. Ako su oba jednaka u svim vrijednostima.

Verzija: doc 1.4.2 / NanoLib 1.3.0

27

8 Referenca za klase/funkcije

false

Ako se vrijednosti razlikuju.

getBusHardware () Čita string hardvera magistrale.
std::string nlc::BusHardwareId::getBusHardware () const

Vraća string

getHardwareSpecifier () Čita string specifikacije hardvera magistrale (= ime mreže itd.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Vraća string

getExtraHardwareSpecifier () Čita string specifikacije dodatnog hardvera sabirnice (= MAC adresa itd.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Vraća string

getName () Čita prijateljsko ime hardvera sabirnice.
std::string nlc::BusHardwareId::getName () const

Vraća string

getProtocol () Čita niz protokola sabirnice.
std::string nlc::BusHardwareId::getProtocol () const

Vraća string

toString () Vraća ID hardvera sabirnice kao string.
std::string nlc::BusHardwareId::toString () const

Vraća string
8.3 BusHardwareOpcije
Pronađite u ovoj klasi, na listi ključ/vrijednost nizova, sve opcije potrebne za otvaranje hardvera magistrale.

Verzija: doc 1.4.2 / NanoLib 1.3.0

28

8 Referenca za klase/funkcije

BusHardwareOptions () [1/2] Konstruira novi objekat hardverske opcije sabirnice.
nlc::BusHardwareOptions::BusHardwareOptions () Koristite funkciju addOption () da dodate parove ključ-vrijednost.

BusHardwareOptions () [2/2] Konstruira novi objekat hardverskih opcija magistrale sa već postavljenom mapom ključ/vrijednost.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const i opcije)

Opcije parametara

Mapa sa opcijama za rad hardvera autobusa.

addOption () Kreira dodatne ključeve i vrijednosti.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Vrijednost ključa parametara

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

equals () Uspoređuje BusHardwareOptions sa postojećim.
bool nlc::BusHardwareOptions::jednako (BusHardwareOptions const i ostalo) const

Parametri other Vraća istinito
false

Još jedan objekat iste klase. Ako drugi objekt ima sve potpuno iste opcije. Ako drugi objekt ima različite ključeve ili vrijednosti.

getOptions () Čita sve dodane parove ključ/vrijednost.
std::map nlc::BusHardwareOptions::getOptions () const

Vraća mapu nizova

toString () Vraća sve ključeve/vrijednosti kao niz.
std::string nlc::BusHardwareId::toString () const

Vraća string
8.4 BusHwOptionsDefault
Ova zadana klasa opcija konfiguracije ima sljedeće javne atribute:

Verzija: doc 1.4.2 / NanoLib 1.3.0

29

8 Referenca za klase/funkcije

const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Struktura koja sadrži baudrate CAN sabirnice u sljedećim javnim atributima:

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” 100k = “100k” 50K_RA 50k” BAUD_RATE_20K = “20k” BAUD_RATE_10K = “10k” BAUD_RATE_5K = “5k”

8.6 CanBus

Zadana klasa opcija konfiguracije sa sljedećim javnim atributima:

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = “brzina prijenosa može adaptera” baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Za NMT uslugu, ova struktura sadrži CANopen NMT stanja kao vrijednosti niza u sljedećim javnim atributima:

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

Ova struktura sadrži CANopen NMT stanja kao vrijednosti niza u sljedećim javnim atributima:

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

STOPPED = “STOPPED” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “OPERATIONAL” INICIJALIZACIJA = “INITIALIZATION” UNKNOWN = “NEPOZNATO”

8.9 EtherCATBus struktura

Ova struktura sadrži opcije konfiguracije EtherCAT komunikacije u sljedećim javnim atributima:

Verzija: doc 1.4.2 / NanoLib 1.3.0

30

8 Referenca za klase/funkcije

const std::string NETWORK_FIRMWARE_STATE_OP- Stanje mreže tretirano kao firmver mod. Prihvatljivo

TION_NAME = “Stanje mrežnog firmvera”

vrijednosti (zadano = 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- Istek u milisekundama za stjecanje ekskluzivnog zaključavanja

TION_NAME = “Istek dijeljenog zaključavanja”

mreže (podrazumevano = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Vremensko ograničenje u milisekundama za preuzimanje dijeljenog zaključavanja na

NAME = “Istek dijeljenog zaključavanja”

mreže (podrazumevano = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = Vremensko ograničenje u milisekundama za operaciju čitanja (podrazumevano

“Vreme za čitanje”

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = Vremensko ograničenje u milisekundama za operaciju pisanja (podrazumevano

“Vreme za pisanje”

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

const std::string READ_WRITE_ATTEMPTS_OPTION_ Maksimalan broj pokušaja čitanja ili pisanja (vrijednosti koje nisu nula

NAME = “Pokušaji čitanja/pisanja”

samo; zadano = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Promijeni pokušaje stanja mreže”

Maksimalan broj pokušaja da se promijeni stanje mreže (samo vrijednosti koje nisu nula; zadano = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME Omogućuje ili onemogućuje PDO obradu za digitalne in- /

= “PDO IO omogućen”

izlazi (samo „Tačno” ili „Netačno”; podrazumevano = „Tačno”).

const std::string DEFAULT_PDO_IO_ENABLED = “Tačno”

8.10 Struktura EtherCATState

Ova struktura sadrži EtherCAT slave/mrežna stanja kao vrijednosti niza u sljedećim javnim atributima. Napomena: Zadano stanje pri uključivanju je PRE_OPERATIONAL; NanoLib ne može pružiti pouzdano "OPERATIONAL" stanje u operativnom sistemu koji nije u realnom vremenu:

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

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

Verzija: doc 1.4.2 / NanoLib 1.3.0

31

8 Referenca za klase/funkcije

8.11 Ixxat

Ova struktura sadrži sve informacije za Ixxat usb-to-can u sljedećim javnim atributima:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “ixxat broj sabirnice adaptera”

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Ova struktura sadrži broj sabirnice za Ixxat usb-to-can u sljedećim javnim atributima:

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”

Vrhunac 8.13. godine

Ova struktura sadrži sve informacije za Peak usb-to-can u sljedećim javnim atributima:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “vršni broj adapterske sabirnice”

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Ova struktura sadrži broj sabirnice za Peak usb-to-can u sljedećim javnim atributima:

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) std::to_string (PCAN_USBBUS5) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS8:) =USstring_NUMBER: BUSstd_NUMBER: BUS_NUMBER_8 = std::to_string (PCAN_USBBUS9) BUS_NUMBER_9 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_11 = std::AN_US12_string = std::AN_US12 std::to_string (PCAN_USBBUS13) BUS_NUMBER_13 = std::to_string (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15)

8.15 DeviceHandle
Ova klasa predstavlja ručku za kontrolu uređaja na sabirnici i ima sljedeće javne funkcije člana.

DeviceHandle () DeviceHandle (uint32_t ručka)

Verzija: doc 1.4.2 / NanoLib 1.3.0

32

8 Referenca za klase/funkcije

jednako () Uspoređuje se sa datim ručkom uređaja.
bool jednako (DeviceHandle const other) const (uint32_t handle)

toString () Vraća string prikaz ručice uređaja.
std::string toString () const

get () Vraća ručku uređaja.
uint32_t get () const

8.16 DeviceId
Koristite ovu klasu (nije nepromjenjiva od kreiranja na) za identifikaciju i razlikovanje uređaja na sabirnici:

Identifikator hardverskog adaptera

Identifikator uređaja

Opis

Značenje vrijednosti ID-a uređaja / opisa ovisi o magistrali. Za nprampda, CAN sabirnica može koristiti cijeli broj ID.

DeviceId () [1/3] Konstruira novi ID objekt uređaja.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

Parametri busHardwareId_ deviceId_ description_

Identifikator sabirnice. Indeks; predmet sabirnice (= ID CANopen čvora itd.). Opis (može biti prazan); predmet autobusa.

DeviceId () [2/3] Konstruiše novi ID objekat uređaja sa proširenim ID opcijama.
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 sabirnice. Indeks; predmet sabirnice (= ID CANopen čvora itd.). Opis (može biti prazan); predmet autobusa. Dodatni ID (može biti prazan); znacenje zavisi od autobusa. ID dodatnog niza (može biti prazan); znacenje zavisi od autobusa.

DeviceId () [3/3] Izrađuje kopiju ID objekta uređaja.
nlc::DeviceId::DeviceId (DeviceId const &)

Verzija: doc 1.4.2 / NanoLib 1.3.0

33

8 Referenca za klase/funkcije

Parametri deviceId_

ID uređaja za kopiranje.

jednako () Uspoređuje nove sa postojećim objektima.
bool nlc::DeviceId::jednako (DeviceId const i ostalo) const

Vraća boolean

getBusHardwareId () Čita ID hardvera magistrale.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Vraća BusHardwareId

getDescription () Čita opis uređaja (možda neiskorišten).
std::string nlc::DeviceId::getDescription () const

Vraća string

getDeviceId () Čita ID uređaja (možda neiskorišten).
unsigned int nlc::DeviceId::getDeviceId () const

Vraća unsigned int

toString () Vraća objekat kao string.
std::string nlc::DeviceId::toString () const

Vraća string

getExtraId () Čita dodatni ID uređaja (možda se ne koristi).
const std::vector &getExtraId () const

Vraća vektor

Vektor dodatnih dodatnih ID-ova (može biti prazan); znacenje zavisi od autobusa.

getExtraStringId () Čita dodatni ID stringa uređaja (možda se ne koristi).
std::string getExtraStringId () const

Verzija: doc 1.4.2 / NanoLib 1.3.0

34

8 Referenca za klase/funkcije

Vraća string

ID dodatnog niza (može biti prazan); znacenje zavisi od autobusa.

8.17 LogLevelConverter

Ova klasa vraća vaš nivo dnevnika kao string. statički std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Ova klasa vraća vašu biblioteku specifičnu log modulesetLoggingLevel () kao string.

statički std::string

toString (nlc::LogModule logModule)

statički std::string toString (nlc::LogModule logModule)

8.19 Object Dictionary
Ova klasa predstavlja rečnik objekata kontrolera i ima sljedeće javne funkcije člana: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Vraća ResultDeviceHandle

getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Vraća ResultObjectSubEntry

getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t indeks)

Vraća ResultObjectEntry

Obavještava o svojstvima objekta.

getXmlFileIme () virtuelni ResultString getXmlFileNaziv () konst

Vraća ResultString

Vraća XML file ime kao string.

readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Vraća ResultInt
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const indeks)

Verzija: doc 1.4.2 / NanoLib 1.3.0

35

8 Referenca za klase/funkcije
Vraća ResultArrayInt readString ()
virtuelni ResultString readString (OdIndex const odIndex) Vraća ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Vraća ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, vrijednost Restur B_ const V) (Rezultat Return. virtualni ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Vraća ResultVoid Srodne veze OdIndex
8.20 Unos objekta
Ova klasa predstavlja unos objekta u rječnik objekata, ima sljedeće statički zaštićene atribute i javne funkcije člana:
static nlc::ObjectSubEntry invalidObject
getName () Čita ime objekta kao string.
virtual std::string getName () const
getPrivate () Provjerava da li je objekt privatan.
virtual bool getPrivate () const
getIndex () Čita adresu indeksa objekta.
virtual uint16_t getIndex () const

Verzija: doc 1.4.2 / NanoLib 1.3.0

36

8 Referenca za klase/funkcije

getDataType () Čita tip podataka objekta.
virtual nlc::ObjectEntryDataType getDataType () const

getObjectCode () Čita objektni kod:

Null Deftype Defstruct Var niz zapis

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

virtual nlc::ObjectCode getObjectCode () const

getObjectSaveable () Provjerava da li se objekt može spremiti i njegova kategorija (pogledajte priručnik proizvoda za više detalja): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKAVEBLETY_PE
virtual nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Čita broj podindeksa koje podržava ovaj objekat.
virtual uint8_t getMaxSubIndex () const

getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Vidi također ObjectSubEntry.
8.21 ObjectSubEntry
Ova klasa predstavlja objektni pod-unos (podindeks) rečnika objekata i ima sledeće javne funkcije člana:
getName () Čita ime objekta kao string.
virtual std::string getName () const

getSubIndex () Čita adresu podindeksa.
virtual uint8_t getSubIndex () const

Verzija: doc 1.4.2 / NanoLib 1.3.0

37

8 Referenca za klase/funkcije

getDataType () Čita tip podataka objekta.
virtual nlc::ObjectEntryDataType getDataType () const

getSdoAccess () Provjerava da li je podindeks dostupan preko SDO-a:

ReadOnly

1

WriteOnly

2

ReadWrite

3

Zabranjen pristup

0

virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Provjerava da li je podindeks dostupan/mapljiv putem PDO-a:

Tx

1

Rx

2

TxRx

3

br

0

virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Provjerava dužinu podindeksa.
virtual uint32_t getBitLength () const

getDefaultValueAsNumeric () Čita zadanu vrijednost podindeksa za numeričke tipove podataka.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Čita zadanu vrijednost podindeksa za tipove podataka niza.
virtual ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Čita zadane vrijednosti podindeksa.
virtualni std::map getDefaultValues ​​() const

Verzija: doc 1.4.2 / NanoLib 1.3.0

38

8 Referenca za klase/funkcije

readNumber () Čita brojčanu stvarnu vrijednost podindeksa.
virtual ResultInt readNumber () konst

readString () Čita stvarnu vrijednost niza podindeksa.
virtual ResultString readString () const

readBytes () Čita stvarnu vrijednost podindeksa u bajtovima.
virtual ResultArrayByte readBytes () konst

writeNumber () Upisuje numeričku vrijednost u podindeks.
virtualni ResultVoid writeNumber (const int64_t vrijednost) const

writeBytes () Zapisuje vrijednost u podindeks u bajtovima.
virtualni ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Koristite ovu klasu (nepromjenjivu od kreiranja) da omotate i locirate indekse / podindekse direktorija objekata. OD uređaja ima do 65535 (0xFFFF) redova i 255 (0xFF) stupaca; sa prazninama između diskontinuiranih redova. Pogledajte standard CANopen i priručnik za vaš proizvod za više detalja.
OdIndex () Konstruira novi OdIndex objekt.
nlc::OdIndex::OdIndex (indeks uint16_t, podindeks uint8_t)

Podindeks indeksa parametara

Od 0 do 65535 (0xFFFF) uklj. Od 0 do 255 (0xFF) uklj.

getIndex () Čita indeks (od 0x0000 do 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Vraća uint16_t

getSubindex () Čita podindeks (od 0x00 do 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Verzija: doc 1.4.2 / NanoLib 1.3.0

39

8 Referenca za klase/funkcije

Vraća uint8_t

toString () Vraća indeks i podindeks kao string. Zadani niz 0xIIII:0xSS glasi kako slijedi:

I = indeks od 0x0000 do 0xFFFF

S = podindeks od 0x00 do 0xFF

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

Vraća 0xIIII:0xSS

Default string reprezentacija

8.23 OdLibrary
Koristite ovo programsko sučelje da kreirate instance klase ObjectDictionary iz XML-a. Pomoću assignObjectDictionary, onda možete povezati svaku instancu za određeni uređaj zbog jedinstveno kreiranog identifikatora. Tako kreirane instance ObjectDictionary pohranjuju se u objekt OdLibrary kojem se pristupa preko indeksa. Klasa ODLibrary učitava stavke ObjectDictionary file ili niz, pohranjuje ih i ima sljedeće javne funkcije člana:

getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Vraća ResultObjectDictionary

addObjectDictionaryFromFile ()
virtualni ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileput)

Vraća ResultObjectDictionary

addObjectDictionary ()
virtualni ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFilePutanja = std::string ())

Vraća ResultObjectDictionary
8.24 OdTypesHelper
Pored sljedećih javnih funkcija člana, ova klasa sadrži prilagođene tipove podataka. Napomena: Da biste provjerili svoje prilagođene tipove podataka, potražite enum klasu ObjectEntryDataType u od_types.hpp.

uintToObjectCode () Pretvara nepotpisane cijele brojeve u objektni kod:

Null Deftype

0x00 0x05

Verzija: doc 1.4.2 / NanoLib 1.3.0

40

8 Referenca za klase/funkcije

Defstruct Var Array Record

0x06 0x07 0x08 0x09

statički ObjectCode uintToObjectCode (nepotpisani int objectCode)

isNumericDataType () Obavještava da li je tip podataka numerički ili ne.
static bool isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Obavještava da li je objekt indeks strukture definicije ili ne.
statički bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Obavještava da li je objekt indeks tipa definicije ili ne.
statički bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Obavještava da li je tip podataka složen ili nije.
static bool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Pretvara nepotpisane cijele brojeve u OD tip podataka.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Pretvara OD tip podataka u niz.
statički std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Pretvara string u OD tip podataka ako je moguće. U suprotnom, vraća UNKNOWN_DATATYPE.
statički ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Verzija: doc 1.4.2 / NanoLib 1.3.0

41

8 Referenca za klase/funkcije

objectEntryDataTypeBitLength () Obavještava o dužini bita tipa podataka unosa objekta.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RESTfulBus struktura

Ova struktura sadrži opcije konfiguracije komunikacije za RESTful interfejs (preko Etherneta). Sadrži sljedeće javne atribute:

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

CONNECT_TIMEOUT_OPTION_NAME = “Istek potpunog odmora za povezivanje” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Istek vremena za RESTful zahtijev” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “Vreme čekanja za REQUEST_TIMEOUT_750” = “RESTful Response Timeout”

8.26 ProfinetDCP
Pod Linuxom, aplikaciji koja poziva potrebna su CAP_NET_ADMIN i CAP_NET_RAW mogućnosti. Da biste omogućili: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. U Windows-u, ProfinetDCP interfejs koristi WinPcap (testiran sa verzijom 4.1.3) ili Npcap (testiran sa verzijama 1.60 i 1.30). Stoga pretražuje dinamički učitanu biblioteku wpcap.dll sljedećim redoslijedom (Napomena: nema trenutne podrške za Win10Pcap):
1. Direktorij Nanolib.dll 2. Sistemski direktorij Windows SystemRoot%System32 3. Npcap instalacijski direktorij SystemRoot%System32Npcap 4. Putanja okruženja
Ova klasa predstavlja Profinet DCP sučelje i ima sljedeće javne funkcije člana:

getScanTimeout () Obavještava o vremenskom ograničenju skeniranja uređaja (podrazumevano = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Postavlja vremensko ograničenje skeniranja uređaja (podrazumevano = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Obavještava o vremenskom ograničenju odgovora uređaja za operacije podešavanja, resetovanja i treptanja (podrazumevano = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Obavještava o vremenskom ograničenju odgovora uređaja za operacije podešavanja, resetovanja i treptanja (podrazumevano = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Verzija: doc 1.4.2 / NanoLib 1.3.0

42

8 Referenca za klase/funkcije

isServiceAvailable ()
Koristite ovu funkciju da provjerite dostupnost Profinet DCP usluge.
Valjanost / dostupnost mrežnog adaptera Windows: WinPcap / Npcap dostupnost Linux: CAP_NET_ADMIN / CAP_NET_RAW mogućnosti
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Parametri BusHardwareId Vraća true
false

ID hardvera Profinet DCP usluge za provjeru. Usluga je dostupna. Usluga je nedostupna.

scanProfinetDevices () Koristite ovu funkciju za skeniranje hardverske magistrale za prisustvo Profinet uređaja.
virtual ResultProfinetDevices scanProfinetDevices (konst. BusHardwareId & busHardwareId)

Parametri BusHardwareId vraća ResultProfinetDevices

Određuje svaku sabirnicu polja za otvaranje. Hardver je otvoren.

setupProfinetDevice () Uspostavlja sljedeće postavke uređaja:

Naziv uređaja

IP adresa

Mrežna maska

Default gateway

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

resetProfinetDevice () Zaustavlja uređaj i vraća ga na tvorničke postavke.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Naređuje Profinet uređaju da počne da treperi svojim Profinet LED.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Koristite ovu funkciju da provjerite IP adresu uređaja.
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

Parametri BusHardwareId ProfinetDevice

Određuje ID hardvera za provjeru. Određuje Profinet uređaj za provjeru valjanosti.

Verzija: doc 1.4.2 / NanoLib 1.3.0

43

8 Referenca za klase/funkcije

Vraća ResultVoid

8.27 ProfinetDevice struct

Podaci Profinet uređaja imaju sljedeće javne atribute:

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

MAC adresa je data kao niz u formatu macAddress = {xx, xx, xx, xx, xx, xx}; dok se IP adresa, mrežna maska ​​i gateway tumače kao heksadecimalni brojevi s velikim endianom, kao što su:

IP adresa: 192.168.0.2 Mrežna maska: 255.255.0.0 Gateway: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Klase rezultata

Koristite “opcione” povratne vrijednosti ovih klasa da provjerite da li je poziv funkcije bio uspješan ili ne, i također locirajte razloge neuspjeha. U slučaju uspjeha, funkcija hasError () vraća false. Pomoću getResult (), možete pročitati vrijednost rezultata prema tipu (ResultInt itd.). Ako poziv ne uspije, pročitat ćete razlog pomoću getError ().

Zaštićeni atributi

string NlcErrorCode uint32_t

errorString errorCode exErrorCode

Također, ova klasa ima sljedeće javne funkcije člana:

hasError () Čita uspjeh poziva funkcije.
bool nlc::Rezultat::hasError () const

Povratak

true false

Neuspjeli poziv. Koristite getError () da pročitate vrijednost. Uspešan poziv. Koristite getResult () da pročitate vrijednost.

getError () Čita razlog ako poziv funkcije ne uspije.
const std::string nlc::Result::getError () const

Vraća const string

Verzija: doc 1.4.2 / NanoLib 1.3.0

44

8 Referenca za klase/funkcije
result () Sljedeće funkcije pomažu u definiranju točnih rezultata:
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 (Rezultat konst & rezultat)
getErrorCode () Pročitajte NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 ResultVoid
NanoLib vam šalje instancu ove klase ako funkcija vrati void. Klasa nasljeđuje javne funkcije i zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
ResultVoid () Sljedeće funkcije pomažu u definiranju tačnog 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 (Rezultat const & result)
8.28.2 ResultInt
NanoLib vam šalje instancu ove klase ako funkcija vraća cijeli broj. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Vraća cjelobrojni rezultat ako je poziv funkcije bio uspješan.
int64_t getResult () const
Vraća int64_t

Verzija: doc 1.4.2 / NanoLib 1.3.0

45

8 Referenca za klase/funkcije
ResultInt () Sljedeće funkcije pomažu u definiranju tačnog cjelobrojnog rezultata:
ResultInt (int64_t result_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (konst rezultata i rezultat)
8.28.3 ResultString
NanoLib vam šalje instancu ove klase ako funkcija vraća string. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita rezultat niza ako je poziv funkcije bio uspješan.
const std::string nlc::ResultString::getResult () const
Vraća const string
ResultString () Sljedeće funkcije pomažu u definiranju točnog 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 (konst rezultata i rezultat)
8.28.4 ResultArrayByte
NanoLib vam šalje instancu ove klase ako funkcija vraća niz bajtova. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita bajt vektor ako je poziv funkcije bio uspješan.
const std::vector nlc::ResultArrayByte::getResult () const
Vraća konstantni vektor

Verzija: doc 1.4.2 / NanoLib 1.3.0

46

8 Referenca za klase/funkcije
ResultArrayByte () Sljedeće funkcije pomažu u definiranju točnog rezultata niza bajtova:
ResultArrayByte (std::vector const & result_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (konst rezultata i rezultat)
8.28.5 ResultArrayInt
NanoLib vam šalje instancu ove klase ako funkcija vraća niz cijelih brojeva. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita cjelobrojni vektor ako je poziv funkcije bio uspješan.
const std::vector nlc::ResultArrayInt::getResult () const
Vraća konstantni vektor
ResultArrayInt () Sljedeće funkcije pomažu u definiranju točnog rezultata niza cijelih brojeva:
ResultArrayInt (std::vector const & result_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (konst rezultata i rezultat)
8.28.6 ResultBusHwIds
NanoLib vam šalje instancu ove klase ako funkcija vraća niz hardverskih ID-ova sabirnice. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita vektor bus-hardware-ID ako je poziv funkcije bio uspješan.
const std::vector nlc::ResultBusHwIds::getResult () const
Parametri const vektor

Verzija: doc 1.4.2 / NanoLib 1.3.0

47

8 Referenca za klase/funkcije
ResultBusHwIds () Sljedeće funkcije pomažu u definiranju tačnog rezultata niza bus-hardware-ID-a:
ResultBusHwIds (std::vector const & result_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (Rezultat const & rezultat)
8.28.7 ResultDeviceId
NanoLib vam šalje instancu ove klase ako funkcija vraća ID uređaja. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita vektor ID-a uređaja ako je poziv funkcije bio uspješan.
DeviceId nlc::ResultDeviceId::getResult () const
Vraća konst vektor
ResultDeviceId () Sljedeće funkcije pomažu u definiranju točnog rezultata ID-a uređaja:
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 (konst rezultata i rezultat)
8.28.8 ResultDeviceIds
NanoLib vam šalje instancu ove klase ako funkcija vraća niz ID uređaja. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Vraća vektor ID-a uređaja ako je poziv funkcije bio uspješan.
DeviceId nlc::ResultDeviceIds::getResult () const
Vraća konst vektor

Verzija: doc 1.4.2 / NanoLib 1.3.0

48

8 Referenca za klase/funkcije
ResultDeviceIds () Sljedeće funkcije pomažu u definiranju tačnog rezultata niza ID uređaja:
ResultDeviceIds (std::vector const & result_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (konst rezultata i rezultat)
8.28.9 ResultDeviceHandle
NanoLib vam šalje instancu ove klase ako funkcija vraća vrijednost ručke uređaja. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita ručku uređaja ako je poziv funkcije bio uspješan.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Vraća DeviceHandle
ResultDeviceHandle () Sljedeće funkcije pomažu u definiranju točnog rezultata obrade uređaja:
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 (Rezultat const & rezultat)
8.28.10 ResultObjectDictionary
NanoLib vam šalje instancu ove klase ako funkcija vraća sadržaj rečnika objekata. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita vektor ID-a uređaja ako je poziv funkcije bio uspješan.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Verzija: doc 1.4.2 / NanoLib 1.3.0

49

8 Referenca za klase/funkcije

Povratak

const vektor

ResultObjectDictionary () Sljedeće funkcije pomažu u definiranju točnog rezultata rječnika objekata:
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 & result)

8.28.11 ResultConnectionState
NanoLib vam šalje instancu ove klase ako funkcija vraća informacije o stanju konekcije uređaja. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita ručku uređaja ako je poziv funkcije bio uspješan.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Vraća DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader

ResultConnectionState () Sljedeće funkcije pomažu u definiranju točnog rezultata stanja veze:
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 (Rezultat const & rezultat)

8.28.12 ResultObjectEntry
NanoLib vam šalje instancu ove klase ako funkcija vraća unos objekta. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:

Verzija: doc 1.4.2 / NanoLib 1.3.0

50

8 Referenca za klase/funkcije
getResult () Vraća vektor ID-a uređaja ako je poziv funkcije bio uspješan.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Vraća const ObjectEntry
ResultObjectEntry () Sljedeće funkcije pomažu u definiranju točnog rezultata unosa 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 & result)
8.28.13 ResultObjectSubEntry
NanoLib vam šalje instancu ove klase ako funkcija vraća pod-unos objekta. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Vraća vektor ID-a uređaja ako je poziv funkcije bio uspješan.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Vraća const ObjectSubEntry
ResultObjectSubEntry () Sljedeće funkcije pomažu u definiranju točnog rezultata podunosa 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 (Rezultat const & result)
8.28.14 ResultProfinetDevices
NanoLib vam šalje instancu ove klase ako funkcija vraća Profinet uređaj. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:

Verzija: doc 1.4.2 / NanoLib 1.3.0

51

8 Referenca za klase/funkcije

getResult () Čita vektor Profinet uređaja ako je poziv funkcije bio uspješan.
const std::vector & getResult () const

ResultProfinetDevices () Sljedeće funkcije pomažu u definiranju tačnih Profinet uređaja.
ResultProfinetDevices (const std::vector & profinetDevices)
ResultProfinetDevices (konst. Rezultat i rezultat)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 REZULTATIampleDataArray
NanoLib vam šalje instancu ove klase ako funkcija vraća kaoample data array. Klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:
getResult () Čita niz podataka ako je poziv funkcije bio uspješan.
const std::vector <SampleData> & getResult () const

REZULTATIampleDataArray () Sljedeće funkcije pomažu u definiranju tačnih Profinet uređaja.
REZULTATIampleDataArray (const std::vector <SampleData> & dataArray)

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

REZULTATIampleDataArray (const ResultSampleDataArray i ostalo)

REZULTATIampleDataArray (const Rezultat i rezultat)

8.28.16 REZULTATIamplerState
NanoLib vam šalje instancu ove klase ako funkcija vraća kaoampler state.Ova klasa nasljeđuje javne funkcije/zaštićene atribute od klase rezultata i ima sljedeće javne funkcije člana:

getResult () Čita sampler vektor stanja ako je poziv funkcije bio uspješan.
SamplerState getResult () const

Vraća SamplerState>

Nekonfigurirano / Konfigurirano / Spremno / Pokrenuto / Završeno / Neuspjelo / Otkazano

Verzija: doc 1.4.2 / NanoLib 1.3.0

52

8 Referenca za klase/funkcije

REZULTATIamplerState () Sljedeće funkcije pomažu u definiranju točnog sampler state.
REZULTATIamplerState (konst. SamplerState stanje)

REZULTATIamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
prošireniErrorCode = 0)

REZULTATIamplerState (const ResultSamplerState i ostalo)

REZULTATIamplerState (const Rezultat i rezultat)

8.29 NlcErrorCode

Ako nešto krene po zlu, klase rezultata prijavljuju jedan od kodova grešaka navedenih u ovoj enumeraciji.

Kod greške Uspjeh GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch Operation Aborted OperationNotSupported InvalidOperation
InvalidArguments AccessDenied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError

C: Kategorija D: Opis R: Razlog C: Nema. D: Nema greške. R: Operacija je uspješno završena.
C: Neodređeno. D: Nespecificirana greška. R: Neuspjeh koji ne odgovara nijednoj drugoj kategoriji.
C: Autobus. D: Hardverska magistrala nije dostupna. R: Sabirnica ne postoji, isključena ili neispravna.
C: Komunikacija. D: Komunikacija nepouzdana. R: Neočekivani podaci, pogrešan CRC, greške okvira ili pariteta, itd.
C: Protokol. D: Greška u protokolu. R: Odgovor nakon opcije nepodržanog protokola, uređaj izvještava o nepodržanom protokolu, grešku u protokolu (recimo, bit sinhronizacije segmenta SDO), itd. R: Odgovor ili izvještaj uređaja na nepodržani protokol (opcije) ili na greške u protokolu (recimo, SDO bit sinhronizacije segmenta), itd. R: Nepodržani protokol (opcije) ili greška u protokolu (recimo, SDO bit sinhronizacije segmenta) itd.
C: Rečnik objekata. D: OD adresa ne postoji. R: Nema takve adrese u riječniku objekata.
C: Rečnik objekata. D: Pristup OD adresi je nevažeći. R: Pokušaj pisanja adrese samo za čitanje ili čitanja sa adrese samo za pisanje.
C: Rečnik objekata. D: Nepodudaranje tipa. R: Vrijednost nekonvertirana u određeni tip, recimo, u pokušaju da se string tretira kao broj.
C: Aplikacija. D: Proces prekinut. R: Proces seče prema zahtjevu aplikacije. Vraća samo na prekid operacije pomoću funkcije povratnog poziva, recimo, iz skeniranja sabirnice.
C: Zajedničko. D: Proces nije podržan. R: Nema podrške za hardversku magistralu/uređaj.
C: Zajedničko. D: Proces je netočan u trenutnom kontekstu ili nevažeći sa trenutnim argumentom. R: Pokušaj ponovnog povezivanja na već povezane magistrale/uređaje. Pokušaj prekida veze sa već prekinutim. Pokušaj rada bootloadera u načinu rada firmvera ili obrnuto.
C: Zajedničko. D: Argument nevažeći. R: Pogrešna logika ili sintaksa.
C: Zajedničko. D: Pristup je odbijen. R: Nedostatak prava ili mogućnosti za obavljanje tražene operacije.
C: Zajedničko. D: Navedena stavka nije pronađena. R: Hardverska magistrala, protokol, uređaj, OD adresa na uređaju ili file nije pronađeno.
C: Zajedničko. D: Navedena stavka nije pronađena. R: zauzet, nepostojeći, isključen ili neispravan.
C: Zajedničko. D: Nedovoljno memorije. R: Premalo memorije za obradu ove naredbe.
C: Zajedničko. D: Proces je istekao. R: Vratite se nakon isteka vremena. Timeout može biti vrijeme odgovora uređaja, vrijeme za dobivanje zajedničkog ili ekskluzivnog pristupa resursu ili vrijeme za prebacivanje magistrale/uređaja u odgovarajuće stanje.

Verzija: doc 1.4.2 / NanoLib 1.3.0

53

8 Referenca za klase/funkcije

8.30 NlcCallback
Ova roditeljska klasa za povratne pozive ima sljedeću javnu funkciju člana: povratni poziv ()
virtualni rezultatVoid povratni poziv ()

Povratak

ResultVoid

8.31 NlcDataTransferCallback
Koristite ovu klasu povratnog poziva za prijenos podataka (ažuriranje firmvera, NanoJ upload itd.). 1. Za upload firmvera: Definirajte "ko-klasu" proširujući ovu s prilagođenom metodom povratnog poziva
implementacija. 2. Koristite instance “co-class” u pozivima NanoLibAccessor.uploadFirmware (). Sama glavna klasa ima sljedeću javnu funkciju člana:

povratni poziv () virtualni ResultVoid povratni poziv (nlc::DataTransferInfo info, int32_t podaci)

Povratak

ResultVoid

8.32 NlcScanBusCallback
Koristite ovu klasu povratnog poziva za skeniranje sabirnice. 1. Definirajte “ko-klasu” proširujući ovu s prilagođenom implementacijom metode povratnog poziva. 2. Koristite instance “co-class” u pozivima NanoLibAccessor.scanDevices (). Sama glavna klasa ima sljedeću javnu funkciju člana.

povratni poziv ()
virtualni ResultVoid povratni poziv (nlc::BusScanInfo info, std::vector const & devicesFound, int32_t podaci)

Vraća ResultVoid
8.33 NlcLoggingCallback
Koristite ovu klasu povratnog poziva za evidentiranje povratnih poziva. 1. Definirajte klasu koja proširuje ovu klasu sa implementacijom prilagođene metode povratnog poziva 2. Koristite pokazivač na njene instance kako biste postavili povratni poziv od strane NanoLibAccessor >
setLoggingCallback (…).
virtualni void povratni poziv (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
Koristite ovu klasu za konfiguriranje, pokretanje i zaustavljanje sampler, ili dobiti sampvodi podatke i dohvati kaoamplerov status ili posljednja greška. Klasa ima sljedeće javne funkcije člana.

Verzija: doc 1.4.2 / NanoLib 1.3.0

54

8 Referenca za klase/funkcije

configure () Konfigurira kaoampler.
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Parametri [in] deviceHandle [in] samplerConfiguration
Vraća ResultVoid

Određuje koji uređaj treba konfigurirati sampler for. Određuje vrijednosti konfiguracijskih atributa. Potvrđuje da je funkcija void pokrenuta.

getData () Dobiva sampled podaci.
virtuelni rezultatiampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parametri [in] deviceHandle vraća ResultSampleDataArray

Određuje za koji uređaj treba dobiti podatke.
Isporučuje sampled podaci, koji mogu biti prazan niz ako samplerNotify je aktivan na početku.

getLastError () Dobiva kaoamplerova posljednja greška.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Vraća ResultVoid

Potvrđuje da je funkcija void pokrenuta.

getState () Dobiva kaoamplerov status.
virtuelni rezultatiamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Vraća ResultSamplerState

Isporučuje sampler state.

start () Počinje kaoampler.
virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)

Parametri [in] deviceHandle [in] SamplerNotify [in] applicationData
Vraća ResultVoid

Određuje koji uređaj treba pokrenuti sampler for.
Određuje koje neobavezne informacije treba prijaviti (može biti nullptr).
Opcija: prosljeđuje podatke koji se odnose na aplikaciju (korisnički definirani 8-bitni niz vrijednosti / ID uređaja / indeks ili datum i vrijeme, pokazivač varijable / funkcije itd.) na samplerNotify.
Potvrđuje da je funkcija void pokrenuta.

Verzija: doc 1.4.2 / NanoLib 1.3.0

55

8 Referenca za klase/funkcije

stop () Zaustavlja kaoampler.
virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Parametri [in] deviceHandle vraća ResultVoid

Određuje koji uređaj treba zaustaviti sampler for. Potvrđuje da je funkcija void pokrenuta.

8.35 SamplerConfiguration struct

Ova struktura sadrži podatke samplerove konfiguracijske opcije (statične ili ne).

Javni atributi

std::vector trackedAddresses

Do 12 OD adresa koje treba da budu sampLED.

uint32_t

verzija

Verzija strukture.

uint32_t

durationMilisekunde

Samptrajanje linga u ms, od 1 do 65535

uint16_t

periodMilisekunde

Sampvremenski period u ms.

uint16_t

numberOfSamples

Samples iznos.

uint16_t

preTriggerNumberOfSamples

Sampmanje iznos pre-okidača.

bool

usingSoftwareImplementation

Koristite implementaciju softvera.

bool

koristećiNewFWSamplerImplementation Koristite FW implementaciju za uređaje s a

FW verzija v24xx ili novija.

SamplerMode

način rada

Normalno, ponavljajuće ili kontinuirano sampling.

SamplerTriggerCondition triggerCondition

Početni uslovi okidanja: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 GREAT = 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_ Trigger, Odeljak TC_MULTI_x0

SamplerTrigger

SamplerTrigger

Okidač za početak kaoampler?

Statički javni atributi
statički constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Koristite ovu klasu da aktivirate sampler obavještenja kada pokrenete kaoampler. Klasa ima sljedeću javnu funkciju člana.

Verzija: doc 1.4.2 / NanoLib 1.3.0

56

8 Referenca za klase/funkcije

obavijestiti ()
Isporučuje unos obavještenja.
virtual void nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Parametri [in] lastError [in] samplerState
[u] sampleDatas [u] applicationData

Izvještava o zadnjoj grešci koja se dogodila dok sampling. Izvještava sampstatus u trenutku obavještenja: Nekonfigurirano / Konfigurirano / Spremno / U tijeku / Završeno / Neuspješno / Otkazano. Izvještava sampled-data niz. Izvještava o podacima specifičnim za aplikaciju.

8.37 SampleData struct

Ova struktura sadrži sampled podaci.

uin64_t broj iteracije

Počinje od 0 i povećava se samo u režimu ponavljanja.

std::vector<SampledValues> Sadrži niz sampled vrijednosti.

8.38 SampledValue struct

Ova struktura sadrži sampled vrijednosti.

in64_t vrijednost uin64_t CollectTimeMsec

Sadrži vrijednost praćene OD adrese.
Sadrži vrijeme prikupljanja u milisekundama, u odnosu na sample početak.

8.39 SamplerTrigger struct

Ova struktura sadrži postavke okidača za sampler.

SamplerTriggerCondition uvjet
OdIndex uin32_t vrijednost

Uslov okidača: 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_0 TC_VEĆI_ILI_JEDAN = 15x0 TC_LESS = 16x0 TC_LESS_ILI_JEDAN = 17x0 TC_JEDAN = 18x0 TC_NOT_JEDAN = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_
OdIndex (adresa) okidača.
Vrijednost uvjeta ili broj bita (počevši od bita nula).

8.40 Serijska struktura

Ovdje pronađite svoje opcije serijske komunikacije i sljedeće javne atribute:

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = “brzina serijskog prijenosa” baudRate = Struktura brzine prijenosa serijskog prijenosa

Verzija: doc 1.4.2 / NanoLib 1.3.0

57

8 Referenca za klase/funkcije

const std::string const SerialParity

PARITY_OPTIONS_NAME = “serijski paritet” paritet = serijski paritet struktura

8.41 Struktura SerialBaudRate

Ovdje pronađite svoju brzinu prijenosa serijske komunikacije i sljedeće 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 “BAUD_RATE56000” 57600 57600 = “115200” BAUD_RATE_115200 = “128000” BAUD_RATE_128000 = “256000” BAUD_RATE_256000 = “XNUMX”

8.42 SerialParity struktura

Ovdje pronađite svoje opcije serijskog pariteta i sljedeće javne atribute:

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

NONE = “nema” ODD = “neparan” EVEN = “par” MARK = “mark” SPACE = “razmak”

Verzija: doc 1.4.2 / NanoLib 1.3.0

58

9 Licence

9 Licence

Zaglavlja NanoLib API interfejsa i nprampizvorni kod je licenciran od strane Nanotec Electronic GmbH & Co. KG pod Creative Commons Attribution 3.0 Unported License (CC BY). Delovi biblioteke obezbeđeni u binarnom formatu (komunikacione biblioteke jezgre i sabirnice polja) licencirani su pod međunarodnom licencom Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).

Creative Commons
Sljedeći ljudski čitljiv sažetak neće zamijeniti samu licencu(e). Odgovarajuću licencu možete pronaći na creativecommons.org i na linku ispod. Slobodni ste da:

CC BY 3.0
Podijeli: Vidi desno. Prilagodite: Remiksujte, transformišite i nadograđujete
materijal za bilo koju namjenu, čak i komercijalnu.

CC BY-ND 4.0
Podijelite: Kopirajte i redistribuirajte materijal u bilo kojem mediju ili formatu.

Davalac licence ne može opozvati gore navedene slobode sve dok se pridržavate sljedećih uslova licence:

CC BY 3.0

CC BY-ND 4.0

Atribucija: Morate dati odgovarajuće priznanje, Atribucija: Vidi lijevo. Ali: dajte link za ovo

navedite vezu do licence i navedite da li

druga licenca.

izvršene su promjene. To možete učiniti u bilo kojoj

Bez izvedenica: ako remiksujete, transformišete ili gradite

razuman način, ali ni na koji način koji sugerira-

na materijalu, ne smijete distribuirati

želi da davalac licence podržava vas ili vašu upotrebu.

modifikovani materijal.

Nema dodatnih ograničenja: Ne možete se prijaviti. Nema dodatnih ograničenja: Vidi lijevo. pravnim uslovima ili tehnološkim merama koje zakonski

ograničiti druge da bilo šta rade na osnovu licence

dozvole.

Napomena: Ne morate se pridržavati licence za elemente materijala koji su u javnom vlasništvu ili gdje je vaša upotreba dozvoljena primjenjivim izuzetkom ili ograničenjem.
Napomena: Nema garancije. Licenca vam možda neće dati sve dozvole potrebne za namjeravanu upotrebu. Za nprampOsim toga, druga prava kao što su publicitet, privatnost ili moralna prava mogu ograničiti način na koji koristite materijal.

Verzija: doc 1.4.2 / NanoLib 1.3.0

59

Impresum, kontakt, verzije

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenNjemačkaTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Sva prava pridržana. Greška, propust, tehnička ili promjena sadržaja moguća bez prethodne najave. Citirani brendovi/proizvodi su zaštitni znakovi njihovih vlasnika i treba ih tretirati kao takve. Originalna verzija.

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

+ Dodato > Promijenjeno # Popravljeno > Ponovni rad datog examples.
+ NanoLib Modbus: Dodan mehanizam za zaključavanje uređaja za Modbus VCP. # NanoLib Core: Fiksna provjera stanja veze. # NanoLib kod: Ispravljeno uklanjanje reference hardvera sabirnice.
+ NanoLib-CANopen: Podrška za Peak PCAN-USB adapter (IPEH-002021/002022).
> NanoLib Core: Promijenjeno sučelje povratnog poziva za evidentiranje (LogLevel zamijenjen LogModule). # NanoLib Logger: Ispravljeno je razdvajanje između jezgre i modula. # Modbus TCP: Popravljeno ažuriranje firmvera za FW4. # EtherCAT: Popravljeno postavljanje NanoJ programa za Core5. # EtherCAT: Ispravljeno ažuriranje firmvera za Core5.
# Modbus RTU: Ispravljeni problemi sa vremenom sa niskim brzinama prenosa tokom ažuriranja firmvera. # RESTful: Popravljeno postavljanje NanoJ programa.
# NanoLib moduli Sampler: Ispravno čitanje sampled boolean vrijednosti.
+ Java 11 podrška za sve platforme. + Podrška za Python 3.11/3.12 za sve platforme. + Novo sučelje povratnog poziva za evidentiranje (pogledajte npramples). + Povratni pozivi za NanoLib Logger. > Ažurirajte logger na verziju 1.12.0. > NanoLib moduli Sampler: Podrška sada za firmver Nanotec kontrolera v24xx. > NanoLib moduli Sampler: Promjena strukture korištene za sampler konfiguracija. > NanoLib moduli Sampler: Kontinuirani način rada je sinonim za beskonačan; stanje okidača se provjerava jednom; broj samples mora biti 0. > NanoLib moduli Sampler: Normalan prioritet za nit koja prikuplja podatke u načinu rada firmvera. > NanoLib moduli Sampler: Prepisani algoritam za otkrivanje prijelaza između stanja Ready i Running. # NanoLib Core: Nema više kršenja pristupa (0xC0000005) pri zatvaranju 2 ili više uređaja koji koriste isti hardver magistrale. # NanoLib Core: Nema više greške segmentacije pri priključivanju PEAK adaptera pod Linuxom. # NanoLib moduli Sampler: Tačno sampočitavanje LED vrijednosti u načinu rada firmvera. # NanoLib moduli Sampler: Ispravna konfiguracija 502X:04. # NanoLib moduli Sampler: Ispravno miješanje bafera sa kanalima. # NanoLib-Canopen: Povećano vremensko ograničenje CAN-a za robusnost i ispravno skeniranje pri nižim brzinama prenosa. # NanoLib-Modbus: VCP algoritam detekcije za posebne uređaje (USB-DA-IO).
+ EtherCAT podrška.
+ Napomena o postavkama VS projekta u Konfigurišite svoj projekat.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileIme (). + const std::string & xmlFilePutanja u addObjectDictionary (). + getSamplerInterface ().

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

Verzija: doc 1.4.2 / NanoLib 1.3.0

60

10 Impresum, kontakt, verzije

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

+ Dodato > Promijenjeno # Popravljeno + ponovno pokretanje uređaja (). + Kôd greške ResourceUnavailable za getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber i ~Uid. > firmwareUploadFromFile sada uploadFirmwareFromFile (). > firmwareUpload () sada uploadFirmware (). > bootloaderUploadFromFile () sada uploadBootloaderFromFile (). > bootloaderUpload () sada uploadBootloader (). > bootloaderFirmwareUploadFromFile () za uploadBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () sada uploadBootloaderFirmware (). > nanojUploadFromFile () sada uploadNanoJFromFile (). > nanojUpload () sada uploadNanoJ (). > objectDictionaryLibrary () sada getObjectDictionaryLibrary (). > String_String_Map sada StringStringMap. > NanoLib-Common: brže izvršavanje listAvailableBusHardware i openBusHardwareWithProtocol sa Ixxat adapterom. > NanoLib-CANopen: koriste se zadane postavke (1000k baudrate, Ixxat broj magistrale 0) ako su hardverske opcije magistrale prazne. > NanoLib-RESTful: administratorska dozvola je zastarjela za komunikaciju sa Ethernet pokretačima pod Windowsom ako je dostupan drajver za npcap / winpcap. # NanoLib-CANopen: hardver sabirnice se sada otvara bez pada sa praznim opcijama. # NanoLib-Common: openBusHardwareWithProtocol () bez curenja memorije sada.
+ Podrška za Linux ARM64. + Podrška za USB masovnu pohranu / REST / Profinet DCP. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (zamijenjen NanotecExceptions). + NanoLib Modbus: VCP / USB čvorište ujedinjeno na USB. > Modbus TCP skeniranje daje rezultate. < Latencija Modbus TCP komunikacije ostaje konstantna.
+ Više ObjectEntryDataType (složen i profesionalanfile-specifičan). + Vraćanje IOError ako connectDevice () i scanDevices () ne pronađu nijednu. + Samo 100 ms nominalno vremensko ograničenje za CanOpen / Modbus.
+ Modbus podrška (plus USB Hub preko VCP). + Poglavlje Kreiranje vlastitog Linux projekta. + extraHardwareSpecifier za BusHardwareId (). + extraId_ i extraStringId_ do DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Ispravke grešaka.
Edition.

Proizvod
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Verzija: doc 1.4.2 / NanoLib 1.3.0

61

Dokumenti / Resursi

Nanotic NanoLib C++ programiranje [pdf] Korisnički priručnik
NanoLib C programiranje, C programiranje, programiranje

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *