Nanotic NanoLib C++ programazioa

Produktuaren informazioa
Zehaztapenak
- Produktuaren izena: NanoLib
- Programazioa Hizkuntza: C++
- Produktuaren bertsioa: 1.3.0
- Erabiltzailearen eskuliburuaren bertsioa: 1.4.2
NanoLib liburutegia Nanotec kontrolagailuentzako kontrol softwarea programatzeko diseinatuta dago. Erabiltzaile-interfazea, oinarrizko funtzionalitateak eta komunikazio liburutegiak eskaintzen ditu kontrol-aplikazioen garapena errazteko.
Produktuak erabiltzeko jarraibideak
- Hasi aurretik:
- Ziurtatu zure sistemak eskuliburuan zehaztutako hardware-eskakizunak betetzen dituela. Produktu honen xede den publikoa Nanotec kontrolagailuentzako kontrol softwarea sortu nahi duten garatzaileak daude.
- Hasteko:
- NanoLib erabiltzen hasteko, jarraitu urrats hauek:
- Hasi NanoLib zure proiektuan inportatzen.
- Konfiguratu zure proiektuaren ezarpenak behar bezala.
- Eraiki zure proiektua NanoLib funtzionalitateak sartzeko.
- Proiektuak sortzea:
- Windows zein Linux inguruneetarako proiektuak sor ditzakezu. Jarraitu plataforma bakoitzaren eskuliburuan emandako argibide zehatzei.
- Klaseak / Funtzioak Erreferentzia:
- Kontsultatu erabiltzailearen eskuliburua NanoLib-en kontrol-softwarea programatzeko eskuragarri dauden klase eta funtzioei buruzko gida zehatza lortzeko.
Ohiko galderak
- G: Zein da NanoLib-en helburua?
- A: NanoLib Nanotec kontrolagailuentzako kontrol-softwarea programatzeko liburutegia da, funtsezko funtzionalitateak eta komunikazio-gaitasunak eskaintzen dituena.
- G: Nola has naiteke NanoLib-ekin?
- A: Hasi NanoLib zure proiektuan inportatzen, proiektuaren ezarpenak konfiguratzen eta zure proiektua eraikitzen NanoLib funtzioak erabiltzeko.
“`
NanoLib erabiltzailearen eskuliburua
C++
Baliozkoa produktuaren 1.3.0 bertsioarekin
Erabiltzailearen eskuliburuaren bertsioa: 1.4.2
Dokumentuaren helburua eta konbentzioak
Dokumentu honek NanoLib liburutegiaren konfigurazioa eta erabilera deskribatzen ditu eta Nanotec kontrolagailuetarako zure kontrol-softwarea programatzeko klase eta funtzio guztien erreferentzia bat dauka. Tipografia hauek erabiltzen ditugu:
Azpimarratutako testuak erreferentzia gurutzatua edo hiperesteka bat markatzen du.
Example 1: NanoLibAccessor-en argibide zehatzak lortzeko, ikusi Konfigurazioa. Adibamp2: instalatu Ixxat kontrolatzailea eta konektatu CAN-to-USB egokitzailea. Testu etzanak zera esan nahi du: Hau izendatutako objektu bat da, menuko bide / elementua, fitxa / file izena edo (beharrezkoa bada) atzerriko hizkuntzako esamolde bat.
Example 1: Hautatu File > Berria > Dokumentu hutsik. Ireki Tresna fitxa eta hautatu Iruzkina. Adibample 2: Dokumentu honek erabiltzaileak (= Nutzer; usuario; utente; utilisateur; utente etab.) bereizten ditu:
– Hirugarren erabiltzailea (= Drittnutzer; tercero usuario; tercer utente; tiers utilisateur; terzo utente etab.). – Azken erabiltzailea (= Endnutzer; usuario final; utente final; utilisateur final; utente finale etab.).
Courier-ek kode blokeak edo programazio komandoak markatzen ditu. Adibamp1: Bash bidez, deitu sudo make install partekatutako objektuak kopiatzeko; gero deitu ldconfig. Adibamp2. fitxategia: Erabili NanoLibAccessor funtzio hau NanoLib-en erregistro-maila aldatzeko:
// ***** C++ aldaera *****
void setLoggingLevel(LogLevel maila);
Testu lodiak garrantzi kritikoa duten hitz indibidualak azpimarratzen ditu. Bestela, harridura-markek kortxeteek garrantzi kritikoa (!) azpimarratzen dute.
Example 1: Babestu zeure burua, besteak eta zure ekipoak. Jarraitu gure segurtasun-ohar orokorrak, oro har Nanotec produktu guztietan aplikagarriak direnak.
Examp2: Zure babeserako, jarraitu produktu zehatz honi dagozkion segurtasun-ohar espezifikoak ere. Elkarrekin klik egin aditzak bigarren mailako saguaren teklaren bidez klik egitea esan nahi du testuinguru-menua irekitzeko, etab.
Example 1: Egin klik batera file, hautatu Aldatu izena eta aldatu izena file. Adibamp2: propietateak egiaztatzeko, egin klik batera file eta hautatu Propietateak.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
4
Hasi baino lehen
NanoLib erabiltzen hasi baino lehen, prestatu ordenagailua eta informa zaitez nahi den erabilerari eta liburutegiaren mugei buruz.
2.1 Sistema eta hardware-eskakizunak

OHARRA 32 biteko funtzionamenduaren edo etendako sistemaren matxura! Erabili eta mantendu etengabe 64 biteko sistema. Behatu OEM etenaldiak eta ~argibideak.
NanoLib 1.3.0-k Nanotec produktu guztiak onartzen ditu CANopen, Modbus RTU (USB ere com portu birtualean), Modbus TCP, EtherCat eta Profinet-ekin. NanoLibs zaharragoetarako: ikusi aldaketa-erregistroa inprintean. Zure arriskuan soilik: sistemaren erabilera. Oharra: jarraitu OEM baliozko argibideei latentzia ahalik eta txikiena ezartzeko FTDIn oinarritutako USB egokigailu bat erabiltzean arazoak badituzu.
Baldintzak (64 biteko sistema derrigorrezkoa)
Windows 10 edo 11rekin Visual Studio 2019 bertsioa 16.8 edo berriagoa eta Windows SDK 10.0.20348.0 (2104 bertsioa) edo berriagoa
C++ birbanagarriak 2017 edo handiagoa CANopen: Ixxat VCI edo PCAN oinarrizko kontrolatzailea (aukerakoa) EtherCat modulua / Profinet DCP: Npcap edo WinPcap RESTful modulua: Npcap, WinPcap edo administratzaile baimena
komunikatu Ethernet abio-kargagailuekin
Linux w/ Ubuntu 20.04 LTS 24ra (guztiak x64 eta arm64)
Kernel goiburuak eta libpopt-dev paketea Profinet DCP: CAP_NET_ADMIN eta CAP_NET_RAW gaitasunak
loturak CANopen: Ixxat ECI kontrolatzailea edo Peak PCAN-USB egokitzailea EtherCat: CAP_NET_ADMIN, CAP_NET_RAW eta
CAP_SYS_NICE gaitasunak RESTful: CAP_NET_ADMIN Eth-rekin komunikatzeko gaitasuna.
ernet abiarazleak (ere gomendatua: CAP_NET_RAW)
Hizkuntza, fieldbus egokitzaileak, kableak
C++ GCC 7 edo berriagoa (Linux)
EtherCAT: Ethernet kablea VCP / USB hub: orain uniforme USB USB biltegiratze masiboa: USB kablea REST: Ethernet kablea CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB egokitzailea Ez da Ixxat-en laguntzarik Ubunturako arm64-n
Modbus RTU: Nanotec ZK-USB-RS485-1 edo egokitzaile baliokidea; USB kablea com portu birtualean (VCP)
Modbus TCP: Ethernet kablea produktuaren fitxa teknikoaren arabera
2.2 Aurreikusitako erabilera eta audientzia
NanoLib programa-liburutegia eta software osagaia da Nanotec kontrolagailuen funtzionamendurako eta harekin komunikatzeko aplikazio industrial ugaritan eta behar bezala trebe diren programatzaileentzat soilik.
Denbora errealeko gai ez den hardwarea (PC) eta sistema eragilea dela eta, NanoLib ez da ardatz anitzeko mugimendu sinkronoa behar duten aplikazioetan erabiltzeko edo, oro har, denbora-sentikorrak diren aplikazioetan.
Inola ere ezin duzu sartu NanoLib segurtasun-osagai gisa produktu edo sistema batean. Azken erabiltzaileei entregatzean, dagozkion abisu-oharrak eta argibideak gehitu behar dizkiozu Nanotec-ek fabrikatutako osagai bat duen produktu bakoitzari erabilera segururako eta funtzionamendu segururako argibideak. Nanotec-ek jaulkitako abisu-ohar guztiak zuzenean pasatu behar dizkiozu azken erabiltzaileari.
2.3 Entrega-esparrua eta bermea
NanoLib gure deskargatik *.zip karpeta gisa dator webEMEA / APAC edo AMERIKArako gunea. Gorde behar bezala eta deskonprimitu deskarga konfiguratu aurretik. NanoLib paketeak honako hauek ditu:
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
5
2 Hasi aurretik
Interfazearen goiburuak iturburu-kode gisa (API)
Nukleoak formatu bitarreko liburutegi gisa funtzionatzen du: nano-
Komunikazioa errazten duten liburutegiak: nanolibm_ lib.dll
[yourfieldbus].dll eta abar.Example project: Adibample.sln (Visual Studio
proiektua) eta example.cpp (nagusia file)
Berme-esparrurako, mesedez, ikusi a) gure zehaztapen eta baldintzak bai EMEA/APAC edo AMERIKArako eta b) lizentzia-baldintza guztiak. Oharra: Nanotec-ek ez du erantzukizunik izango hirugarrenen ekipamenduen kalitate, manipulazio, instalazio, funtzionamendu, erabilera eta mantentze-lanen akatsen edo bidegabeko erantzule! Segurtasuna lortzeko, jarraitu beti baliozko OEM-ren argibideak.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
6
NanoLib arkitektura
NanoLib-ren software-egitura modularrak motor kontrolagailu/eremu-busen funtzioak libreki pertsonalizagarriak aldez aurretik eraikitako nukleo baten inguruan antolatzeko aukera ematen dizu. NanoLib-ek modulu hauek ditu:
Erabiltzaile-interfazea (API)
NanoLib core
Interfazea eta klase laguntzaileak zein Liburutegiak zein
Komunikazio liburutegiak Fieldbus-eko berariazko liburutegiak zein
Sar zaitez zure kontrolagailuaren NanoLib-en arteko API funtzionalitatea inplementatzeko
OD (objektuen hiztegia)
autobus liburutegiekin elkarreragin.
core eta bus hardwarea.
NanoLib core funtzioan oinarritua
nazionalitateak.
3.1 Erabiltzailearen interfazea
Erabiltzaile interfazea goiburuko interfazea da files kontrolagailuaren parametroetara sartzeko erabil dezakezu. Erabiltzaile-interfazeko klaseek Klaseak/funtzioen erreferentzian deskribatzen duten moduan:
Konektatu hardwarera (eremu-busaren egokitzailea) eta kontrolagailura. Sartu gailuaren OD, kontroladorearen parametroak irakurtzeko/idazteko.
3.2 NanoLib nukleoa
NanoLib nukleoa nanolib.lib inportazio liburutegiarekin dator. Erabiltzaile-interfazearen funtzionaltasuna inplementatzen du eta hauen arduraduna da:
Komunikazio liburutegiak kargatzea eta kudeatzea. NanoLibAccessor-en erabiltzailearen interfazearen funtzionalitateak eskaintzea. Komunikazio sarrera-puntu honek de-
NanoLib core eta komunikazio liburutegietan exekutatu ditzakezun eragiketa multzo bat isuntzen du.
3.3 Komunikazio liburutegiak
Nanotec.services.nanolib.dll-az gain (zure aukerako Plug & Drive Studiorako erabilgarria), NanoLib-ek komunikazio-liburutegi hauek eskaintzen ditu:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Liburutegi guztiek hardware-abstrakzio-geruza bat jartzen dute nukleoaren eta kontrolagailuaren artean. Nukleoak abiaraztean izendatutako proiektuaren karpetatik kargatzen ditu eta dagokion protokoloaren bidez kontrolagailuarekin komunikazioa ezartzeko erabiltzen ditu.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
7
Hasteko
Irakurri NanoLib zure sistema eragilerako nola konfiguratu behar bezala eta hardwarea nola konektatu behar den moduan.
4.1 Prestatu zure sistema
Egokitzaileen kontrolatzaileak instalatu aurretik, prestatu ordenagailua sistema eragilean. PCa zure Windows OS batera prestatzeko, instalatu MS Visual Studio C++ luzapenekin. Linux Bash-en make eta gcc instalatzeko, deitu sudo apt install build-essentials. Ondoren, gaitu CAP_NET_ADMIN, CAP_NET_RAW eta CAP_SYS_NICE gaitasunak NanoLib erabiltzen duen aplikaziorako: 1. Deitu sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
izena>. 2. Orduan bakarrik, instalatu zure egokigailuaren kontrolatzaileak.
4.2 Instalatu Windows-erako Ixxat egokigailuaren kontrolatzailea
Kontrolatzailea behar bezala instalatu ondoren, Ixxat-en USB-to-CAN V2 egokitzailea erabil dezakezu. Irakurri USB unitateen produktuen eskuliburua, konportu birtuala (VCP) aktibatu ala ez jakiteko. 1. Deskargatu eta instalatu Ixxat-en VCI 4 Windows-erako kontrolatzailea www.ixxat.com. 2. Konektatu Ixxat-en USB-to-CAN V2 egokigailu trinkoa ordenagailura USB bidez. 3. Gailu-kudeatzailearen bidez: egiaztatu kontrolatzailea eta egokitzailea behar bezala instalatuta/ezagutzen diren.
4.3 Instalatu Peak egokigailuaren kontrolatzailea Windows-erako
Kontrolatzailea behar bezala instalatu ondoren, Peak-en PCAN-USB egokitzailea erabil dezakezu. Irakurri USB unitateen produktuen eskuliburua, konportu birtuala (VCP) aktibatu ala ez jakiteko. 1. Deskargatu eta instalatu Windows gailuaren kontrolatzaileen konfigurazioa (= instalazio-paketea gailu kontrolatzaileak, tresnak eta
APIak) tik http://www.peak-system.com. 2. Konektatu Peak-en PCAN-USB egokitzailea ordenagailura USB bidez. 3. Gailu-kudeatzailearen bidez: egiaztatu kontrolatzailea eta egokitzailea behar bezala instalatuta/ezagutzen diren.
4.4 Instalatu Ixxat egokitzaile kontrolatzailea Linuxerako
Kontrolatzailea behar bezala instalatu ondoren, Ixxat-en USB-to-CAN V2 egokitzailea erabil dezakezu. Oharra: onartzen diren beste egokitzaile batzuek zure baimenak behar dituzte sudo chmod +777/dev/ttyACM* (* gailuaren zenbakia). Irakurri USB unitateen produktuen eskuliburua, konportu birtuala (VCP) aktibatu ala ez jakiteko. 1. Instalatu ECI kontrolatzailerako eta demo aplikaziorako behar den softwarea:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Deskargatu ECI-for-Linux kontrolatzailea www.ixxat.com webgunetik. Deskonprimitu honen bidez:
deskonprimitu eci_driver_linux_amd64.zip
3. Instalatu kontrolatzailea:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Egiaztatu kontrolatzailea instalatu den demo aplikazioa konpilatuz eta abiaraziz:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
8
4 Hasteko
4.5 Instalatu Peak egokigailuaren kontrolatzailea Linuxerako
Kontrolatzailea behar bezala instalatu ondoren, Peak-en PCAN-USB egokitzailea erabil dezakezu. Oharra: onartzen diren beste egokitzaile batzuek zure baimenak behar dituzte sudo chmod +777/dev/ttyACM* (* gailuaren zenbakia). Irakurri USB unitateen produktuen eskuliburua, konportu birtuala (VCP) aktibatu ala ez jakiteko. 1. Egiaztatu zure Linux-ek kernel goiburuak dituen: ls /usr/src/linux-headers-`uname -r`. Hala ez bada, instalatu
hauek: sudo apt-get install linux-headers-`uname -r` 2. Orain bakarrik, instalatu libpopt-dev paketea: sudo apt-get install libpopt-dev 3. Deskargatu behar den kontrolatzaile paketea (peak-linux-driver- xxx.tar.gz) www.peak-system.com webgunetik. 4. Despaketeatzeko, erabili: tar xzf peak-linux-driver-xxx.tar.gz 5. Despaketatu karpetan: Konpilatu eta instalatu kontrolatzaileak, PCAN oinarrizko liburutegia, etab.: egin guztiak
sudo make install 6. Funtzioa egiaztatzeko, konektatu PCAN-USB egokitzailea.
a) Egiaztatu nukleoaren modulua:
lsmod | grep pcan b) ... eta partekatutako liburutegia:
ls -l /usr/lib/libpcan*
Oharra: USB3 arazoak sortzen badira, erabili USB2 ataka bat.
4.6 Konektatu zure hardwarea
NanoLib proiektu bat exekutatu ahal izateko, konektatu Nanotec kontrolagailu bateragarri bat ordenagailura zure egokitzailea erabiliz. 1. Kable egoki baten bidez, konektatu egokitzailea kontrolagailura. 2. Konektatu egokitzailea ordenagailura egokigailuaren datu-orriaren arabera. 3. Piztu kontrolagailua elikatze-iturri egoki bat erabiliz. 4. Behar izanez gero, aldatu Nanotec kontrolagailuaren komunikazio-ezarpenak bere produktuaren eskuliburuan agintzen den moduan.
4.7 Kargatu NanoLib
Oinarri azkar eta errazekin lehen hasteko, gure ex-a erabil dezakezu (baina ezin duzu).ample proiektua. 1. Zure eskualdearen arabera: Deskargatu NanoLib guretik webEMEA / APAC edo AMERIKArako gunea. 2. Deskonprimitu paketea files / karpetak eta hautatu aukera bat: Oinarri azkar eta errazak lortzeko: Ikus Example proiektua. Windows-en pertsonalizazio aurreratua lortzeko: Ikus Zure Windows-eko proiektua sortzea. Linuxen pertsonalizazio aurreratua lortzeko: Ikus Zure Linux proiektua sortzea.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
9
Adibample proiektua
NanoLib behar bezala kargatuta, adibidezample proiektuak NanoLibren erabilera erakusten dizu Nanotec kontrolagailu batekin. Oharra: urrats bakoitzeko, iruzkinak emandako adibideanampkodeak erabilitako funtzioak azaltzen ditu. Adibampproiektuak honako hauek ditu: `*_functions_example.*' files, NanoLib interfazearen inplementazioak dituena `*_callback_example.*' files, hainbat deietarako inplementazioak dituztenak (eskaneatzea, datuak eta
erregistroa) `menua_*.*' file, menuaren logika eta Example.* file, hau da, programa nagusia, menua sortuz eta erabilitako parametro guztiak hasieratuz Sampler_example.* file, adibample inplementazioa sampler erabilera. Adib. gehiago aurki ditzakezuamples, hainbat eragiketa-modutarako mugimendu-komando batzuekin, nanotec.com-en Knowledge Basen. Guztiak Windows edo Linuxen erabil daitezke.
Windows-en Visual Studio-rekin 1. Ireki Example.sln file. 2. Ireki adibample.cpp. 3. Konpilatu eta exekutatu example kodea.
Linux-en Bash bidez 1. Deskonprimitu iturria file, joan deskonprimitutako edukia duen karpetara. Nagusia file adibidezample da
example.cpp. 2. Bashean, deitu:
a. "sudo make install" partekatutako objektuak kopiatzeko eta ldconfig deitzeko. b. "egin dena" proba exekutagarria eraikitzeko. 3. Bin karpetak exekutagarri bat daukaample file. Bash bidez: Joan irteera karpetara eta idatzi ./example. Errorerik gertatzen ez bada, partekatutako objektuak behar bezala instalatuta daude eta liburutegia erabiltzeko prest dago. Erroreak ./ex. irakurtzen baduample: errorea liburutegi partekatuak kargatzean: libnanolib.so: ezin da partekatutako objektua ireki file: Halakorik ez file edo direktorioa, partekatutako objektuen instalazioak huts egin du. Kasu honetan, jarraitu hurrengo urratsak. 4. Sortu karpeta berri bat /usr/local/lib barruan (administratzaile eskubideak behar dira). Bash-en, honela idatzi:
sudo mkdir /usr/local/lib/nanotec
5. Kopiatu partekatutako objektu guztiak zipetik fileren lib karpeta:
instalatu ./lib/*.so /usr/local/lib/nanotec/
6. Egiaztatu helburuko karpetaren edukia honekin:
ls -al /usr/local/lib/nanotec/
Partekatutako objektua zerrendatu beharko luke files lib karpetatik. 7. Exekutatu ldconfig karpeta honetan:
sudo ldconfig /usr/local/lib/nanotec/
Adibample CLI aplikazio gisa inplementatzen da eta menu interfaze bat eskaintzen du. Menuko sarrerak testuinguruaren araberakoak dira eta gaitu edo desgaitu egingo dira, testuinguruaren egoeraren arabera. Kontrolagailu bat maneiatzeko ohiko lan-fluxuari jarraituz liburutegiko hainbat funtzio hautatzeko eta exekutatzeko aukera eskaintzen dizute: 1. Egiaztatu ordenagailuan konektatuta dagoen hardwarea (egokitzaileak) eta zerrendatu. 2. Ezarri konexioa egokitzaile batekin. 3. Eskaneatu autobusa konektatutako kontrolagailu gailuen bila. 4. Konektatu gailu batera.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
10
5 Adibample proiektua
5. Probatu liburutegiko funtzio bat edo gehiago: irakurri/idatzi kontrolagailuaren objektu hiztegitik/era, eguneratu firmwarea, kargatu eta exekutatu NanoJ programa bat, jarri motorra martxan eta sintonizatu, konfiguratu eta erabili erregistroak.ampler.
6. Itxi konexioa, lehenik gailura, gero egokigailura.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
11
Zure Windows proiektua sortzea
Sortu, konpilatu eta exekutatu zure Windows proiektua NanoLib erabiltzeko.
6.1 Inportatu NanoLib
Inportatu NanoLib goiburua files eta liburutegiak MS Visual Studio bidez.
1. Ireki Visual Studio. 2. Sortu proiektu berria > Console App C++ > Hurrengoa bidez: Hautatu proiektu mota bat. 3. Zure proiektuari izena eman (hemen: NanolibTest) irtenbideen arakatzailean proiektuaren karpeta bat sortzeko. 4. Hautatu Amaitu. 5. Ireki leihoak file esploratzailea eta nabigatu sortu berri den proiektuaren karpetara. 6. Sortu bi karpeta berri, inc eta lib. 7. Ireki NanoLib paketeen karpeta. 8. Hortik aurrera: Kopiatu goiburua files barne karpetatik zure proiektuaren karpeta inc eta .lib eta .dll guztiak
files zure proiektuaren karpeta berrira lib. 9. Egiaztatu zure proiektuaren karpeta egitura egokia den, adibidezample:
ect karpeta behar den egiturarako:
. 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.filters NanolibTest.
6.2 Konfiguratu zure proiektua
Erabili MS Visual Studio-ko Solution Explorer-en NanoLib proiektuak konfiguratzeko. Oharra: NanoLib funtzionamendu zuzena izateko, hautatu kaleratze-konfigurazioa (ez arazketa!) Visual C++ proiektuaren ezarpenetan; ondoren, eraiki eta lotu proiektua C++ birbanagarrien VC exekuzio-denborekin [2022].
1. Soluzio arakatzailean: joan zure proiektuaren karpetara (hemen: NanolibTest). 2. Egin klik batera karpetan laster-menua irekitzeko. 3. Hautatu Propietateak. 4. Aktibatu Konfigurazio guztiak eta Plataforma guztiak. 5. Hautatu C/C++ eta joan Gehigarrizko Sartu direktorioetara. 6. Txertatu: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Hautatu Lokatzailea eta joan Liburutegiko Direktorio gehigarrietara. 8. Txertatu: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Zabaldu Lokatzailea eta hautatu Sarrera. 10.Joan mendekotasun gehigarrietara eta sartu: nanolib.lib;%(AdditionalDependencies) 11.Berretsi OK bidez.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
12
6 Zure Windows proiektua sortzea
12.Joan Konfigurazioa > C++ > Hizkuntza > Hizkuntza Estandarra > ISO C++17 Standard eta ezarri hizkuntza estandarra C++17 (/std:c++17).
6.3 Eraiki zure proiektua
Eraiki zure NanoLib proiektua MS Visual Studio-n. 1. Ireki *.cpp nagusia file (hemen: nanolib_example.cpp) eta editatu kodea, behar izanez gero. 2. Hautatu Eraiki > Konfigurazio kudeatzailea. 3. Aldatu soluzio-plataforma aktiboak x64-ra. 4. Berretsi Itxi bidez. 5. Hautatu Eraiki > Eraiki soluzioa. 6. Akatsik ez? Egiaztatu zure konpilazioaren irteerak behar bezala txostenak ematen dituen:
1>—— Garbitu hasi: Proiektua: NanolibTest, Konfigurazioa: Araztu x64 —–========== Garbitu: 1 arrakasta izan da, 0 huts egin du, 0 saltatu ==========
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
13
7 Zure Linux proiektu propioa sortzea
7 Zure Linux proiektu propioa sortzea
Sortu, konpilatu eta exekutatu zure Linux proiektua NanoLib erabiltzeko. 1. Deskonprimitutako NanoLib instalazio-kitean: Ireki /nanotec_nanolib. 2. Bilatu partekatutako objektu guztiak tar.gz-en file. 3. Hautatu aukera bat: instalatu lib bakoitza Make batekinfile edo eskuz.
7.1 Instalatu partekatutako objektuak Make-rekinfile
Erabili Makefile Linux Bash-ekin *.so lehenetsi guztiak automatikoki instalatzeko files. 1. Bash bidez: joan makea duen karpetarafile. 2. Kopiatu partekatutako objektuak honen bidez:
sudo make install 3. Berretsi honen bidez:
ldconfig
7.2 Instalatu partekatutako objektuak eskuz
Erabili Bash bat *.so guztiak instalatzeko fileNanoLib eskuz. 1. Bash bidez: Sortu karpeta berri bat /usr/local/lib barruan. 2. Admin eskubideak behar dira! Mota:
sudo mkdir /usr/local/lib/nanotec 3. Aldatu deskonprimitutako instalazio-paketeen karpetara. 4. Kopiatu partekatutako objektu guztiak lib karpetatik:
instalatu ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Egiaztatu helburuko karpetaren edukia honen bidez:
ls -al /usr/local/lib/nanotec/ 6. Egiaztatu lib karpetako partekatutako objektu guztiak zerrendatuta dauden. 7. Exekutatu ldconfig karpeta honetan:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Sortu zure proiektua
Zure partekatutako objektuak instalatuta: Sortu proiektu berri bat zure Linux NanoLib-erako. 1. Bash bidez: Sortu proiektuaren karpeta berri bat (hemen: NanoLibTest) honen bidez:
mkdir NanoLibTest cd NanoLibTest
2. Kopiatu goiburua files barne karpeta batera (hemen: inc) bidez: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Sortu nagusi bat file (NanoLibTest.cpp) bidez: #include “accessor_factory.hpp” #include
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
14
7 Zure Linux proiektu propioa sortzea
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor ();
nlc::ResultBusHwIds result = accessor->listAvailableBusHardware ();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << "Arrakasta" << std::endl; }
ezabatu osagarria; itzuli 0; }
4. Egiaztatu zure proiektuaren karpeta egitura egokia dela:

. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Konpilatu eta probatu zure proiektua
Presta ezazu zure Linux NanoLib Bash bidez erabiltzeko.
1. Bash bidez: konpilatu nagusia file bidez:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Lotu exekutagarria elkarrekin:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Exekutatu proba programa honen bidez:
./proba
4. Egiaztatu zure Bashek behar bezala berri ematen duen:
arrakasta
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
15
8 Klaseak / funtzioen erreferentzia
8 Klaseak / funtzioen erreferentzia
Aurkitu hemen NanoLib-en erabiltzaile-interfaze klaseen eta haien kideen funtzioen zerrenda. Funtzio baten deskribapen tipikoak sarrera labur bat, funtzioaren definizioa eta parametro/itzulera zerrenda bat barne hartzen ditu:
ExampleFunction () Funtzioak zer egiten duen laburki esaten dizu.
virtual void nlc::NanoLibAccessor::AdbampleFunction (Param_a const & param_a, Param_b const eta param_B)
Parametroak param_a param_b
ResultVoid itzultzen du
Iruzkin gehigarria behar izanez gero. Iruzkin gehigarria behar izanez gero.
8.1 NanoLibAccessor
NanoLib-erako sarrera-puntu gisa erabiltzen den interfaze klasea. Lan-fluxu tipiko bat honelakoa da:
1. Hasi hardware bila NanoLibAccessor.listAvailableBusHardware-rekin (). 2. Ezarri komunikazio-ezarpenak BusHardwareOptions-ekin (). 3. Ireki hardware-konexioa NanoLibAccessor.openBusHardwareWithProtocol (). 4. Eskaneatu autobusa NanoLibAccessor.scanDevices-ekin konektatutako gailuak (). 5. Gehitu gailu bat NanoLibAccessor.addDevice (). 6. Konektatu gailura NanoLibAccessor.connectDevice (). 7. Eragiketa amaitu ondoren, deskonektatu gailua NanoLibAccessor.disconnectDevice (). 8. Kendu gailua NanoLibAccessor.removeDevice (). 9. Itxi hardware-konexioa NanoLibAccessor.closeBusHardware-rekin ().
NanoLibAccessor-ek kide funtzio publiko hauek ditu:
listAvailableBusHardware () Erabili funtzio hau eremu-buseko hardware erabilgarria zerrendatzeko.
Virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
ResultBusHwIds itzultzen du
Fieldbus ID array bat eskaintzen du.
openBusHardwareWithProtocol () Erabili funtzio hau bus hardwarea konektatzeko.
Virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
Parametroak busHwId busHwOpt
ResultVoid itzultzen du
Ireki beharreko eremu-busa zehazten du. Fieldbus irekitzeko aukerak zehazten ditu. Void funtzio bat exekutatu dela baieztatzen du.
isBusHardwareOpen () Erabili funtzio hau zure fieldbus hardware konexioa irekita dagoen egiaztatzeko.
Virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions eta busHwOpt)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
16
8 Klaseak / funtzioen erreferentzia
Parametroak BusHardwareId Egia ematen du
faltsua
Ireki beharreko eremu-bus bakoitza zehazten du. Hardwarea irekita dago. Hardwarea itxita dago.
getProtocolSpecificAccessor () Erabili funtzio hau protokoloaren berariazko osagarri-objektua lortzeko.
Virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
Parametroak busHwId ResultVoid itzultzen du
Eskuratzailea lortzeko eremu-busa zehazten du. Void funtzio bat exekutatu dela baieztatzen du.
getProfinetDCP () Erabili funtzio hau Profinet DCP interfazera erreferentzia bat itzultzeko.
ProfinetDCP birtuala eta getProfinetDCP ()
ProfinetDCP itzultzen du
lortuSamplerInterface () Erabili funtzio hau s erreferentzia bat lortzekoampler interfazea.
S birtualaamplerInterface eta getSamplerInterface ()
S itzultzen duamplerInterface
s.ari egiten dio erreferentziaampler interfaze klasea.
setBusState () Erabili funtzio hau bus-protokoloaren egoera zehatza ezartzeko.
Virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)
Parametroak busHwId egoera
ResultVoid itzultzen du
Ireki beharreko eremu-busa zehazten du. Busaren egoera espezifikoa esleitzen du kate-balio gisa. Void funtzio bat exekutatu dela baieztatzen du.
scanDevices () Erabili funtzio hau sareko gailuak bilatzeko.
Virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)
Parametroak busHwId callback
ResultDeviceIds IOError ematen du
Eskaneatu beharreko eremu-busa zehazten du. NlcScanBusCallback aurrerapenaren arrastoa. Gailu ID array bat ematen du. Gailu bat ez dela aurkitzen jakinarazten du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
17
8 Klaseak / funtzioen erreferentzia
gehitu Gailua ()
Erabili funtzio hau deviceId-ek deskribatutako bus-gailu bat NanoLib-en barneko gailuen zerrendara gehitzeko eta deviceHandle itzultzeko.
Virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const eta deviceId)
Parametroak deviceId ResultDeviceHandle itzultzen du
Zerrendan gehitzeko gailua zehazten du. Gailuaren heldulekua eskaintzen du.
connectDevice () Erabili funtzio hau gailu bat deviceHandle bidez konektatzeko.
Virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultVoid itzultzen du
IOErrorea
NanoLib zer bus-gailutara konektatzen den zehazten du. Void funtzio bat exekutatu dela baieztatzen du. Gailu bat ez dela aurkitzen jakinarazten du.
getDeviceName () Erabili funtzio hau gailu baten izena jasotzeko deviceHandle bidez.
Virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultString itzultzen du
NanoLib-ek zer bus-gailutarako duen izena zehazten du. Gailuen izenak kate gisa ematen ditu.
getDeviceProductCode () Erabili funtzio hau gailu baten produktu-kodea deviceHandle bidez lortzeko.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Parametroak deviceHandle Etortzen du ResultInt
NanoLib-ek produktuaren kodea zer bus-gailutarako lortzen duen zehazten du. Produktu-kodeak zenbaki oso gisa ematen ditu.
getDeviceVendorId () Erabili funtzio hau gailuaren saltzailearen IDa deviceHandleren bidez lortzeko.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Parametroak deviceHandle Etortzen du ResultInt
Baliabidea ez dago erabilgarri
NanoLib-ek hornitzaile IDa zein bus-gailutarako lortzen duen zehazten du. Saltzaileen IDak zenbaki oso gisa ematen ditu. Ez dela daturik aurkitzen jakinarazten du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
18
8 Klaseak / funtzioen erreferentzia
getDeviceId () Erabili funtzio hau NanoLib barneko zerrendatik gailu jakin baten IDa lortzeko.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultDeviceId itzultzen du
NanoLib-ek gailuaren IDa zein bus-gailutarako lortzen duen zehazten du. Gailuaren ID bat ematen du.
getDeviceIds () Erabili funtzio hau NanoLib barneko zerrendatik gailu guztien IDa lortzeko.
Virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
ResultDeviceIds itzultzen du
Gailu ID zerrenda bat ematen du.
getDeviceUid () Erabili funtzio hau deviceHandle-ren bidez gailu baten ID esklusiboa (96 bit / 12 byte) lortzeko.
Virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultArrayByte itzultzen du
Baliabidea ez dago erabilgarri
NanoLib-ek ID esklusiboa zein bus-gailutarako lortzen duen zehazten du. ID bakarrak ematen ditu byte-matrize gisa. Ez dela daturik aurkitzen jakinarazten du.
getDeviceSerialNumber () Erabili funtzio hau gailu baten serie-zenbakia deviceHandle bidez lortzeko.
Virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultString itzultzen du
Baliabidea ez dago erabilgarri
NanoLib-ek serie-zenbakia zer bus-gailutarako lortzen duen zehazten du. Serie-zenbakiak kate gisa ematen ditu. Ez dela daturik aurkitzen jakinarazten du.
getDeviceHardwareGroup () Erabili funtzio hau bus gailu baten hardware taldea deviceHandleren arabera lortzeko.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Parametroak deviceHandle Etortzen du ResultInt
NanoLib-ek hardware taldea zer bus-gailutarako lortzen duen zehazten du.
Hardware-taldeak zenbaki oso gisa ematen ditu.
getDeviceHardwareVersion () Erabili funtzio hau bus gailu baten hardware bertsioa deviceHandle-ren bidez lortzeko.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
19
8 Klaseak / funtzioen erreferentzia
Parametroak deviceHandle
Itzuliak
ResultString Baliabidea ez dago erabilgarri
NanoLib-ek hardwarearen bertsioa zein bus-gailutarako lortzen duen zehazten du. Gailuen izenak kate gisa ematen ditu. Ez dela daturik aurkitzen jakinarazten du.
getDeviceFirmwareBuildId () Erabili funtzio hau deviceHandle-ren bidez autobus-gailu baten firmware-eraikiaren IDa lortzeko.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultString itzultzen du
NanoLib-ek firmwarearen eraikitze IDa zein bus-gailutarako lortzen duen zehazten du.
Gailuen izenak kate gisa ematen ditu.
getDeviceBootloaderVersion () Erabili funtzio hau deviceHandle-ren bidez autobus-gailu baten abio-kargatzailearen bertsioa lortzeko.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
Parametroak deviceHandle
Itzuliak
ResultInt Baliabidea ez dago erabilgarri
NanoLib-ek abio-kargagailuaren bertsioa zein bus-gailutarako lortzen duen zehazten du. Abio-kargagailuaren bertsioak zenbaki oso gisa ematen ditu. Ez dela daturik aurkitzen jakinarazten du.
getDeviceBootloaderBuildId () Erabili funtzio hau deviceHandle-ren bidez autobus gailu baten abio-kargagailuaren eraikitze IDa lortzeko.
Virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultString itzultzen du
NanoLib-ek zer bus-gailutarako lortzen duen abio-kargatzailea eraikitzeko IDa zehazten du.
Gailuen izenak kate gisa ematen ditu.
rebootDevice () Erabili funtzio hau gailua deviceHandle bidez berrabiarazteko.
Virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Parametroak deviceHandle ResultVoid itzultzen du
Berrabiarazi beharreko eremu-busa zehazten du. Void funtzio bat exekutatu dela baieztatzen du.
getDeviceState () Erabili funtzio hau gailuaren protokoloaren egoera zehatza lortzeko.
Virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Parametroak deviceHandle
NanoLib-ek zer bus-gailutarako lortzen duen egoera zehazten du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
20
8 Klaseak / funtzioen erreferentzia
ResultString ematen du
Gailuen izenak kate gisa ematen ditu.
setDeviceState () Erabili funtzio hau gailu-protokoloaren egoera zehatza ezartzeko.
Virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)
Parametroak deviceHandle egoera
ResultVoid itzultzen du
NanoLib-ek zer bus-gailutarako ezartzen duen egoera zehazten du. Busaren egoera espezifikoa esleitzen du kate-balio gisa. Void funtzio bat exekutatu dela baieztatzen du.
getConnectionState ()
Erabili funtzio hau gailu zehatz baten azken konexio-egoera ezagutzen den deviceHandle-ren bidez (= Deskonektatua, Konektatua, Konektatua abio-kargatzailea)
Virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultConnectionState itzultzen du
NanoLib-ek zer bus-gailutarako konexio-egoera lortzen duen zehazten du.
Konexio-egoera bat ematen du (= Deskonektatua, Konektatua, Konektatua abio-kargatzailea).
checkConnectionState ()
Ezagutzen den azken egoera Deskonektatua ez bazen bakarrik: Erabili funtzio hau gailu jakin baten konexio-egoera egiaztatzeko eta agian eguneratzeko, deviceHandle bidez eta modu espezifikoko hainbat eragiketa probatuz.
Virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultConnectionState itzultzen du
NanoLib-ek konexio-egoera zer bus-gailutan egiaztatzen duen zehazten du.
Konexio-egoera bat ematen du (= ez dago Deskonektatua).
assignObjectDictionary () Erabili eskuliburu-funtzio hau objektu-hiztegi bat (OD) esleitzeko deviceHandle-ri zure kabuz.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Parametroak deviceHandle objectDictionary
ResultObjectDictionary ematen du
NanoLib-ek zer bus-gailuri esleitzen dion OD zehazten du. Objektu hiztegi baten propietateak erakusten ditu.
autoAssignObjectDictionary ()
Erabili automatismo hau NanoLib-i objektu-hiztegi bat (OD) esleitzeko deviceHandle-ri. OD egokia aurkitu eta kargatzean, NanoLib-ek automatikoki esleitzen dio gailuari. Oharra: Objektuen liburutegian OD bateragarri bat dagoeneko kargatuta badago, NanoLib-ek automatikoki erabiliko du bidalitako direktorioa eskaneatu gabe.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
21
8 Klaseak / funtzioen erreferentzia
Parametroak deviceHandle
Itzuliak
HiztegiakKokapena Bidea EmaitzaObjektuaHiztegia
NanoLib-ek zein bus gailutarako eskaneatu behar duen zehazten du automatikoki OD egokiak bilatzeko. OD direktoriorako bidea zehazten du. Objektu hiztegi baten propietateak erakusten ditu.
getAssignedObjectDictionary ()
Erabili funtzio hau deviceHandle-k gailu bati esleitutako objektu hiztegia lortzeko.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const gailua
Heldulekua)
Parametroak deviceHandle ResultObjectDictionary itzultzen du
NanoLib-ek esleitutako OD zer bus-gailutarako lortzen duen zehazten du. Objektu hiztegi baten propietateak erakusten ditu.
getObjectDictionaryLibrary () Funtzio honek OdLibrary erreferentzia bat itzultzen du.
OdLibrary birtuala& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
OdLibrary& itzultzen du
OD liburutegi osoa eta bere objektu-hiztegiak irekitzen ditu.
setLoggingLevel () Erabili funtzio hau beharrezko erregistroaren xehetasunak ezartzeko (eta erregistroa file tamaina). Maila lehenetsia Informazioa da.
virtual void nlc::NanoLibAccessor::setLoggingLevel (LogLevel maila)
Parametroen maila
Erregistroaren xehetasun hauek posible dira:
0 = Arrastoa 1 = Araztu 2 = Informazioa 3 = Abisua 4 = Errorea 5 = Kritikoa 6 = Desaktibatuta
Maila baxuena (erregistro handiena file); Bideragarri den xehetasun guztiak erregistratzen ditu, eta softwarearen hasiera/gelditzea. Arazte-informazioa erregistratzen du (= behin-behineko emaitzak, bidalitako edo jasotako edukia, etab.) Maila lehenetsia; informazio-mezuak erregistratzen ditu. Gertatu diren baina uneko algoritmoa geldituko ez duten arazoak erregistratzen ditu. Algoritmoa geldiarazi duten arazo larriak besterik ez ditu erregistratzen. Maila gorena (erregistro txikiena file); saioa amaitzen du; erregistro gehiagorik ez. Ez dago batere erregistrorik.
setLoggingCallback ()
Erabili funtzio hau dei-itzulera-erakuslea eta erregistro-modulua (= liburutegia) ezartzeko (ez erregistratzailearentzat).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)
Parametroak *callback logModule
Deia itzultzeko erakuslea ezartzen du. Zure liburutegirako deia (ez erregistratzailea!) sintonizatzen du.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
NanoLib-ren nukleorako soilik deia aktibatzen du. CANopen-en soilik dei-itzulera aktibatzen du. Modbus-eko soilik deia aktibatzen du. EtherCAT-eko soilik dei-itzulera aktibatzen du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
22
8 Klaseak / funtzioen erreferentzia
4 = NanolibRest 5 = NanolibUSB
REST soilik dei-itzultzea aktibatzen du. USB soilik dei-itzultzea aktibatzen du.
unsetLoggingCallback () Erabili funtzio hau erregistratutako dei-atzerako erakuslea bertan behera uzteko.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Erabili funtzio hau objektu-hiztegiko balio numeriko bat irakurtzeko.
Virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametroak deviceHandle odIndex
ResultInt itzultzen du
NanoLib-ek zer bus-gailutatik irakurtzen duen zehazten du. Irakurtzeko (azpi-) indizea zehazten du. Interpretatu gabeko zenbaki-balioa ematen du (sinatu, sinatu gabe, 16.16 biteko balioak finkatu daitezke).
readNumberArray () Erabili funtzio hau objektu hiztegitik zenbakizko matrizeak irakurtzeko.
Virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)
Parametroak deviceHandle indizea
ResultArrayInt itzultzen du
NanoLib-ek zer bus-gailutatik irakurtzen duen zehazten du. Array objektuaren indizea. Zenbaki osoen array bat ematen du.
readBytes () Erabili funtzio hau objektu-hiztegiko byte arbitrarioak (domeinu-objektuaren datuak) irakurtzeko.
Virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametroak deviceHandle odIndex
ResultArrayByte ematen du
NanoLib-ek zer bus-gailutatik irakurtzen duen zehazten du. Irakurtzeko (azpi-) indizea zehazten du. Byte array bat ematen du.
readString () Erabili funtzio hau objektuen direktorioko kateak irakurtzeko.
Virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametroak deviceHandle odIndex
ResultString ematen du
NanoLib-ek zer bus-gailutatik irakurtzen duen zehazten du. Irakurtzeko (azpi-) indizea zehazten du. Gailuen izenak kate gisa ematen ditu.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
23
8 Klaseak / funtzioen erreferentzia
writeNumber () Erabili funtzio hau objektuen direktorioa zenbakizko balioak idazteko.
Virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t balioa, const OdIndex odIndex, unsigned int bitLength)
Parametroak deviceHandle balioa odIndex bitLength
ResultVoid itzultzen du
NanoLib-ek zer bus-gailutara idazten duen zehazten du. Interpretatu gabeko balioa (sinatu daiteke, sinatu gabe, konpondu 16.16). Irakurtzeko (azpi-) indizea zehazten du. Luzera bittan. Void funtzio bat exekutatu dela baieztatzen du.
writeBytes () Erabili funtzio hau byte arbitrarioak (domeinuko objektuaren datuak) objektuen direktorioa idazteko.
Virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & datuak, const OdIndex odIndex)
Parametroak deviceHandle datuak odIndex
ResultVoid itzultzen du
NanoLib-ek zer bus-gailutara idazten duen zehazten du. Byte bektorea / array. Irakurtzeko (azpi-) indizea zehazten du. Void funtzio bat exekutatu dela baieztatzen du.
uploadFirmware ()
Erabili funtzio hau kontrolagailuaren firmwarea eguneratzeko.
Virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* deia)
Parametroak deviceHandle fwData NlcDataTransferCallback
ResultVoid itzultzen du
NanoLib-ek zer bus-gailu eguneratzen duen zehazten du. Firmware datuak dituen array. Datuen aurrerapenaren arrastoa. Void funtzio bat exekutatu dela baieztatzen du.
uploadFirmwareFromFile ()
Erabili funtzio hau zure kontroladorearen firmwarea eguneratzeko bere kargatuz file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileBidea, NlcDataTransferCallback* deia)
Parametroak deviceHandle absolutuaFileNlcDataTransferCallback bidea
ResultVoid itzultzen du
NanoLib-ek zer bus-gailu eguneratzen duen zehazten du. Bidea file firmware datuak dituena (std::string). Datuen aurrerapenaren arrastoa. Void funtzio bat exekutatu dela baieztatzen du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
24
8 Klaseak / funtzioen erreferentzia
uploadBootloader ()
Erabili funtzio hau zure kontroladorearen abio-kargatzailea eguneratzeko.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* deia)
Parametroak deviceHandle btData NlcDataTransferCallback
ResultVoid itzultzen du
NanoLib-ek zer bus-gailu eguneratzen duen zehazten du. Abio-kargagailuaren datuak dituen array. Datuen aurrerapenaren arrastoa. Void funtzio bat exekutatu dela baieztatzen du.
uploadBootloaderFromFile ()
Erabili funtzio hau zure kontroladorearen abio-kargatzailea eguneratzeko bere kargatuz file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string eta bootloaderAbsoluteFileBidea, NlcDataTransferCallback* deia)
Parametroak deviceHandle bootloaderAbsoluteFileNlcDataTransferCallback bidea
ResultVoid itzultzen du
NanoLib-ek zer bus-gailu eguneratzen duen zehazten du. Bidea file abiarazlearen datuak dituena (std::string). Datuen aurrerapenaren arrastoa. Void funtzio bat exekutatu dela baieztatzen du.
uploadBootloaderFirmware ()
Erabili funtzio hau zure kontroladorearen abio-kargatzailea eta firmwarea eguneratzeko.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* deia)
Parametroak deviceHandle btData fwData NlcDataTransferCallback
ResultVoid itzultzen du
NanoLib-ek zer bus-gailu eguneratzen duen zehazten du. Abio-kargagailuaren datuak dituen array. Firmware datuak dituen array. Datuen aurrerapenaren arrastoa. Void funtzio bat exekutatu dela baieztatzen du.
uploadBootloaderFirmwareFromFile ()
Erabili funtzio hau zure kontroladorearen abio-kargatzailea eta firmwarea eguneratzeko, kargatuz files.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string eta bootloaderAbsoluteFileBidea, konst std::string eta absolutuaFileBidea, NlcDataTransferCallback* deia)
Parametroak deviceHandle bootloaderAbsoluteFileBide absolutuaFileNlcDataTransferCallback bidea
ResultVoid itzultzen du
NanoLib-ek zer bus-gailu eguneratzen duen zehazten du. Bidea file abiarazlearen datuak dituena (std::string). Bidea file firmware datuak dituena (uint8_t). Datuen aurrerapenaren arrastoa. Void funtzio bat exekutatu dela baieztatzen du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
25
8 Klaseak / funtzioen erreferentzia
igoNanoJ ()
Erabili funtzio publiko hau NanoJ programa zure kontrolagailura kargatzeko.
Virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* callback)
Parametroak deviceHandle vmmData NlcDataTransferCallback
ResultVoid itzultzen du
NanoLib-ek zer bus-gailutara kargatzen duen zehazten du. NanoJ datuak dituen array. Datuen aurrerapenaren arrastoa. Void funtzio bat exekutatu dela baieztatzen du.
igoNanoJFromFile ()
Erabili funtzio publiko hau NanoJ programa zure kontrolagailura kargatzeko file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileBidea, NlcDataTransferCallback* deia)
Parametroak deviceHandle absolutuaFileNlcDataTransferCallback bidea
ResultVoid itzultzen du
NanoLib-ek zer bus-gailutara kargatzen duen zehazten du. Bidea file NanoJ datuak (std::string) dituena. Datuen aurrerapenaren arrastoa. Void funtzio bat exekutatu dela baieztatzen du.
disconnectDevice () Erabili funtzio hau zure gailua deskonektatzeko deviceHandle bidez.
Virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Parametroak deviceHandle ResultVoid itzultzen du
NanoLib zein bus-gailutatik deskonektatzen den zehazten du. Void funtzio bat exekutatu dela baieztatzen du.
removeDevice () Erabili funtzio hau zure gailua NanoLib-en barneko gailuen zerrendatik kentzeko.
Virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Parametroak deviceHandle ResultVoid itzultzen du
NanoLib-ek zer bus-gailu kentzen duen zehazten du. Void funtzio bat exekutatu dela baieztatzen du.
closeBusHardware () Erabili funtzio hau zure eremu-buseko hardwaretik deskonektatzeko.
Virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
Parametroak busHwId ResultVoid itzultzen du
Deskonektatu beharreko eremu-busa zehazten du. Void funtzio bat exekutatu dela baieztatzen du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
26
8 Klaseak / funtzioen erreferentzia
8.2 BusHardwareId
Erabili klase hau autobus-hardware bat banan-banan identifikatzeko edo autobus-hardware desberdinak elkarrengandik bereizteko. Klase honek (sortzetik aurrera aldaezina den setter funtziorik gabe) hauei buruzko informazioa ere gordetzen du:
Hardwarea (= egokigailuaren izena, sare-egokitzailea, etab.) Erabili beharreko protokoloa (= Modbus TCP, CANopen eta abar) Bus-hardwarearen zehazlea (= serieko ataka-izena, MAC Friendly izena
helbidea eta abar)
BusHardwareId () [1/3] Bus hardware ID objektu berri bat sortzen duen eraikitzailea.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
Parametroak busHardware_ protokoloa_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Hardware mota (= ZK-USB-CAN-1 etab.). Bus komunikazio-protokoloa (= CANopen etab.). Hardware baten espezifikatzailea (= COM3 etab.). Hardwarearen zehatzaile gehigarria (esan, USB kokapenari buruzko informazioa). Lagun-izen bat (= AdapterName (Porta) etab.).
BusHardwareId () [2/3] Bus Hardware ID objektu berri bat sortzen duen eraikitzailea, hardware espezififikatzaile gehigarri baten aukerarekin.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)
Parametroak busHardware_ protokoloa_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Hardware mota (= ZK-USB-CAN-1 etab.). Bus komunikazio-protokoloa (= CANopen etab.). Hardware baten espezifikatzailea (= COM3 etab.). Hardwarearen zehatzaile gehigarria (esan, USB kokapenari buruzko informazioa). Lagun-izen bat (= AdapterName (Porta) etab.).
BusHardwareId () [3/3] Lehendik dagoen busHardwareId bat kopiatzen duen eraikitzailea.
nlc::BusHardwareId::BusHardwareId (BusHardwareId konst &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId konst &)
Parametroak busHardwareId
Kopiatu nahi den autobusaren hardware IDa izendatzen du.
equals () Bus hardware ID berri bat lehendik daudenekin alderatzen du.
bool nlc::BusHardwareId::equals (BusHardwareId const eta beste) const
Beste parametroak Egia ematen du
Klase bereko beste objektu bat. Biak balio guztietan berdinak badira.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
27
8 Klaseak / funtzioen erreferentzia
faltsua
Balioak desberdinak badira.
getBusHardware () Bus hardware-katea irakurtzen du.
std::string nlc::BusHardwareId::getBusHardware () const
Katea itzultzen du
getHardwareSpecifier () Bus hardwarearen zehaztapen-katea irakurtzen du (= sarearen izena etab.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Katea itzultzen du
getExtraHardwareSpecifier () Busaren hardware gehigarriaren zehaztapen-katea irakurtzen du (= MAC helbidea etab.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Katea itzultzen du
getName () Autobusaren hardwarearen izen lagungarria irakurtzen du.
std::string nlc::BusHardwareId::getName () konst
Katea itzultzen du
getProtocol () Bus protokolo-katea irakurtzen du.
std::string nlc::BusHardwareId::getProtocol () const
Katea itzultzen du
toString () Bus hardwarearen IDa kate gisa itzultzen du.
std::string nlc::BusHardwareId::toString () const
Katea itzultzen du
8.3 BusHardwareAukerak
Aurkitu klase honetan, gako-balioen kateen zerrenda batean, bus hardware bat irekitzeko behar diren aukera guztiak.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
28
8 Klaseak / funtzioen erreferentzia
BusHardwareOptions () [1/2] Bus hardware aukera objektu berri bat eraikitzen du.
nlc::BusHardwareOptions::BusHardwareOptions () Erabili addOption () funtzioa gako-balio bikoteak gehitzeko.
BusHardwareOptions () [2/2] BusHardware aukerak objektu berri bat eraikitzen du dagoeneko gako-balioen mapa ezarrita.
nlc::BusHardwareOptions::BusHardwareOptions (std::map konst eta aukerak)
Parametroen aukerak
Autobusaren hardwareak funtzionatzeko aukerak dituen mapa.
addOption () Gako eta balio gehigarriak sortzen ditu.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)
Parametroen gako-balioa
Example: BAUD_RATE_OPTIONS_NAME, ikusi bus_hw_options_ lehenetsiak
Example: BAUD_RATE_1000K, ikusi bus_hw_options_defaults
equals () BusHardwareOptions lehendik daudenekin alderatzen du.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const eta beste) const
Beste parametroak Egia ematen du
faltsua
Klase bereko beste objektu bat. Beste objektuak aukera berdinak baditu. Beste objektuak gako edo balio desberdinak baditu.
getOptions () Gehitutako gako-balio bikote guztiak irakurtzen ditu.
std::mapa nlc::BusHardwareOptions::getOptions () konst
Kateen mapa itzultzen du
toString () Gako/balio guztiak kate gisa itzultzen ditu.
std::string nlc::BusHardwareId::toString () const
Katea itzultzen du
8.4 BusHwOptionsLehenetsia
Konfigurazio-aukeren klase lehenetsi honek atributu publiko hauek ditu:
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
29
8 Klaseak / funtzioen erreferentzia
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () serial = Seriea () restfulBus = RESTfulBus () ethercatBus = EtherCATBus ()
8.5 CanBaudRate
Atributu publiko hauetan CAN bus-abiadurak dituen egitura:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_RATE_100K = "UD_RATE_100k"_50 "BAUD_RATE_50"_20 ATE_20K = "10k" BAUD_RATE_10K = "5k" BAUD_RATE_5K = "XNUMXk"
8.6 CanBus
Konfigurazio-aukeren klase lehenetsia atributu publiko hauekin:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = "Egokigailuaren baud-tasa" baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
NMT zerbitzurako, egitura honek CANopen NMT egoerak ditu atributu publiko hauetan kate-balio gisa:
const std::string const std::string const std::string const std::string const std::string
HASI = “HASI” GELDITU = “GELDITU” AURRE_ERAGILEA = “AURRERATUA” RESET = “BERREZET” RESET_COMMUNICATION = “BERRESETEZTU_KOMUNIKAZIOA”
8.8 CanOpenNmtState
Egitura honek CANopen NMT egoerak ditu kate-balio gisa atributu publiko hauetan:
const std::string const std::string const std::string const std::string const std::string
GELDITU = “GELDITU” PRE_OPERAZIOA = “FUNTZIONAMENDU AURREKOA” OPERATIONAL = “ERAGILEA” HASIERA = “HASIERATZEA” EZEZAGUNA = “EZEZAGUNA”
8.9 EtherCATBus egitura
Egitura honek EtherCAT komunikazioaren konfigurazio aukerak ditu atributu publiko hauetan:
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
30
8 Klaseak / funtzioen erreferentzia
const std::string NETWORK_FIRMWARE_STATE_OP- Sarearen egoera firmware modu gisa tratatzen da. Onargarria
TION_NAME = "Sareko firmwarearen egoera"
balioak (lehenetsia = PRE_OPERATIONAL):
EtherCATState::PRE_OPERATIONAL EtherCATState::SAFE_OPERATIONAL EtherCATState::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = "PRE_OPERATIONAL"
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Denbora-muga milisegundotan blokeo esklusiboa lortzeko
TION_NAME = "Blokeatzeko denbora-muga partekatua"
sarea (lehenetsia = 500 ms).
const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Denbora-muga milisegundotan blokeo partekatua lortzeko
NAME = "Blokeatzeko denbora-muga partekatua"
sarea (lehenetsia = 250 ms).
const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = "250"
const std::string READ_TIMEOUT_OPTION_NAME = Irakurketa eragiketa baterako denbora-muga milisegundotan (lehenetsia
"Irakurtzeko denbora-muga"
= 700 ms).
const unsigned int DEFAULT_READ_TIMEOUT = "700"
const std::string WRITE_TIMEOUT_OPTION_NAME = Idazketa-eragiketa baterako denbora-muga milisegundotan (lehenetsia
"Idatzi denbora-muga"
= 200 ms).
const unsigned int DEFAULT_WRITE_TIMEOUT = "200"
const std::string READ_WRITE_ATTEMPTS_OPTION_ Gehienezko irakurketa edo idazketa saiakera (zero ez diren balioak)
IZENA = "Irakurri/idazteko saiakerak"
bakarrik; lehenetsia = 5).
const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "Aldatu sarearen egoera saiakerak"
Sarearen egoera aldatzeko gehieneko saiakera kopurua (zero ez diren balioak soilik; lehenetsia = 10).
const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"
const std::string PDO_IO_ENABLED_OPTION_NAME Gaitu edo desgaitzen du PDO prozesatzea sarrera digitalerako /
= "PDO IO gaituta"
irteerak ("Egia" edo "Gezurra" soilik; lehenetsia = "Egia").
const std::string DEFAULT_PDO_IO_ENABLED = "Egia"
8.10 EtherCATState egitura
Egitura honek EtherCAT esklabo/sare-egoerak ditu ondorengo atributu publikoetan kate-balio gisa. Oharra: lehenetsitako egoera piztean PRE_OPERATIONAL da; NanoLib-ek ezin du egoera "OPERAZIONAL" fidagarririk eman denbora errealean ez den sistema eragile batean:
const std::string const std::string const std::string const std::string const std::string const std::string
NONE = “EZER” INIT = “HASIERA” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “ERABILTZEN”
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
31
8 Klaseak / funtzioen erreferentzia
8.11 Ixxat
Egitura honek Ixxat usb-to-can-erako informazio guztia dauka atributu publiko hauetan:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "ixxat egokitzaileen bus zenbakia"
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Egitura honek Ixxat usb-to-can-aren autobus zenbakia dauka atributu publiko hauetan:
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 Gailurra
Egitura honek Peak usb-to-can-erako informazio guztia dauka atributu publiko hauetan:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "gailur egokitzaileen bus zenbakia"
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
Egitura honek Peak usb-to-can-erako autobus-zenbakia dauka atributu publiko hauetan:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS:to_string) = std::to_string (PCAN_USBBUS:to_string) (PCAN_USBBUS4) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_NUMBER_string (PCAN_USBBUS8:to_string) (PCAN_USBBUS9) BUS_NUMBER_9 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS13) std::to_string (PCAN_USBBUS13) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS14)
8.15 Gailuaren heldulekua
Klase honek gailu bat autobus batean kontrolatzeko helduleku bat adierazten du eta kideen funtzio publiko hauek ditu.
DeviceHandle () DeviceHandle (uint32_t heldulekua)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
32
8 Klaseak / funtzioen erreferentzia
berdin () Bere burua gailu jakin batekin alderatzen du.
bool berdina (DeviceHandle const beste) const (uint32_t heldulekua)
toString () Gailuaren heldulekuaren katearen irudikapena ematen du.
std::string toString () konst
get () Gailuaren heldulekua itzultzen du.
uint32_t get () const
8.16 Gailu ID
Erabili klase hau (sortzetik aurrera aldaezina) autobus bateko gailuak identifikatzeko eta bereizteko:
Hardware-egokitzailearen identifikatzailea
Gailuaren identifikatzailea
Deskribapena
Gailuaren ID/deskribapen balioen esanahia busaren araberakoa da. Adibidezample, CAN bus batek ID oso bat erabil dezake.
DeviceId () [1/3] Gailu ID objektu berri bat eraikitzen du.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)
Parametroak busHardwareId_ deviceId_ description_
Autobusaren identifikatzailea. Aurkibide bat; busaren menpe (= CANopen nodo ID eta abar). Deskribapen bat (hutsik egon daiteke); autobusaren menpe.
DeviceId () [2/3] Gailu ID objektu berri bat eraikitzen du ID aukera hedatuekin.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, sinadurarik gabeko int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)
Parametroak busHardwareId_ deviceId_ description_ extraId_ extraStringId_
Autobusaren identifikatzailea. Aurkibide bat; busaren menpe (= CANopen nodo ID eta abar). Deskribapen bat (hutsik egon daiteke); autobusaren menpe. NAN gehigarri bat (hutsik egon daiteke); esanahia autobusaren araberakoa da. Kate ID gehigarria (hutsik egon daiteke); esanahia autobusaren araberakoa da.
DeviceId () [3/3] Gailuaren ID objektu baten kopia bat eraikitzen du.
nlc::DeviceId::DeviceId (DeviceId konst &)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
33
8 Klaseak / funtzioen erreferentzia
Parametroak deviceId_
Kopiatu beharreko gailuaren IDa.
berdin () Berriak dauden objektuekin alderatzen ditu.
bool nlc::DeviceId::equals (DeviceId const eta beste) konst
Boolearra ematen du
getBusHardwareId () Busaren hardware IDa irakurtzen du.
BusHardwareId nlc::DeviceId::getBusHardwareId () const
BusHardwareId itzultzen du
getDescription () Gailuaren deskribapena irakurtzen du (baliteke erabili gabe).
std::string nlc::DeviceId::getDescription () konst
Katea itzultzen du
getDeviceId () Gailuaren IDa irakurtzen du (baliteke erabili gabe).
unsigned int nlc::DeviceId::getDeviceId () konst
Sinatu gabeko int itzultzen du
toString () Objektua kate gisa itzultzen du.
std::string nlc::DeviceId::toString () konst
Katea itzultzen du
getExtraId () Gailuaren ID gehigarria irakurtzen du (baliteke erabili gabe egotea).
const std::bektorea &getExtraId () konst
Bektorea itzultzen du
ID gehigarrien bektore bat (hutsik egon daiteke); esanahia autobusaren araberakoa da.
getExtraStringId () Gailuaren katearen ID gehigarria irakurtzen du (baliteke erabili gabe egotea).
std::string getExtraStringId () konst
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
34
8 Klaseak / funtzioen erreferentzia
Katea itzultzen du
Kate ID gehigarria (hutsik egon daiteke); esanahia autobusaren araberakoa da.
8.17 LogLevelConverter
Klase honek zure log-maila kate gisa itzultzen du. static std::string toString (nlc::LogLevel logLevel)
8.18 LogModuleConverter
Klase honek zure liburutegiko log modulesetLoggingLevel () kate gisa itzultzen du.
static std::string
toString (nlc::LogModule logModule)
static std::string toString (nlc::LogModule logModule)
8.19 ObjektuHiztegia
Klase honek kontrolagailu baten objektu hiztegi bat adierazten du eta kide funtzio publiko hauek ditu: getDeviceHandle ()
Virtual ResultDeviceHandle getDeviceHandle () const Etortzen du ResultDeviceHandle
getObject () birtuala ResultObjectSubEntry getObject (OdIndex const odIndex) ResultObjectSubEntry itzultzen du
getObjectEntry () birtuala ResultObjectEntry getObjectEntry (uint16_t indizea)
ResultObjectEntry ematen du
Objektu baten propietateen berri ematen du.
lortuXmlFileName () Virtual ResultString getXmlFileIzena () konst
ResultString ematen du
XML-a itzultzen du file izena kate gisa.
readNumber () Virtual ResultInt readNumber (OdIndex const odIndex) ResultInt itzultzen du
readNumberArray () birtuala ResultArrayInt readNumberArray (uint16_t const indizea)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
35
8 Klaseak / funtzioen erreferentzia
ResultArrayInt readString () itzultzen du
Virtual ResultString readString (OdIndex const odIndex) ResultString readBytes itzultzen du () ResultArrayByte birtualak readBytes (OdIndex const odIndex) ResultArrayByte writeNumber () ResultVoid writeNumber birtuala (OdIndex const odIndex konst odIndex idazketa balioa) itzultzen du 64. () ResultVoid writeBytes birtualak (OdIndex const OdIndex, std::vector
const & data) itzultzen du ResultVoid erlazionatutako estekak OdIndex
8.20 Objektu Sarrera
Klase honek objektu hiztegiaren objektu-sarrera bat adierazten du, babestutako atributu estatiko hauek eta kide funtzio publikoak ditu:
static nlc::ObjectSubEntry invalidObject
getName () Objektuaren izena kate gisa irakurtzen du.
virtual std::string getName () konst
getPrivate () Objektua pribatua den egiaztatzen du.
virtual bool getPrivate () const
getIndex () Objektu-indizearen helbidea irakurtzen du.
virtual uint16_t getIndex () konst
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
36
8 Klaseak / funtzioen erreferentzia
getDataType () Objektuaren datu mota irakurtzen du.
virtual nlc::ObjectEntryDataType getDataType () konst
getObjectCode () Objektu-kodea irakurtzen du:
Null Deftype Defstruct Var Array erregistroa
0x00 0x05 0x06 0x07 0x08 0x09
virtual nlc::ObjectCode getObjectCode () konst
getObjectSaveable () Objektua gorde daitekeen eta haren kategoria egiaztatzen du (ikusi produktuaren eskuliburua xehetasun gehiago lortzeko): APLIKAZIOA, KOMUNIKAZIOA, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc::ObjectSaveable getObjectSaveable () konst
getMaxSubIndex () Objektu honek onartzen dituen azpiindize kopurua irakurtzen du.
virtual uint8_t getMaxSubIndex () konst
getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Ikus ere ObjectSubEntry.
8.21 ObjectSubEntry
Klase honek objektu hiztegiaren objektu azpisarrera (azpiindizea) adierazten du eta kide funtzio publiko hauek ditu:
getName () Objektuaren izena kate gisa irakurtzen du.
virtual std::string getName () konst
getSubIndex () Azpiindizearen helbidea irakurtzen du.
virtual uint8_t getSubIndex () konst
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
37
8 Klaseak / funtzioen erreferentzia
getDataType () Objektuaren datu mota irakurtzen du.
virtual nlc::ObjectEntryDataType getDataType () konst
getSdoAccess () Azpiindizea SDO bidez eskuragarri dagoen egiaztatzen du:
Irakurtzeko soilik
1
Idatzi Bakarrik
2
IrakurriIdatzi
3
NoAccess
0
virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () Azpiindizea PDO bidez eskuragarria/mapagarria den egiaztatzen du:
Tx
1
Rx
2
TxRx
3
Ez
0
virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () Azpiindizearen luzera egiaztatzen du.
virtual uint32_t getBitLength () konst
getDefaultValueAsNumeric () Zenbakizko datu moten azpiindizearen balio lehenetsia irakurtzen du.
Virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () Kateen datu-moten azpiindizearen balio lehenetsia irakurtzen du.
Virtual ResultString getDefaultValueAsString (std::string const & key) const
getDefaultValues () Azpiindizearen balio lehenetsiak irakurtzen ditu.
std birtuala::mapa getDefaultValues () konst
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
38
8 Klaseak / funtzioen erreferentzia
readNumber () Azpiindizearen zenbakizko benetako balioa irakurtzen du.
Virtual ResultInt readNumber () konst
readString () Azpiindizearen katearen benetako balioa irakurtzen du.
Virtual ResultString readString () konst
readBytes () Azpiindizearen benetako balioa irakurtzen du bytetan.
birtuala ResultArrayByte readBytes () konst
writeNumber () Zenbakizko balio bat idazten du azpiindizean.
Virtual ResultVoid writeNumber (const int64_t balioa) konst
writeBytes () Azpiindizeko balio bat bytetan idazten du.
Birtuala ResultVoid writeBytes (std::vector const & data) konst
8.22 OdIndex
Erabili klase hau (sortzetik aurrera aldaezina) objektuen direktorioa indizeak/azpiindizeak biltzeko eta kokatzeko. Gailu baten OD-ak 65535 (0xFFFF) errenkada eta 255 (0xFF) zutabe ditu; ilara etenen arteko hutsuneekin. Ikusi CANopen estandarra eta zure produktuaren eskuliburua xehetasun gehiago lortzeko.
OdIndex () OdIndex objektu berri bat eraikitzen du.
nlc::OdIndex::OdIndex (uint16_t indizea, uint8_t azpiindizea)
Parametroen indizea azpiindizea
0tik 65535era (0xFFFF) barne. 0tik 255era (0xFF) barne.
getIndex () Indizea irakurtzen du (0x0000tik 0xFFFFra).
uint16_t nlc::OdIndex::getIndex () konst
uint16_t ematen du
getSubindex () Azpiindizea irakurtzen du (0x00tik 0xFFra)
uint8_t nlc::OdIndex::getSubIndex () konst
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
39
8 Klaseak / funtzioen erreferentzia
uint8_t ematen du
toString () Indizea eta azpiindizea kate gisa itzultzen ditu. 0xIIII:0xSS kate lehenetsiak honela irakurtzen du:
I = 0x0000tik 0xFFFF bitarteko indizea
S = azpiindizea 0x00tik 0xFFra
std::string nlc::OdIndex::toString () const
0xIIII:0xSS ematen du
Kateen irudikapen lehenetsia
8.23 OdLibrary
Erabili programazio-interfaze hau XML-tik ObjectDictionary klasearen instantziak sortzeko. AssignObjectDictionary-ren bidez, instantzia bakoitza gailu jakin batera lotu dezakezu, esklusiboki sortutako identifikatzaile bati esker. Horrela sortutako ObjectDictionary instantziak OdLibrary objektuan gordetzen dira indizearen bidez atzitzeko. ODLibrary klaseak ObjectDictionary elementuak kargatzen ditu file edo array, gordetzen ditu eta kide funtzio publiko hauek ditu:
getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const
getObjectDictionary () birtuala ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
ResultObjectDictionary ematen du
addObjectDictionaryFromFile ()
birtuala ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFilebidea)
ResultObjectDictionary ematen du
gehituObjektuaHiztegia ()
Virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileBidea = std::string ())
ResultObjectDictionary ematen du
8.24 OdTypesHelper
Kide publikoen funtzio hauez gain, klase honek datu mota pertsonalizatuak ditu. Oharra: zure datu mota pertsonalizatuak egiaztatzeko, bilatu ObjectEntryDataType enum klasea od_types.hpp-n.
uintToObjectCode () Sinatu gabeko zenbaki osoak objektu-kode bihurtzen ditu:
Deftype nulua
0x00 0x05
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
40
8 Klaseak / funtzioen erreferentzia
Desegin Var Array erregistroa
0x06 0x07 0x08 0x09
ObjectCode estatikoa uintToObjectCode (sinatutako int objectCode)
isNumericDataType () Datu mota bat zenbakizkoa den ala ez jakinarazten du.
bool estatikoa isNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () Objektu bat definizio-egituraren indizea den edo ez jakinarazten du.
bool estatikoa isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Objektu bat definizio mota indizea den edo ez jakinarazten du.
bool estatikoa isDeftypeIndex (uint16_t typeNum)
isComplexDataType () Datu-mota konplexua den ala ez jakinarazten du.
bool estatikoa isComplexDataType (ObjectEntryDataType dataType)
uintToObjectEntryDataType () Sinatu gabeko zenbaki osoak OD datu mota bihurtzen ditu.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () OD datu-mota kate bihurtzen du.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () Katea OD datu mota bihurtzen du ahal izanez gero. Bestela, UNKNOWN_DATATYPE itzultzen du.
static ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
41
8 Klaseak / funtzioen erreferentzia
objectEntryDataTypeBitLength () Objektu-sarrerako datu-motaren bit-luzeraren berri ematen du.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const eta dataType)
8.25 RESTfulBus egitura
Egitura honek RESTful interfazearen komunikazio-konfigurazio aukerak ditu (Ethernet bidez). Atributu publiko hauek ditu:
const std::string const unsigned long const std::string const unsigned long const std::string const sinadura luzea
CONNECT_TIMEOUT_OPTION_NAME = “Atengabeko konektatzeko denbora-muga” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Eskaeraren atsedenaldiaren denbora-muga” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “Erantzunaren atsedenaldiko denbora-muga” DEFAULT_750OUT_XNUMX.
8.26 ProfinetDCP
Linux-en, deitzen duen aplikazioak CAP_NET_ADMIN eta CAP_NET_RAW gaitasunak behar ditu. Gaitzeko: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Windows-en, ProfinetDCP interfazeak WinPcap (4.1.3 bertsioarekin probatua) edo Npcap (1.60 eta 1.30 bertsioekin probatua) erabiltzen ditu. Beraz, dinamikoki kargatutako wpcap.dll liburutegia bilatzen du hurrenkera honetan (Oharra: ez dago Win10Pcap uneko laguntzarik):
1. Nanolib.dll direktorioa 2. Windows sistemaren direktorioa SystemRoot%System32 3. Npcap instalazio direktorioa SystemRoot%System32Npcap 4. Ingurugiroaren bidea
Klase honek Profinet DCP interfaze bat adierazten du eta kideen funtzio publiko hauek ditu:
getScanTimeout () Gailuaren eskaneatze denbora-muga baten berri ematen du (lehenetsia = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () Gailuaren eskaneatzeko denbora-muga ezartzen du (lehenetsia = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () Gailuaren erantzun-denbora jakinarazten du konfigurazio, berrezarri eta keinu-eragiketetarako (lehenetsia = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () Gailuaren erantzun-denbora jakinarazten du konfigurazio, berrezarri eta keinu-eragiketetarako (lehenetsia = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
42
8 Klaseak / funtzioen erreferentzia
Zerbitzua eskuragarri dago ()
Erabili funtzio hau Profinet DCP zerbitzuaren erabilgarritasuna egiaztatzeko.
Sare-egokitzailearen baliozkotasuna / erabilgarritasuna Windows: WinPcap / Npcap erabilgarritasuna Linux: CAP_NET_ADMIN / CAP_NET_RAW gaitasunak
Virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId eta busHardwareId)
Parametroak BusHardwareId Egia ematen du
faltsua
Profinet DCP zerbitzuaren hardware IDa egiaztatzeko. Zerbitzua eskuragarri dago. Zerbitzua ez dago erabilgarri.
scanProfinetDevices () Erabili funtzio hau hardware-busa Profinet gailuen presentzia bilatzeko.
Emaitza birtualaProfinetDevices eskaneatzeaProfinetDevices (const BusHardwareId eta busHardwareId)
Parametroak BusHardwareId ResultProfinetDevices itzultzen du
Ireki beharreko eremu-bus bakoitza zehazten du. Hardwarea irekita dago.
setupProfinetDevice () Gailuaren ezarpen hauek ezartzen ditu:
Gailuaren izena
IP helbidea
Sareko maskara
Pasabide lehenetsia
Virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () Gailua geldiarazten du eta fabrikako lehenetsietara berrezartzen du.
Virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice eta profinetDevice)
blinkProfinetDevice () Profinet gailuari Profinet LEDa keinuka hasteko agintzen dio.
Virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)
validateProfinetDeviceIp () Erabili funtzio hau gailuaren IP helbidea egiaztatzeko.
Virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice eta profinetDevice)
Parametroak BusHardwareId ProfinetDevice
Egiaztatu beharreko hardware IDa zehazten du. Baliozkotu beharreko Profinet gailua zehazten du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
43
8 Klaseak / funtzioen erreferentzia
ResultVoid itzultzen du
8.27 ProfinetDevice egitura
Profinet gailuaren datuek atributu publiko hauek dituzte:
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
deviceName deviceVendor macAddress ipAddress net Mask defaultGateway
MAC helbidea matrize gisa ematen da macAddress = {xx, xx, xx, xx, xx, xx} formatuan; IP helbidea, sareko maskara eta atebidea, berriz, big endian hex zenbaki gisa interpretatzen dira, hala nola:
IP helbidea: 192.168.0.2 Sare-maskara: 255.255.0.0 Pasabidea: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Emaitza klaseak
Erabili klase hauen itzulera-balioak "aukerakoak" funtzio-deiak arrakasta izan duen edo ez egiaztatzeko, eta aurkitu hutsegite arrazoiak ere. Arrakasta izanez gero, hasError () funtzioak false itzultzen du. getResult () bidez, emaitzaren balioa irakur dezakezu motaren arabera (ResultInt, etab.). Dei batek huts egiten badu, arrazoia irakurriko duzu getError ().
Babestutako atributuak
string NlcErrorCode uint32_t
errorString errorCode exErrorCode
Gainera, klase honek kideen funtzio publiko hauek ditu:
hasError () Funtzio-dei baten arrakasta irakurtzen du.
bool nlc::Emaitza::hasError () const
Itzuliak
egia gezurra
Huts egin du deiak. Erabili getError () balioa irakurtzeko. Deia arrakastatsua. Erabili getResult () balioa irakurtzeko.
getError () Funtzio-deiak huts egiten badu arrazoia irakurtzen du.
const std::string nlc::Emaitza::getError () const
Const katea itzultzen du
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
44
8 Klaseak / funtzioen erreferentzia
emaitza () Funtzio hauek emaitza zehatzak zehazten laguntzen dute:
Emaitza (std::string const & errorString_)
Emaitza (NlcErrorCode const & errCode, std::string const & errorString_)
Emaitza (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Emaitza (Emaitza konstantea eta emaitza)
getErrorCode () Irakurri NlcErrorCode.
NlcErrorCode getErrorCode () konst
getExErrorCode () uint32_t getExErrorCode () konst
8.28.1 ResultVoid
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak void itzultzen badu. Klaseak emaitza-klasearen funtzio publikoak eta babestutako atributuak heredatzen ditu eta kideen funtzio publiko hauek ditu:
ResultVoid () Funtzio hauek hutsunearen emaitza zehatza definitzen laguntzen dute:
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 (Emaitza konstantea eta emaitza)
8.28.2 EmaitzaInt
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak zenbaki oso bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Emaitza oso bat ematen du funtzio-deiak arrakasta izan badu.
int64_t getResult () konst
int64_t ematen du
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
45
8 Klaseak / funtzioen erreferentzia
ResultInt () Funtzio hauek emaitza oso zehatza definitzen laguntzen dute:
ResultInt (int64_t emaitza_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (Emaitza konstantea eta emaitza)
8.28.3 ResultString
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak kate bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Katearen emaitza irakurtzen du funtzio-deiak arrakasta izan badu.
const std::string nlc::ResultString::getResult () const
Const katea itzultzen du
ResultString () Funtzio hauek katearen emaitza zehatza definitzen laguntzen dute:
ResultString (std::string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (Emaitza konstantea eta emaitza)
8.28.4 ResultArrayByte
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak byte-matrize bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () byte-bektorea irakurtzen du funtzio-deiak arrakasta izan badu.
const std::bektorea nlc::ResultArrayByte::getResult () konst
Bektore konst itzultzen du
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
46
8 Klaseak / funtzioen erreferentzia
ResultArrayByte () Funtzio hauek byte-matrizearen emaitza zehatza definitzen laguntzen dute:
ResultArrayByte (std::vector konst eta emaitza_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Emaitza konstantea eta emaitza)
8.28.5 ResultArrayInt
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak matrize oso bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Bektore oso bat irakurtzen du funtzio-deiak arrakasta izan badu.
const std::bektorea nlc::ResultArrayInt::getResult () konst
Bektore konst itzultzen du
ResultArrayInt () Funtzio hauek zenbaki osoen matrizearen emaitza zehatza definitzen laguntzen dute:
ResultArrayInt (std::vector konst eta emaitza_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const eta error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Emaitza konstantea eta emaitza)
8.28.6 EmaitzaBusHwIds
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak bus hardwarearen ID array bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Bus-hardware-ID bektorea irakurtzen du funtzio-deiak arrakasta izan badu.
const std::bektorea nlc::ResultBusHwIds::getResult () konst
Parametroak konst bektorea
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
47
8 Klaseak / funtzioen erreferentzia
ResultBusHwIds () Funtzio hauek bus-hardware-ID-matrizearen emaitza zehatza definitzen laguntzen dute:
ResultBusHwIds (std::vector konst eta emaitza_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (Emaitza konstantea eta emaitza)
8.28.7 ResultDeviceId
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak gailuaren ID bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Gailuaren ID bektorea irakurtzen du funtzio-deiak arrakasta izan badu.
DeviceId nlc::ResultDeviceId::getResult () konst
Bektore konst itzultzen du
ResultDeviceId () Funtzio hauek gailuaren IDaren emaitza zehatza definitzen laguntzen dute:
ResultDeviceId (DeviceId konstantea eta emaitza_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Emaitza konstantea eta emaitza)
8.28.8 ResultDeviceIds
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak gailuaren ID array bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Gailuaren ID bektorea itzultzen du funtzio-deiak arrakasta izan badu.
DeviceId nlc::ResultDeviceIds::getResult () konst
Bektore konst itzultzen du
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
48
8 Klaseak / funtzioen erreferentzia
ResultDeviceIds () Funtzio hauek gailu-ID-matrizearen emaitza zehatza definitzen laguntzen dute:
ResultDeviceIds (std::vector konst eta emaitza_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (Emaitza konstantea eta emaitza)
8.28.9 ResultDeviceHandle
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak gailuaren helduleku baten balioa itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Gailuaren heldulekua irakurtzen du funtzio-deiak arrakasta izan badu.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
DeviceHandle itzultzen du
ResultDeviceHandle () Funtzio hauek gailuaren heldulekuaren emaitza zehatza definitzen laguntzen dute:
ResultDeviceHandle (DeviceHandle konst eta emaitza_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (Emaitza konstantea eta emaitza)
8.28.10 ResultObjectDictionary
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak objektu hiztegi baten edukia itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Gailuaren ID bektorea irakurtzen du funtzio-deiak arrakasta izan badu.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
49
8 Klaseak / funtzioen erreferentzia
Itzuliak
konst bektorea
ResultObjectDictionary () Funtzio hauek objektu hiztegiaren emaitza zehatza definitzen laguntzen dute:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)
ResultObjectDictionary (std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectDictionary (Emaitza konst eta emaitza)
8.28.11 ResultConnectionState
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak gailu-konexio-egoera informazioa itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Gailuaren heldulekua irakurtzen du funtzio-deiak arrakasta izan badu.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
DeviceConnectionStateInfo Konektatua / Deskonektatua / KonektatuaBootloader itzultzen du
ResultConnectionState () Funtzio hauek konexio egoeraren emaitza zehatza definitzen laguntzen dute:
ResultConnectionState (DeviceConnectionStateInfo konst eta emaitza_)
ResultConnectionState (std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultConnectionState (Emaitza konstantea eta emaitza)
8.28.12 ResultObjectEntry
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak objektu-sarrera bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
50
8 Klaseak / funtzioen erreferentzia
getResult () Gailuaren ID bektorea itzultzen du funtzio-deiak arrakasta izan badu.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
ObjectEntry const itzultzen du
ResultObjectEntry () Funtzio hauek objektuaren sarreraren emaitza zehatza definitzen laguntzen dute:
ResultObjectEntry (nlc::ObjectEntry konst eta emaitza_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (Emaitza konstantea eta emaitza)
8.28.13 ResultObjectSubEntry
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak objektuaren azpisarrera bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Gailuaren ID bektorea itzultzen du funtzio-deiak arrakasta izan badu.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
ObjectSubEntry const itzultzen du
ResultObjectSubEntry () Funtzio hauek objektuaren azpisarreraren emaitza zehatza definitzen laguntzen dute:
ResultObjectSubEntry (nlc::ObjectEntry konst eta emaitza_)
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 (Emaitza konstantea eta emaitza)
8.28.14 EmaitzaProfinetDevices
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak Profinet gailu bat itzultzen badu. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
51
8 Klaseak / funtzioen erreferentzia
getResult () Profinet gailuaren bektorea irakurtzen du funtzio-deiak arrakasta izan badu.
const std::bektorea & getResult () konst
ResultProfinetDevices () Funtzio hauek Profinet gailu zehatzak definitzen laguntzen dute.
ResultProfinetDevices (const std::vector & ProfinetDevices)
ResultProfinetDevices (konst Emaitza eta emaitza)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 EmaitzakampleDataArray
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak honela itzultzen baduample datu-matrizea. Klaseak funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kideen funtzio publiko hauek ditu:
getResult () Datu-matrizea irakurtzen du funtzio-deiak arrakasta izan badu.
const std::bektorea <SampleData> & getResult () konst
EmaitzaSampleDataArray () Funtzio hauek Profinet gailu zehatzak definitzen laguntzen dute.
EmaitzaSampleDataArray (const std::vector <SampleData> & dataArray)
EmaitzaSampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
EmaitzaSampleDataArray (const ResultSampleDataArray eta beste)
EmaitzaSampleDataArray (const Emaitza eta emaitza)
8.28.16 EmaitzakamplerEstatua
NanoLib-ek klase honen instantzia bat bidaltzen dizu funtzioak honela itzultzen baduampler state. Klase honek funtzio publikoak / babestutako atributuak heredatzen ditu emaitza klasetik eta kide funtzio publiko hauek ditu:
getResult () s-a irakurtzen duampler egoera-bektorea funtzio-deiak arrakasta izan badu.
SamplerState getResult () konst
S itzultzen duamplerState>
Konfiguratu gabe / Konfiguratu / Prest / Abian / Osatu / Huts egin / Ezeztatuta
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
52
8 Klaseak / funtzioen erreferentzia
EmaitzaSamplerState () Funtzio hauek s zehatza definitzen laguntzen duteampler egoera.
EmaitzaSamplerState (konst SamplerState estatua)
EmaitzaSamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
extendedErrorCode = 0)
EmaitzaSamplerState (const ResultSamplerState eta beste)
EmaitzaSamplerState (const Emaitza eta emaitza)
8.29 NlcErrorCode
Zerbait gaizki gertatzen bada, emaitza-klaseek enumerazio honetan zerrendatutako errore-kodeetako baten berri ematen dute.
Errore-kodea Arrakasta Errore orokorra BusErroreaErrorea KomunikazioErroreaProtokoloaErrorea
ODDoesNotExist ODInvalidAccess ODTypeDesegokitzea EragiketaAborted OperationNotSupported Invalid Operation
Baliogabeak Argumentuak SarbideaUkatua BaliabideaEz aurkitu BaliabideaUnavailable OutOfMemory TimeOutError
C: D Kategoria: Deskribapena R: Arrazoia C: Bat ere ez. D: Akatsik ez. R: Eragiketa ongi burutu da.
C: Zehaztu gabe. D: Zehaztu gabeko errorea. R: Beste kategoria batean sartzen ez den porrota.
C: Autobusa. D: Hardware-busa ez dago erabilgarri. R: Autobusa ez dago, moztuta edo akatsa.
C: Komunikazioa. D: Komunikazioa ez da fidagarria. R: Ustekabeko datuak, CRC okerra, fotograma edo parekotasun akatsak, etab.
C: Protokoloa. D: Protokolo-errorea. R: Onartu gabeko protokolo-aukeraren ondoren erantzuna, gailuak onartzen ez duen protokoloaren berri, protokoloko errorea (esaterako, SDO segmentuaren sinkronizazio-bita), etab. R: Erantzun edo gailuaren txostena onartzen ez den protokoloari (aukerak) edo protokoloko akatsei (esan, SDO). segment sync bit), etab. R: Onartu gabeko protokoloa (aukerak) edo errorea protokoloan (esan, SDO segment sync bit), etab.
C: Objektuen hiztegia. D: OD helbidea ez dago. R: Ez dago horrelako helbiderik objektuen hiztegian.
C: Objektuen hiztegia. D: OD helbiderako sarbidea baliogabea. R: Saia zaitez irakurtzeko soilik idazten, edo idazteko soilik dagoen helbide batetik irakurtzen.
C: Objektuen hiztegia. D: Mota desegokia. R: Bihurtu gabeko balioa zehaztutako motara, esate baterako, kate bat zenbaki gisa tratatu nahian.
C: Aplikazioa. D: Prozesua bertan behera utzi da. R: Aplikazio-eskaeraren arabera moztutako prozesua. Deia itzultzeko funtzioaren funtzionamendua eteten denean bakarrik itzultzen da, esate baterako, autobus-eskaneatzetik.
C: Ohikoa. D: Prozesua ez da onartzen. R: Ez dago hardware-busa/gailu laguntzarik.
C: Ohikoa. D: Prozesua okerra uneko testuinguruan, edo baliogabea egungo argumentuarekin. R: Lehendik konektatuta dauden autobus/gailuekin berriro konektatzeko saiakera bat. Jada deskonektatuta daudenekin deskonektatzeko saiakera bat. Abio-kargagailuaren saiakera firmware moduan edo alderantziz.
C: Ohikoa. D: Argudioa baliogabea. R: Logika edo sintaxi okerra.
C: Ohikoa. D: Sarbidea ukatuta dago. R: Eskatutako eragiketa egiteko eskubide edo gaitasunik eza.
C: Ohikoa. D: zehaztutako elementua ez da aurkitu. R: Hardware-busa, protokoloa, gailua, OD helbidea gailuan edo file ez zen aurkitu.
C: Ohikoa. D: zehaztutako elementua ez da aurkitu. R: lanpetuta, ez dagoena, moztuta edo akatsa.
C: Ohikoa. D: Memoria nahikoa ez. R: Memoria gutxiegi dago komando hau prozesatzeko.
C: Ohikoa. D: Prozesuaren denbora-muga gainditu da. R: Itzuli denbora-muga amaitu ondoren. Denbora-muga izan daiteke gailuaren erantzun-denbora, baliabide partekatu edo esklusiborako sarbidea lortzeko denbora edo autobusa / gailua egoera egoki batera aldatzeko denbora.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
53
8 Klaseak / funtzioen erreferentzia
8.30 NlcCallback
Deiak egiteko klase nagusi honek kide funtzio publiko hau du: callback ()
ResultVoid deia birtuala ()
Itzuliak
ResultVoid
8.31 NlcDataTransferCallback
Erabili dei-itzulera klase hau datuak transferitzeko (firmwarearen eguneratzea, NanoJ kargatzea, etab.). 1. Firmwarea kargatzeko: definitu "koklase" bat hau luzatuz dei-itzulera pertsonalizatuaren metodo batekin
ezarpena. 2. Erabili NanoLibAccessor.uploadFirmware () deietan “ko-class-en” instantziak. Klase nagusiak berak honako kide funtzio publikoa du:
callback () ResultVoid callback birtuala (nlc::DataTransferInfo info, int32_t data)
Itzuliak
ResultVoid
8.32 NlcScanBusCallback
Erabili dei-itzulera klase hau autobusak eskaneatzeko. 1. Definitu "ko-klase" hau hedatuz dei-itzulera metodo pertsonalizatu baten ezarpenarekin. 2. Erabili NanoLibAccessor.scanDevices () deietan “ko-class-en” instantziak. Klase nagusiak berak honako kide funtzio publiko hau du.
deia itzultzeko ()
ResultVoid dei birtuala (nlc::BusScanInfo info, std::vector const & devicesFound, int32_t datuak)
ResultVoid itzultzen du
8.33 NlcLoggingCallback
Erabili deiak itzultzeko klase hau deiak erregistratzeko. 1. Definitu klase hau hedatzen duen klase bat dei-itzulera metodo pertsonalizatuaren inplementazio batekin 2. Erabili erakuslea bere instantzietarako deia ezartzeko NanoLibAccessor > >
setLoggingCallback (…).
virtual void callback (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)
8.34 SamplerInterface
Erabili klase hau s-a konfiguratzeko, abiarazteko eta gelditzekoampler, edo s lortzekoampled datuak eta jaso gisaamplerren egoera edo azken errorea. Klaseak kideen funtzio publiko hauek ditu.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
54
8 Klaseak / funtzioen erreferentzia
konfiguratu () Honela konfiguratzen duampler.
Virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerKonfigurazioa & samplerkonfigurazioa)
Parametroak [in] deviceHandle [in] samplerKonfigurazioa
ResultVoid itzultzen du
s-a zein gailu konfiguratu behar den zehazten duamplerrentzat. Konfigurazio-atributuen balioak zehazten ditu. Void funtzio bat exekutatu dela baieztatzen du.
getData () s-a lortzen duampled datuak.
Emaitza birtualakampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Parametroak [in] deviceHandle Emaitzak itzultzen dituampleDataArray
Datuak zein gailutarako eskuratu behar diren zehazten du.
sampled datuak, matrize huts bat izan daiteke s badaamplerNotify aktibo dago abiaraztean.
getLastError () gisa lortzen duamplerren azken akatsa.
Virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
ResultVoid itzultzen du
Void funtzio bat exekutatu dela baieztatzen du.
getState () gisa lortzen duamplerren egoera.
Emaitza birtualakamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Emaitza itzultzenSamplerEstatua
sampler egoera.
hasi () Horrela hasten daampler.
Virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotifikatu* samplerNotify, int64_t applicationData)
Parametroak [in] deviceHandle [in] SamplerNotify [in] applicationData
ResultVoid itzultzen du
S-a zein gailu abiarazteko zehazten duamplerrentzat.
Zehazten du zer aukerako informazioa jakinarazi (nullptr izan daiteke).
Aukera: aplikazioarekin erlazionatutako datuak (erabiltzaileak definitutako 8 biteko balio/gailuaren IDa/indizea edo data-ordua, aldagai baten/funtzioaren erakuslea, etab.) birbidaltzen ditu.amplerNotifikatu.
Void funtzio bat exekutatu dela baieztatzen du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
55
8 Klaseak / funtzioen erreferentzia
gelditu () Gelditzen daampler.
Virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
Parametroak [in] deviceHandle ResultVoid itzultzen du
S-a zein gailu gelditu behar den zehazten duamplerrentzat. Void funtzio bat exekutatu dela baieztatzen du.
8.35 SamplerConfiguration struct
Egitura honek datuak s dituamplerren konfigurazio aukerak (estatikoak edo ez).
Atributu publikoak
std::bektorea trackedAddresses
Gehienez 12 OD helbide izan sampLed.
uint32_t
bertsioa
Egitura baten bertsioa.
uint32_t
iraupenaMilisegundoak
Sampling iraupena ms-tan, 1etik 65535era
uint16_t
periodoMilisegundoak
Sampling aldia ms-tan.
uint16_t
zenbakiaSamples
Sampgutxiago zenbatekoa.
uint16_t
preTriggerNumberOfSamples
Sampabiarazte aurreko zenbatekoa.
bool
erabilizSoftwareInplementazioa
Erabili softwarearen ezarpena.
bool
FWS berria erabilizamplerImplementation Erabili FW inplementazioa a duten gailuetarako
FW bertsioa v24xx edo berriagoa.
SamplerMode
modua
s normala, errepikakorra edo jarraituaampling.
SamplerTriggerCondition triggerCondition
Hasi abiarazte-baldintzak: 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_ TC_GREATER_0 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1x0C, OdIndex, triggerValu
SamplerTrigger
SamplerTrigger
Abiarazle gisa hastekoampler?
Atributu publiko estatikoak
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotifikatu
Erabili klase hau s aktibatzekoampler jakinarazpenak gisa hasten zareneanampler. Klaseak honako kide funtzio publikoa du.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
56
8 Klaseak / funtzioen erreferentzia
jakinarazi ()
Jakinarazpen-sarrera bat ematen du.
hutsune birtuala nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerEstatua samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)
Parametroak [in] lastError [in] samplerEstatua
[in] sampleDatas [in] applicationData
Azken errorea s bitartean gertatu dela jakinarazi duampling. sampJakinarazpen garaian jakinarazpenaren egoera: Konfiguratu gabe / Konfiguratu / Prest / Abian / Osatu / Huts egin / Ezeztatuta. sampled-data array. Aplikazioaren berariazko datuen berri ematen du.
8.37 SampleData egitura
Egitura honek sampled datuak.
uin64_t iterazio Zenbakia
0-n hasten da eta errepikapen moduan bakarrik handitzen da.
std::vector<SampledValues> S-ren array daukaampled balioak.
8.38 SampledValue egitura
Egitura honek sampled balioak.
in64_t balioa uin64_t CollectTimeMsec
Jarraitutako OD helbide baten balioa dauka.
Bilketa-denbora milisegundotan dauka, s-ari dagokionezample hasiera.
8.39 SamplerTrigger struct
Egitura honek s-ren trigger ezarpenak dituampler.
SamplerTriggerCondition baldintza
OdIndex uin32_t balioa
Abiarazte-baldintza: 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__0GREATER__15x0 16x0 TC_LESS = 17x0 TC_LESS_OR_EQUAL = 18x0 TC_EQUAL = 19x0 TC_NOT_EQUAL = 1x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1xXNUMXC
Abiarazlearen OdIndex (helbidea).
Baldintza-balioa edo bit-zenbakia (zero bittik hasita).
8.40 Serie-egitura
Aurkitu hemen zure serieko komunikazio aukerak eta atributu publiko hauek:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = “serieko baud-abiadura” baudRate =SerialBaudRate egitura
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
57
8 Klaseak / funtzioen erreferentzia
const std::string const SerialParity
PARITY_OPTIONS_NAME = “serial parekotasuna” parekotasuna = SerialParity egitura
8.41 SerialBaudRate egitura
Aurkitu hemen zure serieko komunikazio-baud-tasa eta atributu publiko hauek:
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 SerialParity egitura
Aurkitu hemen zure serie parekotasun aukerak eta atributu publiko hauek:
const std::string const std::string const std::string const std::string const std::string
EZER = "bat ere ez" BAKOITZ = "bakoitia" BIKIN = "bikoitia" MARKATU = "markatu" ZURUA = "espazioa"
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
58
9 Lizentziak
9 Lizentziak
NanoLib API interfazearen goiburuak eta adibidezampiturburu-kodea Nanotec Electronic GmbH & Co. KG-ren lizentziapean dago Creative Commons Aitortu 3.0 Unported License (CC BY). Formatu bitarrean emandako liburutegiko zatiak (nukleoa eta eremuko komunikazio liburutegiak) Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND) lizentziapean daude.
Creative Commons
Gizakiek irakur daitekeen laburpen honek ez ditu lizentziak berak ordezkatuko. Dagokion lizentzia creativecommons.org helbidean aurki dezakezu eta behean estekatuta. Aske zaude:
CC BY 3.0
Partekatu: ikusi eskuinera. Egokitu: nahastu, eraldatu eta eraiki
edozein helburutarako materiala, baita komertziala ere.
CC BY-ND 4.0
Partekatu: kopiatu eta birbanatu materiala edozein euskarri edo formatuan.
Lizentzia-emaileak ezin ditu goiko askatasunak baliogabetu, baldin eta lizentzia-baldintza hauek betetzen badituzu:
CC BY 3.0
CC BY-ND 4.0
Esleipena: kreditu egokia eman behar duzu, Esleipena: Ikus ezkerrean. Baina: Eman esteka bat
eman lizentziarako esteka, eta adierazi ea
beste lizentzia.
aldaketak egin ziren. Edozeinetan egin dezakezu
Deribaturik ez: birnahastu, eraldatu edo eraikitzen baduzu
zentzuzko moduan, baina ez inola ere
materialaren gainean, ezin duzu banatu
Lizentzia-emaileak zu edo zure erabilera onartzen duela adierazten du.
eraldatutako materiala.
Murrizketa gehigarririk ez: baliteke ez aplikatzea Murrizketa gehigarririk ez: ikusi ezkerrean. termino juridikoak edo neurri teknologikoak legez
besteei lizentziaren ezer egin ez dezaten
baimenak.
Oharra: ez duzu domeinu publikoko materialaren elementuen lizentzia bete beharrik edo zure erabilera aplikagarria den salbuespen edo muga batek baimenduta dagoenean.
Oharra: Ez da bermerik ematen. Baliteke lizentziak ez ematea nahi duzun erabilerarako beharrezkoak diren baimen guztiak. AdibidezampBeste eskubide batzuek, hala nola, publizitatea, pribatutasuna edo eskubide moralak mugatu dezakete materiala nola erabiltzen duzun.
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
59
Aztarna, kontaktua, bertsioak
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenAlemaniaTel.+49(0) 89 900 686-0Faxa+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Eskubide guztiak erreserbatuta. Erroreak, hutsuneak, teknikoak edo edukiak alda daitezke jakinarazi gabe. Aipatu markak/produktuak jabeen marka komertzialak dira eta horrela tratatu behar dira. Jatorrizko bertsioa.
1.4.2 dokumentua 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
+ Gehituta > Aldatua # Konpondu > Emandako adibidea berriro lantzeaamples.
+ NanoLib Modbus: Modbus VCPrako gailua blokeatzeko mekanismoa gehitu da. # NanoLib Core: Konexioaren egoeraren egiaztapena konpondu da. # NanoLib kodea: zuzendutako autobusaren hardware-erreferentzia kentzea.
+ NanoLib-CANopen: Peak PCAN-USB egokigailurako laguntza (IPEH-002021/002022).
> NanoLib Core: erregistro-deien itzulerako interfazea aldatu da (LogLevel LogModule-k ordezkatu du). # NanoLib Logger: nukleoaren eta moduluen arteko bereizketa zuzendu da. # Modbus TCP: FW4rako firmware eguneratzea konpondu da. # EtherCAT: NanoJ programaren igoera finkoa Core5erako. # EtherCAT: Firmware eguneratzea konpondu da Core5-rako.
# Modbus RTU: denbora-arazoak konpondu dira baud-tasa baxuekin firmware eguneratzean. # RESTful: NanoJ programaren igoera konpondu da.
# NanoLib moduluak Sampler: s-ren irakurketa zuzenaampled balio boolearrak.
+ Java 11 euskarria plataforma guztietarako. + Python 3.11/3.12 euskarria plataforma guztietarako. + Erregistratzeko deien itzulera interfaze berria (ikusi adibamples). + NanoLib Logger-erako dei-itzulerak. > Eguneratu erregistratzailea 1.12.0 bertsiora. > NanoLib Moduluak Sampler: Onartu orain Nanotec controller v24xx firmwarerako. > NanoLib moduluak Sampler: s-rako erabilitako egitura aldaketaampler konfigurazioa. > NanoLib Moduluak Sampler: Etengabeko modua amaigabearen sinonimoa da; trigger-baldintza behin egiaztatzen da; s kopuruaampfitxategiak 0 izan behar dira. > NanoLib Modules Sampler: firmware moduan datuak biltzen dituen hariaren lehentasun normala. > NanoLib moduluak Sampler: Berridatzi algoritmoa Prest eta Abian egoeraren arteko trantsizioa detektatzeko. # NanoLib Core: Ez dago sarbide-urraketa gehiago (0xC0000005) 2 gailu edo gehiago bus hardware bera erabiliz ixtean. # NanoLib Core: Ez dago segmentazio akats gehiago Linux-en PEAK egokitzaile bat eransteko. # NanoLib moduluak Sampler: zuzena sampled-balioak firmware moduan irakurtzen ditu. # NanoLib moduluak Sampler: 502X:04-ren konfigurazio zuzena. # NanoLib moduluak Sampler: Bufferren nahasketa zuzena kanalekin. # NanoLib-Canopen: CAN denbora-muga handitu da sendotasunerako eta eskaneatu zuzena baud-tasa baxuagoetan. # NanoLib-Modbus: gailu berezietarako VCP detektatzeko algoritmoa (USB-DA-IO).
+ EtherCAT euskarria.
+ Konfiguratu proiektuan VS proiektuaren ezarpenei buruzko oharra.
+ getDeviceHardwareGroup (). + getProfinetDCP (ServiceAvailable da). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileIzena (). + const std::string & xmlFileAddObjectDictionary-ko bidea (). + lortuSamplerInterface ().
Produktua 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)
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
60
10 Aztarna, kontaktua, bertsioak
Dokumentua
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
+ Gehituta > Aldatua # Konpondu + berrabiarazi Gailua (). + Errore kodea ResourceUnavailable getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber eta ~Uid. > firmwareUploadFromFile orain uploadFirmwareFromFile (). > firmwareUpload () orain uploadFirmware (). > bootloaderUploadFromFile () orain uploadBootloaderFromFile (). > bootloaderUpload () orain uploadBootloader (). > bootloaderFirmwareUploadFromFile ()BootloaderFirmwareFrom kargatzekoFile (). > bootloaderFirmwareUpload () orain uploadBootloaderFirmware (). > nanojUploadFromFile () orain igo NanoJFromFile (). > nanojUpload () orain uploadNanoJ (). > objectDictionaryLibrary () orain getObjectDictionaryLibrary (). > String_String_Map orain StringStringMap. > NanoLib-Common: listAvailableBusHardware eta openBusHardwareWithProtocol-en exekuzio azkarragoa Ixxat egokigailuarekin. > NanoLib-CANopen: lehenetsitako ezarpenak erabiltzen dira (1000k baudrate, Ixxat bus zenbakia 0) bus hardware aukerak hutsik badaude. > NanoLib-RESTful: administratzaile-baimena zaharkituta dago Windows-en Ethernet abiarazleekin komunikatzeko npcap / winpcap kontrolatzailea eskuragarri badago. # NanoLib-CANopen: autobusaren hardwarea orain hutsik gabe irekitzen da aukera hutsekin. # NanoLib-Common: openBusHardwareWithProtocol () memoria ihesik gabe orain.
+ Linux ARM64 euskarria. + USB biltegiratze masiboa / REST / Profinet DCP euskarria. + checkConnectionState (). + getDeviceBootloaderVersion (). + EmaitzaProfinetDevices. + NlcErrorCode (NanotecExceptions ordezkatua). + NanoLib Modbus: VCP / USB huba USBra bateratua. > Modbus TCP eskaneatzeak emaitzak ematen ditu. < Modbus TCP komunikazioaren latentzia etengabea izaten jarraitzen du.
+ ObjectEntryDataType gehiago (konplexua eta profesionalafile- espezifikoak). + IOError itzulera connectDevice () eta scanDevices () bat ere ez badute aurkitzen. + 100 ms-ko denbora-muga nominala bakarrik CanOpen / Modbusentzat.
+ Modbus laguntza (gehi USB Hub VCP bidez). + Kapitulua Zure Linux proiektua sortzea. + extraHardwareSpecifier-era BusHardwareId (). + extraId_ eta extraStringId_ DeviceId-era ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Akatsen konponketak.
Edizioa.
Produktua
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Bertsioa: doc 1.4.2 / NanoLib 1.3.0
61
Dokumentuak / Baliabideak
![]() |
Nanotic NanoLib C++ programazioa [pdfErabiltzailearen eskuliburua NanoLib C Programazioa, C Programazioa, Programazioa |

