Nanotic-LOGO

Programació Nanotic NanoLib C++

Nanotic-NanoLib-C++-Programació-PRODUCTE

Informació del producte

Especificacions

  • Nom del producte: NanoLib
  • Programació Llenguatge: C++
  • Versió del producte: 1.3.0
  • Versió del manual d'usuari: 1.4.2

La biblioteca NanoLib està dissenyada per programar programari de control per a controladors Nanotec. Proporciona una interfície d'usuari, funcionalitats bàsiques i biblioteques de comunicació per facilitar el desenvolupament d'aplicacions de control.

Instruccions d'ús del producte

  • Abans de començar:
    • Assegureu-vos que el vostre sistema compleixi els requisits de maquinari especificats al manual. El públic objectiu d'aquest producte inclou desenvolupadors que busquen crear programari de control per a controladors Nanotec.
  • Primers passos:
    • Per començar a utilitzar NanoLib, seguiu aquests passos:
    • Comença important NanoLib al teu projecte.
    • Configura els paràmetres del projecte segons calgui.
    • Construeix el teu projecte per incorporar les funcionalitats de NanoLib.
  • Creació de projectes:
    • Podeu crear projectes tant per a entorns Windows com Linux. Seguiu les instruccions específiques que es proporcionen al manual de cada plataforma.
  • Referència de classes/funcions:
    • Consulteu el manual d'usuari per obtenir una guia detallada sobre les classes i funcions disponibles a NanoLib per a la programació de programari de control.

Preguntes freqüents

  • P: Quin és l'objectiu de NanoLib?
    • A: NanoLib és una biblioteca per programar programari de control per a controladors Nanotec, que proporciona funcionalitats essencials i capacitats de comunicació.
  • P: Com puc començar a utilitzar NanoLib?
    • A: Comença important NanoLib al teu projecte, configura els paràmetres del projecte i compila el teu projecte per utilitzar les funcions de NanoLib.

"`

Manual d'usuari NanoLib
C++

Vàlid amb la versió del producte 1.3.0

Versió del manual d'usuari: 1.4.2

Objectiu i convencions del document

Aquest document descriu la configuració i l'ús de la biblioteca NanoLib i conté una referència a totes les classes i funcions per programar el vostre propi programari de control per als controladors Nanotec. Utilitzem els tipus de lletra següents:
El text subratllat marca una referència creuada o un hiperenllaç.
Examplle 1: per obtenir instruccions exactes sobre el NanoLibAccessor, vegeu Configuració. Examplle 2: instal·leu el controlador Ixxat i connecteu l'adaptador CAN-a-USB. El text en cursiva significa: Aquest és un objecte amb nom, una ruta/element de menú, una pestanya/ file nom o (si cal) una expressió en llengua estrangera.
Example 1: Seleccioneu File > Nou > Document en blanc. Obriu la pestanya Eina i seleccioneu Comentari. Examplle 2: aquest document divideix els usuaris (= Nutzer; usuari; usuari; usuari; usuari, etc.) de:
– Usuari de tercers (= Drittnutzer; tercer usuari; tercer usuari; nivells usuari; tercer usuari, etc.). – Usuari final (= Endnutzer; usuari final; usuari final; usuari final; usuari final, etc.).
El missatger marca blocs de codi o ordres de programació. Examplle 1: Mitjançant Bash, crida a sudo make install per copiar objectes compartits; llavors crida a ldconfig. Examplle 2: Utilitzeu la funció NanoLibAccessor següent per canviar el nivell de registre a NanoLib:
// ***** Variant C++ *****
void setLoggingLevel (nivell de LogLevel);
El text en negreta emfatitza paraules individuals d'importància crítica. Alternativament, els signes d'exclamació entre parèntesis emfatitzen la importància crítica (!).
Example 1: Protegiu-vos, els altres i el vostre equip. Seguiu les nostres notes generals de seguretat que s'apliquen generalment a tots els productes Nanotec.
Example 2: Per a la vostra pròpia protecció, seguiu també les notes de seguretat específiques que s'apliquen a aquest producte específic. El verb fer clic conjuntament significa un clic mitjançant la tecla secundària del ratolí per obrir un menú contextual, etc.
Example 1: feu clic a sobre file, seleccioneu Canvia el nom i canvieu el nom file. Examplle 2: Per comprovar les propietats, feu clic conjuntament a file i seleccioneu Propietats.

Versió: doc 1.4.2 / NanoLib 1.3.0

4

Abans de començar

Abans de començar a utilitzar NanoLib, prepara el teu ordinador i informa't sobre l'ús previst i les limitacions de la biblioteca.
2.1 Requisits de sistema i maquinari

Nanotic-NanoLib-C++-Programació-FIG- (1)
AVÍS Mal funcionament a causa d'un funcionament de 32 bits o d'un sistema descatalogat! Feu servir i manteniu consistentment un sistema de 64 bits. Observeu les descatalogacions i les instruccions del fabricant original.

NanoLib 1.3.0 admet tots els productes Nanotec amb CANopen, Modbus RTU (també USB en port com virtual), Modbus TCP, EtherCat i Profinet. Per a NanoLibs més antigues: vegeu el registre de canvis a l'empremta. Només sota la vostra responsabilitat: ús de sistemes antics. Nota: seguiu les instruccions vàlides de l'OEM per establir la latència el més baixa possible si teniu problemes quan utilitzeu un adaptador USB basat en FTDI.

Requisits (sistema de 64 bits obligatori)
Windows 10 o 11 amb Visual Studio 2019 versió 16.8 o posterior i Windows SDK 10.0.20348.0 (versió 2104) o posterior
Redistribuïbles de C++ 2017 o superior CANopen: controlador bàsic Ixxat VCI o PCAN (opcional) Mòdul EtherCat / Profinet DCP: Npcap o WinPcap Mòdul RESTful: Npcap, WinPcap o permís d'administrador per a
comunicar-se amb els carregadors d'arrencada Ethernet
Linux amb Ubuntu 20.04 LTS a 24 (tots x64 i arm64)
Capçaleres del nucli i paquet libpopt-dev Profinet DCP: capacitats CAP_NET_ADMIN i CAP_NET_RAW-
enllaços CANopen: controlador Ixxat ECI o adaptador Peak PCAN-USB EtherCat: CAP_NET_ADMIN, CAP_NET_RAW i
Capacitats de CAP_SYS_NICE RESTful: capacitat de CAP_NET_ADMIN per comunicar-se amb Eth-
carregadors d'arrencada d'Internet (també recomanats: CAP_NET_RAW)

Idioma, adaptadors de bus de camp, cables
C++ GCC 7 o superior (Linux)
EtherCAT: cable Ethernet VCP / concentrador USB: ara USB uniforme Emmagatzematge massiu USB: cable USB REST: cable Ethernet CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, adaptador Peak PCANUSB No hi ha compatibilitat amb Ixxax per a Ubuntu en arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 o adaptador equivalent; cable USB al port de comunicació virtual (VCP)
Modbus TCP: cable Ethernet segons la fitxa tècnica del producte

2.2 Ús previst i públic
NanoLib és una biblioteca de programes i un component de programari per a l'operació i la comunicació amb controladors Nanotec en una àmplia gamma d'aplicacions industrials i només per a programadors degudament qualificats.
A causa del maquinari (PC) i del sistema operatiu incapaços de funcionar en temps real, NanoLib no s'ha d'utilitzar en aplicacions que necessitin moviment multieix síncron o que, en general, siguin sensibles al temps.
En cap cas podeu integrar NanoLib com a component de seguretat en un producte o sistema. En el moment del lliurament als usuaris finals, heu d'afegir els avisos i les instruccions d'ús i funcionament segurs corresponents a cada producte amb un component fabricat per Nanotec. Heu de transmetre tots els avisos emesos per Nanotec directament a l'usuari final.
2.3 Àmbit de lliurament i garantia
NanoLib ve com una carpeta *.zip de la nostra descàrrega weblloc per a EMEA/APAC o AMÈRICA. Emmagatzemeu i descomprimiu degudament la descàrrega abans de la configuració. El paquet NanoLib conté:

Versió: doc 1.4.2 / NanoLib 1.3.0

5

2 Abans de començar

Capçaleres d'interfície com a codi font (API)

Funcions bàsiques com a biblioteques en format binari: nano-

Biblioteques que faciliten la comunicació: nanolibm_ lib.dll

[elvostreautobúsdecamp].dll etc.

Exampel projecte: Example.sln (Visual Studio

projecte) i example.cpp (principal file)

Per a l'abast de la garantia, observeu a) els nostres termes i condicions per a EMEA/APAC o AMERICA i b) tots els termes de la llicència. Nota: Nanotec no es responsabilitza de la qualitat, manipulació, instal·lació, funcionament, ús i manteniment defectuosos o indeguts d'equips de tercers. Per a la deguda seguretat, seguiu sempre les instruccions vàlides del fabricant d'equips originals (OEM).

Versió: doc 1.4.2 / NanoLib 1.3.0

6

L'arquitectura NanoLib

L'estructura de programari modular de NanoLib us permet organitzar funcions de controlador de motor / bus de camp que es poden personalitzar lliurement al voltant d'un nucli estrictament preconstruït. NanoLib conté els mòduls següents:

Interfície d'usuari (API)

Nucli NanoLib

Interfície i classes auxiliars que Biblioteques que

Biblioteques de comunicació Biblioteques específiques de bus de camp que

accedir-hi a la implementació del controlador de la funcionalitat de l'API de la interfície entre NanoLib

OD (diccionari d'objectes)

interactuar amb les biblioteques d'autobusos.

maquinari del nucli i del bus.

basat en la funció central NanoLib

nacionalitats.

3.1 Interfície d'usuari

La interfície d'usuari consta d'una interfície de capçalera files que podeu utilitzar per accedir als paràmetres del controlador. Les classes d'interfície d'usuari descrites a la referència de classes/funcions us permeten:
Connecteu-vos tant al maquinari (adaptador de bus de camp) com al dispositiu controlador. Accediu al fitxer OD del dispositiu per llegir/escriure els paràmetres del controlador.

3.2 Nucli NanoLib

El nucli de NanoLib inclou la biblioteca d'importació nanolib.lib. Implementa la funcionalitat de la interfície d'usuari i és responsable de:
Carregant i gestionant les biblioteques de comunicació. Proporcionant les funcionalitats de la interfície d'usuari al NanoLibAccessor. Aquest punt d'entrada de comunicació de-
multa un conjunt d'operacions que podeu executar al nucli NanoLib i a les biblioteques de comunicació.

3.3 Biblioteques de comunicació

A més de nanotec.services.nanolib.dll (útil per al vostre Plug & Drive Studio opcional), NanoLib ofereix les següents biblioteques de comunicació:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Totes les biblioteques posen una capa d'abstracció de maquinari entre el nucli i el controlador. El nucli els carrega a l'inici des de la carpeta del projecte designada i els utilitza per establir comunicació amb el controlador mitjançant el protocol corresponent.

Versió: doc 1.4.2 / NanoLib 1.3.0

7

Per començar

Llegiu com configurar NanoLib per al vostre sistema operatiu degudament i com connectar el maquinari segons sigui necessari.
4.1 Prepareu el vostre sistema
Abans d'instal·lar els controladors de l'adaptador, prepareu primer el vostre PC amb el sistema operatiu. Per preparar el PC amb el vostre sistema operatiu Windows, instal·leu MS Visual Studio amb extensions de C++. Per instal·lar make i gcc mitjançant Linux Bash, invoqueu sudo apt install build-essentials. A continuació, activeu les capacitats CAP_NET_ADMIN, CAP_NET_RAW i CAP_SYS_NICE per a l'aplicació que utilitza NanoLib: 1. Invoqueu sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
nom>. 2. Només llavors, instal·leu els controladors de l'adaptador.
4.2 Instal·leu el controlador de l'adaptador Ixxat per a Windows
Només després de la instal·lació correcta del controlador, podeu utilitzar l'adaptador USB-a-CAN V2 d'Ixxat. Llegiu el manual del producte de les unitats USB per saber si/com activar el port virtual (VCP). 1. Baixeu i instal·leu el controlador VCI 4 d'Ixxat per a Windows des de www.ixxat.com2. Connecteu l'adaptador compacte USB-to-CAN V2 d'Ixxat al PC mitjançant USB. 3. Mitjançant el Gestor de dispositius: comproveu si el controlador i l'adaptador estan degudament instal·lats/reconeguts.
4.3 Instal·leu el controlador de l'adaptador Peak per a Windows
Només després de la instal·lació correcta del controlador, podeu utilitzar l'adaptador PCAN-USB de Peak. Llegiu el manual del producte de les unitats USB per saber si/com activar el port virtual (VCP). 1. Baixeu i instal·leu el programa d'instal·lació del controlador de dispositiu de Windows (= paquet d'instal·lació amb controladors de dispositiu, eines i
API) de http://www.peak-system.com2. Connecteu l'adaptador PCAN-USB de Peak al PC mitjançant USB. 3. Mitjançant el Gestor de dispositius: comproveu si el controlador i l'adaptador estan degudament instal·lats/reconeguts.
4.4 Instal·leu el controlador de l'adaptador Ixxat per a Linux
Només després de la instal·lació correcta del controlador, podeu utilitzar l'adaptador USB-to-CAN V2 d'Ixxat. Nota: Altres adaptadors compatibles necessiten els vostres permisos mitjançant sudo chmod +777/dev/ttyACM* (* número de dispositiu). Llegiu el manual del producte de les unitats USB per saber si/com activar el port virtual (VCP). 1. Instal·leu el programari necessari per al controlador ECI i l'aplicació de demostració:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Baixeu el controlador ECI-per-Linux de www.ixxat.com. Descomprimiu-lo mitjançant:
descomprimir eci_driver_linux_amd64.zip
3. Instal·leu el controlador mitjançant:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Comproveu si la instal·lació del controlador s'ha realitzat correctament compilant i iniciant l'aplicació de demostració:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Versió: doc 1.4.2 / NanoLib 1.3.0

8

4 Primers passos
4.5 Instal·leu el controlador de l'adaptador Peak per a Linux
Només després de la instal·lació del controlador, podeu utilitzar l'adaptador PCAN-USB de Peak. Nota: Altres adaptadors compatibles necessiten els vostres permisos mitjançant sudo chmod +777/dev/ttyACM* (* número de dispositiu). Llegiu el manual del producte de les unitats USB per saber si/com activar el port virtual (VCP). 1. Comproveu si el vostre Linux té capçaleres del nucli: ls /usr/src/linux-headers-`uname -r`. Si no, instal·leu-lo
els: sudo apt-get install linux-headers-`uname -r` 2. Ara només cal instal·lar el paquet libpopt-dev: sudo apt-get install libpopt-dev 3. Baixeu el paquet de controladors necessari (peak-linux-driver-xxx.tar.gz) des de www.peak-system.com. 4. Per descomprimir-lo, utilitzeu: tar xzf peak-linux-driver-xxx.tar.gz 5. A la carpeta descomprimida: Compileu i instal·leu els controladors, la biblioteca base PCAN, etc.: feu-ho tot
sudo make install 6. Per comprovar la funció, connecteu l'adaptador PCAN-USB.
a) Comproveu el mòdul del nucli:
lsmod | grep pcan b) … i la biblioteca compartida:
ls -l /usr/lib/libpcan*
Nota: Si es produeixen problemes amb l'USB3, feu servir un port USB2.
4.6 Connecteu el vostre maquinari
Per poder executar un projecte NanoLib, connecteu un controlador Nanotec compatible al PC amb l'adaptador. 1. Connecteu l'adaptador al controlador amb un cable adequat. 2. Connecteu l'adaptador al PC segons la fitxa tècnica de l'adaptador. 3. Engegueu el controlador amb una font d'alimentació adequada. 4. Si cal, canvieu la configuració de comunicació del controlador Nanotec tal com s'indica al manual del producte.
4.7 Carregueu NanoLib
Per començar amb conceptes bàsics ràpids i senzills, podeu (però no heu de) utilitzar el nostre exampel projecte. 1. Segons la vostra regió: descarregueu NanoLib des del nostre weblloc per a EMEA/APAC o AMÈRICA. 2. Descomprimiu el paquet files / i seleccioneu una opció: Per obtenir conceptes bàsics fàcils i ràpids: vegeu Iniciar l'example projecte. Per a la personalització avançada a Windows: vegeu Creació del vostre propi projecte de Windows. Per a la personalització avançada a Linux: vegeu Creació del vostre propi projecte de Linux.

Versió: doc 1.4.2 / NanoLib 1.3.0

9

Començant l'exampel projecte

Amb NanoLib degudament carregat, l'exampel projecte us mostra l'ús de NanoLib amb un controlador Nanotec. Nota: Per a cada pas, comentaris a l'exampel codi explica les funcions utilitzades. L'exampEl projecte consisteix en: `*_functions_example.*' files, que contenen les implementacions de les funcions d'interfície NanoLib, el `*_callback_example.*' files, que contenen implementacions per a les diverses retrollamades (escaneig, dades i
registre) el `menu_*.*' file, que conté la lògica del menú i el codi Example.* file, que és el programa principal, creant el menú i inicialitzant tots els paràmetres utilitzats per l'Sampler_example.* file, que conté l'exampimplementació de le per a sampús de la llegenda. Podeu trobar més exemplesampfitxers, amb algunes ordres de moviment per a diversos modes d'operació, a la base de coneixements de nanotec.com. Tots es poden utilitzar a Windows o Linux.
A Windows amb Visual Studio 1. Obriu l'Example.sln file2. Obriu l'example.cpp. 3. Compileu i executeu l'exampel codi.
A Linux via Bash 1. Descomprimiu el codi font file, navegueu fins a la carpeta amb el contingut descomprimit. La carpeta principal file per l'exampel és
example.cpp. 2. A la bash, crida:
a. «sudo make install» per copiar els objectes compartits i cridar ldconfig. b. «make all» per compilar l'executable de prova. 3. La carpeta bin conté un executable example file. Amb bash: Aneu a la carpeta de sortida i escriviu ./exampés a dir, si no es produeix cap error, els objectes compartits ja estan degudament instal·lats i la biblioteca està a punt per al seu ús. Si l'error diu ./example: error en carregar les biblioteques compartides: libnanolib.so: no es pot obrir l'objecte compartit file: No tal file o directori, la instal·lació dels objectes compartits ha fallat. En aquest cas, seguiu els passos següents. 4. Creeu una carpeta nova dins de /usr/local/lib (calen drets d'administrador). Al bash, escriviu:
sudo mkdir /usr/local/lib/nanotec
5. Copieu tots els objectes compartits del fitxer zip filecarpeta lib de :
instal·la ./lib/*.so /usr/local/lib/nanotec/
6. Comproveu el contingut de la carpeta de destinació amb:
ls -al /usr/local/lib/nanotec/
Hauria de llistar l'objecte compartit files de la carpeta lib. 7. Executeu ldconfig en aquesta carpeta:
sudo ldconfig /usr/local/lib/nanotec/
L'example està implementat com una aplicació CLI i proporciona una interfície de menú. Les entrades del menú es basen en el context i s'habilitaran o deshabilitaran, depenent de l'estat del context. Us ofereixen la possibilitat de seleccionar i executar diverses funcions de la biblioteca seguint el flux de treball típic per gestionar un controlador: 1. Comproveu si hi ha maquinari connectat al PC (adaptadors) i llista'ls. 2. Establiu la connexió a un adaptador. 3. Escanegeu el bus per a dispositius controladors connectats. 4. Connecteu-vos a un dispositiu.

Versió: doc 1.4.2 / NanoLib 1.3.0

10

5 Començant l'exampel projecte
5. Provar una o més de les funcions de la biblioteca: llegir/escriure des de/al diccionari d'objectes del controlador, actualitzar el firmware, carregar i executar un programa NanoJ, posar en marxa el motor i ajustar-lo, configurar i utilitzar el registre/sampler.
6. Tanqueu la connexió, primer al dispositiu i després a l'adaptador.

Versió: doc 1.4.2 / NanoLib 1.3.0

11

Creació del vostre propi projecte de Windows

Crea, compila i executa el teu propi projecte de Windows per utilitzar NanoLib.
6.1 Importar NanoLib
Importa la capçalera NanoLib files i biblioteques mitjançant MS Visual Studio.
1. Obriu el Visual Studio. 2. Via Crea un projecte nou > Aplicació de consola C++ > Següent: seleccioneu un tipus de projecte. 3. Anomeneu el vostre projecte (aquí: NanolibTest) per crear una carpeta de projecte a l'Explorador de solucions. 4. Seleccioneu Finalitza. 5. Obriu les finestres file explorer i navegueu fins a la carpeta del projecte que acabeu de crear. 6. Creeu dues carpetes noves, inc i lib. 7. Obriu la carpeta del paquet NanoLib. 8. Des d'allà: Copieu la capçalera files de la carpeta d'inclusió a la carpeta del vostre projecte inc i tots els fitxers .lib i .dll
files a la carpeta del vostre projecte nou lib. 9. Comproveu la carpeta del vostre projecte per assegurar-vos que té l'estructura correcta, per exempleampLI:

Nanotic-NanoLib-C++-Programació-FIG- (2)carpeta ect per a l'estructura deguda:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vcxproj.user NanolibTest.sln
6.2 Configura el teu projecte
Feu servir l'Explorador de solucions de l'MS Visual Studio per configurar els projectes de NanoLib. Nota: Per a un funcionament correcte de NanoLib, seleccioneu la configuració de llançament (no de depuració!) a la configuració del projecte de Visual C++; a continuació, creeu i enllaceu el projecte amb els temps d'execució de VC dels redistribuïbles de C++ [2022].
1. A l'Explorador de solucions: aneu a la carpeta del vostre projecte (aquí: NanolibTest). 2. Feu clic a la carpeta amb el botó dret per obrir el menú contextual. 3. Seleccioneu Propietats. 4. Activeu Totes les configuracions i Totes les plataformes. 5. Seleccioneu C/C++ i aneu a Directoris d'inclusió addicionals. 6. Inseriu: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Seleccioneu Enllaçador i aneu a Directoris de biblioteques addicionals. 8. Inseriu: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Amplieu l'enllaçador i seleccioneu Entrada. 10. Aneu a Dependències addicionals i inseriu: nanolib.lib;%(AdditionalDependencies) 11. Confirmeu amb D'acord.

Versió: doc 1.4.2 / NanoLib 1.3.0

12

6 Creació del vostre propi projecte de Windows
12. Aneu a Configuració > C++ > Idioma > Estàndard d'idioma > Estàndard ISO C++17 i definiu l'estàndard d'idioma a C++17 (/std:c++17).
6.3 Crea el teu projecte
Crea el teu projecte NanoLib a MS Visual Studio. 1. Obre el fitxer principal *.cpp file (aquí: nanolib_ex)ample.cpp) i editeu el codi, si cal. 2. Seleccioneu Compilació > Gestor de configuració. 3. Canvieu les plataformes de solucions actives a x64. 4. Confirmeu amb Tanca. 5. Seleccioneu Compilació > Compilació de la solució. 6. No hi ha cap error? Comproveu si la sortida de compilació informa correctament:
1>—— Neteja iniciada: Projecte: NanolibTest, Configuració: Debug x64 —–========== Neteja: 1 reeixida, 0 fallides, 0 omeses ===========

Versió: doc 1.4.2 / NanoLib 1.3.0

13

7 Creació del vostre propi projecte Linux
7 Creació del vostre propi projecte Linux
Crea, compila i executa el teu propi projecte Linux per utilitzar NanoLib. 1. Al kit d'instal·lació descomprimit de NanoLib: Obre /nanotec_nanolib. 2. Troba tots els objectes compartits al fitxer tar.gz file. 3. Seleccioneu una opció: Instal·leu cada biblioteca amb un Makefile o a mà.
7.1 Instal·leu els objectes compartits amb Makefile
Utilitza la marcafile amb Linux Bash per instal·lar automàticament tots els fitxers *.so per defecte files. 1. Via Bash: Aneu a la carpeta que conté el fitxer makefile2. Copieu els objectes compartits mitjançant:
sudo make install 3. Confirma mitjançant:
ldconfig
7.2 Instal·lar els objectes compartits manualment
Utilitzeu un Bash per instal·lar tots els *.so files de NanoLib manualment. 1. Via Bash: Crea una carpeta nova dins de /usr/local/lib. 2. Calen drets d'administrador! Escriu:
sudo mkdir /usr/local/lib/nanotec 3. Aneu a la carpeta del paquet d'instal·lació descomprimit. 4. Copieu tots els objectes compartits de la carpeta lib mitjançant:
instal·leu ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Comproveu el contingut de la carpeta de destinació mitjançant:
ls -al /usr/local/lib/nanotec/ 6. Comproveu si tots els objectes compartits de la carpeta lib apareixen a la llista. 7. Executeu ldconfig en aquesta carpeta mitjançant:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Crea el teu projecte
Amb els objectes compartits instal·lats: creeu un projecte nou per a la vostra NanoLib de Linux. 1. Via Bash: creeu una carpeta de projecte nova (aquí: NanoLibTest) via:
mkdir NanoLibTest cd NanoLibTest
2. Copia la capçalera files a una carpeta d'inclusió (aquí: inc) via: mkdir inc cp / FILE ÉS>/nanotec_nanolib/inc/*.hpp inc
3. Crea un compte principal file (NanoLibTest.cpp) via: #include “accessor_factory.hpp” #include

Versió: doc 1.4.2 / NanoLib 1.3.0

14

7 Creació del vostre propi projecte Linux
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds resultat = accessor->listAvailableBusHardware();
si(resultat.hasError()) { std::cout << resultat.getError() << std::endl; }
altrament { std::cout << “Èxit” << std::endl; }
suprimeix l'accés; retorna 0; }
4. Comproveu l'estructura correcta de la carpeta del projecte:

Nanotic-NanoLib-C++-Programació-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Compileu i proveu el vostre projecte
Prepara la teva NanoLib de Linux per al seu ús mitjançant Bash.
1. Via Bash: Compileu el fitxer principal file via:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Enllaça els executables mitjançant:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Executeu el programa de prova mitjançant:
./prova
4. Comproveu si el vostre Bash informa degudament:
èxit

Versió: doc 1.4.2 / NanoLib 1.3.0

15

8 Referència de classes/funcions

8 Referència de classes/funcions

Trobeu aquí una llista de les classes d'interfície d'usuari de NanoLib i les seves funcions membres. La descripció típica d'una funció inclou una breu introducció, la definició de la funció i una llista de paràmetres/retorns:

ExampleFunction () Us indica breument què fa la funció.
buit virtual nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Paràmetres param_a param_b
Retorna ResultVoid

Comentari addicional si cal. Comentari addicional si cal.

8.1 NanoLibAccessor

Classe d'interfície utilitzada com a punt d'entrada al NanoLib. Un flux de treball típic és el següent:
1. Comenceu cercant el maquinari amb NanoLibAccessor.listAvailableBusHardware (). 2. Establiu els paràmetres de comunicació amb BusHardwareOptions (). 3. Obriu la connexió de maquinari amb NanoLibAccessor.openBusHardwareWithProtocol (). 4. Exploreu el bus per trobar dispositius connectats amb NanoLibAccessor.scanDevices (). 5. Afegiu un dispositiu amb NanoLibAccessor.addDevice (). 6. Connecteu-vos al dispositiu amb NanoLibAccessor.connectDevice (). 7. Un cop finalitzada l'operació, desconnecteu el dispositiu amb NanoLibAccessor.disconnectDevice (). 8. Traieu el dispositiu amb NanoLibAccessor.removeDevice (). 9. Tanqueu la connexió de maquinari amb NanoLibAccessor.closeBusHardware ().
NanoLibAccessor té les següents funcions públiques de membre:

listAvailableBusHardware () Utilitzeu aquesta funció per llistar el maquinari de bus de camp disponible.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Retorna ResultBusHwIds

Ofereix una matriu d'ID de bus de camp.

openBusHardwareWithProtocol () Utilitzeu aquesta funció per connectar el maquinari del bus.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const i busHwId, BusHardwareOptions const i busHwOpt)

Paràmetres busHwId busHwOpt
Retorna ResultVoid

Especifica el bus de camp que s'ha d'obrir. Especifica les opcions d'obertura del bus de camp. Confirma que s'ha executat una funció void.

isBusHardwareOpen () Utilitzeu aquesta funció per comprovar si la vostra connexió de maquinari de bus de camp està oberta.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId i busHwId, const BusHardwareOptions i busHwOpt)

Versió: doc 1.4.2 / NanoLib 1.3.0

16

8 Referència de classes/funcions

Paràmetres BusHardwareId Retorna true
fals

Especifica cada bus de camp a obrir. El maquinari està obert. El maquinari està tancat.

getProtocolSpecificAccessor () Utilitzeu aquesta funció per obtenir l'objecte d'accés específic del protocol.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const i busHwId)

Paràmetres busHwId Retorna ResultVoid

Especifica el bus de camp per obtenir l'accessor. Confirma que s'ha executat una funció void.

getProfinetDCP () Utilitzeu aquesta funció per retornar una referència a la interfície de Profinet DCP.
ProfinetDCP virtual i getProfinetDCP ()

Retorna ProfinetDCP

obtéSamplerInterface () Utilitzeu aquesta funció per obtenir una referència a la sampla interfície.
S virtualamplerInterface i getSamplerInterface ()

Torna SamplerInterface

Es refereix al sampler classe d'interfície.

setBusState () Utilitzeu aquesta funció per establir l'estat específic del protocol de bus.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId i busHwId, const std::string i state)

Paràmetres busHwId state
Retorna ResultVoid

Especifica el bus de camp que s'ha d'obrir. Assigna un estat específic del bus com a valor de cadena. Confirma que s'ha executat una funció void.

scanDevices () Utilitzeu aquesta funció per buscar dispositius a la xarxa.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId i busHwId, NlcScanBusCallback* callback)

Paràmetres busHwId callback
Retorna ResultDeviceIds IOError

Especifica el bus de camp a escanejar. Traçador de progrés de NlcScanBusCallback. Ofereix una matriu d'ID de dispositiu. Informa que no s'ha trobat un dispositiu.

Versió: doc 1.4.2 / NanoLib 1.3.0

17

8 Referència de classes/funcions

afegirDispositiu ()
Feu servir aquesta funció per afegir un dispositiu de bus descrit per deviceId a la llista interna de dispositius de NanoLib i per retornar-hi deviceHandle.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Paràmetres deviceId Retorna ResultDeviceHandle

Especifica el dispositiu que cal afegir a la llista. Ofereix un mànec de dispositiu.

connectDevice () Utilitzeu aquesta funció per connectar un dispositiu mitjançant deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultVoid
IOError

Especifica a quin dispositiu de bus es connecta NanoLib. Confirma que s'ha executat una funció void. Informa que no s'ha trobat un dispositiu.

getDeviceName () Utilitzeu aquesta funció per obtenir el nom d'un dispositiu mitjançant deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultString

Especifica quin dispositiu de bus rep el nom NanoLib. Ofereix noms de dispositius com a cadena.

getDeviceProductCode () Utilitzeu aquesta funció per obtenir el codi de producte d'un dispositiu mitjançant deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultInt

Especifica per a quin dispositiu de bus NanoLib obté el codi de producte. Ofereix codis de producte com a nombre enter.

getDeviceVendorId () Utilitzeu aquesta funció per obtenir l'ID del proveïdor del dispositiu mitjançant deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultInt
Recurs no disponible

Especifica per a quin dispositiu de bus NanoLib obté l'ID de proveïdor. Ofereix identificadors del proveïdor com a nombre enter. Informa que no es troben dades.

Versió: doc 1.4.2 / NanoLib 1.3.0

18

8 Referència de classes/funcions

getDeviceId () Utilitzeu aquesta funció per obtenir l'ID d'un dispositiu específic de la llista interna de NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultDeviceId

Especifica per a quin dispositiu de bus NanoLib obté l'ID del dispositiu. Ofereix un identificador del dispositiu.

getDeviceIds () Utilitzeu aquesta funció per obtenir l'identificador de tots els dispositius de la llista interna de NanoLib.
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Retorna ResultDeviceIds

Ofereix una llista d'ID de dispositiu.

getDeviceUid () Utilitzeu aquesta funció per obtenir l'identificador únic d'un dispositiu (96 bits / 12 bytes) mitjançant deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultArrayByte
Recurs no disponible

Especifica per a quin dispositiu de bus NanoLib obté l'identificador únic. Ofereix identificadors únics com a matriu de bytes. Informa que no es troben dades.

getDeviceSerialNumber () Utilitzeu aquesta funció per obtenir el número de sèrie d'un dispositiu mitjançant deviceHandle.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultString
Recurs no disponible

Especifica per a quin dispositiu de bus NanoLib obté el número de sèrie. Ofereix números de sèrie com una cadena. Informa que no es troben dades.

getDeviceHardwareGroup () Utilitzeu aquesta funció per obtenir el grup de maquinari d'un dispositiu de bus per deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultInt

Especifica per a quin dispositiu de bus NanoLib obté el grup de maquinari.
Ofereix grups de maquinari com a nombre enter.

getDeviceHardwareVersion () Utilitzeu aquesta funció per obtenir la versió de maquinari d'un dispositiu de bus mitjançant deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Versió: doc 1.4.2 / NanoLib 1.3.0

19

8 Referència de classes/funcions

Paràmetres deviceHandle

Devolucions

ResultString ResourceUnavailable

Especifica per a quin dispositiu de bus NanoLib obté la versió de maquinari. Ofereix noms de dispositius com a cadena. Informa que no es troben dades.

getDeviceFirmwareBuildId () Utilitzeu aquesta funció per obtenir l'ID de compilació de microprogramari d'un dispositiu de bus mitjançant deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultString

Especifica per a quin dispositiu de bus NanoLib obté l'ID de compilació del microprogramari.
Ofereix noms de dispositius com a cadena.

getDeviceBootloaderVersion () Utilitzeu aquesta funció per obtenir la versió del carregador d'arrencada d'un dispositiu de bus mitjançant deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Paràmetres deviceHandle

Devolucions

ResultInt ResourceUnavailable

Especifica per a quin dispositiu de bus NanoLib obté la versió del carregador d'arrencada. Ofereix versions del carregador d'arrencada com a nombre enter. Informa que no es troben dades.

getDeviceBootloaderBuildId () Utilitzeu aquesta funció per obtenir l'ID de compilació del carregador d'arrencada d'un dispositiu de bus mitjançant deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultString

Especifica per a quin dispositiu de bus NanoLib obté l'ID de compilació del carregador d'arrencada.
Ofereix noms de dispositius com a cadena.

rebootDevice () Utilitzeu aquesta funció per reiniciar el dispositiu mitjançant deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Paràmetres deviceHandle Retorna ResultVoid

Especifica el bus de camp per reiniciar. Confirma que s'ha executat una funció void.

getDeviceState () Utilitzeu aquesta funció per obtenir l'estat específic del protocol del dispositiu.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Paràmetres deviceHandle

Especifica per a quin dispositiu de bus NanoLib obté l'estat.

Versió: doc 1.4.2 / NanoLib 1.3.0

20

8 Referència de classes/funcions

Retorna ResultString

Ofereix noms de dispositius com a cadena.

setDeviceState () Utilitzeu aquesta funció per establir l'estat específic del protocol del dispositiu.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Paràmetres deviceHandle state
Retorna ResultVoid

Especifica per a quin dispositiu de bus estableix l'estat NanoLib. Assigna un estat específic del bus com a valor de cadena. Confirma que s'ha executat una funció void.

getConnectionState()
Feu servir aquesta funció per obtenir l'últim estat de connexió conegut d'un dispositiu específic mitjançant deviceHandle (= Desconnectat, Connectat, ConnectedBootloader)
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultConnectionState

Especifica per a quin dispositiu de bus NanoLib obté l'estat de connexió.
Ofereix un estat de connexió (= Desconnectat, Connected, ConnectedBootloader).

comprovarEstatDeConnexió()
Només si l'últim estat conegut no era Desconnectat: utilitzeu aquesta funció per comprovar i possiblement actualitzar l'estat de connexió d'un dispositiu específic mitjançant deviceHandle i provant diverses operacions específiques del mode.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultConnectionState

Especifica per quin dispositiu de bus NanoLib comprova l'estat de connexió.
Ofereix un estat de connexió (= no desconnectat).

assignObjectDictionary () Utilitzeu aquesta funció manual per assignar un diccionari d'objectes (OD) a deviceHandle pel vostre compte.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Paràmetres deviceHandle objectDictionary
Retorna ResultObjectDictionary

Especifica a quin dispositiu de bus NanoLib assigna l'OD. Mostra les propietats d'un diccionari d'objectes.

autoAssignObjectDictionary ()
Utilitzeu aquest automatisme per permetre que NanoLib assigni un diccionari d'objectes (OD) a deviceHandle. En trobar i carregar un OD adequat, NanoLib l'assigna automàticament al dispositiu. Nota: si ja s'ha carregat un OD compatible a la biblioteca d'objectes, NanoLib l'utilitzarà automàticament sense escanejar el directori enviat.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Versió: doc 1.4.2 / NanoLib 1.3.0

21

8 Referència de classes/funcions

Paràmetres deviceHandle

Devolucions

diccionarisLocationPath ResultObjectDictionary

Especifica per a quin dispositiu de bus NanoLib buscarà automàticament els OD adequats. Especifica la ruta al directori OD. Mostra les propietats d'un diccionari d'objectes.

getAssignedObjectDictionary ()
Feu servir aquesta funció per obtenir el diccionari d'objectes assignat a un dispositiu mitjançant deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
Maneta)

Paràmetres deviceHandle Retorna ResultObjectDictionary

Especifica per a quin dispositiu de bus NanoLib obté l'OD assignat. Mostra les propietats d'un diccionari d'objectes.

getObjectDictionaryLibrary () Aquesta funció retorna una referència OdLibrary.
biblioteca virtual OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Retorna OdLibrary&

Obre tota la biblioteca OD i els seus diccionaris d'objectes.

setLoggingLevel () Utilitzeu aquesta funció per establir els detalls de registre necessaris (i registre file mida). El nivell predeterminat és Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (nivell de LogLevel)

Nivell de paràmetres

Els detalls de registre següents són possibles:

0 = Traça 1 = Depuració 2 = Informació 3 = Advertència 4 = Error 5 = Crític 6 = Desactivat

Nivell més baix (registre més gran file); registra qualsevol detall factible, a més d'inici/aturada del programari. Registra la informació de depuració (= resultats provisionals, contingut enviat o rebut, etc.) Nivell per defecte; registra missatges informatius. Registra els problemes que s'han produït però que no aturaran l'algorisme actual. Només registra problemes greus que van aturar l'algorisme. Nivell més alt (registre més petit file); desactiva la sessió; no hi ha més registre. Sense registre en absolut.

setLoggingCallback ()
Feu servir aquesta funció per definir un punter de callback de registre i un mòdul de registre (= biblioteca) per a aquest callback (no per al registre en si).
buit virtual nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)

Paràmetres *callback logModule

Estableix un punter de callback. Ajusta el callback (no el registrador!) a la teva biblioteca.

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

Activa una retrollamada només per al nucli de NanoLib. Activa una retrollamada només per a CANopen. Activa una retrollamada només per a Modbus. Activa una retrollamada només per a EtherCAT.

Versió: doc 1.4.2 / NanoLib 1.3.0

22

8 Referència de classes/funcions

4 = NanolibRest 5 = NanolibUSB

Activa una retrollamada només REST. Activa una retrollamada només USB.

unsetLoggingCallback () Utilitzeu aquesta funció per cancel·lar un punter de retorn de trucada de registre.
buit virtual nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Utilitzeu aquesta funció per llegir un valor numèric del diccionari d'objectes.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Paràmetres deviceHandle odIndex
Retorna ResultInt

Especifica des de quin dispositiu de bus llegeix NanoLib. Especifica el (sub)índex des del qual es llegirà. Ofereix un valor numèric no interpretat (pot ser signat, sense signar, fixar valors de 16.16 bits).

readNumberArray () Utilitzeu aquesta funció per llegir matrius numèriques del diccionari d'objectes.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Paràmetres índex deviceHandle
Retorna ResultArrayInt

Especifica des de quin dispositiu de bus llegeix NanoLib. Índex d'objectes de matriu. Ofereix una matriu enter.

readBytes () Utilitzeu aquesta funció per llegir bytes arbitraris (dades d'objecte de domini) del diccionari d'objectes.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Paràmetres deviceHandle odIndex
Retorna ResultArrayByte

Especifica des de quin dispositiu de bus llegeix NanoLib. Especifica el (sub)índex des del qual es llegirà. Ofereix una matriu de bytes.

readString () Utilitzeu aquesta funció per llegir cadenes del directori d'objectes.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Paràmetres deviceHandle odIndex
Retorna ResultString

Especifica des de quin dispositiu de bus llegeix NanoLib. Especifica el (sub)índex des del qual es llegirà. Ofereix noms de dispositius com a cadena.

Versió: doc 1.4.2 / NanoLib 1.3.0

23

8 Referència de classes/funcions

writeNumber () Utilitzeu aquesta funció per escriure valors numèrics al directori d'objectes.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)

Paràmetres deviceHandle valor odIndex bitLength
Retorna ResultVoid

Especifica a quin dispositiu de bus escriu NanoLib. El valor no interpretat (es pot signar, sense signar, corregir 16.16). Especifica el (sub)índex des del qual es llegirà. Longitud en bits. Confirma que s'ha executat una funció void.

writeBytes () Utilitzeu aquesta funció per escriure bytes arbitraris (dades d'objecte de domini) al directori d'objectes.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & dades, const OdIndex odIndex)

Paràmetres deviceHandle data odIndex
Retorna ResultVoid

Especifica a quin dispositiu de bus escriu NanoLib. Vector de bytes / matriu. Especifica el (sub)índex des del qual es llegirà. Confirma que s'ha executat una funció void.

pujarFirmware ()
Feu servir aquesta funció per actualitzar el firmware del controlador.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* crida de retorn)

Paràmetres deviceHandle fwData NlcDataTransferCallback
Retorna ResultVoid

Especifica quin dispositiu de bus actualitza NanoLib. Matriu que conté dades de microprogramari. Un traçador de progrés de dades. Confirma que s'ha executat una funció void.

uploadFirmwareFromFile ()
Feu servir aquesta funció per actualitzar el firmware del controlador carregant-ne el file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string i absolutFileCamí, retrorevocació NlcDataTransferCallback*)

Paràmetres deviceHandle absolutsFileRuta NlcDataTransferCallback
Retorna ResultVoid

Especifica quin dispositiu de bus actualitza NanoLib. Camí a file que conté dades de firmware (std::string). Un rastrejador de progrés de dades. Confirma que s'ha executat una funció void.

Versió: doc 1.4.2 / NanoLib 1.3.0

24

8 Referència de classes/funcions

pujarGarador d'arrencada ()
Feu servir aquesta funció per actualitzar el carregador d'arrencada del controlador.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* crida de retorn)

Paràmetres deviceHandle btData NlcDataTransferCallback
Retorna ResultVoid

Especifica quin dispositiu de bus actualitza NanoLib. Matriu que conté dades del carregador d'arrencada. Un traçador de progrés de dades. Confirma que s'ha executat una funció void.

carregarBootloaderFromFile ()
Feu servir aquesta funció per actualitzar el carregador d'arrencada del controlador carregant-lo file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string i bootloaderAbsolute)FileCamí, retrorevocació NlcDataTransferCallback*)

Paràmetres deviceHandle bootloaderAbsoluteFileRuta NlcDataTransferCallback
Retorna ResultVoid

Especifica quin dispositiu de bus actualitza NanoLib. Camí a file que conté dades del carregador d'arrencada (std::string). Un rastrejador de progrés de dades. Confirma que s'ha executat una funció void.

pujarFirmware del carregador d'arrencada ()
Feu servir aquesta funció per actualitzar el carregador d'arrencada i el firmware del controlador.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* crida de retorn)

Paràmetres deviceHandle btData fwData NlcDataTransferCallback
Retorna ResultVoid

Especifica quin dispositiu de bus actualitza NanoLib. Matriu que conté dades del carregador d'arrencada. Matriu que conté dades de microprogramari. Un traçador de progrés de dades. Confirma que s'ha executat una funció void.

carregarBootloaderFirmwareFromFile ()
Utilitzeu aquesta funció per actualitzar el carregador d'arrencada i el microprogramari del vostre controlador carregant el fitxer files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string i bootloaderAbsolute)FileCamí, const std::string i absolutFileCamí, retrorevocació NlcDataTransferCallback*)

Paràmetres deviceHandle bootloaderAbsoluteFileCamí absolutFileRuta NlcDataTransferCallback
Retorna ResultVoid

Especifica quin dispositiu de bus actualitza NanoLib. Camí a file que conté dades del carregador d'arrencada (std::string). Camí a file que conté dades de microprogramari (uint8_t). Un traçador de progrés de dades. Confirma que s'ha executat una funció void.

Versió: doc 1.4.2 / NanoLib 1.3.0

25

8 Referència de classes/funcions

pujaNanoJ ()
Feu servir aquesta funció pública per carregar el programa NanoJ al vostre controlador.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* crida de retorn)

Paràmetres deviceHandle vmmData NlcDataTransferCallback
Retorna ResultVoid

Especifica a quin dispositiu de bus carrega NanoLib. Matriu que conté dades NanoJ. Un traçador de progrés de dades. Confirma que s'ha executat una funció void.

carrega NanoJFromFile ()
Feu servir aquesta funció pública per carregar el programa NanoJ al vostre controlador carregant el fitxer file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string i absolutFileCamí, retrorevocació NlcDataTransferCallback*)

Paràmetres deviceHandle absolutsFileRuta NlcDataTransferCallback
Retorna ResultVoid

Especifica a quin dispositiu de bus carrega NanoLib. Camí a file que conté dades NanoJ (std::string). Un traçador de progrés de dades. Confirma que s'ha executat una funció void.

disconnectDevice () Utilitzeu aquesta funció per desconnectar el dispositiu mitjançant deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Paràmetres deviceHandle Retorna ResultVoid

Especifica de quin dispositiu de bus es desconnecta NanoLib. Confirma que s'ha executat una funció void.

removeDevice () Utilitzeu aquesta funció per eliminar el vostre dispositiu de la llista interna de dispositius de NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Paràmetres deviceHandle Retorna ResultVoid

Especifica quin dispositiu de bus elimina de la llista NanoLib. Confirma que s'ha executat una funció void.

closeBusHardware () Utilitzeu aquesta funció per desconnectar-vos del vostre maquinari de bus de camp.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Paràmetres busHwId Retorna ResultVoid

Especifica el bus de camp del qual es desconnecta. Confirma que s'ha executat una funció void.

Versió: doc 1.4.2 / NanoLib 1.3.0

26

8 Referència de classes/funcions

8.2 BusHardwareId
Utilitzeu aquesta classe per identificar un maquinari de bus un a un o per distingir diferents maquinari de bus entre si. Aquesta classe (sense funcions de configuració que siguin immutables des de la creació) també conté informació sobre:
Maquinari (= nom de l'adaptador, adaptador de xarxa, etc.) Protocol a utilitzar (= Modbus TCP, CANopen, etc.) Especificador de maquinari de bus (= nom del port sèrie, nom amigable MAC
adreça, etc.)

BusHardwareId () [1/3] Constructor que crea un nou objecte d'ID de maquinari de bus.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Paràmetres busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Tipus de maquinari (= ZK-USB-CAN-1, etc.). Protocol de comunicació de bus (= CANopen, etc.). L'especificador d'un maquinari (= COM3, etc.). L'especificador addicional del maquinari (per exemple, informació d'ubicació USB). Un nom amigable (= AdapterName (Port), etc.).

BusHardwareId () [2/3] Constructor que crea un nou objecte d'ID de maquinari de bus, amb l'opció d'un especificador de maquinari addicional.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)

Paràmetres busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Tipus de maquinari (= ZK-USB-CAN-1, etc.). Protocol de comunicació de bus (= CANopen, etc.). L'especificador d'un maquinari (= COM3, etc.). L'especificador addicional del maquinari (per exemple, informació d'ubicació USB). Un nom amigable (= AdapterName (Port), etc.).

BusHardwareId () [3/3] Constructor que copia un busHardwareId existent.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Paràmetres busHardwareId

Anomena l'ID de maquinari del bus des del qual es copia.

equals () Compara un ID de maquinari de bus nou amb els existents.
bool nlc::BusHardwareId::equals (BusHardwareId const & other) const

Paràmetres altres Retorna cert

Un altre objecte de la mateixa classe. Si tots dos són iguals en tots els valors.

Versió: doc 1.4.2 / NanoLib 1.3.0

27

8 Referència de classes/funcions

fals

Si els valors difereixen.

getBusHardware () Llegeix la cadena de maquinari del bus.
std::string nlc::BusHardwareId::getBusHardware () const

Retorna cadena

getHardwareSpecifier () Llegeix la cadena d'especificació del maquinari del bus (= nom de xarxa, etc.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Retorna cadena

getExtraHardwareSpecifier () Llegeix la cadena d'especificació del maquinari addicional del bus (= adreça MAC, etc.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Retorna cadena

getName () Llegeix el nom amigable del maquinari del bus.
std::string nlc::BusHardwareId::getName () const

Retorna cadena

getProtocol() Llegeix la cadena de protocol del bus.
std::string nlc::BusHardwareId::getProtocol () const

Retorna cadena

toString() Retorna l'ID del maquinari del bus com a cadena.
std::string nlc::BusHardwareId::toString () const

Retorna cadena
8.3 Opcions de maquinari de bus
Trobeu en aquesta classe, en una llista de cadenes clau-valor, totes les opcions necessàries per obrir un maquinari de bus.

Versió: doc 1.4.2 / NanoLib 1.3.0

28

8 Referència de classes/funcions

BusHardwareOptions () [1/2] Construeix un nou objecte d'opció de maquinari de bus.
nlc::BusHardwareOptions::BusHardwareOptions () Utilitzeu la funció addOption () per afegir parells clau-valor.

BusHardwareOptions () [2/2] Construeix un nou objecte d'opcions de maquinari de bus amb el mapa clau-valor ja al seu lloc.
nlc::BusHardwareOptions::BusHardwareOptions (std::map constant i opcions)

Opcions de paràmetres

Un mapa amb opcions perquè el maquinari de bus funcioni.

addOption () Crea claus i valors addicionals.
void nlc::BusHardwareOptions::addOption (std::string const i clau, std::string const i valor)

Valor clau dels paràmetres

Example: BAUD_RATE_OPTIONS_NAME, vegeu els valors predeterminats de bus_hw_options_
Example: BAUD_RATE_1000K, vegeu bus_hw_options_defaults

equals () Compara les opcions BusHardwareOptions amb les existents.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const i altres) const

Paràmetres altres Retorna cert
fals

Un altre objecte de la mateixa classe. Si l'altre objecte té exactament les mateixes opcions. Si l'altre objecte té claus o valors diferents.

getOptions () Llegeix tots els parells clau-valor afegits.
std::map nlc::BusHardwareOptions::getOptions () const

Retorna el mapa de cadenes

toString () Retorna totes les claus/valors com a cadena.
std::string nlc::BusHardwareId::toString () const

Retorna cadena
8.4 BusHwOptionsDefault
Aquesta classe d'opcions de configuració predeterminada té els següents atributs públics:

Versió: doc 1.4.2 / NanoLib 1.3.0

29

8 Referència de classes/funcions

const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Estructura que conté velocitats de baudi del bus CAN en els atributs públics següents:

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

BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_RATE_100K = "100k BAUD"_50 ATE_50K = "20k" BAUD_RATE_20K = "10k" BAUD_RATE_10K = "5k"

8.6 CanBus

Classe d'opcions de configuració per defecte amb els atributs públics següents:

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = "velocitat en baudis de l'adaptador de pot" baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Per al servei NMT, aquesta estructura conté els estats NMT de CANopen com a valors de cadena en els atributs públics següents:

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

Aquesta estructura conté els estats CANopen NMT com a valors de cadena en els atributs públics següents:

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

ATURAT = "PARAT" PRE_OPERACIONAL = "PRE_OPERACIONAL" OPERACIONAL = "OPERACIONAL" INICIALITZACIÓ = "INICIACIÓ" DESCONEGUT = "DESCONEGUT"

8.9 Estructura EtherCATBus

Aquesta estructura conté les opcions de configuració de comunicació EtherCAT en els atributs públics següents:

Versió: doc 1.4.2 / NanoLib 1.3.0

30

8 Referència de classes/funcions

const std::string NETWORK_FIRMWARE_STATE_OP: l'estat de la xarxa es tracta com a mode de firmware. Acceptable.

TION_NAME = “Estat del firmware de la xarxa”

valors (per defecte = PRE_OPERATIONAL):

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

const std::string ESTAT_DE_FIRMWARE_DE_XARXA_PER_DEFECTE = “PRE_OPERACIONAL”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP: Temps d'espera en mil·lisegons per adquirir el bloqueig exclusiu

TION_NAME = “Temps d'espera del bloqueig compartit”

la xarxa (per defecte = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Temps d'espera en mil·lisegons per adquirir el bloqueig compartit

NOM = “Temps d'espera de bloqueig compartit”

la xarxa (per defecte = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = "250"

const std::string READ_TIMEOUT_OPTION_NAME = Temps d'espera en mil·lisegons per a una operació de lectura (per defecte

"Temps d'espera de lectura"

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = "700"

const std::string WRITE_TIMEOUT_OPTION_NAME = Temps d'espera en mil·lisegons per a una operació d'escriptura (per defecte

"Temps d'espera d'escriptura"

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = "200"

const std::string READ_WRITE_ATTEMPTS_OPTION_ Intents màxims de lectura o escriptura (valors diferents de zero)

NOM = “Intents de lectura/escriptura”

només; per defecte = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Intents de canvi d'estat de xarxa”

Nombre màxim d'intents d'alterar l'estat de la xarxa (només valors diferents de zero; per defecte = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"

const std::string PDO_IO_ENABLED_OPTION_NAME Activa o desactiva el processament PDO per a entrades digitals /

= “E/S PDO habilitada”

sortides ("només cert" o "fals"; per defecte = "cert").

const std::string DEFAULT_PDO_IO_ENABLED = “Cert”

8.10 Estructura EtherCATState

Aquesta estructura conté els estats esclau/xarxa EtherCAT com a valors de cadena en els atributs públics següents. Nota: l'estat per defecte a l'encesa és PRE_OPERATIONAL; NanoLib no pot proporcionar cap estat "OPERACIONAL" fiable en un sistema operatiu no en temps real:

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” ARRANQUE = “ARRENAT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “OPERACIONAL”

Versió: doc 1.4.2 / NanoLib 1.3.0

31

8 Referència de classes/funcions

8.11 Ixxat

Aquesta estructura conté tota la informació de l'USB-to-Can d'Ixxat en els atributs públics següents:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "número de bus de l'adaptador ixxat"

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Aquesta estructura conté el número de bus per a l'USB-to-Can d'Ixxat en els següents atributs públics:

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

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

8.13 Pic

Aquesta estructura conté tota la informació per a l'USB-to-Can de Peak en els següents atributs públics:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "número de bus de l'adaptador màxim"

const NúmeroDeBusAdaptadorDePeak NúmeroDeBusadaptador = NúmeroDeBusAdaptadorDePeak ()

8.14 Número de bus de l'adaptador de pic

Aquesta estructura conté el número de bus per al port USB-a-Can de Peak en els atributs públics següents:

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_NÚMERO_1_PER DEFECTE = std::a_cadena (PCAN_USBBUS1) BUS_NÚMERO_2 = std::a_cadena (PCAN_USBBUS2) BUS_NÚMERO_3 = std::a_cadena (PCAN_USBBUS3) BUS_NÚMERO_4 = std::a_cadena (PCAN_USBBUS4) BUS_NÚMERO_5 = std::a_cadena (PCAN_USBBUS5) BUS_NÚMERO_6 = std::a_cadena (PCAN_USBBUS6) BUS_NÚMERO_7 = std::a_cadena (PCAN_USBBUS7) BUS_NÚMERO_8 = std::a_cadena (PCAN_USBBUS8) BUS_NÚMERO_9 = std::a_cadena (PCAN_USBBUS9) BUS_NÚMERO_10 = std::a_cadena (PCAN_USBBUS10) BUS_NÚMERO_11 = std::a_cadena (PCAN_USBBUS11) BUS_NÚMERO_12 = std::a_cadena (PCAN_USBBUS12) BUS_NÚMERO_13 = std::a_cadena (PCAN_USBBUS13) BUS_NÚMERO_14 = std::a_cadena (PCAN_USBBUS14) BUS_NÚMERO_15 = std::a_cadena (PCAN_USBBUS15) BUS_NÚMERO_16 = std::a_cadena (PCAN_USBBUS16)

8.15 DeviceHandle
Aquesta classe representa un controlador per controlar un dispositiu en un bus i té les següents funcions públiques de membre.

DeviceHandle () DeviceHandle (identificador uint32_t)

Versió: doc 1.4.2 / NanoLib 1.3.0

32

8 Referència de classes/funcions

equals () Es compara amb un identificador de dispositiu donat.
bool equals (DeviceHandle const other) const (uint32_t handle)

toString () Retorna una representació de cadena del controlador del dispositiu.
std::string aString () const

get () Retorna el controlador del dispositiu.
uint32_t get () const

8.16 DeviceId
Utilitzeu aquesta classe (no immutable des de la creació) per identificar i distingir els dispositius d'un bus:

Identificador de l'adaptador de maquinari

Identificador del dispositiu

Descripció

El significat dels valors d'ID/descripció del dispositiu depèn del bus. Per example, un bus CAN pot utilitzar l'ID sencer.

DeviceId () [1/3] Construeix un nou objecte d'ID de dispositiu.
nlc::DeviceId::DeviceId (BusHardwareId const i busHardwareId_, unsigned int deviceId_, std::string const i description_)

Paràmetres busHardwareId_ deviceId_ description_

Identificador de l'autobús. Un índex; subjecte al bus (= ID de node CANopen, etc.). Una descripció (pot estar buida); subjecte a bus.

DeviceId () [2/3] Construeix un nou objecte d'ID de dispositiu amb opcions d'ID esteses.
nlc::DeviceId::DeviceId (BusHardwareId const i busHardwareId, unsigned int deviceId_, std::string const i description_ std::vector const i extraId_, std::string const i extraStringId_)

Paràmetres busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Identificador del bus. Un índex; subjecte al bus (= ID del node CANopen, etc.). Una descripció (pot estar buida); subjecte al bus. Un ID addicional (pot estar buit); el significat depèn del bus. ID de cadena addicional (pot estar buida); el significat depèn del bus.

DeviceId () [3/3] Construeix una còpia d'un objecte d'ID de dispositiu.
nlc::DeviceId::DeviceId (DeviceId const &)

Versió: doc 1.4.2 / NanoLib 1.3.0

33

8 Referència de classes/funcions

Paràmetres deviceId_

Identificador del dispositiu des del qual es copiar.

equals () Compara els objectes nous amb els existents.
bool nlc::DeviceId::equals (DeviceId const & other) const

Retorna booleà

getBusHardwareId () Llegeix l'ID de maquinari del bus.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Retorna BusHardwareId

getDescription () Llegeix la descripció del dispositiu (potser no s'utilitza).
std::string nlc::DeviceId::getDescription () const

Retorna cadena

getDeviceId () Llegeix l'ID del dispositiu (potser no s'utilitza).
unsigned int nlc::DeviceId::getDeviceId () const

Retorna int sense signar

toString () Retorna l'objecte com una cadena.
std::string nlc::DeviceId::toString () const

Retorna cadena

getExtraId () Llegeix l'identificador addicional del dispositiu (pot ser que no s'utilitzi).
const std::vector &getExtraId () const

Vector de retorns

Un vector dels ID addicionals addicionals (pot estar buit); el significat depèn de l'autobús.

getExtraStringId () Llegeix l'ID de cadena addicional del dispositiu (pot ser que no s'utilitzi).
std::string getExtraStringId () const

Versió: doc 1.4.2 / NanoLib 1.3.0

34

8 Referència de classes/funcions

Retorna cadena

L'identificador de cadena addicional (pot estar buit); el significat depèn de l'autobús.

8.17 LogLevelConverter

Aquesta classe retorna el nivell de registre com a cadena. static std::string toString (nlc::LogLevel logLevel)

8.18 Convertidor de mòduls de registre

Aquesta classe retorna el registre específic de la biblioteca modulesetLoggingLevel() com a cadena.

estàtica std::string

toString (nlc::LogModule logModule)

estàtic std::string aString (nlc::LogModule logModule)

8.19 ObjectDictionary
Aquesta classe representa un diccionari d'objectes d'un controlador i té les següents funcions públiques de membre: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Retorna ResultDeviceHandle

getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Retorna ResultObjectSubEntry

getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t index)

Retorna ResultObjectEntry

Informa sobre les propietats d'un objecte.

getXmlFileNom () virtual ResultString getXmlFileConstant de nom ()

Retorna ResultString

Retorna l'XML file nom com una cadena.

llegeixNumber () virtual ResultatInt llegeixNumber (OdIndex const odIndex) Retorna ResultatInt
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const index)

Versió: doc 1.4.2 / NanoLib 1.3.0

35

8 Referència de classes/funcions
Retorna ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) Retorna ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Retorna ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, const int64_t value) Retorna ResultVoid writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const i dades) Retorna ResultVoid Enllaços relacionats OdIndex
8.20 Entrada d'objectes
Aquesta classe representa una entrada d'objecte del diccionari d'objectes, té el següent atribut estàtic protegit i funcions de membre públiques:
estàtic nlc::ObjectSubEntry objecte invàlid
getName () Llegeix el nom de l'objecte com una cadena.
virtual std::string getName () const
getPrivate () Comprova si l'objecte és privat.
const virtual bool getPrivate()
getIndex () Llegeix l'adreça de l'índex d'objectes.
virtual uint16_t getIndex () const

Versió: doc 1.4.2 / NanoLib 1.3.0

36

8 Referència de classes/funcions

getDataType () Llegeix el tipus de dades de l'objecte.
virtual nlc::ObjectEntryDataType getDataType () const

getObjectCode () Llegeix el codi objecte:

Null Deftype Defstruct Var Array Record

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

virtual nlc::ObjectCode getObjectCode () const

getObjectSaveable () Comprova si l'objecte es pot desar i la seva categoria (vegeu el manual del producte per a més detalls): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Llegeix el nombre de subíndexs suportats per aquest objecte.
virtual uint8_t getMaxSubIndex () const

getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subíndex)
Vegeu també ObjectSubEntry.
8.21 ObjectSubEntry
Aquesta classe representa una subentrada d'objecte (subíndex) del diccionari d'objectes i té les següents funcions públiques de membre:
getName () Llegeix el nom de l'objecte com una cadena.
virtual std::string getName () const

getSubIndex () Llegeix l'adreça del subíndex.
virtual uint8_t getSubIndex () const

Versió: doc 1.4.2 / NanoLib 1.3.0

37

8 Referència de classes/funcions

getDataType () Llegeix el tipus de dades de l'objecte.
virtual nlc::ObjectEntryDataType getDataType () const

getSdoAccess () Comprova si el subíndex és accessible mitjançant SDO:

Només lectura

1

Només escriure

2

LlegirEscriure

3

Sense accès

0

virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Comprova si el subíndex és accessible/mapeable mitjançant PDO:

Tx

1

Rx

2

TxRx

3

No

0

virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Comprova la longitud del subíndex.
virtual uint32_t getBitLength () const

getDefaultValueAsNumeric () Llegeix el valor predeterminat del subíndex per als tipus de dades numèriques.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Llegeix el valor predeterminat del subíndex per als tipus de dades de cadena.
virtual ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Llegeix els valors per defecte del subíndex.
std::map virtual getDefaultValues ​​() const

Versió: doc 1.4.2 / NanoLib 1.3.0

38

8 Referència de classes/funcions

readNumber () Llegeix el valor numèric real del subíndex.
virtual ResultInt readNumber () const

readString () Llegeix el valor real de la cadena del subíndex.
cadenaResultat virtual readString () const

readBytes () Llegeix el valor real del subíndex en bytes.
const virtual ResultArrayByte readBytes ()

writeNumber () Escriu un valor numèric al subíndex.
virtual ResultVoid writeNumber (const int64_t valor) const

writeBytes () Escriu un valor al subíndex en bytes.
virtual ResultVoid writeBytes (std::vector const i dades) const

8.22 OdIndex
Utilitzeu aquesta classe (immutable des de la creació) per embolicar i localitzar índexs/subíndexs de directoris d'objectes. El DO d'un dispositiu té fins a 65535 (0xFFFF) files i 255 (0xFF) columnes; amb buits entre les files discontínues. Consulteu l'estàndard CANopen i el manual del vostre producte per obtenir més detalls.
OdIndex () Construeix un nou objecte OdIndex.
nlc::OdIndex::OdIndex (índex uint16_t, subíndex uint8_t)

Subíndex d'índex de paràmetres

De 0 a 65535 (0xFFFF) incl. De 0 a 255 (0xFF) incl.

getIndex () Llegeix l'índex (de 0x0000 a 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Retorna uint16_t

getSubindex () Llegeix el subíndex (de 0x00 a 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Versió: doc 1.4.2 / NanoLib 1.3.0

39

8 Referència de classes/funcions

Retorna uint8_t

toString () Retorna l'índex i el subíndex com a cadena. La cadena per defecte 0xIIII:0xSS diu el següent:

I = índex de 0x0000 a 0xFFFF

S = subíndex de 0x00 a 0xFF

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

Retorna 0xIIII:0xSS

Representació de cadena per defecte

8.23 OdLibrary
Utilitzeu aquesta interfície de programació per crear instàncies de la classe ObjectDictionary a partir de XML. Mitjançant assignObjectDictionary, podeu vincular cada instància a un dispositiu específic a causa d'un identificador creat de manera única. Les instàncies d'ObjectDictionary creades així s'emmagatzemen a l'objecte OdLibrary per accedir-hi mitjançant l'índex. La classe ODLibrary carrega elements ObjectDictionary des de file o matriu, els emmagatzema i té les següents funcions públiques de membre:

getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Retorna ResultObjectDictionary

addObjectDictionaryFromFile ()
virtual ResultObjectDictionary addObjectDictionaryFromFile (std::string const i absoluteXmlFilecamí)

Retorna ResultObjectDictionary

afegirDiccionariObjecte ()
virtual ResultObjectDictionary addObjectDictionary (std::vector const i odXmlData, const std::string i xmlFileCamí = std::string ())

Retorna ResultObjectDictionary
8.24 OdTypesHelper
A més de les funcions membres públiques següents, aquesta classe conté tipus de dades personalitzats. Nota: Per comprovar els vostres tipus de dades personalitzats, busqueu la classe enum ObjectEntryDataType a od_types.hpp.

uintToObjectCode () Converteix nombres enters sense signe en codi objecte:

Tipus de definició nul

0x00 0x05

Versió: doc 1.4.2 / NanoLib 1.3.0

40

8 Referència de classes/funcions

Destruct Var Array Record

0x06 0x07 0x08 0x09

ObjectCode estàtic uintToObjectCode (unsigned int objectCode)

isNumericDataType () Informa si un tipus de dades és numèric o no.
bool estàtic ésNumericDataType (ObjectEntryDataType tipus de dades)

isDefstructIndex () Informa si un objecte és un índex d'estructura de definició o no.
bool estàtic isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Informa si un objecte és un índex de tipus de definició o no.
static bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Informa si un tipus de dades és complex o no.
bool estàtic ésComplexDataType (ObjectEntryDataType tipus de dades)

uintToObjectEntryDataType () Converteix nombres enters sense signe en tipus de dades OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Converteix el tipus de dades OD en cadena.
estàtic std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Converteix cadena en tipus de dades OD si és possible. En cas contrari, retorna UNKNOWN_DATATYPE.
estàtic ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Versió: doc 1.4.2 / NanoLib 1.3.0

41

8 Referència de classes/funcions

objectEntryDataTypeBitLength () Informa sobre la longitud de bits d'un tipus de dades d'entrada d'objecte.
estàtic uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const i dataType)

8.25 Estructura RESTfulBus

Aquesta estructura conté les opcions de configuració de comunicació per a la interfície RESTful (a través d'Ethernet). Conté els següents atributs públics:

const std::string const unsigned long const std::string const unsigned long const std::string const sense signar llarg

CONNECT_TIMEOUT_OPTION_NAME = "Temps d'espera de connexió RESTful" DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = "Temps d'espera de la sol·licitud RESTful" DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = "Temps d'espera de resposta RESTful = RESPONSE" DEFAULT_750TIMEOUT_XNUMX

8.26 ProfinetDCP
Sota Linux, l'aplicació de trucada necessita capacitats CAP_NET_ADMIN i CAP_NET_RAW. Per habilitar: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. A Windows, la interfície ProfinetDCP utilitza WinPcap (provat amb la versió 4.1.3) o Npcap (provat amb les versions 1.60 i 1.30). Per tant, cerca la biblioteca wpcap.dll carregada dinàmicament en l'ordre següent (Nota: no hi ha suport actual de Win10Pcap):
1. Directori Nanolib.dll 2. Directori del sistema de Windows SystemRoot%System32 3. Directori d'instal·lació de Npcap SystemRoot%System32Npcap 4. Camí de l'entorn
Aquesta classe representa una interfície de Profinet DCP i té les següents funcions públiques de membres:

getScanTimeout () Informa sobre el temps d'espera d'exploració del dispositiu (per defecte = 2000 ms).
const virtual uint32_t nlc::ProfinetDCP::getScanTimeout ()

setScanTimeout () Estableix un temps d'espera d'exploració del dispositiu (per defecte = 2000 ms).
buit virtual nlc::setScanTimeout (uint32_t timeoutMseg)

getResponseTimeout () Informa sobre el temps d'espera de resposta del dispositiu per a les operacions de configuració, restabliment i parpelleig (per defecte = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Informa sobre el temps d'espera de resposta del dispositiu per a les operacions de configuració, restabliment i parpelleig (per defecte = 1000 ms).
buit virtual nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Versió: doc 1.4.2 / NanoLib 1.3.0

42

8 Referència de classes/funcions

isServiceAvailable ()
Utilitzeu aquesta funció per comprovar la disponibilitat del servei Profinet DCP.
Validesa/disponibilitat de l'adaptador de xarxa Windows: disponibilitat de WinPcap / Npcap Linux: capacitats de CAP_NET_ADMIN / CAP_NET_RAW
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId i busHardwareId)

Paràmetres BusHardwareId Retorna true
fals

ID de maquinari del servei Profinet DCP per comprovar. El servei està disponible. El servei no està disponible.

scanProfinetDevices () Utilitzeu aquesta funció per escanejar el bus de maquinari per detectar la presència de dispositius Profinet.
virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId i busHardwareId)

Paràmetres BusHardwareId Retorna ResultProfinetDevices

Especifica cada bus de camp a obrir. El maquinari està obert.

setupProfinetDevice () Estableix la configuració del dispositiu següent:

Nom del dispositiu

adreça IP

Màscara de xarxa

Passarel·la per defecte

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

resetProfinetDevice () Atura el dispositiu i el restableix als valors predeterminats de fàbrica.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId i busHardwareId, const ProfinetDevice i profinetDevice)

blinkProfinetDevice () Ordena al dispositiu Profinet que comenci a parpellejar el seu LED Profinet.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId i busHardwareId, const ProfinetDevice i profinetDevice)

validateProfinetDeviceIp () Utilitzeu aquesta funció per comprovar l'adreça IP del dispositiu.
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId i busHardwareId, const ProfinetDevice i profinetDevice)

Paràmetres BusHardwareId ProfinetDevice

Especifica l'ID de maquinari a comprovar. Especifica el dispositiu Profinet que cal validar.

Versió: doc 1.4.2 / NanoLib 1.3.0

43

8 Referència de classes/funcions

Retorna ResultVoid

8.27 Estructura ProfinetDevice

Les dades del dispositiu Profinet tenen els següents atributs públics:

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

nom del dispositiu proveïdor del dispositiu adreça mac adreça ip màscara de xarxa predeterminada passarel·la

L'adreça MAC es proporciona com a matriu en format macAddress = {xx, xx, xx, xx, xx, xx}; mentre que l'adreça IP, la màscara de xarxa i la passarel·la s'interpreten com a números hexadecimals de big endian, com ara:

Adreça IP: 192.168.0.2 Màscara de xarxa: 255.255.0.0 Passarel·la: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Classes de resultats

Utilitzeu els valors de retorn "opcionals" d'aquestes classes per comprovar si una trucada de funció va tenir èxit o no, i també localitzar els motius dels errors. En cas d'èxit, la funció hasError () retorna false. Mitjançant getResult (), podeu llegir el valor del resultat segons el tipus (ResultInt, etc.). Si una trucada falla, llegiu el motiu mitjançant getError ().

Atributs protegits

cadena NlcErrorCode uint32_t

errorString errorCode exErrorCode

A més, aquesta classe té les següents funcions públiques de membre:

hasError () Llegeix l'èxit d'una trucada de funció.
bool nlc::Result::hasError () const

Devolucions

vertader fals

Trucada fallida. Utilitzeu getError () per llegir el valor. Trucada amb èxit. Utilitzeu getResult () per llegir el valor.

getError () Llegeix el motiu si falla una trucada de funció.
const std::string nlc::Result::getError () const

Retorna una cadena constant

Versió: doc 1.4.2 / NanoLib 1.3.0

44

8 Referència de classes/funcions
resultat () Les funcions següents ajuden a definir els resultats exactes:
Resultat (std::string const & errorString_)
Resultat (NlcErrorCode const i errCode, std::string const i errorString_)
Resultat (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)
Resultat (Constància de resultat i resultat)
getErrorCode () Llegeix el NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 ResultVoid
NanoLib us envia una instància d'aquesta classe si la funció torna void. La classe hereta les funcions públiques i els atributs protegits de la classe de resultats i té les funcions de membre públics següents:
ResultVoid () Les funcions següents ajuden a definir el resultat del buit exacte:
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ància de resultat i resultat)
8.28.2 ResultInt
NanoLib us envia una instància d'aquesta classe si la funció retorna un nombre enter. La classe hereta les funcions públiques/atributs protegits de la classe de resultats i té les següents funcions públiques de membres:
getResult () Retorna el resultat sencer si una trucada de funció ha tingut èxit.
int64_t getResult () const
Retorna int64_t

Versió: doc 1.4.2 / NanoLib 1.3.0

45

8 Referència de classes/funcions
ResultInt () Les funcions següents ajuden a definir el resultat sencer exacte:
ResultatInt (int64_t resultat_)
ResultatInt (std::string const & errorString_)
ResultInt (NlcErrorCode const i errCode, std::string const i errorString_)
ResultInt (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)
ResultInt (Constància de resultat i resultat)
8.28.3 ResultString
NanoLib us envia una instància d'aquesta classe si la funció retorna una cadena. La classe hereta les funcions públiques/atributs protegits de la classe de resultats i té les següents funcions públiques de membres:
getResult () Llegeix el resultat de la cadena si una trucada de funció ha tingut èxit.
const std::string nlc::ResultString::getResult () const
Retorna una cadena constant
ResultString () Les funcions següents ajuden a definir el resultat exacte de la cadena:
CadenaResultat (std::string const & message, bool hasError_)
CadenaResultat (NlcErrorCode const & errCode, std::string const & errorString_)
CadenaResultat (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (Const de resultat i resultat)
8.28.4 ResultArrayByte
NanoLib us envia una instància d'aquesta classe si la funció retorna una matriu de bytes. La classe hereta les funcions públiques / atributs protegits de la classe resultant i té les funcions membres públiques següents:
getResult() Llegeix el vector de bytes si una crida de funció ha tingut èxit.
const std::vector nlc::ResultArrayByte::getResult () const
Retorna un vector constant

Versió: doc 1.4.2 / NanoLib 1.3.0

46

8 Referència de classes/funcions
ResultArrayByte () Les funcions següents ajuden a definir el resultat exacte de la matriu de bytes:
ResultArrayByte (std::vector) constant i resultat_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const i errCode, std::string const i error String_)
ResultArrayByte (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)
ResultArrayByte (Constància de resultat i resultat)
8.28.5 ResultArrayInt
NanoLib t'envia una instància d'aquesta classe si la funció retorna una matriu d'enters. La classe hereta les funcions públiques / atributs protegits de la classe resultant i té les funcions membres públiques següents:
getResult () Llegeix el vector enter si una crida de funció ha tingut èxit.
const std::vector nlc::ResultArrayInt::getResult () const
Retorna un vector constant
ResultArrayInt () Les funcions següents ajuden a definir el resultat exacte de la matriu enter:
MatriuResultat (std::vector constant i resultat_)
MatriuResultat (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const i errCode, std::string const i error String_)
ResultArrayInt (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)
ResultArrayInt (Constància de resultat i resultat)
8.28.6 ResultBusHwIds
NanoLib us envia una instància d'aquesta classe si la funció retorna una matriu d'ID de maquinari de bus. La classe hereta les funcions públiques / atributs protegits de la classe resultant i té les funcions membres públiques següents:
getResult () Llegeix el vector d'ID de maquinari del bus si una crida de funció ha tingut èxit.
const std::vector nlc::ResultBusHwIds::getResult () const
Paràmetres const vector

Versió: doc 1.4.2 / NanoLib 1.3.0

47

8 Referència de classes/funcions
ResultBusHwIds () Les funcions següents ajuden a definir el resultat exacte de la matriu d'ID de maquinari-bus:
Identificadors de hardware del bus de resultats (std::vector) constant i resultat_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const i errCode, std::string const i errorString_)
ResultBusHwIds (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)
ResultBusHwIds (Constància de resultat i resultat)
8.28.7 ResultDeviceId
NanoLib us envia una instància d'aquesta classe si la funció retorna un ID de dispositiu. La classe hereta les funcions públiques / atributs protegits de la classe resultant i té les funcions membres públiques següents:
getResult () Llegeix el vector d'identificació del dispositiu si una trucada de funció ha tingut èxit.
ID del dispositiu nlc::ResultIdDeviceId::getResult () const
Retorna un vector constant
ResultDeviceId () Les funcions següents ajuden a definir el resultat exacte de l'ID del dispositiu:
ResultatDeviceId (DeviceId const & resultat_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const i errCode, std::string const i errorString_)
ResultDeviceId (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Constància de resultat i resultat)
8.28.8 ResultDeviceIds
NanoLib us envia una instància d'aquesta classe si la funció retorna una matriu d'ID de dispositiu. La classe hereta les funcions públiques / atributs protegits de la classe resultant i té les funcions membres públiques següents:
getResult () Retorna el vector d'ID del dispositiu si una crida de funció ha tingut èxit.
ID del dispositiu nlc::ResultDeviceIds::getResult () const
Retorna un vector constant

Versió: doc 1.4.2 / NanoLib 1.3.0

48

8 Referència de classes/funcions
ResultDeviceIds () Les funcions següents ajuden a definir el resultat exacte de la matriu d'ID de dispositiu:
Identificadors de dispositiu de resultat (std::vector) constant i resultat_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const i errCode, std::string const i errorString_)
ResultDeviceIds (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)
ResultDeviceIds (Constància de resultat i resultat)
8.28.9 ResultDeviceHandle
NanoLib us envia una instància d'aquesta classe si la funció retorna el valor d'un identificador de dispositiu. La classe hereta les funcions públiques / atributs protegits de la classe resultant i té les funcions membres públiques següents:
getResult () Llegeix el controlador del dispositiu si una trucada de funció ha tingut èxit.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Retorna DeviceHandle
ResultDeviceHandle () Les funcions següents ajuden a definir el resultat exacte del maneig del dispositiu:
ResultatDeviceHandle (const de DeviceHandle i resultat_)
ResultatDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const i errCode, std::string const i errorString_)
ResultDeviceHandle (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)
ResultDeviceHandle (Constància de resultat i resultat)
8.28.10 ResultObjectDictionary
NanoLib us envia una instància d'aquesta classe si la funció retorna el contingut d'un diccionari d'objectes. La classe hereta les funcions públiques/atributs protegits de la classe de resultats i té les següents funcions públiques de membres:
getResult () Llegeix el vector d'identificació del dispositiu si una trucada de funció ha tingut èxit.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Versió: doc 1.4.2 / NanoLib 1.3.0

49

8 Referència de classes/funcions

Devolucions

vector const

ResultObjectDictionary () Les funcions següents ajuden a definir el resultat exacte del diccionari d'objectes:
DiccionariObjecteResultat (nlc::DiccionariObjecte const & resultat_)

DiccionariObjecteResultat (std::string const & errorString_)

DiccionariObjecteResultat (NlcErrorCode const i errCode, std::string const i errorString_)

DiccionariObjecteResultat (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)

ResultObjectDictionary (Constància de resultat i resultat)

8.28.11 ResultConnectionState
NanoLib us envia una instància d'aquesta classe si la funció retorna una informació de l'estat de connexió del dispositiu. La classe hereta les funcions públiques/atributs protegits de la classe de resultats i té les següents funcions públiques de membres:
getResult () Llegeix el controlador del dispositiu si una trucada de funció ha tingut èxit.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Retorna DeviceConnectionStateInfo Connectat / Desconnectat / ConnectedBootloader

ResultConnectionState () Les funcions següents ajuden a definir el resultat exacte de l'estat de connexió:
ResultatEstatConnexió (constInformacióEstatConnexióDispositiu i resultat_)

EstatConnexióResultat (std::string const & errorString_)

EstatConnexióResultat (NlcErrorCode const i errCode, std::string const i errorString_)

EstatConnexióResultat (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)

EstatConnexióResultat (Constància de resultat i resultat)

8.28.12 ResultObjectEntry
NanoLib us envia una instància d'aquesta classe si la funció retorna una entrada d'objecte. La classe hereta les funcions públiques / atributs protegits de la classe resultant i té les funcions membres públiques següents:

Versió: doc 1.4.2 / NanoLib 1.3.0

50

8 Referència de classes/funcions
getResult () Retorna el vector d'ID del dispositiu si una crida de funció ha tingut èxit.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Retorna const ObjectEntry
ResultObjectEntry () Les funcions següents ajuden a definir el resultat exacte de l'entrada d'objecte:
ResultatObjectEntry (nlc::ObjectEntry const & resultat_)
ResultatObjectEntry (std::string const & errorString_)
EntradaObjecteResultat (NlcErrorCode const i errCode, std::string const i errorString_)
EntradaObjecteResultat (NlcErrorCode const i errCode, const uint32_t exErrCode, std::string const i errorString_)
ResultatObjectEntry (Constància de resultat i resultat)
8.28.13 ResultObjectSubEntry
NanoLib us envia una instància d'aquesta classe si la funció retorna una subentrada d'objecte. La classe hereta les funcions públiques / atributs protegits de la classe resultant i té les funcions membres públiques següents:
getResult () Retorna el vector d'ID del dispositiu si una crida de funció ha tingut èxit.
nlc::ObjectSubEntry const i nlc::ResultObjectSubEntry::getResult () const
Retorna const ObjectSubEntry
ResultObjectSubEntry () Les funcions següents ajuden a definir el resultat exacte de la subentrada de l'objecte:
SubentradaObjecteResultat (nlc::EntradaObjecte const & resultat_)
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ància de resultat i resultat)
8.28.14 ResultProfinetDevices
NanoLib us envia una instància d'aquesta classe si la funció retorna un dispositiu Profinet. La classe hereta les funcions públiques/atributs protegits de la classe de resultats i té les següents funcions públiques de membres:

Versió: doc 1.4.2 / NanoLib 1.3.0

51

8 Referència de classes/funcions

getResult () Llegeix el vector del dispositiu Profinet si una trucada de funció ha tingut èxit.
const std::vector & obtenirResultat () const

ResultProfinetDevices () Les funcions següents ajuden a definir els dispositius Profinet exactes.
ResultatProfinetDevices (const std::vector) i dispositius profinet)
ResultatProfinetDevices (const Resultat & resultat)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ResultatsampleDataArray
NanoLib us envia una instància d'aquesta classe si la funció torna comample matriu de dades. La classe hereta les funcions públiques/atributs protegits de la classe de resultats i té les següents funcions públiques de membres:
getResult () Llegeix la matriu de dades si una trucada de funció ha tingut èxit.
const std::vector <SampleData> & getResult () const

ResultatsampleDataArray () Les funcions següents ajuden a definir els dispositius Profinet exactes.
ResultatsampleDataArray (const std::vector <S)ampleData> & dataArray)

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

ResultatsampleDataArray (const ResultatsampleDataArray i altres)

ResultatsampleDataArray (const Resultat & resultat)

8.28.16 ResultatsamplerEstat
NanoLib us envia una instància d'aquesta classe si la funció torna comampler state. Aquesta classe hereta les funcions públiques/atributs protegits de la classe de resultats i té les següents funcions públiques de membres:

getResult () Llegeix el sampler vector d'estat si una trucada de funció va tenir èxit.
SamplerState getResult () const

Torna SamplerEstat>

No configurat / Configurat / A punt / En execució / Completat / Error / Cancel·lat

Versió: doc 1.4.2 / NanoLib 1.3.0

52

8 Referència de classes/funcions

ResultatsamplerState () Les funcions següents ajuden a definir la s exactaampler estat.
ResultatsamplerState (const Sampl'estat de l'estat)

ResultatsamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
CodiErrorEstès = 0)

ResultatsamplerState (const Resultats)ampEstat i altres)

ResultatsamplerState (const Resultat & resultat)

8.29 NlcErrorCode

Si alguna cosa va malament, les classes de resultats informen d'un dels codis d'error enumerats en aquesta enumeració.

Codi d'error Èxit GeneralError BusNo disponible CommunicationError ProtocolError
ODNoesNoExist ODInvàlidAccésODInvàlidTypeOperacióNoCoincidènciaOperacióAbortadaOperacióNoAdmesaOperacióInvàlida
Accés d'arguments no vàlids Recurs denegat Recurs no trobatRecurs no disponible OutOfMemory TimeOutError

C: Categoria D: Descripció R: Motiu C: Cap. D: Cap error. R: L'operació s'ha completat correctament.
C: Sense especificar. D: Error no especificat. R: Fracàs que no encaixa en cap altra categoria.
C: Autobús. D: Bus de maquinari no disponible. R: Bus inexistent, tallat o defecte.
C: Comunicació. D: Comunicació poc fiable. R: Dades inesperades, CRC incorrectes, errors de marc o de paritat, etc.
C: Protocol. D: Error de protocol. R: Resposta després d'una opció de protocol no admesa, informe del dispositiu protocol no compatible, error en el protocol (per exemple, bit de sincronització del segment SDO), etc. R: Una resposta o informe del dispositiu a un protocol no admès (opcions) o a errors al protocol (per exemple, SDO). bit de sincronització de segment), etc. R: protocol no admès (opcions) o error de protocol (per exemple, bit de sincronització de segment SDO), etc.
C: Diccionari d'objectes. D: Adreça OD inexistent. R: No hi ha aquesta adreça al diccionari d'objectes.
C: Diccionari d'objectes. D: Accés a l'adreça OD no vàlid. R: Intenteu escriure una adreça de només lectura o llegir des d'una adreça de només escriptura.
C: Diccionari d'objectes. D: desajust de tipus. R: valor no convertit al tipus especificat, per exemple, en un intent de tractar una cadena com un nombre.
C: Aplicació. D: Procés avortat. R: Reducció del procés per sol·licitud de sol·licitud. Retorna només en interrupció de l'operació per funció de devolució de trucada, per exemple, de l'exploració de bus.
C: Comú. D: procés no compatible. R: No hi ha suport de bus de maquinari / dispositiu.
C: Comú. D: procés incorrecte en el context actual o no vàlid amb l'argument actual. R: Un intent de reconnexió a busos/dispositius ja connectats. Un intent de desconnexió als que ja estan desconnectats. Un intent d'operació del carregador d'arrencada en mode de microprogramari o viceversa.
C: Comú. D: Argument no vàlid. R: Lògica o sintaxi incorrecta.
C: Comú. D: Es denega l'accés. R: Manca de drets o capacitats per realitzar l'operació sol·licitada.
C: Comú. D: No s'ha trobat l'element especificat. R: Bus de maquinari, protocol, dispositiu, adreça OD al dispositiu o file no es va trobar.
C: Comú. D: No s'ha trobat l'element especificat. R: ocupat, inexistent, tallat o defecte.
C: Comú. D: memòria insuficient. R: Hi ha massa poca memòria per processar aquesta ordre.
C: Comú. D: El procés s'ha esgotat. R: Tornar després d'haver expirat el temps mort. El temps d'espera pot ser un temps de resposta del dispositiu, un temps per obtenir accés a recursos compartits o exclusius, o un temps per canviar el bus/dispositiu a un estat adequat.

Versió: doc 1.4.2 / NanoLib 1.3.0

53

8 Referència de classes/funcions

8.30 NlcCallback
Aquesta classe principal per a callbacks té la següent funció membre pública: callback ()
crida de retorn virtual ResultVoid ()

Devolucions

ResultVoid

8.31 NlcDataTransferCallback
Feu servir aquesta classe de callback per a transferències de dades (actualització de firmware, càrrega de NanoJ, etc.). 1. Per a una càrrega de firmware: definiu una "coclasse" que ampliï aquesta amb un mètode de callback personalitzat.
implementació. 2. Utilitzeu les instàncies de les "co-classes" a les crides a NanoLibAccessor.uploadFirmware (). La classe principal té la següent funció de membre pública:

callback () virtual ResultVoid callback (nlc::DataTransferInfo info, int32_t dades)

Devolucions

ResultVoid

8.32 NlcScanBusCallback
Feu servir aquesta classe de callback per a l'escaneig de bus. 1. Defineix una "co-classe" que ampliï aquesta amb una implementació d'un mètode de callback personalitzat. 2. Utilitza les instàncies de la "co-classe" a les crides a NanoLibAccessor.scanDevices (). La classe principal té la següent funció membre pública.

devolució de trucada ()
crida de retorn virtual ResultVoid (nlc::BusScanInfo info, std::vector const & devicesFound, int32_t dades)

Retorna ResultVoid
8.33 NlcLoggingCallback
Utilitzeu aquesta classe de devolució de trucada per registrar devolucions de trucada. 1. Definiu una classe que amplia aquesta classe amb una implementació de mètode de devolució de trucada personalitzada 2. Utilitzeu un punter a les seves instàncies per establir una devolució de trucada per NanoLibAccessor >
setLoggingCallback (…).
retrollamada de buit virtual (const std::string i payload_str, const std::string i formatted_str, const std::string i logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

8.34 SamplerInterface
Utilitzeu aquesta classe per configurar, iniciar i aturar el sampler, o per aconseguir sampdades led i buscar comampestat de l'er o darrer error. La classe té les següents funcions públiques de membre.

Versió: doc 1.4.2 / NanoLib 1.3.0

54

8 Referència de classes/funcions

configure () Configura comampler.
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SampConfiguració de ler i samplerConfiguració)

Paràmetres [en] deviceHandle [en] samplerConfiguració
Retorna ResultVoid

Especifica quin dispositiu configurar el sampler per. Especifica els valors dels atributs de configuració. Confirma que s'ha executat una funció void.

getData () Obté el sampdades led.
Resultats virtualsampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Paràmetres [a] deviceHandle Retorna ResultatsampleDataArray

Especifica per a quin dispositiu es poden obtenir les dades.
Entrega el sampdades led, que pot ser una matriu buida si samplerNotify està actiu a l'inici.

getLastError () Obté comampl'últim error de ler.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Retorna ResultVoid

Confirma que s'ha executat una funció void.

getState () Obté comampestat de ler.
Resultats virtualsamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Retorna ResultatSamplerEstat

Entrega el sampler estat.

start () Comença comampler.
virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t dadesDel_aplicació)

Paràmetres [en] deviceHandle [en] SamplerNotificar [a] applicationData
Retorna ResultVoid

Especifica quin dispositiu ha d'iniciar el sampler per.
Especifica quina informació opcional cal informar (pot ser nullptr).
Opció: reenvia dades relacionades amb l'aplicació (una matriu de 8 bits definida per l'usuari de valor/ID de dispositiu/índex, o una data i hora, un punter d'una variable/funció, etc.) a samplerNotificar.
Confirma que s'ha executat una funció void.

Versió: doc 1.4.2 / NanoLib 1.3.0

55

8 Referència de classes/funcions

stop () S'atura comampler.
virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Paràmetres [a] deviceHandle Retorna ResultVoid

Especifica quin dispositiu aturar el sampler per. Confirma que s'ha executat una funció void.

8.35 SamplerConfiguration struct

Aquesta estructura conté les dades sampopcions de configuració de ler (estàtiques o no).

Atributs públics

std::vector adreces rastrejades

Fins a 12 adreces OD per ser sampdirigit.

uint32_t

versió

Versió d'una estructura.

uint32_t

duradaMilisegons

Sampdurada ling en ms, d'1 a 65535

uint16_t

períodeMilisegons

Sampperíode de ling en ms.

uint16_t

nombreOfSamples

Samples quantitats.

uint16_t

preTriggerNumberOfSamples

Sampla quantitat prèvia al disparador.

bool

utilitzant la implementació de programari

Utilitzar la implementació de programari.

bool

utilitzant NewFWSamplerImplementation Utilitzeu la implementació de FW per a dispositius amb a

Versió de FW v24xx o posterior.

SamplerMode

mode

s normal, repetitiu o continuampllengüeta

SamplerTriggerCondition triggerCondition

Condicions de desencadenament inicial: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValue

SamplerTrigger

SamplerTrigger

Un detonant per començar comampler?

Atributs públics estàtics
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotificar
Utilitzeu aquesta classe per activar sampler notificacions quan comenci comampler. La classe té la següent funció pública de membre.

Versió: doc 1.4.2 / NanoLib 1.3.0

56

8 Referència de classes/funcions

notificar ()
Envia una entrada de notificació.
buit virtual nlc::SamplerNotify::notify (const ResultVoid i lastError, const SamplerEstat samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Paràmetres [en] lastError [en] samplerEstat
[en] sampleDatas [a] applicationData

Informa de l'últim error que s'ha produït mentre sampling. Informa el sampEstat del ler en el moment de la notificació: No configurat / Configurat / A punt / En execució / Completat / Error / Cancel·lat. Informa el sampmatriu de dades led. Informa de dades específiques de l'aplicació.

8.37 SampEstructura leData

Aquesta estructura conté el sampdades led.

uin64_t iterationNumber

Comença a 0 i només augmenta en mode repetitiu.

std::vector<SampledValues> Conté la matriu de sampvalors led.

8.38 SampledValue struct

Aquesta estructura conté el sampvalors led.

in64_t valor uin64_t CollectTimeMsec

Conté el valor d'una adreça OD amb seguiment.
Conté el temps de recollida en mil·lisegons, en relació amb el sampel començament.

8.39 SamplerTrigger struct

Aquesta estructura conté la configuració del disparador del sampler.

SamplerTriggerCondition condició
Valor d'OdIndex uin32_t

La condició de desencadenament: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
L'OdIndex (adreça) del disparador.
Valor de condició o número de bit (a partir del bit zero).

8.40 Estructura en sèrie

Trobeu aquí les vostres opcions de comunicació en sèrie i els atributs públics següents:

const std::string const SerialBaudRate

NOM_OPCIONS_BAUD_RATE = “velocitat_en_bauds_sèrie” baudRate =SerialBaudRate struct

Versió: doc 1.4.2 / NanoLib 1.3.0

57

8 Referència de classes/funcions

const std::string const SerialParity

NOM_OPCIONS_PARITAT = “paritat sèrie” paritat = estructura ParitatSerial

8.41 Estructura SerialBaudRate

Trobeu aquí la vostra velocitat en baudis de comunicació en sèrie i els atributs públics següents:

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

BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE_56000 = “_56000 BAUD_57600” = “_57600” 115200” BAUD_RATE_115200 = “128000” BAUD_RATE_128000 = “256000” BAUD_RATE_256000 = “XNUMX”

8.42 Estructura SerialParity

Trobeu aquí les vostres opcions de paritat en sèrie i els atributs públics següents:

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

NINGÚ = “cap” PARELL = “senar” PARELL = “parell” MARCA = “marcar” ESPAI = “espai”

Versió: doc 1.4.2 / NanoLib 1.3.0

58

9 Llicències

9 Llicències

Capçaleres i exemples de la interfície de l'API de NanoLibampEl codi font té la llicència de Nanotec Electronic GmbH & Co. KG sota la llicència Creative Commons Attribution 3.0 Unported License (CC BY). Les parts de la biblioteca proporcionades en format binari (biblioteques de comunicació central i de bus de camp) estan sota llicència Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).

Creative Commons
El següent resum llegible per humans no substituirà les llicències en si. Podeu trobar la llicència corresponent a creativecommons.org i enllaçada a continuació. Ets lliure de:

CC BY 3.0
Comparteix: mira bé. Adaptar: Remesclar, transformar i construir sobre el
material per a qualsevol propòsit, fins i tot comercial.

CC BY-ND 4.0
Compartir: copiar i redistribuir el material en qualsevol mitjà o format.

El llicenciador no pot revocar les llibertats anteriors sempre que obeeixis els termes de la llicència següents:

CC BY 3.0

CC BY-ND 4.0

Atribució: heu de donar el crèdit adequat, Atribució: Vegeu l'esquerra. Però: proporcioneu un enllaç a això

proporcioneu un enllaç a la llicència i indiqueu si

altra llicència.

es van fer canvis. Podeu fer-ho en qualsevol

Sense derivats: si remixeu, transformeu o construïu

manera raonable, però no de cap manera que suggereixi

sobre el material, no podeu distribuir el

indica que el llicenciant us avala o el vostre ús.

material modificat.

Sense restriccions addicionals: és possible que no apliqueu cap restricció addicional: vegeu l'esquerra. termes legals o mesures tecnològiques que legalment

restringir que altres facin res de la llicència

permisos.

Nota: no heu de complir la llicència per a elements del material de domini públic o quan el vostre ús estigui permès per una excepció o limitació aplicable.
Nota: No s'ofereixen garanties. És possible que la llicència no us doni tots els permisos necessaris per al vostre ús previst. Per exampD'altra banda, altres drets com ara la publicitat, la privadesa o els drets morals poden limitar l'ús del material.

Versió: doc 1.4.2 / NanoLib 1.3.0

59

Avís legal, contacte, versions

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenAlemanyaTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Tots els drets reservats. Errors, omissions, canvis tècnics o de contingut possibles sense previ avís. Les marques/productes citats són marques comercials dels seus propietaris i s'han de tractar com a tals. Versió original.

Document 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

+ Afegit > Canviat # Corregit > Reelaboració de l'ex proporcionatamples.
+ NanoLib Modbus: S'ha afegit un mecanisme de bloqueig de dispositius per a Modbus VCP. # NanoLib Core: S'ha corregit la comprovació de l'estat de la connexió. # NanoLib Code: S'ha corregit l'eliminació de la referència al maquinari del bus.
+ NanoLib-CANopen: Compatibilitat amb l'adaptador Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: S'ha canviat la interfície de retrollamada de registre (LogLevel substituït per LogModule). # NanoLib Logger: S'ha corregit la separació entre el nucli i els mòduls. # Modbus TCP: S'ha corregit l'actualització del firmware per a FW4. # EtherCAT: S'ha corregit la càrrega del programa NanoJ per a Core5. # EtherCAT: S'ha corregit l'actualització del firmware per a Core5.
# Modbus RTU: S'han solucionat problemes de temporització amb velocitats de baudi baixes durant l'actualització del firmware. # RESTful: S'ha corregit la càrrega del programa NanoJ.
# Mòduls NanoLib Sampler: Lectura correcta del sampvalors booleans led.
+ Suport de Java 11 per a totes les plataformes. + Suport de Python 3.11/3.12 per a totes les plataformes. + Nova interfície de devolució de trucada de registre (vegeu examples). + Embornals de devolució de trucada per a NanoLib Logger. > Actualitza el registrador a la versió 1.12.0. > Mòduls NanoLib Sampler: Suport ara per al firmware del controlador Nanotec v24xx. > Mòduls NanoLib Sampler: Canvi d'estructura utilitzat per sampler configuració. > Mòduls NanoLib Sampler: El mode continu és sinònim de sense fi; la condició d'activació es comprova una vegada; el nombre de sampels han de ser 0. > NanoLib Modules Sampler: prioritat normal per al fil que recull dades en mode de microprogramari. > Mòduls NanoLib Sampler: algorisme reescrit per detectar la transició entre l'estat Preparat i en execució. # NanoLib Core: no hi ha més violació d'accés (0xC0000005) en tancar 2 o més dispositius amb el mateix maquinari de bus. # NanoLib Core: no hi ha més errors de segmentació en connectar un adaptador PEAK a Linux. # Mòduls NanoLib Sampler: Correcte samplectura de valors led en mode de firmware. # Mòduls NanoLib Sampler: Configuració correcta de 502X:04. # Mòduls NanoLib Sampler: Barreja correcta de buffers amb canals. # NanoLib-Canopen: augment del temps d'espera CAN per a la robustesa i l'escaneig correcte a velocitats de baudi més baixes. # NanoLib-Modbus: algorisme de detecció de VCP per a dispositius especials (USB-DA-IO).
+ Suport per a EtherCAT.
+ Nota sobre la configuració del projecte VS a Configura el teu projecte.
+ getDeviceHardwareGroup(). + getProfinetDCP(isServiceAvailable). + getProfinetDCP(validateProfinetDeviceIp). + autoAssignObjectDictionary(). + getXmlFileNom (). + const std::string & xmlFileCamí a addObjectDictionary(). + getSamplerInterface ().

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

Versió: doc 1.4.2 / NanoLib 1.3.0

60

10 Impressió, contacte, versions

Document
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

+ Afegit > Canviat # Corregit + rebootDevice (). + Codi d'error ResourceUnavailable per a getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber i ~Uid. > firmwareUploadFromFile ara pujaFirmwareFromFile (). > firmwareUpload () ara carregaFirmware (). > carregador d'arrencadaPujaDeFile () ara puja el carregador d'arrencada deFile (). > bootloaderUpload () ara uploadBootloader (). > bootloaderFirmwareUploadFromFile () per carregarBootloaderFirmwareFromFile (). > Carrega del firmware del carregador d'arrencada () ara puja el firmware del carregador d'arrencada (). > Carrega de nanoj deFile () ara pujaNanoJFromFile (). > nanojUpload () ara uploadNanoJ (). > objectDictionaryLibrary () ara getObjectDictionaryLibrary (). > String_String_Map ara StringStringMap. > NanoLib-Common: execució més ràpida de listAvailableBusHardware i openBusHardwareWithProtocol amb adaptador Ixxat. > NanoLib-CANopen: s'utilitzen els paràmetres per defecte (velocitat de 1000k, número de bus Ixxat 0) si les opcions de maquinari del bus estan buides. > NanoLib-RESTful: permís d'administrador obsolet per a la comunicació amb els carregadors d'arrencada Ethernet a Windows si el controlador npcap / winpcap està disponible. # NanoLib-CANopen: el maquinari del bus ara s'obre sense errors amb opcions buides. # NanoLib-Common: openBusHardwareWithProtocol () ara sense fuites de memòria.
+ Compatibilitat amb Linux ARM64. + Compatibilitat amb emmagatzematge massiu USB / REST / Profinet DCP. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (substitueix NanotecExceptions). + NanoLib Modbus: concentrador VCP / USB unificat a USB. > L'escaneig Modbus TCP retorna resultats. < La latència de la comunicació Modbus TCP es manté constant.
+ Més ObjectEntryDataType (complex i professional)file-específic). + Retorna IOError si connectDevice() i scanDevices() no en troben cap. + Només temps d'espera nominal de 100 ms per a CanOpen / Modbus.
+ Compatibilitat amb Modbus (més un concentrador USB via VCP). + Capítol Creació del vostre propi projecte Linux. + extraHardwareSpecifier a BusHardwareId(). + extraId_ i extraStringId_ a DeviceId().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Correcció d'errors.
Edició.

Producte
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Versió: doc 1.4.2 / NanoLib 1.3.0

61

Documents/Recursos

Programació Nanotic NanoLib C++ [pdfManual d'usuari
NanoLib Programació en C, Programació en C, Programació

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *