Nanotic-LOGO

Nanotic NanoLib C++ Programming

Nanotic-NanoLib-C++-Programming-PRODUCT

Zambiri Zamalonda

Zofotokozera

  • Dzina lazogulitsa: NanoLib
  • Kupanga mapulogalamu Chiyankhulo: C++
  • Mtundu Wogulitsa: 1.3.0
  • Buku Logwiritsa Ntchito: 1.4.2

Laibulale ya NanoLib idapangidwa kuti ikhale pulogalamu yowongolera mapulogalamu a olamulira a Nanotec. Amapereka mawonekedwe ogwiritsira ntchito, magwiridwe antchito, ndi malaibulale olumikizirana kuti athandizire kupanga zowongolera.

Malangizo Ogwiritsira Ntchito Zogulitsa

  • Musanayambe:
    • Onetsetsani kuti makina anu akukwaniritsa zofunikira za hardware zomwe zafotokozedwa m'bukuli. Omvera omwe akufuna kuti agwiritse ntchito mankhwalawa akuphatikizapo opanga omwe akufuna kupanga mapulogalamu olamulira a Nanotec controller.
  • Kuyambapo:
    • Kuti muyambe kugwiritsa ntchito NanoLib, tsatirani izi:
    • Yambani ndikulowetsa NanoLib mu polojekiti yanu.
    • Konzani zokonda za polojekiti yanu ngati pakufunika.
    • Pangani pulojekiti yanu kuti iphatikize magwiridwe antchito a NanoLib.
  • Kupanga Ntchito:
    • Mutha kupanga mapulojekiti amitundu yonse ya Windows ndi Linux. Tsatirani malangizo enieni omwe aperekedwa mu bukhuli pa nsanja iliyonse.
  • Makalasi / Ntchito Zolozera:
    • Onani bukhu la ogwiritsa ntchito kuti mupeze kalozera watsatanetsatane wamakalasi ndi ntchito zomwe zikupezeka ku NanoLib pamapulogalamu owongolera mapulogalamu.

FAQs

  • Q: Kodi cholinga cha NanoLib ndi chiyani?
    • A: NanoLib ndi laibulale ya mapulogalamu owongolera mapulogalamu a olamulira a Nanotec, opereka magwiridwe antchito komanso kulumikizana.
  • Q: Ndingayambe bwanji ndi NanoLib?
    • A: Yambani ndikulowetsa NanoLib mu projekiti yanu, sinthani makonda a projekiti, ndikupanga pulojekiti yanu kuti mugwiritse ntchito mawonekedwe a NanoLib.

"``

Buku la Wogwiritsa NanoLib
C++

Imagwira ndi mtundu wazinthu 1.3.0

Buku Logwiritsa Ntchito: 1.4.2

Zolinga ndi zolembedwa

Chikalatachi chikufotokoza za kukhazikitsidwa ndi kugwiritsa ntchito laibulale ya NanoLib ndipo chimatanthawuza magulu onse ndi ntchito zopangira pulogalamu yanu yowongolera olamulira a Nanotec. Timagwiritsa ntchito zilembo zotsatirazi:
Mawu omwe ali pansi amakhala chizindikiro chofanana kapena cholumikizira.
Example 1: Kuti mupeze malangizo enieni pa NanoLibAccessor, onani Setup. Eksample 2: Ikani dalaivala wa Ixxat ndikulumikiza adaputala ya CAN-to-USB. Malemba a Italic amatanthauza: Ichi ndi chinthu chotchulidwa, njira ya menyu / chinthu, tabu / file dzina kapena (ngati kuli kofunikira) mawu a chinenero china.
Example 1: Sankhani File > Chatsopano > Chikalata Chopanda kanthu. Tsegulani chida tabu ndikusankha Comment. Eksample 2: Chikalatachi chigawanitsa ogwiritsa ntchito (= Nutzer; usuario; utente; utilisateur; utente etc.) kuchokera:
- Wogwiritsa ntchito chipani chachitatu (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente etc.). - Wogwiritsa ntchito (= Endnutzer; usuario final; utente final; utilisateur final; utente finale etc.).
Courier imayika zilembo zamakhodi kapena malamulo amapulogalamu. Eksample 1: Via Bash, imbani sudo make install kuti mutengere zinthu zomwe munagawana; ndiye imbani ldconfig. Eksample 2: Gwiritsani ntchito zotsatirazi NanoLibAccessor kusintha mulingo wodula mitengo mu NanoLib:
// ***** C++ mtundu *****
void setLoggingLevel (LogLevel level);
Mawu olimba kwambiri amatsindika mawu omwe ali ofunika kwambiri. Kapenanso, mawu ofuula okhala m'mabulaketi amatsindika kufunika kofunikira (!).
ExampLe 1: Dzitetezeni nokha, ena ndi zida zanu. Tsatirani zolemba zathu zachitetezo zomwe zimagwira ntchito pazinthu zonse za Nanotec.
Example 2: Kuti mudziteteze, tsatiraninso zolemba zachitetezo zomwe zimagwira ntchito pazidazi. Mawu oti kudina amatanthauza kudina kudzera pa kiyi yachiwiri ya mbewa kuti mutsegule menyu yankhani etc.
Example 1: Dinani pa file, sankhani Rename, ndi kusintha dzina la file. Eksample 2: Kuti muwone zomwe zili, dinani batani file ndikusankha Malo.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

4

Musanayambe

Musanayambe kugwiritsa ntchito NanoLib, konzani PC yanu ndikudziwitsani zomwe mukufuna kugwiritsa ntchito komanso malire a library.
2.1 Zofunikira pamakina ndi zida

Nanotic-NanoLib-C++-Programming-FIG- (1)
CHIDZIWITSO Kusagwira ntchito kwa 32-bit kapena makina osiyidwa! Gwiritsani ntchito, ndikusunga nthawi zonse, makina a 64-bit. Onani kusiya OEM ndi ~ malangizo.

NanoLib 1.3.0 imathandizira zinthu zonse za Nanotec ndi CANopen, Modbus RTU (komanso USB pa virtual com port), Modbus TCP, EtherCat, ndi Profinet. Kwa NanoLibs akale: Onani changelog mu imprint. Pachiwopsezo chanu chokha: kugwiritsa ntchito cholowa. Zindikirani: Tsatirani malangizo ovomerezeka a OEM kuti muchepetse kuchedwa ngati mukukumana ndi mavuto mukamagwiritsa ntchito adapter ya USB yochokera ku FTDI.

Zofunikira (64-bit system ndiyofunikira)
Windows 10 kapena 11 w/ Visual Studio 2019 mtundu 16.8 kapena mtsogolo ndi Windows SDK 10.0.20348.0 (mtundu 2104) kapena mtsogolo
C++ redistributables 2017 kapena apamwamba CANopen: Ixxat VCI kapena PCAN basic driver (posankha) EtherCat module / Profinet DCP: Npcap kapena WinPcap RESTful module: Npcap, WinPcap, kapena chilolezo cha admin kuti
kulumikizana ndi ma bootloaders a Ethernet
Linux w/ Ubuntu 20.04 LTS mpaka 24 (onse x64 ndi arm64)
Mitu ya Kernel ndi paketi ya libpopt-dev Profinet DCP: CAP_NET_ADMIN ndi CAP_NET_RAW abili-
amalumikiza CANopen: Ixxat ECI dalaivala kapena Peak PCAN-USB adaputala EtherCat: CAP_NET_ADMIN, CAP_NET_RAW ndi
CAP_SYS_NICE luso RESTful: CAP_NET_ADMIN Kutha kulankhulana ndi Eth-
ernet bootloaders (analimbikitsanso: CAP_NET_RAW)

Chilankhulo, ma adapter a fieldbus, zingwe
C++ GCC 7 kapena apamwamba (Linux)
EtherCAT: Efaneti chingwe VCP / USB likulu: tsopano yunifolomu USB misa yosungirako: USB chingwe REST: Efaneti chingwe CANopen: Ixxat USB-to-CAN V2; N / A-
notec ZK-USB-CAN-1, Peak PCANUSB adaputala Palibe chithandizo cha Ixxat cha Ubuntu pa arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 kapena adaputala ofanana; Chingwe cha USB pa virtual com port (VCP)
Modbus TCP: Chingwe cha Efaneti malinga ndi tsatanetsatane wazinthu

2.2 Zofuna kugwiritsa ntchito komanso omvera
NanoLib ndi laibulale yamapulogalamu ndi pulogalamu yamapulogalamu yogwiritsira ntchito, komanso kulumikizana ndi, olamulira a Nanotec pamitundu ingapo yamafakitale komanso kwa olemba mapulogalamu aluso okha.
Chifukwa cha hardware (PC) yosatha nthawi yeniyeni (PC) ndi makina ogwiritsira ntchito, NanoLib siigwiritsidwe ntchito pamapulogalamu omwe amafunikira kayendedwe ka ma multi-axis kapena nthawi zambiri amakhudzidwa ndi nthawi.
Mulimonse momwe mungaphatikizire NanoLib ngati gawo lachitetezo muzinthu kapena dongosolo. Mukatumiza kwa ogwiritsa ntchito, muyenera kuwonjezera zidziwitso zofananira ndi malangizo kuti mugwiritse ntchito motetezeka komanso kuti mugwiritse ntchito motetezeka pachida chilichonse chokhala ndi gawo lopangidwa ndi Nanotec. Muyenera kupereka zidziwitso zonse zoperekedwa ndi Nanotec kwa wogwiritsa ntchito.
2.3 Kuchuluka kwa kutumiza ndi chitsimikizo
NanoLib imabwera ngati chikwatu cha *.zip kuchokera pakutsitsa kwathu webtsamba la EMEA / APAC kapena AMERICA. Sungani bwino ndikutsegula zipi yotsitsa musanakhazikitse. Phukusi la NanoLib lili ndi:

Mtundu: doc 1.4.2 / NanoLib 1.3.0

5

2 Musanayambe

Mitu yachiyankhulo monga khodi yoyambira (API)

Core imagwira ntchito ngati malaibulale mumtundu wa binary: nano-

Ma library omwe amathandizira kulumikizana: nanolibm_ lib.dll

[yourfieldbus].dll ndi zina.

Exampndi polojekiti: Eksample.sln (Visual Studio

project) ndi example.cpp (main file)

Pakuchuluka kwa chitsimikizo, chonde samalani a) zomwe timakonda pa EMEA / APAC kapena AMERICA ndi b) zikalata zonse zalayisensi. Zindikirani: Nanotec ilibe chifukwa cha khalidwe lolakwika kapena losayenerera, kusamalira, kukhazikitsa, kugwiritsa ntchito, kugwiritsa ntchito, ndi kukonza zipangizo zachitatu! Pachitetezo choyenera, nthawi zonse tsatirani malangizo a OEM.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

6

Zomangamanga za NanoLib

Mapangidwe a NanoLib modular software amakupatsani mwayi wokonza makina owongolera / ma fieldbus momasuka mozungulira pachimake chomangidwa kale. NanoLib ili ndi ma module awa:

Mawonekedwe a ogwiritsa ntchito (API)

NanoLib Core

Interface ndi makalasi othandizira omwe malaibulale omwe

Communication library library Fieldbus-specific library which

kukupezani kuti wolamulira wanu agwiritse ntchito mawonekedwe a API do interface pakati pa NanoLib

OD (mtanthauzira mawu)

kucheza ndi malaibulale mabasi.

core ndi mabasi hardware.

pamaziko a NanoLib core func-

mayiko.

3.1 Mawonekedwe a ogwiritsa ntchito

Mawonekedwe ogwiritsira ntchito amakhala ndi mutu wamutu files mungagwiritse ntchito kupeza magawo owongolera. Makalasi ogwiritsira ntchito monga momwe akufotokozedwera mu Makalasi / ntchito zomwe zimakulolani:
Lumikizani ku zida zonse (adapter ya fieldbus) ndi chipangizo chowongolera. Pezani OD ya chipangizocho, kuti muwerenge / kulemba magawo owongolera.

3.2 NanoLib pachimake

NanoLib core imabwera ndi library library nanolib.lib. Imagwiritsa ntchito mawonekedwe a ogwiritsa ntchito ndipo ili ndi udindo:
Kutsegula ndi kuyang'anira malaibulale olankhulirana. Kupereka mawonekedwe ogwiritsa ntchito mu NanoLibAccessor. Malo olumikizirana awa ndi-
amalipira ndalama zingapo zomwe mungathe kuchita pa NanoLib core ndi malaibulale olumikizirana.

3.3 malaibulale olankhulana

Kuphatikiza pa nanotec.services.nanolib.dll (yothandiza posankha Plug & Drive Studio), NanoLib imapereka malaibulale olankhulirana awa:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Malaibulale onse amakhala ndi gawo la hardware pakati pa core ndi controller. Choyambira chimawakweza poyambira kuchokera pafoda yomwe idasankhidwa ndikuigwiritsa ntchito kukhazikitsa kulumikizana ndi wowongolera pogwiritsa ntchito protocol yofananira.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

7

Kuyambapo

Werengani momwe mungakhazikitsire NanoLib pamakina anu ogwiritsira ntchito moyenera komanso momwe mungalumikizire zida zamkati momwe mukufunikira.
4.1 Konzani dongosolo lanu
Musanayike madalaivala a adaputala, konzani PC yanu panjira yoyambira. Kukonzekera PC pamodzi ndi Windows OS yanu, ikani MS Visual Studio yokhala ndi C++ zowonjezera. Kuti muyike make ndi gcc ndi Linux Bash, imbani sudo apt install build-essentials. Kenako yambitsani kuthekera kwa CAP_NET_ADMIN, CAP_NET_RAW, ndi CAP_SYS_NICE pa pulogalamu yomwe imagwiritsa ntchito NanoLib: 1. Imbani sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
dzina>. 2. Pokhapokha, ikani adaputala madalaivala anu.
4.2 Ikani dalaivala ya adapter ya Ixxat ya Windows
Pokhapokha mutakhazikitsa dalaivala, mutha kugwiritsa ntchito adapter ya Ixxat ya USB-to-CAN V2. Werengani buku lazinthu zoyendetsera USB, kuti mudziwe ngati / momwe mungayambitsire virtual comport (VCP). 1. Koperani ndi kukhazikitsa Ixxat a VCI 4 dalaivala kwa Mawindo kuchokera www.ixxat.com. 2. Lumikizani adaputala yaying'ono ya USB-to-CAN V2 ya Ixxat ku PC kudzera pa USB. 3. Ndi Woyang'anira Chipangizo: Chongani ngati dalaivala ndi adaputala zonse zayikidwa bwino / zimadziwika.
4.3 Ikani dalaivala ya Peak adapter ya Windows
Pokhapokha mutakhazikitsa driver, mutha kugwiritsa ntchito adaputala ya Peak's PCAN-USB. Werengani buku lazinthu zoyendetsera USB, kuti mudziwe ngati / momwe mungayambitsire virtual comport (VCP). 1. Tsitsani ndikuyika khwekhwe la dalaivala wa chipangizo cha Windows (= phukusi loyika ndi madalaivala a chipangizo, zida, ndi
APIs) kuchokera http://www.peak-system.com. 2. Lumikizani adaputala ya PCAN-USB ya Peak ku PC kudzera pa USB. 3. Ndi Woyang'anira Chipangizo: Chongani ngati dalaivala ndi adaputala zonse zayikidwa bwino / zimadziwika.
4.4 Ikani dalaivala wa adapter ya Ixxat ya Linux
Pokhapokha mutakhazikitsa dalaivala, mutha kugwiritsa ntchito adapter ya Ixxat ya USB-to-CAN V2. Chidziwitso: Ma adapter ena othandizira amafunikira zilolezo zanu ndi sudo chmod +777/dev/ttyACM* (* nambala ya chipangizo). Werengani buku lazinthu zoyendetsera USB, kuti mudziwe ngati / momwe mungayambitsire virtual comport (VCP). 1. Ikani pulogalamu yofunikira pa dalaivala wa ECI ndi pulogalamu yachiwonetsero:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Tsitsani dalaivala wa ECI-for-Linux kuchokera ku www.ixxat.com. Tsegulani kudzera:
unzip eci_driver_linux_amd64.zip
3. Ikani dalaivala kudzera:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Yang'anirani kukhazikitsa bwino kwa madalaivala polemba ndi kuyambitsa pulogalamu yowonetsera:
cd /EciLinux_amd/src/EciDemos/ sudo kupanga cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Mtundu: doc 1.4.2 / NanoLib 1.3.0

8

4 Chiyambi
4.5 Ikani dalaivala wa Peak adapter ya Linux
Pokhapokha mutakhazikitsa driver, mutha kugwiritsa ntchito adaputala ya Peak's PCAN-USB. Chidziwitso: Ma adapter ena othandizira amafunikira zilolezo zanu ndi sudo chmod +777/dev/ttyACM* (* nambala ya chipangizo). Werengani buku lazinthu za USB drive, kuti mudziwe ngati / momwe mungayambitsire virtual comport (VCP). 1. Onani ngati Linux yanu ili ndi mitu ya kernel: ls /usr/src/linux-headers-`uname -r`. Ngati sichoncho, yikani
iwo: sudo apt-get install linux-headers-`uname -r` 2. Pokhapokha, ikani paketi ya libpopt-dev: sudo apt-get install libpopt-dev 3. Tsitsani phukusi lofunika loyendetsa (peak-linux-driver- xxx.tar.gz) kuchokera ku www.peak-system.com. 4. Kuti mutulutse, gwiritsani ntchito: tar xzf peak-linux-driver-xxx.tar.gz 5. Mufoda yosapakidwa: Sungani ndi kukhazikitsa madalaivala, PCAN base library, etc.: pangani zonse.
sudo pangani kukhazikitsa 6. Kuti muwone momwe ntchitoyi ikugwirira ntchito, pulagi adaputala ya PCAN-USB mkati.
a) Onani gawo la kernel:
lsmod | grep pcan b) ... ndi laibulale yogawana:
ls -l /usr/lib/libpcan*
Chidziwitso: Ngati vuto la USB3 lichitika, gwiritsani ntchito doko la USB2.
4.6 Lumikizani zida zanu
Kuti muthe kuyendetsa pulojekiti ya NanoLib, lumikizani chowongolera cha Nanotec ku PC pogwiritsa ntchito adaputala yanu. 1. Ndi chingwe choyenera, gwirizanitsani adaputala yanu kwa wolamulira. 2. Lumikizani adaputala ku PC molingana ndi pepala la data la adaputala. 3. Mphamvu pa wolamulira pogwiritsa ntchito magetsi oyenera. 4. Ngati kuli kofunikira, sinthani makonda a Nanotec controller yolumikizirana monga momwe zalembedwera m'buku lake lazinthu.
4.7 Kwezani NanoLib
Poyamba ndi zoyambira zofulumira komanso zosavuta, mutha (koma osayenera) kugwiritsa ntchito wakale wathuampndi project. 1. Kutengera dera lanu: Tsitsani NanoLib kuchokera kwathu webtsamba la EMEA / APAC kapena AMERICA. 2. Tsegulani phukusi la files/mafoda ndikusankha njira imodzi: Zoyambira mwachangu komanso zosavuta: Onani Kuyambira zakaleampndi project. Kuti musinthe mwamakonda mu Windows: Onani Kupanga projekiti yanu ya Windows. Kuti musinthe mwamakonda mu Linux: Onani Kupanga pulojekiti yanu ya Linux.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

9

Kuyambira exampndi project

Ndi NanoLib yodzaza bwino, example polojekiti imakuwonetsani pogwiritsa ntchito NanoLib ndi Nanotec controller. Zindikirani: Pa sitepe iliyonse, ndemanga mu ex yoperekedwaample code kufotokoza ntchito zomwe zimagwiritsidwa ntchito. Examppulojekitiyi ili ndi: `*_functions_example.*' files, yomwe ili ndi zokhazikitsidwa ndi mawonekedwe a NanoLib imagwira ntchito `*_callback_example.*' files, yomwe ili ndi kukhazikitsa kwa ma callbacks osiyanasiyana (scan, data ndi
kudula mitengo) `menu_*.*' file, yomwe ili ndi malingaliro a menyu ndi code Example. * file, yomwe ndi pulogalamu yayikulu, kupanga menyu ndikuyambitsa magawo onse omwe amagwiritsidwa ntchito ndi Sampler_example. * file, yomwe ili ndi exampndi kukhazikitsa kwa sampkugwiritsa ntchito. Mutha kupeza zambiri zakaleamples, ndi malamulo osuntha amitundu yosiyanasiyana, mu Knowledge Base pa nanotec.com. Zonsezi zitha kugwiritsidwa ntchito pa Windows kapena Linux.
Mu Windows ndi Visual Studio 1. Tsegulani Exampndi.sln file. 2. Tsegulani zakaleampndi.cpp. 3. Sungani ndikuyendetsa wakaleample kodi.
Mu Linux kudzera pa Bash 1. Tsegulani gwero file, yang'anani ku chikwatu chomwe chili ndi unzip. Chachikulu file za example ndi
exampndi.cpp. 2. Mu bash, imbani:
a. "sudo make install" kuti mutengere zinthu zomwe munagawana ndikuyitana ldconfig. b. "pangani zonse" kuti mupange mayeso kuti akwaniritsidwe. 3. Chikwatu cha bin chili ndi ex executableample file. Ndi bash: Pitani ku chikwatu chotuluka ndikulemba ./example. Ngati palibe cholakwika, zinthu zomwe mudagawana nazo zakhazikitsidwa moyenera, ndipo laibulale yanu yakonzeka kugwiritsidwa ntchito. Ngati cholakwikacho chikuwerengedwa ./example: cholakwika potsegula malaibulale omwe adagawana nawo: libnanolib.so: sangathe kutsegula chinthu chogawana nawo file: Palibe choncho file kapena chikwatu, kukhazikitsa kwa zinthu zomwe adagawana kwalephera. Pankhaniyi, tsatirani njira zotsatirazi. 4. Pangani foda yatsopano mkati mwa /usr/local/lib (ufulu wa admin wofunikira). Mu bash, lembani izi:
sudo mkdir /usr/local/lib/nanotec
5. Lembani zinthu zonse zomwe mwagawana kuchokera pa zipi file's lib chikwatu:
khazikitsa ./lib/*.so /usr/local/lib/nanotec/
6. Chongani zomwe zili mufoda yomwe mukufuna ndi:
ls -al /usr/local/lib/nanotec/
Iyenera kulemba zinthu zomwe zagawidwa files kuchokera ku lib chikwatu. 7. Thamangani ldconfig pafoda iyi:
sudo ldconfig /usr/local/lib/nanotec/
Example imakhazikitsidwa ngati CLI application ndipo imapereka mawonekedwe a menyu. Zolemba za menyu zimatengera zomwe zikuchitika ndipo zidzayatsidwa kapena kuzimitsidwa, kutengera momwe zilili. Amakupatsirani mwayi wosankha ndikuchita ntchito zosiyanasiyana zama library motsatira momwe kachitidwe kachitidwe kagwiritsidwira ntchito kowongolera: 1. Yang'anani pa PC kuti muwone zida zolumikizidwa (zosinthira) ndikuzilemba. 2. Khazikitsani kulumikizana ndi adaputala. 3. Jambulani basi pazida zolumikizidwa zowongolera. 4. Lumikizani ku chipangizo.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

10

5 Kuyambira kaleampndi project
5. Yesani chimodzi kapena zingapo za ntchito za laibulale: Werengani/lembani kuchokera ku/ku mtanthauzira mawu wa wolamulira, sinthani fimuweya, kwezani ndi kuyendetsa pulogalamu ya NanoJ, yambitsani injiniyo ndikuyikonza, konzani ndikugwiritsa ntchito kudula mitengo.amplero.
6. Tsekani kulumikizana, choyamba ku chipangizocho, kenako ku adaputala.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

11

Kupanga projekiti yanu ya Windows

Pangani, phatikizani ndikuyendetsa polojekiti yanu ya Windows kuti mugwiritse ntchito NanoLib.
6.1 Lowetsani NanoLib
Lowetsani mutu wa NanoLib files ndi malaibulale kudzera pa MS Visual Studio.
1. Open Visual Studio. 2. Kudzera Pangani pulojekiti yatsopano > Console App C++ > Kenako: Sankhani mtundu wa polojekiti. 3. Tchulani pulojekiti yanu (pano: NanolibTest) kuti mupange foda ya polojekiti mu Solution Explorer. 4. Sankhani Malizani. 5. Tsegulani mazenera file Explorer ndikupita ku foda yatsopano yopangidwa. 6. Pangani zikwatu ziwiri zatsopano, inc ndi lib. 7. Tsegulani chikwatu cha phukusi la NanoLib. 8. Kuchokera pamenepo: Lembani mutuwo files kuchokera mu kuphatikiza foda kulowa mu chikwatu cha polojekiti yanu inc ndi zonse .lib ndi .dll
files ku foda yanu yatsopano ya polojekiti lib. 9. Yang'anani chikwatu cha projekiti yanu kuti muwone mawonekedwe ake, mwachitsanzoampLe:

Nanotic-NanoLib-C++-Programming-FIG- (2)ect foda yamapangidwe oyenera:
. NanolibTest inc accessor_factory.hpp basi_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcbxTjest.novlivc. NanolibTest.vcxproj.user NanolibTest.sln
6.2 Konzani polojekiti yanu
Gwiritsani ntchito Solution Explorer mu MS Visual Studio kukhazikitsa ma projekiti a NanoLib. Zindikirani: Kuti mugwire ntchito yolondola ya NanoLib, sankhani kumasulidwa (osati kusokoneza!) Kukonzekera kwa Visual C ++; kenako pangani ndikugwirizanitsa pulojekitiyi ndi nthawi ya VC ya C ++ redistributables [2022].
1. Mu Solution Explorer: Pitani ku foda yanu ya polojekiti (pano: NanolibTest). 2. Dinani-dinani chikwatu kuti mutsegule menyu yankhaniyo. 3. Sankhani katundu. 4. Yambitsani Zosintha Zonse ndi nsanja Zonse. 5. Sankhani C/C++ ndikupita ku Zowonjezera Phatikizani Maupangiri. 6. Lowetsani: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Sankhani Linker ndikupita ku Zowonjezera Library Directories. 8. Lowetsani: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Wonjezerani Linker ndikusankha Input. 10.Pitani ku Zodalira Zowonjezera ndikuyika: nanolib.lib;%(AdditionalDependencies) 11.Tsimikizirani kudzera pa OK.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

12

6 Kupanga projekiti yanu ya Windows
12.Pitani ku Configuration> C++> Language> Language Standard> ISO C++17 Standard ndipo ikani muyeso wa chinenero ku C++17 (/std:c++17).
6.3 Pangani polojekiti yanu
Pangani projekiti yanu ya NanoLib mu MS Visual Studio. 1. Tsegulani chachikulu * .cpp file (apa: nanolib_example.cpp) ndikusintha kachidindo, ngati pakufunika kutero. 2. Sankhani Mangani > Konzani Zosintha. 3. Sinthani Mapulatifomu a Active solution kukhala x64. 4. Tsimikizani kudzera Kutseka. 5. Sankhani Manga > Pangani njira. 6. Palibe cholakwika? Yang'anani ngati zomwe mwapanga zikupereka malipoti:
1>—— Kuyeretsa kunayambika: Project: NanolibTest, Configuration: Debug x64 —–========== Kuyeretsa: 1 inapambana, 0 inalephera, 0 kudumpha ===========

Mtundu: doc 1.4.2 / NanoLib 1.3.0

13

7 Kupanga pulojekiti yanu ya Linux
7 Kupanga pulojekiti yanu ya Linux
Pangani, pangani ndikuyendetsa polojekiti yanu ya Linux kuti mugwiritse ntchito NanoLib. 1. Muzoyika za NanoLib zosatsekedwa: Tsegulani /nanotec_nanolib. 2. Pezani zinthu zonse zomwe zagawidwa mu tar.gz file. 3. Sankhani njira imodzi: Ikani aliyense lib mwina ndi Makefile kapena pamanja.
7.1 Ikani zinthu zomwe mwagawana ndi Makefile
Gwiritsani Ntchito Makefile ndi Linux Bash kukhazikitsa zonse zokhazikika *.so files. 1. Via Bash: Pitani ku chikwatu chomwe chili ndi makefile. 2. Lembani zinthu zomwe mwagawana kudzera:
sudo pangani kukhazikitsa 3. Tsimikizirani kudzera:
ldconfig
7.2 Ikani zinthu zogawana ndi manja
Gwiritsani ntchito Bash kukhazikitsa zonse *.so files ya NanoLib pamanja. 1. Kudzera pa Bash: Pangani foda yatsopano mkati mwa /usr/local/lib. 2. Ufulu wa Admin ukufunika! Mtundu:
sudo mkdir /usr/local/lib/nanotec 3. Sinthani ku foda ya phukusi losatsegulidwa. 4. Lembani zinthu zonse zomwe mwagawana kuchokera pa lib foda kudzera:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Onani zomwe zili mufoda yomwe mukufuna kudzera:
ls -al /usr/local/lib/nanotec/ 6. Onetsetsani ngati zinthu zonse zomwe zagawidwa kuchokera ku lib foda zalembedwa. 7. Thamangani ldconfig pafoda iyi kudzera:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Pangani polojekiti yanu
Ndi zinthu zomwe mudagawana nazo: Pangani pulojekiti yatsopano ya Linux NanoLib yanu. 1. Via Bash: Pangani chikwatu chatsopano cha polojekiti (pano: NanoLibTest) kudzera:
mkdir NanoLibTest cd NanoLibTest
2. Lembani mutuwo files kuphatikizira foda (pano: inc) kudzera: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Pangani chachikulu file (NanoLibTest.cpp) kudzera: #include "accessor_factory.hpp" #include

Mtundu: doc 1.4.2 / NanoLib 1.3.0

14

7 Kupanga pulojekiti yanu ya Linux
int main(){nlc ::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc :: ZotsatiraBusHwIds = chowonjezera-> listAvailableBusHardware();
ngati(result.hasError()) {std::cout << result.getError() << std::endl; }
china{std::cout << "Kupambana" << std::endl; }
chotsani chowonjezera; kubwerera 0; }
4. Yang'anani chikwatu cha projekiti yanu kuti muwone mawonekedwe ake:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp basi_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Konzani ndikuyesa polojekiti yanu
Pangani Linux NanoLib yanu kukhala yokonzeka kugwiritsidwa ntchito kudzera pa Bash.
1. Kudzera pa Bash: Lembani zazikulu file kudzera:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Lumikizani zomwe zingatheke pamodzi kudzera:
g++ -Wall -Wextra -pedantic -I./inc -o kuyesa NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Yendetsani pulogalamu yoyeserera kudzera:
./kuyesa
4. Onani ngati Bash yanu ikupereka lipoti moyenerera:
kupambana

Mtundu: doc 1.4.2 / NanoLib 1.3.0

15

8 Makalasi / ntchito zofotokozera

8 Makalasi / ntchito zofotokozera

Pezani apa mndandanda wamakalasi ogwiritsira ntchito a NanoLib ndi ntchito za mamembala awo. Kufotokozera kwachidziwitso cha ntchito kumaphatikizapo mawu oyambitsa mwachidule, tanthauzo la ntchito ndi mndandanda / mndandanda wobwereza:

ExampleFunction () Amakuuzani mwachidule zomwe ntchitoyi imachita.
pafupifupi void nlc ::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Magawo param_a param_b
Returns ResultVoid

Ndemanga yowonjezera ngati ikufunika. Ndemanga yowonjezera ngati ikufunika.

8.1 NanoLibAccessor

Kalasi ya Interface yomwe imagwiritsidwa ntchito ngati polowera ku NanoLib. Ntchito yokhazikika ikuwoneka motere:
1. Yambani ndi kupanga sikani za hardware ndi NanoLibAccessor.listAvailableBusHardware (). 2. Khazikitsani zoyankhulirana ndi BusHardwareOptions (). 3. Tsegulani kugwirizana kwa hardware ndi NanoLibAccessor.openBusHardwareWithProtocol (). 4. Jambulani basi pazida zolumikizidwa ndi NanoLibAccessor.scanDevices (). 5. Onjezani chipangizo ndi NanoLibAccessor.addDevice (). 6. Lumikizani ku chipangizocho ndi NanoLibAccessor.connectDevice (). 7. Mukamaliza ntchito, chotsani chipangizocho ndi NanoLibAccessor.disconnectDevice (). 8. Chotsani chipangizocho ndi NanoLibAccessor.removeDevice (). 9. Tsekani kugwirizana kwa hardware ndi NanoLibAccessor.closeBusHardware ().
NanoLibAccessor ili ndi ntchito zotsatirazi:

listAvailableBusHardware () Gwiritsani ntchito ntchitoyi kuti mulembe zida za fieldbus zomwe zilipo.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Kubwezera ResultBusHwIds

Imapereka mndandanda wa ID ya fieldbus.

OpenBusHardwareWithProtocol () Gwiritsani ntchito ntchitoyi kuti mulumikizane ndi zida zamabasi.
virtual ResultVoid nlc ::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parameters busHwId busHwOpt
Returns ResultVoid

Imatchula fieldbus kuti itsegule. Imatchula njira zotsegulira mabasi. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

isBusHardwareOpen () Gwiritsani ntchito ntchitoyi kuti muwone ngati kugwirizana kwanu kwa hardware ya fieldbus ndikotsegula.
virtual ResultVoid nlc ::NanoLibAccessor::openBusHardwareWithProtocol (consst BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Mtundu: doc 1.4.2 / NanoLib 1.3.0

16

8 Makalasi / ntchito zofotokozera

Parameters BusHardwareId Ibwereranso zoona
zabodza

Imatchula fieldbus iliyonse kuti itsegule. Hardware ndi yotsegula. Hardware yatsekedwa.

getProtocolSpecificAccessor () Gwiritsani ntchito ntchitoyi kuti mupeze chinthu chowonjezera cha protocol.
virtual ResultVoid nlc ::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parameters busHwId Returns ResultVoid

Imatchula fieldbus kuti mupeze chowonjezera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

getProfinetDCP () Gwiritsani ntchito ntchitoyi kuti mubwererenso ku mawonekedwe a Profinet DCP.
pafupifupi ProfinetDCP & getProfinetDCP ()

Kubwezera ProfinetDCP

getSamplerInterface () Gwiritsani ntchito ntchitoyi kuti mupeze zolozera ku sampler mawonekedwe.
pafupifupi SamplerInterface & getSamplerInterface ()

Kubwerera SamplerInterface

Amatanthauza sampler mawonekedwe kalasi.

setBusState () Gwiritsani ntchito ntchitoyi kuti muyike momwe mabasi amayendera.
virtual ResultVoid nlc ::NanoLibAccessor::setBusState (consst BusHardwareId & busHwId, const std::string & state)

Parameters busHwId state
Returns ResultVoid

Imatchula fieldbus kuti itsegule. Imapatsa mabasi ngati mtengo wa chingwe. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

scanDevices () Gwiritsani ntchito ntchitoyi kuti musanthule zida zomwe zili pa netiweki.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (consst BusHardwareId & busHwId, NlcScanBusCallback* callback)

Parameters busHwId callback
Kubwezera ResultDeviceIds IOError

Imatchula fieldbus kuti ijambule. NlcScanBusCallback patsogolo tracker. Imapereka mndandanda wa ID ya chipangizo. Imadziwitsa kuti chipangizo sichinapezeke.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

17

8 Makalasi / ntchito zofotokozera

addDevice ()
Gwiritsani ntchito ntchitoyi kuti muwonjezere chipangizo cha basi chofotokozedwa ndi deviceId pamndandanda wa zida zamkati za NanoLib, ndikubwezeretsanso chipangizocho.
virtual ResultDeviceHandle nlc ::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parameters deviceId Returns ResultDeviceHandle

Imatchula chipangizo choti muwonjezere pamndandanda. Amapereka chogwirizira cha chipangizo.

connectDevice () Gwiritsani ntchito ntchitoyi kulumikiza chipangizo ndi deviceHandle.
virtual ResultVoid nlc ::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultVoid
IOError

Imatchulanso chomwe NanoLib amalumikizira basi. Zimatsimikizira kuti ntchito yopanda kanthu yatha. Imadziwitsa kuti chipangizo sichinapezeke.

getDeviceName () Gwiritsani ntchito ntchitoyi kuti mupeze dzina la chipangizo ndi deviceHandle.
virtual ResultString nlc ::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultString

Imatchula chipangizo cha basi NanoLib chomwe chimatchedwa dzina. Amapereka mayina a chipangizo ngati chingwe.

getDeviceProductCode () Gwiritsani ntchito ntchitoyi kuti mupeze nambala yazinthu za chipangizocho ndi deviceHandle.
virtual ResultInt nlc ::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultInt

Imatchula chipangizo cha basi NanoLib imapeza nambala yazogulitsa. Amapereka ma code azinthu ngati nambala.

getDeviceVendorId () Gwiritsani ntchito ntchitoyi kuti mupeze ID ya ogulitsa chipangizo ndi deviceHandle.
virtual ResultInt nlc ::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultInt
ResourceUnavailable

Imatchula chipangizo cha basi NanoLib imapeza ID ya ogulitsa. Imatumiza ma ID a ogulitsa ngati chiwerengero chonse. Imadziwitsa kuti palibe deta yomwe yapezeka.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

18

8 Makalasi / ntchito zofotokozera

getDeviceId () Gwiritsani ntchito ntchitoyi kuti mupeze ID ya chipangizo china kuchokera pamndandanda wamkati wa NanoLib.
virtual ResultDeviceId nlc ::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultDeviceId

Imatchula chipangizo cha basi NanoLib imatenga ID ya chipangizocho. Amapereka ID ya chipangizo.

getDeviceIds () Gwiritsani ntchito ntchitoyi kuti mupeze ID ya zida zonse pamndandanda wamkati wa NanoLib.
virtual ResultDeviceIds nlc ::NanoLibAccessor::getDeviceIds ()

Kubwezera ResultDeviceIds

Amapereka mndandanda wa ID ya chipangizo.

getDeviceUid () Gwiritsani ntchito ntchitoyi kuti mupeze ID yapadera ya chipangizocho (96 bit / 12 byte) ndi chipangizoHandle.
virtual ResultArrayByte nlc ::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultArrayByte
ResourceUnavailable

Imatchula chipangizo cha basi NanoLib imalandira ID yapadera. Amapereka ma ID apadera ngati gulu la byte. Imadziwitsa kuti palibe deta yomwe yapezeka.

getDeviceSerialNumber () Gwiritsani ntchito ntchitoyi kuti mupeze nambala yachinsinsi ya chipangizochi pogwiritsa ntchito deviceHandle.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultString
ResourceUnavailable

Imatchula chipangizo cha basi NanoLib imapeza nambala ya serial. Amapereka manambala amtundu ngati chingwe. Imadziwitsa kuti palibe deta yomwe yapezeka.

getDeviceHardwareGroup () Gwiritsani ntchito ntchitoyi kuti mupeze gulu la hardware la chipangizo cha basi pogwiritsa ntchito deviceHandle.
virtual ResultDeviceId nlc ::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultInt

Imatchula chipangizo chabasi NanoLib amapezera gulu la hardware.
Imatumiza magulu a hardware ngati chiwerengero chonse.

getDeviceHardwareVersion () Gwiritsani ntchito njirayi kuti mupeze mtundu wa hardware wa chipangizo cha basi pogwiritsa ntchito deviceHandle.
virtual ResultDeviceId nlc ::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Mtundu: doc 1.4.2 / NanoLib 1.3.0

19

8 Makalasi / ntchito zofotokozera

Parameters deviceHandle

Kubwerera

ResultString ResourceUnavailable

Imatchula chipangizo cha basi NanoLib imapeza mtundu wa hardware. Amapereka mayina a chipangizo ngati chingwe. Imadziwitsa kuti palibe deta yomwe yapezeka.

getDeviceFirmwareBuildId () Gwiritsani ntchito ntchitoyi kuti mupeze ID ya firmware ya chipangizo cha basi ndi deviceHandle.
virtual ResultDeviceId nlc ::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultString

Imatchula chipangizo cha basi NanoLib imapeza ID ya firmware.
Amapereka mayina a chipangizo ngati chingwe.

getDeviceBooloaderVersion () Gwiritsani ntchito njirayi kuti mupeze mtundu wa bootloader wa chipangizo cha basi pogwiritsa ntchito deviceHandle.
virtual ResultInt nlc ::NanoLibAccessor::getDeviceBooloaderVersion (DeviceHandle const deviceHandle)

Parameters deviceHandle

Kubwerera

ResultInt ResourceUnavailable

Imatchula chipangizo cha basi NanoLib imapeza mtundu wa bootloader. Amapereka mitundu ya bootloader ngati nambala. Imadziwitsa kuti palibe deta yomwe yapezeka.

getDeviceBooloaderBuildId () Gwiritsani ntchito ntchitoyi kuti mupeze ID yopangira bootloader ya chipangizo cha basi pogwiritsa ntchito deviceHandle.
virtual ResultDeviceId nlc ::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultString

Imatchula chipangizo cha basi NanoLib imapeza ID yopangira bootloader.
Amapereka mayina a chipangizo ngati chingwe.

rebootDevice () Gwiritsani ntchito ntchitoyi kuti muyambitsenso chipangizocho ndi deviceHandle.
virtual ResultVoid nlc ::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parameters deviceHandle Returns ResultVoid

Imatchula fieldbus kuti iyambitsenso. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

getDeviceState () Gwiritsani ntchito ntchitoyi kuti mupeze mawonekedwe a chipangizocho.
virtual ResultString nlc ::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parameters deviceHandle

Imatchula chipangizo cha basi NanoLib imatengera boma.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

20

8 Makalasi / ntchito zofotokozera

Kubwezera ResultString

Amapereka mayina a chipangizo ngati chingwe.

setDeviceState () Gwiritsani ntchito ntchitoyi kuti mukhazikitse chikhalidwe cha chipangizochi.
virtual ResultVoid nlc ::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parameters deviceHandle state
Returns ResultVoid

Imatchula chipangizo cha basi NanoLib chomwe chimakhazikitsa boma. Imapatsa mabasi ngati mtengo wa chingwe. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

getConnectionState ()
Gwiritsani ntchito ntchitoyi kuti mupeze kulumikizana komaliza kwa chipangizocho ndi chipangizoHandle (= Cholumikizidwa, Cholumikizidwa, CholumikizidwaBootloader)
virtual ResultConnectionState nlc ::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultConnectionState

Imatchula chipangizo cha basi NanoLib imapeza malo olumikizirana nawo.
Imapereka malo olumikizirana (= Olumikizidwa, Olumikizidwa, OlumikizidwaBootloader).

checkConnectionState ()
Pokhapokha ngati dziko lomaliza lodziwika silinasinthidwe: Gwiritsani ntchito ntchitoyi kuti muwone ndikusintha momwe chipangizocho chikulumikizidwira ndi deviceHandle ndikuyesa machitidwe angapo enieni.
virtual ResultConnectionState nlc ::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultConnectionState

Imatchula chipangizo chabasi NanoLib chimayang'ana momwe mayendedwe amalumikizirana.
Imapereka malo olumikizirana (= osalumikizidwa).

assignObjectDictionary () Gwiritsani ntchito bukuli kuti mugawire mtanthauzira mawu (OD) ku chipangizoHandle nokha.
virtual ResultObjectDictionary nlc ::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parameters deviceHandle objectDictionary
Returns ResultObjectDictionary

Imatchula chipangizo cha basi NanoLib chomwe chimapatsa OD. Imawonetsa mawonekedwe a mtanthauzira mawu.

autoAssignObjectDictionary ()
Gwiritsani ntchito automatism iyi kuti mulole NanoLib igawire mtanthauzira mawu (OD) ku deviceHandle. Mukapeza ndikutsitsa OD yoyenera, NanoLib imangopereka chipangizocho. Zindikirani: Ngati OD yogwirizana yadzaza kale mulaibulale yazinthu, NanoLib idzagwiritsa ntchito yokha osayang'ana chikwatu chomwe chatumizidwa.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Mtundu: doc 1.4.2 / NanoLib 1.3.0

21

8 Makalasi / ntchito zofotokozera

Parameters deviceHandle

Kubwerera

dictionariesLocationPath ResultObjectDictionary

Imatchula chipangizo chabasi chomwe NanoLib imangoyang'ana ma OD oyenera. Imatchula njira yopita ku chikwatu cha OD. Imawonetsa mawonekedwe a mtanthauzira mawu.

getAssignedObjectDictionary ()
Gwiritsani ntchito izi kuti mutenge mtanthauzira mawu ku chipangizo ndi deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
gwirani)

Parameters deviceHandle Returns ResultObjectDictionary

Imatchula chipangizo cha basi NanoLib imalandira OD yoperekedwa. Imawonetsa mawonekedwe a mtanthauzira mawu.

getObjectDictionaryLibrary () Ntchitoyi imabweretsanso mbiri ya OdLibrary.
pafupifupi OdLibrary& nlc ::NanoLibAccessor::getObjectDictionaryLibrary ()

Kubweza OdLibrary&

Imatsegula laibulale yonse ya OD ndi madikishonale ake.

setLoggingLevel () Gwiritsani ntchito ntchitoyi kuti mukhazikitse tsatanetsatane wa chipika (ndi log file kukula). Default level ndi Info.
virtual void nlc ::NanoLibAccessor::setLoggingLevel (LogLevel level)

Mulingo wa Parameters

Zolemba zotsatirazi ndizotheka:

0 = Tsatirani 1 = Debug 2 = Info 3 = Chenjezo 4 = Cholakwika 5 = Chovuta 6 = Choyimitsa

Mulingo wotsika kwambiri (chipika chachikulu kwambiri file); sungani zambiri zotheka, kuphatikiza pulogalamu yoyambira / kuyimitsa. Zambiri za logi (= zotsatira zanthawi yochepa, zomwe zatumizidwa kapena zolandilidwa, ndi zina zotero) Mulingo wofikira; zolemba mauthenga. Zolemba zovuta zomwe zidachitika koma siziyimitsa ma aligorivimu apano. Zolemba zovuta kwambiri zomwe zidayimitsa algorithm. Mulingo wapamwamba kwambiri (chipika chaching'ono kwambiri file); amachepetsa kuchepa; palibenso chipika chilichonse. Palibe kudula mitengo.

setLoggingCallback ()
Gwiritsani ntchito ntchitoyi kuti muyike cholozera cholembera mitengo ndi log module (= laibulale) ya kuyimbanso (osati kwa loggeryo).
virtual void nlc ::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)

Ma parameters *callback logModule

Imakhazikitsa cholozera chobwerera. Ingolani kuyimbiranso (osati logger!) ku laibulale yanu.

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

Imayatsa kuyimbanso pamakina a NanoLib okha. Imatsegula kuyimbanso kwa CANopen-only. Imayatsa kuyimbanso kwa Modbus-only. Imayatsa kuyimbanso kwa EtherCAT-only.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

22

8 Makalasi / ntchito zofotokozera

4 = NanolibRest 5 = NanolibUSB

Imatsegula kuyimbanso kwa REST-okha. Imayatsa kuyimbanso kwa USB kokha.

unsetLoggingCallback () Gwiritsani ntchito ntchitoyi kuti muletse cholozera cholowera.
pafupifupi void nlc ::NanoLibAccessor::unsetLoggingCallback ()

readNambala () Gwiritsani ntchito ntchitoyi kuti muwerenge nambala kuchokera mumtanthauzira mawu.
virtual ResultInt nlc ::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Ma Parameters deviceHandle odIndex
Kubwezera ResultInt

Imatchula chipangizo cha basi NanoLib amawerenga kuchokera. Imatchula (sub-) index kuti muwerengepo. Imapereka nambala yosatanthauzira (imatha kusaina, kusayinidwa, kukonza mabiti 16.16).

readNumberArray () Gwiritsani ntchito ntchitoyi kuti muwerenge mndandanda wa manambala kuchokera mumtanthauzira mawu.
virtual ResultArrayInt nlc ::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Parameters deviceHandle index
Kubwezera ResultArrayInt

Imatchula chipangizo cha basi NanoLib amawerenga kuchokera. Mndandanda wa chinthu. Amapereka mndandanda wonse.

readBytes () Gwiritsani ntchito ntchitoyi kuti muwerenge ma byte osagwirizana (domeni ya chinthu) kuchokera mumtanthauzira mawu.
virtual ResultArrayByte nlc ::NanoLibAccessor::readBytes (consst DeviceHandle deviceHandle, const OdIndex odIndex)

Ma Parameters deviceHandle odIndex
Kubwezera ResultArrayByte

Imatchula chipangizo cha basi NanoLib amawerenga kuchokera. Imatchula (sub-) index kuti muwerengepo. Amapereka ma byte array.

readString () Gwiritsani ntchito ntchitoyi kuti muwerenge zingwe kuchokera mu bukhu lachinthu.
virtual ResultString nlc ::NanoLibAccessor::readString (consst DeviceHandle deviceHandle, const OdIndex odIndex)

Ma Parameters deviceHandle odIndex
Kubwezera ResultString

Imatchula chipangizo cha basi NanoLib amawerenga kuchokera. Imatchula (sub-) index kuti muwerengepo. Amapereka mayina a chipangizo ngati chingwe.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

23

8 Makalasi / ntchito zofotokozera

LembaniNambala () Gwiritsani ntchito ntchitoyi kuti mulembe manambala ku bukhu lachinthu.
virtual ResultVoid nlc ::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)

Ma parameters deviceHand value odIndex bitLength
Returns ResultVoid

Imatchula chipangizo chabasi chomwe NanoLib amalembera. Mtengo wosatanthauzira (ukhoza kusaina, kusayinidwa, kukonza 16.16). Imatchula (sub-) index kuti muwerengepo. Utali pang'ono. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

writeBytes () Gwiritsani ntchito ntchitoyi kuti mulembe ma byte osagwirizana (chidziwitso cha domain) ku bukhu lachinthu.
virtual ResultVoid nlc ::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & data, const OdIndex odIndex)

Ma Parameters deviceHandle data odIndex
Returns ResultVoid

Imatchula chipangizo chabasi chomwe NanoLib amalembera. Byte vector / gulu. Imatchula (sub-) index kuti muwerengepo. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

uploadFirmware ()
Gwiritsani ntchito izi kuti musinthe firmware ya controller yanu.
virtual ResultVoid nlc ::NanoLibAccessor:: uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* callback)

Ma Parameters deviceHandle fwData NlcDataTransferCallback
Returns ResultVoid

Imatchula zomwe NanoLib imasinthira basi. Gulu lomwe lili ndi data ya firmware. Wofufuza momwe data ikuyendera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

uploadFirmwareKuchokeraFile ()
Gwiritsani ntchito izi kuti musinthe firmware yanu poyiyika file.
virtual ResultVoid nlc ::NanoLibAccessor:: uploadFirmwareKuchokeraFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePath, NlcDataTransferCallback* callback)

Parameters deviceHandle mtheradiFileNjira ya NlcDataTransferCallback
Returns ResultVoid

Imatchula zomwe NanoLib imasinthira basi. Njira yopita ku file ili ndi data ya firmware (std::string). Wofufuza momwe data ikuyendera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

24

8 Makalasi / ntchito zofotokozera

uploadBootloader ()
Gwiritsani ntchito izi kuti musinthe bootloader yanu yowongolera.
virtual ResultVoid nlc ::NanoLibAccessor:: uploadBooloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* callback)

Ma Parameters deviceHandle btData NlcDataTransferCallback
Returns ResultVoid

Imatchula zomwe NanoLib imasinthira basi. Mndandanda wokhala ndi data ya bootloader. Wofufuza momwe data ikuyendera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

uploadBootloaderKuchokeraFile ()
Gwiritsani ntchito izi kuti musinthe bootloader yanu poyiyika file.
virtual ResultVoid nlc ::NanoLibAccessor:: uploadBooloaderKuchokeraFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePath, NlcDataTransferCallback* callback)

Ma Parameters deviceHandle bootloaderAbsoluteFileNjira ya NlcDataTransferCallback
Returns ResultVoid

Imatchula zomwe NanoLib imasinthira basi. Njira yopita ku file ili ndi data ya bootloader (std :: chingwe). Wofufuza momwe data ikuyendera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

uploadBootloaderFirmware ()
Gwiritsani ntchito izi kuti musinthe bootloader yanu yowongolera ndi firmware.
virtual ResultVoid nlc ::NanoLibAccessor:: uploadBooloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* callback)

Parameters deviceHandle btData fwData NlcDataTransferCallback
Returns ResultVoid

Imatchula zomwe NanoLib imasinthira basi. Mndandanda wokhala ndi data ya bootloader. Gulu lomwe lili ndi data ya firmware. Wofufuza momwe data ikuyendera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

uploadBootloaderFirmwareFromFile ()
Gwiritsani ntchito izi kuti musinthe bootloader yanu yoyang'anira ndi firmware pokweza files.
virtual ResultVoid nlc ::NanoLibAccessor :: uploadBooloaderFirmwareKuchokeraFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileNjira, const std::chingwe & mtheradiFilePath, NlcDataTransferCallback* callback)

Ma Parameters deviceHandle bootloaderAbsoluteFileNjira mtheradiFileNjira ya NlcDataTransferCallback
Returns ResultVoid

Imatchula zomwe NanoLib imasinthira basi. Njira yopita ku file ili ndi data ya bootloader (std :: chingwe). Njira yopita ku file ili ndi data ya firmware (uint8_t). Wofufuza momwe data ikuyendera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

25

8 Makalasi / ntchito zofotokozera

uploadNanoJ ()
Gwiritsani ntchito ntchitoyi pagulu kuti mukweze pulogalamu ya NanoJ kwa wowongolera wanu.
virtual ResultVoid nlc ::NanoLibAccessor:: uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* callback)

Ma Parameters deviceHandle vmmData NlcDataTransferCallback
Returns ResultVoid

Imatchula chipangizo cha basi NanoLib chomwe chimakwezera. Mndandanda wokhala ndi data ya NanoJ. Wofufuza momwe data ikuyendera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

uploadNanoJFromFile ()
Gwiritsani ntchito ntchitoyi pagulu kuti mukweze pulogalamu ya NanoJ kwa wowongolera wanu potsitsa fayilo ya file.
virtual ResultVoid nlc ::NanoLibAccessor:: uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFilePath, NlcDataTransferCallback* callback)

Parameters deviceHandle mtheradiFileNjira ya NlcDataTransferCallback
Returns ResultVoid

Imatchula chipangizo cha basi NanoLib chomwe chimakwezera. Njira yopita ku file ili ndi data ya NanoJ (std :: chingwe). Wofufuza momwe data ikuyendera. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

disconnectDevice () Gwiritsani ntchito ntchitoyi kuti musalumikize chipangizo chanu ndi deviceHandle.
virtual ResultVoid nlc ::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parameters deviceHandle Returns ResultVoid

Imatchula zomwe NanoLib imadula mabasi. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

removeDevice () Gwiritsani ntchito ntchitoyi kuchotsa chipangizo chanu pamndandanda wamkati wa NanoLib.
virtual ResultVoid nlc ::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Parameters deviceHandle Returns ResultVoid

Imatchula chipangizo chabasi cha NanoLib. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

closeBusHardware () Gwiritsani ntchito ntchitoyi kuti musalumikizidwe ndi hardware yanu ya fieldbus.
virtual ResultVoid nlc ::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parameters busHwId Returns ResultVoid

Imatchula fieldbus yoti ichotseko. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

26

8 Makalasi / ntchito zofotokozera

8.2 BusHardwareId
Gwiritsani ntchito kalasi iyi kuti muzindikire zida zamabasi chimodzi ndi chimodzi kapena kusiyanitsa zida zamabasi zosiyanasiyana. Kalasi iyi (popanda setter ntchito kuti ikhale yosasinthika kuchokera ku chilengedwe) imakhalanso ndi chidziwitso pa:
Zida za Hardware (= dzina la adaputala, adaputala ya netiweki ndi zina) Dongosolo loti mugwiritse ntchito (= Modbus TCP, CANopen etc.) Zofotokozera za zida zamabasi (= serial port name, MAC Friendly name
adilesi etc.)

BusHardwareId () [1/3] Wopanga yemwe amapanga chinthu chatsopano cha ID ya mabasi.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parameters busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Mtundu wa zida (= ZK-USB-CAN-1 etc.). Njira yolumikizirana mabasi (= CANopen etc.). Kufotokozera kwa hardware (= COM3 etc.). Chowonjezera cha hardware (mwachitsanzo, zambiri za malo a USB). Dzina laubwenzi (= AdapterName (Port) etc. ).

BusHardwareId () [2/3] Wopanga yemwe amapanga chinthu chatsopano cha ID ya mabasi, ndi mwayi wowonjezera maumboni a hardware.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)

Parameters busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Mtundu wa zida (= ZK-USB-CAN-1 etc.). Njira yolumikizirana mabasi (= CANopen etc.). Kufotokozera kwa hardware (= COM3 etc.). Chowonjezera cha hardware (mwachitsanzo, zambiri za malo a USB). Dzina laubwenzi (= AdapterName (Port) etc. ).

BusHardwareId () [3/3] Wopanga yemwe amakopera basi yomwe ilipoHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parameters busHardwareId

Amatchula ID ya zida zamabasi kuti mukopereko.

ofanana () Yerekezerani ID yatsopano ya zida zamabasi ndi zomwe zilipo kale.
bool nlc ::BusHardwareId::equals (BusHardwareId const & zina) const

Zosintha zina Kubweza zoona

Chinthu china cha kalasi lomwelo. Ngati onse ali ofanana muzinthu zonse.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

27

8 Makalasi / ntchito zofotokozera

zabodza

Ngati zikhalidwe zimasiyana.

getBusHardware () Amawerenga chingwe cha zida za basi.
std::string nlc::BusHardwareId::getBusHardware () const

Kubwezera chingwe

getHardwareSpecifier () Amawerenga chingwe chofotokozera za hardware ya basi (= dzina la netiweki ndi zina).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Kubwezera chingwe

getExtraHardwareSpecifier () Imawerenga chingwe chowonjezera cha hardware ya basi (= adilesi ya MAC ndi zina).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Kubwezera chingwe

getName () Amawerenga dzina laubwenzi la hardware ya basi.
std::string nlc::BusHardwareId::getName () const

Kubwezera chingwe

getProtocol () Imawerenga chingwe cha protocol ya basi.
std::string nlc::BusHardwareId::getProtocol () const

Kubwezera chingwe

toString () Imabwezeranso ID ya hardware ya basi ngati chingwe.
std::string nlc::BusHardwareId::toString () const

Kubwezera chingwe
8.3 Zosankha za BusHardware
Pezani m'kalasi ili, pamndandanda wamtengo wapatali wa zingwe, zosankha zonse zofunika kuti mutsegule hardware ya basi.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

28

8 Makalasi / ntchito zofotokozera

BusHardwareOptions () [1/2] Amapanga chinthu chatsopano cha hardware ya basi.
nlc::Zosankha zaBusHardware::Zosankha zaBusHardware () Gwiritsani ntchito addOption () kuti muwonjezere mapeya amtengo wapatali.

BusHardwareOptions () [2/2] Amapanga chinthu chatsopano cha zida zamabasi ndi mapu amtengo wapatali omwe alipo kale.
nlc::BusHardwareZosankha::BusHardwareZosankha (std::mapu const & options)

Zosankha za Parameters

Mapu okhala ndi zosankha kuti zida zamabasi zizigwira ntchito.

addOption () Amapanga makiyi owonjezera ndi zikhalidwe.
void nlc ::BusHardwareZosankha::addOption (std::string const & key, std::string const & value)

Mtengo wa Parameters

Example: BAUD_RATE_OPTIONS_NAME, onani zosintha za bus_hw_options_
Example: BAUD_RATE_1000K, onani basi_hw_options_defaults

ofanana () Fananizani Zosankha za BusHardware ndi zomwe zilipo kale.
bool nlc ::BusHardwareZosankha::zofanana (BusHardwareOptions const & zina) const

Zosintha zina Kubweza zoona
zabodza

Chinthu china cha kalasi lomwelo. Ngati chinthu chinacho chili ndi njira zonse zomwezo. Ngati chinthu chinacho chili ndi makiyi kapena mfundo zosiyana.

getOptions () Imawerenga mapeyala onse amtengo wapatali.
std::mapa nlc::BusHardwareOptions::getOptions () const

Kubweza mapu a zingwe

toString () Imabweza makiyi onse / mfundo zonse ngati chingwe.
std::string nlc::BusHardwareId::toString () const

Kubwezera chingwe
8.4 BusHwOptionsDefault
Gulu lachikhazikitso losasinthika ili lili ndi izi:

Mtundu: doc 1.4.2 / NanoLib 1.3.0

29

8 Makalasi / ntchito zofotokozera

Const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Chigawo chomwe chili ndi mabasi a CAN mumayendedwe awa:

const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe

BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” BAUD_RATE_100 BAUD_100 BAUD_50 TE_50K = “20k” BAUD_RATE_20K = “10k” BAUD_RATE_10K = “5k”

8.6 CanBus

Zosankhira zosintha zomwe zili ndi izi:

const std :: chingwe const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = "amatha adaputala kuchuluka kwa baud" baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Pa sevisi ya NMT, dongosolo ili lili ndi CANopen NMT monga mikhalidwe muzotsatira za anthu:

const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe

START = “YAMBIRI” IMANI = “IMIZANI” PRE_OPERATIONAL = “PRE_OPERATIONAL” Bwezeraninso = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

Chigawochi chili ndi CANopen NMT imanena ngati zingwe muzotsatira za anthu:

const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe

AYIMIDWA = “KUYIMIRA” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “KUCHITA” KUYAMBIRA = “KUYAMBIRA” OSADZIWA = “OSADZIWA”

8.9 EtherCATBus struct

Chojambulachi chili ndi njira zoyankhulirana za EtherCAT muzotsatira za anthu:

Mtundu: doc 1.4.2 / NanoLib 1.3.0

30

8 Makalasi / ntchito zofotokozera

const std::string NETWORK_FIRMWARE_STATE_OP- Network state imatengedwa ngati firmware mode. Zovomerezeka

TION_NAME = "Network Firmware State"

misinkhu (zosasinthika = PRE_OPERATIONAL):

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

const std::chingwe DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Yatha mu ma milliseconds kuti mupeze loko yokha

TION_NAME = "Nthawi Yatha Yotseka Yogawana"

netiweki (osasintha = 500 ms).

const osasainidwa DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Yatha mumasekondi kuti mupeze loko yogawana

NAME = "Nthawi Yatha Yotsekera"

netiweki (osasintha = 250 ms).

const osasainidwa DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = Yatha mu milliseconds kuti muwerenge (zofikira

"Werengani Timeout"

= 700 ms).

const osasainidwa DEFAULT_READ_TIMEOUT = “700”

const std::chingwe WRITE_TIMEOUT_OPTION_NAME = Yatha mu ma milliseconds kuti mulembe ntchito (zofikira

“Write Timeout”

= 200 ms).

const osasainidwa DEFAULT_WRITE_TIMEOUT = “200”

const std::chingwe READ_WRITE_ATTEMPTS_OPTION_ Kuchulutsa kwambiri kuwerenga kapena kulemba (makhalidwe osakwanira ziro

NAME = "Kuyesa Kuwerenga/Kulemba"

kokha; zosasintha = 5).

const osasainidwa DEFAULT_READ_WRITE_ATTEMPTS = "5"

const std::chingwe CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "Sintha Mayesero a Network State"

Chiwerengero chochulukira choyesera kusintha maukonde (zopanda ziro zokha; zokhazikika = 10).

const osasainidwa DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME Imayatsa kapena kuyimitsa kukonza kwa PDO pa digito mu- /

= "PDO IO Yathandizidwa"

zotuluka (“Zowona” kapena “Zabodza” zokha; zosasintha = “Zowona”).

const std::chingwe DEFAULT_PDO_IO_ENABLED = "Zowona"

8.10 EtherCATState struct

Chigawochi chili ndi EtherCAT kapolo / network network monga zingwe muzotsatira zapagulu. Zindikirani: Nthawi yofikira pamagetsi ndi PRE_OPERATIONAL; NanoLib siingapereke boma lodalirika la "OPERATIONAL" pamakina osagwiritsa ntchito nthawi yeniyeni:

const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe

NONE = “PALIBE” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “KUGWIRITSA NTCHITO”

Mtundu: doc 1.4.2 / NanoLib 1.3.0

31

8 Makalasi / ntchito zofotokozera

8.11

Izi zimasunga zidziwitso zonse za Ixxat usb-to-can muzotsatira zapagulu:

const std::chingwe

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "nambala ya basi ya adapter ya ixxat"

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Kapangidwe kameneka kamakhala ndi nambala ya basi ya Ixxat usb-to-can muzotsatira zapagulu:

const std::chingwe const std::chingwe const std::chingwe const std::chingwe

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

8.13 pamwamba

Izi zimasunga zidziwitso zonse za Peak usb-to-can muzotsatira zapagulu:

const std::chingwe

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "nambala ya basi ya adapter"

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Kapangidwe kameneka kamakhala ndi nambala ya basi ya Peak usb-to-can muzotsatira za anthu:

const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe

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_USd_string_USd (PCAN_stBUSd) = 4to BUS_USB (PCAN_USBBUS5) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_8 = std::9USB_NUMBER (PCAN_USB_NUMBER) std::to_string (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS_string_12 = BUS_ST_13:13 (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS16)

8.15 DeviceHandle
Gululi likuyimira chogwirira chowongolera chipangizocho m'basi ndipo lili ndi ntchito zotsatirazi za mamembala.

DeviceHandle () DeviceHandle (uint32_t chogwirira)

Mtundu: doc 1.4.2 / NanoLib 1.3.0

32

8 Makalasi / ntchito zofotokozera

yofanana () Imadzifananitsa ndi chogwirizira cha chipangizo choperekedwa.
bool ndizofanana (DeviceHandle const other) const (uint32_t chogwirira)

toString () Imabwezeranso chiwonetsero cha chingwe cha chogwirira cha chipangizocho.
std::string toString () const

get () Kubweza chogwirizira chipangizo.
uint32_t get () const

8.16 ChidaId
Gwiritsani ntchito kalasi iyi (yosasinthika kuchokera ku chilengedwe) kuzindikira ndi kusiyanitsa zida za m'basi:

Chizindikiritso cha adapter ya Hardware

Chizindikiritso cha chipangizo

Kufotokozera

Tanthauzo la ID ya chipangizo / kufotokozera kumadalira pa basi. Za example, basi ya CAN ikhoza kugwiritsa ntchito nambala ya ID.

DeviceId () [1/3] Amapanga chinthu chatsopano cha ID.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, int int deviceId_, std::string const & description_)

Parameters busHardwareId_ deviceId_ description_

Chizindikiritso cha basi. Mlozera; kutengera basi (= ID ya CANopen node etc.). Kufotokozera (kutha kukhala kopanda kanthu); kutengera basi.

DeviceId () [2/3] Imapanga chinthu chatsopano cha ID chokhala ndi ma ID owonjezera.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, int int deviceId_, std::string const & description_ std::vector const & extraId_, std ::string const & extraStringId_)

Parameters busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Chizindikiritso cha basi. Mlozera; kutengera basi (= ID ya CANopen node etc.). Kufotokozera (kutha kukhala kopanda kanthu); kutengera basi. ID yowonjezera (ikhoza kukhala yopanda kanthu); tanthauzo zimatengera basi. ID yazingwe yowonjezera (ikhoza kukhala yopanda kanthu); tanthauzo zimatengera basi.

DeviceId () [3/3] Amapanga kopi ya chinthu cha ID cha chipangizo.
nlc ::DeviceId ::DeviceId (DeviceId const &)

Mtundu: doc 1.4.2 / NanoLib 1.3.0

33

8 Makalasi / ntchito zofotokozera

Parameters deviceId_

ID ya chipangizo kuti mukopereko.

ofanana () Poyerekeza zatsopano ndi zinthu zomwe zilipo kale.
bool nlc ::DeviceId ::equals (DeviceId const & zina) const

Kubwezeretsa boolean

getBusHardwareId () Imawerenga ID ya hardware ya basi.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Kubwezera BusHardwareId

getDescription () Amawerenga kufotokozera kwa chipangizocho (mwina chosagwiritsidwa ntchito).
std::string nlc::DeviceId::getDescription () const

Kubwezera chingwe

getDeviceId () Imawerenga ID ya chipangizocho (mwina chosagwiritsidwa ntchito).
osasainidwa int nlc::DeviceId::getDeviceId () const

Kubweza mawu osasainidwa

toString () Kubwezera chinthucho ngati chingwe.
std::string nlc::DeviceId::toString () const

Kubwezera chingwe

getExtraId () Imawerenga ID yowonjezera ya chipangizocho (itha kukhala yosagwiritsidwa ntchito).
const std::vector &getExtraId () const

Kubweza vekitala

Vector ya ma ID owonjezera (atha kukhala opanda kanthu); tanthauzo zimatengera basi.

getExtraStringId () Imawerenganso ID ya chingwe chowonjezera cha chipangizocho (chingakhale chosagwiritsidwa ntchito).
std ::string getExtraStringId () const

Mtundu: doc 1.4.2 / NanoLib 1.3.0

34

8 Makalasi / ntchito zofotokozera

Kubwezera chingwe

ID ya chingwe yowonjezera (ikhoza kukhala yopanda kanthu); tanthauzo zimatengera basi.

8.17 LogLevelConverter

Kalasi iyi imabweza mulingo wa chipika chanu ngati chingwe. static std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Kalasi iyi imakubwezerani laibulale yanu yeniyeni modulesetLoggingLevel () ngati chingwe.

static std::chingwe

toString (nlc::LogModule logModule)

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

8.19 ObjectDictionary
Gululi likuyimira dikishonale ya chinthu chowongolera ndipo ili ndi ntchito zotsatirazi: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Returns ResultDeviceHandle

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

getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t index)

Kubwezera ResultObjectEntry

Amadziwitsa za chinthu.

getXmlFileDzina () virtual ResultString getXmlFileDzina () const

Kubwezera ResultString

Imabwezeranso XML file dzina ngati chingwe.

readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Imabweza ResultInt
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const index)

Mtundu: doc 1.4.2 / NanoLib 1.3.0

35

8 Makalasi / ntchito zofotokozera
Ikubweza ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) Returns ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Returns writeBytes () pafupifupi ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Kubwezeretsanso Maulalo Ogwirizana ndi ResultVoid OdIndex
8.20 ObjectEntry
Gulu ili likuyimira chinthu cholembedwa mumtanthauzira mawu, ili ndi mawonekedwe otetezedwa ndi awa:
static nlc::ObjectSubEntry invalidObject
getName () Amawerenga dzina la chinthucho ngati chingwe.
pafupifupi std ::string getName () const
getPrivate () Imayang'ana ngati chinthucho ndi chachinsinsi.
virtual bool getPrivate () const
getIndex () Amawerenga adilesi ya chinthu cholozera.
pafupifupi uint16_t getIndex () const

Mtundu: doc 1.4.2 / NanoLib 1.3.0

36

8 Makalasi / ntchito zofotokozera

getDataType () Amawerengera mtundu wa data wa chinthucho.
pafupifupi nlc ::ObjectEntryDataType getDataType () const

getObjectCode () Amawerenga nambala yachinthu:

Null Defftype Defstruct Var Array Record

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

pafupifupi nlc ::ObjectCode getObjectCode () const

getObjectSaveable () Imafufuza ngati chinthucho ndi chosungika komanso ndi gulu (onani buku lazamalonda kuti mumve zambiri): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKLEABNTY_SAVE
pafupifupi nlc ::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Imawerengera kuchuluka kwa ma subindices omwe amathandizidwa ndi chinthu ichi.
pafupifupi uint8_t getMaxSubIndex () const

getSubEntry () pafupifupi nlc ::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Onaninso ObjectSubEntry.
8.21 ObjectSubEntry
Kalasi iyi ikuyimira kalembedwe kazinthu (subindex) ya mtanthauzira mawu ndipo ili ndi ntchito zotsatirazi:
getName () Amawerenga dzina la chinthucho ngati chingwe.
pafupifupi std ::string getName () const

getSubIndex () Amawerenga adilesi ya subindex.
pafupifupi uint8_t getSubIndex () const

Mtundu: doc 1.4.2 / NanoLib 1.3.0

37

8 Makalasi / ntchito zofotokozera

getDataType () Amawerengera mtundu wa data wa chinthucho.
pafupifupi nlc ::ObjectEntryDataType getDataType () const

getSdoAccess () Imayang'ana ngati subindex ikupezeka kudzera pa SDO:

ReadOnly

1

WriteOnly

2

WerenganiLembani

3

NoAccess

0

pafupifupi nlc ::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Imayang'ana ngati subindex ikupezeka/yotheka kudzera pa PDO:

Tx

1

Rx

2

TxRx

3

Ayi

0

pafupifupi nlc ::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Imayang'ana kutalika kwa subindex.
pafupifupi uint32_t getBitLength () const

getDefaultValueAsNumeric () Imawerengera mtengo wokhazikika wa subindex yamitundu yama data.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Amawerengera mtengo wokhazikika wa subindex yamitundu yama data.
virtual ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Amawerengera zokhazikika za subindex.
pafupifupi std::mapu getDefaultValues ​​() const

Mtundu: doc 1.4.2 / NanoLib 1.3.0

38

8 Makalasi / ntchito zofotokozera

readNumber () Amawerengera mtengo weniweni wa subindex.
virtual ResultInt readNumber () const

readString () Amawerengera mtengo weniweni wa subindex.
virtual ResultString readString () const

readBytes () Amawerengera mtengo weniweni wa subindex mu byte.
pafupifupi ResultArrayByte readBytes () const

kulembaNambala () Amalemba mtengo wa nambala mu subindex.
pafupifupi ResultVoid writeNumber (const int64_t value) const

writeBytes () Amalemba mtengo mu subindex mwa ma byte.
pafupifupi ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Gwiritsani ntchito kalasi iyi (yosasinthika kuchokera ku chilengedwe) kukulunga ndi kupeza zolemba zachilolezo / sub-indices. OD ya chipangizocho imakhala ndi mizere yofikira 65535 (0xFFFF) ndi mizati 255 (0xFF); ndi mipata pakati pa mizere yosiya. Onani muyezo wa CANopen ndi buku lanu lazinthu kuti mumve zambiri.
OdIndex () Amapanga chinthu chatsopano cha OdIndex.
nlc::OdIndex::OdIndex (uint16_t index, uint8_t subIndex)

Parameters index subindex

Kuchokera ku 0 mpaka 65535 (0xFFFF) kuphatikizapo. Kuchokera ku 0 mpaka 255 (0xFF) kuphatikizapo.

getIndex () Amawerenga index (kuyambira 0x0000 mpaka 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Kubwezera uint16_t

getSubindex () Imawerenga index yaing'ono (kuyambira 0x00 mpaka 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Mtundu: doc 1.4.2 / NanoLib 1.3.0

39

8 Makalasi / ntchito zofotokozera

Kubwezera uint8_t

toString () Imabwezeretsa index ndi subindex ngati chingwe. Chingwe chosasinthika 0xIIII:0xSS chimawerengedwa motere:

I = index kuchokera ku 0x0000 mpaka 0xFFFF

S = gawo laling'ono kuchokera ku 0x00 mpaka 0xFF

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

Kubwezera 0xIII: 0xSS

Chingwe choyimira

8.23 OdLibrary
Gwiritsani ntchito mawonekedwe a pulogalamuyi kuti mupange zitsanzo za kalasi ya ObjectDictionary kuchokera ku XML. Mwa assignObjectDictionary, mutha kumangirira chochitika chilichonse ku chipangizo china chifukwa cha chizindikiritso chopangidwa mwapadera. Zochitika za ObjectDictionary zomwe zimapangidwira zimasungidwa mu chinthu cha OdLibrary kuti chifikire ndi index. Kalasi ya ODLibrary imanyamula zinthu za ObjectDictionary kuchokera file kapena magulu, amawasunga, ndipo ali ndi ntchito zotsatirazi:

getObjectDictionaryCount () pafupifupi uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Returns ResultObjectDictionary

addObjectDictionaryFromFile ()
virtual ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileNjira)

Returns ResultObjectDictionary

addObjectDictionary ()
pafupifupi ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileNjira = std :: chingwe ())

Returns ResultObjectDictionary
8.24 OdTypesHelper
Kuphatikiza pa ntchito zotsatirazi za anthu onse, kalasi iyi ili ndi mitundu ya data yomwe mwamakonda. Chidziwitso: Kuti muwone mitundu yanu ya data, yang'anani gulu la enum ObjectEntryDataType mu od_types.hpp.

uintToObjectCode () Imasintha manambala osasainidwa kukhala ma code:

Null Deftype

0x00 0x05

Mtundu: doc 1.4.2 / NanoLib 1.3.0

40

8 Makalasi / ntchito zofotokozera

Defstruct Var Array Record

0x06 0x07 0x08 0x09

static ObjectCode uintToObjectCode (osayinidwa int objectCode)

isNumericDataType () Imadziwitsa ngati mtundu wa data ndi manambala kapena ayi.
static boool isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Imadziwitsa ngati chinthu chili cholozera kapena ayi.
static boool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Imadziwitsa ngati chinthu ndi mtundu wa tanthauzo kapena ayi.
static boool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Imadziwitsa ngati mtundu wa data ndi wovuta kapena ayi.
static boool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Imatembenuza nambala zosaina kukhala mtundu wa data wa OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Imasintha mtundu wa data wa OD kukhala chingwe.
static std :: chingwe objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Imasintha chingwe kukhala mtundu wa data wa OD ngati n'kotheka. Apo ayi, abweza UNKNOWN_DATATYPE.
static ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Mtundu: doc 1.4.2 / NanoLib 1.3.0

41

8 Makalasi / ntchito zofotokozera

objectEntryDataTypeBitLength () Imadziwitsa zamtundu wa data yolowa.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RESTfulBus mawonekedwe

Izi zili ndi njira zosinthira zoyankhulirana za RESTful mawonekedwe (pa Ethernet). Lili ndi izi:

const std ::chingwe const chosasainidwa yaitali const std ::chingwe const chosasainidwa chachitali const

CONNECT_TIMEOUT_OPTION_NAME = “RESTful Connect Timeout” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Restful Response Timeout” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “RESTful Response Timeout_TIMEOUTNFAREST_TIMEOUTRES = 

8.26 ProfinetDCP
Pansi pa Linux, kuyimba kumafunika luso la CAP_NET_ADMIN ndi CAP_NET_RAW. Kuti mutsegule: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Mu Windows, mawonekedwe a ProfinetDCP amagwiritsa ntchito WinPcap (yoyesedwa ndi mtundu 4.1.3) kapena Npcap (yoyesedwa ndi mitundu 1.60 ndi 1.30). Chifukwa chake imasaka laibulale ya wpcap.dll yomwe ili ndi mphamvu motere (Dziwani: palibe thandizo la Win10Pcap):
1. Nanolib.dll chikwatu 2. Chikwatu cha Windows SystemRoot%System32 3. Npcap install directory SystemRoot%System32Npcap 4. Njira ya chilengedwe
Gululi likuyimira mawonekedwe a Profinet DCP ndipo lili ndi ntchito zotsatirazi:

getScanTimeout () Imadziwitsa zanthawi yojambulira chipangizocho (chosakhazikika = 2000 ms).
pafupifupi uint32_t nlc ::ProfinetDCP::getScanTimeout () const

setScanTimeout () Imakhazikitsa nthawi yojambulira chipangizo (chosasinthika = 2000 ms).
pafupifupi void nlc ::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Imadziwitsa za kutha kwa nthawi yoyankhira pa chipangizo kuti mukhazikitse, kukonzanso ndi kuphethira (zosakhazikika = 1000 ms).
pafupifupi uint32_t nlc ::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Imadziwitsa za nthawi yoyankhira pa chipangizo kuti mukhazikitse, kukonzanso ndi kuphethira (zosakhazikika = 1000 ms).
virtual void nlc ::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Mtundu: doc 1.4.2 / NanoLib 1.3.0

42

8 Makalasi / ntchito zofotokozera

isServiceAvailable ()
Gwiritsani ntchito ntchitoyi kuti muwone kupezeka kwa ntchito ya Profinet DCP.
Kutsimikizika kwa adapter ya netiweki / kupezeka kwa Windows: WinPcap / Npcap kupezeka kwa Linux: CAP_NET_ADMIN / CAP_NET_RAW kuthekera
virtual ResultVoid nlc ::ProfinetDCP::isServiceIpezeka (consst BusHardwareId & busHardwareId)

Parameters BusHardwareId Ibwereranso zoona
zabodza

ID ya Hardware ya ntchito ya Profinet DCP kuti muwone. Utumiki ulipo. Ntchito sizikupezeka.

scanProfinetDevices () Gwiritsani ntchito ntchitoyi kuti muyang'ane mabasi a hardware kuti mukhale ndi zipangizo za Profinet.
virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)

Parameters BusHardwareId Returns ResultProfinetDevices

Imatchula fieldbus iliyonse kuti itsegule. Hardware ndi yotsegula.

setupProfinetDevice () Imakhazikitsa zokonda pazida izi:

Dzina lachipangizo

IP adilesi

Network mask

Chipata chofikira

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

resetProfinetDevice () Imayimitsa chipangizocho ndikuchibwezeretsanso ku zosasintha za fakitale.
virtual ResultVoid nlc :: resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Ikulamula chipangizo cha Profinet kuti chiyambe kuphethira LED yake ya Profinet.
virtual ResultVoid nlc ::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Gwiritsani ntchito ntchitoyi kuti muwone adilesi ya IP ya chipangizocho.
virtual ResultVoid validateProfinetDeviceIp (consst BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

Parameters BusHardwareId ProfinetDevice

Imatchula ID ya Hardware kuti muwone. Imatchula chipangizo cha Profinet kuti chitsimikizire.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

43

8 Makalasi / ntchito zofotokozera

Returns ResultVoid

8.27 ProfinetDevice struct

Chida cha Profinet chili ndi izi:

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

Adilesi ya MAC imaperekedwa ngati mndandanda wamtundu wa macAddress = {xx, xx, xx, xx, xx, xx}; pomwe adilesi ya IP, chigoba cha netiweki ndi zipata zonse zimatanthauzidwa ngati manambala akuluakulu a endian hex, monga:

IP adilesi: 192.168.0.2 Chigoba cha netiweki: 255.255.0.0 Chipata: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Maphunziro a zotsatira

Gwiritsani ntchito "zosankha" zobwezera m'makalasiwa kuti muwone ngati kuyimba foni kwachita bwino kapena ayi, komanso kupeza zifukwa zolepherera. Mukapambana, ntchito ya hasError () imabwerera zabodza. Ndi getResult (), mutha kuwerenga mtengo wotsatira monga mwa mtundu (ResultInt etc.). Ngati kuyimba sikulephera, mumawerenga chifukwa chake ndi GetError ().

Makhalidwe otetezedwa

chingwe NlcErrorCode uint32_t

errorString errorCode exErrorCode

Komanso, gulu ili lili ndi ntchito zotsatirazi:

hasError () Amawerengera kupambana kwa kuyimba.
bool nlc::Result::hasError () const

Kubwerera

zoona zabodza

Kuyimba kolephera. Gwiritsani ntchito GetError () kuti muwerenge mtengo wake. Kuitana bwino. Gwiritsani ntchito GetResult () kuti muwerenge mtengo wake.

getError () Imawerenga chifukwa chake ngati kuyimbako sikulephera.
const std::string nlc::Result::getError () const

Kubweza nsonga ya const

Mtundu: doc 1.4.2 / NanoLib 1.3.0

44

8 Makalasi / ntchito zofotokozera
zotsatira () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni:
Zotsatira (std::string const & errorString_)
Zotsatira (NlcErrorCode const & errCode, std::string const & errorString_)
Zotsatira (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Zotsatira (zotsatira zake ndi zotsatira)
getErrorCode () Werengani NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 Zotsatira zopanda pake
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibwereranso yopanda kanthu. Gululi limalandira cholowa cha ntchito zapagulu ndi zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
ResultVoid () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (Zotsatira Const & zotsatira)
8.28.2 Zotsatira
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibweza nambala. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imabweza zotsatira zonse ngati kuyimba kwa ntchito kunapambana.
int64_t getResult () const
Kubwezera int64_t

Mtundu: doc 1.4.2 / NanoLib 1.3.0

45

8 Makalasi / ntchito zofotokozera
ResultInt () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni:
Zotsatira (int64_t zotsatira_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (Zotsatira zake ndi zotsatira)
8.28.3 ZotsatiraString
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyi ibweza chingwe. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerenga zotsatira za chingwe ngati kuyimba kwantchito kwapambana.
const std ::chingwe nlc ::ResultString ::getResult () const
Kubweza nsonga ya const
ResultString () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira za chingwe:
ResultString (std::string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (Zotsatira zake ndi zotsatira)
8.28.4 ResultArrayByte
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyi ibweza gulu la byte. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerengera vekitala ya byte ngati kuyimba kwantchito kwapambana.
const std::vector nlc ::ResultArrayByte ::getResult () const
Imabwezeranso const vector

Mtundu: doc 1.4.2 / NanoLib 1.3.0

46

8 Makalasi / ntchito zofotokozera
ResultArrayByte () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni:
ResultArrayByte (std::vector const & zotsatira_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Zotsatira zake ndi zotsatira)
8.28.5 ResultArrayInt
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyi ibweza mndandanda wonse. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerengera vekitala yokwanira ngati kuyimba kwantchito kwapambana.
const std::vector nlc ::ResultArrayInt ::getResult () const
Imabwezeranso const vector
ResultArrayInt () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni:
ResultArrayInt (std::vector const & zotsatira_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Zotsatira za Const & zotsatira)
8.28.6 ZotsatiraBusHwIds
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibweza mndandanda wa ID za mabasi. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerenga vekitala ya basi-hardware-ID ngati kuyimba kwantchito kwapambana.
const std::vector nlc::ResultBusHwIds::getResult () const
Ma parameters amakhala vekitala

Mtundu: doc 1.4.2 / NanoLib 1.3.0

47

8 Makalasi / ntchito zofotokozera
ResultBusHwIds () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni za bus-hardware-ID-array:
ZotsatiraBusHwIds (std::vector const & zotsatira_)
ZotsatiraBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (Zotsatira zake ndi zotsatira)
8.28.7 ResultDeviceId
NanoLib imakutumizirani chitsanzo cha kalasiyi ngati ntchitoyi ibweza ID ya chipangizo. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerenga vekitala ya ID ya chipangizocho ngati kuyimba kwa foni kwachita bwino.
DeviceId nlc::ResultDeviceId::getResult () const
Imabwezeranso const vector
ResultDeviceId () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira za ID ya chipangizocho:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Zotsatira zake ndi zotsatira)
8.28.8 ResultDeviceIds
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyi ibweza mndandanda wa ID ya chipangizo. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imabweza vekitala ya ID ya chipangizo ngati kuyimba kwa foni kunapambana.
DeviceId nlc::ResultDeviceIds::getResult () const
Imabwezeranso const vector

Mtundu: doc 1.4.2 / NanoLib 1.3.0

48

8 Makalasi / ntchito zofotokozera
ResultDeviceIds () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni za ID-array:
ResultDeviceIds (std::vector const & zotsatira_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (Zotsatira zake ndi zotsatira)
8.28.9 ResultDeviceHandle
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibweza mtengo wa chogwirira cha chipangizo. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerengera chogwirizira cha chipangizo ngati kuyimba foni kwachita bwino.
DeviceHandle nlc ::ResultDeviceHandle::getResult () const
Kubwezeretsa DeviceHandle
ResultDeviceHandle () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira za chipangizochi:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (Zotsatira zake ndi zotsatira)
8.28.10 ResultObjectDictionary
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibweza zomwe zili mumtanthauzira mawu. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerenga vekitala ya ID ya chipangizocho ngati kuyimba kwa foni kwachita bwino.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Mtundu: doc 1.4.2 / NanoLib 1.3.0

49

8 Makalasi / ntchito zofotokozera

Kubwerera

const vector

ResultObjectDictionary () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira za mtanthauzira mawu:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)

ResultObjectDictionary (std::string const & errorString_)

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

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

ResultObjectDictionary (Result const & result)

8.28.11 ResultConnectionState
NanoLib imakutumizirani chitsanzo cha kalasiyi ngati ntchitoyi ibweza chidziwitso cha chipangizo cholumikizira. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerengera chogwirizira cha chipangizo ngati kuyimba foni kwachita bwino.
DeviceConnectionStateInfo nlc ::ResultConnectionState::getResult () const

Ikubweza DeviceConnectionStateInfo Cholumikizidwa / Cholumikizidwa / CholumikizidwaBootloader

ResultConnectionState () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni za mgwirizano:
ResultConnectionState (DeviceConnectionStateInfo const & result_)

ResultConnectionState (std::string const & errorString_)

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

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

ResultConnectionState (Zotsatira zake ndi zotsatira)

8.28.12 ResultObjectEntry
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibweza chinthu. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:

Mtundu: doc 1.4.2 / NanoLib 1.3.0

50

8 Makalasi / ntchito zofotokozera
getResult () Imabweza vekitala ya ID ya chipangizo ngati kuyimba kwa foni kunapambana.
nlc::ObjectEntry const& nlc::ResultObjectKulowa::getResult () const
Kubweza const ObjectEntry
ResultObjectEntry () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira zenizeni zolowera:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (Zotsatira zake ndi zotsatira)
8.28.13 ResultObjectSubEntry
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibweza chinthu cholowera. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imabweza vekitala ya ID ya chipangizo ngati kuyimba kwa foni kunapambana.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Kubweza const ObjectSubEntry
ResultObjectSubEntry () Ntchito zotsatirazi zimathandizira kufotokozera zotsatira za chinthu chenichenicho:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (Result const & result)
8.28.14 ResultProfinetDevices
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibweza chipangizo cha Profinet. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:

Mtundu: doc 1.4.2 / NanoLib 1.3.0

51

8 Makalasi / ntchito zofotokozera

getResult () Imawerenga vekitala ya chipangizo cha Profinet ngati kuyimba kwantchito kwapambana.
const std::vector & getResult () const

ResultProfinetDevices () Ntchito zotsatirazi zimathandizira kufotokozera zida za Profinet.
ResultProfinetDevices (consst std::vector & profinetDevices)
ResultProfinetDevices (const Result & zotsatira)
ResultProfinetDevices (consst std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ZotsatiraampleDataArray
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibwerera ngatiampndi data array. Gululi limalandira cholowa cha ntchito zapagulu / zotetezedwa kuchokera kumagulu azotsatira ndipo lili ndi ntchito zotsatirazi:
getResult () Imawerenga mndandanda wazinthu ngati kuyimba kwa foni kunapambana.
const std::vector <SampleData> & getResult () const

ZotsatiraampleDataArray () Ntchito zotsatirazi zimathandizira kufotokozera zida za Profinet.
ZotsatiraampleDataArray (const std::vector <SampleData> & dataArray)

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

ZotsatiraampleDataArray (const ResultSampleDataArray & zina)

ZotsatiraampleDataArray (const Zotsatira & zotsatira)

8.28.16 ZotsatiraamplerState
NanoLib imakutumizirani chitsanzo cha kalasi iyi ngati ntchitoyo ibwerera ngatiampler state.Gululi limalandira cholowa cha ntchito za anthu / zotetezedwa kuchokera mugulu lazotsatira ndipo lili ndi ntchito zotsatirazi:

getResult () Amawerenga sampler state vector ngati kuyimba foni kwachita bwino.
SamplerState getResult () const

Kubwerera SamplerState>

Zosasinthidwa / Zosasinthika / Zokonzeka / Kuthamanga / Zatha / Zalephera / Zathetsedwa

Mtundu: doc 1.4.2 / NanoLib 1.3.0

52

8 Makalasi / ntchito zofotokozera

ZotsatiraamplerState () Ntchito zotsatirazi zimathandizira kufotokozera ma sampler state.
ZotsatiraamplerState (const SampLerState state)

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

ZotsatiraamplerState (const ResultSamplerState & zina)

ZotsatiraamplerState (const Zotsatira & zotsatira)

8.29 NlcErrorCode

Ngati china chake sichikuyenda bwino, makalasi otsatila amafotokoza chimodzi mwamakhodi olakwika omwe alembedwa m'mawerengedwewa.

Khodi yolakwika Success GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesPalibe ODIZosavomerezekaKufikira ku ODTypeKugwiritsa Ntchito Kosiyanako Kutayidwa Komwe Kugwiritsiridwa Ntchito Kosavomerezeka
Zotsutsana Zosavomerezeka Zokanika ZokanikizidwaSizinapezeke Zopezeka OutOfMemory TimeOutError

C: Gulu D: Kufotokozera R: Chifukwa C: Palibe. D: Palibe cholakwika. R: Ntchitoyi idamalizidwa bwino.
C: Zosadziwika. D: Cholakwika chosadziwika. R: Kulephera komwe sikukugwirizana ndi gulu lina.
C: basi. D: Basi ya Hardware palibe. R: Basi kulibe, yoduka kapena kuwonongeka.
C: Kuyankhulana. D: Kulankhulana kosadalirika. R: Zosayembekezereka, CRC yolakwika, mawonekedwe kapena zolakwika zaparity, ndi zina.
C: Protocol. D: Zolakwika za Protocol. R: Yankho pambuyo pa njira ya protocol yosagwiritsidwa ntchito, lipoti la chipangizo chosagwirizana ndi protocol, zolakwika mu protocol (titi, SDO segment sync bit), ndi zina zotero. Segment sync bit), etc. R: Protocol yosagwirizana (zosankha) kapena zolakwika mu protocol (titi, SDO segment sync bit), etc.
C: Mtanthauzira mawu. D: Adilesi ya OD palibe. R: Palibe adilesi yotere mumtanthauzira mawu.
C: Mtanthauzira mawu. D: Kufikira ku adilesi ya OD ndikosayenera. R: Yesani kulemba kuwerenga kokha, kapena kuwerenga kuchokera ku adilesi yolemba-yokha.
C: Mtanthauzira mawu. D: Lembani zosagwirizana. R: Mtengo wosatembenuzidwa kukhala mtundu wina, tinene, poyesa kuchitira chingwe ngati nambala.
C: Kugwiritsa ntchito. D: Njira yathetsedwa. R: Njira yodulidwa ndi pempho lofunsira. Imabwerera kokha pakasokonezedwa ndi ntchito yoyimba foni, tinene, kuchokera pakuwunika kwa basi.
C: Wamba. D: Njira yosachiritsika. R: Palibe chithandizo cha basi / chipangizo.
C: Wamba. D: Kuchita zolakwika muzochitika zamakono, kapena zolakwika ndi mkangano wamakono. R: Kuyesa kulumikizanso mabasi / zida zolumikizidwa kale. Kuyesa kochotsa kwa omwe alumikizidwa kale. Kuyesa kwa bootloader mu firmware mode kapena mosemphanitsa.
C: Wamba. D: Mkangano ndi wolakwika. R: Lingaliro lolakwika kapena syntax.
C: Wamba. D: Kufikira kwaletsedwa. R: Kupanda ufulu kapena kuthekera kochita ntchito yomwe wapemphedwa.
C: Wamba. D: Zomwe zatchulidwa sizinapezeke. R: Mabasi a Hardware, protocol, chipangizo, adilesi ya OD pa chipangizo, kapena file sanapezeke.
C: Wamba. D: Zomwe zatchulidwa sizinapezeke. R: kutanganidwa, kulibe, kudulidwa kapena kulephera.
C: Wamba. D: Kusakumbukira bwino. R: Kukumbukira pang'ono kwambiri kuti musagwiritse ntchito lamuloli.
C: Wamba. D: Ntchito yatha. R: Bwererani pambuyo poti nthawi yatha. Nthawi yatha ikhoza kukhala nthawi yoyankha pazida, nthawi yogawana kapena kugwiritsa ntchito zida zapadera, kapena nthawi yosinthira basi / chipangizocho kuti chikhale choyenera.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

53

8 Makalasi / ntchito zofotokozera

8.30 NlcCallback
Gulu la makolo ili la ma callbacks lili ndi zotsatirazi: callback ()
Virtual ResultVoid callback ()

Kubwerera

ZotsatiraVoid

8.31 NlcDataTransferCallback
Gwiritsani ntchito kalasi yoyimbirayi posamutsa deta (kusintha kwa firmware, kukweza kwa NanoJ etc.). 1. Pakukwezera fimuweya: Tanthauzirani "gulu limodzi" lokulitsa iyi ndi njira yoyimba foni
kukhazikitsa. 2. Gwiritsani ntchito zochitika za "co-class" mu NanoLibAccessor.uploadFirmware () mafoni. Gulu lalikulu palokha lili ndi ntchito zotsatirazi:

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

Kubwerera

ZotsatiraVoid

8.32 NlcScanBusCallback
Gwiritsani ntchito kalasi yoyimbayimbayi pakusanthula mabasi. 1. Tanthauzirani "co-class" kukulitsa iyi ndi kukhazikitsa njira yobwereza. 2. Gwiritsani ntchito zochitika za "co-class" mu NanoLibAccessor.scanDevices () mafoni. Gulu lalikulu palokha lili ndi ntchito yotsatira ya anthu onse.

ndiyimbileninso ()
pafupifupi ResultVoid callback (nlc::BusScanInfo info, std::vector const & devicesFound, int32_t data)

Returns ResultVoid
8.33 NlcLoggingCallback
Gwiritsani ntchito kalasi yoyimbirayi polowetsa ma callbacks. +
setLoggingCallback (…).
kuyimbanso kopanda kanthu (consst std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

8.34 SamplerInterface
Gwiritsani ntchito kalasi iyi kukonza, kuyamba ndi kuyimitsa sampler, kapena kupeza sampadatsogolera deta ndikutenga ngatiampudindo wa ler kapena cholakwika chomaliza. Gululi lili ndi ntchito zotsatirazi za mamembala.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

54

8 Makalasi / ntchito zofotokozera

configure () Configures asamplero.
pafupifupi ResultVoid nlc::SamplerInterface :: sinthani (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Parameters [mu] deviceHandle [mu] samplerConfiguration
Returns ResultVoid

Imatchula chipangizo chomwe mungakonzere sampler kwa. Imatchula makonda a masinthidwe. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

getData () Imapeza sampanatsogolera deta.
Zotsatira zenizeniampleDataArray nlc::SamplerInterface ::getData (const DeviceHandle deviceHandle)

Parameters [mu] deviceHandle Returns ResultSampleDataArray

Imatchula chipangizo chomwe mungatengere deta.
Amapereka sampled data, yomwe ikhoza kukhala yopanda kanthu ngati samplerNotify imagwira ntchito poyambira.

getLastError () Imapeza ngatiampcholakwika chomaliza cha ler.
pafupifupi ResultVoid nlc::SamplerInterface ::getLastError (const DeviceHandle deviceHandle)

Returns ResultVoid

Zimatsimikizira kuti ntchito yopanda kanthu yatha.

getState () Amakhala ngatiampudindo wa ler.
Zotsatira zenizeniamplerState nlc::SamplerInterface ::getState (const DeviceHandle deviceHandle)

Kubweza ZotsatiraamplerState

Amapereka sampler state.

kuyamba () Zimayamba ngatiamplero.
pafupifupi ResultVoid nlc::SamplerInterface :: kuyamba (const DeviceHandle deviceHandle, SamplerNotify*samplerNotify, int64_t applicationData)

Parameters [mu] deviceHandle [mu] SamplerNotify [mu] applicationData
Returns ResultVoid

Imatchula chipangizo choyambira sampler kwa.
Imatchulanso zomwe mukufuna kunena (zitha kukhala nullptr).
Njira: Kupititsa patsogolo deta yokhudzana ndi kugwiritsa ntchito (mtundu wa 8-bit wamtengo wapatali / ID / index ya chipangizo, kapena nthawi, cholozera chosinthira / ntchito, ndi zina) ku s.amplerNotify.
Zimatsimikizira kuti ntchito yopanda kanthu yatha.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

55

8 Makalasi / ntchito zofotokozera

imani () Ima ngatiamplero.
pafupifupi ResultVoid nlc::SamplerInterface :: stop (const DeviceHandle deviceHandle)

Parameters [mu] deviceHandle Returns ResultVoid

Imatchula chipangizo choyimitsa sampler kwa. Zimatsimikizira kuti ntchito yopanda kanthu yatha.

8.35 SamplerConfiguration struct

Chigawo ichi chili ndi data sampLer's kasinthidwe options (static kapena ayi).

Makhalidwe apagulu

std::vector trackedAddress

Mpaka 12 OD ma adilesi kukhala sampLed.

mawu32_t

Baibulo

Mtundu wa kapangidwe.

mawu32_t

durationMilliseconds

Sampkutalika kwa ms, kuyambira 1 mpaka 65535

mawu16_t

periodMilliseconds

Sampnthawi yayitali mu ms.

mawu16_t

nambalaOfSamples

Sampndalama zochepa.

mawu16_t

preTriggerNumberOfSamples

Sampndalama zochepa zoyambitsa.

bulu

kugwiritsa ntchitoSoftwareImplementation

Gwiritsani ntchito mapulogalamu.

bulu

pogwiritsa ntchitoNewFWSamplerImplementation Gwiritsani ntchito FW kukhazikitsa kwa zida zomwe zili ndi a

Mtundu wa FW v24xx kapena watsopano.

SamplerMode

mode

Yachibadwa, yobwerezabwereza kapena yopitilira sampchin.

SamplerTriggerCondition triggerCondition

Zoyambitsa zoyambitsa: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = 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_MULTIx0C, trigger = 1xXNUMXB TC_MULTIx_EDGE

SamplerTrigger

SamplerTrigger

Choyambitsa choyambira ngatiampler?

Zomwe zili pagulu
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Gwiritsani ntchito kalasi iyi kuti mutsegule sampler zidziwitso mukayamba ngatiamplero. Gululi lili ndi ntchito zotsatirazi za anthu onse.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

56

8 Makalasi / ntchito zofotokozera

dziwitsa ()
Amapereka chidziwitso.
pafupifupi opanda nlc::SamplerNotify :: notify (consst ResultVoid & lastError, const Sampdziko samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Ma parameters [mu] lastError [mu] samplerState
[mu] sampleDatas [mu] applicationData

Amanena kuti cholakwika chomaliza chinachitika pamene sampling. Malipoti a sampler pa nthawi yodziwitsa: Zosasinthika / Zosasinthika / Zokonzeka / Kuthamanga / Zatha / Zalephera / Zachotsedwa. Malipoti a sampkutsogolera-data gulu. Imachitira lipoti deta yachindunji.

8.37 SampleData struct

Chigawo ichi chili ndi sampanatsogolera deta.

uin64_t iterationNumber

Zimayambira pa 0 ndipo zimangowonjezera kubwerezabwereza.

std::vector <SampledValues> Muli mndandanda wa sampanatsogolera makhalidwe.

8.38 SampledValue struct

Chigawo ichi chili ndi sampanatsogolera makhalidwe.

in64_t mtengo uin64_t CollectTimeMsec

Ili ndi mtengo wa adilesi ya OD yotsatiridwa.
Ili ndi nthawi yosonkhanitsira mu milliseconds, yokhudzana ndi sampndi chiyambi.

8.39 SamplerTrigger struct

Chigawo ichi chili ndi zoyambitsa zoyambitsa za samplero.

SamplerTriggerCondition chikhalidwe
Mtengo wa OdIndex uin32_t

Choyambitsa:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0xG14TER = 0x15 TC_0 = TC_GREATER_OR_EQUAL = 16x0 TC_LESS = 17x0 TC_LESS_OR_EQUAL = 18x0 TC_EQUAL = 19x0 TC_NOT_EQUAL = 1x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE =
OdIndex yoyambitsa (adilesi).
Mtengo wa chikhalidwe kapena nambala pang'ono (kuyambira pa bit zero).

8.40 Mtundu wa seri

Pezani apa njira zanu zoyankhulirana mosalekeza ndi zotsatirazi zapagulu:

const std :: chingwe const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = "seerial baud rate" baudRate =SerialBaudRate struct

Mtundu: doc 1.4.2 / NanoLib 1.3.0

57

8 Makalasi / ntchito zofotokozera

const std :: chingwe const SerialParity

PARITY_OPTIONS_NAME = "serial parity" parity = SerialParity struct

8.41 SeriBaudRate struct

Pezani apa kuchuluka kwa ma serial communication baud ndi zotsatirazi zapagulu:

const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe

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

8.42 Mtundu wa SerialParity

Pezani apa zosankha zanu zotsatizana ndi zotsatirazi:

const std::chingwe const std::chingwe const std::chingwe const std::chingwe const std::chingwe

PALIBE = “palibe” ODD = “osamvetseka” NGAKHALE = “ngakhale” MZIMU = “chizindikiro” SPACE = “danga”

Mtundu: doc 1.4.2 / NanoLib 1.3.0

58

9 Ziphatso

9 Ziphatso

NanoLib API yolumikizira mitu ndi example source code ali ndi chilolezo ndi Nanotec Electronic GmbH & Co. KG pansi pa Creative Commons Attribution 3.0 Unported License (CC BY). Zigawo zamalaibulale zoperekedwa mumtundu wa binary (ma library olumikizirana apakati ndi fieldbus) zili ndi chilolezo pansi pa Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).

Creative Commons
Chidule chotsatirachi chowerengeka ndi anthu sichingalowe m'malo mwachilolezocho. Mutha kupeza layisensiyo pa creativecommons.org ndikulumikizidwa pansipa. Ndinu omasuka ku:

CC PA 3.0
Gawani: Onani kumanja. Adapt: ​​Remix, sinthani, ndi kumanga pa
zinthu pazifukwa zilizonse, ngakhale zamalonda.

CC BY-ND 4.0
Gawani: Koperani ndikugawanso zinthuzo mwanjira iliyonse.

Wopereka layisensi sangachotse ufulu womwe uli pamwambapa bola mumvera ziphaso zotsatirazi:

CC PA 3.0

CC BY-ND 4.0

Attribution: Muyenera kupereka ngongole yoyenera, Attribution: Onani kumanzere. Koma: Perekani ulalo kwa izi

perekani ulalo wa chilolezocho, ndikuwonetsa ngati

layisensi ina.

kusintha kunapangidwa. Mutha kuchita mwanjira iliyonse

Palibe zotumphukira: Ngati muphatikizanso, kusintha, kapena kumanga

mwanzeru, koma osati mwanjira ina iliyonse

pa zinthu, simungathe kugawa

amatsimikizira kuti wopereka layisensi amakuvomerezani kapena kugwiritsa ntchito kwanu.

zida zosinthidwa.

Palibe zoletsa zina: Simungagwiritse ntchito Palibe zoletsa zina: Onani kumanzere. mawu ovomerezeka kapena njira zamakono zomwe mwalamulo

kuletsa ena kuchita chilichonse chopereka chilolezo

zilolezo.

Zindikirani: Simukuyenera kutsatira chilolezo chazinthu zomwe zili pagulu la anthu kapena komwe kugwiritsa ntchito kwanu kumaloledwa ndi zina kapena malire.
Chidziwitso: Palibe zitsimikizo zomwe zaperekedwa. Layisensi ikhoza kukupatsirani zilolezo zonse zomwe mukufuna kugwiritsa ntchito. Za example, maufulu ena monga kulengeza, zachinsinsi, kapena ufulu wamakhalidwe angachepetse momwe mumagwiritsira ntchito zinthuzo.

Mtundu: doc 1.4.2 / NanoLib 1.3.0

59

Imprint, kukhudzana, mitundu

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Maumwini onse ndi otetezedwa. Kulakwitsa, kulephera, luso kapena kusintha kwazinthu kotheka popanda kuzindikira. Mitundu/zinthu zomwe zatchulidwa ndi zizindikiro za eni ake ndipo ziyenera kuchitidwa motero. Mtundu woyambirira.

Chikalata 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

+ Adawonjezedwa> Zasinthidwa # Zokhazikika> Kuyambiranso ntchito zomwe zidaperekedwa kaleamples.
+ NanoLib Modbus: Njira yowonjezera yokhoma ya Modbus VCP. # NanoLib Core: cheke chokhazikika cholumikizira. Khodi ya # NanoLib: Kuchotsa zolozera za mabasi owongolera.
+ NanoLib-CANopen: Chithandizo cha Peak PCAN-USB adaputala (IPEH-002021/002022).
> NanoLib Core: Mawonekedwe osintha mitengo yodula mitengo (LogLevel yasinthidwa ndi LogModule). # NanoLib Logger: Kulekanitsa pakati pa maziko ndi ma module kwakonzedwa. # Modbus TCP: Kusintha kwa firmware kwa FW4. # EtherCAT: Kukhazikitsa pulogalamu ya NanoJ ya Core5. # EtherCAT: Kusintha kwa firmware kwa Core5.
# Modbus RTU: Nkhani zokhazikika zanthawi ndi mitengo yotsika ya baud panthawi yakusintha kwa firmware. # RESTful: Kukhazikitsa pulogalamu ya NanoJ yokhazikika.
# NanoLib Module Sampler: Kuwerenga kolondola kwa sampanatsogolera boolean makhalidwe.
+ Java 11 yothandizira pamapulatifomu onse. + Python 3.11 / 3.12 kuthandizira pamapulatifomu onse. + Mawonekedwe atsopano odula mitengo (onani chitsanzoampizi). + Ma callback amamira a NanoLib Logger. > Sinthani logger kukhala mtundu 1.12.0. > NanoLib Modules Sampler: Kuthandizira tsopano kwa Nanotec controller firmware v24xx. > NanoLib Modules Sampler: Kusintha kwamapangidwe omwe amagwiritsidwa ntchito pa sampler kasinthidwe. > NanoLib Modules Sampler: Njira yopitilira ndi yofanana ndi yopanda malire; chikhalidwe choyambitsa chimafufuzidwa kamodzi; chiwerengero cha samples ayenera kukhala 0. > NanoLib Modules Sampler: Chofunika kwambiri pa ulusi womwe umasonkhanitsa deta mu firmware mode. > NanoLib Modules Sampler: Algorithm yolembedwanso kuti muwone kusintha pakati pa Ready & Running state. # NanoLib Core: Palibenso Kuphwanya Kufikira (0xC0000005) potseka zida ziwiri kapena kuposerapo pogwiritsa ntchito zida zamabasi zomwezo. # NanoLib Core: Palibenso Zolakwa Zagawo pakuyika adaputala ya PEAK pansi pa Linux. # NanoLib Module Sampler: Zolondola sampKuwerengera kwa ma led-values ​​mu firmware mode. # NanoLib Module Sampler: Kusintha kolondola kwa 502X:04. # NanoLib Module Sampler: Kusakaniza koyenera kwa ma buffers ndi ma tchanelo. # NanoLib-Canopen: Kuchulukitsa kwa CAN nthawi yokhazikika komanso kusanthula kolondola pamabaudrates otsika. # NanoLib-Modbus: VCP kuzindikira algorithm pazida zapadera (USB-DA-IO).
+ Chithandizo cha EtherCAT.
+ Zindikirani pazokonda za polojekiti ya VS mu Konzani projekiti yanu.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + PezaniXmlFileDzina (). + const std::chingwe & xmlFileNjira mu addObjectDictionary (). + GetSamplerInterface ().

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

Mtundu: doc 1.4.2 / NanoLib 1.3.0

60

10 Kusindikiza, kukhudzana, mitundu

Chikalata
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

+ Yowonjezedwa> Yasinthidwa # Yokhazikika + rebootDevice (). + Khodi yolakwika ResourceUnailable for getDeviceBooloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, ndi ~Uid. > firmwareUploadFromFile tsopano uploadFirmwareFromFile (). > firmwareUpload () tsopano uploadFirmware (). > bootloaderUploadFromFile () tsopano uploadBootloaderFromFile (). > bootloaderUpload () tsopano uploadBooloader (). > bootloaderFirmwareUploadFromFile () kukwezaBooloaderFirmwareFromFile (). > bootloaderFirmwareUpload () tsopano uploadBooloaderFirmware (). > nanojUploadFromFile () tsopano kwezaniNanoJFromFile (). > nanojUpload () tsopano uploadNanoJ (). > objectDictionaryLibrary () tsopano getObjectDictionaryLibrary (). > String_String_Map tsopano StringStringMap. > NanoLib-Common: Kuthamanga mwachangu kwa listAvailableBusHardware ndi OpenBusHardwareWithProtocol yokhala ndi adapter ya Ixxat. > NanoLib-CANopen: zosintha zokhazikika zomwe zimagwiritsidwa ntchito (1000k baudrate, Ixxat basi nambala 0) ngati zosankha zamabasi zilibe kanthu. > NanoLib-RESTful: chilolezo cha admin chatha kuyankhulana ndi Ethernet bootloaders pansi pa Windows ngati npcap / winpcap driver alipo. # NanoLib-CANopen: zida zamabasi tsopano zimatsegula mosasunthika ndi zosankha zopanda kanthu. # NanoLib-Common: openBusHardwareWithProtocol () yopanda kukumbukira kutayikira tsopano.
+ Chithandizo cha Linux ARM64. + Kusungirako kwakukulu kwa USB / REST / Profinet DCP thandizo. + fufuzaniConnectionState (). + getDeviceBooloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (m'malo mwa NanotecExceptions). + NanoLib Modbus: VCP / USB hub yolumikizidwa ku USB. > Kusanthula kwa Modbus TCP kumabweretsa zotsatira. < Modbus TCP kulumikizana latency kumakhalabe kosasintha.
+ More ObjectEntryDataType (zovuta komanso profile- zenizeni). + IOError kubwerera ngati connectDevice () ndi scanDevices () simukupeza. + 100 ms yokha nthawi yomaliza ya CanOpen / Modbus.
+ Chithandizo cha Modbus (kuphatikiza USB Hub kudzera pa VCP). + Mutu Kupanga pulojekiti yanu ya Linux. + extraHardwareSpecifier to BusHardwareId (). + extraId_ ndi extraStringId_ ku DeviceId ().
+ setBusState (). + getDeviceBooloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Zokonza ma bug.
Kope.

Zogulitsa
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Mtundu: doc 1.4.2 / NanoLib 1.3.0

61

Zolemba / Zothandizira

Nanotic NanoLib C++ Programming [pdf] Buku Logwiritsa Ntchito
NanoLib C Programming, C Programming, Programming

Maumboni

Siyani ndemanga

Imelo yanu sisindikizidwa. Minda yofunikira yalembedwa *