Nanotic NanoLib C++ Programming
Informazione di u produttu
Specificazioni
- Nome di u produttu: NanoLib
- Prugrammazione Lingua: C++
- Versione produttu: 1.3.0
- Versione Manuale d'Usuariu: 1.4.2
A biblioteca NanoLib hè pensata per u software di cuntrollu di prugrammazione per i controller Nanotec. Fornisce una interfaccia d'utilizatore, funziunalità core è biblioteche di cumunicazione per facilità u sviluppu di l'applicazioni di cuntrollu.
Istruzzioni per l'usu di u produttu
- Prima di principià:
- Assicuratevi chì u vostru sistema risponde à i requisiti hardware specificati in u manuale. U publicu destinatu à stu pruduttu include sviluppatori chì cercanu di creà un software di cuntrollu per i controller Nanotec.
- Accuminciari:
- Per cumincià à utilizà NanoLib, seguitate questi passi:
- Cumincià da impurtà NanoLib in u vostru prughjettu.
- Configurate i vostri paràmetri di u prugettu cumu necessariu.
- Custruite u vostru prughjettu per incorpore e funziunalità NanoLib.
- Creazione di Prughjetti:
- Pudete creà prughjetti per l'ambienti Windows è Linux. Segui l'istruzzioni specifiche furnite in u manuale per ogni piattaforma.
- Classi / Funzioni Riferimentu:
- Consultate u manuale d'utilizatore per una guida dettagliata nantu à e classi è e funzioni dispunibili in NanoLib per u software di cuntrollu di prugrammazione.
FAQs
- Q: Chì ghjè u scopu di NanoLib?
- A: NanoLib hè una libreria per u software di cuntrollu di prugrammazione per i cuntrolli Nanotec, chì furnisce funziunalità essenziali è capacità di cumunicazione.
- Q: Cumu possu principià cù NanoLib?
- A: Cumincià per impurtà NanoLib in u vostru prughjettu, cunfigurà i paràmetri di u prugettu, è custruisce u vostru prughjettu per utilizà e funzioni NanoLib.
"'
Manuale d'uso NanoLib
C++
Valide cù a versione di u produttu 1.3.0
Manuale di l'usu Versione: 1.4.2
Scopu di documentu è cunvenzioni
Stu documentu descrive a stallazione è l'usu di a biblioteca NanoLib è cuntene una riferenza à tutte e classi è funzioni per programà u vostru propiu software di cuntrollu per i controller Nanotec. Avemu aduprà i seguenti tipi di caratteri:
U testu sottulineatu marca una referenza incruciata o hyperlink.
Example 1: Per struzzioni precise nantu à u NanoLibAccessor, vede Setup. Esample 2: Installa u driver Ixxat è cunnette l'adattatore CAN-à-USB. Testu corsu significa: Questu hè un oggettu chjamatu, un percorsu di menu / articulu, una tabulazione / file nome o (se necessariu) una espressione in lingua straniera.
Example 1: Selezziunà File > Novu > Documentu biancu. Aprite a tabulazione Tool è selezziunate Comment. Esample 2: Stu documentu divide l'utilizatori (= Nutzer; utente; utente; utilisateur; utente etc.) da:
– Utente di terzu (= Drittnutzer; terzu utente; terzu utente; tiers utilisateur; terzu utente etc.). – Utente finale (= Endnutzer; usuario final; utente final; utilisateur final; utente finale etc.).
Courier marca blocchi di codice o cumandamenti di prugrammazione. Esample 1: Via Bash, chjamate sudo make install per copià l'uggetti spartuti; poi chjamate ldconfig. Esample 2: Aduprate a seguente funzione NanoLibAccessor per cambià u livellu di log in NanoLib:
// ***** Variante C++ *****
void setLoggingLevel (livellu di logu);
U testu in grassu enfatizeghja e parolle individuali di impurtanza critica. In alternativa, i segni d'esclamazione tra parentesi sottolineanu l'impurtanza critica (!).
Example 1: Prutegge sè stessu, l'altri è u vostru equipamentu. Segui i nostri note di sicurezza generale chì sò generalmente applicabili à tutti i prudutti Nanotec.
Example 2: Per a vostra propria prutezzione, seguitate ancu note di sicurezza specifiche chì s'applicanu à stu pruduttu specificu. U verbu di co-click significa un clic via una chjave secundaria di u mouse per apre un menu di cuntestu etc.
Example 1: Co-cliccate nant'à u file, selezziunà Rinomina, è cambia u nome file. Esample 2: Per verificà e proprietà, cliccà nant'à u file è selezziunate Proprietà.
Versione: doc 1.4.2 / NanoLib 1.3.0
4
Prima di principià
Prima di cumincià à aduprà NanoLib, preparate u vostru PC è informatevi di l'usu previstu è di e limitazioni di a biblioteca.
2.1 Requisiti di sistema è hardware
AVVISU Malfunzionamentu da u funziunamentu di 32-bit o di u sistema interrotta! Aduprate, è mantene sempre, un sistema di 64-bit. Osservate l'interruzioni OEM è ~istruzzioni.
NanoLib 1.3.0 supporta tutti i prudutti Nanotec cù CANopen, Modbus RTU (ancu USB nantu à u portu virtuale com), Modbus TCP, EtherCat è Profinet. Per NanoLibs più vechji: Vede u changelog in l'impronta. À u vostru risicu solu: usu di u sistema legatu. Nota: Segui l'istruzzioni OEM valide per stabilisce a latenza u più bassu pussibule se affruntate prublemi quandu utilizate un adattatore USB basatu in FTDI.
Requisiti (sistema 64-bit obligatoriu)
Windows 10 o 11 cù Visual Studio 2019 versione 16.8 o più tardi è Windows SDK 10.0.20348.0 (versione 2104) o più tardi
C++ redistributables 2017 o superiore CANopen: Ixxat VCI o PCAN driver basic (opcional) Modulu EtherCat / Profinet DCP: Npcap o WinPcap Modulu RESTful: Npcap, WinPcap, o permessu di amministratore per
cumunicà cù i bootloaders Ethernet
Linux cù Ubuntu 20.04 LTS à 24 (tutti x64 è arm64)
Intestazioni di kernel è pacchettu libpopt-dev Profinet DCP: CAP_NET_ADMIN è CAP_NET_RAW
legami CANopen: driver Ixxat ECI o adattatore Peak PCAN-USB EtherCat: CAP_NET_ADMIN, CAP_NET_RAW è
CAP_SYS_NICE capacità RESTful: CAP_NET_ADMIN capacità di cumunicà cù Eth-
bootloaders ernet (cunsigliati ancu: CAP_NET_RAW)
Lingua, adattatori fieldbus, cavi
C++ GCC 7 o superiore (Linux)
EtherCAT: Ethernet cable VCP / USB hub: avà uniforme USB USB mass storage: USB cable REST: Ethernet cable CANopen: Ixxat USB-to-CAN V2; na-
notec ZK-USB-CAN-1, adattatore Peak PCANUSB Nisun supportu Ixxat per Ubuntu in arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 o adattatore equivalente; Cavu USB nantu à u portu virtuale com (VCP)
Modbus TCP: Cable Ethernet cum'è a scheda di dati di u produttu
2.2 Usu destinatu è u publicu
NanoLib hè una biblioteca di prugrammi è un cumpunente di software per l'operazione è a cumunicazione cù i controller Nanotec in una larga gamma di applicazioni industriali è solu per i programatori debitamente qualificati.
A causa di l'hardware incapace in tempu reale (PC) è u sistema operatore, NanoLib ùn hè micca per l'usu in l'applicazioni chì necessitanu un muvimentu multi-assi sincronu o sò generalmente sensibili à u tempu.
In nisun casu pudete integrà NanoLib cum'è un cumpunente di salvezza in un pruduttu o sistema. À a consegna à l'utilizatori finali, duvete aghjunghje avvisi è struzzioni currispondenti per un usu sicuru è un funziunamentu sicuru à ogni pruduttu cù un cumpunente fabbricatu da Nanotec. Duvete passà tutti i avvisi d'avvertimenti emessi da Nanotec direttamente à l'utilizatori finali.
2.3 Scopu di a consegna è a garanzia
NanoLib vene cum'è un cartulare *.zip da u nostru scaricamentu websitu per EMEA / APAC o AMERICA. Immagazzinate è scumpressate u vostru scaricamentu prima di a stallazione. U pacchettu NanoLib cuntene:
Versione: doc 1.4.2 / NanoLib 1.3.0
5
2 Prima di principià
Intestazioni di l'interfaccia cum'è codice fonte (API)
Funzioni core cum'è biblioteche in formatu binariu: nano-
Biblioteche chì facilitanu a cumunicazione: nanolibm_ lib.dll
[yourfieldbus].dll etc.Exampu prughjettu: Esample.sln (Visual Studio
prughjettu) è example.cpp (principale file)
Per u scopu di a garanzia, per piacè osservate a) i nostri termini è cundizioni per l'EMEA / APAC o l'AMERICA è b) tutti i termini di licenza. Nota: Nanotec ùn hè micca rispunsevuli di qualità difettu o indebita, manipulazione, installazione, operazione, usu è mantenimentu di l'equipaggiu di terzu! Per a sicurezza dovuta, seguite sempre l'istruzzioni OEM valide.
Versione: doc 1.4.2 / NanoLib 1.3.0
6
L'architettura NanoLib
A struttura di software modulare di NanoLib vi permette di organizà funzioni di cuntrollu di mutore / bus di campu liberamente persunalizabili intornu à un core strettamente pre-custruitu. NanoLib cuntene i seguenti moduli:
Interfaccia d'utilizatore (API)
core NanoLib
Interfaccia è classi helper chì Biblioteche chì
Biblioteche di cumunicazione Biblioteche specifichi Fieldbus chì
accede à l'implementazione di u vostru controller di a funziunalità API fà l'interfaccia trà NanoLib
OD (dizziunariu d'ughjettu)
interagisce cù biblioteche di autobus.
hardware core è bus.
basate nantu à a funzione core NanoLib
naziunalità.
3.1 Interfaccia d'utilizatore
L'interfaccia d'utilizatore hè custituita da l'interfaccia di header files pudete aduprà per accede à i paràmetri di u controller. E classi di l'interfaccia d'utilizatore cum'è descritte in a riferenza di Classi / funzioni permettenu di:
Cunnettete à u hardware (adattatore fieldbus) è à u dispusitivu di cuntrollu. Accede à l'OD di u dispusitivu, per leghje / scrive i paràmetri di u controller.
3.2 NanoLib core
U core NanoLib vene cù a libreria d'importazione nanolib.lib. Implementa a funziunalità di l'interfaccia d'utilizatore è hè rispunsevule per:
Caricà è gestisce e librerie di cumunicazione. Fornisce e funziunalità di l'interfaccia d'utilizatore in NanoLibAccessor. Stu puntu di entrata di cumunicazione de-
ammenda un inseme di operazioni chì pudete eseguisce nantu à u core NanoLib è e librerie di cumunicazione.
3.3 Biblioteche di cumunicazione
In più di nanotec.services.nanolib.dll (utile per u vostru Plug & Drive Studio opzionale), NanoLib offre e seguenti librerie di cumunicazione:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Tutte e biblioteche ponenu una strata di astrazione hardware trà core è controller. U core li carica à l'iniziu da u cartulare di u prugettu designatu è li usa per stabilisce a cumunicazione cù u controller da u protocolu currispundente.
Versione: doc 1.4.2 / NanoLib 1.3.0
7
Accuminciari
Leghjite cumu cunfigurà NanoLib per u vostru sistema operatore debitamente è cumu cunnette l'hardware in quantu necessariu.
4.1 Preparate u vostru sistema
Prima di stallà i drivers di l'adattatore, preparanu prima u vostru PC cù u sistema operatore. Per preparà u PC in u vostru sistema operativu Windows, installate MS Visual Studio cù estensioni C++. Per installà make è gcc da Linux Bash, chjamate sudo apt install build-essentials. Allora attivate CAP_NET_ADMIN, CAP_NET_RAW è CAP_SYS_NICE capacità per l'applicazione chì usa NanoLib: 1. Chjamate sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
nome>. 2. Solu tandu, stallà u vostru drivers adapter.
4.2 Installa u driver di l'adattatore Ixxat per Windows
Solu dopu a stallazione di u driver, pudete aduprà l'adattatore USB-à-CAN V2 di Ixxat. Leghjite u manuale di u produttu di unità USB, per sapè se / cumu per attivà u cumportu virtuale (VCP). 1. Scaricate è stallà u driver VCI 4 di Ixxat per Windows da www.ixxat.com. 2. Cunnette l'adattatore compactu USB-to-CAN V2 di Ixxat à u PC via USB. 3. By Device Manager: Verificate s'ellu sia u driver è l'adattatore sò stallati / ricunnisciuti.
4.3 Installa u driver di l'adattatore Peak per Windows
Solu dopu a stallazione di u driver, pudete aduprà l'adattatore PCAN-USB di Peak. Leghjite u manuale di u produttu di unità USB, per sapè se / cumu per attivà u cumportu virtuale (VCP). 1. Scaricate è stallà a cunfigurazione di u driver di u dispositivu Windows (= pacchettu di installazione cù i cunduttori di u dispositivu, arnesi, è
API) da http://www.peak-system.com. 2. Cunnette l'adattatore PCAN-USB di Peak à u PC via USB. 3. By Device Manager: Verificate s'ellu sia u driver è l'adattatore sò stallati / ricunnisciuti.
4.4 Installa u driver di l'adattatore Ixxat per Linux
Solu dopu a stallazione di u driver, pudete aduprà l'adattatore USB-à-CAN V2 di Ixxat. Nota: L'altri adattatori supportati necessitanu i vostri permessi da sudo chmod + 777/dev/ttyACM* (* numeru di u dispositivu). Leghjite u manuale di u produttu di unità USB, per sapè se / cumu per attivà u cumportu virtuale (VCP). 1. Installa u software necessariu per u driver ECI è l'applicazione demo:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc ++ 6 libgcc1 buildessential
2. Scaricate u driver ECI-for-Linux da www.ixxat.com. Unzip it via:
unzip eci_driver_linux_amd64.zip
3. Installa u driver via:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Verificate l'installazione di u driver successu cumpilendu è principiendu l'applicazione demo:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Versione: doc 1.4.2 / NanoLib 1.3.0
8
4 Cumincià
4.5 Installa u driver di l'adattatore Peak per Linux
Solu dopu a stallazione di u driver, pudete aduprà l'adattatore PCAN-USB di Peak. Nota: L'altri adattatori supportati necessitanu i vostri permessi da sudo chmod + 777/dev/ttyACM* (* numeru di u dispositivu). Leghjite u manuale di u produttu di unità USB, per sapè se / cumu per attivà u cumportu virtuale (VCP). 1. Verificate se u vostru Linux hà intestazioni di u kernel: ls /usr/src/linux-headers-`uname -r`. Se no, installate
elli: sudo apt-get install linux-headers-`uname -r` 2. Solu avà, installate u pacchettu libpopt-dev: sudo apt-get install libpopt-dev 3. Scaricate u pacchettu di driver necessariu (peak-linux-driver-xxx.tar.gz) da www.peak-system.com. 4. Per unpack it, aduprate: tar xzf peak-linux-driver-xxx.tar.gz 5. In u cartulare unpacked: Cumpilà è installate i drivers, a libreria di basa PCAN, etc.: fate tuttu
sudo make install 6. Per verificà a funzione, inserisce l'adattatore PCAN-USB.
a) Verificate u modulu di u kernel:
lsmod | grep pcan b) ... è a biblioteca cumuna:
ls -l /usr/lib/libpcan*
Nota: Se i prublemi USB3 si verificanu, utilizate un portu USB2.
4.6 Cunnette u vostru hardware
Per pudè eseguisce un prughjettu NanoLib, cunnette un controller Nanotec compatible à u PC cù u vostru adattatore. 1. Per un cable adattatu, cunnette u vostru adattatore à u controller. 2. Cunnette vi l 'adapter à u PC secondu a scheda di dati adapter. 3. Power on u controller usendu un alimentazione adattatu. 4. Sè necessariu, cambià i paràmetri di cumunicazione di u controller Nanotec cum'è struitu in u so manuale di produttu.
4.7 Carica NanoLib
Per un primu principiu cù basi veloci è facili, pudete (ma ùn deve micca) aduprà u nostru exampu prughjettu. 1. Sicondu a vostra regione: Download NanoLib da u nostru websitu per EMEA / APAC o AMERICA. 2. Unzip u pacchettu files / cartelle è selezziunate una opzione: Per basi veloci è facili: Vede Avvià l'exampu prughjettu. Per una persunalizazione avanzata in Windows: Vede Crea u vostru propiu prughjettu Windows. Per una persunalizazione avanzata in Linux: Vede Crea u vostru propiu prughjettu Linux.
Versione: doc 1.4.2 / NanoLib 1.3.0
9
Partendu l'exampu prughjettu
Cù NanoLib debitamente caricatu, l'exampu prughjettu vi mostra l'usu NanoLib cù un controller Nanotec. Nota: Per ogni passu, cumenti in l'exampu codice spiegà e funzioni aduprate. L'exampu prughjettu hè custituitu da: u `*_functions_example.*' files, chì cuntene l'implementazioni per l'interfaccia NanoLib funzioni u `*_callback_example.*' files, chì cuntene implementazioni per e diverse callbacks (scan, dati è
logging) u `menu_*.*' file, chì cuntene a logica di menù è codice l'Example.* file, chì hè u prugramma principale, crea u menu è inizializza tutti i paràmetri utilizati u Sampler_example.* file, chì cuntene l'example implementazione per sampler usu. Pudete truvà più examples, cù qualchi cumandamenti di muvimentu per diversi modi di funziunamentu, in a Base di cunniscenza in nanotec.com. Tutti sò utilizabili in Windows o Linux.
In Windows cù Visual Studio 1. Aprite l'Example.sln file. 2. Aprite l'example.cpp. 3. Cumpilà è eseguisce l'exampu codice.
In Linux via Bash 1. Unzip a fonte file, navigate à u cartulare cù cuntenutu unzipped. U principale file per l'example hè
example.cpp. 2. In u bash, chjamate:
a. "sudo make install" per copià l'uggetti spartuti è chjamate ldconfig. b. "Fà tuttu" per custruisce l'eseguibile di prova. 3. U cartulare bin cuntene un ex executableample file. By bash: Andà à u cartulare pruduzzioni è tippu ./example. Se ùn ci hè micca un errore, i vostri ogetti spartuti sò avà stallati debitamente, è a vostra biblioteca hè pronta per l'usu. Se l'errore leghje ./example: errore durante a carica di e librerie spartute: libnanolib.so: ùn pò micca apre l'ughjettu spartutu file: No tali file o annuariu, l'installazione di l'uggetti spartuti hà fiascatu. In stu casu, seguitate i seguenti passi. 4. Crea un novu cartulare in /usr/local/lib (diritti di amministratore necessariu). In u bash, cusì scrivite:
sudo mkdir /usr/local/lib/nanotec
5. Copia tutti l'uggetti spartuti da u zip fileu cartulare lib di:
installà ./lib/*.so /usr/local/lib/nanotec/
6. Verificate u cuntenutu di u cartulare di destinazione cù:
ls -al /usr/local/lib/nanotec/
Duverebbe listà l'ughjettu spartutu files da u cartulare lib. 7. Run ldconfig nant'à stu cartulare:
sudo ldconfig /usr/local/lib/nanotec/
L'example hè implementatu cum'è una applicazione CLI è furnisce una interfaccia di menu. L'entrate di u menù sò basate in u cuntestu è seranu attivate o disattivate, secondu u statu di u cuntestu. Vi offrenu a pussibilità di selezziunà è eseguisce diverse funzioni di libreria in seguitu à u flussu di travagliu tipicu per a gestione di un controller: 1. Verificate u PC per hardware cunnessu (adattatori) è listate. 2. Stabbilisce a cunnessione à un adapter. 3. Scans the bus for devices controller cunnessi. 4. Cunnette vi un dispusitivu.
Versione: doc 1.4.2 / NanoLib 1.3.0
10
5 Partendu l'exampu prughjettu
5. Pruvate una o più di e funzioni di a biblioteca: Leghjite / scrivite da / à u dizziunariu di l'ughjettu di u controller, aghjurnà u firmware, caricate è eseguite un prugramma NanoJ, fate u mutore in funzione è sintonizza, cunfigurà è aduprate u logu / sampTandler.
6. Close a cunnessione, prima à u dispusitivu, dopu à l 'adapter.
Versione: doc 1.4.2 / NanoLib 1.3.0
11
Crea u vostru propiu prughjettu Windows
Crea, compie è eseguisce u vostru propiu prughjettu Windows per utilizà NanoLib.
6.1 Import NanoLib
Importa l'intestazione NanoLib files è biblioteche via MS Visual Studio.
1. Open Visual Studio. 2. Via Crea novu prughjettu> Console App C++> Next: Selezziunà un tipu di prughjettu. 3. Nominate u vostru prughjettu (qui: NanolibTest) per creà un cartulare di u prughjettu in u Solution Explorer. 4. Selezziunà Finish. 5. Aprite i finestri file esploratore è navigate à u novu cartulare di prughjettu creatu. 6. Crea dui novi cartulare, inc è lib. 7. Open u cartulare pacchettu NanoLib. 8. Da quì: Copia l'intestazione files da u cartulare include in u vostru cartulare di prughjettu inc è tutti i .lib è .dll
files à u vostru novu cartulare di prughjettu lib. 9. Verificate u vostru cartulare prughjettu per struttura duvuta, per exampLe:
ect cartulare per a struttura dovuta:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vcxproj.filters NanolibTest.
6.2 Configurate u vostru prughjettu
Aduprate l'Explorer di Soluzioni in MS Visual Studio per stabilisce i prughjetti NanoLib. Nota: Per u funziunamentu currettu NanoLib, selezziunate a cunfigurazione di liberazione (micca debug!) in i paràmetri di u prugettu Visual C++; poi custruisce è ligà u prugettu cù runtimes VC di C++ redistributables [2022].
1. In u Solution Explorer: Andate à u vostru cartulare prughjettu (qui: NanolibTest). 2. Co-cliccate u cartulare à apre u menù cuntestu. 3. Selezziunà Pruprietà. 4. Attivà Tutte e cunfigurazioni è Tutte e plataforme. 5. Selezziunà C/C++ è andate à Additivu Include Directories. 6. Inserisci: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Selezziunate Linker è andate à Directories Library Addiziunali. 8. Inserisci: $ (ProjectDir) Nanolib;% (AdditionalLibraryDirectories) 9. Estendi Linker è selezziunate Input. 10.Vai à Dependencies Addiziunali è inserisci: nanolib.lib;% (Additional Dependencies) 11.Confirmate via OK.
Versione: doc 1.4.2 / NanoLib 1.3.0
12
6 Crea u vostru propiu prughjettu Windows
12.Andate à Configurazione> C++> Lingua> Standard di Lingua> Standard ISO C++17 è stabilisce u standard di lingua in C++17 (/std:c++17).
6.3 Custruite u vostru prughjettu
Custruite u vostru prughjettu NanoLib in MS Visual Studio. 1. Aprite u principale *.cpp file (qui: nanolib_example.cpp) è edità u codice, se ne necessariu. 2. Selezziunà Build> Configuration Manager. 3. Cambia piattaforme suluzione Active à x64. 4. Cunfirmà via Close. 5. Selezziunà Custruì> Custruì suluzione. 6. Nisun errore ? Verificate se l'output di compilazione riporta debitamente:
1>—— Clean start: Project: NanolibTest, Configuration: Debug x64 —–========== Clean: 1 successed, 0 failed, 0 skipped ==========
Versione: doc 1.4.2 / NanoLib 1.3.0
13
7 Crea u vostru propiu prughjettu Linux
7 Crea u vostru propiu prughjettu Linux
Crea, compile è eseguisce u vostru propiu prughjettu Linux per utilizà NanoLib. 1. In u kit di stallazione NanoLib unzipped: Open /nanotec_nanolib. 2. Truvate tutti l'ogetti spartuti in u tar.gz file. 3. Selezziunà una opzione: Installa ogni lib sia cù un Makefile o a manu.
7.1 Installa l'uggetti spartuti cù Makefile
Aduprate Makefile cù Linux Bash per installà automaticamente tutti i predefiniti *.so files. 1. Via Bash: Andà à u cartulare chì cuntene u makefile. 2. Copia l'uggetti spartuti via:
sudo make install 3. Cunfirmà via:
ldconfig
7.2 Installa l'uggetti spartuti a manu
Aduprate un Bash per installà tuttu *.so files di NanoLib manualmente. 1. Via Bash: Crea un novu cartulare in /usr/local/lib. 2. I diritti di amministratore necessariu! Tipu:
sudo mkdir /usr/local/lib/nanotec 3. Cambia à u cartulare di u pacchettu di stallazione unzipped. 4. Copia tutti l'uggetti spartuti da u cartulare lib via:
installà ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Verificate u cuntenutu di u cartulare di destinazione via:
ls -al /usr/local/lib/nanotec/ 6. Verificate se tutti l'uggetti spartuti da u cartulare lib sò listati. 7. Run ldconfig nant'à stu cartulare via:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Crea u vostru prughjettu
Cù i vostri oggetti spartuti installati: Crea un novu prughjettu per u vostru Linux NanoLib. 1. Via Bash: Crea un novu cartulare di prughjettu (qui: NanoLibTest) via:
mkdir NanoLibTest cd NanoLibTest
2. Copia l'intestazione files à un cartulare include (qui: inc) via: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Crea un principale file (NanoLibTest.cpp) via: #include "accessor_factory.hpp" #include
Versione: doc 1.4.2 / NanoLib 1.3.0
14
7 Crea u vostru propiu prughjettu Linux
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor ();
nlc::ResultBusHwIds result = accessor->listAvailableBusHardware ();
if(result.hasError()) { std::cout << result.getError () << std::endl; }
else{ std::cout << "Success" << std::endl; }
sguassà l'accessori; torna 0; }
4. Verificate u vostru cartulare di prughjettu per a struttura dovuta:
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Cumpilà è pruvà u vostru prughjettu
Fate u vostru Linux NanoLib prontu per l'usu via Bash.
1. Via Bash: Cumpilà u principale file via:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Link l'eseguibile inseme via:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Eseguite u prugramma di prova via:
./test
4. Verificate s'ellu u vostru Bash informa debitamente:
successu
Versione: doc 1.4.2 / NanoLib 1.3.0
15
8 Classi / funzioni di riferenza
8 Classi / funzioni di riferenza
Truvate quì una lista di e classi di l'interfaccia d'utilizatore di NanoLib è e so funzioni membri. A descrizzione tipica di una funzione include una breve introduzione, a definizione di a funzione è una lista di parametri / ritornu:
ExampleFunction () Vi dice brevemente ciò chì a funzione faci.
virtual void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)
Parametri param_a param_b
Ritorna ResultVoid
Cumentu supplementu se necessariu. Cumentu supplementu se necessariu.
8.1 NanoLibAccessor
Classe d'interfaccia utilizata cum'è puntu di ingressu à u NanoLib. Un flussu di travagliu tipicu hè cusì:
1. Accuminciate per scanning per hardware cù NanoLibAccessor.listAvailableBusHardware (). 2. Definite i paràmetri di cumunicazione cù BusHardwareOptions (). 3. Apertura a cunnessione hardware cù NanoLibAccessor.openBusHardwareWithProtocol (). 4. Scan u bus per i dispusitivi cunnessi cù NanoLibAccessor.scanDevices (). 5. Aghjunghje un dispusitivu cù NanoLibAccessor.addDevice (). 6. Connect à u dispusitivu cù NanoLibAccessor.connectDevice (). 7. Dopu à finisce u funziunamentu, disconnect u dispusitivu cù NanoLibAccessor.disconnectDevice (). 8. Eliminate u dispusitivu cù NanoLibAccessor.removeDevice (). 9. Chiudi a cunnessione hardware cù NanoLibAccessor.closeBusHardware ().
NanoLibAccessor hà e seguenti funzioni di membri publicu:
listAvailableBusHardware () Aduprate sta funzione per listà u hardware di bus di campu dispunibule.
Virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
Ritorna ResultBusHwIds
Fornisce un array d'ID di bus di campu.
openBusHardwareWithProtocol () Aduprate sta funzione per cunnette hardware di bus.
Virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
Parametri busHwId busHwOpt
Ritorna ResultVoid
Specifica u bus di campu à apre. Specifica l'opzioni di apertura fieldbus. Conferma chì una funzione void hè stata eseguita.
isBusHardwareOpen () Aduprate sta funzione per verificà se a vostra cunnessione hardware di fieldbus hè aperta.
Virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)
Versione: doc 1.4.2 / NanoLib 1.3.0
16
8 Classi / funzioni di riferenza
Parametri BusHardwareId Ritorna vera
falsu
Specifica ogni bus di campu à apre. L'hardware hè apertu. L'hardware hè chjusu.
getProtocolSpecificAccessor () Aduprate sta funzione per uttene l'ughjettu d'accessu specificu di u protocolu.
Virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
Paràmetri busHwId Ritorna ResultVoid
Specifica u bus di campu per uttene l'accessori. Conferma chì una funzione void hè stata eseguita.
getProfinetDCP () Aduprate sta funzione per rinvià una riferenza à l'interfaccia Profinet DCP.
ProfinetDCP virtuale è getProfinetDCP ()
Ritorna ProfinetDCP
ottene SamplerInterface () Aduprate sta funzione per ottene una riferenza à u sampl'interfaccia.
virtuale SamplerInterface & getSamplerInterface ()
Ritorna SamplerInterface
Si riferisce à u sampler classe d'interfaccia.
setBusState () Aduprate sta funzione per stabilisce u statu specificu di u protocolu di bus.
Virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)
Parametri busHwId state
Ritorna ResultVoid
Specifica u bus di campu à apre. Assigna un statu specificu di u bus cum'è un valore di stringa. Conferma chì una funzione void hè stata eseguita.
scanDevices () Aduprate sta funzione per scansà i dispositi in a reta.
Virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)
Paràmetri busHwId callback
Restituisce ResultDeviceIds IOError
Specifica u bus di campu à scansà. Tracciatore di prugressu NlcScanBusCallback. Fornisce un array di ID di u dispositivu. Informa chì un dispositivu ùn hè micca truvatu.
Versione: doc 1.4.2 / NanoLib 1.3.0
17
8 Classi / funzioni di riferenza
addDevice ()
Aduprate sta funzione per aghjunghje un dispositivu di bus descritta da deviceId à a lista di i dispositi interni di NanoLib, è per rinvià deviceHandle per questu.
Virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)
Parametri deviceId Ritorna ResultDeviceHandle
Specifica u dispusitivu per aghjunghje à a lista. Fornisce un manicu di u dispusitivu.
connectDevice () Aduprate sta funzione per cunnette un dispositivu da deviceHandle.
Virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultVoid
IOErrore
Specifica à quale apparatu di bus NanoLib si cunnetta. Conferma chì una funzione void hè stata eseguita. Informa chì un dispositivu ùn hè micca truvatu.
getDeviceName () Aduprate sta funzione per uttene u nome di un dispositivu da deviceHandle.
Virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultString
Specifica chì u dispusitivu di bus NanoLib riceve u nome. Offre i nomi di i dispositi cum'è una stringa.
getDeviceProductCode () Aduprate sta funzione per uttene u codice di u produttu di un dispositivu da deviceHandle.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultInt
Specifica quale apparatu di bus NanoLib riceve u codice di u produttu. Offre codici di produttu cum'è un interu.
getDeviceVendorId () Aduprate sta funzione per uttene l'ID di venditore di u dispositivu da deviceHandle.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultInt
Risorsa ùn hè micca dispunibule
Specifica quale apparatu di bus NanoLib riceve l'ID di u venditore. Fornisce l'ID di u venditore cum'è un interu. Informa chì ùn si trova micca dati.
Versione: doc 1.4.2 / NanoLib 1.3.0
18
8 Classi / funzioni di riferenza
getDeviceId () Aduprate sta funzione per uttene l'ID di un dispositivu specificu da a lista interna NanoLib.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultDeviceId
Specifica quale apparatu di bus NanoLib riceve l'ID di u dispusitivu. Offre un ID di u dispositivu.
getDeviceIds () Aduprate sta funzione per uttene l'ID di tutti i dispositi da a lista interna NanoLib.
Virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
Ritorna ResultDeviceIds
Offre una lista di ID di u dispositivu.
getDeviceUid () Aduprate sta funzione per uttene l'ID unicu di un dispositivu (96 bit / 12 bytes) da deviceHandle.
Virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultArrayByte
Risorsa ùn hè micca dispunibule
Specifica quale apparatu di bus NanoLib riceve l'ID unicu. Fornisce ID unichi cum'è una matrice di byte. Informa chì ùn si trova micca dati.
getDeviceSerialNumber () Aduprate sta funzione per uttene u numeru di seriale di un dispositivu da deviceHandle.
Virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultString
Risorsa ùn hè micca dispunibule
Specifica quale apparatu di bus NanoLib riceve u numeru di serie. Offre numeri di serie cum'è una stringa. Informa chì ùn si trova micca dati.
getDeviceHardwareGroup () Aduprate sta funzione per uttene u gruppu di hardware di un dispositivu di bus per deviceHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultInt
Specifica quale apparatu di bus NanoLib riceve u gruppu hardware.
Offre gruppi di hardware cum'è un interu.
getDeviceHardwareVersion () Aduprate sta funzione per uttene a versione hardware di un dispositivu di bus da deviceHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Versione: doc 1.4.2 / NanoLib 1.3.0
19
8 Classi / funzioni di riferenza
Parametri deviceHandle
Ritorna
ResultString ResourceUnavailable
Specifica per quale u dispositivu di bus NanoLib riceve a versione hardware. Offre i nomi di i dispositi cum'è una stringa. Informa chì ùn si trova micca dati.
getDeviceFirmwareBuildId () Aduprate sta funzione per uttene l'ID di creazione di firmware di un dispositivu di bus da deviceHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultString
Specifica per quale apparatu di bus NanoLib riceve l'ID di creazione di firmware.
Offre i nomi di i dispositi cum'è una stringa.
getDeviceBootloaderVersion () Aduprate sta funzione per uttene a versione di bootloader di un dispositivu di bus da deviceHandle.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
Parametri deviceHandle
Ritorna
ResultInt ResourceUnavailable
Specifica per quale apparatu di bus NanoLib riceve a versione di bootloader. Offre versioni di bootloader cum'è un interu. Informa chì ùn si trova micca dati.
getDeviceBootloaderBuildId () Aduprate sta funzione per uttene l'ID di creazione di bootloader di un dispositivu di bus da deviceHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultString
Specifica quale apparatu di bus NanoLib riceve l'ID di compilazione di bootloader.
Offre i nomi di i dispositi cum'è una stringa.
rebootDevice () Aduprate sta funzione per reboot u dispusitivu da deviceHandle.
Virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Parametri deviceHandle Ritorna ResultVoid
Specifica u fieldbus per riavvià. Conferma chì una funzione void hè stata eseguita.
getDeviceState () Aduprate sta funzione per uttene u statu specificu di u protocolu di u dispositivu.
Virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Parametri deviceHandle
Specifica per quale u dispositivu di bus NanoLib riceve u statu.
Versione: doc 1.4.2 / NanoLib 1.3.0
20
8 Classi / funzioni di riferenza
Ritorna ResultString
Offre i nomi di i dispositi cum'è una stringa.
setDeviceState () Aduprate sta funzione per stabilisce u statu specificu di u protocolu di u dispositivu.
Virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)
Parametri deviceHandle state
Ritorna ResultVoid
Specifica per quale u dispositivu di bus NanoLib stabilisce u statu. Assigna un statu specificu di u bus cum'è un valore di stringa. Conferma chì una funzione void hè stata eseguita.
getConnectionState ()
Aduprate sta funzione per uttene l'ultimu statu di cunnessione cunnisciuta di un dispositivu specificu da deviceHandle (= Disconnected, Connected, ConnectedBootloader)
Virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultConnectionState
Specifica per quale u dispositivu di bus NanoLib riceve u statu di cunnessione.
Fornisce un statu di cunnessione (= Disconnected, Connected, ConnectedBootloader).
checkConnectionState ()
Solu s'ellu l'ultimu statu cunnisciutu ùn era micca Disconnected: Aduprate sta funzione per verificà è possibbilmente aghjurnà u statu di cunnessione di un dispositivu specificu da deviceHandle è testendu parechje operazioni specifiche di modu.
Virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultConnectionState
Specifica quale apparatu di bus NanoLib verifica u statu di cunnessione.
Offre un statu di cunnessione (= micca Disconnected).
assignObjectDictionary () Aduprate sta funzione manuale per assignà un dizziunariu d'ughjettu (OD) à deviceHandle da u vostru propiu.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Parametri deviceHandle objectDictionary
Ritorna ResultObjectDictionary
Specifica à quale apparatu di bus NanoLib assigna l'OD. Mostra e proprietà di un dizziunariu d'ughjettu.
autoAssignObjectDictionary ()
Aduprate stu automatismu per lascià NanoLib assignà un dizziunariu d'ughjettu (OD) à deviceHandle. À truvà è carricà un OD adattatu, NanoLib l'assigna automaticamente à u dispusitivu. Nota: Se un OD cumpatibile hè digià caricatu in a biblioteca di l'ughjettu, NanoLib l'utilizarà automaticamente senza scanning u cartulare sottumessu.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)
Versione: doc 1.4.2 / NanoLib 1.3.0
21
8 Classi / funzioni di riferenza
Parametri deviceHandle
Ritorna
dizionariLocationPath ResultObjectDictionary
Specifica per quale apparatu di bus NanoLib scansa automaticamente per OD adattati. Specifica u percorsu à u cartulare OD. Mostra e proprietà di un dizziunariu d'ughjettu.
getAssignedObjectDictionary ()
Aduprate sta funzione per uttene u dizziunariu d'ughjettu assignatu à un dispositivu da deviceHandle.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (Dispositivu di cunstu di DeviceHandle
manicu)
Parametri deviceHandle Ritorna ResultObjectDictionary
Specifica quale apparatu di bus NanoLib riceve l'OD assignatu. Mostra e proprietà di un dizziunariu d'ughjettu.
getObjectDictionaryLibrary () Questa funzione torna una riferenza OdLibrary.
OdLibrary virtuale& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
Ritorna OdLibrary&
Apertura tutta a biblioteca OD è i so dizziunarii d'ughjettu.
setLoggingLevel () Aduprate sta funzione per stabilisce i dettagli di log necessarii (è log file taglia). U livellu predeterminatu hè Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (livellu di LogLevel)
Livellu di paràmetri
I seguenti dettagli di log sò pussibuli:
0 = Trace 1 = Debug 2 = Info 3 = Avverti 4 = Errore 5 = Criticu 6 = Off
Livellu più bassu (log più grande file); registra ogni dettagliu fattibile, più u software start / stop. Logs debug information (= risultati interim, cuntenutu mandatu o ricevutu, etc.) Livellu predeterminatu; logs missaghji informativi. Logs i prublemi chì sò accaduti ma ùn impediscenu micca l'algoritmu attuale. Logs solu prublemi severi chì anu firmatu l'algoritmu. Livellu più altu (registru più chjucu file); disattiva a login; ùn ci hè più log in tuttu. Nisun logging in tuttu.
setLoggingCallback ()
Aduprate sta funzione per stabilisce un puntatore di callback di logging è un modulu di log (= biblioteca) per quella callback (micca per u logger stessu).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)
Parametri * callback logModule
Pone un puntatore di callback. Sintonizza u callback (micca logger!) À a vostra biblioteca.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Attiva una callback per u core di NanoLib solu. Attiva una callback solu CANopen. Attiva una callback solu Modbus. Attiva una callback solu per EtherCAT.
Versione: doc 1.4.2 / NanoLib 1.3.0
22
8 Classi / funzioni di riferenza
4 = NanolibRest 5 = NanolibUSB
Attiva una callback solu REST. Attiva una callback solu per USB.
unsetLoggingCallback () Aduprate sta funzione per annullà un puntatore di callback di registrazione.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Aduprate sta funzione per leghje un valore numericu da u dizziunariu d'ughjettu.
Virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametri deviceHandle odIndex
Ritorna ResultInt
Specifica da quale u dispositivu di bus NanoLib leghje. Spécifie l'indice (sous-) à lire. Fornisce un valore numericu micca interpretatu (pò esse firmatu, unsigned, fix16.16 bit values).
readNumberArray () Aduprate sta funzione per leghje matrici numeriche da u dizziunariu d'ughjettu.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)
Parametri deviceHandle index
Ritorna ResultArrayInt
Specifica da quale u dispositivu di bus NanoLib leghje. Indice d'ughjettu di array. Fornisce un array integer.
readBytes () Aduprate sta funzione per leghje byte arbitrarii (dati di l'ughjettu di duminiu) da u dizziunariu d'ughjettu.
Virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametri deviceHandle odIndex
Ritorna ResultArrayByte
Specifica da quale u dispositivu di bus NanoLib leghje. Spécifie l'indice (sous-) à lire. Fornisce un array di byte.
readString () Aduprate sta funzione per leghje stringhe da u repertoriu d'ughjettu.
Virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametri deviceHandle odIndex
Ritorna ResultString
Specifica da quale u dispositivu di bus NanoLib leghje. Spécifie l'indice (sous-) à lire. Offre i nomi di i dispositi cum'è una stringa.
Versione: doc 1.4.2 / NanoLib 1.3.0
23
8 Classi / funzioni di riferenza
writeNumber () Aduprate sta funzione per scrive valori numerichi à u repertoriu di l'ughjettu.
Virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, valore int64_t, const OdIndex odIndex, unsigned int bitLength)
Parametri deviceHandle value odIndex bitLength
Ritorna ResultVoid
Specifica quale apparatu di bus NanoLib scrive. U valore micca interpretatu (pò esse firmatu, unsigned, fix 16.16). Spécifie l'indice (sous-) à lire. Lunghezza in pocu. Conferma chì una funzione void hè stata eseguita.
writeBytes () Aduprate sta funzione per scrive byte arbitrarie (dati di l'ughjettu di duminiu) à u repertoriu di l'ughjettu.
Virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & dati, const OdIndex odIndex)
Parametri deviceHandle data odIndex
Ritorna ResultVoid
Specifica quale apparatu di bus NanoLib scrive. Vettore di byte / array. Spécifie l'indice (sous-) à lire. Conferma chì una funzione void hè stata eseguita.
uploadFirmware ()
Aduprate sta funzione per aghjurnà u firmware di u vostru controller.
Virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* callback)
Parametri deviceHandle fwData NlcDataTransferCallback
Ritorna ResultVoid
Specifica ciò chì u dispositivu di bus NanoLib aghjurnà. Array chì cuntene dati di firmware. Un tracciatore di prugressu di dati. Conferma chì una funzione void hè stata eseguita.
uploadFirmwareFromFile ()
Aduprate sta funzione per aghjurnà u firmware di u vostru controller carichendu u so file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & assolutuFilePath, NlcDataTransferCallback* callback)
Parametri deviceHandle assolutuFilePath NlcDataTransferCallback
Ritorna ResultVoid
Specifica ciò chì u dispositivu di bus NanoLib aghjurnà. Strada à file chì cuntene dati di firmware (std::string). Un tracciatore di prugressu di dati. Conferma chì una funzione void hè stata eseguita.
Versione: doc 1.4.2 / NanoLib 1.3.0
24
8 Classi / funzioni di riferenza
caricare Bootloader ()
Aduprate sta funzione per aghjurnà u vostru bootloader di u controller.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* callback)
Parametri deviceHandle btData NlcDataTransferCallback
Ritorna ResultVoid
Specifica ciò chì u dispositivu di bus NanoLib aghjurnà. Array chì cuntene dati di bootloader. Un tracciatore di prugressu di dati. Conferma chì una funzione void hè stata eseguita.
uploadBootloaderFromFile ()
Aduprate sta funzione per aghjurnà u vostru bootloader di u controller carichendu u so file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePath, NlcDataTransferCallback* callback)
Parametri deviceHandle bootloaderAbsoluteFilePath NlcDataTransferCallback
Ritorna ResultVoid
Specifica ciò chì u dispositivu di bus NanoLib aghjurnà. Strada à file chì cuntene dati di bootloader (std::string). Un tracciatore di prugressu di dati. Conferma chì una funzione void hè stata eseguita.
uploadBootloaderFirmware ()
Aduprate sta funzione per aghjurnà u vostru bootloader è u firmware di u controller.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* callback)
Parametri deviceHandle btData fwData NlcDataTransferCallback
Ritorna ResultVoid
Specifica ciò chì u dispositivu di bus NanoLib aghjurnà. Array chì cuntene dati di bootloader. Array chì cuntene dati di firmware. Un tracciatore di prugressu di dati. Conferma chì una funzione void hè stata eseguita.
uploadBootloaderFirmwareFromFile ()
Aduprate sta funzione per aghjurnà u vostru bootloader è u firmware di u controller carichendu u files.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePath, const std::string & assolutuFilePath, NlcDataTransferCallback* callback)
Parametri deviceHandle bootloaderAbsoluteFileStrada assolutaFilePath NlcDataTransferCallback
Ritorna ResultVoid
Specifica ciò chì u dispositivu di bus NanoLib aghjurnà. Strada à file chì cuntene dati di bootloader (std::string). Strada à file chì cuntene dati di firmware (uint8_t). Un tracciatore di prugressu di dati. Conferma chì una funzione void hè stata eseguita.
Versione: doc 1.4.2 / NanoLib 1.3.0
25
8 Classi / funzioni di riferenza
carica NanoJ ()
Aduprate sta funzione publica per cullà u prugramma NanoJ à u vostru controller.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* callback)
Parametri deviceHandle vmmData NlcDataTransferCallback
Ritorna ResultVoid
Specifica à quale u dispositivu di bus NanoLib carica. Array chì cuntene dati NanoJ. Un tracciatore di prugressu di dati. Conferma chì una funzione void hè stata eseguita.
carica NanoJFromFile ()
Aduprate sta funzione publica per cullà u prugramma NanoJ à u vostru controller carichendu u file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & assolutuFilePath, NlcDataTransferCallback* callback)
Parametri deviceHandle assolutuFilePath NlcDataTransferCallback
Ritorna ResultVoid
Specifica à quale u dispositivu di bus NanoLib carica. Strada à file chì cuntene dati NanoJ (std::string). Un tracciatore di prugressu di dati. Conferma chì una funzione void hè stata eseguita.
disconnectDevice () Aduprate sta funzione per disconnect u vostru dispositivu da deviceHandle.
Virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Parametri deviceHandle Ritorna ResultVoid
Specifica da quale dispositivo di bus NanoLib si disconnette. Conferma chì una funzione void hè stata eseguita.
removeDevice () Aduprate sta funzione per sguassà u vostru dispositivu da a lista di i dispositi interni di NanoLib.
Virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Parametri deviceHandle Ritorna ResultVoid
Specifica quale dispositivo di bus NanoLib elimina. Conferma chì una funzione void hè stata eseguita.
closeBusHardware () Aduprate sta funzione per disconnect from your fieldbus hardware.
Virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
Paràmetri busHwId Ritorna ResultVoid
Specifica u bus di campu da disconnectà. Conferma chì una funzione void hè stata eseguita.
Versione: doc 1.4.2 / NanoLib 1.3.0
26
8 Classi / funzioni di riferenza
8.2 BusHardwareId
Aduprate sta classa per identificà un hardware di bus unu à unu o per distingue un hardware di bus differente da l'altru. Questa classa (senza funzioni di setter per esse immutable da a creazione) cuntene ancu informazioni nantu à:
Hardware (= nome di l'adattatore, adattatore di rete ecc.) Protokollu à utilizà (= Modbus TCP, CANopen etc.) Specificatore di hardware di bus (= nome di portu seriale, nome MAC Friendly
indirizzu ecc.)
BusHardwareId () [1/3] Costruttore chì crea un novu ughjettu di l'ID hardware di bus.
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_
Tipu di hardware (= ZK-USB-CAN-1 etc.). Protocolu di cumunicazione di bus (= CANopen ecc.). U specificatore di un hardware (= COM3 etc.). U specificatore extra di l'hardware (per dì, informazioni di locu USB). Un nome amichevule (= AdapterName (Port) etc. ).
BusHardwareId () [2/3] Costruttore chì crea un novu ughjettu di l'ID di hardware di bus, cù l'opzione per un specificatore di hardware extra.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)
Parametri busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Tipu di hardware (= ZK-USB-CAN-1 etc.). Protocolu di cumunicazione di bus (= CANopen ecc.). U specificatore di un hardware (= COM3 etc.). U specificatore extra di l'hardware (per dì, informazioni di locu USB). Un nome amichevule (= AdapterName (Port) etc. ).
BusHardwareId () [3/3] Costruttore chì copia un busHardwareId esistente.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
Parametri busHardwareId
Nomina l'ID hardware di l'autobus da copià.
uguale () Compara un novu ID di hardware di bus à quelli esistenti.
bool nlc::BusHardwareId::equals (BusHardwareId const & other) const
Parametri altri Ritorna vera
Un altru ughjettu di a listessa classe. Sì i dui sò uguali in tutti i valori.
Versione: doc 1.4.2 / NanoLib 1.3.0
27
8 Classi / funzioni di riferenza
falsu
Sì i valori sò diffirenti.
getBusHardware () Leghje a stringa di hardware di bus.
std::string nlc::BusHardwareId::getBusHardware () const
Ritorna stringa
getHardwareSpecifier () Leghjite a stringa di specificazione di u hardware di u bus (= nome di a rete ecc.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Ritorna stringa
getExtraHardwareSpecifier () Leghjite a stringa di specificazione di u hardware extra di bus (= indirizzu MAC etc.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Ritorna stringa
getName () Leghjite u nome amichevule di u hardware di l'autobus.
std::string nlc::BusHardwareId::getName () const
Ritorna stringa
getProtocol () Leghjite a stringa di protocolu di bus.
std::string nlc::BusHardwareId::getProtocol () const
Ritorna stringa
toString () Ritorna l'ID hardware di l'autobus cum'è una stringa.
std::string nlc::BusHardwareId::toString () const
Ritorna stringa
8.3 Opzioni BusHardware
Truvate in questa classa, in una lista chjave-valore di stringhe, tutte l'opzioni necessarie per apre un hardware di bus.
Versione: doc 1.4.2 / NanoLib 1.3.0
28
8 Classi / funzioni di riferenza
BusHardwareOptions () [1/2] Custruisce un novu oggettu d'opzione di hardware di bus.
nlc::BusHardwareOptions::BusHardwareOptions () Aduprate a funzione addOption () per aghjunghje coppie chjave-valore.
BusHardwareOptions () [2/2] Custruisce un novu oggettu d'opzioni di hardware di bus cù a mappa di u valore chjave digià in u locu.
nlc::BusHardwareOptions::BusHardwareOptions (std::mappa const & opzioni)
Opzioni di paràmetri
Una mappa cù opzioni per u hardware di l'autobus per operà.
addOption () Crea chjavi è valori supplementari.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)
Valore chjave di i paràmetri
Example: BAUD_RATE_OPTIONS_NAME, vede bus_hw_options_ defaults
Example: BAUD_RATE_1000K, vede bus_hw_options_defaults
uguale () Compara i BusHardwareOptions à quelli esistenti.
bool nlc::BusHardwareOptions::uguale (BusHardwareOptions const & altri) const
Parametri altri Ritorna vera
falsu
Un altru ughjettu di a listessa classe. Se l'altru ughjettu hà tutte e listesse opzioni. Se l'altru ughjettu hà diverse chjave o valori.
getOptions () Leghje tutte e coppie chjave-valore aghjunte.
std::mappa nlc::BusHardwareOptions::getOptions () const
Ritorna mappa di stringa
toString () Ritorna tutte e chjave / valori cum'è una stringa.
std::string nlc::BusHardwareId::toString () const
Ritorna stringa
8.4 BusHwOptionsDefault
Questa classe di opzioni di cunfigurazione predeterminata hà i seguenti attributi publichi:
Versione: doc 1.4.2 / NanoLib 1.3.0
29
8 Classi / funzioni di riferenza
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () serial = Serial () restfulBus = RESTfulBus () ethercatBus = EtherCATBus ()
8.5 CanBaudRate
Struttura chì cuntene baudrates di bus CAN in i seguenti attributi publichi:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_RATE_100K = "UD_RATE_100k"_50 BAUD_RATE_50K ATE_20K = "20k" BAUD_RATE_10K = "10k" BAUD_RATE_5K = "5k"
8.6 CanBus
Classe di opzioni di cunfigurazione predeterminata cù i seguenti attributi publichi:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = "velocità di baud per adattatore" baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
Per u serviziu NMT, sta struttura cuntene i stati CANopen NMT cum'è valori di stringa in i seguenti attributi publichi:
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
Questa struttura cuntene i stati CANopen NMT cum'è valori di stringa in i seguenti attributi publichi:
const std::string const std::string const std::string const std::string const std::string
STOPPED = "STOPPED" PRE_OPERATIONAL = "PRE_OPERATIONAL" OPERATIONAL = "OPERATIONAL" INITIALIZATION = "INIZIALIZZAZIONE" SCONOSCIUTA = "SCONOSCIUTA"
8.9 EtherCATBus struct
Questa struttura cuntene l'opzioni di cunfigurazione di cumunicazione EtherCAT in i seguenti attributi publichi:
Versione: doc 1.4.2 / NanoLib 1.3.0
30
8 Classi / funzioni di riferenza
const std::string NETWORK_FIRMWARE_STATE_OP- Statu di a rete trattatu cum'è modalità di firmware. Acceptable
TION_NAME = "Statu di u firmware di a rete"
valori (default = PRE_OPERATIONAL):
EtherCATState::PRE_OPERATIONAL EtherCATState::SAFE_OPERATIONAL EtherCATState::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = "PRE_OPERATIONAL"
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Timeout in millisecondi per acquistà un bloccu exclusivu
TION_NAME = "Timeout Lock Shared"
a reta (default = 500 ms).
const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Timeout in millisecondi per acquistà un bloccu cumunu
NAME = "Timeout Lock Shared"
a reta (default = 250 ms).
const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = "250"
const std::string READ_TIMEOUT_OPTION_NAME = Timeout in millisecondi per una operazione di lettura (predeterminatu
"Timeout di lettura"
= 700 ms).
const unsigned int DEFAULT_READ_TIMEOUT = "700"
const std::string WRITE_TIMEOUT_OPTION_NAME = Timeout in millisecondi per una operazione di scrittura (default
"Scrivi Timeout"
= 200 ms).
const unsigned int DEFAULT_WRITE_TIMEOUT = "200"
const std::string READ_WRITE_ATTEMPTS_OPTION_ Massimi tentativi di lettura o scrittura (valori diversi da zero)
NOME = "Attentati di lettura / scrittura"
solu; default = 5).
const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = "5"
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "Cambià i tentativi di u Statu di a Rete"
U numeru massimu di tentativi di cambià u statu di a rete (solu valori non-zero; default = 10).
const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"
const std::string PDO_IO_ENABLED_OPTION_NAME Abilita o disattiva l'elaborazione PDO per l'inserzione digitale /
= "PDO IO attivatu"
outputs ("Vero" o "Falso" solu; default = "Vero").
const std::string DEFAULT_PDO_IO_ENABLED = "Veru"
8.10 EtherCATState struct
Questa struttura cuntene i stati slave / rete EtherCAT cum'è valori di stringa in i seguenti attributi publichi. Nota: u statu predeterminatu à l'accensione hè PRE_OPERATIONAL; NanoLib ùn pò micca furnisce un statu "OPERATIVO" affidabile in un sistema operatore micca in tempu reale:
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"
Versione: doc 1.4.2 / NanoLib 1.3.0
31
8 Classi / funzioni di riferenza
8.11 Ixxat
Questa struttura cuntene tutte l'infurmazioni per u Ixxat usb-to-can in i seguenti attributi publichi:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "numeru di bus di l'adattatore ixxat"
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Questa struttura cuntene u numeru di bus per l'usb-to-can Ixxat in i seguenti attributi publichi:
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"
Piccu 8.13
Questa struttura cuntene tutte l'infurmazioni per u Peak usb-to-can in i seguenti attributi publichi:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "Numeru di bus di l'adattatore di punta"
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
Questa struttura cuntene u numeru di bus per u Peak usb-to-can in i seguenti attributi publichi:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS:_4) = std::to_string (PCAN_USBBUS5) (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::to_NUMBER_9 = std::to_USBBUS10 (PCAN_USBBUS10) (PCAN_USBBUS11) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS13) BUS_NUMBER_13 = std::to_string (PCAN_USBBUS14) BUS_NUMBER_14 = std::_USBBUS15 = std::_USBBUS15 = std::_USBBUS16 std::to_string (PCAN_USBBUS16) BUS_NUMBER_XNUMX = std::to_string (PCAN_USBBUSXNUMX)
8.15 DeviceHandle
Questa classa rapprisenta un manicu per cuntrullà un dispositivu in un autobus è hà e seguenti funzioni di membri publicu.
DeviceHandle () DeviceHandle (uint32_t handle)
Versione: doc 1.4.2 / NanoLib 1.3.0
32
8 Classi / funzioni di riferenza
uguale () Si compara cù un manicu di un dispositivu datu.
bool uguale (DeviceHandle const other) const (uint32_t handle)
toString () Ritorna una rapprisentazione di stringa di u manicu di u dispusitivu.
std::string toString () const
get () Ritorna u manicu di u dispusitivu.
uint32_t get () const
8.16 DeviceId
Aduprate sta classa (micca immutable da a creazione) per identificà è distingue i dispositi in un autobus:
Identificatore di l'adattatore hardware
Identificatore di u dispusitivu
Descrizzione
U significatu di i valori di ID / descrizzione di u dispusitivu dipende da u bus. Per esample, un bus CAN pò aduprà l'ID integer.
DeviceId () [1/3] Custruisce un novu ughjettu ID di u dispositivu.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)
Parametri busHardwareId_ deviceId_ description_
Identificatore di l'autobus. Un indice; sottumessu à u bus (= CANopen node ID etc.). Una descrizzione (pò esse viota); sughjettu à l'autobus.
DeviceId () [2/3] Custruisce un novu ughjettu ID di u dispositivu cù opzioni ID estese.
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_
Identificatore di l'autobus. Un indice; sottumessu à u bus (= CANopen node ID etc.). Una descrizzione (pò esse viota); sughjettu à l'autobus. Un ID supplementu (pò esse viotu); u significatu dipende di l'autobus. ID string addiziale (pò esse viotu); u significatu dipende di l'autobus.
DeviceId () [3/3] Custruisce una copia di un oggettu ID di u dispositivu.
nlc::DeviceId::DeviceId (DeviceId const &)
Versione: doc 1.4.2 / NanoLib 1.3.0
33
8 Classi / funzioni di riferenza
Parametri deviceId_
ID di u dispusitivu da copià.
uguale () Compara u novu à l'uggetti esistenti.
bool nlc::DeviceId::equals (DeviceId const & other) const
Ritorna boolean
getBusHardwareId () Legge l'ID hardware di l'autobus.
BusHardwareId nlc::DeviceId::getBusHardwareId () const
Ritorna BusHardwareId
getDescription () Leghje a descrizzione di u dispositivu (forse inutilizatu).
std::string nlc::DeviceId::getDescription () const
Ritorna stringa
getDeviceId () Leghjite l'ID di u dispositivu (forse inutilizatu).
unsigned int nlc::DeviceId::getDeviceId () const
Ritorna unsigned int
toString () Ritorna l'ughjettu cum'è una stringa.
std::string nlc::DeviceId::toString () const
Ritorna stringa
getExtraId () Leghjite l'ID extra di u dispusitivu (pò esse inutilizatu).
const std::vector &getExtraId () const
Ritorna vettore
Un vettore di l'ID extra supplementari (pò esse viotu); significatu dipende di u bus.
getExtraStringId () Leghjite l'ID di stringa extra di u dispusitivu (pò esse inutilizatu).
std::string getExtraStringId () const
Versione: doc 1.4.2 / NanoLib 1.3.0
34
8 Classi / funzioni di riferenza
Ritorna stringa
L'ID string addiziale (pò esse viotu); significatu dipende di u bus.
8.17 LogLevelConverter
Questa classa torna u vostru livellu di log cum'è una stringa. static std::string toString (nlc::LogLevel logLevel)
8.18 LogModuleConverter
Questa classa torna u vostru log modulesetLoggingLevel () specificu di a libreria cum'è una stringa.
static std::string
toString (nlc::LogModule logModule)
static std::string toString (nlc::LogModule logModule)
8.19 ObjectDictionary
Questa classa rapprisenta un dizziunariu d'ughjettu di un controller è hà e seguenti funzioni di membri publicu: getDeviceHandle ()
Virtual ResultDeviceHandle getDeviceHandle () const Restituisce ResultDeviceHandle
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Restituisce ResultObjectSubEntry
getObjectEntry () virtual ResultObjectEntry getObjectEntry (indice uint16_t)
Ritorna ResultObjectEntry
Informa nantu à e proprietà di l'ughjettu.
getXmlFileNome () ResultString virtuale getXmlFileNome () cust
Ritorna ResultString
Ritorna u XML file nomu cum'è una stringa.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Ritorna ResultInt
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const index)
Versione: doc 1.4.2 / NanoLib 1.3.0
35
8 Classi / funzioni di riferenza
Ritorna ResultArrayInt readString ()
ResultString virtuale readString (OdIndex const odIndex) Ritorna ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Restituisce ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex const odIndex, valore di scrittura, cuntrastu) () Virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Ritorna ResultVoid Links Relativi OdIndex
8.20 Entrata d'ughjettu
Questa classa rapprisenta una entrata di l'ughjettu di u dizziunariu di l'ughjettu, hà l'attributu staticu prutettu è e funzioni di i membri publichi:
static nlc::ObjectSubEntry invalidObject
getName () Leghje u nome di l'ughjettu cum'è una stringa.
virtual std::string getName () const
getPrivate () Verifica se l'ughjettu hè privatu.
virtual bool getPrivate () const
getIndex () Leghjite l'indirizzu di l'indici di l'ughjettu.
virtuale uint16_t getIndex () const
Versione: doc 1.4.2 / NanoLib 1.3.0
36
8 Classi / funzioni di riferenza
getDataType () Leghjite u tipu di dati di l'ughjettu.
virtual nlc::ObjectEntryDataType getDataType () const
getObjectCode () Leghjite u codice di l'ughjettu:
Null Deftype Defstruct Var Array Record
0x00 0x05 0x06 0x07 0x08 0x09
virtual nlc::ObjectCode getObjectCode () const
getObjectSaveable () Verifica se l'ughjettu hè salvabile è a so categuria (vede u manuale di u produttu per più dettagli): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc::ObjectSaveable getObjectSaveable () const
getMaxSubIndex () Leghjite u numeru di subindici supportati da questu oggettu.
virtuale uint8_t getMaxSubIndex () const
getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Vede ancu ObjectSubEntry.
8.21 ObjectSubEntry
Questa classa rapprisenta una sub-entrata di l'ughjettu (subindex) di u dizziunariu d'ughjettu è hà e seguenti funzioni di membri publicu:
getName () Leghje u nome di l'ughjettu cum'è una stringa.
virtual std::string getName () const
getSubIndex () Leghjite l'indirizzu di u subindexu.
virtuale uint8_t getSubIndex () const
Versione: doc 1.4.2 / NanoLib 1.3.0
37
8 Classi / funzioni di riferenza
getDataType () Leghjite u tipu di dati di l'ughjettu.
virtual nlc::ObjectEntryDataType getDataType () const
getSdoAccess () Verifica se u subindexu hè accessibile via SDO:
Leghjite solu
1
Scrivite solu
2
Leghjite Scrive
3
NoAccess
0
virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () Verifica se u subindexu hè accessibile/mappabile via PDO:
Tx
1
Rx
2
TxRx
3
Innò
0
virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () Vérifie la longueur du sous-indice.
virtuale uint32_t getBitLength () const
getDefaultValueAsNumeric () Leghjite u valore predeterminatu di u subindexu per i tipi di dati numerichi.
Virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () Leghjite u valore predeterminatu di u subindexu per i tipi di dati di stringa.
Virtual ResultString getDefaultValueAsString (std::string const & key) const
getDefaultValues () Legge i valori predefiniti del sottoindice.
virtual std::map getDefaultValues () const
Versione: doc 1.4.2 / NanoLib 1.3.0
38
8 Classi / funzioni di riferenza
readNumber () Leghje u valore numericu reale di u subindexu.
Virtual ResultInt readNumber () const
readString () Leghjite u valore attuale di a stringa di u sottuindexu.
Virtual ResultString readString () const
readBytes () Leghjite u valore attuale di u subindexu in bytes.
Virtual ResultArrayByte readBytes () const
writeNumber () Scrive un valore numericu in u subindexu.
Virtual ResultVoid writeNumber (const int64_t value) const
writeBytes () Scrive un valore in u sottuindexu in bytes.
Virtual ResultVoid writeBytes (std::vector cust & data) cust
8.22 OdIndex
Aduprate sta classa (immutable da a creazione) per imballà è localizà indici / sub-indici di u repertoriu d'oggetti. L'OD di un dispositivu hà finu à 65535 (0xFFFF) fila è 255 (0xFF) colonne; cù spazii trà e fila discontinuu. Vede u standard CANopen è u vostru manuale di u produttu per più dettagli.
OdIndex () Custruisce un novu ogettu OdIndex.
nlc::OdIndex::OdIndex (uint16_t index, uint8_t subIndex)
Sous-indice de l'indice des paramètres
Da 0 à 65535 (0xFFFF) incl. Da 0 à 255 (0xFF) incl.
getIndex () Legge l'indice (da 0x0000 à 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const
Ritorna uint16_t
getSubindex () Leghje u sottu-indexu (da 0x00 à 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const
Versione: doc 1.4.2 / NanoLib 1.3.0
39
8 Classi / funzioni di riferenza
Ritorna uint8_t
toString () Ritorna l'indici è u subindexu cum'è una stringa. La chaîne par défaut 0xIIII:0xSS se lit comme suit :
I = indice de 0x0000 à 0xFFFF
S = sous-indice de 0x00 à 0xFF
std::string nlc::OdIndex::toString () const
Ritorna 0xIIII:0xSS
Rappresentazione di stringa predefinita
8.23 OdLibrary
Aduprate sta interfaccia di prugrammazione per creà istanze di a classe ObjectDictionary da XML. Per assignObjectDictionary, pudete allora ligà ogni istanza à un dispositivu specificu per via di un identificatore creatu unicu. L'istanze ObjectDictionary cusì create sò almacenate in l'ughjettu OdLibrary per esse accessu da index. A classe ODLibrary carica oggetti ObjectDictionary da file o array, li guarda, è hà e seguenti funzioni di membri publicu:
getObjectDictionaryCount () virtuale uint32_t getObjectDictionaryCount () const
getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Ritorna ResultObjectDictionary
addObjectDictionaryFromFile ()
Virtual ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFilecaminu)
Ritorna ResultObjectDictionary
addObjectDictionary ()
Virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFilePath = std::string ())
Ritorna ResultObjectDictionary
8.24 OdTypesHelper
In più di e seguenti funzioni di membri publicu, sta classa cuntene tippi di dati persunalizati. Nota: Per verificà i vostri tipi di dati persunalizati, cercate a classa enum ObjectEntryDataType in od_types.hpp.
uintToObjectCode () Cunverte interi senza segnu in codice d'ughjettu:
Null Deftype
0x00 0x05
Versione: doc 1.4.2 / NanoLib 1.3.0
40
8 Classi / funzioni di riferenza
Defstruct Var Array Record
0x06 0x07 0x08 0x09
static ObjectCode uintToObjectCode (unsigned int objectCode)
isNumericDataType () Informa se un tipu di dati hè numericu o micca.
static bool isNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () Informa se un oggettu hè un indice di struttura di definizione o micca.
static bool isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Informa se un oggettu hè un indice di tipu di definizione o micca.
static bool isDeftypeIndex (uint16_t typeNum)
isComplexDataType () Informa se un tipu di dati hè cumplessu o micca.
static bool isComplexDataType (ObjectEntryDataType dataType)
uintToObjectEntryDataType () Cunverte interi senza segnu in tipu di dati OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () Cunverte u tipu di dati OD in stringa.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () Cunverte a stringa in u tipu di dati OD se pussibule. Altrimenti, torna UNKNOWN_DATATYPE.
static ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
Versione: doc 1.4.2 / NanoLib 1.3.0
41
8 Classi / funzioni di riferenza
objectEntryDataTypeBitLength () Informa nantu à a lunghezza di bit di un tipu di dati d'ingressu d'ughjettu.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)
8.25 RESTfulBus struct
Questa struttura cuntene l'opzioni di cunfigurazione di cumunicazione per l'interfaccia RESTful (over Ethernet). Contene i seguenti attributi publichi:
const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long
CONNECT_TIMEOUT_OPTION_NAME = "Timeout RESTful Connect" DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = "RESTful Request Timeout" DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = "RESTful Response Timeout" DEFAULT_750OUT_XNUMX
8.26 ProfinetDCP
Sottu Linux, l'applicazione di chjama hà bisognu di capacità CAP_NET_ADMIN è CAP_NET_RAW. Per attivà: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. In Windows, l'interfaccia ProfinetDCP usa WinPcap (pruvatu cù a versione 4.1.3) o Npcap (pruvatu cù e versioni 1.60 è 1.30). Cusì cerca a biblioteca wpcap.dll caricata dinamicamente in l'ordine seguente (Nota: ùn hè micca supportu Win10Pcap attuale):
1. Cartulina Nanolib.dll 2. Cartulina di sistema di Windows SystemRoot%System32 3. Cartulina d'installazione Npcap SystemRoot%System32Npcap 4. Percorsu di l'ambiente
Questa classa rapprisenta una interfaccia Profinet DCP è hà e seguenti funzioni di membri publicu:
getScanTimeout () Informa nantu à u timeout di scansione di u dispositivu (default = 2000 ms).
virtuale uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () Stabilisce un timeout di scansione di u dispositivu (default = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () Informa nantu à un timeout di risposta di u dispositivu per l'operazione di setup, reset è lampeggia (predeterminatu = 1000 ms).
virtuale uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () Informa nantu à un timeout di risposta di u dispositivu per l'operazione di setup, reset è lampeggiante (default = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Versione: doc 1.4.2 / NanoLib 1.3.0
42
8 Classi / funzioni di riferenza
isServiceAvailable ()
Aduprate sta funzione per verificà a dispunibilità di u serviziu Profinet DCP.
Validità / disponibilità di l'adattatore di rete Windows: Disponibilità WinPcap / Npcap Linux: capacità CAP_NET_ADMIN / CAP_NET_RAW
Virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)
Parametri BusHardwareId Ritorna vera
falsu
ID hardware di u serviziu Profinet DCP per verificà. U serviziu hè dispunibule. U serviziu ùn hè micca dispunibule.
scanProfinetDevices () Aduprate sta funzione per scansà u bus hardware per a presenza di i dispositi Profinet.
Virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)
Parametri BusHardwareId Ritorna ResultProfinetDevices
Specifica ogni bus di campu à apre. L'hardware hè apertu.
setupProfinetDevice () Stabbilisce i seguenti paràmetri di u dispositivu:
Nome di u dispusitivu
indirizzu IP
Mascara di rete
Gateway predeterminatu
Virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () Arresta u dispusitivu è resetta à i paràmetri di fabbrica.
Virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () Cumanda à u dispositivu Profinet per cumincià à lampà u so LED Profinet.
Virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)
validateProfinetDeviceIp () Aduprate sta funzione per verificà l'indirizzu IP di u dispusitivu.
Virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)
Parametri BusHardwareId ProfinetDevice
Specifica l'ID hardware per verificà. Specifica u dispusitivu Profinet à cunvalidà.
Versione: doc 1.4.2 / NanoLib 1.3.0
43
8 Classi / funzioni di riferenza
Ritorna ResultVoid
8.27 ProfinetDevice struct
I dati di u dispositivu Profinet anu i seguenti attributi publichi:
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
deviceName deviceVendor macAddress ipAddress netMask defaultGateway
L'indirizzu MAC hè furnitu cum'è array in format macAddress = {xx, xx, xx, xx, xx, xx}; mentri l'indirizzu IP, a maschera di a rete è u gateway sò tutti interpretati cum'è numeri esadecimale big endian, cum'è:
Indirizzu IP: 192.168.0.2 Maschera di rete: 255.255.0.0 Gateway: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Classi di risultatu
Aduprate i valori di ritornu "opcionali" di queste classi per verificà se una chjama di funzione hà successu o micca, è ancu localizà i motivi di fallu. In u successu, a funzione hasError () torna false. Per getResult (), pudete leghje u valore di u risultatu per tipu (ResultInt etc.). Se una chjama falla, avete lettu u mutivu per getError ().
Attributi prutetti
stringa NlcErrorCode uint32_t
errorString errorCode exErrorCode
Inoltre, sta classa hà e seguenti funzioni di membri publicu:
hasError () Leghje u successu di una chjama di funzione.
bool nlc::Result::hasError () const
Ritorna
veru falsu
Chjama falluta. Aduprate getError () per leghje u valore. Chjama successu. Aduprate getResult () per leghje u valore.
getError () Leghjite u mutivu se una chjama di funzione falla.
const std::string nlc::Result::getError () const
Ritorna una stringa const
Versione: doc 1.4.2 / NanoLib 1.3.0
44
8 Classi / funzioni di riferenza
result () E seguenti funzioni aiutanu à definisce i risultati esatti:
Risultatu (std::string const & errorString_)
Risultatu (NlcErrorCode const & errCode, std::string const & errorString_)
Risultatu (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Risultato (Const and result)
getErrorCode () Leghjite u NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 ResultVoid
NanoLib vi manda una istanza di sta classa se a funzione torna void. A classa eredita e funzioni pubbliche è l'attributi prutetti da a classa di risultatu è hà e seguenti funzioni di membri publicu:
ResultVoid () E seguenti funzioni aiutanu à definisce u risultatu esatta di l'annullamentu:
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 (Const and result result)
8.28.2 ResultInt
NanoLib vi manda una istanza di sta classa se a funzione torna un interu. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Ritorna u risultatu interu se una chjama di funzione hà successu.
int64_t getResult () const
Ritorna int64_t
Versione: doc 1.4.2 / NanoLib 1.3.0
45
8 Classi / funzioni di riferenza
ResultInt () E seguenti funzioni aiutanu à definisce u risultatu interu esatta:
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 (Const and result result)
8.28.3 ResultString
NanoLib vi manda una istanza di sta classa se a funzione torna una stringa. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Leghje u risultatu di a stringa se una chjama di funzione hà successu.
const std::string nlc::ResultString::getResult () const
Ritorna una stringa const
ResultString () E seguenti funzioni aiutanu à definisce u risultatu di stringa esatta:
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 (Const and result result)
8.28.4 ResultArrayByte
NanoLib vi manda una istanza di sta classa se a funzione torna un array di byte. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Leghje u vettore di byte se una chjama di funzione hà successu.
const std::vector nlc::ResultArrayByte::getResult () const
Ritorna u vettore constante
Versione: doc 1.4.2 / NanoLib 1.3.0
46
8 Classi / funzioni di riferenza
ResultArrayByte () E seguenti funzioni aiutanu à definisce u risultatu esatta di l'array di byte:
ResultArrayByte (std::vector cust & result_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & errore String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Const and result result)
8.28.5 ResultArrayInt
NanoLib vi manda una istanza di sta classa se a funzione torna un array integer. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Leghjite u vettore interu se una chjama di funzione hà successu.
const std::vector nlc::ResultArrayInt::getResult () const
Ritorna u vettore constante
ResultArrayInt () E seguenti funzioni aiutanu à definisce u risultatu esatta di l'array integer:
ResultArrayInt (std::vector cust & result_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & errore String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Const and result result)
8.28.6 ResultBusHwIds
NanoLib vi manda una istanza di sta classa se a funzione torna un array d'ID di hardware di bus. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Leghje u vettore di bus-hardware-ID se una chjama di funzione hà successu.
const std::vector nlc::ResultBusHwIds::getResult () const
Parametri const vector
Versione: doc 1.4.2 / NanoLib 1.3.0
47
8 Classi / funzioni di riferenza
ResultBusHwIds () E seguenti funzioni aiutanu à definisce u risultatu esattu bus-hardware-ID-array:
ResultBusHwIds (std::vector cust & 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 (Const and result result)
8.28.7 ResultDeviceId
NanoLib vi manda una istanza di sta classa se a funzione torna un ID di u dispositivu. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Leghjite u vettore di l'ID di u dispositivu se una chjama di funzione hà successu.
DeviceId nlc::ResultDeviceId::getResult () const
Ritorna u vettore constante
ResultDeviceId () E seguenti funzioni aiutanu à definisce u risultatu esattu di l'ID di u dispositivu:
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 (Const and result result)
8.28.8 ResultDeviceIds
NanoLib vi manda una istanza di sta classa se a funzione torna un array ID di u dispositivu. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Ritorna u vettore ID di u dispositivu se una chjama di funzione hà successu.
DeviceId nlc::ResultDeviceIds::getResult () const
Ritorna u vettore constante
Versione: doc 1.4.2 / NanoLib 1.3.0
48
8 Classi / funzioni di riferenza
ResultDeviceIds () E seguenti funzioni aiutanu à definisce u risultatu esattu di u dispusitivu-ID-array:
ResultDeviceIds (std::vector cust & 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 (Const and result result)
8.28.9 ResultDeviceHandle
NanoLib vi manda una istanza di sta classa se a funzione torna u valore di un manicu di u dispositivu. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Leghjite u manicu di u dispusitivu se una chjama di funzione hà successu.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Ritorna DeviceHandle
ResultDeviceHandle () E seguenti funzioni aiutanu à definisce u risultatu esatta di u dispusitivu:
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 (Const and result result)
8.28.10 ResultObjectDictionary
NanoLib vi manda una istanza di sta classa se a funzione torna u cuntenutu di un dizziunariu d'ughjettu. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Leghjite u vettore di l'ID di u dispositivu se una chjama di funzione hà successu.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
Versione: doc 1.4.2 / NanoLib 1.3.0
49
8 Classi / funzioni di riferenza
Ritorna
vettore cust
ResultObjectDictionary () E seguenti funzioni aiutanu à definisce u risultatu esatta di u dizziunariu d'ughjettu:
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 (Const and result result)
8.28.11 ResultConnectionState
NanoLib vi manda una istanza di sta classa se a funzione torna una infurmazione di u dispusitivu di cunnessione. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Leghjite u manicu di u dispusitivu se una chjama di funzione hà successu.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
Ritorna DeviceConnectionStateInfo Cunnessu / Disconnected / ConnectedBootloader
ResultConnectionState () E seguenti funzioni aiutanu à definisce u risultatu esatta di u statu di cunnessione:
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 (Const and result result)
8.28.12 ResultObjectEntry
NanoLib vi manda una istanza di sta classa se a funzione torna una entrata d'ughjettu. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
Versione: doc 1.4.2 / NanoLib 1.3.0
50
8 Classi / funzioni di riferenza
getResult () Ritorna u vettore ID di u dispositivu se una chjama di funzione hà successu.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Ritorna const ObjectEntry
ResultObjectEntry () E seguenti funzioni aiutanu à definisce u risultatu esatta di l'entrata di l'ughjettu:
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 (Const and result result)
8.28.13 ResultObjectSubEntry
NanoLib vi manda una istanza di sta classa se a funzione torna una subentrata d'ughjettu. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Ritorna u vettore ID di u dispositivu se una chjama di funzione hà successu.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Ritorna const ObjectSubEntry
ResultObjectSubEntry () E seguenti funzioni aiutanu à definisce u risultatu esattu di a subentrata di l'ughjettu:
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 (Const and result result)
8.28.14 ResultProfinetDevices
NanoLib vi manda una istanza di sta classa se a funzione torna un dispositivu Profinet. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
Versione: doc 1.4.2 / NanoLib 1.3.0
51
8 Classi / funzioni di riferenza
getResult () Leghjite u vettore di u dispositivu Profinet se una chjama di funzione hà successu.
const std::vector & getResult () const
ResultProfinetDevices () E seguenti funzioni aiutanu à definisce i dispositi Profinet esatti.
ResultProfinetDevices (const std::vector & Profinet Devices)
ResultProfinetDevices (const Risultatu è risultatu)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 RisultatuSampleDataArray
NanoLib vi manda una istanza di sta classa se a funzione torna cum'èample matrice di dati. A classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Legge l'array di dati se una chjama di funzione hà successu.
const std::vector <SampleData> & getResult () const
Risultatu SampleDataArray () E seguenti funzioni aiutanu à definisce i dispositi Profinet esatti.
Risultatu SampleDataArray (const std::vector <SampleData> & dataArray)
Risultatu SampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
Risultatu SampleDataArray (const ResultSampleDataArray è altri)
Risultatu SampleDataArray (const Risultatu è risultatu)
8.28.16 RisultatuSamplerState
NanoLib vi manda una istanza di sta classa se a funzione torna cum'èampler state.Sta classa eredita e funzioni pubbliche / attributi prutetti da a classa di risultati è hà e seguenti funzioni di membri publicu:
getResult () Legge u sampler state vector se una chjama di funzione hà successu.
SamplerState getResult () const
Ritorna SamplerState>
Unconfiguratu / Cunfiguratu / Prontu / In esecuzione / Cumpletu / Fiascu / Annullatu
Versione: doc 1.4.2 / NanoLib 1.3.0
52
8 Classi / funzioni di riferenza
Risultatu SamplerState () E seguenti funzioni aiutanu à definisce l'esatta sampler state.
Risultatu SamplerState (const Sampler State)
Risultatu SamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
extendedErrorCode = 0)
Risultatu SamplerState (const ResultSamplerState è altri)
Risultatu SamplerState (const Risultatu è risultatu)
8.29 NlcErrorCode
Se qualcosa va male, e classi di risultati riportanu unu di i codici d'errore elencati in questa enumerazione.
Codice di errore Successu GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch Operation Aborted OperationNotSupported InvalidOperation
InvalidArguments Access Denied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError
C : Category D : Descrizzione R : Motivazione C : Nisuna. D: Nisuna errore. FR: L' opération s'est terminée avec succès.
C: Unspécifié. D: Errore senza specificazione. R: Un fallimentu chì ùn si adatta à nisuna altra categuria.
C: Autobus. D: L'autobus hardware ùn hè micca dispunibule. R: Autobus inesistente, tagliatu o difettu.
C: Comunicazione. D: A cumunicazione inaffidabile. R: Dati inaspettati, CRC sbagliati, errori di frame o parità, etc.
C: Protocolu. D: Errore di protocolu. R: Risposta dopu l'opzione di protokollu micca supportatu, u rapportu di u dispositivu protocolu micca supportatu, errore in u protokollu (per esempiu, SDO segment sync bit), etc. R: Una risposta o un rapportu di u dispositivu à un protokollu micca supportatu (opzioni) o à l'errori in u protocolu (per esempiu, SDO). segment sync bit), etc. R: Protokollu micca supportatu (opzioni) o errore in u protocolu (per esempiu, SDO segment sync bit), etc.
C : Dizziunariu d'ughjettu. D: Indirizzu OD inesistente. R: Nisun indirizzu tali in u dizziunariu d'ughjettu.
C : Dizziunariu d'ughjettu. D: Accessu à l'indirizzu OD invalidu. R: Pruvate di scrive un indirizzu di sola lettura, o di leghje da un indirizzu di scrittura solu.
C : Dizziunariu d'ughjettu. D: Discordanza di tipu. R: Valore micca cunvertitu à u tipu specificatu, per dì, in un tentativu di trattà una stringa cum'è un numeru.
C: Applicazione. D: Prucessu annullatu. R: Prucessu tagliatu da dumanda di applicazione. Ritorna solu nantu à l'interruzzione di u funziunamentu da a funzione di callback, per dì, da u bus-scanning.
C: Cumunu. D: Prucessu micca supportatu. R: Nisun supportu di bus / dispositivi hardware.
C: Cumunu. D: Prucessu incorrectu in u cuntestu attuale, o invalidu cù l'argumentu attuale. R: Un tentativu di ricollegamentu à i busi / dispusitivi digià cunnessi. Un tentativu di scollegamentu à quelli chì sò digià disconnected. Un tentativu di operazione di bootloader in modalità firmware o viceversa.
C: Cumunu. D: Argumentu invalidu. R: Logica o sintassi sbagliata.
C: Cumunu. D: L'accessu hè negatu. R: Mancanza di diritti o capacità per fà l'operazione dumandata.
C: Cumunu. D: Elementu specificatu micca truvatu. R: Hardware bus, protocolu, dispusitivu, indirizzu OD nant'à u dispusitivu, o file ùn hè statu trovu.
C: Cumunu. D: Elementu specificatu micca truvatu. R: occupatu, inesistente, cut-off o difettu.
C: Cumunu. D: Memoria insufficiente. R: Troppu pocu memoria per processà stu cumandamentu.
C: Cumunu. D: U prucessu hè scadutu. R: Ritorna dopu à u time-out scadutu. Timeout pò esse un tempu di risposta di u dispositivu, un tempu per acquistà un accessu à risorse spartute o esclusive, o un tempu per cambià l'autobus / u dispusitivu in un statu adattatu.
Versione: doc 1.4.2 / NanoLib 1.3.0
53
8 Classi / funzioni di riferenza
8.30 NlcCallback
Questa classa parent per i callbacks hà a seguente funzione di membru publicu: callback ()
richiamata virtuale ResultVoid ()
Ritorna
ResultVoid
8.31 NlcDataTransferCallback
Aduprate sta classa di callback per i trasferimenti di dati (aghjurnamentu di firmware, carica NanoJ ecc.). 1. Per un upload di firmware: Definite un "co-class" chì estende questu cun un metudu di callback customizatu
implementazione. 2. Aduprate i casi di "co-class" in NanoLibAccessor.uploadFirmware () chjama. A classa principale stessu hà a seguente funzione di membru publicu:
callback () callback virtuale ResultVoid (nlc::DataTransferInfo info, int32_t data)
Ritorna
ResultVoid
8.32 NlcScanBusCallback
Aduprate sta classa di callback per scanning bus. 1. Definite una "co-class" chì estende questu cù una implementazione di metudu di callback customizata. 2. Aduprate l'istanze di "co-class" in NanoLibAccessor.scanDevices () chjama. A classa principale stessu hà a seguente funzione di membru publicu.
richiamata ()
callback virtuale ResultVoid (nlc::BusScanInfo info, std::vector const & devicesFound, dati int32_t)
Ritorna ResultVoid
8.33 NlcLoggingCallback
Aduprate sta classa di callback per logu callbacks. 1. Definite una classa chì estende sta classa cù una implementazione di metudu di callback customizata 2. Aduprate un punteru à e so istanze per stabilisce una callback da NanoLibAccessor >
setLoggingCallback (…).
callback virtuale void (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
Aduprate sta classa per cunfigurà, inizià è piantà u sampler, o pè ottene sampdati led è piglià cum'èampu statutu di ler o l'ultimu errore. A classa hà e seguenti funzioni di membri publicu.
Versione: doc 1.4.2 / NanoLib 1.3.0
54
8 Classi / funzioni di riferenza
configure () Configura cum'èampTandler.
Virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfigurazione & samplerConfiguration)
Parametri [in] deviceHandle [in] samplerConfigurazione
Ritorna ResultVoid
Specifica quale dispusitivu cunfigurà u sampler per. Specifica i valori di l'attributi di cunfigurazione. Conferma chì una funzione void hè stata eseguita.
getData () Ottene u sampdati purtati.
Risultatu virtuale SampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Parametri [in] deviceHandle Ritorna ResultSampleDataArray
Specifica u dispusitivu per piglià i dati.
Consegna u sampled data, chì pò esse un array viotu se samplerNotify hè attivu à u principiu.
getLastError () Gets asampl'ultimu errore di ler.
Virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
Ritorna ResultVoid
Conferma chì una funzione void hè stata eseguita.
getState () Gets asampstatus di ler.
Risultatu virtuale SamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Ritorna u risultatu SamplerState
Consegna u sampler state.
principià () Accumincia cum'èampTandler.
Virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)
Parametri [in] deviceHandle [in] SamplerNotify [in] applicationData
Ritorna ResultVoid
Specifica chì dispusitivu per inizià u sampler per.
Specifica quale infurmazione opzionale per rapportà (pò esse nullptr).
Opzione: Inoltra i dati relativi à l'applicazione (una matrice di 8-bit definita da l'utente di valore / ID di dispositivo / indice, o una data-ora, un puntatore di una variabile / funzione, ecc.) à samplerNotify.
Conferma chì una funzione void hè stata eseguita.
Versione: doc 1.4.2 / NanoLib 1.3.0
55
8 Classi / funzioni di riferenza
stop () Ferma cum'èampTandler.
Virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
Parametri [in] deviceHandle Ritorna ResultVoid
Specifica chì dispusitivu di piantà u sampler per. Conferma chì una funzione void hè stata eseguita.
8.35 SamplerConfiguration struct
Stu struct cuntene i dati sampl'opzioni di cunfigurazione di ler (statica o micca).
Attributi publichi
std::vector indirizzi tracciati
Finu à 12 indirizzi OD per esse sampguidatu.
uint32_t
versione
A versione di una struttura.
uint32_t
durataMillisecondi
Sampdurata in ms, da 1 à 65535
uint16_t
periodu Millisecondi
Sampling period in ms.
uint16_t
numeru di Samples
Samples quantità.
uint16_t
preTriggerNumberOfSamples
Samples quantità di pre-trigger.
boul
utilizendu l'implementazione di u software
Utilizà l'implementazione di u software.
boul
usendu NewFWSamplerImplementation Aduprate l'implementazione FW per i dispositi cù a
Versione FW v24xx o più recente.
SamplerMode
modu
Normale, ripetitivu o cuntinuu sampling.
SamplerTriggerCondition triggerCondition
Condizioni di attivazione di partenza: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = TC_GREATER_0 = TC_GREATER_15 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValue
SamplerTrigger
SamplerTrigger
Un trigger per cumincià cum'èampler?
Attributi publichi statichi
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Aduprà sta classa per attivà sampler notificazioni quandu avete principiatu cum'èampler. A classa hà a seguente funzione di membru publicu.
Versione: doc 1.4.2 / NanoLib 1.3.0
56
8 Classi / funzioni di riferenza
avvisà ()
Fornisce una entrata di notificazione.
virtual void nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)
Parametri [in] lastError [in] samplerState
[in] sampleDatas [in] applicationData
Riporta l'ultimu errore accadutu mentre sampling. Riporta i sampStatu di ler à u mumentu di a notificazione: Unconfiguratu / Cunfiguratu / Pronta / In esecuzione / Cumpletu / Fiascu / Annullatu. Riporta i samparray di dati led. Riporta dati specifichi di l'applicazione.
8.37 SampleData struct
Questa struttura cuntene u sampdati purtati.
uin64_t iterationNumber
Accumincia da 0 è aumenta solu in modu ripetitivu.
std::vector<SampledValues> Contene l'array di sampi valori led.
8.38 SampledValue struct
Questa struttura cuntene u sampi valori led.
in64_t valore uin64_t CollectTimeMsec
Contene u valore di un indirizzu OD tracciatu.
Cuntene u tempu di cullizzioni in millisecondi, relative à u sampu principiu.
8.39 SamplerTrigger struct
Questa struttura cuntene i paràmetri di trigger di u sampTandler.
SamplerTriggerCondition condition
OdIndex uin32_t valore
A cundizione di trigger: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER__0xGREATER__GREATER__15x0 16x0 TC_LESS = 17x0 TC_LESS_OR_EQUAL = 18x0 TC_EQUAL = 19x0 TC_NOT_EQUAL = 1x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1xXNUMXC
L'OdIndex di u trigger (indirizzu).
Valore di cundizione o numeru di bit (partendu da u bit zero).
8.40 Struttura seriale
Truvate quì e vostre opzioni di cumunicazione seriale è i seguenti attributi publichi:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = "velocità di baud seriale" baudRate = struttura SerialBaudRate
Versione: doc 1.4.2 / NanoLib 1.3.0
57
8 Classi / funzioni di riferenza
const std::string const SerialParity
PARITY_OPTIONS_NAME = "parità seriale" parità = Struttura SerialParity
8.41 SerialBaudRate struct
Truvate quì u vostru baud rate di cumunicazione seriale è i seguenti attributi publichi:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE_56000 = “_56000” 57600” BAUD_RATE_57600 = “115200” BAUD_RATE_115200 = “128000” BAUD_RATE_128000 = “256000”
8.42 SerialParity struct
Truvate quì e vostre opzioni di parità seriale è i seguenti attributi publichi:
const std::string const std::string const std::string const std::string const std::string
NONE = "none" ODD = "dispari" EVEN = "pari" MARK = "marca" SPACE = "spaziu"
Versione: doc 1.4.2 / NanoLib 1.3.0
58
9 Licenze
9 Licenze
Intestazioni di l'interfaccia API NanoLib è exampu codice fonte sò licenziati da Nanotec Electronic GmbH & Co. KG sottu a Creative Commons Attribution 3.0 Unported License (CC BY). E parti di a biblioteca furnite in formatu binariu (biblioteche di cumunicazione core è fieldbus) sò licenziate sottu a Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).
Creative Commons
U seguente riassuntu leggibile da l'omu ùn sustituverà micca a licenza (s) stessa. Pudete truvà a licenza rispettiva in creativecommons.org è ligata quì sottu. Sò liberu di:
CC BY 3.0
Condividi: Vede bè. Adatta: Remix, trasfurmà è custruisce nantu à u
materiale per ogni scopu, ancu cummerciale.
CC BY-ND 4.0
Share: Copia è redistribuisce u materiale in ogni mediu o formatu.
U licenziatore ùn pò micca revocà e libertà sopra, sempre chì ubbidite à i seguenti termini di licenza:
CC BY 3.0
CC BY-ND 4.0
Attribuzione: Duvete dà un creditu adattatu, Attribuzione: Vede a sinistra. Ma: Fornite un ligame à questu
furnisce un ligame à a licenza, è indicà se
altra licenza.
cambiamenti sò stati fatti. Pudete fà cusì in qualsiasi
Nisun derivati : Sì remix, trasfurmate o custruisce
manera raghjone, ma micca in ogni modu chì suggerisce
nantu à u materiale, ùn pudete micca distribuisce
gests chì u licenziatore appruva voi o u vostru usu.
materiale mudificatu.
Nisuna restrizioni supplementari: Ùn pudete micca applicà Nisuna restrizioni supplementari: Vede a sinistra. termini legali o misure tecnologiche chì legalmente
restringe l'altri da fà qualcosa a licenza
permessi.
Nota: Ùn avete micca à cunfurmà cù a licenza per elementi di u materiale in u duminiu publicu o induve u vostru usu hè permessu da una eccezzioni o limitazione applicabile.
Nota: Nisuna garanzia data. A licenza ùn pò micca dà tutti i permessi necessarii per u vostru usu destinatu. Per esample, altri diritti cum'è publicità, privacy, o dritti murali pò limità cumu si aduprà u materiale.
Versione: doc 1.4.2 / NanoLib 1.3.0
59
Imprint, cuntattu, versioni
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Tutti i diritti riservati. Errore, omissione, mudificazione tecnica o di cuntenutu pussibule senza avvisu. I marchi / prudutti citati sò marchi di i so pruprietarii è da esse trattati cum'è tali. Versione originale.
Documentu 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
+ Added> Cambiatu # Fixed> Re-work of the furnished examples.
+ NanoLib Modbus: Meccanismu di bloccu di u dispositivu aghjuntu per Modbus VCP. # NanoLib Core: Verificazione di u statu di cunnessione fissa. # Codice NanoLib: Rimozione di riferenza di hardware di bus corretta.
+ NanoLib-CANopen: Supportu per l'adattatore Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: Cambiata l'interfaccia di callback di logging (LogLevel rimpiazzatu da LogModule). # NanoLib Logger: A separazione trà core è moduli hè stata corretta. # Modbus TCP: Fixed update firmware per FW4. # EtherCAT: Fixed u prugramma NanoJ upload per Core5. # EtherCAT: Fixed l'aghjurnamentu di firmware per Core5.
# Modbus RTU: Fixed i prublemi di timing cù baud rates durante l'aghjurnamentu di firmware. # RESTful: Caricà u prugramma NanoJ fissu.
# Moduli NanoLib Sampler : Lettura curretta di sampled valori booleani.
+ Supportu Java 11 per tutte e piattaforme. + Supportu Python 3.11/3.12 per tutte e piattaforme. + Nova interfaccia di callback di registrazione (vede examples). + Callback sinks per NanoLib Logger. > Aghjurnate logger à a versione 1.12.0. > Moduli NanoLib Sampler: Supportu avà per u firmware di u controller Nanotec v24xx. > Moduli NanoLib Sampler : Cambiamentu di struttura aduprata per sampler cunfigurazione. > Moduli NanoLib Sampler: U modu cuntinuu hè sinonimu di infinitu; a cundizione di trigger hè verificata una volta; u numeru di sampi deve esse 0. > NanoLib Modules Sampler: Priorità normale per u filu chì raccoglie dati in modu firmware. > Moduli NanoLib Sampler: Algoritmu riscritto per detectà a transizione trà u statu Ready & Running. # NanoLib Core: Nisuna più violazione di l'accessu (0xC0000005) per chjude 2 o più dispositi chì utilizanu u listessu hardware di bus. # NanoLib Core: Nisun errore di Segmentazione à aghjunghje un adattatore PEAK sottu Linux. # Moduli NanoLib Sampler: currettu samplettura di i valori di led in modalità firmware. # Moduli NanoLib Sampler: Cunfigurazione curretta di 502X:04. # Moduli NanoLib Sampler: Corretta mistura di buffers cù canali. # NanoLib-Canopen: Aumentu di i tempi di CAN per robustezza è scansione curretta à baudrates più bassi. # NanoLib-Modbus: algoritmu di rilevazione VCP per i dispositi speciali (USB-DA-IO).
+ Supportu EtherCAT.
+ Nota nantu à i paràmetri di u prugettu VS in Configurate u vostru prughjettu.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + AutoAssignObjectDictionary (). + getXmlFileNome (). + const std::string & xmlFilePercorsu in addObjectDictionary (). + ottene SamplerInterface ().
Pruduttu 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)
Versione: doc 1.4.2 / NanoLib 1.3.0
60
10 Imprint, cuntattu, versioni
Documentu
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
+ Added> Cambiatu # Fixed + rebootDevice (). + Codice d'errore ResourceUnavailable per getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, è ~Uid. > firmwareUploadFromFile avà uploadFirmwareFromFile (). > firmwareUpload () avà uploadFirmware (). > bootloaderUploadFromFile () avà uploadBootloaderFromFile (). > bootloaderUpload () avà uploadBootloader (). > bootloaderFirmwareUploadFromFile () per carica BootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () avà uploadBootloaderFirmware (). > nanojUploadFromFile () avà carica NanoJFromFile (). > nanojUpload () avà uploadNanoJ (). > objectDictionaryLibrary () avà getObjectDictionaryLibrary (). > String_String_Map avà StringStringMap. > NanoLib-Common: esecuzione più veloce di listAvailableBusHardware è openBusHardwareWithProtocol cù l'adattatore Ixxat. > NanoLib-CANopen: paràmetri predeterminati utilizati (1000k baudrate, bus number Ixxat 0) se l'opzioni di hardware di bus sò viotu. > NanoLib-RESTful: permessu di amministratore obsoletu per a cumunicazione cù i bootloaders Ethernet sottu Windows se u driver npcap / winpcap hè dispunibule. # NanoLib-CANopen: l'hardware di l'autobus apre avà senza crashless cù opzioni vacanti. # NanoLib-Common: openBusHardwareWithProtocol () senza perdita di memoria avà.
+ Supportu Linux ARM64. + Supportu USB mass storage / REST / Profinet DCP. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (sustituitu NanotecExceptions). + NanoLib Modbus: hub VCP / USB unificatu à USB. > A scansione Modbus TCP torna risultati. < A latenza di cumunicazione Modbus TCP resta constante.
+ Più ObjectEntryDataType (cumplessu è profile- specificu). + IOError torna se connectDevice () è scanDevices () ùn trovanu nimu. + Solu timeout nominale di 100 ms per CanOpen / Modbus.
+ Supportu Modbus (più USB Hub via VCP). + Capitulu Crea u vostru propiu prughjettu Linux. + extraHardwareSpecifier à BusHardwareId (). + extraId_ è extraStringId_ à DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Correzioni di bug.
Edizione.
Pruduttu
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Versione: doc 1.4.2 / NanoLib 1.3.0
61
Documenti / Risorse
![]() |
Nanotic NanoLib C++ Programming [pdfManuale d'usu NanoLib Programmazione C, Programmazione C, Programmazione |