Nanotiese-LOGO

Nanotiese NanoLib C++-programmering

Nanotiese-NanoLib-C++-Programmering-PRODUK

Produk inligting

Spesifikasies

  • Produk Naam: NanoLib
  • Programmering Taal: C++
  • Produkweergawe: 1.3.0
  • Gebruikershandleiding weergawe: 1.4.2

Die NanoLib-biblioteek is ontwerp vir die programmering van beheersagteware vir Nanotec-beheerders. Dit bied 'n gebruikerskoppelvlak, kernfunksies en kommunikasiebiblioteke om die ontwikkeling van beheertoepassings te fasiliteer.

Produkgebruiksinstruksies

  • Voordat jy begin:
    • Maak seker dat jou stelsel aan die hardewarevereistes voldoen wat in die handleiding gespesifiseer word. Die beoogde gehoor vir hierdie produk sluit ontwikkelaars in wat beheersagteware vir Nanotec-beheerders wil skep.
  • Aan die gang:
    • Volg hierdie stappe om NanoLib te begin gebruik:
    • Begin deur NanoLib in jou projek in te voer.
    • Stel jou projekinstellings op soos nodig.
    • Bou jou projek om NanoLib-funksionaliteite in te sluit.
  • Skep projekte:
    • U kan projekte vir beide Windows- en Linux-omgewings skep. Volg die spesifieke instruksies wat in die handleiding vir elke platform verskaf word.
  • Klasse / Funksies Verwysing:
    • Verwys na die gebruikershandleiding vir 'n gedetailleerde gids oor die klasse en funksies wat beskikbaar is in NanoLib vir programmering van beheersagteware.

Gereelde vrae

  • V: Wat is die doel van NanoLib?
    • A: NanoLib is 'n biblioteek vir die programmering van beheersagteware vir Nanotec-beheerders, wat noodsaaklike funksies en kommunikasievermoëns verskaf.
  • V: Hoe kan ek met NanoLib begin?
    • A: Begin deur NanoLib in jou projek in te voer, projekinstellings op te stel en jou projek te bou om NanoLib-kenmerke te gebruik.

"`

Gebruikershandleiding NanoLib
C++

Geldig met produk weergawe 1.3.0

Gebruikershandleiding weergawe: 1.4.2

Dokumenteer doel en konvensies

Hierdie dokument beskryf die opstelling en gebruik van die NanoLib-biblioteek en bevat 'n verwysing na alle klasse en funksies vir die programmering van jou eie beheersagteware vir Nanotec-beheerders. Ons gebruik die volgende lettertipes:
Onderstreepte teks merk 'n kruisverwysing of hiperskakel.
Example 1: Vir presiese instruksies oor die NanoLib Accessor, sien Opstelling. Bvample 2: Installeer die Ixxat-bestuurder en koppel die CAN-na-USB-adapter aan. Kursief teks beteken: Dit is 'n benoemde voorwerp, 'n kieslyspad / item, 'n oortjie / file naam of (indien nodig) 'n vreemdetaal uitdrukking.
Example 1: Kies File > Nuut > Leë dokument. Maak die Tool-oortjie oop en kies Comment. Bvample 2: Hierdie dokument verdeel gebruikers (= Nutzer; usuario; utente; utilisateur; utente ens.) van:
– Derdeparty-gebruiker (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente ens.). – Eindgebruiker (= Eindnutzer; usuario finaal; utente finaal; utilisateur finaal; utente finale ens.).
Courier merk kodeblokke of programmeringsopdragte. Bvample 1: Via Bash, roep sudo make install om gedeelde voorwerpe te kopieer; bel dan ldconfig. Bvample 2: Gebruik die volgende NanoLibAccessor-funksie om die aantekenvlak in NanoLib te verander:
// ***** C++ variant *****
void stelLoggingLevel(LogLevel-vlak);
Vet teks beklemtoon individuele woorde van kritieke belang. Alternatiewelik beklemtoon uitroeptekens tussen hakies die kritieke(!) belangrikheid.
Example 1: Beskerm jouself, ander en jou toerusting. Volg ons algemene veiligheidsaantekeninge wat algemeen van toepassing is op alle Nanotec-produkte.
Example 2: Vir jou eie beskerming, volg ook spesifieke veiligheidsnotas wat op hierdie spesifieke produk van toepassing is. Die werkwoord om saam te klik beteken 'n klik via sekondêre muissleutel om 'n kontekskieslys oop te maak, ens.
Example 1: Saamklik op die file, kies Hernoem en hernoem die file. Bvample 2: Om die eienskappe na te gaan, klik saam op die file en kies Eienskappe.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

4

Voordat jy begin

Voordat jy NanoLib begin gebruik, berei jou rekenaar voor en lig jouself in oor die beoogde gebruik en die biblioteekbeperkings.
2.1 Stelsel- en hardewarevereistes

Nanotiese-NanoLib-C++-Programmering-FIG- (1)
KENNISGEWING Wanfunksie van 32-bis-werking of gestaakde stelsel! Gebruik en onderhou konsekwent 'n 64-bis-stelsel. Let op OEM-onderbrekings en ~-instruksies.

NanoLib 1.3.0 ondersteun alle Nanotec-produkte met CANopen, Modbus RTU (ook USB op virtuele com-poort), Modbus TCP, EtherCat en Profinet. Vir ouer NanoLibs: Sien veranderingslogboek in die afdruk. Slegs op jou risiko: gebruik van erfenisstelsels. Let wel: Volg geldige OEM-instruksies om die latensie so laag as moontlik te stel as jy probleme ondervind wanneer jy 'n FTDI-gebaseerde USB-adapter gebruik.

Vereistes (64-bis stelsel verpligtend)
Windows 10 of 11 met Visual Studio 2019 weergawe 16.8 of later en Windows SDK 10.0.20348.0 (weergawe 2104) of later
C++ herverdeelbare 2017 of hoër CANopen: Ixxat VCI of PCAN basiese bestuurder (opsioneel) EtherCat module / Profinet DCP: Npcap of WinPcap RUSvolle module: Npcap, WinPcap, of admin toestemming om
kommunikeer met Ethernet selflaaiers
Linux met Ubuntu 20.04 LTS tot 24 (alle x64 en arm64)
Kernelopskrifte en libpopt-dev-pakket Profinet DCP: CAP_NET_ADMIN en CAP_NET_RAW vermag-
bande CANopen: Ixxat ECI-bestuurder of Peak PCAN-USB-adapter EtherCat: CAP_NET_ADMIN, CAP_NET_RAW en
CAP_SYS_NICE vermoëns RESTful: CAP_NET_ADMIN vermoë om te kommunikeer met Eth-
ernet selflaailaaiers (ook aanbeveel: CAP_NET_RAW)

Taal, veldbusadapters, kabels
C++ GCC 7 of hoër (Linux)
EtherCAT: Ethernet-kabel VCP / USB-hub: nou eenvormige USB USB-massaberging: USB-kabel RUS: Ethernet-kabel KAN oopmaak: Ixxat USB-na-KAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB-adapter Geen Ixxat-ondersteuning vir Ubuntu op arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 of ekwivalente adapter; USB-kabel op virtuele com-poort (VCP)
Modbus TCP: Ethernet-kabel soos per produkdatablad

2.2 Bedoelde gebruik en gehoor
NanoLib is 'n programbiblioteek en sagtewarekomponent vir die werking van, en kommunikasie met, Nanotec-beheerders in 'n wye reeks industriële toepassings en slegs vir behoorlik geskoolde programmeerders.
As gevolg van intydse onbekwame hardeware (PC) en bedryfstelsel, is NanoLib nie vir gebruik in toepassings wat sinchrone multi-as beweging benodig of oor die algemeen tydsensitief is nie.
In geen geval mag jy NanoLib as 'n veiligheidskomponent in 'n produk of stelsel integreer nie. By aflewering aan eindgebruikers moet jy ooreenstemmende waarskuwingskennisgewings en instruksies vir veilige gebruik en veilige werking by elke produk met 'n Nanotec-vervaardigde komponent byvoeg. Jy moet alle Nanotec-uitgereikte waarskuwingskennisgewings reg aan die eindgebruiker deurgee.
2.3 Omvang van aflewering en waarborg
NanoLib kom as 'n *.zip-lêergids vanaf ons aflaai webwebwerf vir óf EMEA / APAC of AMERIKA. Stoor en pak u aflaai behoorlik uit voor opstelling. Die NanoLib-pakket bevat:

Weergawe: doc 1.4.2 / NanoLib 1.3.0

5

2 Voordat u begin

Koppelvlakopskrifte as bronkode (API)

Kernfunksies as biblioteke in binêre formaat: nano-

Biblioteke wat kommunikasie vergemaklik: nanolibm_ lib.dll

[jouveldbus].dll ens.

Exampdie projek: Bvample.sln (Visual Studio

projek) en example.cpp (hoof file)

Vir die omvang van waarborg, let asseblief op a) ons bepalings en voorwaardes vir óf EMEA / APAC óf AMERIKA en b) alle lisensiebepalings. Let wel: Nanotec is nie aanspreeklik vir foutiewe of onbehoorlike kwaliteit, hantering, installering, bedryf, gebruik en instandhouding van derdeparty-toerusting nie! Vir die nodige veiligheid, volg altyd geldige OEM-instruksies.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

6

Die NanoLib-argitektuur

NanoLib se modulêre sagtewarestruktuur laat jou toe om vrylik aanpasbare motorbeheerder / veldbusfunksies rondom 'n streng voorafgeboude kern te rangskik. NanoLib bevat die volgende modules:

Gebruikerskoppelvlak (API)

NanoLib kern

Interface en helper klasse wat Biblioteke wat

Kommunikasiebiblioteke Veldbusspesifieke biblioteke wat

toegang tot jou beheerder se implementeer die API funksionaliteit doen koppelvlak tussen NanoLib

OD (voorwerpwoordeboek)

interaksie met busbiblioteke.

kern en bus hardeware.

basis op die NanoLib-kernfunksie-

nasionaliteite.

3.1 Gebruikerskoppelvlak

Die gebruikerskoppelvlak bestaan ​​uit kop-koppelvlak files wat jy kan gebruik om toegang tot die kontroleerderparameters te verkry. Die gebruikerskoppelvlakklasse soos beskryf in die Klasse / funksies verwysing laat jou toe om:
Koppel aan beide die hardeware (veldbusadapter) en die beheerdertoestel. Toegang tot die OD van die toestel om die beheerderparameters te lees/skryf.

3.2 NanoLib kern

Die NanoLib-kern kom saam met die invoerbiblioteek nanolib.lib. Dit implementeer die gebruikerskoppelvlakfunksie en is verantwoordelik vir:
Laai en bestuur van die kommunikasiebiblioteke. Die verskaffing van die gebruikerskoppelvlakfunksies in die NanoLibAccessor. Hierdie kommunikasie-intreepunt de-
beboet 'n stel bewerkings wat jy op die NanoLib-kern- en kommunikasiebiblioteke kan uitvoer.

3.3 Kommunikasiebiblioteke

Benewens nanotec.services.nanolib.dll (nuttig vir jou opsionele Plug & Drive Studio), bied NanoLib die volgende kommunikasiebiblioteke:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Alle biblioteke lê 'n hardeware-abstraksielaag tussen kern en beheerder. Die kern laai hulle by opstart vanaf die aangewese projeklêer en gebruik dit om kommunikasie met die kontroleerder te bewerkstellig deur die ooreenstemmende protokol.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

7

Aan die gang

Lees hoe om NanoLib behoorlik vir jou bedryfstelsel op te stel en hoe om hardeware te koppel soos nodig.
4.1 Berei jou stelsel voor
Voordat u die adapterbestuurders installeer, moet u eers u rekenaar langs die bedryfstelsel voorberei. Om die rekenaar saam met jou Windows-bedryfstelsel voor te berei, installeer MS Visual Studio met C++-uitbreidings. Om make en gcc deur Linux Bash te installeer, bel sudo apt install build-essentials. Aktiveer dan CAP_NET_ADMIN, CAP_NET_RAW en CAP_SYS_NICE vermoëns vir die toepassing wat NanoLib gebruik: 1. Bel sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
naam>. 2. Installeer dan eers jou adapterbestuurders.
4.2 Installeer die Ixxat-adapterbestuurder vir Windows
Slegs nadat die bestuurder geïnstalleer is, mag jy Ixxat se USB-na-CAN V2-adapter gebruik. Lees die USB-aandrywers se produkhandleiding om uit te vind of / hoe om die virtuele aansluiting (VCP) te aktiveer. 1. Laai en installeer Ixxat se VCI 4-bestuurder vir Windows vanaf www.ixxat.com. 2. Koppel Ixxat se USB-tot-CAN V2 kompakte adapter aan die rekenaar via USB. 3. Deur Toestelbestuurder: Kontroleer of beide bestuurder en adapter behoorlik geïnstalleer/herken is.
4.3 Installeer die Peak-adapterbestuurder vir Windows
Slegs nadat die bestuurder geïnstalleer is, mag jy Peak se PCAN-USB-adapter gebruik. Lees die USB-aandrywers se produkhandleiding om uit te vind of / hoe om die virtuele aansluiting (VCP) te aktiveer. 1. Laai en installeer die Windows-toestelbestuurder-opstelling (= installasiepakket met toestelbestuurders, gereedskap en
API's) vanaf http://www.peak-system.com. 2. Koppel Peak se PCAN-USB-adapter aan die rekenaar via USB. 3. Deur Toestelbestuurder: Kontroleer of beide bestuurder en adapter behoorlik geïnstalleer/herken is.
4.4 Installeer die Ixxat-adapterbestuurder vir Linux
Slegs nadat die bestuurder geïnstalleer is, mag jy Ixxat se USB-na-CAN V2-adapter gebruik. Let wel: Ander ondersteunde adapters benodig u toestemmings deur sudo chmod +777/dev/ttyACM* (* toestelnommer). Lees die USB-aandrywers se produkhandleiding om uit te vind of / hoe om die virtuele aansluiting (VCP) te aktiveer. 1. Installeer die sagteware wat nodig is vir die ECI-bestuurder en demonstrasie-toepassing:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Laai die ECI-vir-Linux-bestuurder af van www.ixxat.com. Pak dit uit deur:
unzip eci_driver_linux_amd64.zip
3. Installeer die bestuurder via:
cd /EciLinux_amd/src/KernelModule sudo maak install-usb
4. Kyk vir suksesvolle drywer-installasie deur die demo-toepassing saam te stel en te begin:
cd /EciLinux_amd/src/EciDemos/ sudo maak cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Weergawe: doc 1.4.2 / NanoLib 1.3.0

8

4 Aan die gang
4.5 Installeer die Peak-adapterbestuurder vir Linux
Slegs nadat die bestuurder geïnstalleer is, mag jy Peak se PCAN-USB-adapter gebruik. Let wel: Ander ondersteunde adapters benodig u toestemmings deur sudo chmod +777/dev/ttyACM* (* toestelnommer). Lees die USB-aandrywers se produkhandleiding om uit te vind of / hoe om die virtuele aansluiting (VCP) te aktiveer. 1. Kyk of jou Linux kernopskrifte het: ls /usr/src/linux-headers-`uname -r`. Indien nie, installeer
hulle: sudo apt-get install linux-headers-`uname -r` 2. Installeer nou eers die libpopt-dev-pakket: sudo apt-get install libpopt-dev 3. Laai die benodigde bestuurderpakket (peak-linux-driver-xxx.tar.gz) af vanaf www.peak-system.com. 4. Om dit uit te pak, gebruik: tar xzf peak-linux-driver-xxx.tar.gz 5. In die uitgepakte vouer: Stel en installeer die drywers, PCAN-basisbiblioteek, ens.: maak alles
sudo maak installeer 6. Om die funksie na te gaan, prop die PCAN-USB-adapter in.
a) Gaan die kernmodule na:
lsmod | grep pcan b) ... en die gedeelde biblioteek:
ls -l /usr/lib/libpcan*
Let wel: As USB3-probleme voorkom, gebruik 'n USB2-poort.
4.6 Koppel jou hardeware
Om 'n NanoLib-projek te kan laat loop, koppel 'n versoenbare Nanotec-beheerder aan die rekenaar met jou adapter. 1. Koppel jou adapter aan die beheerder met 'n geskikte kabel. 2. Koppel die adapter aan die rekenaar volgens die adapterdatablad. 3. Skakel die beheerder aan deur 'n geskikte kragbron te gebruik. 4. Indien nodig, verander die Nanotec-beheerder se kommunikasie-instellings soos aangedui in sy produkhandleiding.
4.7 Laai NanoLib
Vir 'n eerste begin met vinnige en maklike basiese beginsels, mag (maar moet nie) ons eks gebruikampdie projek. 1. Afhangende van jou streek: Laai NanoLib van ons af webwebwerf vir óf EMEA / APAC of AMERIKA. 2. Pak die pakket s'n uit files / dopgehou en kies een opsie: Vir vinnige en maklike basiese beginsels: Sien Begin die exampdie projek. Vir gevorderde pasmaak in Windows: Sien Skep jou eie Windows-projek. Vir gevorderde aanpassing in Linux: Sien Skep jou eie Linux-projek.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

9

Begin die exampdie projek

Met NanoLib behoorlik gelaai, het die example projek wys jou deur NanoLib-gebruik met 'n Nanotec-beheerder. Let wel: Vir elke stap, kommentaar in die verskafde bvample kode verduidelik die funksies wat gebruik word. Die eksample projek bestaan ​​uit: die `*_functions_example.*' files, wat die implementerings vir die NanoLib-koppelvlak bevat, funksioneer die `*_callback_example.*' files, wat implementerings vir die verskillende terugbelopings bevat (skandering, data en
logging) die `menu_*.*' file, wat die spyskaartlogika bevat en kode die Example.* file, wat die hoofprogram is, skep die spyskaart en inisialiseer alle gebruikte parameters die Sampler_eksample.* file, wat die example implementering vir sampler gebruik. Jy kan meer examples, met 'n paar bewegingsopdragte vir verskeie werkingsmodusse, in die Knowledge Base by nanotec.com. Almal is bruikbaar in Windows of Linux.
In Windows met Visual Studio 1. Maak die Example.sln file. 2. Maak die example.cpp. 3. Stel die ex saam en voer dit uitampdie kode.
In Linux via Bash 1. Pak die bron uit file, navigeer na die gids met uitgepakte inhoud. Die hoof file vir die eksample is
example.cpp. 2. In die bash, roep:
a. "sudo make install" om die gedeelde voorwerpe te kopieer en ldconfig te bel. b. "maak alles" om die toets uitvoerbaar te bou. 3. Die bin-lêergids bevat 'n uitvoerbare example file. Deur bash: Gaan na die uitvoergids en tik ./example. As geen fout voorkom nie, is jou gedeelde voorwerpe nou behoorlik geïnstalleer, en jou biblioteek is gereed vir gebruik. As die fout lees ./example: fout tydens die laai van gedeelde biblioteke: libnanolib.so: kan nie gedeelde voorwerp oopmaak nie file: Nie so nie file of gids, het die installasie van die gedeelde voorwerpe misluk. In hierdie geval, volg die volgende stappe. 4. Skep 'n nuwe vouer binne /usr/local/lib (admin regte nodig). Tik dus in die bash:
sudo mkdir /usr/local/lib/nanotec
5. Kopieer alle gedeelde voorwerpe vanaf die zip filese lib-lêergids:
installeer ./lib/*.so /usr/local/lib/nanotec/
6. Gaan die inhoud van die teikenlêergids na met:
ls -al /usr/local/lib/nanotec/
Dit moet die gedeelde voorwerp lys files uit die lib-lêergids. 7. Begin ldconfig op hierdie gids:
sudo ldconfig /usr/local/lib/nanotec/
Die eksample is geïmplementeer as 'n CLI-toepassing en bied 'n spyskaart-koppelvlak. Die spyskaartinskrywings is konteksgebaseer en sal geaktiveer of gedeaktiveer word, afhangende van die kontekstoestand. Hulle bied jou die moontlikheid om verskeie biblioteekfunksies te kies en uit te voer volgens die tipiese werkvloei vir die hantering van 'n kontroleerder: 1. Gaan die rekenaar na vir gekoppelde hardeware (adapters) en lys hulle. 2. Vestig verbinding met 'n adapter. 3. Skandeer die bus vir gekoppelde kontroleerder toestelle. 4. Koppel aan 'n toestel.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

10

5 Begin die exampdie projek
5. Toets een of meer van die biblioteekfunksies: Lees/skryf van/na die kontroleerder se objekwoordeboek, werk die firmware op, laai 'n NanoJ-program op en laat loop, kry die motor aan die gang en stel dit in, konfigureer en gebruik die logging/sampler.
6. Maak die verbinding toe, eers na die toestel, dan na die adapter.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

11

Skep jou eie Windows-projek

Skep, stel en hardloop jou eie Windows-projek om NanoLib te gebruik.
6.1 Voer NanoLib in
Voer die NanoLib-kopskrif in files en biblioteke via MS Visual Studio.
1. Maak Visual Studio oop. 2. Via Skep nuwe projek > Konsole-toepassing C++ > Volgende: Kies 'n projektipe. 3. Noem jou projek (hier: NanolibTest) om 'n projeklêer in die Solution Explorer te skep. 4. Kies Voltooi. 5. Maak die vensters oop file verkenner en navigeer na die nuwe geskepde projeklêergids. 6. Skep twee nuwe dopgehou, inc en lib. 7. Maak die NanoLib-pakketvouer oop. 8. Van daar af: Kopieer die kopskrif files van die include-lêergids na jou projeklêer inc en alle .lib en .dll
files na jou nuwe projekgids lib. 9. Gaan jou projeklêer na vir behoorlike struktuur, bvample:

Nanotiese-NanoLib-C++-Programmering-FIG- (2)ect gids vir behoorlike struktuur:
. 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.estv.filterus NanolibTest.vcxproj. NanolibTest.sln
6.2 Stel jou projek op
Gebruik die Solution Explorer in MS Visual Studio om NanoLib-projekte op te stel. Let wel: Vir korrekte NanoLib-werking, kies die vrystelling (nie ontfout!) opset in Visual C++ projek instellings; bou en koppel dan die projek met VC-looptye van C++ herverdeelbare [2022].
1. In die Solution Explorer: Gaan na jou projekgids (hier: NanolibTest). 2. Kliek saam op die gids om die kontekskieslys oop te maak. 3. Kies Eienskappe. 4. Aktiveer Alle konfigurasies en Alle platforms. 5. Kies C/C++ en gaan na Addisionele Insluit Gidse. 6. Voeg in: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Kies Linker en gaan na Addisionele Biblioteekgidse. 8. Voeg in: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Brei Linker uit en kies Invoer. 10.Gaan na Addisionele Afhanklikhede en voeg in: nanolib.lib;%(Additional Dependencies) 11.Bevestig via OK.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

12

6 Skep jou eie Windows-projek
12.Gaan na Configuration > C++ > Language > Language Standard > ISO C++17 Standard en stel die taalstandaard op C++17 (/std:c++17).
6.3 Bou jou projek
Bou jou NanoLib-projek in MS Visual Studio. 1. Maak die hoof *.cpp oop file (hier: nanolib_example.cpp) en wysig die kode, indien nodig. 2. Kies Bou > Konfigurasiebestuurder. 3. Verander aktiewe oplossingsplatforms na x64. 4. Bevestig via Close. 5. Kies Bou > Bou oplossing. 6. Geen fout nie? Kyk of jou samestelling uitvoer behoorlik verslae:
1>—— Skoon begin: Projek: NanolibTest, Configuration: Debug x64 —–=========== Skoon: 1 geslaagd, 0 misluk, 0 oorgeslaan ===========

Weergawe: doc 1.4.2 / NanoLib 1.3.0

13

7 Skep jou eie Linux-projek
7 Skep jou eie Linux-projek
Skep, stel en hardloop jou eie Linux-projek om NanoLib te gebruik. 1. In die ongeritsde NanoLib-installasiestel: Maak oop /nanotec_nanolib. 2. Vind alle gedeelde voorwerpe in die tar.gz file. 3. Kies een opsie: Installeer elke lib óf met 'n Makefile of met die hand.
7.1 Installeer die gedeelde voorwerpe met Makefile
Gebruik Maakfile met Linux Bash om alle standaard *.so outomaties te installeer files. 1. Via Bash: Gaan na die gids wat die fabrikaat bevatfile. 2. Kopieer die gedeelde voorwerpe via:
sudo maak installeer 3. Bevestig via:
ldconfig
7.2 Installeer die gedeelde voorwerpe met die hand
Gebruik 'n Bash om alle *.so te installeer files van NanoLib handmatig. 1. Via Bash: Skep 'n nuwe gids binne /usr/local/lib. 2. Admin regte benodig! Tipe:
sudo mkdir /usr/local/lib/nanotec 3. Verander na die uitgepakte installasiepakketlêer. 4. Kopieer alle gedeelde voorwerpe vanaf die lib-lêergids via:
installeer ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Gaan die inhoud van die teikenlêergids na via:
ls -al /usr/local/lib/nanotec/ 6. Kyk of alle gedeelde voorwerpe van die lib-lêergids gelys is. 7. Begin ldconfig op hierdie gids via:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Skep jou projek
Met jou gedeelde voorwerpe geïnstalleer: Skep 'n nuwe projek vir jou Linux NanoLib. 1. Via Bash: Skep 'n nuwe projeklêer (hier: NanoLibTest) via:
mkdir NanoLibTest cd NanoLibTest
2. Kopieer die kopskrif files na 'n insluit-lêergids (hier: inc) via: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Skep 'n hoof file (NanoLibTest.cpp) via: #include "accessor_factory.hpp" #include

Weergawe: doc 1.4.2 / NanoLib 1.3.0

14

7 Skep jou eie Linux-projek
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds result = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << "Sukses" << std::endl; }
vee bykomstigheid uit; terugkeer 0; }
4. Gaan jou projeklêer na vir behoorlike struktuur:

Nanotiese-NanoLib-C++-Programmering-FIG- (3)
. NanoLib-toets
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Stel en toets jou projek
Maak jou Linux NanoLib gereed vir gebruik via Bash.
1. Via Bash: Stel die hoof saam file via:
g++ -Muur -Wextra -pedanties -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Koppel die uitvoerbare aanmekaar via:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Begin die toetsprogram via:
./toets
4. Kyk of jou Bash behoorlik rapporteer:
sukses

Weergawe: doc 1.4.2 / NanoLib 1.3.0

15

8 Klasse / funksies verwysing

8 Klasse / funksies verwysing

Vind hier 'n lys van NanoLib se gebruikerskoppelvlakklasse en hul lidfunksies. Die tipiese beskrywing van 'n funksie sluit 'n kort inleiding, die funksiedefinisie en 'n parameter / terugkeerlys in:

ExampleFunction () Vertel jou kortliks wat die funksie doen.
virtuele leemte nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Parameters param_a param_b
Wys ResultVoid

Bykomende kommentaar indien nodig. Bykomende kommentaar indien nodig.

8.1 NanoLib Toeganger

Koppelvlakklas gebruik as toegangspunt tot die NanoLib. 'n Tipiese werkvloei lyk soos volg:
1. Begin deur te skandeer vir hardeware met NanoLibAccessor.listAvailableBusHardware (). 2. Stel die kommunikasie-instellings met BusHardwareOptions (). 3. Maak die hardewareverbinding oop met NanoLibAccessor.openBusHardwareWithProtocol (). 4. Skandeer die bus vir gekoppelde toestelle met NanoLibAccessor.scanDevices (). 5. Voeg 'n toestel by met NanoLibAccessor.addDevice (). 6. Koppel aan die toestel met NanoLibAccessor.connectDevice (). 7. Nadat u die bewerking voltooi het, ontkoppel die toestel met NanoLibAccessor.disconnectDevice (). 8. Verwyder die toestel met NanoLibAccessor.removeDevice (). 9. Maak die hardewareverbinding toe met NanoLibAccessor.closeBusHardware ().
NanoLibAccessor het die volgende publieke lidfunksies:

listAvailableBusHardware () Gebruik hierdie funksie om beskikbare veldbushardeware te lys.
virtuele ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Wys ResultBusHwIds

Lewer 'n veldbus-ID-skikking.

openBusHardwareWithProtocol () Gebruik hierdie funksie om bushardeware te koppel.
virtuele ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parameters busHwId busHwOpt
Wys ResultVoid

Spesifiseer die veldbus om oop te maak. Spesifiseer veldbus opening opsies. Bevestig dat 'n nietige funksie geloop het.

isBusHardwareOpen () Gebruik hierdie funksie om te kyk of jou veldbus hardeware verbinding oop is.
virtuele ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Weergawe: doc 1.4.2 / NanoLib 1.3.0

16

8 Klasse / funksies verwysing

Parameters BusHardwareId Wys waar
vals

Spesifiseer elke veldbus om oop te maak. Hardeware is oop. Hardeware is gesluit.

getProtocolSpecificAccessor () Gebruik hierdie funksie om die protokol-spesifieke accessor-objek te kry.
virtuele ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parameters busHwId Wys ResultVoid

Spesifiseer die veldbus om die bykomstigheid voor te kry. Bevestig dat 'n nietige funksie geloop het.

getProfinetDCP () Gebruik hierdie funksie om 'n verwysing na Profinet DCP-koppelvlak terug te gee.
virtuele ProfinetDCP & getProfinetDCP ()

Gee ProfinetDCP terug

krySamplerInterface () Gebruik hierdie funksie om 'n verwysing na die s te kryampler koppelvlak.
virtuele SamplerInterface & getSamplerInterface ()

Gee Samplerkoppelvlak

Verwys na die aampler koppelvlak klas.

setBusState () Gebruik hierdie funksie om die bus-protokol-spesifieke toestand te stel.
virtuele ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parameters busHwId state
Wys ResultVoid

Spesifiseer die veldbus om oop te maak. Ken 'n busspesifieke toestand as 'n stringwaarde toe. Bevestig dat 'n nietige funksie geloop het.

scanDevices () Gebruik hierdie funksie om vir toestelle in die netwerk te soek.
virtuele ResultDeviceIds nlc::NanoLibAccessor::scanDevices (konst BusHardwareId & busHwId, NlcScanBusCallback* terugbel)

Parameters busHwId terugbel
Wys ResultDeviceIds IOError

Spesifiseer die veldbus om te skandeer. NlcScanBusCallback vordering naspoorder. Lewer 'n toestel-ID-skikking. Lig dat 'n toestel nie gevind word nie.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

17

8 Klasse / funksies verwysing

addDevice ()
Gebruik hierdie funksie om 'n bustoestel wat deur deviceId beskryf word, by NanoLib se interne toestellys te voeg, en deviceHandle daarvoor terug te gee.
virtuele ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parameters deviceId Wys ResultDeviceHandle

Spesifiseer die toestel om by die lys te voeg. Lewer 'n toestelhandvatsel.

connectDevice () Gebruik hierdie funksie om 'n toestel met deviceHandle te koppel.
virtuele ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultVoid
IOE Fout

Spesifiseer aan watter bustoestel NanoLib koppel. Bevestig dat 'n nietige funksie geloop het. Lig dat 'n toestel nie gevind word nie.

getDeviceName () Gebruik hierdie funksie om 'n toestel se naam deur deviceHandle te kry.
virtuele ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultString

Spesifiseer vir watter bustoestel NanoLib die naam kry. Lewer toestelname as 'n string.

getDeviceProductCode () Gebruik hierdie funksie om 'n toestel se produkkode deur deviceHandle te kry.
virtuele ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultInt

Spesifiseer vir watter bustoestel NanoLib die produkkode kry. Lewer produkkodes as 'n heelgetal.

getDeviceVendorId () Gebruik hierdie funksie om die toestelverkoper-ID deur deviceHandle te kry.
virtuele ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultInt
Hulpbron Onbeskikbaar

Spesifiseer vir watter bustoestel NanoLib die verkoper-ID kry. Lewer verskaffer-ID's as 'n heelgetal. Stel in kennis dat geen data gevind word nie.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

18

8 Klasse / funksies verwysing

getDeviceId () Gebruik hierdie funksie om 'n spesifieke toestel se ID van die NanoLib interne lys te kry.
virtuele ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultDeviceId

Spesifiseer vir watter bustoestel NanoLib die toestel-ID kry. Lewer 'n toestel-ID.

getDeviceIds () Gebruik hierdie funksie om alle toestelle se ID van die NanoLib interne lys te kry.
virtuele ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Wys ResultDeviceIds

Lewer 'n toestel-ID-lys.

getDeviceUid () Gebruik hierdie funksie om 'n toestel se unieke ID (96 bis / 12 grepe) deur deviceHandle te kry.
virtuele ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultArrayByte
Hulpbron Onbeskikbaar

Spesifiseer vir watter bustoestel NanoLib die unieke ID kry. Lewer unieke ID's as 'n byte-skikking. Stel in kennis dat geen data gevind word nie.

getDeviceSerialNumber () Gebruik hierdie funksie om 'n toestel se reeksnommer deur deviceHandle te kry.
virtuele ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultString
Hulpbron Onbeskikbaar

Spesifiseer vir watter bustoestel NanoLib die reeksnommer kry. Lewer reeksnommers as 'n string. Stel in kennis dat geen data gevind word nie.

getDeviceHardwareGroup () Gebruik hierdie funksie om 'n bustoestel se hardewaregroep volgens deviceHandle te kry.
virtuele ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultInt

Spesifiseer vir watter bustoestel NanoLib die hardewaregroep kry.
Lewer hardewaregroepe as 'n heelgetal.

getDeviceHardwareVersion () Gebruik hierdie funksie om 'n bustoestel se hardewareweergawe deur deviceHandle te kry.
virtuele ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Weergawe: doc 1.4.2 / NanoLib 1.3.0

19

8 Klasse / funksies verwysing

Parameters toestel Hanteer

Returns

ResultString ResourceOnbeskikbaar

Spesifiseer vir watter bustoestel NanoLib die hardewareweergawe kry. Lewer toestelname as 'n string. Stel in kennis dat geen data gevind word nie.

getDeviceFirmwareBuildId () Gebruik hierdie funksie om 'n bustoestel se firmwarebou-ID deur deviceHandle te kry.
virtuele ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultString

Spesifiseer vir watter bustoestel NanoLib die firmwarebou-ID kry.
Lewer toestelname as 'n string.

getDeviceBootloaderVersion () Gebruik hierdie funksie om 'n bustoestel se selflaai-weergawe deur deviceHandle te kry.
virtuele ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parameters toestel Hanteer

Returns

ResultInt ResourceOnbeskikbaar

Spesifiseer vir watter bustoestel NanoLib die selflaaiprogramweergawe kry. Lewer selflaaiprogramweergawes as 'n heelgetal. Stel in kennis dat geen data gevind word nie.

getDeviceBootloaderBuildId () Gebruik hierdie funksie om 'n bustoestel se selflaaiprogrambou-ID deur deviceHandle te kry.
virtuele ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultString

Spesifiseer vir watter bustoestel NanoLib die selflaaiprogrambou-ID kry.
Lewer toestelname as 'n string.

rebootDevice () Gebruik hierdie funksie om die toestel met deviceHandle te herlaai.
virtuele ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parameters deviceHandle Wys ResultVoid

Spesifiseer die veldbus om te herlaai. Bevestig dat 'n nietige funksie geloop het.

getDeviceState () Gebruik hierdie funksie om die toestel-protokol-spesifieke toestand te kry.
virtuele ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parameters toestel Hanteer

Spesifiseer vir watter bustoestel NanoLib die staat kry.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

20

8 Klasse / funksies verwysing

Wys ResultString

Lewer toestelname as 'n string.

setDeviceState () Gebruik hierdie funksie om die toestel-protokol-spesifieke toestand te stel.
virtuele ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parameters toestel Hanteer toestand
Wys ResultVoid

Spesifiseer vir watter bustoestel NanoLib die toestand stel. Ken 'n busspesifieke toestand as 'n stringwaarde toe. Bevestig dat 'n nietige funksie geloop het.

getConnectionState ()
Gebruik hierdie funksie om 'n spesifieke toestel se laaste bekende verbindingstoestand volgens deviceHandle te kry (= Disconnected, Connected, ConnectedBootloader)
virtuele ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultConnectionState

Spesifiseer vir watter bustoestel NanoLib die verbindingstatus kry.
Lewer 'n verbindingstoestand (= Disconnected, Connected, ConnectedBootloader).

checkConnectionState ()
Slegs as die laaste bekende toestand nie Ontkoppel was nie: Gebruik hierdie funksie om 'n spesifieke toestel se verbindingstatus na te gaan en moontlik op te dateer deur deviceHandle en deur verskeie modusspesifieke bewerkings te toets.
virtuele ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultConnectionState

Spesifiseer vir watter bustoestel NanoLib die verbindingstatus nagaan.
Lewer 'n verbindingstoestand (= nie Ontkoppel nie).

assignObjectDictionary () Gebruik hierdie handleidingfunksie om 'n objekwoordeboek (OD) op jou eie aan deviceHandle toe te wys.
virtuele ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parameters deviceHandle objectDictionary
Wys ResultObjectDictionary

Spesifiseer aan watter bustoestel NanoLib die OD toeken. Toon die eienskappe van 'n voorwerpwoordeboek.

autoAssignObjectDictionary ()
Gebruik hierdie outomatisme om NanoLib toe te laat om 'n objekwoordeboek (OD) aan deviceHandle toe te ken. Wanneer 'n geskikte OD gevind en gelaai word, ken NanoLib dit outomaties aan die toestel toe. Let wel: As 'n versoenbare OD reeds in die objekbiblioteek gelaai is, sal NanoLib dit outomaties gebruik sonder om die voorgelegde gids te skandeer.
virtuele ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Weergawe: doc 1.4.2 / NanoLib 1.3.0

21

8 Klasse / funksies verwysing

Parameters toestel Hanteer

Returns

woordeboekeLocationPath ResultObjectDictionary

Spesifiseer vir watter bustoestel NanoLib outomaties vir geskikte OD's sal skandeer. Spesifiseer die pad na die OD-gids. Toon die eienskappe van 'n voorwerpwoordeboek.

getAssignedObjectDictionary ()
Gebruik hierdie funksie om die voorwerpwoordeboek deur deviceHandle aan 'n toestel toegewys te kry.
virtuele ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const toestel
Hanteer)

Parameters deviceHandle Wys ResultObjectDictionary

Spesifiseer vir watter bustoestel NanoLib die toegewysde OD kry. Toon die eienskappe van 'n voorwerpwoordeboek.

getObjectDictionaryLibrary () Hierdie funksie gee 'n OdLibrary-verwysing terug.
virtuele OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Wys OdLibrary&

Maak die hele OD-biblioteek en sy voorwerpwoordeboeke oop.

setLoggingLevel () Gebruik hierdie funksie om die nodige logbesonderhede (en log file grootte). Verstekvlak is Info.
virtuele leemte nlc::NanoLibAccessor::setLoggingLevel (LogLevel-vlak)

Parameters vlak

Die volgende logbesonderhede is moontlik:

0 = Spoor 1 = Ontfout 2 = Info 3 = Waarsku 4 = Fout 5 = Kritiek 6 = Af

Laagste vlak (grootste log file); teken enige uitvoerbare detail aan, plus sagteware begin / stop. Logs ontfout inligting (= tussentydse resultate, inhoud gestuur of ontvang, ens.) Verstek vlak; log inligtingsboodskappe aan. Log probleme wat wel voorgekom het, maar sal nie die huidige algoritme stop nie. Logs net ernstige probleme wat die algoritme gestop het. Hoogste vlak (kleinste log file); skakel afmeld af; geen verdere log nie. Geen aanteken nie.

stelLoggingCallback ()
Gebruik hierdie funksie om 'n logterugbelwyser en logmodule (= biblioteek) vir daardie terugbel te stel (nie vir die logter self nie).
virtuele leemte nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* terugbel, const nlc::LogModule & logModule)

Parameters *terugbellogModule

Stel 'n terugbelwyser. Stel die terugbel (nie logger nie!) na jou biblioteek in.

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

Aktiveer slegs 'n terugbel vir NanoLib se kern. Aktiveer 'n CANopen-alleen terugbel. Aktiveer 'n Modbus-net terugbel. Aktiveer 'n EtherCAT-alleen-terugbel.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

22

8 Klasse / funksies verwysing

4 = NanolibRest 5 = NanolibUSB

Aktiveer 'n RUS-net terugbel. Aktiveer 'n slegs USB-terugbel.

unsetLoggingCallback () Gebruik hierdie funksie om 'n logterugbelwyser te kanselleer.
virtuele leemte nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Gebruik hierdie funksie om 'n numeriese waarde uit die objekwoordeboek te lees.
virtuele ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameters deviceHandle odIndex
Gee ResultInt

Spesifiseer van watter bustoestel NanoLib lees. Spesifiseer die (sub-) indeks om van te lees. Lewer 'n ongeïnterpreteerde numeriese waarde (kan geteken, ongeteken wees, 16.16-bis-waardes regmaak).

readNumberArray () Gebruik hierdie funksie om numeriese skikkings uit die objekwoordeboek te lees.
virtuele ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Parameters deviceHandle indeks
Wys ResultArrayInt

Spesifiseer van watter bustoestel NanoLib lees. Skikking voorwerp indeks. Lewer 'n heelgetal skikking.

readBytes () Gebruik hierdie funksie om arbitrêre grepe (domeinobjekdata) uit die objekwoordeboek te lees.
virtuele ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameters deviceHandle odIndex
Wys ResultArrayByte

Spesifiseer van watter bustoestel NanoLib lees. Spesifiseer die (sub-) indeks om van te lees. Lewer 'n grepe-skikking.

readString () Gebruik hierdie funksie om stringe uit die objekgids te lees.
virtuele ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameters deviceHandle odIndex
Wys ResultString

Spesifiseer van watter bustoestel NanoLib lees. Spesifiseer die (sub-) indeks om van te lees. Lewer toestelname as 'n string.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

23

8 Klasse / funksies verwysing

writeNumber () Gebruik hierdie funksie om numeriese waardes na die objekgids te skryf.
virtuele ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t waarde, const OdIndex odIndex, unsigned int bitLength)

Parameters deviceHandle waarde odIndex bitLength
Wys ResultVoid

Spesifiseer na watter bustoestel NanoLib skryf. Die ongeïnterpreteerde waarde (kan onderteken, ongeteken word, herstel 16.16). Spesifiseer die (sub-) indeks om van te lees. Lengte in bietjie. Bevestig dat 'n nietige funksie geloop het.

writeBytes () Gebruik hierdie funksie om arbitrêre grepe (domeinobjekdata) na die objekgids te skryf.
virtuele ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & data, konst OdIndex odIndex)

Parameters toestel Hanteer data odIndex
Wys ResultVoid

Spesifiseer na watter bustoestel NanoLib skryf. Byte vektor / skikking. Spesifiseer die (sub-) indeks om van te lees. Bevestig dat 'n nietige funksie geloop het.

oplaai Firmware ()
Gebruik hierdie funksie om jou kontroleerderfirmware op te dateer.
virtuele ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* terugbel)

Parameters deviceHandle fwData NlcDataTransferCallback
Wys ResultVoid

Spesifiseer watter bustoestel NanoLib opdateer. Skikking wat fermwaredata bevat. 'n Data-vordering-naspoorder. Bevestig dat 'n nietige funksie geloop het.

oplaai FirmwareFromFile ()
Gebruik hierdie funksie om jou kontroleerderfirmware op te dateer deur sy op te laai file.
virtuele ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePad, NlcDataTransferCallback* terugbel)

Parameters deviceHandle absoluutFilePad NlcDataTransferCallback
Wys ResultVoid

Spesifiseer watter bustoestel NanoLib opdateer. Pad na file wat fermwaredata bevat (std::string). 'n Data-vordering-naspoorder. Bevestig dat 'n nietige funksie geloop het.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

24

8 Klasse / funksies verwysing

uploadBootloader ()
Gebruik hierdie funksie om jou kontroleerder selflaaiprogram op te dateer.
virtuele ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* terugbel)

Parameters deviceHandle btData NlcDataTransferCallback
Wys ResultVoid

Spesifiseer watter bustoestel NanoLib opdateer. Skikking wat selflaaiprogramdata bevat. 'n Data-vordering-naspoorder. Bevestig dat 'n nietige funksie geloop het.

uploadBootloaderFromFile ()
Gebruik hierdie funksie om jou kontroleerder selflaaiprogram op te dateer deur sy op te laai file.
virtuele ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & selflaailaaierAbsoluteFilePad, NlcDataTransferCallback* terugbel)

Parameters toestel Hanteer selflaailaaierAbsoluteFilePad NlcDataTransferCallback
Wys ResultVoid

Spesifiseer watter bustoestel NanoLib opdateer. Pad na file wat selflaaiprogramdata bevat (std::string). 'n Data-vordering-naspoorder. Bevestig dat 'n nietige funksie geloop het.

uploadBootloader Firmware ()
Gebruik hierdie funksie om jou beheerder selflaaiprogram en firmware op te dateer.
virtuele ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, konst std::vektor & fwData, NlcDataTransferCallback* terugbel)

Parameters deviceHandle btData fwData NlcDataTransferCallback
Wys ResultVoid

Spesifiseer watter bustoestel NanoLib opdateer. Skikking wat selflaaiprogramdata bevat. Skikking wat fermwaredata bevat. 'n Data-vordering-naspoorder. Bevestig dat 'n nietige funksie geloop het.

uploadBootloaderFirmwareFromFile ()
Gebruik hierdie funksie om jou kontroleerder selflaaiprogram en firmware op te dateer deur die op te laai files.
virtuele ResultVoid nlc::NanoLib Accessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & selflaailaaierAbsoluteFilePad, konst std::string & absoluutFilePad, NlcDataTransferCallback* terugbel)

Parameters toestel Hanteer selflaailaaierAbsoluteFilePad absoluutFilePad NlcDataTransferCallback
Wys ResultVoid

Spesifiseer watter bustoestel NanoLib opdateer. Pad na file wat selflaaiprogramdata bevat (std::string). Pad na file wat fermwaredata bevat (uint8_t). 'n Data-vordering-naspoorder. Bevestig dat 'n nietige funksie geloop het.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

25

8 Klasse / funksies verwysing

oplaaiNanoJ ()
Gebruik hierdie publieke funksie om die NanoJ-program na jou beheerder op te laai.
virtuele ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* terugbel)

Parameters deviceHandle vmmData NlcDataTransferCallback
Wys ResultVoid

Spesifiseer na watter bustoestel NanoLib oplaai. Skikking wat NanoJ-data bevat. 'n Data-vordering-naspoorder. Bevestig dat 'n nietige funksie geloop het.

oplaaiNanoJFromFile ()
Gebruik hierdie publieke funksie om die NanoJ-program na jou beheerder op te laai deur die op te laai file.
virtuele ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePad, NlcDataTransferCallback* terugbel)

Parameters deviceHandle absoluutFilePad NlcDataTransferCallback
Wys ResultVoid

Spesifiseer na watter bustoestel NanoLib oplaai. Pad na file wat NanoJ-data (std::string) bevat. 'n Data-vordering-naspoorder. Bevestig dat 'n nietige funksie geloop het.

disconnect Device () Gebruik hierdie funksie om jou toestel met deviceHandle te ontkoppel.
virtuele ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parameters deviceHandle Wys ResultVoid

Spesifiseer van watter bustoestel NanoLib ontkoppel word. Bevestig dat 'n nietige funksie geloop het.

verwyder Toestel () Gebruik hierdie funksie om jou toestel van NanoLib se interne toestellys te verwyder.
virtuele ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Parameters deviceHandle Wys ResultVoid

Spesifiseer watter bustoestel NanoLib delys. Bevestig dat 'n nietige funksie geloop het.

closeBusHardware () Gebruik hierdie funksie om van jou veldbushardeware te ontkoppel.
virtuele ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parameters busHwId Wys ResultVoid

Spesifiseer die veldbus om van te ontkoppel. Bevestig dat 'n nietige funksie geloop het.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

26

8 Klasse / funksies verwysing

8.2 BusHardwareId
Gebruik hierdie klas om 'n bushardeware een-tot-een te identifiseer of om verskillende bushardeware van mekaar te onderskei. Hierdie klas (sonder opstellerfunksies om onveranderlik te wees vanaf skepping) bevat ook inligting oor:
Hardeware (= adapter naam, netwerk adapter ens.) Protokol om te gebruik (= Modbus TCP, CANopen ens.) Bus hardeware spesifiseerder (= seriepoort naam, MAC vriendelike naam
adres ens.)

BusHardwareId () [1/3] Konstrukteur wat 'n nuwe bushardeware-ID-objek skep.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parameters busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Hardeware tipe (= ZK-USB-CAN-1 ens.). Buskommunikasieprotokol (= CANopen ens.). Die spesifiseerder van 'n hardeware (= COM3 ens.). Die ekstra spesifiseerder van die hardeware (sê, USB-ligginginligting). 'n Vriendelike naam (= AdapterName (Port) ens. ).

BusHardwareId () [2/3] Konstrukteur wat 'n nuwe bushardeware-ID-objek skep, met die opsie vir 'n ekstra hardeware-spesifikasie.
nlc::BusHardwareId::BusHardwareId (std::string-konst & busHardware_, std::string-konst & protokol_, std::string-konst & hardwareSpecifier_, std::string-konst & extraHardwareSpecifier_, std::string-konst & naam_)

Parameters busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Hardeware tipe (= ZK-USB-CAN-1 ens.). Buskommunikasieprotokol (= CANopen ens.). Die spesifiseerder van 'n hardeware (= COM3 ens.). Die ekstra spesifiseerder van die hardeware (sê, USB-ligginginligting). 'n Vriendelike naam (= AdapterName (Port) ens. ).

BusHardwareId () [3/3] Konstrukteur wat 'n bestaande busHardwareId kopieer.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parameters busHardwareId

Noem die bus-hardeware-ID om van te kopieer.

gelyk aan () Vergelyk 'n nuwe bus hardeware ID met bestaandes.
bool nlc::BusHardwareId::gelyk aan (BusHardwareId const en ander) const

Parameters ander Gee waar

Nog 'n voorwerp van dieselfde klas. As albei gelyk is in alle waardes.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

27

8 Klasse / funksies verwysing

vals

As die waardes verskil.

getBusHardware () Lees die bus hardeware string uit.
std::string nlc::BusHardwareId::getBusHardware () const

Wys string terug

getHardwareSpecifier () Lees die bushardeware se spesifiseerderstring (= netwerknaam ens.) uit.
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Wys string terug

getExtraHardwareSpecifier () Lees die bus ekstra hardeware se spesifiseerderstring (= MAC-adres ens.) uit.
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Wys string terug

getName () Lees die bushardeware se vriendelike naam uit.
std::string nlc::BusHardwareId::getName () konst

Wys string terug

getProtocol () Lees die busprotokolstring uit.
std::string nlc::BusHardwareId::getProtocol () konst

Wys string terug

toString () Wys die bus hardeware ID as 'n string.
std::string nlc::BusHardwareId::toString () konst

Wys string terug
8.3 BusHardware-opsies
Vind in hierdie klas, in 'n sleutel-waarde lys van stringe, alle opsies wat nodig is om 'n bus hardeware oop te maak.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

28

8 Klasse / funksies verwysing

BusHardwareOptions () [1/2] Konstrueer 'n nuwe bus hardeware opsie voorwerp.
nlc::BusHardwareOptions::BusHardwareOptions () Gebruik die funksie addOption () om sleutel-waarde-pare by te voeg.

BusHardwareOptions () [2/2] Konstrueer 'n nuwe bus hardeware opsies voorwerp met die sleutel-waarde kaart reeds in plek.
nlc::BusHardwareOptions::BusHardwareOptions (std::kaart konst & opsies)

Parameters opsies

'n Kaart met opsies vir die bushardeware om te werk.

addOption () Skep bykomende sleutels en waardes.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Sleutelwaarde van parameters

Example: BAUD_RATE_OPTIONS_NAME, sien bus_hw_options_ verstekke
Example: BAUD_RATE_1000K, sien bus_hw_options_defaults

gelyk aan () Vergelyk die BusHardwareOptions met bestaandes.
bool nlc::BusHardwareOptions::gelyk aan (BusHardwareOptions const & ander) const

Parameters ander Gee waar
vals

Nog 'n voorwerp van dieselfde klas. As die ander voorwerp presies dieselfde opsies het. As die ander voorwerp verskillende sleutels of waardes het.

getOptions () Lees alle toegevoegde sleutel-waarde-pare uit.
std::kaart nlc::BusHardwareOptions::getOptions () konst

Wys stringkaart terug

toString () Wys alle sleutels / waardes as 'n string.
std::string nlc::BusHardwareId::toString () konst

Wys string terug
8.4 BusHwOptionsDefault
Hierdie standaardkonfigurasie-opsiesklas het die volgende publieke eienskappe:

Weergawe: doc 1.4.2 / NanoLib 1.3.0

29

8 Klasse / funksies verwysing

konst CanBus konst Serial konst RESTfulBus konst EtherCATBus

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

8.5 CanBaudRate

Struktuur wat CAN-bus-baudrates in die volgende publieke eienskappe bevat:

konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst 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_100 ATE_50K = “50k” BAUD_RATE_20K = “20k” BAUD_RATE_10K = “10k”

8.6 CanBus

Verstek konfigurasie opsies klas met die volgende publieke eienskappe:

const std::string konst CanBaudRate konst Ixxat

BAUD_RATE_OPTIONS_NAME = "can adapter baud rate" baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Vir die NMT-diens bevat hierdie struktuur die CANopen NMT-toestande as stringwaardes in die volgende publieke eienskappe:

konst std::string konst std::string konst std::string konst std::string konst std::string

START = “START” STOP = “STOP” PRE_OPERATIONAL = “PRE_OPERATIONAL” RESET = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

Hierdie struktuur bevat die CANopen NMT-toestande as stringwaardes in die volgende publieke eienskappe:

konst std::string konst std::string konst std::string konst std::string konst std::string

STOPPED = "STOPPED" PRE_OPERATIONAL = "PRE_OPERATIONAL" OPERATIONAL = "BEDRYF" INITIALISERING = "INITIALISERING" UNKNOWN = "ONKNOWN"

8.9 EtherCATBus-struktuur

Hierdie struktuur bevat die EtherCAT kommunikasie konfigurasie opsies in die volgende publieke eienskappe:

Weergawe: doc 1.4.2 / NanoLib 1.3.0

30

8 Klasse / funksies verwysing

const std::string NETWORK_FIRMWARE_STATE_OP- Netwerktoestand word as fermwaremodus behandel. Aanvaarbaar

TION_NAME = "Netwerkfirmwarestatus"

waardes (verstek = 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- Time-out in millisekondes om eksklusiewe slot aan te verkry

TION_NAME = "Gedeelde slot-uitteltyd"

die netwerk (verstek = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Uitteltyd in millisekondes om gedeelde slot aan te verkry

NAME = "Gedeelde slot-uitteltyd"

die netwerk (verstek = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = "250"

const std::string READ_TIMEOUT_OPTION_NAME = Time-out in millisekondes vir 'n leesbewerking (verstek

"Lees Time-out"

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = "700"

const std::string WRITE_TIMEOUT_OPTION_NAME = Time-out in millisekondes vir 'n skryfbewerking (verstek

"Skryftydperk"

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = "200"

const std::string READ_WRITE_ATTEMPTS_OPTION_ Maksimum lees- of skryfpogings (nie-nul waardes

NAME = "Lees/Skryfpogings"

enigste; verstek = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = "5"

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "Verander netwerkstaatpogings"

Maksimum aantal pogings om die netwerktoestand te verander (slegs nie-nul waardes; verstek = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"

const std::string PDO_IO_ENABLED_OPTION_NAME Aktiveer of deaktiveer PDO-verwerking vir digitale in- /

= "PDO IO geaktiveer"

uitsette (slegs “Waar” of “Onwaar”; verstek = “Waar”).

const std::string DEFAULT_PDO_IO_ENABLED = "Waar"

8.10 EtherCATState-struktuur

Hierdie struktuur bevat die EtherCAT slaaf / netwerk state as string waardes in die volgende publieke eienskappe. Let wel: verstektoestand by aanskakeling is PRE_OPERATIONAL; NanoLib kan geen betroubare "BEDRYF" toestand in 'n nie-intydse bedryfstelsel verskaf:

konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string

GEEN = "NONE" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "VEILIGE_BEDRYF" OPERASIONELE = "BEDRYF"

Weergawe: doc 1.4.2 / NanoLib 1.3.0

31

8 Klasse / funksies verwysing

8.11 Ixxat

Hierdie struktuur bevat alle inligting vir die Ixxat usb-to-can in die volgende publieke eienskappe:

konst std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "ixxat adapter busnommer"

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Hierdie struktuur bevat die busnommer vir die Ixxat usb-to-can in die volgende publieke eienskappe:

konst std::string konst std::string konst std::string konst std::string

BUS_NUMBER_0_DEFAULT = "0" BUS_NUMBER_1 = "1" BUS_NUMBER_2 = "2" BUS_NUMBER_3 = "3"

8.13 Piek

Hierdie struktuur bevat alle inligting vir die Peak usb-to-can in die volgende publieke eienskappe:

konst std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "piek adapter busnommer"

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Hierdie struktuur hou die busnommer vir die Peak usb-to-can in die volgende publieke eienskappe:

konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std:

BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string = PCAN_USBBUS_4_string = stdUS_USBBUS_5) (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::to_string_9)BUS_US stdBBUS: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) BUS_NUMBER_13_string_USBBUSNUMBER::stdd std::to_string (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15)

8.15 Toestelhandvatsel
Hierdie klas verteenwoordig 'n handvatsel vir die beheer van 'n toestel op 'n bus en het die volgende publieke lid funksies.

DeviceHandle () DeviceHandle (uint32_t handle)

Weergawe: doc 1.4.2 / NanoLib 1.3.0

32

8 Klasse / funksies verwysing

gelyk aan () Vergelyk homself met 'n gegewe toestelhandvatsel.
bool is gelyk aan (DeviceHandle const other) const (uint32_t handle)

toString () Wys 'n stringvoorstelling van die toestelhandvatsel.
std::string toString () konst

kry () Gee die toestelhandvatsel terug.
uint32_t kry () konst

8.16 Toestel-ID
Gebruik hierdie klas (nie onveranderlik vanaf skepping nie) om toestelle op 'n bus te identifiseer en te onderskei:

Hardeware adapter identifiseerder

Toestelidentifiseerder

Beskrywing

Die betekenis van toestel-ID / beskrywingwaardes hang af van die bus. Byvoorbeeldample, 'n CAN-bus mag die heelgetal-ID gebruik.

DeviceId () [1/3] Konstrueer 'n nuwe toestel ID-objek.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

Parameters busHardwareId_ deviceId_ description_

Identifiseerder van die bus. 'n Indeks; onderhewig aan bus (= CANopen node ID ens.). 'n Beskrywing (mag leeg wees); onderhewig aan bus.

DeviceId () [2/3] Konstrueer 'n nuwe toestel-ID-objek met uitgebreide ID-opsies.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)

Parameters busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Identifiseerder van die bus. 'n Indeks; onderhewig aan bus (= CANopen node ID ens.). 'n Beskrywing (mag leeg wees); onderhewig aan bus. 'n Bykomende ID (mag leeg wees); betekenis hang af van bus. Bykomende string-ID (mag leeg wees); betekenis hang af van bus.

DeviceId () [3/3] Konstrueer 'n kopie van 'n toestel-ID-objek.
nlc::DeviceId::DeviceId (DeviceId const &)

Weergawe: doc 1.4.2 / NanoLib 1.3.0

33

8 Klasse / funksies verwysing

Parameters deviceId_

Toestel-ID om van te kopieer.

gelyk aan () Vergelyk nuut met bestaande voorwerpe.
bool nlc::DeviceId::gelyk aan (DeviceId const en ander) const

Wys Booles

getBusHardwareId () Lees die bus hardeware ID uit.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Wys BusHardwareId

getDescription () Lees die toestelbeskrywing uit (miskien ongebruik).
std::string nlc::DeviceId::getDescription () konst

Wys string terug

getDeviceId () Lees die toestel-ID uit (miskien ongebruik).
unsigned int nlc::DeviceId::getDeviceId () konst

Wys ongetekende int

toString () Wys die voorwerp as 'n string.
std::string nlc::DeviceId::toString () konst

Wys string terug

getExtraId () Lees die ekstra ID van die toestel uit (kan ongebruik wees).
konst std::vektor &getExtraId () konst

Wys vektor

'n Vektor van die bykomende ekstra ID's (mag leeg wees); betekenis hang af van die bus.

getExtraStringId () Lees die ekstra string-ID van die toestel uit (kan ongebruik wees).
std::string getExtraStringId () konst

Weergawe: doc 1.4.2 / NanoLib 1.3.0

34

8 Klasse / funksies verwysing

Wys string terug

Die bykomende string-ID (mag leeg wees); betekenis hang af van die bus.

8.17 LogLevelConverter

Hierdie klas gee jou logvlak as 'n string terug. statiese std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Hierdie klas gee jou biblioteekspesifieke log modulesetLoggingLevel () as 'n string terug.

statiese std::string

toString (nlc::LogModule logModule)

statiese std::string toString (nlc::LogModule logModule)

8.19 Voorwerpwoordeboek
Hierdie klas verteenwoordig 'n objekwoordeboek van 'n kontroleerder en het die volgende publieke lidfunksies: getDeviceHandle ()
virtuele ResultDeviceHandle getDeviceHandle () const Wys ResultDeviceHandle

getObject () virtuele ResultObjectSubEntry getObject (OdIndex const odIndex) Wys ResultObjectSubEntry

getObjectEntry () virtuele ResultObjectEntry getObjectEntry (uint16_t indeks)

Wys ResultObjectEntry

Inlig oor 'n voorwerp se eienskappe.

kryXmlFileNaam () virtuele ResultString getXmlFileNaam () konst

Wys ResultString

Wys die XML terug file naam as 'n string.

readNumber () virtuele ResultInt readNumber (OdIndex const odIndex) Wys ResultInt
readNumberArray () virtuele ResultArrayInt readNumberArray (uint16_t const indeks)

Weergawe: doc 1.4.2 / NanoLib 1.3.0

35

8 Klasse / funksies verwysing
Wys ResultArrayInt readString ()
virtuele ResultString readString (OdIndex const odIndex) Lewer ResultString readBytes () virtuele ResultArrayByte readBytes (OdIndex const odIndex) Gee ResultArrayByte writeNumber () virtuele ResultVoid writeNumber (OdIndex const odIndex) Resultaat-konst odIndex. writeBytes () virtuele ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Lewer ResultVoid Related Links OdIndex
8.20 Voorwerpinskrywing
Hierdie klas verteenwoordig 'n objekinskrywing van die objekwoordeboek, het die volgende statiese beskermde eienskap en publieke lidfunksies:
statiese nlc::ObjectSubEntry invalidObject
getName () Lees die naam van die voorwerp as 'n string uit.
virtuele std::string getName () konst
getPrivate () Kontroleer of die voorwerp privaat is.
virtuele bool getPrivate () konst
getIndex () Lees die adres van die objekindeks uit.
virtuele uint16_t getIndex () konst

Weergawe: doc 1.4.2 / NanoLib 1.3.0

36

8 Klasse / funksies verwysing

getDataType () Lees die datatipe van die voorwerp uit.
virtuele nlc::ObjectEntryDataType getDataType () konst

getObjectCode () Lees die objekkode uit:

Null Deftype Defstruct Var Array Record

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

virtuele nlc::ObjectCode getObjectCode () konst

getObjectSaveable () Kontroleer of die voorwerp gestoor kan word en dit is kategorie (sien produkhandleiding vir meer besonderhede): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWNTY_SAVE
virtuele nlc::ObjectSaveable getObjectSaveable () konst

getMaxSubIndex () Lees die aantal subindekse uit wat deur hierdie voorwerp ondersteun word.
virtuele uint8_t getMaxSubIndex () konst

getSubEntry () virtuele nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Sien ook ObjectSubEntry.
8.21 ObjectSubEntry
Hierdie klas verteenwoordig 'n objek sub-inskrywing (subindeks) van die objek woordeboek en het die volgende publieke lid funksies:
getName () Lees die naam van die voorwerp as 'n string uit.
virtuele std::string getName () konst

getSubIndex () Lees die adres van die subindeks uit.
virtuele uint8_t getSubIndex () konst

Weergawe: doc 1.4.2 / NanoLib 1.3.0

37

8 Klasse / funksies verwysing

getDataType () Lees die datatipe van die voorwerp uit.
virtuele nlc::ObjectEntryDataType getDataType () konst

getSdoAccess () Kontroleer of die subindeks toeganklik is via SDO:

Leesalleen

1

Skryf Slegs

2

Lees Skryf

3

Geen toegang

0

virtuele nlc::ObjectSdoAccessAttribute getSdoAccess () konst

getPdoAccess () Kontroleer of die subindeks toeganklik/kaartbaar is via PDO:

Tx

1

Rx

2

TxRx

3

Nee

0

virtuele nlc::ObjectPdoAccessAttribute getPdoAccess () konst

getBitLength () Kontroleer die subindekslengte.
virtuele uint32_t getBitLength () konst

getDefaultValueAsNumeric () Lees die verstekwaarde van die subindeks vir numeriese datatipes uit.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Lees die verstekwaarde van die subindeks vir stringdatatipes uit.
virtuele ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Lees die verstekwaardes van die subindeks uit.
virtuele std::kaart getDefaultValues ​​() konst

Weergawe: doc 1.4.2 / NanoLib 1.3.0

38

8 Klasse / funksies verwysing

readNumber () Lees die numeriese werklike waarde van die subindeks uit.
virtuele ResultInt readNumber () konst

readString () Lees die string werklike waarde van die subindeks uit.
virtuele ResultString readString () konst

readBytes () Lees die werklike waarde van die subindeks in grepe uit.
virtuele ResultArrayByte readBytes () konst

writeNumber () Skryf 'n numeriese waarde in die subindeks.
virtuele resultaatVoid skryfnommer (konst int64_t waarde) konst

writeBytes () Skryf 'n waarde in die subindeks in grepe.
virtuele ResultVoid writeBytes (std::vector konst & data) konst

8.22 OdIndex
Gebruik hierdie klas (onveranderlik vanaf skepping) om objekgids-indekse / sub-indekse om te draai en op te spoor. 'n Toestel se OD het tot 65535 (0xFFFF) rye en 255 (0xFF) kolomme; met gapings tussen die diskontinue rye. Sien die CANopen-standaard en jou produkhandleiding vir meer besonderhede.
OdIndex () Konstrueer 'n nuwe OdIndex-voorwerp.
nlc::OdIndex::OdIndex (uint16_t indeks, uint8_t subindeks)

Parameters indeks subindeks

Van 0 tot 65535 (0xFFFF) insl. Van 0 tot 255 (0xFF) insl.

getIndex () Lees die indeks uit (van 0x0000 tot 0xFFFF).
uint16_t nlc::OdIndex::getIndex () konst

Wys uint16_t

getSubindex () Lees die sub-indeks uit (van 0x00 tot 0xFF)
uint8_t nlc::OdIndex::getSubIndex () konst

Weergawe: doc 1.4.2 / NanoLib 1.3.0

39

8 Klasse / funksies verwysing

Wys uint8_t

toString () Wys die indeks en subindeks as 'n string. Die string verstek 0xIIII:0xSS lees soos volg:

I = indeks van 0x0000 tot 0xFFFF

S = subindeks van 0x00 tot 0xFF

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

Wys 0xIIII:0xSS

Verstek string voorstelling

8.23 OdLibrary
Gebruik hierdie programmeringskoppelvlak om gevalle van die ObjectDictionary-klas vanaf XML te skep. Deur assignObjectDictionary, kan jy dan elke instansie aan 'n spesifieke toestel bind as gevolg van 'n uniek geskepte identifiseerder. ObjectDictionary-gevalle wat so geskep is, word in die OdLibrary-objek gestoor om deur indeks te verkry. Die ODLibrary-klas laai ObjectDictionary-items vanaf file of skikking, stoor dit en het die volgende publieke lidfunksies:

getObjectDictionaryCount () virtuele uint32_t getObjectDictionaryCount () konst.

getObjectDictionary () virtuele ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Wys ResultObjectDictionary

addObjectDictionaryFromFile ()
virtuele ResultObjectDictionary voegObjectDictionaryFrom byFile (std::string const & absoluteXmlFilepad)

Wys ResultObjectDictionary

addObjectDictionary ()
virtuele ResultObjectDictionary addObjectDictionary (std::vektor const & odXmlData, const std::string &xmlFilePad = std::string ())

Wys ResultObjectDictionary
8.24 OdTypesHelper
Benewens die volgende publieke lidfunksies, bevat hierdie klas gepasmaakte datatipes. Let wel: Om jou persoonlike datatipes na te gaan, soek die enum-klas ObjectEntryDataType in od_types.hpp.

uintToObjectCode () Skakel ongetekende heelgetalle om na objekkode:

Nul Deftype

0x00 0x05

Weergawe: doc 1.4.2 / NanoLib 1.3.0

40

8 Klasse / funksies verwysing

Defstruct Var Array Record

0x06 0x07 0x08 0x09

statiese ObjectCode uintToObjectCode (ongetekende int objectCode)

isNumericDataType () Lig in of 'n datatipe numeries is of nie.
statiese bool isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Lig in of 'n objek 'n definisiestruktuurindeks is of nie.
statiese bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Lig in of 'n objek 'n definisietipe-indeks is of nie.
statiese bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Lig in of 'n datatipe kompleks is of nie.
statiese bool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Skakel ongetekende heelgetalle om na OD-datatipe.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Skakel OD-datatipe na string om.
statiese std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Skakel string om na OD-datatipe indien moontlik. Andersins, gee UNKNOWN_DATATYPE terug.
statiese ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Weergawe: doc 1.4.2 / NanoLib 1.3.0

41

8 Klasse / funksies verwysing

objectEntryDataTypeBitLength () Lig in oor bietjie lengte van 'n objekinvoer datatipe.
statiese uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RUSvolle Bus-struktuur

Hierdie struktuur bevat die kommunikasiekonfigurasie-opsies vir die RESTful-koppelvlak (oor Ethernet). Dit bevat die volgende publieke eienskappe:

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

CONNECT_TIMEOUT_OPTION_NAME = "Rusvolle verbinding-uitteltyd" DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = "Rusvolle versoek-uitteltyd" DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = "RUS-reaksie-uitteltyd = "RESTvolle reaksie-uitteltyd" DEFA750

8.26 ProfinetDCP
Onder Linux benodig die oproeptoepassing CAP_NET_ADMIN- en CAP_NET_RAW-vermoëns. Om te aktiveer: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. In Windows gebruik die ProfinetDCP-koppelvlak WinPcap (getoets met weergawe 4.1.3) of Npcap (getoets met weergawes 1.60 en 1.30). Dit soek dus die dinamies gelaaide wpcap.dll-biblioteek in die volgende volgorde (Let wel: geen huidige Win10Pcap-ondersteuning nie):
1. Nanolib.dll-gids 2. Windows-stelselgids SystemRoot%System32 3. Npcap-installasiegids SystemRoot%System32Npcap 4. Omgewingspad
Hierdie klas verteenwoordig 'n Profinet DCP-koppelvlak en het die volgende publieke lidfunksies:

getScanTimeout () Lig oor 'n toestelskandering-time-out (verstek = 2000 ms).
virtuele uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Stel 'n toestelskandering-timeout (verstek = 2000 ms).
virtuele leemte nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Lig oor 'n toestelreaksie-uitteltyd vir opstelling, terugstel en flikkerbewerkings (verstek = 1000 ms).
virtuele uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Lig oor 'n toestelreaksie-uitteltyd vir opstelling, terugstel en flikkerbewerkings (verstek = 1000 ms).
virtuele leemte nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Weergawe: doc 1.4.2 / NanoLib 1.3.0

42

8 Klasse / funksies verwysing

isServiceAvailable ()
Gebruik hierdie funksie om die beskikbaarheid van Profinet DCP-diens na te gaan.
Netwerkadapter geldigheid / beskikbaarheid Windows: WinPcap / Npcap beskikbaarheid Linux: CAP_NET_ADMIN / CAP_NET_RAW vermoëns
virtuele ResultVoid nlc::ProfinetDCP::isServiceAvailable (konst BusHardwareId & busHardwareId)

Parameters BusHardwareId Wys waar
vals

Hardeware-ID van Profinet DCP-diens om na te gaan. Diens is beskikbaar. Diens is nie beskikbaar nie.

scanProfinetDevices () Gebruik hierdie funksie om die hardewarebus te skandeer vir die teenwoordigheid van Profinet-toestelle.
virtuele ResultProfinetDevices scanProfinetDevices (konst BusHardwareId & busHardwareId)

Parameters BusHardwareId gee ResultProfinetDevices

Spesifiseer elke veldbus om oop te maak. Hardeware is oop.

setupProfinetDevice () Vestig die volgende toestelinstellings:

Toestelnaam

IP-adres

Netwerk masker

Verstek poort

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

resetProfinetDevice () Stop die toestel en stel dit terug na fabrieksinstellings.
virtuele ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Beveel die Profinet-toestel om sy Profinet-LED te begin flikker.
virtuele ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Gebruik hierdie funksie om toestel se IP-adres na te gaan.
virtuele ResultVoid validateProfinetDeviceIp (konst BusHardwareId &busHardwareId, konst ProfinetDevice & profinetDevice)

Parameters BusHardwareId ProfinetDevice

Spesifiseer die hardeware-ID om na te gaan. Spesifiseer die Profinet-toestel om te valideer.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

43

8 Klasse / funksies verwysing

Wys ResultVoid

8.27 ProfinetDevice struct

Die Profinet-toesteldata het die volgende publieke kenmerke:

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

Die MAC-adres word as skikking verskaf in formaat macAddress = {xx, xx, xx, xx, xx, xx}; terwyl IP-adres, netwerkmasker en poort almal geïnterpreteer word as groot endian-hex-nommers, soos:

IP-adres: 192.168.0.2 Netwerkmasker: 255.255.0.0 Gateway: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Uitslagklasse

Gebruik die "opsionele" terugkeerwaardes van hierdie klasse om te kyk of 'n funksie-oproep sukses gehad het of nie, en ook die redes vir mislukking op te spoor. By sukses gee die hasError () funksie vals terug. Deur getResult (), kan jy die resultaatwaarde soos per tipe (ResultInt ens.) uitlees. As 'n oproep misluk, lees jy die rede uit deur getError ().

Beskermde eienskappe

string NlcErrorCode uint32_t

errorString errorCode exErrorCode

Hierdie klas het ook die volgende publieke lidfunksies:

hasError () Lees 'n funksie-oproep se sukses uit.
bool nlc::Resultaat::hasError () konst

Returns

waar onwaar

Oproep misluk. Gebruik getError () om die waarde uit te lees. Suksesvolle oproep. Gebruik getResult () om die waarde uit te lees.

getError () Lees die rede uit as 'n funksie-oproep misluk.
const std::string nlc::Resultaat::getError () konst

Wys konst string

Weergawe: doc 1.4.2 / NanoLib 1.3.0

44

8 Klasse / funksies verwysing
resultaat () Die volgende funksies help om die presiese resultate te definieer:
Resultaat (std::string const & errorString_)
Resultaat (NlcErrorCode const & errCode, std::string const & errorString_)
Resultaat (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Resultaat (resultaatkonst & resultaat)
getErrorCode () Lees die NlcErrorCode.
NlcErrorCode getErrorCode () konst
getExErrorCode () uint32_t getExErrorCode () konst
8.28.1 ResultaatOngeldig
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie leeg terugstuur. Die klas erf die publieke funksies en beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
ResultVoid () Die volgende funksies help om die presiese nietige resultaat te definieer:
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 (Resultaatkonst & resultaat)
8.28.2 ResultaatInt
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n heelgetal terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Wys die heelgetalresultaat as 'n funksie-oproep sukses gehad het.
int64_t getResult () konst
Wys int64_t

Weergawe: doc 1.4.2 / NanoLib 1.3.0

45

8 Klasse / funksies verwysing
ResultInt () Die volgende funksies help om die presiese heelgetalresultaat te definieer:
ResultInt (int64_t result_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (Resultaatkonst & resultaat)
8.28.3 ResultString
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n string terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die stringresultaat uit as 'n funksie-oproep sukses gehad het.
const std::string nlc::ResultString::getResult () konst
Wys konst string
ResultString () Die volgende funksies help om die presiese stringresultaat te definieer:
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 (Resultaatkonst & resultaat)
8.28.4 ResultArrayByte
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n byte-skikking terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die greepvektor uit as 'n funksie-oproep sukses gehad het.
konst std::vektor nlc::ResultArrayByte::getResult () konst
Gee konst vektor terug

Weergawe: doc 1.4.2 / NanoLib 1.3.0

46

8 Klasse / funksies verwysing
ResultArrayByte () Die volgende funksies help om die presiese byte-skikkingresultaat te definieer:
ResultArrayByte (std::vektor konst & resultaat_)
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 (Resultaatkonst & resultaat)
8.28.5 ResultArrayInt
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n heelgetalskikking terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die heelgetalvektor uit as 'n funksie-oproep sukses gehad het.
konst std::vektor nlc::ResultArrayInt::getResult () konst
Gee konst vektor terug
ResultArrayInt () Die volgende funksies help om die presiese heelgetal skikking resultaat te definieer:
ResultArrayInt (std::vektor konst & resultaat_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Resultaatkonst & resultaat)
8.28.6 ResultBusHwIds
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n bushardeware ID-skikking terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die bus-hardeware-ID vektor uit as 'n funksie oproep sukses gehad het.
konst std::vektor nlc::ResultBusHwIds::getResult () konst
Parameters konst vektor

Weergawe: doc 1.4.2 / NanoLib 1.3.0

47

8 Klasse / funksies verwysing
ResultBusHwIds () Die volgende funksies help om die presiese bus-hardeware-ID-skikking resultaat te definieer:
ResultBusHwIds (std::vector konst & resultaat_)
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 (Resultaatkonst & resultaat)
8.28.7 ResultDeviceId
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n toestel-ID terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die toestel-ID-vektor uit as 'n funksie-oproep sukses gehad het.
DeviceId nlc::ResultDeviceId::getResult () konst
Gee konst vektor terug
ResultDeviceId () Die volgende funksies help om die presiese toestel-ID-resultaat te definieer:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Resultaatkonst & resultaat)
8.28.8 ResultDeviceIds
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n toestel-ID-skikking terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Wys die toestel-ID-vektor as 'n funksie-oproep sukses gehad het.
DeviceId nlc::ResultDeviceIds::getResult () konst
Gee konst vektor terug

Weergawe: doc 1.4.2 / NanoLib 1.3.0

48

8 Klasse / funksies verwysing
ResultDeviceIds () Die volgende funksies help om die presiese toestel-ID-skikking resultaat te definieer:
ResultDeviceIds (std::vektor konst & resultaat_)
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 (Resultaatkonst en resultaat)
8.28.9 Result DeviceHandle
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie die waarde van 'n toestelhandvatsel terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die toestelhandvatsel uit as 'n funksie-oproep suksesvol was.
DeviceHandle nlc::ResultDeviceHandle::getResult () konst
Gee DeviceHandle terug
ResultDeviceHandle () Die volgende funksies help om die presiese toestelhandvatselresultaat te definieer:
ResultDeviceHandle (DeviceHandle-konst & resultaat_)
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 (Resultaatkonst en resultaat)
8.28.10 ResultObjectDictionary
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie die inhoud van 'n objekwoordeboek terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die toestel-ID-vektor uit as 'n funksie-oproep sukses gehad het.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Weergawe: doc 1.4.2 / NanoLib 1.3.0

49

8 Klasse / funksies verwysing

Returns

konst vektor

ResultObjectDictionary () Die volgende funksies help om die presiese objekwoordeboekresultaat te definieer:
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 (Resultaatkonst & resultaat)

8.28.11 ResultConnectionState
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n toestel-verbinding-toestand-inligting terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die toestelhandvatsel uit as 'n funksie-oproep suksesvol was.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Wys DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader

ResultConnectionState () Die volgende funksies help om die presiese verbindingstoestandresultaat te definieer:
ResultConnectionState (DeviceConnectionStateInfo-konst & resultaat_)

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 (Resultaatkonst & resultaat)

8.28.12 ResultObject Entry
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n voorwerpinskrywing terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:

Weergawe: doc 1.4.2 / NanoLib 1.3.0

50

8 Klasse / funksies verwysing
getResult () Wys die toestel-ID-vektor as 'n funksie-oproep sukses gehad het.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Wys const ObjectEntry
ResultObjectEntry () Die volgende funksies help om die presiese objekinvoerresultaat te definieer:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (Resultaatkonst & resultaat)
8.28.13 ResultObjectSubEntry
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n objek sub-inskrywing terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Wys die toestel-ID-vektor as 'n funksie-oproep sukses gehad het.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Wys const ObjectSubEntry
ResultObjectSubEntry () Die volgende funksies help om die presiese objek sub-inskrywing resultaat te definieer:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (Resultaatkonst & resultaat)
8.28.14 ResultaatProfinet-toestelle
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie 'n Profinet-toestel terugstuur. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:

Weergawe: doc 1.4.2 / NanoLib 1.3.0

51

8 Klasse / funksies verwysing

getResult () Lees die Profinet-toestelvektor uit as 'n funksie-oproep sukses gehad het.
konst std::vektor & kryResultaat () konst

ResultProfinetDevices () Die volgende funksies help om die presiese Profinet-toestelle te definieer.
ResultProfinetDevices (const std::vector & ProfinetDevices)
ResultProfinetDevices (konst Resultaat en resultaat)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ResultateampleDataArray
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie terugkeer asampdie data-skikking. Die klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:
getResult () Lees die data-skikking uit as 'n funksie-oproep sukses gehad het.
konst std::vektor <SampleData> & getResult () konst

ResultateampleDataArray () Die volgende funksies help om die presiese Profinet-toestelle te definieer.
ResultateampleDataArray (konst std::vektor <SampleData> en dataArray)

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

ResultateampleDataArray (konst ResultsampleDataArray en ander)

ResultateampleDataArray (konst resultaat en resultaat)

8.28.16 ResultateamplerStaat
NanoLib stuur vir jou 'n instansie van hierdie klas as die funksie terugkeer asampler staat. Hierdie klas erf die publieke funksies / beskermde eienskappe van die resultaatklas en het die volgende publieke lidfunksies:

getResult () Lees die s uitampler toestand vektor as 'n funksie oproep sukses gehad het.
SamplerState getResult () konst

Gee SamplerStaat>

Ongekonfigureer / Gekonfigureer / Gereed / Aan die gang / Voltooi / Misluk / Gekanselleer

Weergawe: doc 1.4.2 / NanoLib 1.3.0

52

8 Klasse / funksies verwysing

ResultateamplerState () Die volgende funksies help om die presiese s te definieerampler staat.
ResultateamplerState (konst Samplerstaat staat)

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

ResultateamplerState (konst ResultsamplerState en ander)

ResultateamplerState (konst resultaat en resultaat)

8.29 NlcErrorCode

As iets verkeerd loop, rapporteer die resultaatklasse een van die foutkodes wat in hierdie opsomming gelys word.

Foutkode Sukses AlgemeenFout BusOnbeskikbaar KommunikasieFout ProtokolFout
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported Ongeldige operasie
Ongeldige Argumente ToegangGeweier HulpbronNotFound HulpbronOnbeskikbaar OutOfMemory TimeOutError

C: Kategorie D: Beskrywing R: Rede C: Geen. D: Geen fout nie. R: Die operasie is suksesvol voltooi.
C: Ongespesifiseer. D: Ongespesifiseerde fout. R: Mislukking wat geen ander kategorie pas nie.
C: Bus. D: Hardewarebus nie beskikbaar nie. R: Bus bestaan ​​nie, afgesny of defek.
C: Kommunikasie. D: Kommunikasie onbetroubaar. R: Onverwagte data, verkeerde CRC, raam- of pariteitsfoute, ens.
C: Protokol. D: Protokol fout. R: Reaksie na nie-ondersteunde protokol-opsie, toestelverslag nie-ondersteunde protokol, fout in die protokol (sê, SDO-segmentsinkroniseringbis), ens. R: 'n Antwoord of toestelverslag na nie-ondersteunde protokol (opsies) of op foute in protokol (sê SDO segmentsinkroniseringbis), ens. R: Ongesteunde protokol (opsies) of fout in protokol (sê, SDO-segmentsinkroniseringbis), ens.
C: Voorwerpwoordeboek. D: OD-adres bestaan ​​nie. R: Geen so 'n adres in die objekwoordeboek nie.
C: Voorwerpwoordeboek. D: Toegang tot OD-adres ongeldig. R: Probeer om 'n slegs-lees-adres te skryf, of om vanaf 'n slegs-skryf-adres te lees.
C: Voorwerpwoordeboek. D: Tipe verskil. R: Waarde nie omgeskakel na gespesifiseerde tipe, sê, in 'n poging om 'n string as 'n getal te behandel.
C: Toepassing. D: Proses gestop. R: Proses gesny deur aansoek versoek. Keer slegs terug op werking onderbreking deur terugbel funksie, sê, van bus-skandering.
C: Algemeen. D: Proses word nie ondersteun nie. R: Geen hardeware bus / toestel ondersteuning.
C: Algemeen. D: Proses verkeerd in huidige konteks, of ongeldig met huidige argument. R: 'n Herkoppelpoging aan reeds gekoppelde busse / toestelle. 'n Ontkoppelpoging aan reeds ontkoppeldes. 'n Selflaaiprogram-operasiepoging in firmwaremodus of omgekeerd.
C: Algemeen. D: Argument ongeldig. R: Verkeerde logika of sintaksis.
C: Algemeen. D: Toegang word geweier. R: Gebrek aan regte of vermoëns om die gevraagde operasie uit te voer.
C: Algemeen. D: Gespesifiseerde item nie gevind nie. R: Hardewarebus, protokol, toestel, OD-adres op toestel, of file gevind is nie.
C: Algemeen. D: Gespesifiseerde item nie gevind nie. R: besig, bestaan ​​nie, afgesny of gebrek.
C: Algemeen. D: Onvoldoende geheue. R: Te min geheue om hierdie opdrag te verwerk.
C: Algemeen. D: Proses het uitgetel. R: Keer terug nadat time-out verstryk het. Time-out kan 'n toestelreaksietyd wees, 'n tyd om gedeelde of eksklusiewe hulpbrontoegang te verkry, of 'n tyd om die bus / toestel na 'n geskikte toestand oor te skakel.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

53

8 Klasse / funksies verwysing

8.30 Nlc Terugbel
Hierdie ouerklas vir terugbelopings het die volgende publieke lidfunksie: terugbel ()
virtuele ResultVoid terugbel ()

Returns

ResultaatOngeldig

8.31 NlcDataTransfer Terugbel
Gebruik hierdie terugbelklas vir data-oordragte (firmware-opdatering, NanoJ-oplaai, ens.). 1. Vir 'n firmware-oplaai: Definieer 'n "ko-klas" wat hierdie een uitbrei met 'n pasgemaakte terugbelmetode
implementering. 2. Gebruik die “co-class” instansies in NanoLibAccessor.uploadFirmware () oproepe. Die hoofklas self het die volgende publieke lidfunksie:

terugbel () virtuele ResultVoid terugbel (nlc::DataTransferInfo info, int32_t data)

Returns

ResultaatOngeldig

8.32 NlcScanBus Terugbel
Gebruik hierdie terugbelklas vir busskandering. 1. Definieer 'n "mede-klas" wat hierdie een uitbrei met 'n pasgemaakte terugbelmetode-implementering. 2. Gebruik die “co-class” instansies in NanoLibAccessor.scanDevices () oproepe. Die hoofklas self het die volgende publieke lidfunksie.

terugbel ()
virtuele ResultVoid terugbel (nlc::BusScanInfo info, std::vector const & devicesFound, int32_t data)

Wys ResultVoid
8.33 NlcLogging Terugbel
Gebruik hierdie terugbelklas om terugbelle aan te teken. 1. Definieer 'n klas wat hierdie klas uitbrei met 'n pasgemaakte terugbelmetode-implementering 2. Gebruik 'n wyser na sy gevalle om 'n terugbel te stel deur NanoLibAccessor >
stelLoggingCallback (…).
virtuele nietige terugbel (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 Samplerkoppelvlak
Gebruik hierdie klas om die s te konfigureer, te begin en te stopampler, of om s te kryampgelei data en haal asampler se status of laaste fout. Die klas het die volgende publieke lidfunksies.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

54

8 Klasse / funksies verwysing

konfigureer () Stel in asampler.
virtuele ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerKonfigurasie & samplerkonfigurasie)

Parameters [in] toestel Hanteer [in] samplerKonfigurasie
Wys ResultVoid

Spesifiseer watter toestel om die s te konfigureerampler vir. Spesifiseer die waardes van konfigurasie-kenmerke. Bevestig dat 'n nietige funksie geloop het.

getData () Kry die sampgeleide data.
virtuele resultateampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parameters [in] deviceHandle gee resultateampleDataArray

Spesifiseer vir watter toestel om die data te kry.
Lewer die sampgelei data, wat 'n leë skikking kan wees as samplerNotify is aktief wanneer dit begin.

getLastError () Kry asampler se laaste fout.
virtuele ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Wys ResultVoid

Bevestig dat 'n nietige funksie geloop het.

getState () Kry asampler se status.
virtuele resultateamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Lewer resultateamplerStaat

Lewer die sampler staat.

begin () Begin asampler.
virtuele ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)

Parameters [in] deviceHandle [in] SamplerNotify [in] applicationData
Wys ResultVoid

Spesifiseer watter toestel om die s te beginampler vir.
Spesifiseer watter opsionele inligting om te rapporteer (kan nullptr wees).
Opsie: Stuur toepassingverwante data ('n gebruikergedefinieerde 8-bis-skikking van waarde / toestel-ID / indeks, of 'n datum-tyd, 'n veranderlike / funksie se wyser, ens.) aan na samplerStel.
Bevestig dat 'n nietige funksie geloop het.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

55

8 Klasse / funksies verwysing

stop () Stop asampler.
virtuele ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Parameters [in] deviceHandle gee ResultVoid

Spesifiseer watter toestel om die s te stopampler vir. Bevestig dat 'n nietige funksie geloop het.

8.35 SamplerConfiguration struct

Hierdie struktuur bevat die data sampler se konfigurasie-opsies (staties of nie).

Openbare eienskappe

std::vektor nagespoor Adresse

Tot 12 OD-adresse moet sampled.

uint32_t

weergawe

'n Struktuur se weergawe.

uint32_t

duurMillisekondes

Sampduur in ms, van 1 tot 65535

uint16_t

tydperkMillisekondes

Sampling tydperk in me.

uint16_t

aantal Samples

Samples bedrag.

uint16_t

preTriggerNumberOfSamples

Samples voor-sneller bedrag.

bool

met behulp van sagteware-implementering

Gebruik sagteware-implementering.

bool

met behulp van NewFWSamplerImplementering Gebruik FW-implementering vir toestelle met 'n

FW weergawe v24xx of nuwer.

SamplerMode

modus

Normale, herhalende of aaneenlopende sampling.

SamplerTriggerCondition triggerCondition

Begin sneller voorwaardes: 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_GREATER_GREATER_GREATER_0 TC_GREATER = 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, snellerValuex

SamplerTrigger

SamplerTrigger

'n Sneller om as te beginampler?

Statiese publieke eienskappe
statiese constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 statiese constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerStel
Gebruik hierdie klas om s te aktiveerampler kennisgewings wanneer jy begin asampler. Die klas het die volgende publieke lidfunksie.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

56

8 Klasse / funksies verwysing

stel in kennis ()
Lewer 'n kennisgewinginskrywing.
virtuele leemte nlc::SamplerNotify::notify (const ResultVoid & lastError, konst SamplerState samplerState, konst std::vektor <SampleData> & sampleDatas, int64_t applicationData)

Parameters [in] lastError [in] samplerStaat
[in] sampleDatas [in] applicationData

Rapporteer die laaste fout het voorgekom terwyl sampling. Rapporteer die sampler-status tydens kennisgewingtyd: Ongekonfigureer / Gekonfigureer / Gereed / Aan die gang / Voltooi / Misluk / Gekanselleer. Rapporteer die sampgelei-data skikking. Rapporteer toepassingspesifieke data.

8.37 SampleData-struktuur

Hierdie struktuur bevat die sampgeleide data.

uin64_t iterasienommer

Begin by 0 en neem net toe in herhalende modus.

std::vektor<SampledWaardes> Bevat 'n reeks sampgelei waardes.

8.38 SampledValue-struktuur

Hierdie struktuur bevat die sampgelei waardes.

in64_t waarde uin64_t CollectTimeMsec

Bevat die waarde van 'n nagespoorde OD-adres.
Bevat die versamelingstyd in millisekondes, relatief tot die sampdie begin.

8.39 SamplerTrigger struct

Hierdie struktuur bevat die sneller-instellings van die sampler.

SamplerTriggerCondition toestand
OdIndex uin32_t waarde

Die snellervoorwaarde: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_GREATER = 0x15 TC_GROOT0 16x0 TC_LESS = 17x0 TC_LESS_OF_EQUAL = 18x0 TC_EQUAL = 19x0 TC_NOT_EQUAL = 1x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1xXNUMXC
Die sneller se OdIndex (adres).
Toestandwaarde of bisgetal (begin vanaf bis nul).

8.40 Reeksstruktuur

Vind hier jou seriële kommunikasie-opsies en die volgende publieke eienskappe:

const std::string konst SerialBaudRate

BAUD_RATE_OPTIONS_NAME = "seriële baud rate" baudRate =SerialBaudRate struktuur

Weergawe: doc 1.4.2 / NanoLib 1.3.0

57

8 Klasse / funksies verwysing

const std::string const SerialParity

PARITY_OPTIONS_NAME = "seriële pariteit" pariteit = SerialParity struktuur

8.41 SerialBaudRate-struktuur

Vind hier jou seriële kommunikasie baud rate en die volgende publieke eienskappe:

konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string konst std::string

BAUD_RATE_7200 = "7200" BAUD_RATE_9600 = "9600" BAUD_RATE_14400 = "14400" BAUD_RATE_19200 = "19200" BAUD_RATE_38400 = "38400" "56000_56000_RATE" = "57600_57600_RATE" 115200” BAUD_RATE_115200 = “128000” BAUD_RATE_128000 = “256000” BAUD_RATE_256000 = “XNUMX”

8.42 SerialParity-struktuur

Vind hier jou reekspariteitsopsies en die volgende publieke eienskappe:

konst std::string konst std::string konst std::string konst std::string konst std::string

GEEN = "geen" ODD = "onewe" EVEN = "gelyk" MARK = "merk" SPASIE = "spasie"

Weergawe: doc 1.4.2 / NanoLib 1.3.0

58

9 Lisensies

9 Lisensies

NanoLib API-koppelvlakopskrifte en bvampDie bronkode is gelisensieer deur Nanotec Electronic GmbH & Co. KG onder die Creative Commons Attribution 3.0 Unported License (CC BY). Biblioteekdele wat in binêre formaat (kern- en veldbuskommunikasiebiblioteke) verskaf word, is gelisensieer onder die Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).

Creative Commons
Die volgende mens-leesbare opsomming sal nie die lisensie(s) self vervang nie. U kan die onderskeie lisensie by creativecommons.org vind en hieronder gekoppel. Jy is vry om:

CC BY 3.0
Deel: Sien regs. Pas aan: Hermeng, transformeer en bou voort op die
materiaal vir enige doel, selfs kommersieel.

CC BY-ND 4.0
Deel: Kopieer en versprei die materiaal in enige medium of formaat.

Die lisensiegewer kan nie die bogenoemde vryhede herroep solank jy die volgende lisensiebepalings gehoorsaam nie:

CC BY 3.0

CC BY-ND 4.0

Erkenning: Jy moet toepaslike krediet gee, Erkenning: Sien links. Maar: Verskaf 'n skakel hiertoe

verskaf 'n skakel na die lisensie, en dui aan of

ander lisensie.

veranderings aangebring is. Jy kan dit in enige

Geen afgeleides: As jy hermeng, transformeer of bou

redelike wyse, maar nie op enige manier wat voorstel-

op die materiaal mag jy nie die versprei nie

gests die lisensiegewer jou of jou gebruik onderskryf.

gewysigde materiaal.

Geen bykomende beperkings: Jy mag nie aansoek doen nie. Geen bykomende beperkings: Sien links. wetlike terme of tegnologiese maatreëls wat wetlik

ander beperk om enigiets met die lisensie te doen

permitte.

Let wel: Jy hoef nie te voldoen aan die lisensie vir elemente van die materiaal in die publieke domein of waar jou gebruik deur 'n toepaslike uitsondering of beperking toegelaat word nie.
Let wel: Geen waarborge gegee nie. Die lisensie gee jou dalk nie al die toestemmings wat nodig is vir jou beoogde gebruik nie. Byvoorbeeldampander regte soos publisiteit, privaatheid of morele regte kan beperk hoe jy die materiaal gebruik.

Weergawe: doc 1.4.2 / NanoLib 1.3.0

59

Afdruk, kontak, weergawes

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenDuitslandTel.+49(0) 89 900 686-0Faks+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Alle regte voorbehou. Fout, weglating, tegniese of inhoudsverandering moontlik sonder kennisgewing. Aangehaalde handelsmerke/produkte is handelsmerke van hul eienaars en moet as sodanig hanteer word. Oorspronklike weergawe.

Dokument 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08

+ Bygevoeg > Verander # Vaste > Herwerk van die verskafde eksamples.
+ NanoLib Modbus: Toegevoeg sluitmeganisme vir Modbus VCP. # NanoLib Core: Vaste verbindingstatuskontrole. # NanoLib-kode: Korrigeer verwydering van bushardewareverwysing.
+ NanoLib-CANopen: Ondersteuning vir Peak PCAN-USB-adapter (IPEH-002021/002022).
> NanoLib Core: Veranderde logterugbelkoppelvlak (LogLevel vervang deur LogModule). # NanoLib Logger: Skeiding tussen kern en modules is reggestel. # Modbus TCP: Vaste firmware-opdatering vir FW4. # EtherCAT: Vaste NanoJ-programoplaai vir Core5. # EtherCAT: Vaste firmware-opdatering vir Core5.
# Modbus RTU: Vaste tydsberekening probleme met lae baud tariewe tydens firmware opdatering. # RUSTIG: Vaste NanoJ-programoplaai.
# NanoLib-modules Sampler: Korrekte lees van aampgelei Boolese waardes.
+ Java 11-ondersteuning vir alle platforms. + Python 3.11/3.12-ondersteuning vir alle platforms. + Nuwe logterugbelkoppelvlak (sien bvamples). + Terugbelsink vir NanoLib Logger. > Dateer logger op na weergawe 1.12.0. > NanoLib-modules Sampler: Ondersteun nou vir Nanotec-kontroleerderfirmware v24xx. > NanoLib-modules Sampler: Verandering in struktuur gebruik vir aampler konfigurasie. > NanoLib-modules Sampler: Deurlopende modus is sinoniem met eindeloos; die snellertoestand word een keer nagegaan; die aantal samples moet 0 wees. > NanoLib Modules Sampler: Normale prioriteit vir die draad wat data in fermwaremodus insamel. > NanoLib-modules Sampler: Herskryfde algoritme om oorgang tussen Gereed & Hardloop-toestand op te spoor. # NanoLib-kern: Geen toegangsoortreding meer (0xC0000005) by die sluiting van 2 of meer toestelle wat dieselfde bushardeware gebruik nie. # NanoLib-kern: Geen segmentasiefout meer met die heg van 'n PEAK-adapter onder Linux nie. # NanoLib-modules Sampler: Korrek sampled-waardes lees in firmware-modus. # NanoLib-modules Sampler: Korrekte konfigurasie van 502X:04. # NanoLib-modules Sampler: Korrekte vermenging van buffers met kanale. # NanoLib-Canopen: Verhoogde CAN-time-outs vir robuustheid en korrekte skandering by laer baudrates. # NanoLib-Modbus: VCP-opsporingsalgoritme vir spesiale toestelle (USB-DA-IO).
+ EtherCAT-ondersteuning.
+ Nota oor VS-projekinstellings in Stel jou projek in.
+ kry DeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + kryProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + kryXmlFileNaam (). + const std::string & xmlFilePad in addObjectDictionary (). + krySamplerInterface ().

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

Weergawe: doc 1.4.2 / NanoLib 1.3.0

60

10 Afdruk, kontak, weergawes

Dokument
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05

+ Bygevoeg > Verander # Vaste + herlaai toestel (). + Foutkode ResourceUnabeskikbaar vir getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber en ~Uid. > firmwareUpload FromFile laai nou FirmwareFrom opFile (). > firmwareLaai op () laai nou Firmware op (). > selflaaiprogram OplaaiVanFile () laai nou BootloaderFrom opFile (). > selflaailaaierLaai op () laai nou Bootlaaier op (). > selflaaiprogram FirmwareUpload FromFile () om BootloaderFirmwareFrom op te laaiFile (). > bootloaderFirmwareUpload () laai nou BootloaderFirmware op (). > nanojUpload FromFile () laai nou NanoJFrom opFile (). > nanojLaai op () laai nou opNanoJ (). > objectDictionaryLibrary () kry nouObjectDictionaryLibrary (). > String_String_Map nou StringStringMap. > NanoLib-Common: vinniger uitvoering van listAvailableBusHardware en oopBusHardwareWithProtocol met Ixxat-adapter. > NanoLib-CANopen: verstek instellings gebruik (1000k baudrate, Ixxat bus nommer 0) as bus hardeware opsies leeg is. > NanoLib-RESTful: admin-toestemming verouderd vir kommunikasie met Ethernet-selflaailaaiers onder Windows as npcap / winpcap-bestuurder beskikbaar is. # NanoLib-CANopen: bushardeware maak nou ongestoord oop met leë opsies. # NanoLib-Common: openBusHardwareWithProtocol () met geen geheuelek nou nie.
+ Linux ARM64 ondersteuning. + USB-massaberging / REST / Profinet DCP-ondersteuning. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultaatProfinet-toestelle. + NlcErrorCode (vervang NanotecExceptions). + NanoLib Modbus: VCP / USB-hub verenig met USB. > Modbus TCP-skandering gee resultate. < Modbus TCP kommunikasie latency bly konstant.
+ Meer ObjectEntryDataType (kompleks en profile-spesifiek). + IOFout keer terug as connectDevice () en scanDevices () niks vind nie. + Slegs 100 ms nominale uitteltyd vir CanOpen / Modbus.
+ Modbus-ondersteuning (plus USB-hub via VCP). + Hoofstuk Skep jou eie Linux-projek. + ekstraHardwareSpecifier na BusHardwareId (). + extraId_ en extraStringId_ na DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Foutoplossings.
Uitgawe.

Produk
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Weergawe: doc 1.4.2 / NanoLib 1.3.0

61

Dokumente / Hulpbronne

Nanotiese NanoLib C++-programmering [pdfGebruikershandleiding
NanoLib C Programmering, C Programmering, Programmering

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *