Nanotinis NanoLib C++ programavimas

Informacija apie produktą
Specifikacijos
- Produkto pavadinimas: NanoLib
- Programavimas Kalba: C++
- Produkto versija: 1.3.0
- Vartotojo vadovo versija: 1.4.2
„NanoLib“ biblioteka skirta „Nanotec“ valdiklių valdymo programinei įrangai programuoti. Ji suteikia vartotojo sąsają, pagrindines funkcijas ir ryšio bibliotekas, kurios palengvina valdymo programų kūrimą.
Produkto naudojimo instrukcijos
- Prieš pradėdami:
- Įsitikinkite, kad jūsų sistema atitinka vadove nurodytus aparatinės įrangos reikalavimus. Šis produktas skirtas kūrėjams, norintiems kurti valdymo programinę įrangą „Nanotec“ valdikliams.
- Darbo pradžia:
- Norėdami pradėti naudoti „NanoLib“, atlikite šiuos veiksmus:
- Pradėkite importuodami „NanoLib“ į savo projektą.
- Konfigūruokite savo projekto nustatymus pagal poreikį.
- Sukurkite savo projektą, įtraukdami „NanoLib“ funkcijas.
- Projektų kūrimas:
- Galite kurti projektus tiek „Windows“, tiek „Linux“ aplinkoms. Vadovaukitės kiekvienai platformai skirtoje instrukcijoje pateiktomis konkrečiomis instrukcijomis.
- Klasių / funkcijų nuoroda:
- Išsamesnės informacijos apie „NanoLib“ klases ir funkcijas, skirtas programavimo valdymo programinei įrangai, ieškokite naudotojo vadove.
DUK
- K: Kokia „NanoLib“ paskirtis?
- A: „NanoLib“ yra biblioteka, skirta „Nanotec“ valdiklių valdymo programinės įrangos programavimui, teikianti pagrindines funkcijas ir ryšio galimybes.
- K: Kaip pradėti naudotis „NanoLib“?
- A: Pradėkite importuodami „NanoLib“ į savo projektą, konfigūruodami projekto nustatymus ir sukurdami projektą, kad galėtumėte naudoti „NanoLib“ funkcijas.
“`
Vartotojo vadovas NanoLib
C++
Galioja su produkto versija 1.3.0
Vartotojo vadovo versija: 1.4.2
Dokumento tikslas ir susitarimai
Šiame dokumente aprašoma NanoLib bibliotekos sąranka ir naudojimas bei pateikiama nuoroda į visas klases ir funkcijas, skirtas programuoti savo valdymo programinę įrangą Nanotec valdikliams. Mes naudojame šiuos šriftus:
Pabrauktas tekstas žymi kryžminę nuorodą arba hipersaitą.
Examp1 dalis: tikslių „NanoLibAccessor“ instrukcijų rasite „Sąranka“. Pvzamp2 dalis: Įdiekite Ixxat tvarkyklę ir prijunkite CAN-USB adapterį. Kursyvas reiškia: tai pavadintas objektas, meniu kelias / elementas, skirtukas / file pavadinimas arba (jei reikia) užsienio kalbos posakis.
Examp1 dalis: pasirinkite File > Naujas > Tuščias dokumentas. Atidarykite skirtuką Įrankis ir pasirinkite Komentuoti. Pvzamp2 dalis: Šis dokumentas padalija vartotojus (= Nutzer; usuario; utente; utilisateur; utente ir kt.) iš:
– Trečiosios šalies naudotojas (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente ir kt.). – Galutinis vartotojas (= Endnutzer; usuario final; utente final; utilisateur final; utente finale ir kt.).
Kurjeris pažymi kodų blokus arba programavimo komandas. Pvzamp1 dalis: naudodami Bash, iškvieskite sudo make install, kad nukopijuotumėte bendrinamus objektus; tada paskambink ldconfig. Pvzamp2 dalis: Norėdami pakeisti NanoLib registravimo lygį, naudokite šią NanoLibAccessor funkciją:
// ***** C++ variantas *****
void setLoggingLevel(LogLevel lygis);
Paryškintas tekstas pabrėžia atskirus itin svarbius žodžius. Arba šauktukai skliausteliuose pabrėžia kritinę (!) svarbą.
Examp1 dalis: Apsaugokite save, kitus ir savo įrangą. Laikykitės mūsų bendrųjų saugos nurodymų, kurie paprastai taikomi visiems Nanotec gaminiams.
Examp2 le.: Savo pačių apsaugai taip pat laikykitės specialių saugos nurodymų, taikomų šiam konkrečiam gaminiui. Veiksmažodis kartu spustelėti reiškia paspaudimą antriniu pelės klavišu, norint atidaryti kontekstinį meniu ir pan.
Examp1 dalis: kartu spustelėkite file, pasirinkite Pervardyti ir pervardykite file. Pvzamp2 dalis: norėdami patikrinti ypatybes, kartu spustelėkite file ir pasirinkite Ypatybės.
Versija: doc 1.4.2 / NanoLib 1.3.0
4
Prieš pradėdami
Prieš pradėdami naudoti NanoLib, paruoškite savo kompiuterį ir sužinokite apie numatomą naudojimą bei bibliotekos apribojimus.
2.1 Sistemos ir techninės įrangos reikalavimai

PRANEŠIMAS Gedimas dėl 32 bitų sistemos veikimo arba nutrauktos jos gamybos! Naudokite ir nuolat prižiūrėkite 64 bitų sistemą. Laikykitės originalios įrangos gamintojų (OEM) gamybos nutraukimo nurodymų ir instrukcijų.
„NanoLib 1.3.0“ palaiko visus „Nanotec“ gaminius su „CANopen“, „Modbus RTU“ (taip pat USB virtualiame COM prievade), „Modbus TCP“, „EtherCat“ ir „Profinet“. Senesnėms „NanoLib“ versijoms: žr. pakeitimų žurnalą leidinyje. Tik savo rizika: naudojimas su senesne sistema. Pastaba: jei kyla problemų naudojant FTDI pagrindu veikiantį USB adapterį, vadovaukitės galiojančiomis OEM instrukcijomis, kad nustatytumėte kuo mažesnį delsos laiką.
Reikalavimai (64 bitų sistema privaloma)
„Windows 10“ arba „11“ su „Visual Studio 2019“ 16.8 ar naujesne versija ir „Windows SDK 10.0.20348.0“ (2104 versija) arba naujesne versija
C++ platinamieji paketai, 2017 m. arba naujesnė versija, CANopen: Ixxat VCI arba PCAN bazinė tvarkyklė (neprivaloma), EtherCat modulis / Profinet DCP: Npcap arba WinPcap, RESTful modulis: Npcap, WinPcap arba administratoriaus leidimas.
bendrauti su Ethernet įkrovos įkrovikliais
„Linux“ su „Ubuntu 20.04 LTS“ iki 24 versijos (visos x64 ir arm64)
Branduolio antraštės ir libpopt-dev paketas Profinet DCP: CAP_NET_ADMIN ir CAP_NET_RAW galimybė
jungtys CANopen: Ixxat ECI tvarkyklė arba Peak PCAN-USB adapteris EtherCat: CAP_NET_ADMIN, CAP_NET_RAW ir
CAP_SYS_NICE gebėjimai RESTful: CAP_NET_ADMIN gebėjimas bendrauti su Eth-
„Ernet“ įkrovos įkrovikliai (taip pat rekomenduojama: CAP_NET_RAW)
Kalba, lauko magistralės adapteriai, kabeliai
C++ GCC 7 arba naujesnė versija (Linux)
EtherCAT: Ethernet kabelis VCP / USB šakotuvas: dabar vienodas USB USB masinės atminties įrenginys: USB kabelis REST: Ethernet kabelis CANopen: Ixxat USB-to-CAN V2; Na-
„notec ZK-USB-CAN-1“, „Peak PCANUSB“ adapteris. „Ixxat“ nepalaiko „Ubuntu“ sistemoje „arm64“.
„Modbus RTU“: „Nanotec ZK-USB-RS485-1“ arba lygiavertis adapteris; USB kabelis virtualiame COM prievade (VCP)
„Modbus TCP“: Ethernet kabelis pagal produkto duomenų lapą
2.2 Numatytas naudojimas ir auditorija
NanoLib yra programų biblioteka ir programinės įrangos komponentas, skirtas Nanotec valdiklių veikimui ir ryšiui su jais įvairiose pramonės srityse ir tik tinkamai kvalifikuotiems programuotojams.
Dėl realiuoju laiku neveikiančios aparatinės įrangos (asmeninio kompiuterio) ir operacinės sistemos „NanoLib“ netinka naudoti tose srityse, kurioms reikalingas sinchroninis kelių ašių judėjimas arba kurioms paprastai svarbus laikas.
Jokiu būdu negalite integruoti „NanoLib“ kaip saugos komponento į gaminį ar sistemą. Pristatant galutiniams vartotojams, prie kiekvieno gaminio su „Nanotec“ pagamintu komponentu turite pridėti atitinkamus įspėjamuosius pranešimus ir saugaus naudojimo bei saugaus eksploatavimo instrukcijas. Visus „Nanotec“ išleistus įspėjamuosius pranešimus turite perduoti galutiniam vartotojui.
2.3 Pristatymo ir garantijos apimtis
NanoLib yra *.zip aplankas iš mūsų atsisiuntimo websvetainė EMEA / APAC arba AMERIKA. Tinkamai išsaugokite ir išpakuokite atsisiuntimą prieš nustatydami. NanoLib paketą sudaro:
Versija: doc 1.4.2 / NanoLib 1.3.0
5
2 Prieš pradėdami
Sąsajos antraštės kaip šaltinio kodas (API)
Pagrindinės funkcijos kaip bibliotekos dvejetainiu formatu: nano-
Bibliotekos, kurios palengvina bendravimą: nanolibm_lib.dll
[jūsųlauko magistralė].dll ir kt.Exampprojektas: pvz.ample.sln (Visual Studio
projektas) ir example.cpp (pagrindinis file)
Dėl garantijos apimties laikykitės a) mūsų sąlygų ir nuostatų, skirtų EMEA / APAC arba AMERIKOS regionui, ir b) visų licencijos sąlygų. Pastaba: „Nanotec“ neatsako už trečiųjų šalių įrangos gedimus ar netinkamą kokybę, tvarkymą, montavimą, veikimą, naudojimą ir priežiūrą! Dėl tinkamo saugumo visada laikykitės galiojančių originalios įrangos gamintojų (OEM) instrukcijų.
Versija: doc 1.4.2 / NanoLib 1.3.0
6
NanoLib architektūra
Modulinė „NanoLib“ programinės įrangos struktūra leidžia išdėstyti laisvai pritaikomas variklio valdiklio / lauko magistralės funkcijas aplink griežtai iš anksto sukurtą branduolį. „NanoLib“ yra šie moduliai:
Vartotojo sąsaja (API)
NanoLib branduolys
Sąsaja ir pagalbinės klasės kurios Bibliotekos kurios
Ryšių bibliotekos Konkrečios lauko magistralės bibliotekos, kurios
pasiekti, kad jūsų valdiklis įdiegtų API funkciją do sąsają tarp NanoLib
OD (objektų žodynas)
bendrauti su autobusų bibliotekomis.
šerdies ir magistralės techninė įranga.
Pagrindas NanoLib pagrindine funkcija
nacionalumų.
3.1 Vartotojo sąsaja
Vartotojo sąsaja susideda iš antraštės sąsajos files, kurias galite naudoti norėdami pasiekti valdiklio parametrus. Naudotojo sąsajos klasės, aprašytos klasių / funkcijų nuorodoje, leidžia jums:
Prijunkite prie abiejų įrenginių (lauko magistralės adapterio) ir valdiklio. Pasiekite įrenginio išorinį diapazoną (OD), kad galėtumėte nuskaityti / įrašyti valdiklio parametrus.
3.2 NanoLib branduolys
„NanoLib“ branduolyje yra importavimo biblioteka „nanolib.lib“. Ji įgyvendina vartotojo sąsajos funkcionalumą ir yra atsakinga už:
Ryšio bibliotekų įkėlimas ir valdymas. Vartotojo sąsajos funkcijų teikimas „NanoLibAccessor“. Šis ryšio įėjimo taškas apibrėžia...
nustato operacijų, kurias galite atlikti pagrindinėje NanoLib ir ryšių bibliotekose, rinkinį.
3.3 Ryšių bibliotekos
Be nanotec.services.nanolib.dll (naudinga jūsų pasirenkamai Plug & Drive Studio), NanoLib siūlo šias ryšių bibliotekas:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Visos bibliotekos sudaro aparatinės įrangos abstrakcijos sluoksnį tarp branduolio ir valdiklio. Šerdis įkelia juos paleidžiant iš nurodyto projekto aplanko ir naudoja juos ryšiui su valdikliu užmegzti pagal atitinkamą protokolą.
Versija: doc 1.4.2 / NanoLib 1.3.0
7
Darbo pradžia
Perskaitykite, kaip tinkamai nustatyti „NanoLib“ operacinei sistemai ir kaip prireikus prijungti aparatinę įrangą.
4.1 Paruoškite savo sistemą
Prieš diegdami adapterio tvarkykles, pirmiausia paruoškite kompiuterį su operacine sistema. Norėdami paruošti kompiuterį su „Windows“ operacine sistema, įdiekite „MS Visual Studio“ su C++ plėtiniais. Norėdami įdiegti „make“ ir „gcc“ naudodami „Linux Bash“, iškvieskite „sudo apt install build-essentials“. Tada įjunkite CAP_NET_ADMIN, CAP_NET_RAW ir CAP_SYS_NICE galimybes programai, kuri naudoja „NanoLib“: 1. Iškvieskite „sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
vardas>. 2. Tik tada įdiekite adapterio tvarkykles.
4.2 Įdiekite „Ixxat“ adapterio tvarkyklę, skirtą „Windows“
Tik tinkamai įdiegę tvarkyklę, galite naudoti „Ixxat“ USB į CAN V2 adapterį. Perskaitykite USB diskų gaminio vadovą, kad sužinotumėte, ar ir kaip įjungti virtualų jungties prievadą (VCP). 1. Atsisiųskite ir įdiekite „Ixxat“ VCI 4 tvarkyklę, skirtą „Windows“, iš www.ixxat.com. 2. Prijunkite „Ixxat“ kompaktišką USB-CAN V2 adapterį prie kompiuterio per USB. 3. Įrenginių tvarkytuvėje: patikrinkite, ar tvarkyklė ir adapteris yra tinkamai įdiegti / atpažįstami.
4.3 Įdiekite „Peak“ adapterio tvarkyklę, skirtą „Windows“
Tik tinkamai įdiegę tvarkykles, galite naudoti „Peak“ PCAN-USB adapterį. Perskaitykite USB diskų gaminio vadovą, kad sužinotumėte, ar / kaip įjungti virtualų prievadą (VCP). 1. Atsisiųskite ir įdiekite „Windows“ įrenginio tvarkyklės diegimo paketą (= diegimo paketą su įrenginių tvarkyklėmis, įrankiais ir
API) iš http://www.peak-system.com. 2. Prijunkite „Peak“ PCAN-USB adapterį prie kompiuterio per USB. 3. Įrenginių tvarkytuvėje: patikrinkite, ar tvarkyklė ir adapteris yra tinkamai įdiegti / atpažinti.
4.4 Įdiekite „Ixxat“ adapterio tvarkyklę, skirtą „Linux“
„Ixxat“ USB į CAN V2 adapterį galėsite naudoti tik tinkamai įdiegę tvarkyklę. Pastaba: kitiems palaikomiems adapteriams reikalingi jūsų leidimai, kuriuos galite gauti naudodami komandą „sudo chmod +777/dev/ttyACM* (* įrenginio numeris). Norėdami sužinoti, ar ir kaip aktyvuoti virtualų ryšio prievadą (VCP), perskaitykite USB diskų gaminio vadovą. 1. Įdiekite ECI tvarkyklei ir demonstracinei programai reikalingą programinę įrangą:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Atsisiųskite ECI tvarkyklę „Linux“ iš www.ixxat.com. Išskleiskite ją per:
išskleiskite eci_driver_linux_amd64.zip failą
3. Įdiekite tvarkyklę per:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Patikrinkite, ar tvarkyklė sėkmingai įdiegta, sukompiliuodami ir paleisdami demonstracinę programą:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Versija: doc 1.4.2 / NanoLib 1.3.0
8
4 Darbo pradžia
4.5 Įdiekite „Peak“ adapterio tvarkyklę, skirtą „Linux“
Tik tinkamai įdiegę tvarkykles, galite naudoti „Peak“ PCAN-USB adapterį. Pastaba: kitiems palaikomiems adapteriams reikalingi jūsų leidimai, gauti naudojant komandą „sudo chmod +777/dev/ttyACM* (* įrenginio numeris). Norėdami sužinoti, ar ir kaip aktyvuoti virtualų ryšį (VCP), perskaitykite USB diskų gaminio vadovą. 1. Patikrinkite, ar jūsų „Linux“ turi branduolio antraštes: ls /usr/src/linux-headers-`uname -r`. Jei ne, įdiekite.
juos: sudo apt-get install linux-headers-`uname -r` 2. Tik dabar įdiekite libpopt-dev paketą: sudo apt-get install libpopt-dev 3. Atsisiųskite reikiamą tvarkyklių paketą (peak-linux-driver-xxx.tar.gz) iš www.peak-system.com. 4. Norėdami jį išpakuoti, naudokite: tar xzf peak-linux-driver-xxx.tar.gz 5. Išpakuotame aplanke: sukompiliuokite ir įdiekite tvarkykles, PCAN bazinę biblioteką ir kt.: atlikite visus
sudo make install 6. Norėdami patikrinti funkciją, prijunkite PCAN-USB adapterį.
a) Patikrinkite branduolio modulį:
lsmod | grep pcan b) … ir bendrinama biblioteka:
ls -l /usr/lib/libpcan*
Pastaba: jei kyla problemų dėl USB3, naudokite USB2 prievadą.
4.6 Prijunkite aparatinę įrangą
Norėdami paleisti „NanoLib“ projektą, prijunkite suderinamą „Nanotec“ valdiklį prie kompiuterio naudodami adapterį. 1. Tinkamu kabeliu prijunkite adapterį prie valdiklio. 2. Prijunkite adapterį prie kompiuterio pagal adapterio duomenų lapą. 3. Įjunkite valdiklį naudodami tinkamą maitinimo šaltinį. 4. Jei reikia, pakeiskite „Nanotec“ valdiklio ryšio nustatymus, kaip nurodyta jo gaminio vadove.
4.7 Įkelti NanoLib
Norėdami pradėti nuo greitų ir lengvų pagrindų, galite (bet ne) naudoti mūsų buvample projektas. 1. Atsižvelgiant į jūsų regioną: Atsisiųskite „NanoLib“ iš mūsų websvetainė EMEA / APAC arba AMERIKA. 2. Išpakuokite pakuotę files / aplankus ir pasirinkite vieną parinktį: Norėdami gauti greitų ir lengvų pagrindų: žrample projektas. Norėdami sužinoti daugiau apie išsamesnį pritaikymą sistemoje „Windows“, žr. „Savo „Windows“ projekto kūrimas“. Norėdami sužinoti daugiau apie išsamesnį pritaikymą sistemoje „Linux“, žr. „Savo „Linux“ projekto kūrimas“.
Versija: doc 1.4.2 / NanoLib 1.3.0
9
Pradedant buvample projektas
Tinkamai įkėlus NanoLib, buvęsample projektas parodo, kaip NanoLib naudojamas su Nanotec valdikliu. Pastaba: apie kiekvieną veiksmą pateikite komentarus pateiktame pvzample kodas paaiškina naudojamas funkcijas. Buvęsample projektą sudaro: `*_functions_ex`ample.* files, kuriose yra „NanoLib“ sąsajos funkcijų, tokių kaip `*_callback_ex, įgyvendinimai.ample.* files, kuriose yra įvairių atgalinių iškvietimų (nuskaitymo, duomenų ir) įgyvendinimai
registravimas) `menu_*.*' file, kuriame yra meniu logika ir kodas, skirtas Example.* file, kuri yra pagrindinė programa, sukurianti meniu ir inicijavusi visus naudojamus S parametrusampler_example.* file, kuriame yra example įgyvendinimas sampler naudojimas. Galite rasti daugiau pavyzdžiųamples, su kai kuriomis judesio komandomis įvairiems veikimo režimams, rasite žinių bazėje adresu nanotec.com. Visas jas galima naudoti „Windows“ arba „Linux“ sistemose.
„Windows“ sistemoje su „Visual Studio“ 1. Atidarykite „Ex“ample.sln file2. Atidarykite buv.ample.cpp. 3. Sukompiliuokite ir paleiskite exampkodas.
„Linux“ sistemoje per „Bash“ 1. Išpakuokite šaltinio kodą file, eikite į aplanką su išpakuotu turiniu. Pagrindinis file buvusiajamample is
example.cpp. 2. „bash“ komandinėje eilutėje iškvieskite:
a. „sudo make install“, kad nukopijuotumėte bendrinamus objektus ir iškviestumėte „ldconfig“. b. „make all“, kad sukurtumėte bandomąjį vykdomąjį failą. 3. Aplanke „bin“ yra vykdomasis failas, pvz.ample file. Naudojant bash: Eikite į išvesties aplanką ir įveskite ./exampJei klaida neįvyksta, jūsų bendrinami objektai yra tinkamai įdiegti ir jūsų biblioteka paruošta naudoti. Jei klaida rodo ./example: klaida įkeliant bendrinamas bibliotekas: libnanolib.so: negalima atidaryti bendrinamo objekto file: Tokio nėra file arba kataloge, nepavyko įdiegti bendrinamų objektų. Tokiu atveju atlikite toliau nurodytus veiksmus. 4. Sukurkite naują aplanką kataloge /usr/local/lib (reikalingos administratoriaus teisės). Į „bash“ komandą įveskite:
sudo mkdir /usr/local/lib/nanotec
5. Nukopijuokite visus bendrinamus objektus iš ZIP failo file„lib“ aplankas:
įdiegti ./lib/*.so /usr/local/lib/nanotec/
6. Patikrinkite tikslinio aplanko turinį naudodami:
ls -al /usr/local/lib/nanotec/
Jame turėtų būti nurodytas bendrinamas objektas fileiš aplanko „lib“. 7. Paleiskite komandą „ldconfig“ šiame aplanke:
sudo ldconfig /usr/local/lib/nanotec/
Buvęsamp„file“ yra įdiegta kaip CLI programa ir teikia meniu sąsają. Meniu įrašai yra kontekstiniai ir bus įjungti arba išjungti priklausomai nuo konteksto būsenos. Jie suteikia galimybę pasirinkti ir vykdyti įvairias bibliotekos funkcijas, laikantis įprasto valdiklio valdymo darbo eigos: 1. Patikrinkite, ar prie kompiuterio nėra prijungtos įrangos (adapterių), ir sudarykite jų sąrašą. 2. Užmegzkite ryšį su adapteriu. 3. Nuskaitykite magistralę, ar nėra prijungtų valdiklio įrenginių. 4. Prijunkite prie įrenginio.
Versija: doc 1.4.2 / NanoLib 1.3.0
10
5 Pradedant buvample projektas
5. Išbandykite vieną ar kelias bibliotekos funkcijas: skaitykite / rašykite iš / į valdiklio objektų žodyną, atnaujinkite programinę-aparatinę įrangą, įkelkite ir paleiskite „NanoJ“ programą, paleiskite variklį ir jį suderinkite, konfigūruokite ir naudokite registravimo(-us) duomenis.ampler.
6. Užbaikite ryšį pirmiausia su įrenginiu, o tada su adapteriu.
Versija: doc 1.4.2 / NanoLib 1.3.0
11
Savo „Windows“ projekto kūrimas
Sukurkite, kompiliuokite ir paleiskite savo „Windows“ projektą, kad galėtumėte naudoti „NanoLib“.
6.1 „NanoLib“ importavimas
Importuoti „NanoLib“ antraštę fileir bibliotekas per „MS Visual Studio“.
1. Atidarykite „Visual Studio“. 2. Per „Sukurti naują projektą“ > „Konsolės programa C++“ > „Toliau“: pasirinkite projekto tipą. 3. Pavadinkite savo projektą (čia: „NanolibTest“), kad sukurtumėte projekto aplanką sprendimų naršyklėje. 4. Pasirinkite „Baigti“. 5. Atidarykite langus file naršyklę ir eikite į naujai sukurtą projekto aplanką. 6. Sukurkite du naujus aplankus – „inc“ ir „lib“. 7. Atidarykite „NanoLib“ paketo aplanką. 8. Iš ten: nukopijuokite antraštę fileiš įtraukimo aplanko į savo projekto aplanką „inc“ ir visus .lib bei .dll failus
fileį savo naują projekto aplanką lib. 9. Patikrinkite savo projekto aplanką, ar jame yra tinkama struktūra, pvz.ampLe:
tinkamas aplankas tinkamai struktūrai:
. „NanolibTest inc“ accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vcxproj.user NanolibTest.sln
6.2 Projekto konfigūravimas
Norėdami nustatyti „NanoLib“ projektus, naudokite „MS Visual Studio“ sprendimų naršyklę. Pastaba: norint tinkamai veikti „NanoLib“, „Visual C++“ projekto nustatymuose pasirinkite leidimo (ne derinimo!) konfigūraciją; tada sukurkite ir susiekite projektą su C++ platinamųjų paketų VC vykdymo aplinkomis [2022].
1. Sprendimų naršyklėje: eikite į savo projekto aplanką (čia: „NanolibTest“). 2. Spustelėkite aplanką kartu, kad atidarytumėte kontekstinį meniu. 3. Pasirinkite „Ypatybės“. 4. Aktyvuokite „Visos konfigūracijos“ ir „Visos platformos“. 5. Pasirinkite C/C++ ir eikite į „Papildomi įtraukimo katalogai“. 6. Įterpkite: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Pasirinkite „Linker“ ir eikite į „Papildomi bibliotekos katalogai“. 8. Įterpkite: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Išplėskite „Linker“ ir pasirinkite „Įvestis“. 10. Eikite į „Papildomos priklausomybės“ ir įterpkite: nanolib.lib;%(Papildomos priklausomybės) 11. Patvirtinkite paspausdami „Gerai“.
Versija: doc 1.4.2 / NanoLib 1.3.0
12
6 Savo „Windows“ projekto kūrimas
12. Eikite į Konfigūracija > C++ > Kalba > Kalbos standartas > ISO C++17 standartas ir nustatykite kalbos standartą į C++17 (/std:c++17).
6.3 Sukurkite savo projektą
Sukurkite savo „NanoLib“ projektą MS Visual Studio programoje. 1. Atidarykite pagrindinį *.cpp failą. file (čia: nanolib_example.cpp) ir, jei reikia, redaguokite kodą. 2. Pasirinkite „Build“ > „Configuration Manager“. 3. Pakeiskite „Active solution platforms“ į „x64“. 4. Patvirtinkite paspausdami „Close“. 5. Pasirinkite „Build“ > „Build solution“. 6. Nėra klaidos? Patikrinkite, ar jūsų kompiliavimo išvestis tinkamai rodo:
1>—— Valymas pradėtas: Projektas: NanolibTest, Konfigūracija: Derinimas x64 —–========== Valymas: 1 sėkmingas, 0 nepavyko, 0 praleista ===========
Versija: doc 1.4.2 / NanoLib 1.3.0
13
7 Savo „Linux“ projekto kūrimas
7 Savo „Linux“ projekto kūrimas
Sukurkite, sukompiliuokite ir paleiskite savo „Linux“ projektą, kad galėtumėte naudoti „NanoLib“. 1. Išskleistame „NanoLib“ diegimo rinkinyje: Atidarykite /nanotec_nanolib. 2. Raskite visus bendrinamus objektus faile tar.gz file. 3. Pasirinkite vieną variantą: Įdiekite kiekvieną biblioteką naudodami „Make“file arba rankomis.
7.1 Įdiekite bendrinamus objektus naudodami „Make“file
Naudokite „Make“file su „Linux Bash“, kad automatiškai įdiegtų visus numatytuosius *.so failus files. 1. Per Bash: Eikite į aplanką, kuriame yra „make“file. 2. Nukopijuokite bendrinamus objektus per:
sudo make install 3. Patvirtinkite naudodami:
ldconfig
7.2 Bendrinamų objektų diegimas rankiniu būdu
Norėdami įdiegti visus *.so, naudokite „Bash“ file„NanoLib“ rankiniu būdu. 1. Per „Bash“: sukurkite naują aplanką /usr/local/lib. 2. Reikalingos administratoriaus teisės! Įveskite:
sudo mkdir /usr/local/lib/nanotec 3. Pereikite į išpakuoto diegimo paketo aplanką. 4. Nukopijuokite visus bendrinamus objektus iš lib aplanko per:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Patikrinkite tikslinio aplanko turinį naudodami:
ls -al /usr/local/lib/nanotec/ 6. Patikrinkite, ar išvardyti visi bendrinami objektai iš lib aplanko. 7. Paleiskite ldconfig šiame aplanke per:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Sukurkite savo projektą
Įdiegę bendrinamus objektus: sukurkite naują „Linux NanoLib“ projektą. 1. Per „Bash“: sukurkite naują projekto aplanką (čia: „NanoLibTest“) per:
mkdir NanoLibTest cd NanoLibTest
2. Nukopijuokite antraštę fileį įtraukimo aplanką (čia: inc) per: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Sukurkite pagrindinį file (NanoLibTest.cpp) per: #įtraukti „accessor_factory.hpp“ #įtraukti
Versija: doc 1.4.2 / NanoLib 1.3.0
14
7 Savo „Linux“ projekto kūrimas
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds rezultatas = accessor->listAvailableBusHardware();
jei(rezultatas.hasError()) { std::cout << rezultatas.getError() << std::endl; }
else{ std::cout << „Sėkmė“ << std::endl; }
ištrinti prieigą; grąžinti 0; }
4. Patikrinkite savo projekto aplanko struktūrą:

NanoLibTest
įskaitant accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Sudarykite ir išbandykite savo projektą
Paruoškite savo „Linux NanoLib“ naudoti per „Bash“.
1. Per Bash: Sudarykite pagrindinį file per:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Susieti vykdomąjį failą per:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Paleiskite bandymo programą per:
./testas
4. Patikrinkite, ar jūsų „Bash“ tinkamai pateikia ataskaitas:
sėkmės
Versija: doc 1.4.2 / NanoLib 1.3.0
15
8 Klasių / funkcijų nuoroda
8 Klasių / funkcijų nuoroda
Čia rasite NanoLib vartotojo sąsajos klasių ir jų narių funkcijų sąrašą. Tipiškas funkcijos aprašymas apima trumpą įvadą, funkcijos apibrėžimą ir parametrų / grąžinimo sąrašą:
ExampleFunction () Trumpai nurodo, ką funkcija atlieka.
virtualus tuščias nlc::NanoLibAccessor::ExampFunkcija (Param_a konstanta ir param_a, Param_b konstanta ir param_B)
Parametrai param_a param_b
Grąžina ResultVoid
Papildomas komentaras, jei reikia. Papildomas komentaras, jei reikia.
8.1 NanoLibAccessor
Sąsajos klasė naudojama kaip įėjimo į NanoLib taškas. Įprasta darbo eiga atrodo taip:
1. Pradėkite nuo aparatinės įrangos nuskaitymo naudodami NanoLibAccessor.listAvailableBusHardware (). 2. Nustatykite ryšio nustatymus naudodami „BusHardwareOptions“ (). 3. Atidarykite aparatinės įrangos ryšį naudodami NanoLibAccessor.openBusHardwareWithProtocol (). 4. Nuskaitykite magistralę, ar nėra prijungtų įrenginių, naudodami NanoLibAccessor.scanDevices (). 5. Pridėkite įrenginį su NanoLibAccessor.addDevice (). 6. Prisijunkite prie įrenginio naudodami NanoLibAccessor.connectDevice (). 7. Baigę operaciją atjunkite įrenginį naudodami NanoLibAccessor.disconnectDevice (). 8. Išimkite įrenginį naudodami NanoLibAccessor.removeDevice (). 9. Uždarykite aparatinės įrangos ryšį naudodami NanoLibAccessor.closeBusHardware ().
NanoLibAccessor turi šias viešas nario funkcijas:
listAvailableBusHardware () Naudokite šią funkciją, kad pateiktumėte galimą lauko magistralės aparatinę įrangą.
virtualūs „ResultBusHwIds“ nlc::NanoLibAccessor::listAvailableBusHardware ()
Grąžina ResultBusHwIds
Pateikiamas lauko magistralės ID masyvas.
openBusHardwareWithProtocol () Naudokite šią funkciją, norėdami prijungti magistralės techninę įrangą.
virtualus „ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol“ (BusHardwareId const ir busHwId, BusHardwareOptions const ir busHwOpt)
Parametrai busHwId busHwOpt
Grąžina ResultVoid
Nurodo lauko magistralę, kurią reikia atidaryti. Nurodo lauko magistralės atidarymo parinktis. Patvirtina, kad buvo paleista tuščioji funkcija.
isBusHardwareOpen () Naudokite šią funkciją norėdami patikrinti, ar jūsų lauko magistralės aparatinės įrangos ryšys yra atidarytas.
virtualus „ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol“ (konst. „BusHardwareId“ ir „busHwId“, konst. „BusHardwareOptions“ ir „busHwOpt“)
Versija: doc 1.4.2 / NanoLib 1.3.0
16
8 Klasių / funkcijų nuoroda
Parametrai BusHardwareId Grąžina true
klaidinga
Nurodo kiekvieną lauko magistralę, kurią reikia atidaryti. Aparatinė įranga atidaryta. Aparatūra uždaryta.
getProtocolSpecificAccessor () Naudokite šią funkciją norėdami gauti konkretaus protokolo prieigos objektą.
virtualus „ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor“ (BusHardwareId const ir busHwId)
Parametrai busHwId grąžina ResultVoid
Nurodo lauko magistralę, kuriai reikia gauti priedą. Patvirtina, kad buvo paleista tuščioji funkcija.
getProfinetDCP () Naudokite šią funkciją norėdami grąžinti nuorodą į Profinet DCP sąsają.
virtualus ProfinetDCP ir getProfinetDCP ()
Grąžina ProfinetDCP
gautiSamplerInterface () Naudokite šią funkciją norėdami gauti nuorodą į sampler sąsaja.
virtualus SamplerInterface ir getSamplerInterface ()
Grąžina SamplerInterface
Nurodo sampler sąsajos klasė.
setBusState () Naudokite šią funkciją norėdami nustatyti specifinę magistralės protokolo būseną.
virtualus „ResultVoid“ nlc::NanoLibAccessor::setBusState (const BusHardwareId ir busHwId, const std::string ir state)
Parametrų busHwId būsena
Grąžina ResultVoid
Nurodo lauko magistralę, kurią reikia atidaryti. Priskiria specifinę magistralės būseną kaip eilutės reikšmę. Patvirtina, kad buvo paleista tuščioji funkcija.
scanDevices () Naudokite šią funkciją norėdami nuskaityti įrenginius tinkle.
virtualūs „ResultDeviceIds nlc::NanoLibAccessor::scanDevices“ (const BusHardwareId ir busHwId, NlcScanBusCallback* grįžtamasis iškvietimas)
Parametrai busHwId atgalinis skambutis
Grąžina ResultDeviceIds IOError
Nurodo nuskaitytą lauko magistralę. NlcScanBusCallback eigos sekiklis. Pateikiamas įrenginio ID masyvas. Praneša, kad įrenginys nerastas.
Versija: doc 1.4.2 / NanoLib 1.3.0
17
8 Klasių / funkcijų nuoroda
pridėtiĮrenginį ()
Naudokite šią funkciją, norėdami į „NanoLib“ vidinį įrenginių sąrašą įtraukti magistralės įrenginį, aprašytą deviceId, ir grąžinti jam deviceHandle.
virtualus „ResultDeviceHandle nlc::NanoLibAccessor::addDevice“ (DeviceId const ir deviceId)
Parametrai deviceId Grąžina ResultDeviceHandle
Nurodo įrenginį, kurį norite įtraukti į sąrašą. Pateikiama įrenginio rankena.
connectDevice () Naudokite šią funkciją norėdami prijungti įrenginį pagal įrenginįHandle.
virtualus „ResultVoid“ nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultVoid
IO klaida
Nurodo, prie kokio magistralės įrenginio NanoLib jungiasi. Patvirtina, kad buvo paleista tuščioji funkcija. Praneša, kad įrenginys nerastas.
getDeviceName () Naudokite šią funkciją, kad gautumėte įrenginio pavadinimą pagal „DeviceHandle“.
virtualus rezultatų eilutė nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultString
Nurodo, kuriam magistralės įrenginiui „NanoLib“ suteikiamas pavadinimas. Pateikiami įrenginių pavadinimai kaip eilutė.
getDeviceProductCode () Naudokite šią funkciją norėdami gauti įrenginio produkto kodą pagal įrenginį Handle.
virtualus „ResultInt“ nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultInt
Nurodo, kokio magistralinio įrenginio NanoLib gauna produkto kodą. Pateikiami produktų kodai kaip sveikasis skaičius.
getDeviceVendorId () Naudokite šią funkciją norėdami gauti įrenginio tiekėjo ID pagal „DeviceHandle“.
virtualus „ResultInt“ nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultInt
Išteklius nepasiekiamas
Nurodo, kokio magistralės įrenginio NanoLib gauna tiekėjo ID. Tiekėjo ID pateikiamas kaip sveikasis skaičius. Informuoja, kad duomenų nerasta.
Versija: doc 1.4.2 / NanoLib 1.3.0
18
8 Klasių / funkcijų nuoroda
getDeviceId () Naudokite šią funkciją norėdami gauti konkretaus įrenginio ID iš NanoLib vidinio sąrašo.
virtualus „ResultDeviceId“ nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultDeviceId
Nurodo, kokio magistralės įrenginio „NanoLib“ gauna įrenginio ID. Pateikiamas įrenginio ID.
getDeviceIds () Naudokite šią funkciją norėdami gauti visų įrenginių ID iš NanoLib vidinio sąrašo.
virtualūs „ResultDeviceIds“ nlc::NanoLibAccessor::getDeviceIds ()
Grąžina ResultDeviceIds
Pateikiamas įrenginio ID sąrašas.
getDeviceUid () Naudokite šią funkciją, kad gautumėte unikalų įrenginio ID (96 bitai / 12 baitų) pagal deviceHandle.
virtualus „ResultArrayByte nlc::NanoLibAccessor::getDeviceUid“ (DeviceHandle const deviceHandle)
Parametrai deviceHandle grąžina ResultArrayByte
Išteklius nepasiekiamas
Nurodo, kuriam magistralės įrenginiui NanoLib gauna unikalų ID. Pateikiami unikalūs ID kaip baitų masyvas. Informuoja, kad duomenų nerasta.
getDeviceSerialNumber () Naudokite šią funkciją, kad gautumėte įrenginio serijos numerį pagal įrenginįHandle.
virtualus rezultatų eilutės NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultString
Išteklius nepasiekiamas
Nurodo, kokio magistralės įrenginio NanoLib gauna serijos numerį. Serijos numerius pateikia kaip eilutę. Informuoja, kad duomenų nerasta.
getDeviceHardwareGroup () Naudokite šią funkciją norėdami gauti magistralės įrenginio aparatinės įrangos grupę pagal įrenginįHandle.
virtualus „ResultDeviceId“ nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultInt
Nurodo, kuriam magistralės įrenginiui „NanoLib“ gauna aparatinės įrangos grupę.
Pateikiamos aparatinės įrangos grupės kaip sveikasis skaičius.
getDeviceHardwareVersion () Naudokite šią funkciją norėdami gauti magistralės įrenginio aparatinės įrangos versiją pagal įrenginįHandle.
virtualus „ResultDeviceId“ nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Versija: doc 1.4.2 / NanoLib 1.3.0
19
8 Klasių / funkcijų nuoroda
Parametrai įrenginio Rankena
Grąžina
ResultString išteklius nepasiekiamas
Nurodo, kuriam magistralės įrenginiui „NanoLib“ gauna aparatinės įrangos versiją. Pateikiami įrenginių pavadinimai kaip eilutė. Informuoja, kad duomenų nerasta.
getDeviceFirmwareBuildId () Naudokite šią funkciją norėdami gauti magistralės įrenginio programinės aparatinės įrangos versijos ID pagal deviceHandle.
virtualus „ResultDeviceId“ nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultString
Nurodo, kuriam magistralės įrenginiui „NanoLib“ gauna programinės aparatinės įrangos kūrimo ID.
Pateikiami įrenginių pavadinimai kaip eilutė.
getDeviceBootloaderVersion () Naudokite šią funkciją, kad gautumėte magistralės įrenginio įkrovos įkrovos versiją pagal įrenginįHandle.
virtualus „ResultInt“ nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
Parametrai įrenginio Rankena
Grąžina
ResultInt ResourceUnavailable
Nurodo, kuriam magistralės įrenginiui „NanoLib“ gauna įkrovos įkrovos versiją. Pateikiamos įkrovos įkrovos versijos kaip sveikasis skaičius. Informuoja, kad duomenų nerasta.
getDeviceBootloaderBuildId () Naudokite šią funkciją norėdami gauti magistralės įrenginio įkrovos įkrovos versijos ID pagal deviceHandle.
virtualus „ResultDeviceId nlc::NanoLibAccessor::“ (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultString
Nurodo, kuriam magistralės įrenginiui „NanoLib“ gauna įkrovos įkrovos versijos ID.
Pateikiami įrenginių pavadinimai kaip eilutė.
rebootDevice () Naudokite šią funkciją norėdami iš naujo paleisti įrenginį pagal įrenginįHandle.
virtualus „ResultVoid“ nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Parametrai deviceHandle Returns ResultVoid
Nurodo lauko magistralę, kurią reikia paleisti iš naujo. Patvirtina, kad buvo paleista tuščioji funkcija.
getDeviceState () Naudokite šią funkciją norėdami gauti įrenginio protokolo būseną.
virtualus rezultatų eilutės nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Parametrai įrenginio Rankena
Nurodo, kuriam magistralės įrenginiui „NanoLib“ gauna būseną.
Versija: doc 1.4.2 / NanoLib 1.3.0
20
8 Klasių / funkcijų nuoroda
Grąžina rezultatų eilutę
Pateikiami įrenginių pavadinimai kaip eilutė.
setDeviceState () Naudokite šią funkciją norėdami nustatyti įrenginio protokolo būseną.
virtualus „ResultVoid“ nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string ir būsena)
Parametrai deviceHandle būsena
Grąžina ResultVoid
Nurodo, kokio magistralinio įrenginio NanoLib būseną nustato. Priskiria specifinę magistralės būseną kaip eilutės reikšmę. Patvirtina, kad buvo paleista tuščioji funkcija.
gautiRyšioState()
Naudokite šią funkciją, norėdami gauti konkretaus įrenginio paskutinę žinomą ryšio būseną pagal deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtualus „ResultConnectionState“ nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultConnectionState
Nurodo, kokio magistralės įrenginio NanoLib gauna ryšio būseną.
Pateikiama ryšio būsena (= atjungtas, prijungtas, prijungtas įkroviklis).
patikrinti RyšioState()
Tik jei paskutinė žinoma būsena nebuvo Atjungta: naudokite šią funkciją, norėdami patikrinti ir galbūt atnaujinti konkretaus įrenginio ryšio būseną pagal „deviceHandle“ ir išbandydami kelias režimui būdingas operacijas.
virtualus „ResultConnectionState“ nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultConnectionState
Nurodo, kokio magistralės įrenginio NanoLib tikrina ryšio būseną.
Pateikiama ryšio būsena (= ne Atjungta).
assignObjectDictionary () Naudokite šią rankinę funkciją norėdami priskirti objektų žodyną (OD) įrenginiui „DeviceHandle“.
virtualus „ResultObjectDictionary“ nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Parametrai deviceHandle objectDictionary
Grąžina ResultObjectDictionary
Nurodo, kuriam magistralės įrenginiui NanoLib priskiria OD. Rodo objektų žodyno ypatybes.
autoAssignObjectDictionary ()
Naudokite šį automatizmą, kad „NanoLib“ priskirtumėte objektų žodyną (OD) „deviceHandle“. Suradęs ir įkeldamas tinkamą OD, NanoLib automatiškai jį priskiria įrenginiui. Pastaba: jei suderinamas OD jau įkeltas į objektų biblioteką, NanoLib automatiškai jį naudos nenuskaitydamas pateikto katalogo.
virtualus „ResultObjectDictionary“ nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string ir dictionariesLocationPath)
Versija: doc 1.4.2 / NanoLib 1.3.0
21
8 Klasių / funkcijų nuoroda
Parametrai įrenginio Rankena
Grąžina
žodynaiLocationPath ResultObjectDictionary
Nurodo, kuriam magistralės įrenginiui „NanoLib“ automatiškai nuskaito tinkamus OD. Nurodo kelią į OD katalogą. Rodo objektų žodyno ypatybes.
gauti priskirtą objektų žodyną ()
Naudokite šią funkciją, norėdami gauti objektų žodyną, priskirtą įrenginiui pagal „deviceHandle“.
virtualus „ResultObjectDictionary“ nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device)
Rankena)
Parametrai deviceHandle Returns ResultObjectDictionary
Nurodo, kuriam magistralės įrenginiui „NanoLib“ gauna priskirtą OD. Rodo objektų žodyno ypatybes.
getObjectDictionaryLibrary () Ši funkcija grąžina OdLibrary nuorodą.
virtuali OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
Grąžina OdLibrary&
Atidaro visą OD biblioteką ir jos objektų žodynus.
setLoggingLevel () Naudokite šią funkciją norėdami nustatyti reikalingus žurnalo duomenis (ir žurnalą file dydis). Numatytasis lygis yra informacija.
virtualus void nlc::NanoLibAccessor::setLoggingLevel (LogLevel lygis)
Parametrų lygis
Galimi šie žurnalo duomenys:
0 = sekimas 1 = derinimas 2 = informacija 3 = įspėjimas 4 = klaida 5 = kritinė 6 = išjungta
Žemiausias lygis (didžiausias rąstas file); registruoja bet kokią įmanomą informaciją, taip pat programinės įrangos paleidimą / sustabdymą. Žurnalų derinimo informacija (= tarpiniai rezultatai, išsiųstas arba gautas turinys ir kt.) Numatytasis lygis; registruoja informacinius pranešimus. Užregistruoja iškilusias problemas, bet nesustabdo dabartinio algoritmo. Žurnalai tiesiog sukėlė rimtų problemų, kurios sustabdė algoritmą. Aukščiausias lygis (mažiausias rąstas file); išjungia registravimą; daugiau jokio žurnalo. Miško ruošos visai nevyksta.
setLoggingCallback()
Šią funkciją naudokite norėdami nustatyti žurnalavimo atgalinio iškvietimo rodyklę ir žurnalo modulį (= biblioteką) tam atgaliniam iškvietimui (ne pačiam registravimo įrenginiui).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* grįžtamasis ryšys, const nlc::LogModule ir logModule)
Parametrai *callback logModule
Nustato grįžtamojo ryšio rodyklę. Nukreipia grįžtamąjį ryšį (ne registratorių!) į jūsų biblioteką.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Aktyvuoja tik „NanoLib“ branduolio grįžtamąjį iškvietimą. Aktyvuoja tik „CANopen“ grįžtamąjį iškvietimą. Aktyvuoja tik „Modbus“ grįžtamąjį iškvietimą. Aktyvuoja tik „EtherCAT“ grįžtamąjį iškvietimą.
Versija: doc 1.4.2 / NanoLib 1.3.0
22
8 Klasių / funkcijų nuoroda
4 = NanolibRest 5 = NanolibUSB
Aktyvuoja tik REST grįžtamąjį iškvietimą. Aktyvuoja tik USB grįžtamąjį iškvietimą.
unsetLoggingCallback () Naudokite šią funkciją norėdami atšaukti registravimo atgalinio skambinimo žymeklį.
virtualus void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Naudokite šią funkciją norėdami nuskaityti skaitinę reikšmę iš objekto žodyno.
virtualus „ResultInt“ nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametrai deviceHandle odIndex
Grąžina ResultInt
Nurodo, iš kokio magistralės įrenginio NanoLib skaito. Nurodo (po) indeksą, iš kurio reikia skaityti. Pateikiama neinterpretuota skaitinė reikšmė (gali būti pasirašyta, nepasirašyta, fiksuotos 16.16 bitų reikšmės).
readNumberArray () Naudokite šią funkciją norėdami nuskaityti skaitinius masyvus iš objektų žodyno.
virtualus „ResultArrayInt nlc::NanoLibAccessor::readNumberArray“ (const DeviceHandle deviceHandle, const uint16_t index)
Parametrai deviceHandle index
Grąžina ResultArrayInt
Nurodo, iš kokio magistralės įrenginio NanoLib skaito. Masyvo objekto indeksas. Pateikiamas sveikųjų skaičių masyvas.
readBytes () Naudokite šią funkciją norėdami nuskaityti savavališkus baitus (domeno objekto duomenis) iš objektų žodyno.
virtualus „ResultArrayByte“ nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametrai deviceHandle odIndex
Grąžina ResultArrayByte
Nurodo, iš kokio magistralės įrenginio NanoLib skaito. Nurodo (po) indeksą, iš kurio reikia skaityti. Pateikiamas baitų masyvas.
readString () Naudokite šią funkciją norėdami nuskaityti eilutes iš objektų katalogo.
virtualus rezultatų eilutės kodas nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Parametrai deviceHandle odIndex
Grąžina rezultatų eilutę
Nurodo, iš kokio magistralės įrenginio NanoLib skaito. Nurodo (po) indeksą, iš kurio reikia skaityti. Pateikiami įrenginių pavadinimai kaip eilutė.
Versija: doc 1.4.2 / NanoLib 1.3.0
23
8 Klasių / funkcijų nuoroda
writeNumber () Naudokite šią funkciją norėdami įrašyti skaitines reikšmes į objektų katalogą.
virtualus „ResultVoid“ nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)
Parametrai deviceHandle value odIndex bitLength
Grąžina ResultVoid
Nurodo, į kokį magistralės įrenginį NanoLib rašo. Neinterpretuota reikšmė (gali būti pasirašyta, nepasirašyta, pataisyta 16.16). Nurodo (po) indeksą, iš kurio reikia skaityti. Ilgis bitais. Patvirtina, kad buvo paleista tuščioji funkcija.
writeBytes () Naudokite šią funkciją norėdami įrašyti savavališkus baitus (domeno objekto duomenis) į objektų katalogą.
virtualus „ResultVoid“ nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector) ir duomenys, konstanta OdIndex odIndex)
Parametrai deviceHandle data odIndex
Grąžina ResultVoid
Nurodo, į kokį magistralės įrenginį NanoLib rašo. Baitų vektorius / masyvas. Nurodo (po) indeksą, iš kurio reikia skaityti. Patvirtina, kad buvo paleista tuščioji funkcija.
įkelti programinę įrangą ()
Naudokite šią funkciją valdiklio programinei įrangai atnaujinti.
virtualus „ResultVoid“ nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector) ir „fwData“, „NlcDataTransferCallback*“ grįžtamasis iškvietimas)
Parametrai deviceHandle fwData NlcDataTransferCallback
Grąžina ResultVoid
Nurodo, koks magistralės įrenginys NanoLib atnaujinamas. Masyvas, kuriame yra programinės įrangos duomenų. Duomenų eigos sekiklis. Patvirtina, kad buvo paleista tuščioji funkcija.
įkeltiFirmwareNuoFile ()
Naudokite šią funkciją, norėdami atnaujinti valdiklio programinę-aparatinę įrangą įkeldami jos file.
virtualus „ResultVoid“ nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string ir absoliutus)FileKelias, „NlcDataTransferCallback*“ grįžtamasis iškvietimas)
Parametrai deviceHandle absoliutusFileKelias NlcDataTransferCallback
Grąžina ResultVoid
Nurodo, koks magistralės įrenginys NanoLib atnaujinamas. Kelias į file kuriame yra programinės įrangos duomenys (std::string). Duomenų eigos sekiklis. Patvirtina, kad buvo paleista „void“ funkcija.
Versija: doc 1.4.2 / NanoLib 1.3.0
24
8 Klasių / funkcijų nuoroda
įkelti įkrovos įkėlėją ()
Naudokite šią funkciją valdiklio įkrovos įkrovos programai atnaujinti.
virtualus „ResultVoid“ nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector) ir „btData“, „NlcDataTransferCallback*“ grįžtamasis iškvietimas)
Parametrai deviceHandle btData NlcDataTransferCallback
Grąžina ResultVoid
Nurodo, koks magistralės įrenginys NanoLib atnaujinamas. Masyvas, kuriame yra įkrovos įkrovos duomenys. Duomenų eigos sekiklis. Patvirtina, kad buvo paleista tuščioji funkcija.
uploadBootloaderFromFile ()
Naudokite šią funkciją, norėdami atnaujinti valdiklio įkrovos tvarkyklę, įkeldami jos file.
virtualus „ResultVoid“ nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string ir bootloaderAbsolute)FileKelias, „NlcDataTransferCallback*“ grįžtamasis iškvietimas)
Parametrai deviceHandle bootloaderAbsoluteFileKelias NlcDataTransferCallback
Grąžina ResultVoid
Nurodo, koks magistralės įrenginys NanoLib atnaujinamas. Kelias į file kuriame yra įkrovos įkrovos duomenys (std::string). Duomenų eigos sekiklis. Patvirtina, kad buvo paleista „void“ funkcija.
įkelti įkrovos įkrovos programinę įrangą ()
Naudokite šią funkciją valdiklio įkrovos įkrovos programai ir programinei įrangai atnaujinti.
virtualus „ResultVoid“ nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector) ir btData, konstanta std::vector ir „fwData“, „NlcDataTransferCallback*“ grįžtamasis iškvietimas)
Parametrai deviceHandle btData fwData NlcDataTransferCallback
Grąžina ResultVoid
Nurodo, koks magistralės įrenginys NanoLib atnaujinamas. Masyvas, kuriame yra įkrovos įkrovos duomenys. Masyvas, kuriame yra programinės įrangos duomenų. Duomenų eigos sekiklis. Patvirtina, kad buvo paleista tuščioji funkcija.
uploadBootloaderFirmwareFromFile ()
Naudokite šią funkciją norėdami atnaujinti valdiklio įkrovos įkroviklį ir programinę-aparatinę įrangą, įkeldami files.
virtualus „ResultVoid“ nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string ir bootloaderAbsolute)FileKelias, konstanta std::string ir absoliutusFileKelias, „NlcDataTransferCallback*“ grįžtamasis iškvietimas)
Parametrai deviceHandle bootloaderAbsoluteFileAbsoliutus keliasFileKelias NlcDataTransferCallback
Grąžina ResultVoid
Nurodo, koks magistralės įrenginys NanoLib atnaujinamas. Kelias į file kuriame yra įkrovos tvarkyklės duomenys (std::string). Kelias į file kuriuose yra programinės įrangos duomenų (uint8_t). Duomenų eigos sekiklis. Patvirtina, kad buvo paleista tuščioji funkcija.
Versija: doc 1.4.2 / NanoLib 1.3.0
25
8 Klasių / funkcijų nuoroda
įkeltiNanoJ ()
Naudokite šią viešąją funkciją, norėdami įkelti „NanoJ“ programą į savo valdiklį.
virtualus „ResultVoid“ nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector) const ir vmmData, NlcDataTransferCallback* grįžtamasis iškvietimas)
Parametrai deviceHandle vmmData NlcDataTransferCallback
Grąžina ResultVoid
Nurodo, į kurį magistralės įrenginį NanoLib įkelia. Masyvas, kuriame yra NanoJ duomenų. Duomenų eigos sekiklis. Patvirtina, kad buvo paleista tuščioji funkcija.
įkeltiNanoJFromFile ()
Naudokite šią viešąją funkciją, norėdami įkelti „NanoJ“ programą į savo valdiklį, įkeldami file.
virtualus „ResultVoid“ nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string ir absoliutus)FileKelias, „NlcDataTransferCallback*“ grįžtamasis iškvietimas)
Parametrai deviceHandle absoliutusFileKelias NlcDataTransferCallback
Grąžina ResultVoid
Nurodo, į kokį magistralės įrenginį NanoLib įkelia. Kelias į file Su „NanoJ“ duomenimis (std::string). Duomenų eigos sekiklis. Patvirtina, kad buvo paleista „void“ funkcija.
disconnectDevice () Naudokite šią funkciją norėdami atjungti įrenginį naudodami įrenginį Rankena.
virtualus „ResultVoid“ nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Parametrai deviceHandle Returns ResultVoid
Nurodo, nuo kurio magistralės įrenginio NanoLib atsijungia. Patvirtina, kad buvo paleista tuščioji funkcija.
RemoveDevice () Naudokite šią funkciją norėdami pašalinti savo įrenginį iš NanoLib vidinių įrenginių sąrašo.
virtualus „ResultVoid“ nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Parametrai deviceHandle Returns ResultVoid
Nurodo, kurį magistralės įrenginį „NanoLib“ pašalina. Patvirtina, kad buvo paleista tuščioji funkcija.
closeBusHardware () Naudokite šią funkciją norėdami atsijungti nuo lauko magistralės aparatinės įrangos.
virtualus „ResultVoid nlc::NanoLibAccessor::closeBusHardware“ (BusHardwareId const ir busHwId)
Parametrai busHwId grąžina ResultVoid
Nurodo lauko magistralę, nuo kurios reikia atsijungti. Patvirtina, kad buvo paleista tuščioji funkcija.
Versija: doc 1.4.2 / NanoLib 1.3.0
26
8 Klasių / funkcijų nuoroda
8.2 BusHardwareId
Naudokite šią klasę norėdami identifikuoti magistralės aparatūrą vienas su vienu arba atskirti skirtingą magistralės aparatinę įrangą vieną nuo kitos. Šioje klasėje (be nustatymo funkcijų, kurios negali būti keičiamos nuo sukūrimo) taip pat yra informacijos apie:
Techninė įranga (= adapterio pavadinimas, tinklo adapteris ir tt) Naudojamas protokolas (= Modbus TCP, CANopen ir kt.) Magistralės techninės įrangos specifikacija (= nuosekliojo prievado pavadinimas, MAC tinkamas pavadinimas
adresas ir pan.)
BusHardwareId () [1/3] Konstruktorius, sukuriantis naują magistralės aparatinės įrangos ID objektą.
nlc::BusHardwareId::BusHardwareId (std::string const ir busHardware_, std::string const ir protocol_, std::string const ir hardwareSpecifier_, std::string const ir name_)
Parametrai bus Hardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Aparatūros tipas (= ZK-USB-CAN-1 ir kt.). Magistralės ryšio protokolas (= CANopen ir kt.). Aparatinės įrangos specifikacija (= COM3 ir tt). Papildoma techninės įrangos specifikacija (tarkim, USB vietos informacija). Draugiškas pavadinimas (= Adapterio pavadinimas (prievadas) ir pan.).
BusHardwareId () [2/3] Konstruktorius, kuris sukuria naują magistralės aparatūros ID objektą su galimybe pridėti papildomą aparatūros specifikatorių.
nlc::BusHardwareId::BusHardwareId (std::string const ir busHardware_, std::string const ir protocol_, std::string const ir hardwareSpecifier_, std::string const ir extraHardwareSpecifier_, std::string const ir name_)
Parametrai bus Hardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Aparatūros tipas (= ZK-USB-CAN-1 ir kt.). Magistralės ryšio protokolas (= CANopen ir kt.). Aparatinės įrangos specifikacija (= COM3 ir tt). Papildoma techninės įrangos specifikacija (tarkim, USB vietos informacija). Draugiškas pavadinimas (= Adapterio pavadinimas (prievadas) ir pan.).
BusHardwareId () [3/3] Konstruktorius, nukopijuojantis esamą busHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
Parametrai busHardwareId
Pavadina magistralės aparatinės įrangos ID, iš kurio norite kopijuoti.
lygus () Lygina naują magistralės techninės įrangos ID su esamais.
bool nlc::BusHardwareId::equals (BusHardwareId const ir kita) const
Parametrai kiti Grąžina tiesa
Kitas tos pačios klasės objektas. Jei abu yra lygūs visomis reikšmėmis.
Versija: doc 1.4.2 / NanoLib 1.3.0
27
8 Klasių / funkcijų nuoroda
klaidinga
Jei vertės skiriasi.
getBusHardware () Nuskaito magistralės aparatinės įrangos eilutę.
std::string nlc::BusHardwareId::getBusHardware () const
Grąžina eilutę
getHardwareSpecifier () Nuskaito magistralės aparatūros specifikacijos eilutę (= tinklo pavadinimą ir pan.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Grąžina eilutę
getExtraHardwareSpecifier () Nuskaito magistralės papildomos įrangos specifikacijos eilutę (= MAC adresą ir kt.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Grąžina eilutę
getName () Nuskaito magistralės įrangos draugišką pavadinimą.
std::string nlc::BusHardwareId::getName () const
Grąžina eilutę
getProtocol () Nuskaito magistralės protokolo eilutę.
std::string nlc::BusHardwareId::getProtocol () const
Grąžina eilutę
toString () Grąžina magistralės aparatūros ID kaip eilutę.
std::string nlc::BusHardwareId::toString () const
Grąžina eilutę
8.3 „BusHardware“ parinktys
Šioje klasėje, eilučių raktų ir reikšmių sąraše, raskite visas parinktis, reikalingas magistralės įrangai atidaryti.
Versija: doc 1.4.2 / NanoLib 1.3.0
28
8 Klasių / funkcijų nuoroda
BusHardwareOptions () [1/2] Sukuria naują magistralės aparatinės įrangos parinkčių objektą.
nlc::BusHardwareOptions::BusHardwareOptions () Naudokite funkciją addOption (), norėdami pridėti raktų ir reikšmių poras.
BusHardwareOptions () [2/2] Sukuria naują magistralės aparatinės įrangos parinkčių objektą su jau įdiegtu rakto-reikšmių žemėlapiu.
nlc::BusHardwareOptions::BusHardwareOptions (std::map) konstanta ir parinktys)
Parametrų parinktys
Žemėlapis su magistralės techninės įrangos veikimo galimybėmis.
addOption () Sukuria papildomus raktus ir reikšmes.
void nlc::BusHardwareOptions::addOption (std::string konstanta ir raktas, std::string konstanta ir reikšmė)
Parametrų rakto reikšmė
Example: BAUD_RATE_OPTIONS_NAME, žr. bus_hw_options_ numatytuosius nustatymus
Example: BAUD_RATE_1000K, žr. bus_hw_options_defaults
lygus () Lygina „BusHardwareOptions“ su esamomis.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions konstanta ir kita) konstanta
Parametrai kiti Grąžina tiesa
klaidinga
Kitas tos pačios klasės objektas. Jei kitas objektas turi visas tas pačias parinktis. Jei kitas objektas turi skirtingus raktus ar reikšmes.
getOptions () Nuskaito visas pridėtas rakto-reikšmių poras.
std::map nlc::BusHardwareOptions::getOptions () konstanta
Grąžina eilutės žemėlapį
toString () Grąžina visus raktus / reikšmes kaip eilutę.
std::string nlc::BusHardwareId::toString () const
Grąžina eilutę
8.4 BusHwOptionsDefault
Ši numatytoji konfigūracijos parinkčių klasė turi šiuos viešuosius atributus:
Versija: doc 1.4.2 / NanoLib 1.3.0
29
8 Klasių / funkcijų nuoroda
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () serial = Serial () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()
8.5 „CanBaudRate“.
Struktūra, kurioje yra CAN magistralės perdavimo spartos šiais viešaisiais atributais:
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
BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_RATE_100k "BAUD_RATE_100K" TE_50K = "50k" BAUD_RATE_20K = "20k" BAUD_RATE_10K = "10k"
8.6 „CanBus“.
Numatytoji konfigūracijos parinkčių klasė su šiais viešaisiais atributais:
konstanta std::string konstanta CanBaudRate konstanta Ixxat
BAUD_RATE_OPTIONS_NAME = "gali adapterio perdavimo sparta" baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 „CanOpenNmtService“.
NMT paslaugai šioje struktūroje yra CANopen NMT būsenos kaip eilutės reikšmės šiuose viešuosiuose atributuose:
konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė
START = "START" STOP = "STOP" PRE_OPERATIONAL = "PRE_OPERATIONAL" RESET = "ATSTATYTI" RESET_COMMUNICATION = "RESET_COMMUNICATION"
8.8 CanOpenNmtState
Šioje struktūroje yra CANopen NMT būsenos kaip eilutės reikšmės šiuose viešuosiuose atributuose:
konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė
STOPPED = "STOPPED" PRE_OPERATIONAL = "PRE_OPERATIONAL" OPERATIONAL = "VEIKLA" INICIALIZACIJA = "INICIALIZACIJA" UNKNOWN = "NEŽINOMA"
8.9 EtherCATBus struktūra
Šioje struktūroje yra EtherCAT ryšio konfigūracijos parinktys šiuose viešuosiuose atributuose:
Versija: doc 1.4.2 / NanoLib 1.3.0
30
8 Klasių / funkcijų nuoroda
const std::string NETWORK_FIRMWARE_STATE_OP – Tinklo būsena traktuojama kaip programinės įrangos režimas. Priimtina
TION_NAME = „Tinklo programinės įrangos būsena“
reikšmės (numatytasis = PRE_OPERATIONAL):
EtherCATSstate::PRE_OPERATIONAL EtherCATSstate::SAFE_OPERATIONAL EtherCATSstate::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_STATE = „PRE_OPERATIONAL“
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP – laikas milisekundėmis, per kurį galima gauti išskirtinį užraktą
TION_NAME = „Bendro užrakto skirtasis laikas“
tinkle (numatytasis = 500 ms).
const unsigned int DEFAULT_EXCLUSIVE_LOCK_ LAIKAS = "500"
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Laiko limitas milisekundėmis, skirtas bendram užraktui gauti
PAVADINIMAS = „Bendro užrakto skirtasis laikas“
tinkle (numatytasis = 250 ms).
const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = "250"
const std::string READ_TIMEOUT_OPTION_NAME = Skaitymo operacijos skirtasis laikas milisekundėmis (numatytasis
„Skaitymo skirtasis laikas“
= 700 ms).
const unsigned int DEFAULT_READ_TIMEOUT = "700"
const std::string WRITE_TIMEOUT_OPTION_NAME = Įrašymo operacijos skirtasis laikas milisekundėmis (numatytasis
„Įrašymo skirtasis laikas“
= 200 ms).
const unsigned int DEFAULT_WRITE_TIMEOUT = "200"
const std::string READ_WRITE_ATTEMPTS_OPTION_ Maksimalus skaitymo arba rašymo bandymų skaičius (ne nulinės vertės)
PAVADINIMAS = „Skaitymo / rašymo bandymai“
tik; numatytoji = 5).
const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = "5"
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = „Keisti tinklo būsenos bandymus“
Didžiausias bandymų pakeisti tinklo būseną skaičius (tik ne nulinės reikšmės; numatytoji vertė = 10).
const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"
const std::string PDO_IO_ENABLED_OPTION_NAME Įjungia arba išjungia PDO apdorojimą skaitmeniniams įėjimams /
= „PDO IO įjungtas“
išvestis (tik „Tiesa“ arba „Klaidinga“; numatytoji = „Tiesa“).
const std::string DEFAULT_PDO_IO_ENABLED = „True“
8.10 EtherCATSstate struktūra
Šioje struktūroje yra EtherCAT vergo / tinklo būsenos kaip eilutės reikšmės šiuose viešuosiuose atributuose. Pastaba: numatytoji būsena įjungus yra PRE_OPERATIONAL; „NanoLib“ negali užtikrinti patikimos „VEIKIMO“ būsenos ne realiojo laiko operacinėje sistemoje:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string
NĖRAS = "NĖRAS" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" OPERATIONAL = "VEIKOMA"
Versija: doc 1.4.2 / NanoLib 1.3.0
31
8 Klasių / funkcijų nuoroda
8.11 Ixxat
Šioje struktūroje saugoma visa „Ixxat usb-to-can“ informacija šiuose viešuosiuose atributuose:
konstanta std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "ixxat adapterio magistralės numeris"
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Šioje struktūroje yra „Ixxat“ USB-CAN magistralės numeris šiuose viešuosiuose atributuose:
konstanta std::string konstanta std::string konstanta std::string konstanta std::string
MAGISTRALĖS_NUMBER_0_DEFAULT = „0“ MAGISTRALĖS_NUMBER_1 = „1“ MAGISTRALĖS_NUMBER_2 = „2“ MAGISTRALĖS_NUMBER_3 = „3“
„8.13 Peak“
Šioje struktūroje saugoma visa „Peak usb-to-can“ informacija šiuose viešuosiuose atributuose:
konstanta std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = „didžiausias adapterio magistralės numeris“
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 Didžiausio adapterio magistralės numeris
Šioje struktūroje yra „Peak usb-to-can“ magistralės numeris šiuose viešuosiuose atributuose:
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 const std::string
BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS4) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::to_string (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) MAGISTRALĖS NUMERIS_12 = std::to_string (PCAN_USBBUS12) MAGISTRALĖS NUMERIS_13 = std::to_string (PCAN_USBBUS13) MAGISTRALĖS NUMERIS_14 = std::to_string (PCAN_USBBUS14) MAGISTRALĖS NUMERIS_15 = std::to_string (PCAN_USBBUS15) MAGISTRALĖS NUMERIS_16 = std::to_string (PCAN_USBBUS16)
8.15 Įrenginio rankena
Ši klasė yra magistralėje esančio įrenginio valdymo rankena ir turi šias viešąsias funkcijas.
Įrenginio_rankena () Įrenginio_rankena (uint32_t rankena)
Versija: doc 1.4.2 / NanoLib 1.3.0
32
8 Klasių / funkcijų nuoroda
lygus () Palygina save su tam tikra įrenginio rankena.
bool lygu (DeviceHandle const other) const (uint32_t handle)
toString () Grąžina įrenginio rankenos eilutės atvaizdavimą.
std::string toString () konstanta
get () Grąžina įrenginio rankenėlę.
uint32_t gauti () konstantą
8.16 Įrenginio ID
Naudokite šią klasę (nekintama nuo sukūrimo) norėdami atpažinti ir atskirti įrenginius magistralėje:
Aparatinės įrangos adapterio identifikatorius
Įrenginio identifikatorius
Aprašymas
Įrenginio ID / aprašymo reikšmių reikšmė priklauso nuo magistralės. Pavyzdžiui,ample, CAN magistralė gali naudoti sveikojo skaičiaus ID.
DeviceId () [1/3] Sukuria naują įrenginio ID objektą.
nlc::DeviceId::DeviceId (BusHardwareId const ir busHardwareId_, unsigned int deviceId_, std::string const ir description_)
Parametrai busHardwareId_ deviceId_ description_
Autobuso identifikatorius. Rodyklė; priklauso nuo magistralės (= CANopen mazgo ID ir pan.). Aprašymas (gali būti tuščias); priklauso autobusui.
DeviceId () [2/3] Sukuria naują įrenginio ID objektą su išplėstinėmis ID parinktimis.
nlc::DeviceId::DeviceId (BusHardwareId const ir busHardwareId, unsigned int deviceId_, std::string const ir description_ std::vector) const ir extraId_, std::string const ir extraStringId_)
Parametrai busHardwareId_ deviceId_ description_ extraId_ extraStringId_
Magistralės identifikatorius. Indeksas; priklausomas nuo magistralės (= CANopen mazgo ID ir kt.). Aprašymas (gali būti tuščias); priklausomas nuo magistralės. Papildomas ID (gali būti tuščias); reikšmė priklauso nuo magistralės. Papildomas eilutės ID (gali būti tuščias); reikšmė priklauso nuo magistralės.
DeviceId () [3/3] Sukuria įrenginio ID objekto kopiją.
nlc::DeviceId::DeviceId (DeviceId konstanta ir)
Versija: doc 1.4.2 / NanoLib 1.3.0
33
8 Klasių / funkcijų nuoroda
Parametrai deviceId_
Įrenginio ID, iš kurio norite kopijuoti.
lygus () Lygina naujus su esamais objektais.
bool nlc::DeviceId::equals (DeviceId konstanta ir kita) konstanta
Grąžina loginį
getBusHardwareId () Nuskaito magistralės aparatinės įrangos ID.
Magistralės įrangos ID nlc::DeviceId::getBusHardwareId () const
Grąžina BusHardwareId
getDescription () Nuskaito įrenginio aprašymą (galbūt nenaudojamas).
std::string nlc::DeviceId::getDescription () const
Grąžina eilutę
getDeviceId () Nuskaito įrenginio ID (galbūt nenaudojamas).
nepasirašytas tarpinis nlc::DeviceId::getDeviceId () const
Grąžina nepasirašytą tarpt
toString () Grąžina objektą kaip eilutę.
std::string nlc::DeviceId::toString () konstanta
Grąžina eilutę
getExtraId () Nuskaito papildomą įrenginio ID (gali būti nenaudojamas).
konstanta std::vector &getExtraId() konstanta
Grąžina vektorių
Papildomų papildomų ID vektorius (gali būti tuščias); prasmė priklauso nuo autobuso.
getExtraStringId () Nuskaito papildomos įrenginio eilutės ID (gali būti nenaudojamas).
std::string getExtraStringId () const
Versija: doc 1.4.2 / NanoLib 1.3.0
34
8 Klasių / funkcijų nuoroda
Grąžina eilutę
papildomos eilutės ID (gali būti tuščias); prasmė priklauso nuo autobuso.
8.17 LogLevelConverter
Ši klasė grąžina jūsų žurnalo lygį kaip eilutę. static std::string toString (nlc::LogLevel logLevel)
8.18 LogModuleConverter
Ši klasė grąžina jūsų bibliotekai būdingą žurnalo modulesetLoggingLevel() eilutę.
statinis std::string
toString (nlc::LogModule žurnalų modulis)
statinis std::string toString (nlc::LogModule žurnalo modulis)
8.19 Objektų žodynas
Ši klasė yra valdiklio objektų žodynas ir turi šias viešąsias nario funkcijas: getDeviceHandle ()
virtualus „ResultDeviceHandle“ getDeviceHandle () const Grąžina „ResultDeviceHandle“
getObject () virtualus ResultObjectSubEntry getObject (OdIndex const odIndex) Grąžina ResultObjectSubEntry
getObjectEntry () virtualus „ResultObjectEntry“ getObjectEntry (uint16_t indeksas)
Grąžina ResultObjectEntry
Informuoja apie objekto savybes.
getXmlFileVardas () virtualus rezultatų eilutė getXmlFileVardas () konstanta
Grąžina rezultatų eilutę
Grąžina XML file pavadinimas kaip eilutė.
readNumber () virtualus ResultInt readNumber (OdIndex const odIndex) Grąžina ResultInt
readNumberArray () virtualus ResultArrayInt readNumberArray (uint16_t konstanta indeksas)
Versija: doc 1.4.2 / NanoLib 1.3.0
35
8 Klasių / funkcijų nuoroda
Grąžina ResultArrayInt readString ()
virtualus „ResultString“ readString (OdIndex const odIndex) Grąžina „ResultString“ readBytes () virtualus „ResultArrayByte“ readBytes (OdIndex const odIndex) Grąžina „ResultArrayByte“ writeNumber () virtualus „ResultVoid“ writeNumber (OdIndex const odIndex, const int64_t value) Grąžina „ResultVoid“ writeBytes () virtualus „ResultVoid“ writeBytes (OdIndex const OdIndex, std::vector
const ir data) Grąžina ResultVoid Susijusios nuorodos OdIndex
8.20 Objekto įvedimas
Ši klasė žymi objektų žodyno objekto įrašą ir turi šiuos statinius apsaugotus atributus bei viešas narių funkcijas:
statinis nlc::ObjectSubEntry negaliojantis objektas
getName () Nuskaito objekto pavadinimą kaip eilutę.
virtualus std::string getName () const
getPrivate () Patikrina, ar objektas yra privatus.
virtuali loginė reikšmė getPrivate () const
getIndex () Nuskaito objekto indekso adresą.
virtualus uint16_t getIndex () konstanta
Versija: doc 1.4.2 / NanoLib 1.3.0
36
8 Klasių / funkcijų nuoroda
getDataType () Nuskaito objekto duomenų tipą.
virtualus nlc::ObjectEntryDataType getDataType () konstanta
getObjectCode () Nuskaito objekto kodą:
Null Deftype Defstruct Var Array Record
0x00 0x05 0x06 0x07 0x08 0x09
virtualus nlc::ObjectCode getObjectCode () const
getObjectSaveable () Patikrina, ar objektą galima išsaugoti, ir jo kategoriją (daugiau informacijos rasite gaminio vadove): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWNOWNOWN_SA
virtualus nlc::ObjectSaveable getObjectSaveable () const
getMaxSubIndex () Nuskaito šio objekto palaikomų subindeksų skaičių.
virtualus uint8_t getMaxSubIndex () konstanta
getSubEntry () virtualus nlc::ObjectSubEntry ir getSubEntry (uint8_t subIndex)
Taip pat žr. ObjectSubEntry.
8.21 Object SubEntry
Ši klasė žymi objekto žodyno objekto poįrašį (subindeksą) ir turi šias viešo nario funkcijas:
getName () Nuskaito objekto pavadinimą kaip eilutę.
virtualus std::string getName () const
getSubIndex () Nuskaito subindekso adresą.
virtualus uint8_t getSubIndex () konstanta
Versija: doc 1.4.2 / NanoLib 1.3.0
37
8 Klasių / funkcijų nuoroda
getDataType () Nuskaito objekto duomenų tipą.
virtualus nlc::ObjectEntryDataType getDataType () konstanta
getSdoAccess () Patikrina, ar subindeksas pasiekiamas per SDO:
Tik skaityti
1
Tik rašyti
2
Skaityti Rašyti
3
Nėra leidimo
0
virtualus nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () Patikrina, ar subindeksas pasiekiamas / susiejamas naudojant SKVN:
Tx
1
Rx
2
TxRx
3
Nr
0
virtualus nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () Tikrina subindekso ilgį.
virtualus uint32_t getBitLength () konstanta
getDefaultValueAsNumeric () Nuskaito numatytąją skaitmeninių duomenų tipų subindekso reikšmę.
virtualus „ResultInt“ getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () Nuskaito numatytąją eilutės duomenų tipų subindekso reikšmę.
virtuali „ResultString“ getDefaultValueAsString (std::string const & key) const
getDefaultValues () Nuskaito numatytąsias subindekso reikšmes.
virtualus std::map gauti numatytąsias vertes () konstanta
Versija: doc 1.4.2 / NanoLib 1.3.0
38
8 Klasių / funkcijų nuoroda
readNumber () Nuskaito skaitinę faktinę subindekso reikšmę.
virtualus „ResultInt“ readNumber () konstanta
readString () Nuskaito eilutės faktinę subindekso vertę.
virtuali rezultatų eilutė readString () konstanta
readBytes () Nuskaito tikrąją subindekso vertę baitais.
virtualus „ResultArrayByte“ readBytes () konstanta
writeNumber () Į poindeksą įrašo skaitinę reikšmę.
virtualus „ResultVoid“ writeNumber (konstanta int64_t reikšmė) const
writeBytes () Rašo reikšmę subindekse baitais.
virtualus „ResultVoid“ writeBytes (std::vector) konstanta ir duomenys) konstanta
8.22 OdIndex
Naudokite šią klasę (nekintama nuo sukūrimo) objektų katalogo indeksams / subindeksams apvynioti ir rasti. Įrenginio OD turi iki 65535 (0xFFFF) eilučių ir 255 (0xFF) stulpelių; su tarpais tarp nepertraukiamų eilučių. Daugiau informacijos rasite CANopen standarte ir savo gaminio vadove.
OdIndex () Sukuria naują OdIndex objektą.
nlc::OdIndex::OdIndex (uint16_t indeksas, uint8_t subindeksas)
Parametrų indekso subindeksas
Nuo 0 iki 65535 (0xFFFF), įskaitant Nuo 0 iki 255 (0xFF), įskaitant
getIndex () Nuskaito indeksą (nuo 0x0000 iki 0xFFFF).
uint16_t nlc::OdIndex::getIndex () konstanta
Grąžina uint16_t
getSubindex () Nuskaito subindeksą (nuo 0x00 iki 0xFF)
uint8_t nlc::OdIndex::getSubIndex () konstanta
Versija: doc 1.4.2 / NanoLib 1.3.0
39
8 Klasių / funkcijų nuoroda
Grąžina uint8_t
toString () Grąžina indeksą ir subindeksą kaip eilutę. Numatytoji eilutė 0xIIII:0xSS skamba taip:
I = indeksas nuo 0x0000 iki 0xFFFF
S = subindeksas nuo 0x00 iki 0xFF
std::string nlc::OdIndex::toString () const
Grąžina 0xIIII:0xSS
Numatytasis eilutės atvaizdavimas
8.23 OdLibrary
Naudokite šią programavimo sąsają, norėdami sukurti ObjectDictionary klasės egzempliorius iš XML. Naudodami assignObjectDictionary galite susieti kiekvieną egzempliorių su konkrečiu įrenginiu dėl unikaliai sukurto identifikatoriaus. Taip sukurti ObjectDictionary egzemplioriai saugomi OdLibrary objekte, kad juos būtų galima pasiekti naudojant indeksą. ODLibrary klasė įkelia ObjectDictionary elementus iš file arba masyvas, juos saugo ir atlieka šias viešųjų narių funkcijas:
getObjectDictionaryCount () virtualus uint32_t getObjectDictionaryCount () konstanta
getObjectDictionary () virtualus ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Grąžina ResultObjectDictionary
addObjectDictionaryFromFile ()
virtualus „ResultObjectDictionary“ pridėtas „ObjectDictionaryFrom“File (std::string konstanta ir absoliutusXml)Filekelias)
Grąžina ResultObjectDictionary
addObjectDictionary ()
virtualus „ResultObjectDictionary“ addObjectDictionary (std::vector) konstanta ir odXml duomenys, konstanta std::string ir xmlFileKelias = std::string ())
Grąžina ResultObjectDictionary
8.24 OdTypesHelper
Be šių viešųjų narių funkcijų, šioje klasėje yra pasirinktinių duomenų tipų. Pastaba: norėdami patikrinti savo pasirinktinius duomenų tipus, ieškokite išvardijimo klasės „ObjectEntryDataType“ faile „od_types.hpp“.
uintToObjectCode () Konvertuoja nepasirašytus sveikuosius skaičius į objekto kodą:
Nulinis apibrėžimo tipas
0x00 0x05
Versija: doc 1.4.2 / NanoLib 1.3.0
40
8 Klasių / funkcijų nuoroda
„Defstruct Var“ masyvo įrašas
0x06 0x07 0x08 0x09
statinis objekto kodas uintToObjectCode (nepasirašytas vidinis objekto kodas)
isNumericDataType () Informuoja, ar duomenų tipas yra skaitinis, ar ne.
statinis loginis kodas isNumericDataType (ObjectEntryDataType duomenų tipas)
isDefstructIndex () Informuoja, ar objektas yra apibrėžimo struktūros indeksas, ar ne.
statinė bool isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Informuoja, ar objektas yra apibrėžimo tipo indeksas, ar ne.
statinis bool isDeftypeIndex (uint16_t typeNum)
isComplexDataType () Informuoja, ar duomenų tipas sudėtingas, ar ne.
statinis loginis kodas isComplexDataType (ObjectEntryDataType duomenų tipas)
uintToObjectEntryDataType () Konvertuoja nepasirašytus sveikuosius skaičius į OD duomenų tipą.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () Konvertuoja OD duomenų tipą į eilutę.
statinis std::string objektoĮvestiesDataTypeToString (ObjektoĮvestiesDataType odDataType)
stringToObjectEntryDatatype () Jei įmanoma, konvertuoja eilutę į OD duomenų tipą. Kitu atveju grąžina UNKNOWN_DATATYPE.
statinis Objekto Įvesties Duomenų Tipas eilutė Objekto Įvesties Duomenų Tipas (std::string duomenų TipoEilutė)
Versija: doc 1.4.2 / NanoLib 1.3.0
41
8 Klasių / funkcijų nuoroda
objectEntryDataTypeBitLength () Informuoja apie objekto įvedimo duomenų tipo bitų ilgį.
statinis uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType konstanta ir duomenų tipas)
8.25 RESTfulBus struktūra
Šioje struktūroje yra RESTful sąsajos (per Ethernet) ryšio konfigūracijos parinktys. Jame yra šie viešieji atributai:
const std::string const nepasirašyta ilga const std::string const nepasirašyta ilga const std::string const nepasirašyta ilga
CONNECT_TIMEOUT_OPTION_NAME = „Pailsėjęs prisijungimo laikas“ DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = „Pailsėjęs užklausos skirtasis laikas“ DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = „PAilsėjęs atsakymo laikas“ ONDEULT_750P =XNUMX
8.26 ProfinetDCP
Linux sistemoje skambinimo programai reikia CAP_NET_ADMIN ir CAP_NET_RAW galimybių. Norėdami įjungti: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. „Windows“ sistemoje „ProfinetDCP“ sąsaja naudoja „WinPcap“ (išbandyta naudojant 4.1.3 versiją) arba „Npcap“ (išbandyta su 1.60 ir 1.30 versijomis). Taigi ji ieško dinamiškai įkeltoje wpcap.dll bibliotekoje tokia tvarka (Pastaba: šiuo metu Win10Pcap nepalaikoma):
1. Nanolib.dll katalogas 2. Windows sistemos katalogas SystemRoot%System32 3. Npcap diegimo katalogas SystemRoot%System32Npcap 4. Aplinkos kelias
Ši klasė atstovauja Profinet DCP sąsajai ir turi šias viešo nario funkcijas:
getScanTimeout () Informuoja apie įrenginio nuskaitymo skirtąjį laiką (numatytasis = 2000 ms).
virtualus uint32_t nlc::ProfinetDCP::getScanTimeout () konstanta
setScanTimeout () Nustato įrenginio nuskaitymo skirtąjį laiką (numatytasis = 2000 ms).
virtualus void nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () Informuoja apie įrenginio atsako skirtąjį laiką atliekant sąrankos, nustatymo iš naujo ir mirksėjimo operacijas (numatytasis = 1000 ms).
virtualus uint32_t nlc::ProfinetDCP::getResponseTimeout () konstanta
setResponseTimeout () Informuoja apie įrenginio atsako skirtąjį laiką atliekant sąrankos, atkūrimo ir mirksėjimo operacijas (numatytasis = 1000 ms).
virtualus void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Versija: doc 1.4.2 / NanoLib 1.3.0
42
8 Klasių / funkcijų nuoroda
isServiceAvailable ()
Naudokite šią funkciją norėdami patikrinti Profinet DCP paslaugos prieinamumą.
Tinklo adapterio galiojimas / prieinamumas „Windows“: „WinPcap“ / „Npcap“ prieinamumas „Linux“: CAP_NET_ADMIN / CAP_NET_RAW galimybės
virtualus ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)
Parametrai BusHardwareId Grąžina true
klaidinga
Profinet DCP paslaugos aparatinės įrangos ID, kurį reikia patikrinti. Paslauga yra prieinama. Paslauga nepasiekiama.
scanProfinetDevices () Naudokite šią funkciją norėdami nuskaityti aparatinės įrangos magistralę, ar nėra Profinet įrenginių.
virtualus rezultatas „ProfinetDevices“ nuskaitymas „ProfinetDevices“ (konstanta „BusHardwareId“ ir „busHardwareId“)
Parametrai BusHardwareId grąžina ResultProfinetDevices
Nurodo kiekvieną lauko magistralę, kurią reikia atidaryti. Aparatinė įranga atidaryta.
setupProfinetDevice () Nustato šiuos įrenginio nustatymus:
Įrenginio pavadinimas
IP adresas
Tinklo kaukė
Numatytasis šliuzas
virtualus „ResultVoid“ nlc::setupProfinetDevice (const BusHardwareId ir busHardwareId, const ProfinetDevice struct ir profinetDevice, bool savePermanent)
resetProfinetDevice () Sustabdo įrenginį ir atkuria gamyklinius numatytuosius nustatymus.
virtualus „ResultVoid nlc::resetProfinetDevice“ (const BusHardwareId ir busHardwareId, const ProfinetDevice ir profinetDevice)
blinkProfinetDevice () Įsako Profinet įrenginiui pradėti mirksėti Profinet šviesos diodas.
virtualus „ResultVoid nlc::blinkProfinetDevice“ (const BusHardwareId ir busHardwareId, const ProfinetDevice ir profinetDevice)
validateProfinetDeviceIp () Naudokite šią funkciją norėdami patikrinti įrenginio IP adresą.
virtualus „ResultVoid“ validateProfinetDeviceIp (const BusHardwareId ir busHardwareId, const ProfinetDevice ir profinetDevice)
Parametrai BusHardwareId ProfinetDevice
Nurodomas aparatinės įrangos ID, kurį reikia patikrinti. Nurodo Profinet įrenginį, kurį reikia patvirtinti.
Versija: doc 1.4.2 / NanoLib 1.3.0
43
8 Klasių / funkcijų nuoroda
Grąžina ResultVoid
8.27 ProfinetDevice struktūra
„Profinet“ įrenginio duomenys turi šiuos viešuosius atributus:
std::string std::string std::masyvas < uint8_t, 6 > uint32_t uint32_t uint32_t
įrenginio pavadinimas įrenginio tiekėjas mac adresas ip adresas tinklo kaukė numatytasis šliuzas
MAC adresas pateikiamas kaip masyvas formatu macAddress = {xx, xx, xx, xx, xx, xx}; kadangi IP adresas, tinklo kaukė ir šliuzas yra interpretuojami kaip dideli šešioliktainiai skaičiai, pavyzdžiui:
IP adresas: 192.168.0.2 Tinklo kaukė: 255.255.0.0 Šliuzas: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Rezultatų klasės
Naudokite „neprivalomas“ šių klasių grąžinimo reikšmes, kad patikrintumėte, ar funkcijos iškvietimas buvo sėkmingas, ar ne, taip pat suraskite nesėkmės priežastis. Sėkmingai funkcija hasError () grąžina false. Naudodami getResult (), galite nuskaityti rezultato reikšmę pagal tipą (ResultInt ir kt.). Jei skambutis nepavyksta, priežastį perskaitysite naudodami getError ().
Saugomi atributai
eilutė NlcErrorCode uint32_t
errorString errorCode exErrorCode
Be to, ši klasė turi šias viešųjų narių funkcijas:
hasError () Nuskaito funkcijos iškvietimo sėkmę.
bool nlc::Result::hasError () konstanta
Grąžina
tikra netikra
Nepavyko skambinti. Norėdami nuskaityti vertę, naudokite getError (). Sėkmingas skambutis. Naudokite getResult (), kad perskaitytumėte vertę.
getError () Nuskaito priežastį, jei nepavyksta iškviesti funkcijos.
konstanta std::string nlc::Rezultatas::getError () konstanta
Grąžina const eilutę
Versija: doc 1.4.2 / NanoLib 1.3.0
44
8 Klasių / funkcijų nuoroda
result () Šios funkcijos padeda apibrėžti tikslius rezultatus:
Rezultatas (std::string const ir errorString_)
Rezultatas (NlcErrorCode const ir errCode, std::string const ir errorString_)
Rezultatas (NlcErrorCode konstanta ir errCode, konstanta uint32_t exErrCode, std::string konstanta ir errorString_)
Rezultatas (rezultato konstanta ir rezultatas)
getErrorCode () Perskaitykite NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode() uint32_t getExErrorCode() konstanta
8.28.1 RezultatasTuštumas
„NanoLib“ siunčia jums šios klasės egzempliorių, jei funkcija grąžina galiojantį. Klasė paveldi viešąsias funkcijas ir apsaugotus atributus iš rezultatų klasės ir turi šias viešųjų narių funkcijas:
ResultVoid () Šios funkcijos padeda tiksliai apibrėžti galiojantį rezultatą:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode konstanta ir errCode, std::string konstanta ir errorString_)
ResultVoid (NlcErrorCode konstanta ir klaidos kodas, konstanta uint32_t exErrCode, std::string konstanta ir klaidos eilutė_)
ResultVoid (Rezultato konstanta ir rezultatas)
8.28.2 ResultInt
NanoLib siunčia jums šios klasės egzempliorių, jei funkcija grąžina sveikąjį skaičių. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešųjų narių funkcijas:
getResult () Pateikia sveikąjį rezultatą, jei funkcijos iškvietimas buvo sėkmingas.
int64_t getResult() konstanta
Grąžina int64_t
Versija: doc 1.4.2 / NanoLib 1.3.0
45
8 Klasių / funkcijų nuoroda
ResultInt () Šios funkcijos padeda apibrėžti tikslų sveikąjį rezultatą:
RezultatasInt (int64_t rezultatas_)
ResultInt (std::string const ir errorString_)
ResultInt (NlcErrorCode const ir errCode, std::string const ir errorString_)
ResultInt (NlcErrorCode const ir errCode, const uint32_t exErrCode, std::string const ir errorString_)
ResultInt (Rezultato konstanta ir rezultatas)
8.28.3 Rezultatų eilutė
NanoLib siunčia jums šios klasės egzempliorių, jei funkcija grąžina eilutę. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešųjų narių funkcijas:
getResult () Nuskaito eilutės rezultatą, jei funkcijos iškvietimas buvo sėkmingas.
konstanta std::string nlc::ResultString::getResult () konstanta
Grąžina const eilutę
ResultString () Šios funkcijos padeda apibrėžti tikslų eilutės rezultatą:
ResultString (std::string konstanta ir pranešimas, bool hasError_)
Rezultato eilutė (NlcErrorCode konstanta ir klaidos kodas, std::string konstanta ir klaidos eilutė_)
Rezultato eilutė (NlcErrorCode konstanta ir klaidos kodas, konstanta uint32_t exErrCode, std::string konstanta ir klaidos eilutė_)
ResultString (Rezultato konstanta ir rezultatas)
8.28.4 ResultArrayByte
„NanoLib“ atsiunčia šios klasės egzempliorių, jei funkcija grąžina baitų masyvą. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešąsias narių funkcijas:
getResult () Nuskaito baitų vektorių, jei funkcijos iškvietimas buvo sėkmingas.
konstanta std::vector nlc::ResultArrayByte::getResult () konstanta
Grąžina konstantos vektorių
Versija: doc 1.4.2 / NanoLib 1.3.0
46
8 Klasių / funkcijų nuoroda
ResultArrayByte () Šios funkcijos padeda apibrėžti tikslų baitų masyvo rezultatą:
Rezultato masyvo baitas (std::vector) konstanta ir rezultatas_)
ResultArrayByte (std::string const ir errorString_)
ResultArrayByte (NlcErrorCode konstanta ir klaidos kodas, std::string konstanta ir klaidos eilutė_)
ResultArrayByte (NlcErrorCode konstanta ir klaidos kodas, konstanta uint32_t exErrCode, std::string konstanta ir klaidos kodas_)
ResultArrayByte (Rezultato konstanta ir rezultatas)
8.28.5 ResultArrayInt
„NanoLib“ atsiunčia šios klasės egzempliorių, jei funkcija grąžina sveikųjų skaičių masyvą. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešąsias narių funkcijas:
getResult () Nuskaito sveikojo skaičiaus vektorių, jei funkcijos iškvietimas buvo sėkmingas.
konstanta std::vector nlc::ResultArrayInt::getResult() konstanta
Grąžina konstantos vektorių
ResultArrayInt () Šios funkcijos padeda apibrėžti tikslų sveikųjų skaičių masyvo rezultatą:
ResultArrayInt (std::vector) konstanta ir rezultatas_)
ResultArrayInt (std::string const ir errorString_)
ResultArrayInt (NlcErrorCode konstanta ir klaidos kodas, std::string konstanta ir klaidos eilutė_)
ResultArrayInt (NlcErrorCode const ir errCode, const uint32_t exErrCode, std::string const ir errorString_)
ResultArrayInt (Rezultato konstanta ir rezultatas)
8.28.6 ResultBusHwIds
„NanoLib“ atsiunčia šios klasės egzempliorių, jei funkcija grąžina magistralės aparatinės įrangos ID masyvą. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešąsias narių funkcijas:
getResult () Nuskaito magistralės-aparatinės-įrangos-ID vektorių, jei funkcijos iškvietimas buvo sėkmingas.
konstanta std::vector nlc::ResultBusHwIds::getResult() konstanta
Parametrų const vektorius
Versija: doc 1.4.2 / NanoLib 1.3.0
47
8 Klasių / funkcijų nuoroda
ResultBusHwIds () Šios funkcijos padeda nustatyti tikslų magistralės-aparatinės įrangos-ID-masyvo rezultatą:
ResultBusHwIds (std::vector) konstanta ir rezultatas_)
ResultBusHwIds (std::string const ir errorString_)
ResultBusHwIds (NlcErrorCode konstanta ir errCode, std::string konstanta ir errorString_)
ResultBusHwIds (NlcErrorCode konstanta ir klaidos kodas, konstanta uint32_t exErrCode, std::string konstanta ir klaidos kodas_)
ResultBusHwIds (rezultato konstanta ir rezultatas)
8.28.7 ResultDeviceId
„NanoLib“ atsiunčia šios klasės egzempliorių, jei funkcija grąžina įrenginio ID. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešąsias narių funkcijas:
getResult () Nuskaito įrenginio ID vektorių, jei funkcijos iškvietimas buvo sėkmingas.
Įrenginio ID nlc::ResultĮrenginio ID::getResult () const
Grąžina const vektorių
ResultDeviceId () Šios funkcijos padeda nustatyti tikslų įrenginio ID rezultatą:
ResultDeviceId (DeviceId konstanta ir rezultatas_)
ResultDeviceId (std::string const ir errorString_)
ResultDeviceId (NlcErrorCode const ir errCode, std::string const ir errorString_)
ResultDeviceId (NlcErrorCode konstanta ir klaidos kodas, konstanta uint32_t exErrCode, std::string klaidos_ eilutė)
ResultDeviceId (rezultato konstanta ir rezultatas)
8.28.8 ResultDeviceIds
„NanoLib“ atsiunčia šios klasės egzempliorių, jei funkcija grąžina įrenginio ID masyvą. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešąsias narių funkcijas:
getResult () Grąžina įrenginio ID vektorių, jei funkcijos iškvietimas buvo sėkmingas.
Įrenginio ID nlc::ResultDeviceIds::getResult() const
Grąžina const vektorių
Versija: doc 1.4.2 / NanoLib 1.3.0
48
8 Klasių / funkcijų nuoroda
ResultDeviceIds () Šios funkcijos padeda nustatyti tikslų įrenginio ID masyvo rezultatą:
Rezultatų įrenginių ID (std::vector) konstanta ir rezultatas_)
ResultDeviceIds (std::string const ir errorString_)
ResultDeviceIds (NlcErrorCode const ir errCode, std::string const ir errorString_)
ResultDeviceIds (NlcErrorCode const ir errCode, const uint32_t exErrCode, std::string const ir errorString_)
ResultDeviceIds (rezultato konstanta ir rezultatas)
8.28.9 ResultDeviceHandle
„NanoLib“ atsiunčia šios klasės egzempliorių, jei funkcija grąžina įrenginio identifikatoriaus reikšmę. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešąsias narių funkcijas:
getResult () Nuskaito įrenginio rankenėlę, jei funkcijos iškvietimas buvo sėkmingas.
Įrenginio valdymas nlc::ResultDeviceHandle::getResult() const
Grąžina DeviceHandle
ResultDeviceHandle () Šios funkcijos padeda nustatyti tikslų įrenginio rankenos rezultatą:
ResultDeviceHandle (DeviceHandle konstanta ir rezultatas_)
ResultDeviceHandle(std::string const & errorString_)
ResultDeviceHandle(NlcErrorCode const ir errCode, std::string const ir errorString_)
ResultDeviceHandle(NlcErrorCode const ir errCode, const uint32_t exErrCode, std::string const ir errorString_)
ResultDeviceHandle (Rezultato konstanta ir rezultatas)
8.28.10 ResultObjectDictionary
NanoLib siunčia jums šios klasės egzempliorių, jei funkcija grąžina objekto žodyno turinį. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešųjų narių funkcijas:
getResult () Nuskaito įrenginio ID vektorių, jei funkcijos iškvietimas buvo sėkmingas.
konstanta nlc::ObjectDictionary ir nlc::ResultObjectDictionary::getResult () konstanta
Versija: doc 1.4.2 / NanoLib 1.3.0
49
8 Klasių / funkcijų nuoroda
Grąžina
const vektorius
ResultObjectDictionary () Šios funkcijos padeda apibrėžti tikslų objektų žodyno rezultatą:
ResultObjectDictionary (nlc::ObjectDictionary konstanta ir rezultatas_)
ResultObjectDictionary (std::string const ir errorString_)
ResultObjectDictionary (NlcErrorCode const ir errCode, std::string const ir errorString_)
ResultObjectDictionary (NlcErrorCode const ir errCode, const uint32_t exErrCode, std::string const ir errorString_)
ResultObjectDictionary (Rezultato konstanta ir rezultatas)
8.28.11 ResultConnectionState
„NanoLib“ siunčia jums šios klasės egzempliorių, jei funkcija grąžina įrenginio ryšio būsenos informaciją. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešųjų narių funkcijas:
getResult () Nuskaito įrenginio rankenėlę, jei funkcijos iškvietimas buvo sėkmingas.
Įrenginio ryšio būsenos informacija nlc::ResultConnectionState::getResult () const
Grąžina DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader
ResultConnectionState () Šios funkcijos padeda nustatyti tikslų ryšio būsenos rezultatą:
ResultConnectionState (DeviceConnectionStateInfo const ir result_)
ResultConnectionState (std::string const ir errorString_)
ResultConnectionState (NlcErrorCode const ir errCode, std::string const ir errorString_)
ResultConnectionState (NlcErrorCode const ir errCode, const uint32_t exErrCode, std::string const ir errorString_)
ResultConnectionState (rezultato konstanta ir rezultatas)
8.28.12 ResultObjectEntry
„NanoLib“ atsiunčia šios klasės egzempliorių, jei funkcija grąžina objekto įrašą. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešąsias narių funkcijas:
Versija: doc 1.4.2 / NanoLib 1.3.0
50
8 Klasių / funkcijų nuoroda
getResult () Grąžina įrenginio ID vektorių, jei funkcijos iškvietimas buvo sėkmingas.
nlc::ObjectEntry konstanta ir nlc::ResultObjectEntry::getResult () konstanta
Grąžina const ObjectEntry
ResultObjectEntry () Šios funkcijos padeda apibrėžti tikslų objekto įvedimo rezultatą:
ResultObjectEntry (nlc::ObjectEntry konstanta ir rezultatas_)
ResultObjectEntry (std::string const ir errorString_)
ResultObjectEntry (NlcErrorCode const ir errCode, std::string const ir errorString_)
ResultObjectEntry (NlcErrorCode const ir errCode, const uint32_t exErrCode, std::string const ir errorString_)
ResultObjectEntry (Rezultato konstanta ir rezultatas)
8.28.13 ResultObjectSubEntry
„NanoLib“ atsiunčia šios klasės egzempliorių, jei funkcija grąžina objekto papildomą įrašą. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešąsias narių funkcijas:
getResult () Grąžina įrenginio ID vektorių, jei funkcijos iškvietimas buvo sėkmingas.
nlc::ObjectSubEntry konstanta ir nlc::ResultObjectSubEntry::getResult () konstanta
Grąžina const ObjectSubEntry
ResultObjectSubEntry () Šios funkcijos padeda apibrėžti tikslų objekto poįrašo rezultatą:
ResultObjectSubEntry (nlc::ObjectEntry konstanta ir rezultatas_)
ResultObjectSubEntry (std::string const ir errorString_)
ResultObjectSubEntry (NlcErrorCode const ir errCode, std::string const ir errorString_)
ResultObjectSubEntry (NlcErrorCode const ir errCode, const uint32_t exErrCode, std::string const ir errorString_)
ResultObjectSubEntry (Rezultato konstanta ir rezultatas)
8.28.14 ResultProfinetDevices
„NanoLib“ siunčia jums šios klasės egzempliorių, jei funkcija grąžina „Profinet“ įrenginį. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešųjų narių funkcijas:
Versija: doc 1.4.2 / NanoLib 1.3.0
51
8 Klasių / funkcijų nuoroda
getResult () Nuskaito Profinet įrenginio vektorių, jei funkcijos iškvietimas buvo sėkmingas.
konstanta std::vector ir gauti rezultatą () konstanta
ResultProfinetDevices () Šios funkcijos padeda tiksliai apibrėžti Profinet įrenginius.
ResultProfinetDevices (const std::vector) ir „profinetDevices“)
ResultProfinetDevices (konstanta Rezultatas ir rezultatas)
„ResultProfinetDevices“ (konstanta std::string ir klaidos tekstas, „NlcErrorCode“ klaidos kodas = „NlcErrorCode::GeneralError“, uint32_t extendedErrorCode = 0)
8.28.15 RezultataiampleDataArray
„NanoLib“ siunčia jums šios klasės egzempliorių, jei funkcija grąžinama kaipample duomenų masyvas. Klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešųjų narių funkcijas:
getResult () Nuskaito duomenų masyvą, jei funkcijos iškvietimas buvo sėkmingas.
konstanta std::vektorius <SampleData> ir getResult() konstanta
RezultataiSampleDataArray () Šios funkcijos padeda tiksliai apibrėžti Profinet įrenginius.
RezultataiSampleDataArray (konstanta std::vector <S)ampleData> ir duomenų masyvas)
RezultataiSampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
RezultataiSampleDataArray (konstanta Rezultatasamp„leDataArray“ ir kiti)
RezultataiSampleDataArray (konstanta Rezultatas ir rezultatas)
8.28.16 RezultataiamplerState
„NanoLib“ siunčia jums šios klasės egzempliorių, jei funkcija grąžinama kaipampler būsena. Ši klasė paveldi viešąsias funkcijas / apsaugotus atributus iš rezultatų klasės ir turi šias viešųjų narių funkcijas:
getResult () Nuskaito sampler būsenos vektorius, jei funkcijos iškvietimas buvo sėkmingas.
SamplerState getResult() konstanta
Grąžina SamplerState>
Nekonfigūruota / Sukonfigūruota / Parengta / Veikia / Užbaigta / Nepavyko / Atšaukta
Versija: doc 1.4.2 / NanoLib 1.3.0
52
8 Klasių / funkcijų nuoroda
RezultataiSamplerState () Šios funkcijos padeda tiksliai apibrėžti sampler valstybė.
RezultataiSamplerState (konstanta S)amplerState valstija)
RezultataiSamplerState (const std::string ir errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t)
išplėstinis klaidos kodas = 0)
RezultataiSamplerState (konstanta Rezultatas)amplerState ir kita)
RezultataiSamplerState (konstanta Rezultatas ir rezultatas)
8.29 NlcErrorCode
Jei kažkas negerai, rezultatų klasės praneša apie vieną iš klaidų kodų, išvardytų šiame sąraše.
Klaidos kodas: „Success“ (sėkmė), „GeneralError“ (bendroji klaida), „Magnose“ (magistralė) nepasiekiama, „CommunicationError“ (ryšio klaida), „ProtocolError“ (protokolo klaida).
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments AccessDenied ResourceNot Found ResourceUnavailable OutOfMemory TimeOutError
C: D kategorija: Aprašymas R: Priežastis C: Nėra. D: Jokių klaidų. R: Operacija sėkmingai baigta.
C: Nenurodyta. D: Nenurodyta klaida. R: Nesėkmė, kuri netinka jokiai kitai kategorijai.
C: Autobusas. D: Aparatinės įrangos magistralė nepasiekiama. R: Autobusas neegzistuoja, atjungtas arba sugedęs.
C: Bendravimas. D: Bendravimas nepatikimas. R: netikėti duomenys, neteisingas CRC, kadro ar pariteto klaidos ir kt.
C: Protokolas. D: Protokolo klaida. R: atsakas po nepalaikomo protokolo parinkties, įrenginio pranešimo apie nepalaikomą protokolą, protokolo klaidą (tarkime, SDO segmento sinchronizavimo bitą) ir tt R: atsakymas arba įrenginio pranešimas apie nepalaikomą protokolą (parinktys) arba protokolo klaidas (tarkim, SDO). segmento sinchronizavimo bitas) ir tt R: nepalaikomas protokolas (parinktys) arba protokolo klaida (tarkim, SDO segmento sinchronizavimo bitas) ir kt.
C: Objektų žodynas. D: OD adreso nėra. R: Tokio adreso objektų žodyne nėra.
C: Objektų žodynas. D: Prieiga prie OD adreso negalioja. R: Bandykite rašyti tik skaitomą adresą arba skaityti iš tik rašomo adreso.
C: Objektų žodynas. D: tipo neatitikimas. R: reikšmė nekonvertuota į nurodytą tipą, tarkime, bandant eilutę traktuoti kaip skaičių.
C: taikymas. D: Procesas nutrauktas. R: procesas nutraukiamas pagal paraiškos užklausą. Grąžina tik pertraukus operaciją atgalinio skambučio funkcija, tarkime, iš magistralės nuskaitymo.
C: Dažnas. D: procesas nepalaikomas. R: Nėra aparatinės įrangos magistralės / įrenginio palaikymo.
C: Dažnas. D: Procesas neteisingas dabartiniame kontekste arba netinkamas naudojant dabartinį argumentą. R: Bandymas iš naujo prisijungti prie jau prijungtų magistralių / įrenginių. Bandymas atsijungti nuo jau atjungtų. Įkrovos įkroviklio veikimo bandymas programinės įrangos režimu arba atvirkščiai.
C: Dažnas. D: Argumentas neteisingas. R: Neteisinga logika arba sintaksė.
C: Dažnas. D: Prieiga uždrausta. R: Trūksta teisių ar galimybių atlikti prašomą operaciją.
C: Dažnas. D: nurodyta prekė nerasta. R: aparatinės įrangos magistralė, protokolas, įrenginys, įrenginio OD adresas arba file nebuvo rastas.
C: Dažnas. D: nurodyta prekė nerasta. R: užimtas, neegzistuojantis, nutrūkęs arba su defektu.
C: Dažnas. D: nepakanka atminties. R: Per mažai atminties šiai komandai apdoroti.
C: Dažnas. D: Baigėsi proceso laikas. R: Grąžinti pasibaigus skirtajam laikui. Skirtasis laikas gali būti įrenginio atsako laikas, laikas, per kurį įgyjama bendra arba išskirtinė prieiga prie išteklių, arba laikas, per kurį reikia perjungti magistralę / įrenginį į tinkamą būseną.
Versija: doc 1.4.2 / NanoLib 1.3.0
53
8 Klasių / funkcijų nuoroda
8.30 NlcCallback
Ši grįžtamųjų iškvietimų tėvų klasė turi tokią viešą nario funkciją: callback()
virtualus „ResultVoid“ atgalinis iškvietimas ()
Grąžina
RezultatasTuštybė
8.31 NlcDataTransferCallback
Naudokite šią grįžtamojo ryšio klasę duomenų perdavimui (programinės įrangos atnaujinimui, „NanoJ“ įkėlimui ir kt.). 1. Programinės įrangos įkėlimui: apibrėžkite „bendrą klasę“, išplėsdami šią klasę su pasirinktiniu grįžtamojo ryšio metodu.
įgyvendinimas. 2. Naudokite „bendros klasės“ egzempliorius „NanoLibAccessor.uploadFirmware ()“ iškvietimuose. Pati pagrindinė klasė turi tokią viešąją nario funkciją:
atgalinis iškvietimas () virtualus „ResultVoid“ atgalinis iškvietimas (nlc::DataTransferInfo informacija, int32_t duomenys)
Grąžina
RezultatasTuštybė
8.32 NlcScanBusCallback
Naudokite šią grįžtamojo ryšio klasę magistralės nuskaitymui. 1. Apibrėžkite „bendrą klasę“, išplėsdami šią klasę su pasirinktiniu grįžtamojo ryšio metodo įgyvendinimu. 2. Naudokite „bendrų klasių“ egzempliorius „NanoLibAccessor.scanDevices()“ iškvietimuose. Pati pagrindinė klasė turi tokią viešąją nario funkciją.
perskambink ()
virtualus „ResultVoid“ grįžtamasis iškvietimas (nlc::BusScanInfo info, std::vector) const ir devicesFound, int32_t duomenys)
Grąžina ResultVoid
8.33 NlcLoggingCallback
Naudokite šią atgalinio skambučio klasę atgalinių skambučių registravimui. 1. Apibrėžkite klasę, kuri išplečia šią klasę naudojant pasirinktinį atgalinio skambinimo metodą. 2. Naudokite žymeklį į jos egzempliorius, kad nustatytumėte NanoLibAccessor atgalinį skambutį >
setLoggingCallback (…).
virtualus void atgalinis iškvietimas (const std::string ir payload_str, const std::string ir formatated_str, const std::string ir logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)
8.34 SamplerInterface
Naudokite šią klasę norėdami konfigūruoti, paleisti ir sustabdyti sampler, arba gauti sampLED duomenis ir gauti kaipampler būsena arba paskutinė klaida. Klasė turi šias viešųjų narių funkcijas.
Versija: doc 1.4.2 / NanoLib 1.3.0
54
8 Klasių / funkcijų nuoroda
konfigūruoti () Konfigūruoja kaipampler.
virtualus „ResultVoid nlc::S“amplerInterface::configure (const DeviceHandle deviceHandle, const S)amplerConfiguration & samplerConfiguration)
Parametrai [in] deviceHandle [in] samplerConfiguration
Grąžina ResultVoid
Nurodo, kuriame įrenginyje konfigūruoti sampler už. Nurodo konfigūracijos atributų reikšmes. Patvirtina, kad buvo paleista tuščioji funkcija.
getData () Gauna sampled duomenys.
virtualūs rezultataiampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Parametrai [in] deviceHandle Returns ResultSampleDataArray
Nurodo, kokio įrenginio duomenis gauti.
Pristato sampLED duomenys, kurie gali būti tuščias masyvas, jei samplerNotify yra aktyvus paleidžiant.
getLastError () Gaunama kaipamppaskutinė klaida.
virtualus „ResultVoid nlc::S“amplerInterface::getLastError (const Įrenginio_rankenėlė_įrenginio_rankenėlė)
Grąžina ResultVoid
Patvirtina, kad buvo paleista tuščioji funkcija.
getState () Gaunama kaipampler statusas.
virtualūs rezultataiamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Grąžina rezultatusamplerState
Pristato sampler valstybė.
pradžia () Prasideda kaipampler.
virtualus „ResultVoid nlc::S“amplerInterface::start (const DeviceHandle deviceHandle, S)amplerNotify* samplerNotify, int64_t programos duomenys)
Parametrai [in] deviceHandle [in] SamplerNotify [in] ApplicationData
Grąžina ResultVoid
Nurodo, koks įrenginys paleisti sampler už.
Nurodo, kokią neprivalomą informaciją pranešti (gali būti nullptr).
Parinktis: persiunčia su programa susijusius duomenis (vartotojo apibrėžtą 8 bitų vertės / įrenginio ID / indekso masyvą arba datą, laiką, kintamojo / funkcijos žymeklį ir kt.) į s.amplerNotify.
Patvirtina, kad buvo paleista tuščioji funkcija.
Versija: doc 1.4.2 / NanoLib 1.3.0
55
8 Klasių / funkcijų nuoroda
sustabdyti () Sustoja kaipampler.
virtualus „ResultVoid nlc::S“amplerInterface::stop (const DeviceHandle deviceHandle)
Parametrai [in] deviceHandle Returns ResultVoid
Nurodo, koks įrenginys sustabdyti sampler už. Patvirtina, kad buvo paleista tuščioji funkcija.
8.35 SamplerConfiguration struct
Šioje struktūroje yra duomenys sampler konfigūracijos parinktys (statinės ar ne).
Vieša atributika
std::vektorius trackedAddresses
Iki 12 OD adresų turi būti sampvedė.
uint32_t
versija
Struktūros versija.
uint32_t
trukmė Milisekundės
Samplingo trukmė ms, nuo 1 iki 65535
uint16_t
laikotarpis Milisekundės
Samplingavimo laikotarpis ms.
uint16_t
skaičiusOfSamples
Sampmažesnė suma.
uint16_t
preTriggerNumberOfSamples
Sampmažesnė suma iki aktyvumo.
bool
naudojant Programinės įrangos diegimą
Naudokite programinės įrangos diegimą.
bool
naudojant NewFWSamplerImplementation Naudokite FW diegimą įrenginiams su a
FW versija v24xx arba naujesnė.
SamplerMode
režimu
Įprasti, pasikartojantys arba nuolatiniai sampmolva.
SamplerTriggerCondition triggerCondition
Pradžios trigerio sąlygos: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValue
SamplerTrigger
SamplerTrigger
Paleidiklis pradėti kaipampler?
Statiniai viešieji atributai
statinis constexpr dydis_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 statinis constexpr dydis_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Naudokite šią klasę norėdami suaktyvinti sampler pranešimai, kai pradedate kaipampler. Klasė turi tokią viešojo nario funkciją.
Versija: doc 1.4.2 / NanoLib 1.3.0
56
8 Klasių / funkcijų nuoroda
pranešti ()
Pateikia pranešimo įrašą.
virtualus tuštumas nlc::SamplerNotify::notify (const ResultVoid ir lastError, const S)amplerState samplerState, konstanta std::vector <SampleData> & sampleDatas, int64_t programosData)
Parametrai [in] lastError [in] samplerState
[in] sampleDatas [in] applicationData
Praneša, kad paskutinė klaida įvyko sampmolva. Praneša sampler būsena pranešimo metu: nesukonfigūruota / Sukonfigūruota / Parengta / Veikia / Užbaigta / Nepavyko / Atšaukta. Praneša sampLED-duomenų masyvas. Pateikiami konkrečios programos duomenys.
8.37 SampleData struktūra
Šioje struktūroje yra sampled duomenys.
uin64_t iterationNumber
Prasideda nuo 0 ir tik didėja pasikartojančiu režimu.
std::vektorius<SampledValues> Sudėtyje yra s masyvasampled vertybes.
8.38 SampledValue struktūra
Šioje struktūroje yra sampled vertybes.
in64_t vertė uin64_t CollectTimeMsec
Yra sekamo OD adreso reikšmė.
Nurodomas rinkimo laikas milisekundėmis, palyginti su sample pradžia.
8.39 SamplerTrigger struktūra
Šioje struktūroje yra s paleidimo parametraiampler.
SamplerTriggerCondition sąlyga
OdIndex uin32_t vertė
Suveikimo sąlyga: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
Trigerio OdIndex (adresas).
Sąlygos reikšmė arba bito skaičius (pradedant nuo nulio).
8.40 Serijinė struktūra
Čia rasite serijinio ryšio parinktis ir šiuos viešuosius atributus:
konstanta std::string konstanta SerialBaudRate
BAUD_RATE_OPTIONS_NAME = „nuoseklusis perdavimo greitis“ baudRate =Nuoseklusis perdavimo greitis struktūra
Versija: doc 1.4.2 / NanoLib 1.3.0
57
8 Klasių / funkcijų nuoroda
const std::string const SerialParity
PARITY_OPTIONS_NAME = „nuoseklusis lyginumas“ parity = Nuoseklusis lyginumas struktūra
8.41 SerialBaudRate struktūra
Čia rasite savo nuosekliojo ryšio perdavimo spartą ir šiuos viešuosius atributus:
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
BAUD_RATE_7200 = "7200" BAUD_RATE_9600 = "9600" BAUD_RATE_14400 = "14400" BAUD_RATE_19200 = "19200" BAUD_RATE_38400 = "38400" BAUD_56000 = "56000 AUD_57600" 57600" BAUD_RATE_115200 = "115200" BAUD_RATE_128000 = "128000" BAUD_RATE_256000 = "256000"
8.42 SerialParity struktūra
Čia rasite serijos pariteto parinktis ir šiuos viešuosius atributus:
konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė konstanta std::eilutė
NĖRAS = "nėra" ODD = "nelyginis" EVEN = "lyginis" MARK = "žymėti" SPACE = "tarpas"
Versija: doc 1.4.2 / NanoLib 1.3.0
58
9 Licencijos
9 Licencijos
„NanoLib“ API sąsajos antraštės ir pavyzdžiaiampšaltinio kodą licencijuoja Nanotec Electronic GmbH & Co. KG pagal Creative Commons Attribution 3.0 Unported License (CC BY). Dvejetainiu formatu pateiktos bibliotekos dalys (pagrindinės ir lauko magistralės ryšio bibliotekos) yra licencijuotos pagal Creative Commons AttributionNoDerivatives 4.0 tarptautinę licenciją (CC BY ND).
Creative Commons
Toliau pateikta žmogaus skaitoma santrauka nepakeis pačios licencijos (-ų). Atitinkamą licenciją galite rasti adresu creativecommons.org ir nuorodą rasite toliau. Jūs galite laisvai:
CC BY 3.0
Dalintis: Žiūrėkite dešinėje. Pritaikykite: remiksuokite, transformuokite ir remkitės
medžiaga bet kokiam tikslui, net ir komerciniais tikslais.
CC BY-ND 4.0
Bendrinti: nukopijuokite ir platinkite medžiagą bet kokia laikmena ar formatu.
Licencijos davėjas negali atšaukti aukščiau nurodytų laisvių, jei laikotės šių licencijos sąlygų:
CC BY 3.0
CC BY-ND 4.0
Priskyrimas: Turite tinkamai įvertinti, Priskyrimas: Žr. kairėje. Bet: pateikite nuorodą į tai
pateikite nuorodą į licenciją ir nurodykite, jei
kita licencija.
buvo padaryti pakeitimai. Tai galite padaryti bet kuriame
Jokių darinių: jei remiksuojate, transformuojate ar kuriate
protingu būdu, bet ne jokiu būdu,
Jūs negalite platinti medžiagos
Licenciatas patvirtina jus arba jūsų naudojimą.
modifikuota medžiaga.
Jokių papildomų apribojimų: Jūs negalite taikyti Jokių papildomų apribojimų: Žr. kairėje. teisiniais terminais ar technologinėmis priemonėmis, kurios teisėtai
apriboti kitus daryti bet ką pagal licenciją
leidimai.
Pastaba: jūs neprivalote laikytis licencijos, skirtos medžiagos elementams, kurie yra viešai prieinami arba kai tai leidžiama pagal taikomą išimtį ar apribojimą.
Pastaba: garantijos nesuteikiamos. Licencija gali nesuteikti visų leidimų, būtinų jūsų numatytam naudojimui. Pavyzdžiui,ample, kitos teisės, tokios kaip viešumas, privatumas ar moralinės teisės, gali apriboti medžiagos naudojimą.
Versija: doc 1.4.2 / NanoLib 1.3.0
59
Leidimas, kontaktai, versijos
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenVokietijaTel. +49(0) 89 900 686-0Faksas +49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Visos teisės saugomos. Galimi klaidos, praleidimai, techniniai ar turinio pakeitimai be įspėjimo. Cituoti prekių ženklai / produktai yra jų savininkų prekių ženklai ir su jais reikia elgtis atitinkamai. Originali versija.
Dokumentas 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
+ Pridėta > Pakeista # Ištaisyta > Pateikto ex perdirbinysamples.
+ „NanoLib Modbus“: pridėtas įrenginio užrakinimo mechanizmas „Modbus VCP“. # „NanoLib Core“: ištaisyta ryšio būsenos patikra. # „NanoLib Code“: ištaisytas magistralės aparatinės įrangos nuorodos pašalinimas.
+ „NanoLib-CANopen“: Palaiko „Peak PCAN-USB“ adapterį (IPEH-002021/002022).
> „NanoLib Core“: Pakeista žurnalavimo atgalinio iškvietimo sąsaja („LogLevel“ pakeistas „LogModule“). # „NanoLib Logger“: Ištaisytas branduolio ir modulių atskyrimas. # „Modbus TCP“: Ištaisytas programinės įrangos atnaujinimas, skirtas FW4. # „EtherCAT“: Ištaisytas „NanoJ“ programos įkėlimas, skirtas „Core5“. # „EtherCAT“: Ištaisytas programinės įrangos atnaujinimas, skirtas „Core5“.
# Modbus RTU: ištaisytos laiko nustatymo problemos dėl mažo perdavimo spartos atnaujinant programinę įrangą. # RESTful: ištaisytas NanoJ programos įkėlimas.
# NanoLib moduliai Sampler: Teisingas s skaitymasampled loginės reikšmės.
+ Java 11 palaikymas visoms platformoms. + Python 3.11/3.12 palaikymas visoms platformoms. + Nauja registravimo atgalinio skambinimo sąsaja (žr. pvzamples). + NanoLib Logger atgalinis skambutis. > Atnaujinkite registratorių į 1.12.0 versiją. > NanoLib moduliai Sampler: dabar palaikoma „Nanotec“ valdiklio programinė įranga v24xx. > NanoLib moduliai Sampler: Struktūros pakeitimas, naudojamas sampler konfigūracija. > NanoLib moduliai Sampler: Nepertraukiamas režimas yra begalinio sinonimas; trigerio būklė patikrinama vieną kartą; s skaičiusamples turi būti 0. > NanoLib Modules Sampler: įprastas prioritetas gijai, kuri renka duomenis programinės aparatinės įrangos režimu. > NanoLib moduliai Sampler: perrašytas algoritmas, skirtas aptikti perėjimą tarp parengties ir veikimo būsenų. # NanoLib Core: nebebus prieigos pažeidimo (0xC0000005) uždarant 2 ar daugiau įrenginių naudojant tą pačią magistralės aparatinę įrangą. # NanoLib Core: daugiau nėra segmentavimo gedimo prijungiant PEAK adapterį Linux sistemoje. # NanoLib moduliai Sampler: Teisingai sampLED reikšmių skaitymas programinės įrangos režimu. # NanoLib moduliai Sampler: teisinga 502X:04 konfigūracija. # NanoLib moduliai Sampler: Teisingas buferių sumaišymas su kanalais. # NanoLib-Canopen: padidintas CAN skirtasis laikas, užtikrinantis tvirtumą ir teisingą nuskaitymą esant mažesniam sparta. # NanoLib-Modbus: VCP aptikimo algoritmas specialiems įrenginiams (USB-DA-IO).
+ EtherCAT palaikymas.
+ Pastaba apie VS projekto nustatymus skiltyje „Konfigūruokite savo projektą“.
+ getDeviceHardwareGroup(). + getProfinetDCP(isServiceAvailable). + getProfinetDCP(validateProfinetDeviceIp). + autoAssignObjectDictionary(). + getXmlFilePavadinimas (). + konstanta std::string ir xmlFileKelias funkcijoje „addObjectDictionary(). + getS“amplerInterface ().
Prekė 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)
Versija: doc 1.4.2 / NanoLib 1.3.0
60
10 Įspaudas, kontaktas, versijos
dokumentas
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
+ Pridėta > Pakeista # Ištaisyta + rebootDevice (). + Klaidos kodas ResourceUnavailable, skirtas getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber ir ~Uid. > firmwareUploadFromFile dabar įkelti programinę įrangą išFile (). > firmwareUpload () dabar įkeltiFirmware (). > bootloaderUploadFromFile () dabar įkelti įkrovos įkroviklį išFile (). > bootloaderUpload () dabar įkeltiBootloader (). > bootloaderFirmwareUploadFromFile () įkelti įkrovos įkrovos programinę įrangą išFile (). > bootloaderFirmwareUpload () dabar įkeltiBootloaderFirmware (). > nanojUploadFromFile () dabar įkelkiteNanoJFromFile (). > nanojUpload () dabar uploadNanoJ (). > objectDictionaryLibrary () dabar getObjectDictionaryLibrary (). > String_String_Map dabar StringStringMap. > NanoLib-Common: greitesnis listAvailableBusHardware ir openBusHardwareWithProtocol vykdymas su Ixxat adapteriu. > NanoLib-CANopen: naudojami numatytieji nustatymai (1000k baudos greitis, Ixxat magistralės numeris 0), jei magistralės aparatinės įrangos parinktys tuščios. > NanoLib-RESTful: administratoriaus teisės nebereikalingos ryšiui su Ethernet įkrovos įkrovikliais sistemoje „Windows“, jei yra npcap / winpcap tvarkyklė. # NanoLib-CANopen: magistralės aparatinė įranga dabar atsidaro be gedimų su tuščiomis parinktimis. # NanoLib-Common: openBusHardwareWithProtocol () dabar be atminties nutekėjimo.
+ „Linux ARM64“ palaikymas. + USB masinės atminties / REST / „Profinet DCP“ palaikymas. + checkConnectionState(). + getDeviceBootloaderVersion(). + ResultProfinetDevices. + NlcErrorCode (pakeitė „NanotecExceptions“). + „NanoLib Modbus“: VCP / USB šakotuvas, sujungtas su USB. > „Modbus TCP“ nuskaitymas pateikia rezultatus. < „Modbus TCP“ ryšio delsa išlieka pastovi.
+ Daugiau „ObjectEntryDataType“ (sudėtingas ir profesionalus)file-specifinis). + „IOError“ grąžina klaidą, jei „connectDevice()“ ir „scanDevices()“ nieko neranda. + „CanOpen“ / „Modbus“ nominalus skirtasis laikas yra tik 100 ms.
+ „Modbus“ palaikymas (plius USB šakotuvas per VCP). + Skyrius „Savo „Linux“ projekto kūrimas“. + extraHardwareSpecifier keitimas į „BusHardwareId“ (). + extraId_ ir extraStringId_ keitimas į „DeviceId“ ().
+ setBusState(). + getDeviceBootloaderBuildId(). + getDeviceFirmwareBuildId(). + getDeviceHardwareVersion(). # Klaidų ištaisymai.
leidimas.
Produktas
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Versija: doc 1.4.2 / NanoLib 1.3.0
61
Dokumentai / Ištekliai
![]() |
Nanotinis NanoLib C++ programavimas [pdf] Naudotojo vadovas NanoLib C programavimas, C programavimas, Programavimas |

