Nanotic-LOGO

Nanotic NanoLib C++ Programování

Nanotic-NanoLib-C++-Programování-PRODUKT

Informace o produktu

Specifikace

  • Název produktu: NanoLib
  • Programování Jazyk: C++
  • Verze produktu: 1.3.0
  • Verze uživatelské příručky: 1.4.2

Knihovna NanoLib je určena pro programování řídicího softwaru pro regulátory Nanotec. Poskytuje uživatelské rozhraní, základní funkce a komunikační knihovny pro usnadnění vývoje řídicích aplikací.

Návod k použití produktu

  • Než začnete:
    • Ujistěte se, že váš systém splňuje hardwarové požadavky uvedené v příručce. Cílové publikum pro tento produkt zahrnuje vývojáře, kteří chtějí vytvořit řídicí software pro řídicí jednotky Nanotec.
  • Začínáme:
    • Chcete-li začít používat NanoLib, postupujte takto:
    • Začněte importem NanoLib do vašeho projektu.
    • Podle potřeby nakonfigurujte nastavení projektu.
    • Sestavte svůj projekt tak, aby zahrnoval funkce NanoLib.
  • Vytváření projektů:
    • Můžete vytvářet projekty pro prostředí Windows i Linux. Postupujte podle konkrétních pokynů uvedených v příručce pro každou platformu.
  • Reference tříd / funkcí:
    • Podrobný návod k třídám a funkcím dostupným v NanoLib pro programování řídicího softwaru naleznete v uživatelské příručce.

Nejčastější dotazy

  • Otázka: Jaký je účel NanoLibu?
    • A: NanoLib je knihovna pro programování řídicího softwaru pro řídicí jednotky Nanotec, která poskytuje základní funkce a komunikační schopnosti.
  • Otázka: Jak mohu začít s NanoLibem?
    • A: Začněte importem NanoLib do svého projektu, konfigurací nastavení projektu a sestavením projektu tak, aby využíval funkce NanoLib.

“`

Uživatelský manuál NanoLib
C++

Platí s verzí produktu 1.3.0

Verze uživatelského manuálu: 1.4.2

Cíl dokumentu a konvence

Tento dokument popisuje nastavení a použití knihovny NanoLib a obsahuje odkaz na všechny třídy a funkce pro programování vlastního řídicího softwaru pro regulátory Nanotec. Používáme následující typy písma:
Podtržený text označuje křížový odkaz nebo hypertextový odkaz.
Example 1: Přesné pokyny k NanoLibAccessor viz Nastavení. Přample 2: Nainstalujte ovladač Ixxat a připojte adaptér CAN-to-USB. Kurzíva znamená: Toto je pojmenovaný objekt, cesta nabídky / položka, karta / file jméno nebo (v případě potřeby) cizojazyčný výraz.
Example 1: Vyberte File > Nový > Prázdný dokument. Otevřete kartu Nástroj a vyberte Komentář. Přample 2: Tento dokument rozděluje uživatele (= Nutzer; usuario; utente; utilisateur; utente atd.) na:
– Uživatel třetí strany (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente atd.). – Koncový uživatel (= Endnutzer; usuario final; utente final; utilisateur final; utente finale atd.).
Courier označuje bloky kódu nebo programovací příkazy. Přample 1: Přes Bash zavolejte sudo make install pro kopírování sdílených objektů; pak zavolejte ldconfig. Přample 2: Pomocí následující funkce NanoLibAccessor změňte úroveň protokolování v NanoLib:
// ***** Varianta C++ *****
void setLoggingLevel(LogLevel level);
Tučný text zdůrazňuje jednotlivá slova zásadního významu. Případně vykřičníky v závorkách zdůrazňují kritickou (!) důležitost.
Example 1: Chraňte sebe, ostatní a své vybavení. Dodržujte naše všeobecné bezpečnostní poznámky, které jsou obecně použitelné pro všechny produkty Nanotec.
Example 2: Pro vaši vlastní ochranu také dodržujte specifické bezpečnostní pokyny, které se vztahují na tento konkrétní produkt. Sloveso spolukliknout znamená kliknutí sekundární klávesou myši pro otevření kontextové nabídky atd.
Example 1: Spoluklikněte na file, vyberte Přejmenovat a přejmenujte file. Přample 2: Chcete-li zkontrolovat vlastnosti, klepněte na file a zvolte Vlastnosti.

Verze: doc 1.4.2 / NanoLib 1.3.0

4

Než začnete

Než začnete NanoLib používat, připravte si počítač a informujte se o zamýšleném použití a omezeních knihovny.
2.1 Systémové a hardwarové požadavky

Nanotic-NanoLib-C++-Programming-FIG- (1)
UPOZORNĚNÍ Porucha způsobená 32bitovým provozem nebo přerušeným systémem! Používejte a důsledně udržujte 64bitový systém. Dodržujte ukončení výroby OEM a pokyny.

NanoLib 1.3.0 podporuje všechny produkty Nanotec s CANopen, Modbus RTU (také USB na virtuálním komunikačním portu), Modbus TCP, EtherCat a Profinet. Pro starší NanoLibs: Viz changelog v tiráži. Pouze na vaše riziko: použití staršího systému. Poznámka: Pokud se při používání adaptéru USB založeného na FTDI setkáte s problémy, postupujte podle platných pokynů OEM a nastavte latenci na co nejnižší možnou hodnotu.

Požadavky (64bitový systém povinný)
Windows 10 nebo 11 s Visual Studio 2019 verze 16.8 nebo novější a Windows SDK 10.0.20348.0 (verze 2104) nebo novější
C++ redistributables 2017 nebo vyšší CANopen: Základní ovladač Ixxat VCI nebo PCAN (volitelně) Modul EtherCat / Profinet DCP: Npcap nebo WinPcap Modul RESTful: Npcap, WinPcap nebo oprávnění správce k
komunikovat s ethernetovými bootloadery
Linux s Ubuntu 20.04 LTS až 24 (všechny x64 a arm64)
Záhlaví jádra a paket libpopt-dev Profinet DCP: CAP_NET_ADMIN a CAP_NET_RAW abili-
vazby CANopen: Ixxat ECI ovladač nebo Peak PCAN-USB adaptér EtherCat: CAP_NET_ADMIN, CAP_NET_RAW a
Schopnosti CAP_SYS_NICE RESTful: CAP_NET_ADMIN schopnost komunikovat s Eth-
ernet bootloadery (také doporučeno: CAP_NET_RAW)

Jazyk, fieldbus adaptéry, kabely
C++ GCC 7 nebo vyšší (Linux)
EtherCAT: Ethernetový kabel VCP / USB rozbočovač: nyní jednotný USB USB mass storage: USB kabel REST: Ethernetový kabel CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB adaptér Žádná podpora Ixxat pro Ubuntu na arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 nebo ekvivalentní adaptér; USB kabel na virtuálním komunikačním portu (VCP)
Modbus TCP: Ethernetový kabel podle produktového listu

2.2 Zamýšlené použití a publikum
NanoLib je programová knihovna a softwarová komponenta pro provoz a komunikaci s regulátory Nanotec v široké škále průmyslových aplikací a pouze pro náležitě kvalifikované programátory.
Kvůli neschopnému hardwaru (PC) a operačnímu systému v reálném čase není NanoLib určen pro použití v aplikacích, které potřebují synchronní víceosý pohyb nebo jsou obecně časově citlivé.
V žádném případě nesmíte integrovat NanoLib jako bezpečnostní komponent do produktu nebo systému. Při dodání koncovým uživatelům musíte ke každému produktu s komponentou vyrobenou společností Nanotec přidat odpovídající výstražná upozornění a pokyny pro bezpečné použití a bezpečný provoz. Všechna upozornění vydaná Nanotec musíte předat přímo koncovému uživateli.
2.3 Rozsah dodávky a záruka
NanoLib přichází jako *.zip složka z našeho stažení webmísto pro EMEA / APAC nebo AMERIKA. Stažené soubory před nastavením řádně uložte a rozbalte. Balíček NanoLib obsahuje:

Verze: doc 1.4.2 / NanoLib 1.3.0

5

2 Než začnete

Záhlaví rozhraní jako zdrojový kód (API)

Základní funkce jako knihovny v binárním formátu: nano-

Knihovny, které usnadňují komunikaci: nanolibm_lib.dll

[yourfieldbus].dll atd.

Exampprojekt: Přample.sln (Visual Studio

projekt) a example.cpp (hlavní file)

Pro rozsah záruky prosím dodržujte a) naše podmínky pro EMEA / APAC nebo AMERIKA a b) všechny licenční podmínky. Poznámka: Nanotec neručí za vadnou nebo nepřiměřenou kvalitu, manipulaci, instalaci, provoz, použití a údržbu zařízení třetích stran! Pro náležitou bezpečnost se vždy řiďte platnými pokyny OEM.

Verze: doc 1.4.2 / NanoLib 1.3.0

6

Architektura NanoLib

Modulární softwarová struktura NanoLib vám umožňuje uspořádat volně přizpůsobitelné funkce ovladače motoru / fieldbus kolem přísně předpřipraveného jádra. NanoLib obsahuje následující moduly:

Uživatelské rozhraní (API)

Jádro NanoLib

Rozhraní a pomocné třídy které knihovny které

Komunikační knihovny Fieldbus-specifické knihovny, které

získáte přístup k implementaci vašeho řadiče k rozhraní API mezi NanoLib

OD (objektový slovník)

komunikovat s autobusovými knihovnami.

hardware jádra a sběrnice.

založené na základní funkci NanoLib-

národnosti.

3.1 Uživatelské rozhraní

Uživatelské rozhraní se skládá z rozhraní záhlaví files můžete použít pro přístup k parametrům regulátoru. Třídy uživatelského rozhraní, jak jsou popsány v odkazu na třídy/funkce, vám umožňují:
Připojte jak k hardwaru (adaptér fieldbus), tak k řídicímu zařízení. Otevřete OD zařízení, abyste mohli číst/zapisovat parametry ovladače.

3.2 Jádro NanoLib

Jádro NanoLib je dodáváno s importní knihovnou nanolib.lib. Implementuje funkce uživatelského rozhraní a odpovídá za:
Načítání a správa komunikačních knihoven. Poskytování funkcí uživatelského rozhraní v NanoLibAccessor. Tento komunikační vstupní bod de-
zjemňuje sadu operací, které můžete provádět na jádru NanoLib a komunikačních knihovnách.

3.3 Komunikační knihovny

Kromě nanotec.services.nanolib.dll (užitečné pro vaše volitelné Plug & Drive Studio) nabízí NanoLib následující komunikační knihovny:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Všechny knihovny tvoří vrstvu abstrakce hardwaru mezi jádrem a řadičem. Jádro je načte při spuštění z určené složky projektu a použije je k navázání komunikace s kontrolérem odpovídajícím protokolem.

Verze: doc 1.4.2 / NanoLib 1.3.0

7

Začínáme

Přečtěte si, jak správně nastavit NanoLib pro váš operační systém a jak připojit hardware podle potřeby.
4.1 Připravte svůj systém
Před instalací ovladačů adaptéru si nejprve připravte počítač na operační systém. Chcete-li připravit PC na váš OS Windows, nainstalujte MS Visual Studio s rozšířením C++. Chcete-li nainstalovat make a gcc pomocí Linux Bash, zavolejte sudo apt install build-essentials. Poté povolte funkce CAP_NET_ADMIN, CAP_NET_RAW a CAP_SYS_NICE pro aplikaci, která používá NanoLib: 1. Zavolejte sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
jméno>. 2. Teprve poté nainstalujte ovladače adaptéru.
4.2 Nainstalujte ovladač adaptéru Ixxat pro Windows
Pouze po řádné instalaci ovladače můžete použít adaptér USB-to-CAN V2 společnosti Ixxat. Přečtěte si uživatelskou příručku k jednotkám USB, abyste zjistili, zda / jak aktivovat virtuální port (VCP). 1. Stáhněte a nainstalujte ovladač Ixxat VCI 4 pro Windows z www.ixxat.com. 2. Připojte kompaktní adaptér Ixxat USB-to-CAN V2 k počítači přes USB. 3. Pomocí Správce zařízení: Zkontrolujte, zda jsou ovladač i adaptér správně nainstalovány/rozpoznány.
4.3 Nainstalujte ovladač adaptéru Peak pro Windows
Pouze po řádné instalaci ovladače můžete použít adaptér PCAN-USB od společnosti Peak. Přečtěte si uživatelskou příručku k jednotkám USB, abyste zjistili, zda / jak aktivovat virtuální port (VCP). 1. Stáhněte a nainstalujte nastavení ovladače zařízení Windows (= instalační balíček s ovladači zařízení, nástroji a
API) od http://www.peak-system.com. 2. Připojte Peakův PCAN-USB adaptér k PC přes USB. 3. Pomocí Správce zařízení: Zkontrolujte, zda jsou ovladač i adaptér správně nainstalovány/rozpoznány.
4.4 Nainstalujte ovladač adaptéru Ixxat pro Linux
Pouze po řádné instalaci ovladače můžete použít adaptér USB-to-CAN V2 společnosti Ixxat. Poznámka: Ostatní podporované adaptéry potřebují vaše oprávnění od sudo chmod +777/dev/ttyACM* (* číslo zařízení). Přečtěte si uživatelskou příručku k jednotkám USB, abyste zjistili, zda / jak aktivovat virtuální port (VCP). 1. Nainstalujte software potřebný pro ovladač ECI a demo aplikaci:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Stáhněte si ovladač ECI-for-Linux z www.ixxat.com. Rozbalte jej přes:
rozbalte soubor eci_driver_linux_amd64.zip
3. Nainstalujte ovladač pomocí:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Zkompilováním a spuštěním ukázkové aplikace zkontrolujte úspěšnou instalaci ovladače:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Verze: doc 1.4.2 / NanoLib 1.3.0

8

4 Začínáme
4.5 Nainstalujte ovladač adaptéru Peak pro Linux
Pouze po řádné instalaci ovladače můžete použít adaptér PCAN-USB od společnosti Peak. Poznámka: Ostatní podporované adaptéry potřebují vaše oprávnění od sudo chmod +777/dev/ttyACM* (* číslo zařízení). Přečtěte si uživatelskou příručku k jednotkám USB, abyste zjistili, zda / jak aktivovat virtuální port (VCP). 1. Zkontrolujte, zda má váš Linux hlavičky jádra: ls /usr/src/linux-headers-`uname -r`. Pokud ne, nainstalujte
je: sudo apt-get install linux-headers-`uname -r` 2. Teprve nyní nainstalujte balíček libpopt-dev: sudo apt-get install libpopt-dev 3. Stáhněte si potřebný balíček ovladače (peak-linux-driver- xxx.tar.gz) z www.peak-system.com. 4. K rozbalení použijte: tar xzf peak-linux-driver-xxx.tar.gz 5. V rozbalené složce: Zkompilujte a nainstalujte ovladače, základní knihovnu PCAN atd.: make all
sudo make install 6. Pro kontrolu funkce zapojte PCAN-USB adaptér.
a) Zkontrolujte modul jádra:
lsmod | grep pcan b) … a sdílená knihovna:
ls -l /usr/lib/libpcan*
Poznámka: Pokud se vyskytnou problémy s USB3, použijte port USB2.
4.6 Připojte svůj hardware
Abyste mohli spustit projekt NanoLib, připojte kompatibilní ovladač Nanotec k počítači pomocí adaptéru. 1. Vhodným kabelem připojte váš adaptér k ovladači. 2. Připojte adaptér k PC podle datového listu adaptéru. 3. Zapněte regulátor pomocí vhodného napájecího zdroje. 4. V případě potřeby změňte nastavení komunikace ovladače Nanotec podle pokynů v návodu k produktu.
4.7 Načtěte NanoLib
Pro první začátek s rychlými a snadnými základy můžete (ale nesmíte) použít našeho example projekt. 1. V závislosti na vaší oblasti: Stáhněte si NanoLib z našeho webmísto pro EMEA / APAC nebo AMERIKA. 2. Rozbalte balíček files / složky a vyberte jednu možnost: Rychlé a snadné základy: Viz Spuštění příkladuample projekt. Pro pokročilé přizpůsobení ve Windows: Viz Vytvoření vlastního projektu Windows. Pro pokročilé přizpůsobení v Linuxu: Viz Vytvoření vlastního projektu Linux.

Verze: doc 1.4.2 / NanoLib 1.3.0

9

Počínaje example projekt

S řádně nabitým NanoLibem bude example project vám ukáže používání NanoLib s ovladačem Nanotec. Poznámka: Ke každému kroku uveďte komentáře v uvedeném příkladuample kód vysvětluje použité funkce. Bývalýampsoubor se skládá z: `*_functions_example.*' files, které obsahují implementace funkcí rozhraní NanoLib, `*_callback_example.*' files, které obsahují implementace pro různá zpětná volání (skenování, data a
logging) `menu_*.*' file, který obsahuje logiku menu a kód Example.* file, což je hlavní program, vytváří menu a inicializuje všechny používané parametry Sampler_example.* file, který obsahuje example implementace pro sampler použití. Více najdete examples, s některými příkazy pohybu pro různé provozní režimy, ve znalostní bázi na nanotec.com. Všechny jsou použitelné ve Windows nebo Linuxu.
V systému Windows se sadou Visual Studio 1. Otevřete soubor Example.sln file. 2. Otevřete example.cpp. 3. Zkompilujte a spusťte exampkód.
V Linuxu přes Bash 1. Rozbalte zdrojový kód file, přejděte do složky s rozbaleným obsahem. Hlavní file pro example je
example.cpp. 2. V bash zavolejte:
A. „sudo make install“ pro zkopírování sdílených objektů a volání ldconfig. b. „udělat vše“, aby byl test spustitelný. 3. Složka bin obsahuje spustitelný soubor example file. By bash: Přejděte do výstupní složky a zadejte ./example. Pokud nedojde k žádné chybě, vaše sdílené objekty jsou nyní řádně nainstalovány a vaše knihovna je připravena k použití. Pokud chyba zní ./example: chyba při načítání sdílených knihoven: libnanolib.so: nelze otevřít sdílený objekt file: Žádný takový file nebo adresář, instalace sdílených objektů se nezdařila. V takovém případě postupujte podle následujících kroků. 4. Vytvořte novou složku v /usr/local/lib (potřebujete práva správce). Do bash takto napište:
sudo mkdir /usr/local/lib/nanotec
5. Zkopírujte všechny sdílené objekty ze zipu filesložka lib uživatele:
nainstalovat ./lib/*.so /usr/local/lib/nanotec/
6. Zkontrolujte obsah cílové složky pomocí:
ls -al /usr/local/lib/nanotec/
Měl by vypsat sdílený objekt files ze složky lib. 7. Spusťte ldconfig v této složce:
sudo ldconfig /usr/local/lib/nanotec/
Bývalýample je implementován jako aplikace CLI a poskytuje rozhraní nabídky. Položky nabídky jsou založeny na kontextu a budou povoleny nebo zakázány v závislosti na stavu kontextu. Nabízejí vám možnost vybrat a spustit různé funkce knihovny podle typického pracovního postupu pro manipulaci s kontrolérem: 1. Zkontrolujte v počítači připojený hardware (adaptéry) a uveďte je. 2. Vytvořte připojení k adaptéru. 3. Vyhledejte na sběrnici připojená řídicí zařízení. 4. Připojte se k zařízení.

Verze: doc 1.4.2 / NanoLib 1.3.0

10

5 Spuštění example projekt
5. Otestujte jednu nebo více funkcí knihovny: Čtení/zápis z/do slovníku objektů ovladače, aktualizujte firmware, nahrajte a spusťte program NanoJ, spusťte motor a vylaďte jej, nakonfigurujte a použijte protokolováníampler.
6. Uzavřete připojení, nejprve k zařízení, poté k adaptéru.

Verze: doc 1.4.2 / NanoLib 1.3.0

11

Vytvoření vlastního projektu Windows

Vytvořte, zkompilujte a spusťte svůj vlastní projekt Windows pro použití NanoLib.
6.1 Import NanoLib
Importujte záhlaví NanoLib files a knihoven prostřednictvím MS Visual Studio.
1. Otevřete Visual Studio. 2. Přes Vytvořit nový projekt > Console App C++ > Další: Vyberte typ projektu. 3. Pojmenujte svůj projekt (zde: NanolibTest), abyste vytvořili složku projektu v Průzkumníku řešení. 4. Vyberte Dokončit. 5. Otevřete okna file průzkumníka a přejděte do nově vytvořené složky projektu. 6. Vytvořte dvě nové složky, inc a lib. 7. Otevřete složku balíčku NanoLib. 8. Odtud: Zkopírujte záhlaví fileze složky include do složky projektu inc a všech .lib a .dll
files do vaší nové složky projektu lib. 9. Zkontrolujte, zda máte ve složce projektu náležitou strukturu, napřampten:

Nanotic-NanoLib-C++-Programming-FIG- (2)ect složka pro náležitou strukturu:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.stproxfilters NanolibTest.vcxproj.stproxfilters NanolibTest.cpp NanolibTest.sln
6.2 Nakonfigurujte svůj projekt
K nastavení projektů NanoLib použijte Solution Explorer v MS Visual Studio. Poznámka: Pro správnou funkci NanoLibu vyberte konfiguraci vydání (ne ladění!) v nastavení projektu Visual C++; poté vytvořte a propojte projekt s běhovými moduly VC redistribuovatelných položek C++ [2022].
1. V Průzkumníku řešení: Přejděte do složky projektu (zde: NanolibTest). 2. Kliknutím na složku otevřete místní nabídku. 3. Vyberte Vlastnosti. 4. Aktivujte Všechny konfigurace a Všechny platformy. 5. Vyberte C/C++ a přejděte na Další zahrnout adresáře. 6. Vložte: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Vyberte Linker a přejděte na Další adresáře knihoven. 8. Vložte: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Rozšiřte Linker a vyberte Input. 10. Přejděte na Další závislosti a vložte: nanolib.lib;%(AdditionalDependencies) 11. Potvrďte pomocí OK.

Verze: doc 1.4.2 / NanoLib 1.3.0

12

6 Vytvoření vlastního projektu Windows
12. Přejděte do Konfigurace > C++ > Jazyk > Jazykový standard > ISO C++17 Standard a nastavte jazykový standard na C++17 (/std:c++17).
6.3 Sestavte svůj projekt
Sestavte svůj projekt NanoLib v MS Visual Studio. 1. Otevřete hlavní *.cpp file (zde: nanolib_example.cpp) a v případě potřeby upravte kód. 2. Vyberte Build > Configuration Manager. 3. Změňte aktivní platformy řešení na x64. 4. Potvrďte přes Zavřít. 5. Vyberte Sestavit > Sestavit řešení. 6. Žádná chyba? Zkontrolujte, zda váš výstup kompilace správně hlásí:
1>—— Čisté zahájení: Projekt: NanolibTest, Konfigurace: Debug x64 —–========== Čištění: 1 úspěšné, 0 neúspěšné, 0 přeskočeno ===========

Verze: doc 1.4.2 / NanoLib 1.3.0

13

7 Vytvoření vlastního linuxového projektu
7 Vytvoření vlastního linuxového projektu
Vytvořte, zkompilujte a spusťte svůj vlastní projekt Linux pro použití NanoLib. 1. V rozbalené instalační sadě NanoLib: Otevřete /nanotec_nanolib. 2. Najděte všechny sdílené objekty v souboru tar.gz file. 3. Vyberte jednu možnost: Nainstalujte každou knihovnu buď pomocí Makefile nebo ručně.
7.1 Nainstalujte sdílené objekty pomocí Makefile
Použijte Makefile s Linux Bash k automatické instalaci všech výchozích *.so files. 1. Přes Bash: Přejděte do složky obsahující značkufile. 2. Zkopírujte sdílené objekty pomocí:
sudo make install 3. Potvrďte přes:
ldconfig
7.2 Nainstalujte sdílené objekty ručně
Použijte Bash k instalaci všech *.so files NanoLib ručně. 1. Přes Bash: Vytvořte novou složku v /usr/local/lib. 2. Nutná administrátorská práva! Typ:
sudo mkdir /usr/local/lib/nanotec 3. Přejděte do složky rozbaleného instalačního balíčku. 4. Zkopírujte všechny sdílené objekty ze složky lib pomocí:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Zkontrolujte obsah cílové složky pomocí:
ls -al /usr/local/lib/nanotec/ 6. Zkontrolujte, zda jsou uvedeny všechny sdílené objekty ze složky lib. 7. Spusťte ldconfig v této složce pomocí:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Vytvořte svůj projekt
S nainstalovanými sdílenými objekty: Vytvořte nový projekt pro svůj Linux NanoLib. 1. Přes Bash: Vytvořte novou složku projektu (zde: NanoLibTest) pomocí:
mkdir NanoLibTest cd NanoLibTest
2. Zkopírujte záhlaví files do složky zahrnutí (zde: inc) přes: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Vytvořte hlavní file (NanoLibTest.cpp) přes: #include “accessor_factory.hpp” #include

Verze: doc 1.4.2 / NanoLib 1.3.0

14

7 Vytvoření vlastního linuxového projektu
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds result = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << vysledek.getError() << std::endl; }
else{ std::cout << “Úspěch” << std::endl; }
odstranit přístupový objekt; návrat 0; }
4. Zkontrolujte, zda máte ve složce projektu náležitou strukturu:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Zkompilujte a otestujte svůj projekt
Připravte svůj Linux NanoLib k použití prostřednictvím Bash.
1. Přes Bash: Zkompilujte hlavní file přes:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Propojte spustitelný soubor pomocí:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Spusťte testovací program pomocí:
./test
4. Zkontrolujte, zda váš Bash řádně hlásí:
úspěch

Verze: doc 1.4.2 / NanoLib 1.3.0

15

8 Odkaz na třídy / funkce

8 Odkaz na třídy / funkce

Zde najdete seznam tříd uživatelského rozhraní NanoLib a jejich členských funkcí. Typický popis funkce zahrnuje krátký úvod, definici funkce a seznam parametrů / návratů:

ExampleFunction () Stručně vám řekne, co funkce dělá.
virtuální void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Parametry param_a param_b
Vrátí ResultVoid

V případě potřeby další komentář. V případě potřeby další komentář.

8.1 NanoLibAccessor

Třída rozhraní použitá jako vstupní bod do NanoLib. Typický pracovní postup vypadá takto:
1. Začněte hledáním hardwaru pomocí NanoLibAccessor.listAvailableBusHardware (). 2. Nastavte komunikační nastavení pomocí BusHardwareOptions (). 3. Otevřete hardwarové připojení pomocí NanoLibAccessor.openBusHardwareWithProtocol (). 4. Prohledejte sběrnici pro připojená zařízení pomocí NanoLibAccessor.scanDevices (). 5. Přidejte zařízení pomocí NanoLibAccessor.addDevice (). 6. Připojte se k zařízení pomocí NanoLibAccessor.connectDevice (). 7. Po dokončení operace odpojte zařízení pomocí NanoLibAccessor.disconnectDevice (). 8. Odstraňte zařízení pomocí NanoLibAccessor.removeDevice (). 9. Ukončete hardwarové připojení pomocí NanoLibAccessor.closeBusHardware ().
NanoLibAccessor má následující veřejné členské funkce:

listAvailableBusHardware () Tuto funkci použijte k zobrazení seznamu dostupného hardwaru fieldbus.
virtuální ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Vrátí ResultBusHwIds

Poskytuje pole ID fieldbus.

openBusHardwareWithProtocol () Tuto funkci použijte k připojení hardwaru sběrnice.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parametry busHwId busHwOpt
Vrátí ResultVoid

Určuje fieldbus, který se má otevřít. Určuje možnosti otevření fieldbus. Potvrzuje, že byla spuštěna funkce zrušení.

isBusHardwareOpen () Tuto funkci použijte ke kontrole, zda je vaše hardwarové připojení fieldbus otevřené.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Verze: doc 1.4.2 / NanoLib 1.3.0

16

8 Odkaz na třídy / funkce

Parametry BusHardwareId Vrací hodnotu true
falešný

Určuje každou fieldbus, která se má otevřít. Hardware je otevřený. Hardware je zavřený.

getProtocolSpecificAccessor () Tuto funkci použijte k získání objektu přístupového objektu specifického pro protokol.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parametry busHwId Vrací ResultVoid

Určuje fieldbus, pro který se má získat přístupový objekt. Potvrzuje, že byla spuštěna funkce zrušení.

getProfinetDCP () Tuto funkci použijte k vrácení odkazu na rozhraní Profinet DCP.
virtuální ProfinetDCP a getProfinetDCP ()

Vrátí ProfinetDCP

getSamplerInterface () Tuto funkci použijte k získání odkazu na sampler rozhraní.
virtuální SamplerInterface & getSamplerInterface ()

Návrat SamplerInterface

Odkazuje na samptřída rozhraní ler.

setBusState () Tuto funkci použijte k nastavení stavu specifického pro protokol sběrnice.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parametry busHwId state
Vrátí ResultVoid

Určuje fieldbus, který se má otevřít. Přiřadí stav specifický pro sběrnici jako hodnotu řetězce. Potvrzuje, že byla spuštěna funkce zrušení.

scanDevices () Tuto funkci použijte k vyhledání zařízení v síti.
virtuální ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* zpětné volání)

Parametry zpětné volání busHwId
Vrátí ResultDeviceIds IOError

Určuje fieldbus, který se má skenovat. Sledování průběhu NlcScanBusCallback. Poskytuje pole ID zařízení. Informuje, že zařízení nebylo nalezeno.

Verze: doc 1.4.2 / NanoLib 1.3.0

17

8 Odkaz na třídy / funkce

addDevice ()
Pomocí této funkce přidáte sběrnicové zařízení popsané deviceId do interního seznamu zařízení NanoLib a vrátíte pro něj deviceHandle.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parametry deviceId Vrací ResultDeviceHandle

Určuje zařízení, které se má přidat do seznamu. Dodává rukojeť zařízení.

connectDevice () Tuto funkci použijte k připojení zařízení pomocí deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultVoid
IOError

Určuje, ke kterému sběrnicovému zařízení se NanoLib připojuje. Potvrzuje, že byla spuštěna funkce zrušení. Informuje, že zařízení nebylo nalezeno.

getDeviceName () Tuto funkci použijte k získání názvu zařízení podle deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultString

Určuje, pro jaké sběrnicové zařízení NanoLib získá jméno. Poskytuje názvy zařízení jako řetězec.

getDeviceProductCode () Tuto funkci použijte k získání kódu produktu zařízení pomocí deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrací ResultInt

Určuje, pro jaké sběrnicové zařízení NanoLib získá kód produktu. Dodává kódy produktů jako celé číslo.

getDeviceVendorId () Tuto funkci použijte k získání ID dodavatele zařízení podle deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrací ResultInt
Zdroj není k dispozici

Určuje, pro jaké sběrnicové zařízení NanoLib získá ID dodavatele. Poskytuje ID dodavatele jako celé číslo. Informuje, že nebyla nalezena žádná data.

Verze: doc 1.4.2 / NanoLib 1.3.0

18

8 Odkaz na třídy / funkce

getDeviceId () Tuto funkci použijte k získání konkrétního ID zařízení z interního seznamu NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultDeviceId

Určuje, pro jaké sběrnicové zařízení NanoLib získá ID zařízení. Poskytuje ID zařízení.

getDeviceIds () Pomocí této funkce získáte ID všech zařízení z interního seznamu NanoLib.
virtuální ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Vrátí ResultDeviceIds

Poskytuje seznam ID zařízení.

getDeviceUid () Tuto funkci použijte k získání jedinečného ID zařízení (96 bitů / 12 bajtů) pomocí deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultArrayByte
Zdroj není k dispozici

Určuje, pro jaké sběrnicové zařízení NanoLib získá jedinečné ID. Poskytuje jedinečná ID jako bajtové pole. Informuje, že nebyla nalezena žádná data.

getDeviceSerialNumber () Tuto funkci použijte k získání sériového čísla zařízení pomocí deviceHandle.
virtuální ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultString
Zdroj není k dispozici

Určuje, pro jaké sběrnicové zařízení NanoLib získá sériové číslo. Dodává sériová čísla jako řetězec. Informuje, že nebyla nalezena žádná data.

getDeviceHardwareGroup () Tuto funkci použijte k získání hardwarové skupiny sběrnicového zařízení podle deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrací ResultInt

Určuje, pro jaké sběrnicové zařízení NanoLib získá skupinu hardwaru.
Poskytuje skupiny hardwaru jako celé číslo.

getDeviceHardwareVersion () Tuto funkci použijte k získání verze hardwaru sběrnicového zařízení pomocí deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Verze: doc 1.4.2 / NanoLib 1.3.0

19

8 Odkaz na třídy / funkce

Parametry zařízeníHandle

Návraty

ResultString ResourceNedostupný

Určuje, pro jaké sběrnicové zařízení NanoLib získá verzi hardwaru. Poskytuje názvy zařízení jako řetězec. Informuje, že nebyla nalezena žádná data.

getDeviceFirmwareBuildId () Tuto funkci použijte k získání ID sestavení firmwaru sběrnicového zařízení podle deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultString

Určuje, pro jaké sběrnicové zařízení NanoLib získá ID sestavení firmwaru.
Poskytuje názvy zařízení jako řetězec.

getDeviceBootloaderVersion () Tuto funkci použijte k získání verze zavaděče sběrnicového zařízení pomocí deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parametry zařízeníHandle

Návraty

ResultInt ResourceNedostupný

Určuje, pro jaké sběrnicové zařízení NanoLib získá verzi bootloaderu. Poskytuje verze bootloaderu jako celé číslo. Informuje, že nebyla nalezena žádná data.

getDeviceBootloaderBuildId () Tuto funkci použijte k získání ID sestavení zavaděče sběrnicového zařízení podle deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultString

Určuje, pro jaké sběrnicové zařízení NanoLib získá ID sestavení zavaděče.
Poskytuje názvy zařízení jako řetězec.

rebootDevice () Tuto funkci použijte k restartování zařízení pomocí deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parametry deviceHandle Vrátí ResultVoid

Určuje fieldbus, který se má restartovat. Potvrzuje, že byla spuštěna funkce zrušení.

getDeviceState () Tuto funkci použijte k získání stavu specifického pro protokol zařízení.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parametry zařízeníHandle

Určuje, pro jaké sběrnicové zařízení NanoLib získá stav.

Verze: doc 1.4.2 / NanoLib 1.3.0

20

8 Odkaz na třídy / funkce

Vrátí ResultString

Poskytuje názvy zařízení jako řetězec.

setDeviceState () Tuto funkci použijte k nastavení stavu specifického pro protokol zařízení.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parametry stav zařízení Handle
Vrátí ResultVoid

Určuje, pro jaké sběrnicové zařízení NanoLib nastavuje stav. Přiřadí stav specifický pro sběrnici jako hodnotu řetězce. Potvrzuje, že byla spuštěna funkce zrušení.

getConnectionState ()
Tuto funkci použijte k získání posledního známého stavu připojení konkrétního zařízení pomocí deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtuální ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultConnectionState

Určuje, pro jaké sběrnicové zařízení NanoLib získá stav připojení.
Poskytuje stav připojení (= Disconnected, Connected, ConnectedBootloader).

checkConnectionState ()
Pouze v případě, že poslední známý stav nebyl Disconnected: Tuto funkci použijte ke kontrole a případné aktualizaci stavu připojení konkrétního zařízení pomocí deviceHandle a testováním několika operací specifických pro režim.
virtuální ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultConnectionState

Určuje, jaké sběrnicové zařízení NanoLib kontroluje stav připojení.
Poskytuje stav připojení (= není odpojeno).

assignObjectDictionary () Tuto manuální funkci použijte k samostatnému přiřazení slovníku objektů (OD) zařízení deviceHandle.
virtuální ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parametry deviceHandle objectDictionary
Vrátí ResultObjectDictionary

Určuje, kterému sběrnicovému zařízení NanoLib přiřadí OD. Zobrazuje vlastnosti slovníku objektů.

autoAssignObjectDictionary ()
Použijte tento automatismus k tomu, aby NanoLib přiřadil objektový slovník (OD) zařízení deviceHandle. Po nalezení a načtení vhodného OD jej NanoLib automaticky přiřadí k zařízení. Poznámka: Pokud je v knihovně objektů již načten kompatibilní OD, NanoLib jej automaticky použije bez skenování zaslaného adresáře.
virtuální ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Verze: doc 1.4.2 / NanoLib 1.3.0

21

8 Odkaz na třídy / funkce

Parametry zařízeníHandle

Návraty

slovníkyLocationPath ResultObjectDictionary

Určuje, pro které sběrnicové zařízení má NanoLib automaticky vyhledávat vhodné OD. Určuje cestu k adresáři OD. Zobrazuje vlastnosti slovníku objektů.

getAssignedObjectDictionary ()
Pomocí této funkce získáte objektový slovník přiřazený k zařízení pomocí deviceHandle.
virtuální ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const zařízení
Zacházet s)

Parametry deviceHandle Vrátí ResultObjectDictionary

Určuje, pro jaké sběrnicové zařízení NanoLib získá přiřazené OD. Zobrazuje vlastnosti slovníku objektů.

getObjectDictionaryLibrary () Tato funkce vrací odkaz OdLibrary.
virtuální OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Vrací OdLibrary&

Otevře celou knihovnu OD a její slovníky objektů.

setLoggingLevel () Tuto funkci použijte k nastavení potřebných podrobností protokolu (a protokolu file velikost). Výchozí úroveň je Info.
virtuální void nlc::NanoLibAccessor::setLoggingLevel (úroveň LogLevel)

Úroveň parametrů

Jsou možné následující podrobnosti protokolu:

0 = trasování 1 = ladění 2 = informace 3 = upozornění 4 = chyba 5 = kritická 6 = vypnuto

Nejnižší úroveň (největší log file); zaznamenává všechny možné podrobnosti, plus spuštění/zastavení softwaru. Zaznamenává informace o ladění (= průběžné výsledky, odeslaný nebo přijatý obsah atd.) Výchozí úroveň; zaznamenává informační zprávy. Zaznamenává problémy, které se vyskytly, ale nezastaví aktuální algoritmus. Protokoly jen vážné potíže, které zastavily algoritmus. Nejvyšší úroveň (nejmenší log file); vypne odhlášení; žádný další protokol vůbec. Žádné protokolování vůbec.

setLoggingCallback ()
Tuto funkci použijte k nastavení ukazatele zpětného volání protokolování a modulu protokolu (= knihovny) pro toto zpětné volání (nikoli pro samotný protokolovač).
virtuální void nlc::NanoLibAccessor::setLoggingCallback (zpětné volání NlcLoggingCall*, const nlc::LogModule & logModule)

Parametry *callback logModule

Nastaví ukazatel zpětného volání. Vyladí zpětné volání (ne logger!) do vaší knihovny.

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

Aktivuje zpětné volání pouze pro jádro NanoLib. Aktivuje zpětné volání pouze CANopen. Aktivuje zpětné volání pouze pro Modbus. Aktivuje zpětné volání pouze EtherCAT.

Verze: doc 1.4.2 / NanoLib 1.3.0

22

8 Odkaz na třídy / funkce

4 = NanolibRest 5 = NanolibUSB

Aktivuje zpětné volání pouze REST. Aktivuje zpětné volání pouze přes USB.

unsetLoggingCallback () Tuto funkci použijte ke zrušení ukazatele zpětného volání protokolování.
virtuální void nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Tuto funkci použijte ke čtení číselné hodnoty ze slovníku objektů.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametry deviceHandle odIndex
Vrátí ResultInt

Určuje, ze kterého sběrnicového zařízení NanoLib čte. Určuje (sub-) index, ze kterého se má číst. Poskytuje neinterpretovanou číselnou hodnotu (může být se znaménkem, bez znaménka, fixní 16.16bitové hodnoty).

readNumberArray () Tuto funkci použijte ke čtení číselných polí ze slovníku objektů.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Parametry index zařízeníHandle
Vrátí ResultArrayInt

Určuje, ze kterého sběrnicového zařízení NanoLib čte. Index objektu pole. Poskytuje celočíselné pole.

readBytes () Tuto funkci použijte ke čtení libovolných bajtů (data objektu domény) ze slovníku objektů.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametry deviceHandle odIndex
Vrátí ResultArrayByte

Určuje, ze kterého sběrnicového zařízení NanoLib čte. Určuje (sub-) index, ze kterého se má číst. Poskytuje bajtové pole.

readString () Tuto funkci použijte ke čtení řetězců z adresáře objektu.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametry deviceHandle odIndex
Vrátí ResultString

Určuje, ze kterého sběrnicového zařízení NanoLib čte. Určuje (sub-) index, ze kterého se má číst. Poskytuje názvy zařízení jako řetězec.

Verze: doc 1.4.2 / NanoLib 1.3.0

23

8 Odkaz na třídy / funkce

writeNumber () Tuto funkci použijte k zápisu číselných hodnot do adresáře objektů.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, hodnota int64_t, const OdIndex odIndex, unsigned int bitLength)

Parametry hodnota deviceHandle odIndex bitLength
Vrátí ResultVoid

Určuje, na jaké sběrnicové zařízení NanoLib zapisuje. Neinterpretovaná hodnota (může být podepsané, nepodepsané, oprava 16.16). Určuje (sub-) index, ze kterého se má číst. Délka v bitech. Potvrzuje, že byla spuštěna funkce zrušení.

writeBytes () Tuto funkci použijte k zápisu libovolných bajtů (data objektu domény) do adresáře objektu.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & data, const OdIndex odIndex)

Parametry deviceHandle data odIndex
Vrátí ResultVoid

Určuje, na jaké sběrnicové zařízení NanoLib zapisuje. Byte vektor / pole. Určuje (sub-) index, ze kterého se má číst. Potvrzuje, že byla spuštěna funkce zrušení.

uploadFirmware ()
Tuto funkci použijte k aktualizaci firmwaru ovladače.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, zpětné volání NlcDataTransfer*)

Parametry deviceHandle fwData NlcDataTransferCallback
Vrátí ResultVoid

Určuje, jaké zařízení sběrnice NanoLib aktualizuje. Pole obsahující data firmwaru. Nástroj na sledování průběhu dat. Potvrzuje, že byla spuštěna funkce zrušení.

uploadFirmwareFromFile ()
Tuto funkci použijte k aktualizaci firmwaru ovladače jeho nahráním file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absolutníFileCesta, NlcDataTransferCallback* zpětné volání)

Parametry deviceHandle absolutníFileCesta NlcDataTransferCallback
Vrátí ResultVoid

Určuje, jaké zařízení sběrnice NanoLib aktualizuje. Cesta k file obsahující data firmwaru (std::string). Nástroj na sledování průběhu dat. Potvrzuje, že byla spuštěna funkce zrušení.

Verze: doc 1.4.2 / NanoLib 1.3.0

24

8 Odkaz na třídy / funkce

uploadBootloader ()
Tuto funkci použijte k aktualizaci bootloaderu řadiče.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, zpětné volání NlcDataTransfer*)

Parametry deviceHandle btData NlcDataTransferCallback
Vrátí ResultVoid

Určuje, jaké zařízení sběrnice NanoLib aktualizuje. Pole obsahující data bootloaderu. Nástroj na sledování průběhu dat. Potvrzuje, že byla spuštěna funkce zrušení.

uploadBootloaderFromFile ()
Tuto funkci použijte k aktualizaci zavaděče řadiče jeho nahráním file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileCesta, NlcDataTransferCallback* zpětné volání)

Parametry deviceHandle bootloaderAbsoluteFileCesta NlcDataTransferCallback
Vrátí ResultVoid

Určuje, jaké zařízení sběrnice NanoLib aktualizuje. Cesta k file obsahující data bootloaderu (std::string). Nástroj na sledování průběhu dat. Potvrzuje, že byla spuštěna funkce zrušení.

uploadBootloaderFirmware ()
Tuto funkci použijte k aktualizaci zavaděče a firmwaru řadiče.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, zpětné volání NlcDataTransfer*)

Parametry deviceHandle btData fwData NlcDataTransferCallback
Vrátí ResultVoid

Určuje, jaké zařízení sběrnice NanoLib aktualizuje. Pole obsahující data bootloaderu. Pole obsahující data firmwaru. Nástroj na sledování průběhu dat. Potvrzuje, že byla spuštěna funkce zrušení.

uploadBootloaderFirmwareFromFile ()
Tuto funkci použijte k aktualizaci zavaděče a firmwaru vašeho řadiče nahráním souboru files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileCesta, const std::string & absolutníFileCesta, NlcDataTransferCallback* zpětné volání)

Parametry deviceHandle bootloaderAbsoluteFileCesta absolutníFileCesta NlcDataTransferCallback
Vrátí ResultVoid

Určuje, jaké zařízení sběrnice NanoLib aktualizuje. Cesta k file obsahující data bootloaderu (std::string). Cesta k file obsahující data firmwaru (uint8_t). Nástroj na sledování průběhu dat. Potvrzuje, že byla spuštěna funkce zrušení.

Verze: doc 1.4.2 / NanoLib 1.3.0

25

8 Odkaz na třídy / funkce

uploadNanoJ ()
Tuto veřejnou funkci použijte k nahrání programu NanoJ do ovladače.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, zpětné volání NlcDataTransfer*)

Parametry deviceHandle vmmData NlcDataTransferCallback
Vrátí ResultVoid

Určuje, na jaké sběrnicové zařízení NanoLib nahrává. Pole obsahující data NanoJ. Nástroj na sledování průběhu dat. Potvrzuje, že byla spuštěna funkce zrušení.

uploadNanoJFromFile ()
Tuto veřejnou funkci použijte k nahrání programu NanoJ do ovladače nahráním souboru file.
virtuální ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absolutníFileCesta, NlcDataTransferCallback* zpětné volání)

Parametry deviceHandle absolutníFileCesta NlcDataTransferCallback
Vrátí ResultVoid

Určuje, na jaké sběrnicové zařízení NanoLib nahrává. Cesta k file obsahující data NanoJ (std::string). Nástroj na sledování průběhu dat. Potvrzuje, že byla spuštěna funkce zrušení.

odpojitDevice () Tuto funkci použijte k odpojení zařízení pomocí zařízení Handle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parametry deviceHandle Vrátí ResultVoid

Určuje, od kterého sběrnicového zařízení se NanoLib odpojuje. Potvrzuje, že byla spuštěna funkce zrušení.

removeDevice () Tuto funkci použijte k odstranění vašeho zařízení z interního seznamu zařízení NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Parametry deviceHandle Vrátí ResultVoid

Určuje, které sběrnicové zařízení NanoLib odstraňuje. Potvrzuje, že byla spuštěna funkce zrušení.

closeBusHardware () Tuto funkci použijte k odpojení od hardwaru fieldbus.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parametry busHwId Vrací ResultVoid

Určuje fieldbus, od kterého se má odpojit. Potvrzuje, že byla spuštěna funkce zrušení.

Verze: doc 1.4.2 / NanoLib 1.3.0

26

8 Odkaz na třídy / funkce

8.2 BusHardwareId
Tuto třídu použijte k identifikaci hardwaru sběrnice jedna ku jedné nebo k rozlišení různého hardwaru sběrnice od sebe. Tato třída (bez funkcí setter, které mají být neměnné od vytvoření) také obsahuje informace o:
Hardware (= název adaptéru, síťový adaptér atd.) Protokol, který se má použít (= Modbus TCP, CANopen atd.) Hardwarový specifikátor sběrnice (= název sériového portu, MAC Friendly název
adresa atd.)

BusHardwareId () [1/3] Konstruktor, který vytvoří nový objekt ID hardwaru sběrnice.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parametry busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Typ hardwaru (= ZK-USB-CAN-1 atd.). Sběrnicový komunikační protokol (= CANopen atd.). Specifikátor hardwaru (= COM3 atd.). Další specifikátor hardwaru (řekněme informace o umístění USB). Popisný název (= AdapterName (Port) atd.).

BusHardwareId () [2/3] Konstruktor, který vytvoří nový objekt ID hardwaru sběrnice s možností dalšího specifikátoru hardwaru.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & název

Parametry busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Typ hardwaru (= ZK-USB-CAN-1 atd.). Sběrnicový komunikační protokol (= CANopen atd.). Specifikátor hardwaru (= COM3 atd.). Další specifikátor hardwaru (řekněme informace o umístění USB). Popisný název (= AdapterName (Port) atd.).

BusHardwareId () [3/3] Konstruktor, který kopíruje existující busHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parametry busHardwareId

Pojmenuje ID hardwaru sběrnice, ze kterého se má kopírovat.

rovná se () Porovná nové ID hardwaru sběrnice se stávajícími.
bool nlc::BusHardwareId::rovná se (BusHardwareId const a další) const

Parametry other Vrací hodnotu true

Další objekt stejné třídy. Pokud jsou obě stejné ve všech hodnotách.

Verze: doc 1.4.2 / NanoLib 1.3.0

27

8 Odkaz na třídy / funkce

falešný

Pokud se hodnoty liší.

getBusHardware () Přečte hardwarový řetězec sběrnice.
std::string nlc::BusHardwareId::getBusHardware () const

Vrátí řetězec

getHardwareSpecifier () Přečte řetězec specifikátoru hardwaru sběrnice (= název sítě atd.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Vrátí řetězec

getExtraHardwareSpecifier () Přečte řetězec specifikátoru dalšího hardwaru sběrnice (= MAC adresa atd.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Vrátí řetězec

getName () Přečte popisný název hardwaru sběrnice.
std::string nlc::BusHardwareId::getName () const

Vrátí řetězec

getProtocol () Přečte řetězec protokolu sběrnice.
std::string nlc::BusHardwareId::getProtocol () const

Vrátí řetězec

toString () Vrací ID hardwaru sběrnice jako řetězec.
std::string nlc::BusHardwareId::toString () const

Vrátí řetězec
8.3 BusHardwareOptions
Najděte v této třídě v seznamu řetězců klíč-hodnota všechny možnosti potřebné k otevření hardwaru sběrnice.

Verze: doc 1.4.2 / NanoLib 1.3.0

28

8 Odkaz na třídy / funkce

BusHardwareOptions () [1/2] Vytvoří nový objekt volby hardwaru sběrnice.
nlc::BusHardwareOptions::BusHardwareOptions () Pomocí funkce addOption () přidejte páry klíč–hodnota.

BusHardwareOptions () [2/2] Vytvoří nový objekt hardwarových možností sběrnice s mapou klíč-hodnota již na místě.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & options)

Možnosti parametrů

Mapa s možnostmi provozu hardwaru sběrnice.

addOption () Vytvoří další klíče a hodnoty.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Hodnota klíče parametrů

Example: BAUD_RATE_OPTIONS_NAME, viz bus_hw_options_ defaults
Exampsoubor: BAUD_RATE_1000K, viz bus_hw_options_defaults

rovná se () Porovná možnosti BusHardwareOptions se stávajícími.
bool nlc::BusHardwareOptions::rovná se (BusHardwareOptions const a další) const

Parametry other Vrací hodnotu true
falešný

Další objekt stejné třídy. Pokud má druhý objekt všechny přesně stejné možnosti. Pokud má druhý objekt jiné klíče nebo hodnoty.

getOptions () Přečte všechny přidané páry klíč–hodnota.
std::map nlc::BusHardwareOptions::getOptions () const

Vrátí mapu řetězců

toString () Vrátí všechny klíče / hodnoty jako řetězec.
std::string nlc::BusHardwareId::toString () const

Vrátí řetězec
8.4 BusHwOptionsVýchozí
Tato výchozí třída možností konfigurace má následující veřejné atributy:

Verze: doc 1.4.2 / NanoLib 1.3.0

29

8 Odkaz na třídy / funkce

const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 Přenosová rychlost

Struktura, která obsahuje přenosové rychlosti sběrnice CAN v následujících veřejných atributech:

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

BAUD_RATE_1000 K = „1000 800 800“ BAUD_RATE_500 K = „500 250“ BAUD_RATE_250 K = „125 125“ BAUD_RATE_100 K = „100 50“ BAUD_RATE_50 K = „20 20“ BAUD_RATE_10K = „10 5 BAUD“ = 5 XNUMX KB ATE_XNUMXK = „XNUMXk“ BAUD_RATE_XNUMXK = „XNUMXk“ BAUD_RATE_XNUMXK = „XNUMXk“

8.6 CanBus

Výchozí třída možností konfigurace s následujícími veřejnými atributy:

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = “může adaptér přenosová rychlost” baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 Služba CanOpenNmtService

Pro službu NMT tato struktura obsahuje stavy CANopen NMT jako řetězcové hodnoty v následujících veřejných atributech:

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

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

8.8 CanOpenNmtState

Tato struktura obsahuje stavy CANopen NMT jako řetězcové hodnoty v následujících veřejných atributech:

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

ZASTAVENO = „ZASTAVENO“ PRE_OPERATIONAL = „PRE_OPERATIONAL“ OPERATIONAL = „PROVOZNÍ“ INICIALIZACE = „INITIALIZACE“ NEZNÁMÝ = „NEZNÁMÝ“

8.9 Struktura EtherCATBus

Tato struktura obsahuje možnosti konfigurace komunikace EtherCAT v následujících veřejných atributech:

Verze: doc 1.4.2 / NanoLib 1.3.0

30

8 Odkaz na třídy / funkce

const std::string NETWORK_FIRMWARE_STATE_OP- Stav sítě považován za režim firmwaru. Přijatelný

TION_NAME = „Stav firmwaru sítě“

hodnoty (výchozí = PRE_OPERATIONAL):

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

const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PŘEDPROVOZNÍ”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Časový limit v milisekundách pro získání výhradního zámku

TION_NAME = „Časový limit sdíleného zámku“

sítě (výchozí = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = „500“

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Časový limit v milisekundách pro získání sdíleného zámku

NAME = „Časový limit sdíleného zámku“

sítě (výchozí = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = „250“

const std::string READ_TIMEOUT_OPTION_NAME = Časový limit v milisekundách pro operaci čtení (výchozí

„Časový limit čtení“

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = „700“

const std::string WRITE_TIMEOUT_OPTION_NAME = Časový limit v milisekundách pro operaci zápisu (výchozí

"Časový limit zápisu"

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = „200“

const std::string READ_WRITE_ATTEMPTS_OPTION_ Maximální počet pokusů o čtení nebo zápis (nenulové hodnoty

NAME = „Pokusy o čtení/zápis“

pouze; výchozí = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = „5“

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Pokusy o změnu stavu sítě”

Maximální počet pokusů o změnu stavu sítě (pouze nenulové hodnoty; výchozí = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = „10“

const std::string PDO_IO_ENABLED_OPTION_NAME Povolí nebo zakáže zpracování PDO pro digitální vstupy /

= “PDO IO povoleno”

výstupy (pouze „True“ nebo „False“; výchozí = „True“).

const std::string DEFAULT_PDO_IO_ENABLED = “Pravda”

8.10 Struktura EtherCATState

Tato struktura obsahuje stavy EtherCAT slave / sítě jako řetězcové hodnoty v následujících veřejných atributech. Poznámka: Výchozí stav při zapnutí je PRE_OPERATIONAL; NanoLib nemůže poskytnout žádný spolehlivý „PROVOZNÍ“ stav v operačním systému, který není v reálném čase:

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

NONE = „NONE“ INIT = „INIT“ PRE_OPERATIONAL = „PRE_OPERATIONAL“ BOOT = „BOOT“ SAFE_OPERATIONAL = „SAFE_OPERATIONAL“ OPERATIONAL = „PROVOZNÍ“

Verze: doc 1.4.2 / NanoLib 1.3.0

31

8 Odkaz na třídy / funkce

8.11 Ixxat

Tato struktura obsahuje všechny informace pro Ixxat usb-to-can v následujících veřejných atributech:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = „číslo sběrnice adaptéru ixxat“

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Tato struktura obsahuje číslo sběrnice pro Ixxat usb-to-can v následujících veřejných atributech:

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

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

8.13 špiček

Tato struktura obsahuje všechny informace pro Peak usb-to-can v následujících veřejných atributech:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = „špičkové číslo sběrnice adaptéru“

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Tato struktura obsahuje číslo sběrnice pro Peak usb-to-can v následujících veřejných atributech:

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

BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std:_USBBUSNUMBER) = std:_USBBUSPC (PCAN_4_USBBUS) std::to_string (PCAN_USBBUS5) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS_8) = ANstBB_NUMBER. BUS_NUMBER_8 = std::to_string (PCAN_USBBUS9) BUS_NUMBER_9 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_11 = BUS_NUMBER_12 = BUS_NUMBER_12 = BUS_NUMBER_13 = BUSBB std::to_string (PCAN_USBBUS13) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS14) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS15)

8.15 DeviceHandle
Tato třída představuje ovladač pro ovládání zařízení na sběrnici a má následující veřejné členské funkce.

DeviceHandle () DeviceHandle (handle uint32_t)

Verze: doc 1.4.2 / NanoLib 1.3.0

32

8 Odkaz na třídy / funkce

rovná se () Porovná se s daným popisovačem zařízení.
bool se rovná (DeviceHandle const other) const (uint32_t handle)

toString () Vrací řetězcovou reprezentaci popisovače zařízení.
std::string toString () const

get () Vrátí popisovač zařízení.
uint32_t get () const

8.16 DeviceId
Tuto třídu (neměnnou od vytvoření) použijte k identifikaci a rozlišení zařízení na sběrnici:

Identifikátor hardwarového adaptéru

Identifikátor zařízení

Popis

Význam hodnot ID / popisu zařízení závisí na sběrnici. Napřample, sběrnice CAN může používat celé číslo ID.

DeviceId () [1/3] Vytvoří nový objekt ID zařízení.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

Parametry busHardwareId_ deviceId_ description_

Identifikátor autobusu. Index; v závislosti na sběrnici (= ID uzlu CANopen atd.). Popis (může být prázdný); podléhá autobusu.

DeviceId () [2/3] Vytvoří nový objekt ID zařízení s rozšířenými možnostmi ID.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)

Parametry busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Identifikátor autobusu. Index; v závislosti na sběrnici (= ID uzlu CANopen atd.). Popis (může být prázdný); podléhá autobusu. Další ID (může být prázdné); význam závisí na autobusu. Další ID řetězce (může být prázdné); význam závisí na autobusu.

DeviceId () [3/3] Vytvoří kopii objektu ID zařízení.
nlc::DeviceId::DeviceId (DeviceId const &)

Verze: doc 1.4.2 / NanoLib 1.3.0

33

8 Odkaz na třídy / funkce

Parametry deviceId_

ID zařízení, ze kterého se má kopírovat.

rovná se () Porovnává nové objekty se stávajícími.
bool nlc::DeviceId::rovná se (DeviceId const a další) const

Vrátí booleovskou hodnotu

getBusHardwareId () Načte ID hardwaru sběrnice.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Vrátí BusHardwareId

getDescription () Přečte popis zařízení (možná nepoužitý).
std::string nlc::DeviceId::getDescription () const

Vrátí řetězec

getDeviceId () Načte ID zařízení (možná nepoužité).
unsigned int nlc::DeviceId::getDeviceId () const

Vrátí unsigned int

toString () Vrací objekt jako řetězec.
std::string nlc::DeviceId::toString () const

Vrátí řetězec

getExtraId () Přečte extra ID zařízení (může být nepoužité).
const std::vektor &getExtraId () const

Vrací vektor

Vektor dalších doplňkových ID (může být prázdný); význam závisí na autobusu.

getExtraStringId () Přečte extra ID řetězce zařízení (může být nepoužité).
std::string getExtraStringId () const

Verze: doc 1.4.2 / NanoLib 1.3.0

34

8 Odkaz na třídy / funkce

Vrátí řetězec

Dodatečné ID řetězce (může být prázdné); význam závisí na autobusu.

8.17 LogLevelConverter

Tato třída vrátí vaši úroveň protokolu jako řetězec. static std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Tato třída vrátí váš protokol specifický pro knihovnu modulesetLoggingLevel () jako řetězec.

statický std::string

toString (nlc::LogModule logModule)

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

8.19 Objektový slovník
Tato třída představuje objektový slovník řadiče a má následující veřejné členské funkce: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Vrátí ResultDeviceHandle

getObject () virtuální ResultObjectSubEntry getObject (OdIndex const odIndex) Vrátí ResultObjectSubEntry

getObjectEntry () virtuální ResultObjectEntry getObjectEntry (index uint16_t)

Vrátí ResultObjectEntry

Informuje o vlastnostech objektu.

getXmlFileNázev () virtuální ResultString getXmlFileJméno () konst

Vrátí ResultString

Vrátí XML file jméno jako řetězec.

readNumber () virtuální ResultInt readNumber (OdIndex const odIndex) Vrátí ResultInt
readNumberArray () virtuální ResultArrayInt readNumberArray (uint16_t const index)

Verze: doc 1.4.2 / NanoLib 1.3.0

35

8 Odkaz na třídy / funkce
Vrátí ResultArrayInt readString ()
virtuální ResultString readString (OdIndex const odIndex) Vrátí ResultString readBytes () virtuální ResultArrayByte readBytes (OdIndex const odIndex) Vrátí ResultArrayByte writeNumber () virtuální ResultVoid writeNumber (OdIndex const odIndex, const hodnota int64) virtuální ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Vrátí ResultVoid Související odkazy OdIndex
8.20 ObjectEntry
Tato třída představuje položku objektového slovníku objektů, má následující statický chráněný atribut a veřejné členské funkce:
static nlc::ObjectSubEntry invalidObject
getName () Přečte název objektu jako řetězec.
virtuální std::string getName () const
getPrivate () Zkontroluje, zda je objekt soukromý.
virtuální bool getPrivate () konst
getIndex () Přečte adresu indexu objektu.
virtuální uint16_t getIndex () const

Verze: doc 1.4.2 / NanoLib 1.3.0

36

8 Odkaz na třídy / funkce

getDataType () Načte datový typ objektu.
virtual nlc::ObjectEntryDataType getDataType () const

getObjectCode () Přečte kód objektu:

Null Deftype Defstruct Var Array Record

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

virtual nlc::ObjectCode getObjectCode () const

getObjectSaveable () Zkontroluje, zda lze objekt uložit, a jeho kategorii (další podrobnosti naleznete v příručce k produktu): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNGLENKOWN_S
virtual nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Přečte počet podindexů podporovaných tímto objektem.
virtuální uint8_t getMaxSubIndex () const

getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Viz také ObjectSubEntry.
8.21 ObjectSubEntry
Tato třída představuje podpoložku objektu (subindex) slovníku objektů a má následující veřejné členské funkce:
getName () Přečte název objektu jako řetězec.
virtuální std::string getName () const

getSubIndex () Přečte adresu podindexu.
virtuální uint8_t getSubIndex () const

Verze: doc 1.4.2 / NanoLib 1.3.0

37

8 Odkaz na třídy / funkce

getDataType () Načte datový typ objektu.
virtual nlc::ObjectEntryDataType getDataType () const

getSdoAccess () Zkontroluje, zda je podindex přístupný přes SDO:

ReadOnly

1

Pouze psát

2

ReadWrite

3

Žádný přístup

0

virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Zkontroluje, zda je podindex přístupný/mapovatelný prostřednictvím PDO:

Tx

1

Rx

2

TxRx

3

Žádný

0

virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Zkontroluje délku podindexu.
virtuální uint32_t getBitLength () const

getDefaultValueAsNumeric () Načte výchozí hodnotu podindexu pro číselné datové typy.
virtuální ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Načte výchozí hodnotu podindexu pro datové typy řetězců.
virtuální ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Přečte výchozí hodnoty podindexu.
virtuální std::map getDefaultValues ​​() const

Verze: doc 1.4.2 / NanoLib 1.3.0

38

8 Odkaz na třídy / funkce

readNumber () Přečte skutečnou číselnou hodnotu podindexu.
virtuální ResultInt readNumber () const

readString () Přečte skutečnou hodnotu řetězce podindexu.
virtuální ResultString readString () const

readBytes () Přečte skutečnou hodnotu podindexu v bajtech.
virtuální ResultArrayByte readBytes () const

writeNumber () Zapíše číselnou hodnotu do podindexu.
virtuální ResultVoid writeNumber (hodnota const int64_t) konst

writeBytes () Zapíše hodnotu do podindexu v bajtech.
virtuální ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Tuto třídu (neměnnou od vytvoření) použijte k zabalení a vyhledání indexů / podindexů adresáře objektů. OD zařízení má až 65535 (0xFFFF) řádků a 255 (0xFF) sloupců; s mezerami mezi nesouvislými řadami. Další podrobnosti naleznete ve standardu CANopen a v příručce k produktu.
OdIndex () Vytvoří nový objekt OdIndex.
nlc::OdIndex::OdIndex (uint16_t index, uint8_t subIndex)

Parametry index subindex

Od 0 do 65535 (0xFFFF) vč. Od 0 do 255 (0xFF) vč.

getIndex () Přečte index (od 0x0000 do 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Vrátí uint16_t

getSubindex () Přečte dílčí index (od 0x00 do 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Verze: doc 1.4.2 / NanoLib 1.3.0

39

8 Odkaz na třídy / funkce

Vrátí uint8_t

toString () Vrací index a podindex jako řetězec. Výchozí řetězec 0xIIII:0xSS zní takto:

I = index od 0x0000 do 0xFFFF

S = dílčí index od 0x00 do 0xFF

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

Vrátí 0xIIII:0xSS

Výchozí reprezentace řetězce

8.23 OdLibrary
Toto programovací rozhraní použijte k vytvoření instancí třídy ObjectDictionary z XML. Pomocí assignObjectDictionary pak můžete každou instanci svázat s konkrétním zařízením díky jedinečně vytvořenému identifikátoru. Takto vytvořené instance ObjectDictionary jsou uloženy v objektu OdLibrary, ke kterému lze přistupovat pomocí indexu. Třída ODLibrary načítá položky ObjectDictionary file nebo pole, ukládá je a má následující veřejné členské funkce:

getObjectDictionaryCount () virtuální uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtuální ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Vrátí ResultObjectDictionary

addObjectDictionaryFromFile ()
virtuální ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileCesta)

Vrátí ResultObjectDictionary

addObjectDictionary ()
virtuální ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileCesta = std::string ())

Vrátí ResultObjectDictionary
8.24 OdTypesHelper
Kromě následujících veřejných členských funkcí obsahuje tato třída vlastní datové typy. Poznámka: Chcete-li zkontrolovat své vlastní datové typy, vyhledejte třídu výčtu ObjectEntryDataType v souboru od_types.hpp.

uintToObjectCode () Převede celá čísla bez znaménka na kód objektu:

Null Deftype

0x00 0x05

Verze: doc 1.4.2 / NanoLib 1.3.0

40

8 Odkaz na třídy / funkce

Zničte záznam Var Array Record

0x06 0x07 0x08 0x09

statický ObjectCode uintToObjectCode (nepodepsaný int objectCode)

isNumericDataType () Informuje, zda je datový typ číselný nebo ne.
statický bool isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Informuje, zda je objekt indexem definiční struktury či nikoli.
statický bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Informuje, zda je objekt indexem typu definice či nikoli.
statický bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Informuje, zda je datový typ složitý nebo ne.
statický bool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Převede celá čísla bez znaménka na datový typ OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Převede datový typ OD na řetězec.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Pokud je to možné, převede řetězec na typ dat OD. V opačném případě vrátí UNKNOWN_DATATYPE.
statický ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Verze: doc 1.4.2 / NanoLib 1.3.0

41

8 Odkaz na třídy / funkce

objectEntryDataTypeBitLength () Informuje o bitové délce datového typu položky objektu.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 Struktura RESTfulBus

Tato struktura obsahuje možnosti konfigurace komunikace pro rozhraní RESTful (přes Ethernet). Obsahuje následující veřejné atributy:

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

CONNECT_TIMEOUT_OPTION_NAME = „Časový limit RESTful Connect“ DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = „Časový limit RESTful Request“ DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = „Časový limit RESTful Response_750“ PDEFAULT_XNUMX“ DEFAULTXNUMX

8.26 ProfinetDCP
V systému Linux potřebuje volající aplikace schopnosti CAP_NET_ADMIN a CAP_NET_RAW. Povolení: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Ve Windows používá rozhraní ProfinetDCP WinPcap (testováno s verzí 4.1.3) nebo Npcap (testováno s verzemi 1.60 a 1.30). Prohledává dynamicky načtenou knihovnu wpcap.dll v následujícím pořadí (Poznámka: žádná současná podpora Win10Pcap):
1. Adresář Nanolib.dll 2. Systémový adresář Windows SystemRoot%System32 3. Instalační adresář Npcap SystemRoot%System32Npcap 4. Cesta prostředí
Tato třída představuje rozhraní Profinet DCP a má následující veřejné členské funkce:

getScanTimeout () Informuje o vypršení časového limitu skenování zařízení (výchozí = 2000 ms).
virtuální uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Nastaví časový limit skenování zařízení (výchozí = 2000 ms).
virtuální void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Informuje o časovém limitu odezvy zařízení pro operace nastavení, resetování a blikání (výchozí = 1000 ms).
virtuální uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Informuje o časovém limitu odezvy zařízení pro operace nastavení, resetování a blikání (výchozí = 1000 ms).
virtuální void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Verze: doc 1.4.2 / NanoLib 1.3.0

42

8 Odkaz na třídy / funkce

isServiceAvailable ()
Tuto funkci použijte ke kontrole dostupnosti služby Profinet DCP.
Platnost / dostupnost síťového adaptéru Windows: Dostupnost WinPcap / Npcap Linux: Možnosti CAP_NET_ADMIN / CAP_NET_RAW
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Parametry BusHardwareId Vrací hodnotu true
falešný

Hardwarové ID služby Profinet DCP ke kontrole. Služba je k dispozici. Služba je nedostupná.

scanProfinetDevices () Tuto funkci použijte ke skenování hardwarové sběrnice na přítomnost zařízení Profinet.
virtuální ResultProfinetDevices scanProfinetDevices (konst BusHardwareId & busHardwareId)

Parametry BusHardwareId Vrátí ResultProfinetDevices

Určuje každou fieldbus, která se má otevřít. Hardware je otevřený.

setupProfinetDevice () Zavádí následující nastavení zařízení:

Název zařízení

IP adresa

Síťová maska

Výchozí brána

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

resetProfinetDevice () Zastaví zařízení a obnoví výchozí tovární nastavení.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Přikazuje zařízení Profinet, aby začalo blikat svou LED diodou Profinet.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Tuto funkci použijte ke kontrole IP adresy zařízení.
virtuální ResultVoid validateProfinetDeviceIp (konst BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

Parametry BusHardwareId ProfinetDevice

Určuje ID hardwaru ke kontrole. Určuje zařízení Profinet, které se má ověřit.

Verze: doc 1.4.2 / NanoLib 1.3.0

43

8 Odkaz na třídy / funkce

Vrátí ResultVoid

8.27 Struktura ProfinetDevice

Data zařízení Profinet mají následující veřejné atributy:

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

MAC adresa je poskytnuta jako pole ve formátu macAddress = {xx, xx, xx, xx, xx, xx}; zatímco IP adresa, síťová maska ​​a brána jsou interpretovány jako velká hexová čísla, jako například:

IP adresa: 192.168.0.2 Maska sítě: 255.255.0.0 Brána: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Třídy výsledků

Pomocí „nepovinných“ návratových hodnot těchto tříd zkontrolujte, zda bylo volání funkce úspěšné nebo ne, a také vyhledejte příčiny selhání. V případě úspěchu vrátí funkce hasError () hodnotu false. Pomocí getResult () můžete načíst výslednou hodnotu podle typu (ResultInt atd.). Pokud se volání nezdaří, přečtete důvod pomocí getError ().

Chráněné atributy

řetězec NlcErrorCode uint32_t

errorString errorCode exErrorCode

Tato třída má také následující veřejné členské funkce:

hasError () Přečte úspěch volání funkce.
bool nlc::Result::hasError () const

Návraty

pravda nepravda

Neúspěšný hovor. Použijte getError () k načtení hodnoty. Úspěšný hovor. Použijte getResult () k načtení hodnoty.

getError () Přečte důvod, pokud volání funkce selže.
const std::string nlc::Result::getError () const

Vrátí řetězec const

Verze: doc 1.4.2 / NanoLib 1.3.0

44

8 Odkaz na třídy / funkce
result () Následující funkce pomáhají definovat přesné výsledky:
Výsledek (std::string const & errorString_)
Výsledek (NlcErrorCode const & errCode, std::string const & errorString_)
Výsledek (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Výsledek (výsledek a výsledek)
getErrorCode () Přečtěte si NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 ResultVoid
NanoLib vám pošle instanci této třídy, pokud funkce vrátí void. Třída dědí veřejné funkce a chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
ResultVoid () Následující funkce pomáhají definovat přesný výsledek zrušení:
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 (Result Const & result)
8.28.2 ResultInt
NanoLib vám pošle instanci této třídy, pokud funkce vrátí celé číslo. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Vrátí celočíselný výsledek, pokud bylo volání funkce úspěšné.
int64_t getResult () const
Vrátí int64_t

Verze: doc 1.4.2 / NanoLib 1.3.0

45

8 Odkaz na třídy / funkce
ResultInt () Následující funkce pomáhají definovat přesný celočíselný výsledek:
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 (Result Const & result)
8.28.3 ResultString
NanoLib vám pošle instanci této třídy, pokud funkce vrátí řetězec. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte výsledek řetězce, pokud bylo volání funkce úspěšné.
const std::string nlc::ResultString::getResult () const
Vrátí řetězec const
ResultString () Následující funkce pomáhají definovat přesný výsledek řetězce:
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 (Result const & result)
8.28.4 ResultArrayByte
NanoLib vám pošle instanci této třídy, pokud funkce vrátí bajtové pole. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte bajtový vektor, pokud bylo volání funkce úspěšné.
const std::vektor nlc::ResultArrayByte::getResult () const
Vrátí konstantní vektor

Verze: doc 1.4.2 / NanoLib 1.3.0

46

8 Odkaz na třídy / funkce
ResultArrayByte () Následující funkce pomáhají definovat přesný výsledek bajtového pole:
ResultArrayByte (std::vector const & result_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (konst a výsledek výsledku)
8.28.5 ResultArrayInt
NanoLib vám pošle instanci této třídy, pokud funkce vrátí celočíselné pole. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte vektor celého čísla, pokud bylo volání funkce úspěšné.
const std::vektor nlc::ResultArrayInt::getResult () const
Vrátí konstantní vektor
ResultArrayInt () Následující funkce pomáhají při definování přesného výsledku celočíselného pole:
ResultArrayInt (std::vector const & result_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Result const & result)
8.28.6 ResultBusHwIds
NanoLib vám pošle instanci této třídy, pokud funkce vrátí pole ID hardwaru sběrnice. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte vektor ID hardwaru sběrnice, pokud bylo volání funkce úspěšné.
const std::vektor nlc::ResultBusHwIds::getResult () const
Parametry const vector

Verze: doc 1.4.2 / NanoLib 1.3.0

47

8 Odkaz na třídy / funkce
ResultBusHwIds () Následující funkce pomáhají při definování přesného výsledku pole ID-hardwaru sběrnice:
ResultBusHwIds (std::vector const & result_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (Result const & result)
8.28.7 ResultDeviceId
NanoLib vám pošle instanci této třídy, pokud funkce vrátí ID zařízení. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte vektor ID zařízení, pokud bylo volání funkce úspěšné.
DeviceId nlc::ResultDeviceId::getResult () const
Vrátí konstantní vektor
ResultDeviceId () Následující funkce pomáhají definovat přesný výsledek ID zařízení:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (konst a výsledek výsledku)
8.28.8 ResultDeviceIds
NanoLib vám pošle instanci této třídy, pokud funkce vrátí pole ID zařízení. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Vrátí vektor ID zařízení, pokud bylo volání funkce úspěšné.
DeviceId nlc::ResultDeviceIds::getResult () const
Vrátí konstantní vektor

Verze: doc 1.4.2 / NanoLib 1.3.0

48

8 Odkaz na třídy / funkce
ResultDeviceIds () Následující funkce pomáhají definovat přesný výsledek pole ID zařízení:
ResultDeviceIds (std::vector const & result_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (Result Const & result)
8.28.9 ResultDeviceHandle
NanoLib vám pošle instanci této třídy, pokud funkce vrátí hodnotu handle zařízení. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte popisovač zařízení, pokud bylo volání funkce úspěšné.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Vrátí DeviceHandle
ResultDeviceHandle () Následující funkce pomáhají definovat přesný výsledek zpracování zařízení:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (Result Const & result)
8.28.10 ResultObjectDictionary
NanoLib vám pošle instanci této třídy, pokud funkce vrátí obsah slovníku objektů. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte vektor ID zařízení, pokud bylo volání funkce úspěšné.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Verze: doc 1.4.2 / NanoLib 1.3.0

49

8 Odkaz na třídy / funkce

Návraty

konstantní vektor

ResultObjectDictionary () Následující funkce pomáhají definovat přesný výsledek slovníku objektů:
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 (Result const & result)

8.28.11 ResultConnectionState
NanoLib vám pošle instanci této třídy, pokud funkce vrátí informace o stavu připojení zařízení. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte popisovač zařízení, pokud bylo volání funkce úspěšné.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Vrátí DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader

ResultConnectionState () Následující funkce pomáhají definovat přesný výsledek stavu připojení:
ResultConnectionState (DeviceConnectionStateInfo const & result_)

ResultConnectionState (std::string const & errorString_)

ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)

ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)

ResultConnectionState (Result Const & result)

8.28.12 ResultObjectEntry
NanoLib vám pošle instanci této třídy, pokud funkce vrátí položku objektu. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:

Verze: doc 1.4.2 / NanoLib 1.3.0

50

8 Odkaz na třídy / funkce
getResult () Vrátí vektor ID zařízení, pokud bylo volání funkce úspěšné.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Vrátí const ObjectEntry
ResultObjectEntry () Následující funkce pomáhají při definování přesného výsledku zadání objektu:
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 (výsledek a výsledek)
8.28.13 ResultObjectSubEntry
NanoLib vám pošle instanci této třídy, pokud funkce vrátí podpoložku objektu. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Vrátí vektor ID zařízení, pokud bylo volání funkce úspěšné.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Vrátí const ObjectSubEntry
ResultObjectSubEntry () Následující funkce pomáhají při definování přesného výsledku podpoložky objektu:
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 (Result const & result)
8.28.14 ResultProfinetDevices
NanoLib vám pošle instanci této třídy, pokud funkce vrátí zařízení Profinet. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:

Verze: doc 1.4.2 / NanoLib 1.3.0

51

8 Odkaz na třídy / funkce

getResult () Přečte vektor zařízení Profinet, pokud bylo volání funkce úspěšné.
const std::vektor & getResult () const

ResultProfinetDevices () Následující funkce pomáhají při definování přesných zařízení Profinet.
ResultProfinetDevices (const std::vector & profinetDevices)
ResultProfinetDevices (konst Výsledek a výsledek)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 VýsledkyampleDataArray
NanoLib vám pošle instanci této třídy, pokud funkce vrátí asamppole dat. Třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:
getResult () Přečte datové pole, pokud bylo volání funkce úspěšné.
const std::vector <SampleData> & getResult () const

VýsledekampleDataArray () Následující funkce pomáhají při definování přesných zařízení Profinet.
VýsledekampleDataArray (const std::vector <SampleData> & dataArray)

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

VýsledekampleDataArray (const ResultSampleDataArray a další)

VýsledekampleDataArray (konst. výsledek a výsledek)

8.28.16 VýsledkyamplerState
NanoLib vám pošle instanci této třídy, pokud funkce vrátí asampler state. Tato třída dědí veřejné funkce / chráněné atributy z třídy výsledků a má následující veřejné členské funkce:

getResult () Přečte sampler stavový vektor, pokud bylo volání funkce úspěšné.
SamplerState getResult () const

Návrat SamplerState>

Nekonfigurováno / Nakonfigurováno / Připraveno / Spuštěno / Dokončeno / Selhalo / Zrušeno

Verze: doc 1.4.2 / NanoLib 1.3.0

52

8 Odkaz na třídy / funkce

VýsledekamplerState () Následující funkce pomáhají definovat přesné sampler stát.
VýsledekamplerState (const Sampstát lerState)

VýsledekamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
rozšířenýErrorCode = 0)

VýsledekamplerState (const ResultSamplerState a další)

VýsledekamplerState (const Výsledek a výsledek)

8.29 NlcErrorCode

Pokud se něco pokazí, třídy výsledků ohlásí jeden z chybových kódů uvedených v tomto výčtu.

Kód chyby Úspěch GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments AccessDenied ResourceNotFound ResourceNedostupný OutOfMemory TimeOutError

C: Kategorie D: Popis R: Důvod C: Žádný. D: Žádná chyba. R: Operace byla úspěšně dokončena.
C: Nespecifikováno. D: Nespecifikovaná chyba. R: Selhání, které se nehodí do žádné jiné kategorie.
C: Autobus. D: Hardwarová sběrnice není k dispozici. R: Autobus neexistuje, je přerušený nebo vadný.
C: Komunikace. D: Komunikace nespolehlivá. R: Neočekávaná data, nesprávné CRC, chyby snímku nebo parity atd.
C: Protokol. D: Chyba protokolu. R: Odpověď po nepodporovaném protokolu, hlášení zařízení nepodporovaný protokol, chyba v protokolu (řekněme, synchronizační bit segmentu SDO) atd. R: Odpověď nebo hlášení zařízení na nepodporovaný protokol (možnosti) nebo na chyby v protokolu (řekněme SDO) bit synchronizace segmentu) atd. R: Nepodporovaný protokol (možnosti) nebo chyba v protokolu (řekněme synchronizační bit segmentu SDO) atd.
C: Objektový slovník. D: Adresa OD neexistuje. R: Žádná taková adresa ve slovníku objektů.
C: Objektový slovník. D: Přístup k adrese OD je neplatný. R: Pokus o zápis adresy pouze pro čtení nebo čtení z adresy pouze pro zápis.
C: Objektový slovník. D: Neshoda typu. R: Hodnota nepřevedená na zadaný typ, řekněme, ve snaze považovat řetězec za číslo.
C: Aplikace. D: Proces přerušen. R: Proces přerušen žádostí aplikace. Vrátí se pouze při přerušení operace funkcí zpětného volání, řekněme ze skenování sběrnice.
C: Běžné. D: Proces není podporován. R: Žádná hardwarová sběrnice / podpora zařízení.
C: Běžné. D: Proces nesprávný v aktuálním kontextu nebo neplatný s aktuálním argumentem. R: Pokus o opětovné připojení k již připojeným sběrnicím/zařízením. Pokus o odpojení k již odpojeným. Pokus o operaci bootloaderu v režimu firmwaru nebo naopak.
C: Běžné. D: Argument je neplatný. R: Chybná logika nebo syntaxe.
C: Běžné. D: Přístup byl odepřen. R: Nedostatek práv nebo schopností k provedení požadované operace.
C: Běžné. D: Zadaná položka nenalezena. R: Hardwarová sběrnice, protokol, zařízení, OD adresa na zařízení, popř file nebyl nalezen.
C: Běžné. D: Zadaná položka nenalezena. R: zaneprázdněný, neexistující, přerušený nebo defektní.
C: Běžné. D: Nedostatek paměti. R: Příliš málo paměti na zpracování tohoto příkazu.
C: Běžné. D: Časový limit procesu vypršel. R: Vraťte se po vypršení časového limitu. Časový limit může být doba odezvy zařízení, doba získání sdíleného nebo výhradního přístupu ke zdrojům nebo doba přepnutí sběrnice/zařízení do vhodného stavu.

Verze: doc 1.4.2 / NanoLib 1.3.0

53

8 Odkaz na třídy / funkce

8.30 NlcCallback
Tato nadřazená třída pro zpětná volání má následující veřejnou členskou funkci: zpětné volání ()
virtuální zpětné volání ResultVoid ()

Návraty

ResultVoid

8.31 NlcDataTransferCallback
Tuto třídu zpětného volání použijte pro datové přenosy (aktualizace firmwaru, nahrávání NanoJ atd.). 1. Pro nahrání firmwaru: Definujte „co-class“ rozšiřující tuto třídu o vlastní metodu zpětného volání
implementace. 2. Použijte instance „co-class's“ ve voláních NanoLibAccessor.uploadFirmware (). Samotná hlavní třída má následující veřejnou členskou funkci:

zpětné volání () virtuální zpětné volání ResultVoid (nlc::DataTransferInfo info, data int32_t)

Návraty

ResultVoid

8.32 Zpětné volání NlcScanBus
Použijte tuto třídu zpětného volání pro skenování sběrnice. 1. Definujte „co-class“ rozšiřující tuto třídu o vlastní implementaci metody zpětného volání. 2. Použijte instance „co-class's“ ve voláních NanoLibAccessor.scanDevices (). Samotná hlavní třída má následující veřejnou členskou funkci.

zpětné volání ()
virtuální zpětné volání ResultVoid (nlc::BusScanInfo info, std::vector const & devicesFound, data int32_t)

Vrátí ResultVoid
8.33 NlcLoggingCallback
Tuto třídu zpětného volání použijte k protokolování zpětných volání. 1. Definujte třídu, která rozšiřuje tuto třídu o implementaci vlastní metody zpětného volání 2. Použijte ukazatel na její instance, abyste nastavili zpětné volání pomocí NanoLibAccessor >
setLoggingCallback (…).
virtuální zpětné volání (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

8.34 SamplerInterface
Pomocí této třídy můžete nakonfigurovat, spustit a zastavit sampler, nebo získat sampvedená data a načíst jakoampstav nebo poslední chyba. Třída má následující veřejné členské funkce.

Verze: doc 1.4.2 / NanoLib 1.3.0

54

8 Odkaz na třídy / funkce

konfigurovat () Konfiguruje jakoampler.
virtuální ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Parametry [v] deviceHandle [v] samplerConfiguration
Vrátí ResultVoid

Určuje, jaké zařízení se má konfigurovat sampler pro. Určuje hodnoty konfiguračních atributů. Potvrzuje, že byla spuštěna funkce zrušení.

getData () Získá sampvedená data.
virtuální výsledkyampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parametry [v] deviceHandle Vrátí výsledkyampleDataArray

Určuje, pro jaké zařízení se mají získat data.
Dodává sampled data, což může být prázdné pole, pokud samplerNotify je aktivní při spuštění.

getLastError () Získá jakoamplerova poslední chyba.
virtuální ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Vrátí ResultVoid

Potvrzuje, že byla spuštěna funkce zrušení.

getState () Získá jakoamplerův stav.
virtuální výsledkyamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Vrátí výsledkyamplerState

Dodává sampler stát.

start () Startuje jakoampler.
virtuální ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)

Parametry [v] deviceHandle [v] SamplerNotify [in] applicationData
Vrátí ResultVoid

Určuje, na jakém zařízení se má spustit sampler pro.
Určuje, jaké volitelné informace se mají hlásit (může být nullptr).
Možnost: Předá data související s aplikací (uživatelem definované 8bitové pole hodnot / ID zařízení / index nebo datum a čas, ukazatel proměnné / funkce atd.) na samplerNotify.
Potvrzuje, že byla spuštěna funkce zrušení.

Verze: doc 1.4.2 / NanoLib 1.3.0

55

8 Odkaz na třídy / funkce

stop () Zastaví jakoampler.
virtuální ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Parametry [v] deviceHandle Vrátí ResultVoid

Určuje, jaké zařízení má zastavit sampler pro. Potvrzuje, že byla spuštěna funkce zrušení.

8.35 SamplerConfiguration struct

Tato struktura obsahuje data sampmožnosti konfigurace (statické nebo ne).

Veřejné atributy

std::vektor trackedAddresses

Až 12 OD adres, které mají být sampvedený.

uint32_t

verze

Verze struktury.

uint32_t

trvání v milisekundách

Samptrvání lingu v ms, od 1 do 65535

uint16_t

perioda v milisekundách

Sampling period v ms.

uint16_t

početSamples

Sampmenší množství.

uint16_t

preTriggerNumberOfSamples

Sampmnožství před spuštěním.

bool

usingSoftwareImplementation

Použijte softwarovou implementaci.

bool

pomocí NewFWSamplerImplementation Použijte implementaci FW pro zařízení s a

Verze FW v24xx nebo novější.

SamplerMode

režimu

Normální, opakující se nebo kontinuální sampling.

SamplerTriggerCondition triggerCondition

Podmínky spuštění spuštění: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = REATER0 =ORTC15_G 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValue

SamplerTrigger

SamplerTrigger

Spouštěč pro začátek jakoampler?

Statické veřejné atributy
statický constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 statický constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Použijte tuto třídu k aktivaci sampupozornění při spuštění jakoampler. Třída má následující veřejnou členskou funkci.

Verze: doc 1.4.2 / NanoLib 1.3.0

56

8 Odkaz na třídy / funkce

oznámit ()
Poskytuje záznam oznámení.
virtuální void nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Parametry [v] lastError [v] samplerState
[v] sampleDatas [v] applicationData

Hlásí poslední chybu, ke které došlo během sampling. Zprávy sampStav leru v době upozornění: Nekonfigurováno / Nakonfigurováno / Připraveno / Spuštěno / Dokončeno / Neúspěšné / Zrušeno. Zprávy samppole led-data. Hlásí data specifická pro aplikaci.

8.37 Sampstruktura leData

Tato struktura obsahuje sampvedená data.

uin64_t iterationNumber

Začíná na 0 a zvyšuje se pouze v opakovaném režimu.

std::vector<SampledValues> Obsahuje pole sampled hodnoty.

8.38 SampledValue struct

Tato struktura obsahuje sampled hodnoty.

hodnota in64_t uin64_t CollectTimeMsec

Obsahuje hodnotu sledované adresy OD.
Obsahuje čas sběru v milisekundách vzhledem k sample začátek.

8.39 Sampstruktura lerTrigger

Tato struktura obsahuje nastavení spouštění sampler.

SamplerTriggerCondition podmínka
Hodnota OdIndex uin32_t

Spouštěcí podmínka: 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_EQUALGREATER = 0x15 TC_EQUALGREATER =TER_ORTC_EQUALG 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
OdIndex (adresa) spouštěče.
Hodnota podmínky nebo číslo bitu (počínaje bitem nula).

8.40 Sériová struktura

Zde najdete možnosti sériové komunikace a následující veřejné atributy:

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = „sériová přenosová rychlost“ baudRate = Struktura sériové přenosové rychlosti

Verze: doc 1.4.2 / NanoLib 1.3.0

57

8 Odkaz na třídy / funkce

const std::string const SerialParity

PARITY_OPTIONS_NAME = “sériová parita” parita = Struktura SerialParity

8.41 Struktura SerialBaudRate

Zde najdete přenosovou rychlost sériové komunikace a následující veřejné atributy:

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

BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE_56000 = “56000_RATE_57600 57600” BAUD_RATE_115200 = “115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000”

8.42 Struktura SerialParity

Zde najdete možnosti sériové parity a následující veřejné atributy:

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

ŽÁDNÝ = „žádný“ LICHÝ = „lichý“ SUDÝ = „sudý“ MARK = „označit“ MEZERNÍK = „mezera“

Verze: doc 1.4.2 / NanoLib 1.3.0

58

9 Licence

9 Licence

Záhlaví rozhraní API NanoLib a exampZdrojové kódy souborů jsou licencovány společností Nanotec Electronic GmbH & Co. KG pod licencí Creative Commons Attribution 3.0 Unported License (CC BY). Knihovní součásti poskytované v binárním formátu (knihovny pro komunikaci jádra a fieldbus) jsou licencovány pod mezinárodní licencí Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).

Creative Commons
Následující přehled čitelný člověkem nenahradí samotnou licenci (licence). Příslušnou licenci najdete na creativecommons.org a odkaz níže. Máte možnost:

CC BY 3.0
Sdílet: Viz vpravo. Adapt: ​​Remixujte, transformujte a stavte na
materiál pro jakýkoli účel, i komerčně.

CC BY-ND 4.0
Sdílet: Zkopírujte a redistribuujte materiál na jakémkoli médiu nebo formátu.

Poskytovatel licence nemůže odvolat výše uvedené svobody, pokud budete dodržovat následující licenční podmínky:

CC BY 3.0

CC BY-ND 4.0

Připsání: Musíte uvést odpovídající zásluhy, Připsání: Viz vlevo. Ale: Uveďte odkaz na toto

uveďte odkaz na licenci a uveďte, zda

jiná licence.

byly provedeny změny. Můžete tak učinit v libovolném

Žádné odvozeniny: Pokud remixujete, transformujete nebo sestavíte

rozumným způsobem, ale ne takovým způsobem, který by naznačoval

na materiál, nesmíte distribuovat

naznačuje, že poskytovatel licence schvaluje vás nebo vaše použití.

upravený materiál.

Žádná další omezení: Nelze použít Žádná další omezení: Viz vlevo. právní termíny nebo technologická opatření, která právně

omezovat ostatní v jakékoli činnosti podle licence

povolení.

Poznámka: Nemusíte dodržovat licenci pro prvky materiálu ve veřejné doméně nebo tam, kde je vaše použití povoleno příslušnou výjimkou nebo omezením.
Poznámka: Nejsou poskytovány žádné záruky. Licence vám nemusí poskytnout všechna oprávnění nezbytná pro zamýšlené použití. NapřampJiná práva, jako je publicita, soukromí nebo morální práva, mohou omezovat způsob použití materiálu.

Verze: doc 1.4.2 / NanoLib 1.3.0

59

Tiráž, kontakt, verze

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Všechna práva vyhrazena. Chyba, opomenutí, technická nebo obsahová změna možná bez upozornění. Kótované značky/produkty jsou ochrannými známkami jejich vlastníků a je s nimi tak zacházet. Původní verze.

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

+ Přidáno > Změněno # Opraveno > Přepracování poskytnutého examples.
+ NanoLib Modbus: Přidán mechanismus zamykání zařízení pro Modbus VCP. # NanoLib Core: Opravená kontrola stavu připojení. # Kód NanoLib: Opravené odstranění hardwarové reference sběrnice.
+ NanoLib-CANopen: Podpora adaptéru Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: Změněno rozhraní zpětného volání protokolování (LogLevel nahrazeno LogModule). # NanoLib Logger: Oddělení mezi jádrem a moduly bylo opraveno. # Modbus TCP: Opravená aktualizace firmwaru pro FW4. # EtherCAT: Opraveno nahrávání programu NanoJ pro Core5. # EtherCAT: Opravená aktualizace firmwaru pro Core5.
# Modbus RTU: Opraveny problémy s časováním s nízkou přenosovou rychlostí během aktualizace firmwaru. # RESTful: Opraveno nahrávání programu NanoJ.
# Moduly NanoLib Sampler: Správné čtení sampled booleovské hodnoty.
+ Podpora Java 11 pro všechny platformy. + Podpora Pythonu 3.11/3.12 pro všechny platformy. + Nové rozhraní zpětného volání protokolování (viz napřamples). + Umyvadla zpětného volání pro NanoLib Logger. > Aktualizujte záznamník na verzi 1.12.0. > Moduly NanoLib Sampler: Nyní podpora pro firmware řadiče Nanotec v24xx. > Moduly NanoLib Sampler: Změna struktury použité pro sampkonfigurace. > Moduly NanoLib Sampler: Nepřetržitý režim je synonymem pro nekonečný; spouštěcí podmínka je kontrolována jednou; počet samples musí být 0. > Moduly NanoLib Sampler: Normální priorita pro vlákno, které shromažďuje data v režimu firmwaru. > Moduly NanoLib Sampler: Přepsaný algoritmus pro detekci přechodu mezi stavem Připraven a Provoz. # NanoLib Core: Už žádné narušení přístupu (0xC0000005) při uzavření 2 nebo více zařízení používajících stejný hardware sběrnice. # NanoLib Core: Už žádná chyba segmentace při připojení adaptéru PEAK pod Linuxem. # Moduly NanoLib Sampler: Správně sampčtení hodnot LED v režimu firmwaru. # Moduly NanoLib Sampler: Správná konfigurace 502X:04. # Moduly NanoLib Sampler: Správné míchání bufferů s kanály. # NanoLib-Canopen: Zvýšené časové limity CAN pro robustnost a správné skenování při nižších přenosových rychlostech. # NanoLib-Modbus: VCP detekční algoritmus pro speciální zařízení (USB-DA-IO).
+ Podpora EtherCAT.
+ Poznámka k nastavení projektu VS v části Konfigurace projektu.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileJméno (). + const std::string & xmlFileCesta v addObjectDictionary (). + getSamplerInterface ().

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

Verze: doc 1.4.2 / NanoLib 1.3.0

60

10 Tiráž, kontakt, verze

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

+ Přidáno > Změněno # Opraveno + restartovat zařízení (). + Kód chyby ResourceUnavailable pro getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber a ~Uid. > firmwareUploadFromFile nyní uploadFirmwareFromFile (). > firmwareNahrát () nyní nahrátFirmware (). > bootloaderUploadFromFile () nyní uploadBootloaderFromFile (). > bootloaderUpload () nyní uploadBootloader (). > bootloaderFirmwareUploadFromFile () k nahráníBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () nyní uploadBootloaderFirmware (). > nanojUploadFromFile () nyní nahrajteNanoJFromFile (). > nanojUpload () nyní uploadNanoJ (). > objectDictionaryLibrary () nyní getObjectDictionaryLibrary (). > String_String_Map nyní StringStringMap. > NanoLib-Common: rychlejší provádění listAvailableBusHardware a openBusHardwareWithProtocol s adaptérem Ixxat. > NanoLib-CANopen: výchozí nastavení se použije (rychlost 1000 kB, číslo sběrnice Ixxat 0), pokud jsou hardwarové možnosti sběrnice prázdné. > NanoLib-RESTful: oprávnění správce je zastaralé pro komunikaci s ethernetovými bootloadery pod Windows, pokud je k dispozici ovladač npcap / winpcap. # NanoLib-CANopen: hardware sběrnice se nyní otevírá bez selhání s prázdnými možnostmi. # NanoLib-Common: openBusHardwareWithProtocol () nyní bez úniku paměti.
+ Podpora Linuxu ARM64. + USB mass storage / REST / podpora Profinet DCP. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (nahrazeno NanotecExceptions). + NanoLib Modbus: VCP / USB hub sjednocený na USB. > Skenování Modbus TCP vrací výsledky. < Latence komunikace Modbus TCP zůstává konstantní.
+ Více ObjectEntryDataType (komplexní a profesionálnífile-konkrétní). + IOError se vrátí, pokud connectDevice () a scanDevices () nenajdou žádné. + Pouze 100 ms jmenovitého časového limitu pro CanOpen / Modbus.
+ Podpora Modbus (plus USB Hub přes VCP). + Kapitola Vytvoření vlastního linuxového projektu. + extraHardwareSpecifier k BusHardwareId (). + extraId_ a extraStringId_ na DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Opravy chyb.
Vydání.

Produkt
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Verze: doc 1.4.2 / NanoLib 1.3.0

61

Dokumenty / zdroje

Nanotic NanoLib C++ Programování [pdfUživatelská příručka
NanoLib C Programování, C Programování, Programování

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *