Nanotic-LOGO

Nanotic NanoLib C++ Shirye-shiryen

Nanotic-NanoLib-C++-Programming-PRODUCT

Bayanin samfur

Ƙayyadaddun bayanai

  • Sunan samfur: NanoLib
  • Shirye-shirye Harshe: C++
  • Samfurin Shafin: 1.3.0
  • Sigar Jagorar Mai Amfani: 1.4.2

An tsara ɗakin karatu na NanoLib don software mai sarrafa shirye-shirye don masu sarrafa Nanotec. Yana ba da ƙirar mai amfani, mahimman ayyuka, da ɗakunan karatu na sadarwa don sauƙaƙe haɓaka aikace-aikacen sarrafawa.

Umarnin Amfani da samfur

  • Kafin Ka Fara:
    • Tabbatar cewa tsarin ku ya cika buƙatun kayan masarufi da aka ƙayyade a cikin littafin. Masu sauraro da aka yi niyya don wannan samfurin sun haɗa da masu haɓakawa waɗanda ke neman ƙirƙirar software mai sarrafawa don masu sarrafa Nanotec.
  • Farawa:
    • Don fara amfani da NanoLib, bi waɗannan matakan:
    • Fara da shigo da NanoLib cikin aikin ku.
    • Sanya saitunan aikin ku kamar yadda ake buƙata.
    • Gina aikin ku don haɗa ayyukan NanoLib.
  • Ƙirƙirar Ayyuka:
    • Kuna iya ƙirƙirar ayyuka don yanayin Windows da Linux duka. Bi takamaiman umarnin da aka bayar a cikin jagorar kowane dandamali.
  • Maganar Azuzuwa / Ayyuka:
    • Koma zuwa littafin mai amfani don cikakken jagora akan azuzuwan da ayyuka da ake samu a NanoLib don software mai sarrafa shirye-shirye.

FAQs

  • Tambaya: Menene manufar NanoLib?
    • A: NanoLib ɗakin karatu ne don software mai sarrafa shirye-shirye don masu sarrafa Nanotec, yana ba da mahimman ayyuka da damar sadarwa.
  • Tambaya: Ta yaya zan iya farawa da NanoLib?
    • A: Fara da shigo da NanoLib cikin aikinku, daidaita saitunan aikin, da gina aikin ku don amfani da fasalin NanoLib.

"'

Manual mai amfani NanoLib
C++

Ingantacciyar sigar samfur 1.3.0

Shafin Mai amfani: 1.4.2

Daftarin manufa da yarjejeniya

Wannan daftarin aiki yana bayyana saitin da amfani da ɗakin karatu na NanoLib kuma yana ƙunshe da tunani kan duk azuzuwan da ayyuka don tsara software na sarrafa ku don masu kula da Nanotec. Muna amfani da nau'ikan nau'ikan nau'ikan nau'ikan iri:
Rubutun da aka lakafta yana nuna alamar giciye ko haɗin kai.
Example 1: Don ainihin umarni akan NanoLibAccessor, duba Saita. ExampMataki na 2: Shigar da direban Ixxat kuma haɗa adaftar CAN-zuwa-USB. Rubutun rubutun yana nufin: Wannan abu ne mai suna, hanyar menu / abu, shafi / file suna ko (idan ya cancanta) furcin harshen waje.
Example 1: Zabi File > Sabo > Takardun Blank. Bude kayan aiki shafin kuma zaɓi Sharhi. Example 2: Wannan takarda ta raba masu amfani (= Nutzer; usuario; utente; utilisateur; utente da dai sauransu) daga:
- Mai amfani na ɓangare na uku (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente da dai sauransu). – Ƙarshen mai amfani (= Endnutzer; usuario final; utente final; utilisateur final; utente finale da dai sauransu).
Courier yana yiwa lamba tubalan ko umarnin shirye-shirye. Example 1: Ta Bash, kira sudo sanya shigar don kwafi abubuwan da aka raba; sannan kira ldconfig. ExampLe 2: Yi amfani da aikin NanoLibAccessor mai zuwa don canza matakin shiga a NanoLib:
// ***** C++ bambancin *****
m setLoggingLevel(LogLevel matakin);
Rubutun ƙaƙƙarfa yana jaddada kalmomi ɗaya masu mahimmanci. Madadin haka, alamun faɗakarwa da aka ƙulla suna jaddada mahimmanci (!) mahimmanci.
Example 1: Kare kanka, wasu da kayan aikinka. Bi bayanan lafiyar mu gabaɗaya waɗanda galibi suka dace da duk samfuran Nanotec.
Example 2: Don kariyar ku, kuma bi takamaiman bayanin kula na aminci waɗanda suka shafi wannan takamaiman samfurin. Fi'ili don danna haɗin gwiwa yana nufin danna ta maɓallin linzamin kwamfuta na biyu don buɗe menu na mahallin da sauransu.
Example 1: Co-danna kan file, zaɓi Sake suna, kuma sake suna file. Example 2: Don duba kaddarorin, danna-dama kan file kuma zaɓi Kayan.

Shafin: doc 1.4.2 / NanoLib 1.3.0

4

Kafin ka fara

Kafin ka fara amfani da NanoLib, shirya PC ɗinka kuma sanar da kanka game da amfanin da aka yi niyya da iyakokin laburare.
2.1 Tsarin da buƙatun hardware

Nanotic-NanoLib-C++-Shirye-shiryen-FIG- (1)
SANARWA Rashin aiki daga aiki 32-bit ko tsarin dakatarwa! Yi amfani, da kuma kiyayewa akai-akai, tsarin 64-bit. Kula da dakatarwar OEM da ~ umarni.

NanoLib 1.3.0 yana goyan bayan duk samfuran Nanotec tare da CANopen, Modbus RTU (har ila yau USB akan tashar com tashar jiragen ruwa), Modbus TCP, EtherCat, da Profinet. Don tsofaffi NanoLibs: Dubi canji a cikin tambarin. A hadarin ku kawai: amfani da tsarin gado. Lura: Bi ingantattun umarnin OEM don saita latency a matsayin ƙasa sosai idan kuna fuskantar matsaloli yayin amfani da adaftar USB na tushen FTDI.

Abubuwan buƙatun (wajibi na tsarin 64-bit)
Windows 10 ko 11 w/ Visual Studio 2019 version 16.8 ko kuma daga baya da Windows SDK 10.0.20348.0 (version 2104) ko kuma daga baya.
C ++ sake rarrabawa 2017 ko mafi girma CANopen: Ixxat VCI ko PCAN direba na asali (na zaɓi) EtherCat module / Profinet DCP: Npcap ko WinPcap RESTful module: Npcap, WinPcap, ko izini izini zuwa
sadarwa w/ Ethernet bootloaders
Linux w/ Ubuntu 20.04 LTS zuwa 24 (duk x64 da arm64)
Kanun kernel da fakitin libpopt-dev Profinet DCP: CAP_NET_ADMIN da CAP_NET_RAW abili-
dangantaka CAN buɗe: Ixxat ECI direba ko Peak PCAN-USB adaftar EtherCat: CAP_NET_ADMIN, CAP_NET_RAW da
Iyawar CAP_SYS_NICE RESTful: CAP_NET_ADMIN ikon sadarwa tare da Eth-
ernet bootloaders (kuma shawarar: CAP_NET_RAW)

Harshe, adaftar bas, igiyoyi
C++ GCC 7 ko sama (Linux)
EtherCAT: Ethernet Cable VCP/USB cibiya: yanzu uniform kebul USB kebul ajiya: Kebul na USB REST: Ethernet USB CANopen: Ixxat USB-to-CAN V2; Na-
Notec ZK-USB-CAN-1, Peak PCANUSB adaftar Babu goyon bayan Ixxat ga Ubuntu akan arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 ko adaftar daidai; Kebul na USB akan Virtual com port (VCP)
Modbus TCP: kebul na Ethernet kamar kowane takardar bayanan samfur

2.2 Amfani da masu sauraro
NanoLib ɗakin karatu ne na shirye-shirye da ɓangaren software don aiki, da sadarwa tare da, masu sarrafa Nanotec a cikin aikace-aikacen masana'antu da yawa da kuma ƙwararrun ƙwararrun shirye-shirye kawai.
Saboda kayan aiki na ainihi (PC) da tsarin aiki, NanoLib ba don amfani ba ne a aikace-aikacen da ke buƙatar motsin axis da yawa na aiki tare ko gabaɗaya mai saurin lokaci.
Babu wani hali ba za ka iya haɗa NanoLib azaman kayan tsaro cikin samfur ko tsarin ba. A kan isarwa ga masu amfani na ƙarshe, dole ne ka ƙara sanarwar faɗakarwa masu dacewa da umarni don amintaccen amfani da aiki mai aminci ga kowane samfur tare da abin da aka ƙera na Nanotec. Dole ne ku wuce duk sanarwar gargaɗin da Nanotec ya bayar daidai ga mai amfani na ƙarshe.
2.3 Iyakar bayarwa da garanti
NanoLib ya zo azaman babban fayil * .zip daga zazzagewar mu webshafin don ko dai EMEA / APAC ko AMERICA. Ajiye da kwance damarar zazzagewar ku kafin saitin. Kunshin NanoLib ya ƙunshi:

Shafin: doc 1.4.2 / NanoLib 1.3.0

5

2 Kafin ka fara

Maganganun mahaɗa kamar lambar tushe (API)

Ayyuka masu mahimmanci azaman ɗakunan karatu a tsarin binary: nano-

Laburaren da ke sauƙaƙe sadarwa: nanolibm_ lib.dll

[yourfieldbus].dll da sauransu.

Exampda aikin: Example.sln (Visual Studio

aikin) da misaliample.cpp (babban file)

Don iyakar garanti, da fatan za a kiyaye a) sharuɗɗan mu na EMEA / APAC ko AMERICA da b) duk sharuɗɗan lasisi. Lura: Nanotec ba shi da alhakin kuskure ko rashin inganci, sarrafawa, shigarwa, aiki, amfani, da kiyaye kayan aiki na ɓangare na uku! Don amincin da ya dace, koyaushe bi ingantattun umarnin OEM.

Shafin: doc 1.4.2 / NanoLib 1.3.0

6

NanoLib architecture

Tsarin software na zamani na NanoLib yana ba ku damar tsara ayyukan sarrafa mota / bas ɗin da za'a iya daidaitawa cikin yardar kaina a kusa da ainihin tushen da aka riga aka gina. NanoLib ya ƙunshi abubuwa masu zuwa:

Mai amfani (API)

NanoLib core

Interface da azuzuwan taimako wanda Laburare wanda

Dakunan karatu na sadarwa na musamman Fieldbus wanda

samun damar ku zuwa aiwatar da aikin mai sarrafa ku da ayyukan API ɗin da ke tsakanin NanoLib

OD (kamus na abu)

mu'amala da dakunan karatu na bas.

core da bas hardware.

tushe akan aikin NanoLib core-

tionalities.

3.1 Mai amfani

Ƙididdigar mai amfani ta ƙunshi haɗin kai files za ku iya amfani da su don samun dama ga sigogin mai sarrafawa. Azuzuwan mu'amalar mai amfani kamar yadda aka bayyana a cikin darajojin darajoji/ayyuka suna ba ku damar:
Haɗa zuwa duka hardware (adaftar filin bas) da na'urar sarrafawa. Samun dama ga OD na na'urar, don karantawa/ rubuta sigogin mai sarrafawa.

3.2 NanoLib core

Babban NanoLib ya zo tare da shigo da ɗakin karatu nanolib.lib. Yana aiwatar da aikin haɗin gwiwar mai amfani kuma yana da alhakin:
Lodawa da sarrafa dakunan karatu na sadarwa. Samar da ayyukan mu'amalar mai amfani a cikin NanoLibAccessor. Wannan wurin shiga sadarwa ya
tarar tsarin ayyuka da zaku iya aiwatarwa akan ainihin NanoLib da ɗakunan karatu na sadarwa.

3.3 Dakunan karatu na sadarwa

Baya ga nanotec.services.nanolib.dll (mai amfani don zaɓin Plug & Drive Studio), NanoLib yana ba da ɗakunan karatu na sadarwa masu zuwa:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Duk ɗakunan karatu suna shimfiɗa Layer abstraction na hardware tsakanin ainihin da mai sarrafawa. Jigon yana ɗaukar su yayin farawa daga babban fayil ɗin aikin da aka keɓe kuma yana amfani da su don kafa sadarwa tare da mai sarrafawa ta hanyar yarjejeniya mai dacewa.

Shafin: doc 1.4.2 / NanoLib 1.3.0

7

Farawa

Karanta yadda ake saita NanoLib don tsarin aikin ku daidai da yadda ake haɗa kayan aikin kamar yadda ake buƙata.
4.1 Shirya tsarin ku
Kafin shigar da direbobin adaftar, fara shirya PC ɗin ku tare da tsarin aiki tukuna. Don shirya PC tare da Windows OS, shigar da MS Visual Studio tare da kari na C++. Don shigar da yin da gcc ta Linux Bash, kira sudo apt shigar da abubuwan ginawa. Sannan kunna damar CAP_NET_ADMIN, CAP_NET_RAW, da CAP_SYS_NICE don aikace-aikacen da ke amfani da NanoLib: 1. Kira sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
suna>. 2. Sai kawai, shigar da adaftar direbobi.
4.2 Shigar da direban adaftar Ixxat don Windows
Sai kawai bayan shigarwar direba, zaku iya amfani da adaftar USB-to-CAN V2 na Ixxat. Karanta littafin samfurin kebul na tuƙi, don koyo idan/yadda ake kunna rumbun kwamfyuta (VCP). 1. Zazzagewa kuma shigar da direban VCI 4 na Ixxat don Windows daga www.ixxat.com. 2. Haɗa Ixxat's USB-to-CAN V2 m adaftar zuwa PC ta USB. 3. Ta Manajan Na'ura: Bincika idan duka direbobi da adaftar an shigar dasu/gane su yadda ya kamata.
4.3 Shigar da direban adaftar Peak don Windows
Sai bayan shigar direban da ya dace, zaku iya amfani da adaftar PCAN-USB na Peak. Karanta littafin samfurin kebul na faifai, don koyo idan/yadda ake kunna rumbun kwamfyuta (VCP). 1. Zazzagewa kuma shigar da saitin direban na'urar Windows (= kunshin shigarwa w/ direbobin na'urar, kayan aiki, da
APIs) daga http://www.peak-system.com. 2. Haɗa adaftar PCAN-USB na Peak zuwa PC ta USB. 3. Ta Manajan Na'ura: Bincika idan duka direbobi da adaftar an shigar dasu/gane su yadda ya kamata.
4.4 Shigar da direban adaftar Ixxat don Linux
Sai kawai bayan shigarwar direba, zaku iya amfani da adaftar USB-to-CAN V2 na Ixxat. Lura: Wasu adaftan da aka goyan baya suna buƙatar izinin ku ta sudo chmod +777/dev/ttyACM* (* lambar na'urar). Karanta littafin samfurin kebul na faifai, don koyo idan/yadda ake kunna rumbun kwamfyuta (VCP). 1. Shigar da software da ake buƙata don direban ECI da aikace-aikacen demo:
sudo dace-samun sabuntawa dace-samun shigar libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 ginawa mai mahimmanci
2. Zazzage direban ECI-for-Linux daga www.ixxat.com. Cire shi ta hanyar:
unzip eci_driver_linux_amd64.zip
3. Shigar da direba ta hanyar:
cd /EciLinux_amd/src/KernelModule sudo sanya shigar-usb
4. Bincika nasarar shigar direba ta hanyar tattarawa da fara aikace-aikacen demo:
cd /EciLinux_amd/src/EciDemos/ sudo yi cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Shafin: doc 1.4.2 / NanoLib 1.3.0

8

4 Farawa
4.5 Sanya direban adaftar Peak don Linux
Sai kawai bayan shigar da direba, zaku iya amfani da adaftar PCAN-USB na Peak. Lura: Wasu adaftan da aka goyan baya suna buƙatar izinin ku ta sudo chmod +777/dev/ttyACM* (* lambar na'urar). Karanta littafin samfurin kebul na tuƙi, don koyo idan/yadda ake kunna rumbun kwamfyuta (VCP). 1. Bincika idan Linux ɗinku yana da masu rubutun kernel: ls /usr/src/linux-headers-`uname -r`. Idan ba haka ba, shigar
su: sudo apt-get install linux-headers-`uname -r` 2. Yanzu kawai, shigar da fakitin libpopt-dev: sudo apt-samun shigar libpopt-dev 3. Zazzage fakitin direban da ake buƙata (peak-linux-driver-) xxx.tar.gz) daga www.peak-system.com. 4. Don cire fakitin ta, yi amfani da: tar xzf peak-linux-driver-xxx.tar.gz 5. A cikin babban fayil ɗin da ba a buɗe ba: Haɗa kuma shigar da direbobi, ɗakin karatu na PCAN, da sauransu: yi duka.
sudo make install 6. Don duba aikin, toshe adaftar PCAN-USB a ciki.
a) Duba tsarin kernel:
lsmod | grep pcan b)… da ɗakin karatu da aka raba:
ls -l /usr/lib/libpcan*
Lura: Idan matsalolin USB3 sun faru, yi amfani da tashar USB2.
4.6 Haɗa kayan aikin ku
Don samun damar gudanar da aikin NanoLib, haɗa mai sarrafa Nanotec mai jituwa zuwa PC ta amfani da adaftar ku. 1. Ta hanyar kebul mai dacewa, haɗa adaftar ku zuwa mai sarrafawa. 2. Haɗa adaftar zuwa PC bisa ga takardar bayanan adaftar. 3. Ƙarfin mai sarrafawa ta amfani da wutar lantarki mai dacewa. 4. Idan ana buƙata, canza saitunan sadarwa na mai sarrafa Nanotec kamar yadda aka umarce shi a cikin littafin samfurin sa.
4.7 Load NanoLib
Don farawa na farko tare da kayan yau da kullun masu sauri da sauƙi, kuna iya (amma ba dole ba) amfani da tsohon muampda aikin. 1. Dangane da yankin ku: Zazzage NanoLib daga namu webshafin don ko dai EMEA / APAC ko AMERICA. 2. Cire zip ɗin kunshin files/ manyan fayiloli kuma zaɓi zaɓi ɗaya: Don abubuwan yau da kullun masu sauri da sauƙi: Duba Fara tsohonampda aikin. Don haɓaka haɓakawa a cikin Windows: Dubi Ƙirƙirar aikin Windows ɗin ku. Don haɓaka haɓakawa a cikin Linux: Duba Ƙirƙirar aikin Linux ɗin ku.

Shafin: doc 1.4.2 / NanoLib 1.3.0

9

Fara exampda aikin

Tare da NanoLib da aka ɗora wa nauyi, example aikin yana nuna muku ta hanyar amfani da NanoLib tare da mai sarrafa Nanotec. Lura: Ga kowane mataki, sharhi a cikin exampLe code yayi bayanin ayyukan da aka yi amfani da su. The exampaikin ya ƙunshi: `*_ayyukan_example.*' files, wanda ya ƙunshi aiwatarwa don ƙirar NanoLib yana aiki da `*_callback_example.*' files, wanda ya ƙunshi aiwatarwa don dawo da kira daban-daban (duba, bayanai da
shiga) da `menu_*.*' file, wanda ya ƙunshi dabaru na menu da lambar Exampda.* file, wanda shine babban shirin, ƙirƙirar menu da fara duk sigogin da aka yi amfani da su na Sampler_exampda.* file, wanda ya ƙunshi example aiwatarwa ga sampmai amfani. Kuna iya samun ƙarin examples, tare da wasu umarnin motsi don yanayin aiki daban-daban, a cikin Tushen Ilimi a nanotec.com. Ana amfani da duk a cikin Windows ko Linux.
A cikin Windows tare da Visual Studio 1. Buɗe Exampku sln file. 2. Bude exampku.cpp. 3. Haɗa da gudanar da tsohonampda kod.
A cikin Linux ta hanyar Bash 1. Cire tushen file, kewaya zuwa babban fayil tare da abun ciki wanda ba a buɗe ba. Babban file na example ni
exampku.cpp. 2. A cikin bash, kira:
a. "sudo make install" don kwafe abubuwan da aka raba kuma a kira ldconfig. b. "yi duka" don gina gwajin aiwatarwa. 3. Babban fayil ɗin bin yana ƙunshe da executable example file. Ta bash: Jeka babban fayil ɗin fitarwa kuma buga ./example. Idan babu kuskure, abubuwan da kuka raba yanzu an shigar dasu yadda ya kamata, kuma ɗakin karatun ku yana shirye don amfani. Idan kuskuren ya karanta ./example: kuskure yayin loda dakunan karatu: libnanolib.so: ba zai iya buɗe abin da aka raba ba file: Ba haka ba file ko directory, shigar abubuwan da aka raba sun kasa. A wannan yanayin, bi matakai na gaba. 4. Ƙirƙiri sabon babban fayil a cikin /usr/local/lib (haƙƙin gudanarwa da ake buƙata). A cikin bash, don haka rubuta:
sudo mkdir /usr/local/lib/nanotec
5. Kwafi duk abubuwan da aka raba daga zip file's lib folder:
shigar ./lib/*.so /usr/local/lib/nanotec/
6. Bincika abun cikin babban fayil ɗin manufa tare da:
ls -al /usr/local/lib/nanotec/
Ya kamata ya jera abin da aka raba files daga babban fayil lib. 7. Guda ldconfig akan wannan babban fayil:
sudo ldconfig /usr/local/lib/nanotec/
The example ana aiwatar da shi azaman aikace-aikacen CLI kuma yana ba da ƙirar menu. Shigar da menu na mahallin mahallin kuma za a kunna ko a kashe, ya danganta da yanayin mahallin. Suna ba ku damar zaɓar da aiwatar da ayyuka daban-daban na laburare bin tsarin aiki na yau da kullun don sarrafa mai sarrafawa: 1. Duba PC don kayan aikin da aka haɗa (adapters) kuma jera su. 2. Kafa haɗi zuwa adaftan. 3. Duba bas ɗin don na'urorin sarrafawa da aka haɗa. 4. Haɗa zuwa na'ura.

Shafin: doc 1.4.2 / NanoLib 1.3.0

10

5 Fara exampda aikin
5. Gwada ɗaya ko fiye na ayyukan ɗakin karatu: Karanta/rubutu daga/zuwa ƙamus ɗin abubuwan mai sarrafawa, sabunta firmware, loda da gudanar da shirin NanoJ, sami motar tana gudana kuma kunna shi, saita da amfani da shiga/sampler.
6. Rufe haɗin, da farko zuwa na'urar, sannan zuwa adaftan.

Shafin: doc 1.4.2 / NanoLib 1.3.0

11

Ƙirƙirar aikin Windows ɗin ku

Ƙirƙiri, tattarawa da gudanar da aikin Windows ɗin ku don amfani da NanoLib.
6.1 Shigo da NanoLib
Shigo da kan NanoLib files da dakunan karatu ta hanyar MS Visual Studio.
1. Bude Kayayyakin Studio. 2. Ta Ƙirƙiri sabon aikin> Console App C++> Na gaba: Zaɓi nau'in aikin. 3. Sunan aikinku (a nan: NanolibTest) don ƙirƙirar babban fayil ɗin aiki a cikin Maganin Magani. 4. Zaɓi Gama. 5. Bude tagogi file Explorer kuma kewaya zuwa sabon babban fayil ɗin aikin da aka ƙirƙira. 6. Ƙirƙiri sababbin manyan fayiloli guda biyu, inc da lib. 7. Bude babban fayil ɗin fakitin NanoLib. 8. Daga can: Kwafi kan kai files daga haɗa babban fayil zuwa cikin babban fayil ɗin aikin inc da duk .lib da .dll
files zuwa sabon babban fayil ɗin aikin lib. 9. Duba babban fayil ɗin aikin ku don tsarin da ya dace, misaliampda:

Nanotic-NanoLib-C++-Shirye-shiryen-FIG- (2)ect babban fayil don tsarin da ya dace:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp sakamakon_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxjproj NanolibTest.vcxjproj NanolibTest.vclibproj NanolibTest.sln
6.2 Sanya aikin ku
Yi amfani da Magani Explorer a cikin MS Visual Studio don saita ayyukan NanoLib. Lura: Don daidaitaccen aikin NanoLib, zaɓi sakin (ba debug!) Tsarin tsari a cikin saitunan aikin Visual C ++; sa'an nan gina da kuma danganta aikin tare da VC runtimes na C++ redistributables [2022].
1. A cikin Magani Explorer: Je zuwa babban fayil ɗin aikin ku (a nan: NanolibTest). 2. Danna babban fayil don buɗe menu na mahallin. 3. Zaɓi Properties. 4. Kunna Duk saitunan da Duk dandamali. 5. Zaɓi C/C++ kuma je zuwa Ƙarin Kundin Lissafi. 6. Saka: $(ProjectDir)Nanolib/ya haɗa da;%(ƘariIncludeDirectories) 7. Zaɓi Linker kuma je zuwa Ƙarin Littattafai na Littattafai. 8. Saka: $(ProjectDir)Nanolib;%(Ƙarin LibraryDirectories) 9. Ƙarfafa Linker kuma zaɓi Input. 10.Je zuwa Ƙarin Dogaro da saka: nanolib.lib;%(Ƙarin Dogara) 11. Tabbatar da ta Ok.

Shafin: doc 1.4.2 / NanoLib 1.3.0

12

6 Ƙirƙirar aikin Windows ɗin ku
12.Je zuwa Kanfigareshan> C++> Harshe> Standard Language> ISO C++17 Standard kuma saita ma'aunin harshe zuwa C++17 (/std:c++17).
6.3 Gina aikin ku
Gina aikin NanoLib ɗin ku a cikin MS Visual Studio. 1. Bude babban * .cpp file (nan: nanolib_example.cpp) kuma shirya lambar, idan an buƙata. 2. Zaɓi Gina > Mai sarrafa Kanfigareshan. 3. Canja dandamali na mafita mai aiki zuwa x64. 4. Tabbatarwa ta hanyar Kusa. 5. Zaɓi Gina > Gina mafita. 6. Babu kuskure? Bincika idan harhada fitin ɗinku ya dace da rahotanni:
1>—— An fara Tsaftace: Project: NanolibTest, Kanfigareshan: Gyara x64 —–======== Tsabtace: 1 yayi nasara, 0 ya kasa, 0 ya tsallake =========

Shafin: doc 1.4.2 / NanoLib 1.3.0

13

7 Ƙirƙirar aikin Linux ɗin ku
7 Ƙirƙirar aikin Linux ɗin ku
Ƙirƙiri, tattarawa da gudanar da aikin Linux ɗin ku don amfani da NanoLib. 1. A cikin kit ɗin shigarwa na NanoLib wanda ba a buɗe: Buɗe /nanotec_nanolib. 2. Nemo duk abubuwan da aka raba a cikin tar.gz file. 3. Zaɓi zaɓi ɗaya: Sanya kowane lib ko dai tare da Makefile ko da hannu.
7.1 Shigar da abubuwan da aka raba tare da Makefile
Yi amfani da Makefile tare da Linux Bash don shigar da duk tsoho * .so files. 1. Via Bash: Je zuwa babban fayil ɗin da ke ɗauke da abin yifile. 2. Kwafi abubuwan da aka raba ta hanyar:
sudo make install 3. Tabbatar da ta:
ldconfig
7.2 Shigar da abubuwan da aka raba da hannu
Yi amfani da Bash don shigar da duk * .so files na NanoLib da hannu. 1. Ta Bash: Ƙirƙiri sabon babban fayil a cikin /usr/local/lib. 2. Haƙƙin Admin da ake buƙata! Nau'in:
sudo mkdir /usr/local/lib/nanotec 3. Canja zuwa babban fayil ɗin fakitin shigarwa da ba a buɗe ba. 4. Kwafi duk abubuwan da aka raba daga babban fayil ɗin lib ta hanyar:
shigar ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Duba abun cikin babban fayil ɗin manufa ta hanyar:
ls -al /usr/local/lib/nanotec/ 6. Duba idan an jera duk abubuwan da aka raba daga babban fayil ɗin lib. 7. Guda ldconfig akan wannan babban fayil ta hanyar:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Ƙirƙiri aikin ku
Tare da shigar da abubuwan da aka raba: Ƙirƙiri sabon aiki don Linux NanoLib ɗin ku. 1. Ta Bash: Ƙirƙiri sabon babban fayil ɗin aikin (a nan: NanoLibTest) ta:
mkdir NanoLibTest cd NanoLibTest
2. Kwafi kan kai files zuwa babban fayil sun haɗa (a nan: inc) ta hanyar: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Ƙirƙirar babban abu file (NanoLibTest.cpp) ta hanyar: #hada da "accessor_factory.hpp" #hade

Shafin: doc 1.4.2 / NanoLib 1.3.0

14

7 Ƙirƙirar aikin Linux ɗin ku
int main(){nlc::NanoLibAccessor *accessor = samunNanoLibAccessor();
nlc :: SakamakonBusHwIds = mai shiga->listAvailableBusHardware();
idan (sakamako.hasError()) {std::cout << sakamakon.getError() << std :: endl; }
sauran {std::cout << "Nasara" << std :: endl; }
share mai shiga; dawo 0; }
4. Bincika babban fayil ɗin aikin don ingantaccen tsari:

Nanotic-NanoLib-C++-Shirye-shiryen-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp sakamakon.hpp NanoLibTest.cpp
7.4 Haɗa kuma gwada aikin ku
Sanya Linux NanoLib ɗin ku a shirye don amfani ta hanyar Bash.
1. Ta Bash: Haɗa babban file ta:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Haɗa masu aiwatarwa tare ta hanyar:
g++ -Wall -Wextra -pedantic -I./inc -o gwada NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Gudanar da shirin gwaji ta hanyar:
./gwaji
4. Bincika idan Bash ɗinku ya ba da rahoton daidai:
nasara

Shafin: doc 1.4.2 / NanoLib 1.3.0

15

8 Matsayin darajoji / ayyuka

8 Matsayin darajoji / ayyuka

Nemo a nan jerin azuzuwan mu'amalar mai amfani na NanoLib da ayyukan membobinsu. Siffar kwatankwacin aiki ya haɗa da gajeriyar gabatarwa, ma'anar aikin da ma'auni / lissafin dawowa:

ExampleFunction () Yana gaya muku a taƙaice abin da aikin yake yi.
Virtual Void nlc:: NanoLibAccessor:: ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Siga param_a param_b
Yana Komawa ResultVoid

Ƙarin sharhi idan an buƙata. Ƙarin sharhi idan an buƙata.

8.1 NanoLibAccessor

Ajin mu'amala da aka yi amfani da shi azaman wurin shiga zuwa NanoLib. Tsarin aiki na yau da kullun yayi kama da haka:
1. Fara ta hanyar bincika kayan aiki tare da NanoLibAccessor.listAvailableBusHardware (). 2. Saita saitunan sadarwa tare da BusHardwareOptions (). 3. Buɗe haɗin hardware tare da NanoLibAccessor.openBusHardwareWithProtocol (). 4. Duba bas ɗin don na'urorin da aka haɗa tare da NanoLibAccessor.scanDevices (). 5. Ƙara na'ura tare da NanoLibAccessor.addDevice (). 6. Haɗa zuwa na'urar tare da NanoLibAccessor.connectDevice (). 7. Bayan kammala aikin, cire haɗin na'urar tare da NanoLibAccessor.disconnectDevice (). 8. Cire na'urar tare da NanoLibAccessor.removeDevice (). 9. Rufe haɗin hardware tare da NanoLibAccessor.closeBusHardware ().
NanoLibAccessor yana da ayyuka na jama'a masu zuwa:

listAvailableBusHardware () Yi amfani da wannan aikin don lissafa samammun kayan aikin bas na filin.
Virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Yana Komawar SakamakonBusHwIds

Yana isar da jeri na ID na bus.

openBusHardwareWithProtocol () Yi amfani da wannan aikin don haɗa kayan aikin bas.
ResultVoid nlc :: NanoLibAccessor :: BusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Siga busHwId busHwOpt
Yana Komawa ResultVoid

Yana ƙayyade bas ɗin filin da zai buɗe. Ƙayyadaddun zaɓuɓɓukan buɗe motar bas. Ya tabbatar da cewa aikin banza ya gudana.

isBusHardwareOpen () Yi amfani da wannan aikin don bincika idan haɗin kayan aikin bas ɗin ku a buɗe yake.
ResultVoid nlc :: NanoLibAccessor :: BusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Shafin: doc 1.4.2 / NanoLib 1.3.0

16

8 Matsayin darajoji / ayyuka

Sigogi BusHardwareId Yana Dawowa gaskiya
karya

Yana ƙayyade kowane bas ɗin filin da zai buɗe. Hardware a bude yake. An rufe kayan aikin.

getProtocolSpecificAccessor () Yi amfani da wannan aikin don samun ƙayyadaddun kayan haɗi na ƙayyadaddun yarjejeniya.
Virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Siga busHwId Yana Koma da SakamakoVoid

Yana ƙayyade bas ɗin filin don samun mai shiga don. Ya tabbatar da cewa aikin banza ya gudana.

getProfinetDCP () Yi amfani da wannan aikin don dawo da tunani zuwa cibiyar sadarwa na Profinet DCP.
kama-da-wane ProfinetDCP & getProfinetDCP ()

Yana dawo da ProfinetDCP

samuSamplerInterface () Yi amfani da wannan aikin don samun nuni ga sampler dubawa.
kamannin SamplerInterface & samun SamplerInterface ()

Ya dawo SamplerInterface

Yana nufin sampler interface class.

setBusState () Yi amfani da wannan aikin don saita takamaiman yanayin bas-protocol.
kama-da-wane ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std :: kirtani & jiha)

Siga busHwId state
Yana Komawa ResultVoid

Yana ƙayyade bas ɗin filin da zai buɗe. Yana sanya takamaiman yanayin bas a matsayin ƙimar kirtani. Ya tabbatar da cewa aikin banza ya gudana.

scanDevices () Yi amfani da wannan aikin don bincika na'urori a cikin hanyar sadarwa.
Virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)

Sigogi busHwId kira baya
Yana Komawar Na'urarIids IOError

Yana ƙayyade bas ɗin filin don dubawa. NlcScanBusCallback mai gano ci gaba. Yana ba da jeri na ID na na'ura. Yana sanar da cewa ba a samo na'ura ba.

Shafin: doc 1.4.2 / NanoLib 1.3.0

17

8 Matsayin darajoji / ayyuka

addDevice ()
Yi amfani da wannan aikin don ƙara na'urar bas da aka siffanta ta deviceId zuwa jerin na'urorin ciki na NanoLib, da kuma mayar da na'urarHandle gareta.
Virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Sigar na'urarId Yana Koma da SakamakoNa'urar Hannun hannu

Yana ƙayyade na'urar don ƙarawa zuwa lissafin. Yana isar da hannun na'urar.

connectDevice () Yi amfani da wannan aikin don haɗa na'ura ta na'urarHandle.
kama-da-wane ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Na'urar Ma'auni Hannun Yana Komawar SakamakoVoid
IOKuskure

Yana ƙayyade abin da na'urar bas NanoLib ke haɗuwa da ita. Ya tabbatar da cewa aikin banza ya gudana. Yana sanar da cewa ba a samo na'ura ba.

getDeviceName () Yi amfani da wannan aikin don samun sunan na'ura ta na'urarHandle.
kama-da-wane ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Na'urar Siga Hannun Yana Komawar SakamakoString

Yana ƙayyade abin da na'urar bas NanoLib ke samun sunan. Yana ba da sunayen na'urori azaman kirtani.

getDeviceProductCode () Yi amfani da wannan aikin don samun lambar samfurin na'urar ta na'urarHandle.
kama-da-wane ResultInt nlc:: NanoLibAccessor::getDeviceProductCode (Na'urarHandle const deviceHandle)

Na'urar Ma'auni Hannun Yana Komawar SakamakoInt

Yana ƙayyade abin da na'urar bas NanoLib ke samun lambar samfur don. Yana ba da lambobin samfura azaman lamba.

getDeviceVendorId () Yi amfani da wannan aikin don samun ID ɗin mai siyar da na'urar ta na'urarHandle.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Na'urar Ma'auni Hannun Yana Komawar SakamakoInt
Babu albarkatu

Yana ƙayyade abin da na'urar bas NanoLib ke samun ID na mai siyarwa. Yana ba da ID na mai siyarwa a matsayin lamba. Yana sanar da cewa ba a sami bayanai ba.

Shafin: doc 1.4.2 / NanoLib 1.3.0

18

8 Matsayin darajoji / ayyuka

getDeviceId () Yi amfani da wannan aikin don samun takamaiman takamaiman na'urar daga jerin NanoLib na ciki.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Na'urar ma'auni Handle yana dawo da sakamakoDeviceId

Yana ƙayyade abin da na'urar bas NanoLib ke samun ID na na'urar. Yana ba da ID na na'ura.

getDeviceIds () Yi amfani da wannan aikin don samun duk ID na na'urori daga jerin NanoLib na ciki.
Virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Yana Komawar Na'uroriIds

Yana ba da jerin ID na na'ura.

getDeviceUid () Yi amfani da wannan aikin don samun keɓaɓɓen ID na na'ura (96 bit/12 bytes) ta na'urarHandle.
kama-da-wane ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Na'urar Ma'auni Hannun Yana Komawar SakamakoArrayByte
Babu albarkatu

Yana ƙayyade abin da na'urar bas NanoLib ke samun keɓaɓɓen ID don. Yana ba da ID na musamman azaman tsararrun byte. Yana sanar da cewa ba a sami bayanai ba.

getDeviceSerialNumber () Yi amfani da wannan aikin don samun serial number ta na'urarHandle.
kama-da-wane ResultString NanolibAccessor::getDeviceSerialNumber (Na'urarHandle const deviceHandle)

Na'urar Siga Hannun Yana Komawar SakamakoString
Babu albarkatu

Yana ƙayyade abin da na'urar bas NanoLib ke samun lambar serial don. Yana isar da jerin lambobi azaman kirtani. Yana sanar da cewa ba a sami bayanai ba.

getDeviceHardwareGroup () Yi amfani da wannan aikin don samun rukunin kayan aikin bas ta na'urarHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (Na'urarHandle const deviceHandle)

Na'urar Ma'auni Hannun Yana Komawar SakamakoInt

Yana ƙayyade abin da na'urar bas NanoLib ke samun rukunin kayan aikin.
Yana ba da ƙungiyoyin kayan aiki azaman lamba.

getDeviceHardwareVersion () Yi amfani da wannan aikin don samun sigar kayan aikin bas ta na'urarHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (Na'urarHandle const deviceHandle)

Shafin: doc 1.4.2 / NanoLib 1.3.0

19

8 Matsayin darajoji / ayyuka

Siga na'urar Handle

Yana dawowa

ResultString ResourceBa samuwa

Yana ƙayyade abin da na'urar bas NanoLib ke samun sigar kayan masarufi don. Yana ba da sunayen na'urori azaman kirtani. Yana sanar da cewa ba a sami bayanai ba.

getDeviceFirmwareBuildId () Yi amfani da wannan aikin don samun ID na firmware na na'urar bas ta na'urarHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (Na'urarHandle const deviceHandle)

Na'urar Siga Hannun Yana Komawar SakamakoString

Yana ƙayyade abin da na'urar bas NanoLib ke samun ID na ginin firmware don.
Yana ba da sunayen na'urori azaman kirtani.

getDeviceBootloaderVersion () Yi amfani da wannan aikin don samun sigar bootloader na na'urar bas ta na'urarHandle.
kama-da-wane ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Siga na'urar Handle

Yana dawowa

ResultInt ResourceBa samuwa

Yana ƙayyade abin da na'urar bas NanoLib ke samun sigar bootloader don. Yana ba da nau'ikan bootloader azaman lamba. Yana sanar da cewa ba a sami bayanai ba.

getDeviceBootloaderBuildId () Yi amfani da wannan aikin don samun ID na bootloader na na'urar bas ta na'urarHandle.
kama-da-wane ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Na'urar Siga Hannun Yana Komawar SakamakoString

Yana ƙayyadadden abin da na'urar bas NanoLib ke samun ID ɗin ginin bootloader don.
Yana ba da sunayen na'urori azaman kirtani.

rebootDevice () Yi amfani da wannan aikin don sake yin na'urar ta na'urarHandle.
kama-da-wane ResultVoid nlc::NanoLibAccessor::sake yiDevice (const DeviceHandle deviceHandle)

Na'urar Ma'auni Hannun Yana Komawar SakamakoVoid

Yana ƙayyade bas ɗin filin don sake yi. Ya tabbatar da cewa aikin banza ya gudana.

getDeviceState () Yi amfani da wannan aikin don samun takamaiman yanayin ƙayyadaddun ƙa'idar na'urar.
kama-da-wane ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Siga na'urar Handle

Yana ƙayyade abin da na'urar bas NanoLib ke samun jihar don.

Shafin: doc 1.4.2 / NanoLib 1.3.0

20

8 Matsayin darajoji / ayyuka

Yana Komawa ResultString

Yana ba da sunayen na'urori azaman kirtani.

setDeviceState () Yi amfani da wannan aikin don saita ƙayyadaddun ƙayyadaddun ƙa'idar-ka'ida.
kama-da-wane ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Siga na'urar Hannun jihar
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke saita jihar don. Yana sanya takamaiman yanayin bas a matsayin ƙimar kirtani. Ya tabbatar da cewa aikin banza ya gudana.

getConnectionState ()
Yi amfani da wannan aikin don samun sanannen yanayin haɗin na'ura ta ƙarshe ta na'urarHandle (= An cire haɗin, Haɗe, ConnectedBootloader)
Virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (Na'urarHandle const deviceHandle)

Na'urar Ma'auni Hannun Yana dawo da SakamakonConnectionState

Yana ƙayyade abin da na'urar bas NanoLib ke samun yanayin haɗin kai don.
Yana ba da yanayin haɗi (= An cire haɗin, Haɗe, ConnectedBootloader).

checkConnectionState ()
Sai kawai idan sanannen jihar ba a cire haɗin ba: Yi amfani da wannan aikin don bincika da yuwuwar sabunta takamaiman yanayin haɗin na'urar ta na'urarHandle da ta gwada takamaiman ayyuka na musamman.
Virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (Na'urarHandle const deviceHandle)

Na'urar Ma'auni Hannun Yana dawo da SakamakonConnectionState

Yana ƙayyade abin da na'urar bas NanoLib ke bincika yanayin haɗin kai don.
Yana ba da yanayin haɗi (= ba a cire haɗin ba).

SanyaObjectDictionary () Yi amfani da wannan aikin jagora don sanya ƙamus na abu (OD) zuwa na'urar Hannu da kanka.
ResultObjectDictionary nlc::NanoLibAccessor :: sanyaObjectDictionary (Na'urarHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Siga na'urar Hannun ƙamus
Yana Komawa ResultObjectDictionary

Yana ƙayyade abin da na'urar bas NanoLib ke sanya OD ga. Yana nuna kaddarorin ƙamus na abu.

autoAssignObjectDictionary ()
Yi amfani da wannan aikin sarrafa kansa don ƙyale NanoLib ya sanya ƙamus na abu (OD) zuwa na'urar Handle. A kan ganowa da loda OD mai dacewa, NanoLib yana sanya shi ta atomatik zuwa na'urar. Lura: Idan an riga an loda OD mai jituwa a cikin laburaren abu, NanoLib zai yi amfani da shi ta atomatik ba tare da duba littafin da aka ƙaddamar ba.
kama-da-wane ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Shafin: doc 1.4.2 / NanoLib 1.3.0

21

8 Matsayin darajoji / ayyuka

Siga na'urar Handle

Yana dawowa

ƙamusLocationPath SakamakonObjectDictionary

Yana ƙayyadaddun wace na'urar bas NanoLib za ta bincika ta atomatik don OD's masu dacewa. Yana ƙayyadad da hanyar zuwa kundin adireshin OD. Yana nuna kaddarorin ƙamus na abu.

GetAssignedObjectDictionary ()
Yi amfani da wannan aikin don samun ƙamus ɗin abu da aka sanya wa na'ura ta na'uraHandle.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (Na'urarHandle const na'urar)
Hannu)

Na'urar ma'auni Handle yana mayar da sakamakoObjectDictionary

Yana ƙayyadaddun abin da na'urar bas NanoLib ke samun OD da aka sanya wa. Yana nuna kaddarorin ƙamus na abu.

getObjectDictionaryLibrary () Wannan aikin yana dawo da bayanin OdLibrary.
kama-da-wane OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Yana Komawa OdLibrary&

Yana buɗe duka ɗakin karatu na OD da ƙamus ɗinsa.

setLoggingLevel () Yi amfani da wannan aikin don saita bayanan bayanan da ake buƙata (da shiga file girman). Matsayin da aka saba shine Bayani.
Virtual Void nlc:: NanoLibAccessor:: setLoggingLevel (Level Level)

Matsayin ma'auni

Ana iya samun cikakkun bayanan log masu zuwa:

0 = Trace 1 = Debug 2 = Bayani 3 = Gargadi 4 = Kuskure 5 = Mahimmanci 6 = Kashe

Mafi ƙasƙanci matakin (mafi girma log file); yana rubuta kowane daki-daki mai yuwuwa, da farawa / dakatar da software. Bayanin gyara rajista (= sakamakon wucin gadi, abun ciki da aka aika ko karɓa, da sauransu) Matsayin tsoho; rajistan ayyukan saƙonnin bayanai. Matsalolin rajistan ayyukan da suka faru amma ba za su dakatar da algorithm na yanzu ba. Logs kawai matsala mai tsanani wanda ya dakatar da algorithm. Matsayi mafi girma (ƙaramin log file); yana kashe shiga; babu sauran log sam. Babu shiga kwata-kwata.

saitaLoggingKira ()
Yi amfani da wannan aikin don saita alamar dawo da kira da log log (= ɗakin karatu) don wannan kiran (ba don mai shigar da kansa ba).
Virtual void nlc :: NanoLibAccessor :: setLoggingCallback (NlcLoggingCallback* callback, const nlc :: LogModule & logModule)

Ma'auni * logback kiraModule

Yana saita mai nunin kira. Yana kunna dawo da kira (ba mai shiga ba!) zuwa ɗakin karatu na ku.

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

Yana kunna sake kira don ainihin NanoLib kawai. Yana kunna CAN buɗaɗɗen kira kawai. Yana kunna Modbus-kawai dawo da kira. Yana kunna sake kiran EtherCAT-kawai.

Shafin: doc 1.4.2 / NanoLib 1.3.0

22

8 Matsayin darajoji / ayyuka

4 = NanolibRest 5 = NanolibUSB

Yana kunna dawo da kira-REST kawai. Yana kunna dawo da kira na USB kawai.

unsetLoggingCallback () Yi amfani da wannan aikin don soke alamar dawowar kira.
Virtual void nlc :: NanoLibAccessor :: unsetLoggingCallback ()

readNumber () Yi amfani da wannan aikin don karanta ƙimar lambobi daga ƙamus ɗin abu.
kama-da-wane ResultInt nlc::NanoLibAccessor:: readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Sigar na'urar Handle odIndex
Yana Komawa ResultInt

Yana ƙayyade abin da na'urar bas NanoLib ke karantawa. Yana ƙayyade ma'anar (sub-) don karantawa daga. Yana ba da ƙimar lamba da ba a fasara ba (za a iya sanya hannu, ba a sanya hannu ba, ƙayyadaddun ƙimar bit16.16).

readNumberArray () Yi amfani da wannan aikin don karanta jerin lambobi daga ƙamus ɗin abu.
ResultArrayInt nlc :: NanoLibAccessor :: readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Sigar na'urar Hannun fihirisar
Yana Komawa ResultArrayInt

Yana ƙayyade abin da na'urar bas NanoLib ke karantawa. Fihirisar abubuwa Yana ba da jeri na lamba.

readBytes () Yi amfani da wannan aikin don karanta bytes na sabani (bayanin abubuwan yanki) daga ƙamus na abu.
ResultArrayByte nlc :: NanoLibAccessor :: readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Sigar na'urar Handle odIndex
Yana Komawa ResultArrayByte

Yana ƙayyade abin da na'urar bas NanoLib ke karantawa. Yana ƙayyade ma'anar (sub-) don karantawa daga. Yana isar da tsararrun byte.

readString () Yi amfani da wannan aikin don karanta kirtani daga kundin adireshi.
kama-da-wane ResultString nlc :: NanoLibAccessor :: readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Sigar na'urar Handle odIndex
Yana Komawa ResultString

Yana ƙayyade abin da na'urar bas NanoLib ke karantawa. Yana ƙayyade ma'anar (sub-) don karantawa daga. Yana ba da sunayen na'urori azaman kirtani.

Shafin: doc 1.4.2 / NanoLib 1.3.0

23

8 Matsayin darajoji / ayyuka

rubuta Lamba () Yi amfani da wannan aikin don rubuta ƙimar lambobi zuwa kundin adireshi.
kama-da-wane ResultVoid nlc :: NanoLibAccessor :: rubutaNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, rashin sa hannu int bitLength)

Siga na'urar Hannun ƙimar odIndex bitLength
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke rubutawa zuwa. Ƙimar da ba a fassara ba (ana iya sanya hannu, ba a sanya hannu ba, gyara 16.16). Yana ƙayyade ma'anar (sub-) don karantawa daga. Tsawo a cikin bit. Ya tabbatar da cewa aikin banza ya gudana.

rubutaBytes () Yi amfani da wannan aikin don rubuta bytes na sabani (bayanin abubuwan yanki) zuwa kundin adireshi.
kama-da-wane ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std:: vector & bayanai, const OdIndex odIndex)

Sigar na'urar Hannun bayanan odIndex
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke rubutawa zuwa. Byte vector / tsararru. Yana ƙayyade ma'anar (sub-) don karantawa daga. Ya tabbatar da cewa aikin banza ya gudana.

shigar Firmware ()
Yi amfani da wannan aikin don sabunta firmware mai sarrafa ku.
kama-da-wane ResultVoid nlc :: NanoLibAccessor :: uploadFirmware (const DeviceHandle deviceHandle, const std :: vector & fwData, NlcDataTransferCallback* callback)

Na'urar ma'auni Karɓar fwData NlcDataTransferCallback
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke ɗaukakawa. Tsari mai ɗauke da bayanan firmware. Mai gano ci gaban bayanai. Ya tabbatar da cewa aikin banza ya gudana.

uploadFirmware DagaFile ()
Yi amfani da wannan aikin don sabunta firmware mai sarrafa ku ta loda shi file.
kama-da-wane ResultVoid nlc::NanoLibAccessor:: uploadFirmwareDagaFile (const DeviceHandle deviceHandle, const std :: kirtani & cikakkenFileHanya, NlcDataTransferCallback* callback)

Na'urar ma'auni Karɓar cikakkeFileHanyar NlcDataTransferCallback
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke ɗaukakawa. Hanyar zuwa file dauke da bayanan firmware (std :: kirtani). Mai gano ci gaban bayanai. Ya tabbatar da cewa aikin banza ya gudana.

Shafin: doc 1.4.2 / NanoLib 1.3.0

24

8 Matsayin darajoji / ayyuka

uploadBootloader ()
Yi amfani da wannan aikin don sabunta bootloader na mai sarrafa ku.
kama-da-wane ResultVoid nlc::NanoLibAccessor:: uploadBootloader (const DeviceHandle deviceHandle, const std :: vector & btData, NlcDataTransferCallback* callback)

Na'urar ma'auni Handle btData NlcDataTransferCallback
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke ɗaukakawa. Tsari mai ɗauke da bayanan bootloader. Mai gano ci gaban bayanai. Ya tabbatar da cewa aikin banza ya gudana.

uploadBootloaderDagaFile ()
Yi amfani da wannan aikin don sabunta bootloader na mai sarrafa ku ta hanyar loda shi file.
Virtual ResultVoid nlc::NanoLibAccessor:: uploadBootloaderDagaFile (const DeviceHandle deviceHandle, const std :: kirtani & bootloaderAbsoluteFileHanya, NlcDataTransferCallback* callback)

Siga na'urar Handle bootloader AbsoluteFileHanyar NlcDataTransferCallback
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke ɗaukakawa. Hanyar zuwa file dauke da bayanan bootloader (std :: kirtani). Mai gano ci gaban bayanai. Ya tabbatar da cewa aikin banza ya gudana.

Sanya BootloaderFirmware ()
Yi amfani da wannan aikin don sabunta bootloader da firmware mai sarrafa ku.
kama-da-wane ResultVoid nlc::NanoLibAccessor:: uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std:: vector & btData, const std :: vector & fwData, NlcDataTransferCallback* callback)

Na'urar sigar Maƙallan btData fwData NlcDataTransferCallback
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke ɗaukakawa. Tsari mai ɗauke da bayanan bootloader. Tsari mai ɗauke da bayanan firmware. Mai gano ci gaban bayanai. Ya tabbatar da cewa aikin banza ya gudana.

uploadBootloaderFirmwareDagaFile ()
Yi amfani da wannan aikin don sabunta bootloader da firmware mai sarrafawa ta hanyar loda da files.
Virtual ResultVoid nlc :: NanoLibAccessor :: uploadBootloaderFirmwareDagaFile (const DeviceHandle deviceHandle, const std :: kirtani & bootloaderAbsoluteFileHanya, const std :: kirtani & cikakkeFileHanya, NlcDataTransferCallback* callback)

Siga na'urar Handle bootloader AbsoluteFileHanya cikakkeFileHanyar NlcDataTransferCallback
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke ɗaukakawa. Hanyar zuwa file dauke da bayanan bootloader (std :: kirtani). Hanyar zuwa file mai dauke da bayanan firmware (uint8_t). Mai gano ci gaban bayanai. Ya tabbatar da cewa aikin banza ya gudana.

Shafin: doc 1.4.2 / NanoLib 1.3.0

25

8 Matsayin darajoji / ayyuka

uploadNanoJ ()
Yi amfani da wannan aikin jama'a don loda shirin NanoJ zuwa mai sarrafa ku.
Virtual ResultVoid nlc::NanoLibAccessor:: uploadNanoJ (Na'urarHandle const deviceHandle, std:: vector) const & vmmData, NlcDataTransferCallback* callback)

Na'urar sigar Maƙallan vmmData NlcDataTransferCallback
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke lodawa zuwa. Tsari mai ɗauke da bayanan NanoJ. Mai gano ci gaban bayanai. Ya tabbatar da cewa aikin banza ya gudana.

uploadNanoJDagaFile ()
Yi amfani da wannan aikin jama'a don loda shirin NanoJ zuwa mai sarrafa ku ta hanyar loda da file.
Virtual ResultVoid nlc::NanoLibAccessor:: uploadNanoJFromFile (const DeviceHandle deviceHandle, const std :: kirtani & cikakkenFileHanya, NlcDataTransferCallback* callback)

Na'urar ma'auni Karɓar cikakkeFileHanyar NlcDataTransferCallback
Yana Komawa ResultVoid

Yana ƙayyade abin da na'urar bas NanoLib ke lodawa zuwa. Hanyar zuwa file dauke da bayanan NanoJ (std :: kirtani). Mai gano ci gaban bayanai. Ya tabbatar da cewa aikin banza ya gudana.

cire haɗin na'urar () Yi amfani da wannan aikin don cire haɗin na'urar ta na'urarHandle.
kama-da-wane ResultVoid nlc::NanoLibAccessor:: cire haɗin na'ura (Na'urarHandle const deviceHandle)

Na'urar Ma'auni Hannun Yana Komawar SakamakoVoid

Yana ƙayyade abin da na'urar bas NanoLib ke cire haɗin daga. Ya tabbatar da cewa aikin banza ya gudana.

cire Na'urar () Yi amfani da wannan aikin don cire na'urarka daga jerin na'urorin ciki na NanoLib.
kama-da-wane ResultVoid nlc::NanoLibAccessor:: cire Na'urar (const DeviceHandle deviceHandle)

Na'urar Ma'auni Hannun Yana Komawar SakamakoVoid

Yana ƙayyadaddun abin da na'urar motar bas NanoLib ke ƙirƙira. Ya tabbatar da cewa aikin banza ya gudana.

closeBusHardware () Yi amfani da wannan aikin don cire haɗin kai daga kayan aikin bas ɗin ku.
Virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Siga busHwId Yana Koma da SakamakoVoid

Yana ƙayyade bas ɗin filin don cire haɗin daga. Ya tabbatar da cewa aikin banza ya gudana.

Shafin: doc 1.4.2 / NanoLib 1.3.0

26

8 Matsayin darajoji / ayyuka

8.2 BusHardwareId
Yi amfani da wannan ajin don gano kayan aikin bas ɗaya-zuwa ɗaya ko don bambanta kayan aikin bas daban-daban daga juna. Wannan ajin (ba tare da ayyukan saiti da za su iya canzawa daga halitta ba) kuma yana riƙe da bayanai akan:
Hardware (= sunan adaftar, adaftar cibiyar sadarwa da sauransu) Ka'idar don amfani (= Modbus TCP, CANopen da dai sauransu.) Ma'anar kayan aikin bas (= sunan tashar tashar jiragen ruwa, sunan MAC Friendly
address da dai sauransu)

BusHardwareId () [1/3] Mai gini wanda ke ƙirƙirar sabon abu ID kayan aikin bas.
nlc :: BusHardwareId :: BusHardwareId (std :: string const & busHardware_, std :: string const & protocol_, std :: string const & hardwareSpecifier_, std :: string const & name_)

Siga busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Nau'in Hardware (= ZK-USB-CAN-1 da sauransu). Ka'idar sadarwar bas (= CANopen da dai sauransu). Ƙididdigar kayan aiki (= COM3 da sauransu). Ƙarin ƙayyadaddun kayan aikin (ce, bayanin wurin USB). Sunan abokantaka (= AdapterName (Port) da sauransu).

BusHardwareId () [2/3] Mai ginawa wanda ke ƙirƙira sabon abu ID kayan aikin bas, tare da zaɓi don ƙarin takamaiman kayan aikin.
nlc :: BusHardwareId :: BusHardwareId (std :: string const & busHardware_, std :: string const & protocol_, std :: string const & hardwareSpecifier_, std :: string const & extraHardwareSpecifier_, std :: kirtani const & name_)

Siga busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Nau'in Hardware (= ZK-USB-CAN-1 da sauransu). Ka'idar sadarwar bas (= CANopen da dai sauransu). Ƙididdigar kayan aiki (= COM3 da sauransu). Ƙarin ƙayyadaddun kayan aikin (ce, bayanin wurin USB). Sunan abokantaka (= AdapterName (Port) da sauransu).

BusHardwareId () [3/3] Mai gini wanda ke kwafin busHardwareId mai gudana.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Sigar busHardwareId

Sunan ID kayan aikin bas don kwafa daga.

yayi daidai () Kwatanta sabon ID kayan aikin bas da waɗanda suke.
bool nlc ::BusHardwareId ::daidai (BusHardwareId const & sauran) const

Siga wasu Komawa gaskiya

Wani abu na aji daya. Idan duka biyun daidai suke a kowane darajoji.

Shafin: doc 1.4.2 / NanoLib 1.3.0

27

8 Matsayin darajoji / ayyuka

karya

Idan dabi'u sun bambanta.

getBusHardware () Yana karanta zaren kayan aikin bas.
std::string nlc::BusHardwareId::getBusHardware () const

Yana dawo da kirtani

getHardwareSpecifier () Yana karanta kirtani na kayan aikin bas (= sunan cibiyar sadarwa da sauransu).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Yana dawo da kirtani

getExtraHardwareSpecifier () Yana karanta ƙarin kirtani na kayan aikin bas ɗin (= adireshin MAC da sauransu).
std :: string nlc :: BusHardwareId :: getExtraHardwareSpecifier () const

Yana dawo da kirtani

getName () Yana karanta sunan abokantaka na kayan aikin bas.
std::string nlc::BusHardwareId::getName () const

Yana dawo da kirtani

getProtocol () Yana karanta layin ladabi na bas.
std::string nlc::BusHardwareId::getProtocol () const

Yana dawo da kirtani

toString () Yana dawo da ID na kayan aikin bas azaman kirtani.
std::string nlc::BusHardwareId::toString () const

Yana dawo da kirtani
8.3 Zaɓuɓɓukan BusHardware
Nemo a cikin wannan aji, a cikin jerin maɓalli na kirtani, duk zaɓuɓɓukan da ake buƙata don buɗe kayan aikin bas.

Shafin: doc 1.4.2 / NanoLib 1.3.0

28

8 Matsayin darajoji / ayyuka

BusHardwareOptions () [1/2] Yana gina sabon abu zaɓi kayan aikin bas.
nlc::BusHardwareOptions::BusHardwareOptions () Yi amfani da addOption na aiki () don ƙara maɓalli-darajar nau'i-nau'i.

BusHardwareOptions () [2/2] Yana Gina sabon abu na kayan zaɓin kayan aikin bas tare da taswirar ƙimar maɓalli da aka riga aka yi.
nlc::BusHardwareOptions::BusHardwareOptions (std:: taswira const & zažužžukan)

Zaɓuɓɓukan ma'auni

Taswira tare da zaɓuɓɓuka don kayan aikin bas don aiki.

addOption () Yana ƙirƙira ƙarin maɓalli da ƙima.
void nlc ::BusHardwareOptions :: addOption (std :: string const & key, std :: string const & value)

Ƙimar maɓalli

Example: BAUD_RATE_OPTIONS_NAME, duba bus_hw_options_ defaulted
Example: BAUD_RATE_1000K, duba bas_hw_options_defaults

yayi daidai () Kwatanta Zaɓuɓɓukan BusHardware da waɗanda suke.
bool nlc :: BusHardwareOptions :: daidai (BusHardwareOptions const & sauran) const

Siga wasu Komawa gaskiya
karya

Wani abu na aji daya. Idan ɗayan abu yana da duk ainihin zaɓuɓɓuka iri ɗaya. Idan ɗayan abu yana da maɓalli ko ƙima daban-daban.

getOptions () Yana karanta duk ƙarin maɓalli-darajar nau'i-nau'i.
std:: taswira nlc ::BusHardwareOptions :: getOptions () const

Yana dawo da taswirar kirtani

toString () Yana dawo da duk maɓallai / ƙididdiga azaman kirtani.
std::string nlc::BusHardwareId::toString () const

Yana dawo da kirtani
8.4 BusHwOptionsDefault
Wannan ajin zaɓukan daidaitawa na asali yana da halayen jama'a masu zuwa:

Shafin: doc 1.4.2 / NanoLib 1.3.0

29

8 Matsayin darajoji / ayyuka

Const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Tsarin da ya ƙunshi baudrates bas na CAN a cikin halayen jama'a masu zuwa:

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

BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" = "100k" BAUD_RATE_100k TE_50K = "50k" BAUD_RATE_20K = "20k" BAUD_RATE_10K = "10k"

8.6 CanBus

Zaɓuɓɓukan daidaitawa na asali tare da halayen jama'a masu zuwa:

const std :: string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = "na iya daidaita ƙimar baud" baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Don sabis na NMT, wannan tsarin ya ƙunshi jihohin CANopen NMT azaman ƙimar kirtani a cikin halayen jama'a masu zuwa:

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

START = "START" STOP = "TSAYA" PRE_OPERATIONAL = "PRE_OPERATIONAL" SAKE SAKETA = "SAKARWA" RESET_COMMUNICATION = "RESET_COMMUNICATION"

8.8 CanOpenNmtState

Wannan tsarin ya ƙunshi jihohin CANopen NMT azaman ƙimar kirtani a cikin halayen jama'a masu zuwa:

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

TSAKAWA = "AN TSAYA" PRE_OPERATIONAL = "PRE_OPERATIONAL" Aiki = "Aikin" FARUWA = "FADAWA" BA A SAN = "Ba a sani ba"

8.9 EtherCATBus tsarin

Wannan tsarin ya ƙunshi zaɓuɓɓukan daidaitawar sadarwar EtherCAT a cikin halayen jama'a masu zuwa:

Shafin: doc 1.4.2 / NanoLib 1.3.0

30

8 Matsayin darajoji / ayyuka

const std :: kirtani NETWORK_FIRMWARE_STATE_OP- Yanayin hanyar sadarwa ana kula dashi azaman yanayin firmware. Abin karɓa

TION_NAME = "Jihar Firmware Network"

dabi'u (tsoho = PRE_OPERATIONAL):

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

const std :: kirtani DEFAULT_NETWORK_FIRMWARE_ STATE = "PRE_OPERATIONAL"

const std :: kirtani EXCLUSIVE_LOCK_TIMEOUT_OP- Lokaci ya ƙare a cikin milli seconds don samun keɓaɓɓen kullewa

TION_NAME = "Lokacin Kulle Share"

hanyar sadarwa (tsoho = 500 ms).

ba a sanya hannu ba DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"

const std :: kirtani SHARED_LOCK_TIMEOUT_OPTION_ Lokaci ya ƙare a cikin milli seconds don samun makulli ɗaya a kunne

NAME = "Lokacin Kulle Raba"

hanyar sadarwa (tsoho = 250 ms).

ba a sanya hannu ba DEFAULT_SHARED_LOCK_TIMEOUT = "250"

const std ::string READ_TIMEOUT_OPTION_NAME = Lokaci ya ƙare a cikin milli seconds don aikin karantawa (tsoho

"Lokacin Karatu"

= 700 ms).

ba a sanya hannu ba DEFAULT_READ_TIMEOUT = "700"

const std :: kirtani WRITE_TIMEOUT_OPTION_NAME = Lokaci ya ƙare a cikin milli seconds don aikin rubutu (tsoho

"Rubuta Lokaci"

= 200 ms).

ba a sanya hannu ba DEFAULT_WRITE_TIMEOUT = "200"

const std :: kirtani READ_WRITE_ATTEMPTS_OPTION_ Matsakaicin yunƙurin karantawa ko rubuta (ƙimar mara sifili)

NAME = "Karanta/Rubuta Ƙoƙari"

kawai; tsoho = 5).

ba a sanya hannu ba DEFAULT_READ_WRITE_ATTEMPTS = "5"

const std :: kirtani CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "Canja Ƙoƙarin Jiha na hanyar sadarwa"

Matsakaicin adadin yunƙurin canza yanayin cibiyar sadarwa (darajar sifili kawai; tsoho = 10).

ba a sanya hannu ba DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"

const std :: kirtani PDO_IO_ENABLED_OPTION_NAME Yana kunna ko ya hana sarrafa PDO don in- /

= "An kunna PDO IO"

abubuwan fitarwa ("Gaskiya" ko "Ƙarya" kawai; tsoho = "Gaskiya").

const std :: kirtani DEFAULT_PDO_IO_ENABLED = "Gaskiya"

8.10 Tsarin EtherCATS

Wannan tsarin yana ƙunshe da jahohin bawa / cibiyar sadarwar EtherCAT azaman ƙimar kirtani a cikin halayen jama'a masu zuwa. Lura: Yanayin Tsohuwar da ke kunne shine PRE_OPERATIONAL; NanoLib ba zai iya samar da wani abin dogaro "OPERATIONAL" jihar a cikin tsarin aiki mara lokaci ba:

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

BABU = "BABU" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" Aiki = "Aiki"

Shafin: doc 1.4.2 / NanoLib 1.3.0

31

8 Matsayin darajoji / ayyuka

8.11 Ixxat

Wannan tsarin yana ɗaukar duk bayanai don Ixxat usb-to-can a cikin halayen jama'a masu zuwa:

const std :: string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "lambar bas adaftar ixxat"

const IxxatAdapterBusNumber adaftarBusNumber = IxxatAdapterBusNumber ()

8.12 Ixxat AdapterBusLambar

Wannan tsarin yana riƙe lambar bas don Ixxat usb-to-can a cikin halayen jama'a masu zuwa:

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

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

8.13 Koli

Wannan tsarin yana ɗaukar duk bayanai don Peak usb-to-can a cikin halayen jama'a masu zuwa:

const std :: string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "lambar adaftar bas"

const PeakAdapterBusNumber adaftarBusNumber = PeakAdapterBusNumber ()

8.14 Peak AdapterBusLambar

Wannan tsarin yana riƙe lambar bas don Peak usb-to-can a cikin halayen jama'a masu zuwa:

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

BUS_NUMBER_1_DEFAULT = std :: to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std :: zuwa_string (PCAN_USBBUS2) BUS_NUMBER_3 = std :: zuwa_string (PCAN_USBBUS3) BUS_NUMBER_4 = std :: zuwa_string :: zuwa_string :: 4_string (PCAN_USBBUS5): 5 (PCAN_USBBUS6) BUS_NUMBER_6 = std :: to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std :: zuwa_string (PCAN_USBBUS8) BUS_NUMBER_8 = std :: zuwa_string (PCAN_USBBUS9) BUS_NUMBER_9 = std :: zuwa_BBUS (PCAN_USBBUS10st): zuwa_BBUS (PCAN_USBBUS10st): (PCAN_USBBUS11) BUS_NUMBER_11 = std :: zuwa_string (PCAN_USBBUS12) BUS_NUMBER_12 = std :: zuwa_string (PCAN_USBBUS13) BUS_NUMBER_13 = std :: zuwa_string (PCAN_USBBUS14) BUS_NUMBER_14 = std15 std :: to_string (PCAN_USBBUS15) BUS_NUMBER_16 = std :: zuwa_string (PCAN_USBBUS16)

8.15 Hannun Na'ura
Wannan ajin yana wakiltar hannun sarrafa na'ura akan bas kuma yana da ayyuka na jama'a masu zuwa.

DeviceHandle () DeviceHandle (uint32_t rike)

Shafin: doc 1.4.2 / NanoLib 1.3.0

32

8 Matsayin darajoji / ayyuka

daidai () Kwatanta kanta da abin hannun na'urar da aka bayar.
bool daidai (Na'urarHandle const sauran) const (uint32_t handle)

toString () Yana mayar da wakilcin kirtani na hannun na'urar.
std :: string toString () const

samu () Yana mayar da hannun na'urar.
uint32_t samun () const

8.16 DeviceId
Yi amfani da wannan ajin (ba mai iya canzawa daga ƙirƙira a kunne) don ganowa da bambanta na'urori akan bas:

Hardware adaftar ganowa

Mai gano na'ura

Bayani

Ma'anar ID na na'ura / ƙimar bayanin ya dogara da bas ɗin. Don misaliampko, bas na CAN na iya amfani da ID na lamba.

DeviceId () [1/3] Yana gina sabon abu ID na na'ura.
nlc::DeviceId:: DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std :: string const & description_)

Siga busHardwareId_ deviceId_ kwatance_

Mai gano motar bas. Fihirisa; batun bas (= CANopen node ID da sauransu). Bayani (zai iya zama fanko); batun bas.

DeviceId () [2/3] Yana gina sabon abu ID na na'ura tare da ƙarin zaɓuɓɓukan ID.
nlc :: DeviceId :: DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std :: string const & description_ std :: vector const & extraId_, std :: string const & extraStringId_)

Siga busHardwareId_ na'urarId_ kwatancin_ extraId_ extraStringId_

Mai gano motar bas. Fihirisa; batun bas (= CANopen node ID da sauransu). Bayani (zai iya zama fanko); batun bas. Ƙarin ID (zai iya zama fanko); ma'ana ya dogara da bas. Ƙarin ID na kirtani (zai iya zama fanko); ma'ana ya dogara da bas.

DeviceId () [3/3] Yana gina kwafin abin ID na na'ura.
nlc :: DeviceId :: DeviceId (DeviceId const &)

Shafin: doc 1.4.2 / NanoLib 1.3.0

33

8 Matsayin darajoji / ayyuka

Na'urar ma'auniId_

ID na na'ura don kwafa daga.

yayi daidai () Kwatanta sababbi da abubuwan da ake dasu.
bool nlc :: DeviceId :: daidai (DeviceId const & sauran) const

Yana dawo da boolean

getBusHardwareId () Yana karanta ID hardware na bas.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Yana dawo da BusHardwareId

getDescription () Yana karanta bayanin na'urar (wataƙila ba a yi amfani da shi ba).
std :: string nlc :: DeviceId :: getDescription () const

Yana dawo da kirtani

getDeviceId () Yana karanta ID na na'urar (wataƙila ba a yi amfani da shi ba).
unsigned int nlc :: DeviceId :: getDeviceId () const

Yana dawo da int ba a sanya hannu ba

ToString () Yana mayar da abu azaman kirtani.
std :: string nlc :: DeviceId :: toString () const

Yana dawo da kirtani

getExtraId () Yana karanta ƙarin ID na na'urar (maiyuwa ba za a yi amfani da su ba).
const std :: vector &getExtraId () const

Yana dawo da vector

Fassarar ƙarin ID na ƙarin (zai iya zama fanko); ma'ana ya dogara da bas.

getExtraStringId () Yana karanta ƙarin ID ɗin kirtani na na'urar (maiyuwa ba za a yi amfani da su ba).
std :: string getExtraStringId () const

Shafin: doc 1.4.2 / NanoLib 1.3.0

34

8 Matsayin darajoji / ayyuka

Yana dawo da kirtani

Ƙarin ID ɗin kirtani (zai iya zama fanko); ma'ana ya dogara da bas.

8.17 LogLevelConverter

Wannan ajin yana mayar da matakin log ɗinku azaman kirtani. static std :: kirtani zuwaString (nlc :: LogLevel logLevel)

8.18 LogModuleConverter

Wannan ajin yana dawo da takamaiman ƙayyadaddun log ɗin modulesetLoggingLevel () azaman kirtani.

a tsaye std :: kirtani

toString (nlc :: LogModule logModule)

static std :: kirtani zuwaString (nlc :: LogModule logModule)

8.19 ObjectDictionary
Wannan aji yana wakiltar ƙamus na abu na mai sarrafawa kuma yana da ayyuka na memba na jama'a masu zuwa: getDeviceHandle ()
kama-da-wane ResultDeviceHandle getDeviceHandle () const ResultDeviceHandle

getObject () kama-da-wane ResultObjectSubEntry samunObject (OdIndex const odIndex) Yana Koma da SakamakoObjectSubEntry

getObjectEntry () kama-da-wane sakamakoEntryObjectEntry samunObjectEntry (uint16_t index)

Yana Komawar SakamakoObjectEntry

Yana ba da labari akan kaddarorin abu.

samunXmlFileSuna () kama-da-wane ResultString getXmlFileSuna () const

Yana Komawa ResultString

Yana dawo da XML file suna a matsayin kirtani.

readNumber () kama-da-wane ResultInt readNumber (OdIndex const odIndex) Yana Koma ResultInt
readNumberArray () kama-da-wane ResultArrayInt readNumberArray (uint16_t const index)

Shafin: doc 1.4.2 / NanoLib 1.3.0

35

8 Matsayin darajoji / ayyuka
Ya Koma ResultArrayInt readString ()
kama-da-wane ResultString readString (OdIndex const odIndex) Yana Koma ResultString readBytes () kama-da-wane ResultArrayByte readBytes (OdIndex const odIndex) Yana dawo da SakamakoArrayByte rubutaNumber () kama-da-wane ResultVoid rubutaNumber (OdIndext const od 64) ResultVoid writeBytes () kama-da-wane SakamakoVoid writeBytes (OdIndex const OdIndex, std :: vector
const & data) Yana mayar da ResultVoid Links Related Links OdIndex
8.20 Abun Shiga
Wannan aji yana wakiltar shigar abu na ƙamus ɗin abu, yana da sifa mai karewa mai zuwa da ayyukan membobin jama'a:
a tsaye nlc ::ObjectSubEntry invalidObject
getName () Yana karanta sunan abu azaman kirtani.
Virtual std :: string getName () const
getPrivate () Yana bincika idan abun sirri ne.
Virtual bool getPrivate () const
getIndex () Yana karanta adreshin jigon abubuwan.
Virtual uint16_t getIndex () const

Shafin: doc 1.4.2 / NanoLib 1.3.0

36

8 Matsayin darajoji / ayyuka

getDataType () Yana karanta nau'in bayanan abin.
Virtual nlc ::ObjectEntryDataType getDataType () const

getObjectCode () Yana karanta lambar abu:

Null Deftype Defstruct Var Array Record

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

Virtual nlc :: ObjectCode getObjectCode () const

getObjectSaveable () Yana bincika idan abun yana iya adanawa kuma yana cikin nau'in (duba littafin jagora don ƙarin cikakkun bayanai): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWNTY_SA
Virtual nlc ::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Yana karanta adadin subindices da wannan abu ke goyan bayan.
kama-da-wane uint8_t getMaxSubIndex () const

samunSubEntry () kama-da-wane nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Duba kuma ObjectSubEntry.
8.21 Abubuwan Shigarwa
Wannan aji yana wakiltar ƙamus na abu (subindex) na ƙamus kuma yana da ayyuka na memba na jama'a masu zuwa:
getName () Yana karanta sunan abu azaman kirtani.
Virtual std :: string getName () const

getSubIndex () Yana karanta adireshin subindex.
kama-da-wane uint8_t getSubIndex () const

Shafin: doc 1.4.2 / NanoLib 1.3.0

37

8 Matsayin darajoji / ayyuka

getDataType () Yana karanta nau'in bayanan abin.
Virtual nlc ::ObjectEntryDataType getDataType () const

getSdoAccess () Yana bincika idan ana samun damar yin amfani da subindex ta hanyar SDO:

Karanta Kawai

1

Rubuta Kawai

2

Karanta Rubuta

3

NoAccess

0

Virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Yana bincika idan subindex yana iya samun dama/taswira ta hanyar PDO:

Tx

1

Rx

2

TxRx

3

A'a

0

Virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Yana duba tsawon subindex.
kama-da-wane uint32_t getBitLength () const

getDefaultValueAsNumeric () Yana karanta tsoffin ƙima na ƙananan bayanai don nau'ikan bayanan lamba.
kama-da-wane ResultInt samunDefaultValueAsNumeric (std :: kirtani const & key) const

getDefaultValueAsString () Yana karanta tsoffin ƙima na ƙananan bayanai don nau'ikan bayanan kirtani.
kama-da-wane ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Yana karanta tsoffin ƙididdiga na ƙananan ƙididdiga.
Virtual std:: taswira getDefaultValues ​​() const

Shafin: doc 1.4.2 / NanoLib 1.3.0

38

8 Matsayin darajoji / ayyuka

karantaLamba () Yana karanta ainihin ƙimar ƙima ta ƙananan ƙima.
kama-da-wane ResultInt readNumber () const

readString () Yana karanta ainihin kirtani na ƙima.
kama-da-wane ResultString readString () const

readBytes () Yana karanta ainihin ƙimar ƙaramin ƙima a cikin bytes.
ResultArrayByte readBytes () const

rubuta Lamba () Yana rubuta ƙimar lamba a cikin ƙananan bayanai.
kama-da-wane ResultVoid writeNumber (const int64_t value) const

rubutaBytes () Yana rubuta ƙima a cikin maƙasudi a cikin bytes.
m ResultVoid writeBytes (std :: vector const & data) const

8.22 OdIndex
Yi amfani da wannan ajin (wanda ba zai iya canzawa daga ƙirƙira akan) don naɗawa da nemo fihirisa / ƙananan fihirisa na abu. OD na na'urar yana da har zuwa 65535 (0xFFFF) layuka da ginshiƙai 255 (0xFF); tare da rata tsakanin layuka da aka daina. Dubi ƙa'idodin CANo buɗe da littafin samfurin ku don ƙarin daki-daki.
OdIndex () Yana Gina sabon abu OdIndex.
nlc :: OdIndex :: OdIndex (uint16_t index, uint8_t subIndex)

Matsakaicin index subindex

Daga 0 zuwa 65535 (0xFFFF) inc. Daga 0 zuwa 255 (0xFF) inc.

getIndex () Yana karanta fihirisar (daga 0x0000 zuwa 0xFFFF).
uint16_t nlc :: OdIndex :: getIndex () const

Yana dawo da uint16_t

getSubindex () Yana karanta sub-index (daga 0x00 zuwa 0xFF)
uint8_t nlc :: OdIndex :: getSubIndex () const

Shafin: doc 1.4.2 / NanoLib 1.3.0

39

8 Matsayin darajoji / ayyuka

Yana dawo da uint8_t

toString () Yana dawo da fihirisar da fihirisa a matsayin kirtani. Tsohuwar kirtani 0xIII:0xSS tana karanta kamar haka:

I = index daga 0x0000 zuwa 0xFFFF

S = sub-index daga 0x00 zuwa 0xFF

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

Yana dawo da 0xIII: 0xSS

Wakilin kirtani na asali

8.23 OdLibrary
Yi amfani da wannan haɗin shirye-shirye don ƙirƙirar misalan ajin ObjectDictionary daga XML. Ta hanyar sanyaObjectDictionary, zaku iya ɗaure kowane misali zuwa takamaiman na'ura saboda ƙirar ƙirƙira ta musamman. Abubuwan ƙamus na ObjectDictionary don haka ana adana su a cikin abin OdLibrary don samun dama ga fihirisa. Ajin ODLibrary yana ɗora abubuwa ObjectDictionary daga file ko tsararru, adana su, kuma yana da ayyukan memba na jama'a masu zuwa:

getObjectDictionaryCount () kama-da-wane uint32_t samunObjectDictionaryCount () const

samunObjectDictionary () kama-da-wane SakamakoObjectDictionary samuObjectDictionary (uint32_t odIndex)

Yana Komawa ResultObjectDictionary

addObjectDictionaryDagaFile ()
kama-da-wane ResultObjectDictionary addObjectDictionaryDagaFile (std :: string const & absoluteXmlFileHanya)

Yana Komawa ResultObjectDictionary

addObjectDictionary ()
kama-da-wane ResultObjectDictionary addObjectDictionary (std :: vector const & odXmlData, const std :: kirtani & xmlFileHanyar = std :: kirtani ())

Yana Komawa ResultObjectDictionary
8.24 OdTypesHelper
Baya ga ayyuka na memba na jama'a masu zuwa, wannan ajin ya ƙunshi nau'ikan bayanan al'ada. Lura: Don bincika nau'ikan bayanan ku na al'ada, nemi ajin ObjectEntryDataType a cikin od_types.hpp.

uintToObjectCode () Yana canza lambobin da ba a sanya hannu ba zuwa lambar abu:

Null Deftype

0x00 0x05

Shafin: doc 1.4.2 / NanoLib 1.3.0

40

8 Matsayin darajoji / ayyuka

Rushe Rikodin Array

0x06 0x07 0x08 0x09

a tsaye ObjectCode uintToObjectCode (int objectCode mara sa hannu)

isNumericDataType () Yana sanar da idan nau'in bayanai na lamba ne ko a'a.
static bool isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Yana sanar da idan abu shine ma'anar tsarin ma'anar ko a'a.
static bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Yana sanar da idan abu shine ma'anar nau'in ma'anar ko a'a.
static bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Yana sanar da idan nau'in bayanai yana da rikitarwa ko a'a.
static bool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Yana canza lambar da ba a sanya hannu ba zuwa nau'in bayanan OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Yana canza nau'in bayanan OD zuwa kirtani.
static std :: kirtani abuEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Yana canza kirtani zuwa nau'in bayanan OD idan zai yiwu. In ba haka ba, yana dawowa UNKNOWN_DATATYPE.
A tsaye ObjectEntryDataType kirtaniToObjectEntryDatatype (std :: kirtani dataTypeString)

Shafin: doc 1.4.2 / NanoLib 1.3.0

41

8 Matsayin darajoji / ayyuka

objectEntryDataTypeBitLength () Yana ba da labari kan ɗan tsayin nau'in bayanan shigarwa abu.
Static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RESTfulBus tsarin

Wannan tsarin yana ƙunshe da zaɓuɓɓukan daidaitawar sadarwa don dubawar RESTful (a kan Ethernet). Ya ƙunshi halayen jama'a kamar haka:

const std :: string const mara sa hannu dogon const

Haɗa_timout_Option_NAMEOW = "Haɗin Haɗa Haɗin kai tsaye =" Buƙatun Takaddar Haisuwa "

8.26 ProfinetDCP
A ƙarƙashin Linux, aikace-aikacen kira yana buƙatar damar CAP_NET_ADMIN da CAP_NET_RAW. Don kunna: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. A cikin Windows, ƙirar ProfinetDCP tana amfani da WinPcap (an gwada shi da sigar 4.1.3) ko Npcap (an gwada shi da nau'ikan 1.60 da 1.30). Don haka yana bincika ɗakin karatu na wpcap.dll mai ƙarfi a cikin tsari mai zuwa (Lura: babu tallafin Win10Pcap na yanzu):
1. Nanolib.dll directory 2. Windows tsarin directory SystemRoot%System32 3. Npcap directory tsarin shigarwa SystemRoot%System32Npcap 4. Hanyar muhalli
Wannan aji yana wakiltar hanyar sadarwa ta Profinet DCP kuma yana da ayyuka na memba na jama'a masu zuwa:

getScanTimeout () Yana ba da labari kan lokacin binciken na'urar (tsoho = 2000 ms).
kama-da-wane uint32_t nlc :: ProfinetDCP :: getScanTimeout () const

setScanTimeout () Yana saita lokacin duba na'urar (tsoho = 2000 ms).
Virtual void nlc ::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Yana ba da sanarwa game da lokacin da aka gama amsa na'urar don saitin, sake saiti da ayyukan kyaftawa (tsoho = 1000 ms).
kama-da-wane uint32_t nlc :: ProfinetDCP :: getResponseTimeout () const

setResponseTimeout () Yana ba da labari game da lokacin da aka gama amsa na'urar don saitin, sake saiti da ayyukan kyaftawa (tsoho = 1000 ms).
Virtual void nlc:: ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Shafin: doc 1.4.2 / NanoLib 1.3.0

42

8 Matsayin darajoji / ayyuka

Akwai Sabis ()
Yi amfani da wannan aikin don duba samuwan sabis na DCP Profinet.
Ingantaccen adaftar hanyar sadarwa / samuwa Windows: WinPcap / Npcap kasancewar Linux: CAP_NET_ADMIN / CAP_NET_RAW damar
kama-da-wane ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Sigogi BusHardwareId Yana Dawowa gaskiya
karya

ID Hardware na sabis na DCP Profinet don dubawa. Akwai sabis. Babu sabis.

scanProfinetDevices () Yi amfani da wannan aikin don bincika bas ɗin kayan aiki don kasancewar na'urorin Profinet.
Na'urori masu kama-da-wane na na'urorin scanProfinetDevices (const BusHardwareId & busHardwareId)

Sigogi BusHardwareId Yana Dawo da SakamakoProfinetNa'urori

Yana ƙayyade kowane bas ɗin filin da zai buɗe. Hardware a bude yake.

setupProfinetDevice () Yana kafa saitunan na'ura masu zuwa:

Sunan na'ura

Adireshin IP

abin rufe fuska na hanyar sadarwa

Ƙofar tsoho

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

resetProfinetDevice () Yana tsayar da na'urar kuma ya sake saita ta zuwa rashin daidaiton masana'anta.
ResultVoid nlc :: sake saitaProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Yana ba da umarnin na'urar Profinet don fara lumshe LED ɗin ta Profinet.
m ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Yi amfani da wannan aikin don bincika adireshin IP na na'urar.
kama-da-wane ResultVoid ingantaProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

Sigar BusHardwareId ProfinetDevice

Yana ƙayyade ID na hardware don dubawa. Yana ƙayyade na'urar Profinet don ingantawa.

Shafin: doc 1.4.2 / NanoLib 1.3.0

43

8 Matsayin darajoji / ayyuka

Yana Komawa ResultVoid

8.27 Tsarin Na'urar Profinet

Bayanan na'urar Profinet suna da halayen jama'a masu zuwa:

std :: kirtani std :: kirtani std :: tsararru < uint8_t, 6 > uint32_t uint32_t uint32_t

na'urar Sunan na'urarVendor macAddress ipAddress netMask tsoho Gateway

An bayar da adireshin MAC a matsayin tsari a tsarin macAddress = {xx, xx, xx, xx, xx, xx}; alhali adireshin IP, abin rufe fuska da ƙofa duk ana fassara su azaman manyan lambobi na hex, kamar:

Adireshin IP: 192.168.0.2 Mashin hanyar sadarwa: 255.255.0.0 Ƙofar: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Sakamakon sakamako

Yi amfani da ƙimar dawowar "na zaɓi" na waɗannan azuzuwan don bincika idan kiran aiki ya yi nasara ko a'a, da kuma gano dalilan gazawar. A kan nasara, aikin hasashe () yana dawowa karya. Ta hanyar samunResult (), zaku iya karanta ƙimar sakamako kamar kowane nau'in (ResultInt da sauransu). Idan kira ya gaza, kun karanta dalilin ta hanyar getError ().

Halaye masu kariya

kirtani NlcErrorCode uint32_t

ErrorCode Code ErrorCode

Hakanan, wannan ajin yana da ayyuka na memba na jama'a masu zuwa:

hasError () Yana karanta nasarar kiran aikin.
bool nlc::Sakamako::hasError () const

Yana dawowa

gaskiya karya

Kiran da ya gaza Yi amfani da getError () don karanta ƙimar. Nasarar kira. Yi amfani da getResult () don karanta ƙimar.

getError () Yana karanta dalilin idan kiran aiki ya gaza.
const std :: string nlc :: Sakamakon :: getError () const

Yana dawo da kirtani

Shafin: doc 1.4.2 / NanoLib 1.3.0

44

8 Matsayin darajoji / ayyuka
sakamako () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon:
Sakamako (std :: string const & errorString_)
Sakamako (NlcErrorCode const & errCode, std :: string const & errorString_)
Sakamako (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
Sakamako (Sakamakon sakamako & sakamako)
getErrorCode () Karanta NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t samunExErrorCode () const
8.28.1 SakamakonVoid
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo babu komai. Ajin ya gaji ayyuka na jama'a da halaye masu kariya daga ajin sakamako kuma yana da ayyuka na membobin jama'a masu zuwa:
ResultVoid () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon mara tushe:
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 (Sakamakon sakamako & sakamako)
8.28.2 SakamakonInt
NanoLib yana aiko muku da misalin wannan ajin idan aikin ya dawo da lamba. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana mayar da sakamakon lamba idan kiran aiki ya yi nasara.
int64_t samunResult () const
Yana dawowa int64_t

Shafin: doc 1.4.2 / NanoLib 1.3.0

45

8 Matsayin darajoji / ayyuka
ResultInt () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon lamba:
ResultInt (sakamako int64_t)
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 (Sakamakon sakamako & sakamako)
8.28.3 SakamakonString
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo da kirtani. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana karanta sakamakon kirtani idan kiran aiki ya yi nasara.
const std :: string nlc :: ResultString :: getResult () const
Yana dawo da kirtani
ResultString () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon kirtani:
ResultString (std :: kirtani const & saƙo, bool hasError_)
ResultString (NlcErrorCode const & errCode, std :: string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
ResultString (Sakamakon sakamako & sakamako)
8.28.4 ResultArrayByte
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo da tsararrun byte. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana karanta vector byte idan kiran aiki ya yi nasara.
const std :: vector nlc::ResultArrayByte::getResult () const
Yana dawo da ƙima

Shafin: doc 1.4.2 / NanoLib 1.3.0

46

8 Matsayin darajoji / ayyuka
ResultArrayByte () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon tsararrun byte:
ResultArrayByte (std :: vector const & sakamako_)
ResultArrayByte (std :: string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std :: kirtani const & kuskure String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Sakamakon sakamako & sakamako)
8.28.5 ResultArrayInt
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo da adadin adadin. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana karanta ma'aunin integer idan kiran aiki ya yi nasara.
const std :: vector nlc::ResultArrayInt::getResult () const
Yana dawo da ƙima
ResultArrayInt () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon jeri na lamba:
ResultArrayInt (std :: vector const & sakamako_)
ResultArrayInt (std :: string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std :: kirtani const & kuskure String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
ResultArrayInt (Sakamakon sakamako & sakamako)
8.28.6 SakamakonBusHwIds
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo da tsarin ID hardware na bas. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana karanta alamar bus-hardware-ID idan kiran aiki ya yi nasara.
const std :: vector nlc::SakamakonBusHwIds::getResult () const
Sigogi const vector

Shafin: doc 1.4.2 / NanoLib 1.3.0

47

8 Matsayin darajoji / ayyuka
ResultBusHwIds () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon bas-hardware-ID-array:
SakamakonBusHwIds (std :: vector const & sakamako_)
ResultBusHwIds (std :: string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std :: const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
SakamakoBusHwIds (Sakamakon sakamako & sakamako)
8.28.7 SakamakonNa'urar
NanoLib yana aiko muku da misalin wannan ajin idan aikin ya dawo da ID na na'ura. Ajin ya gaji ayyukan jama'a / halayen kariya daga ajin sakamako kuma yana da ayyuka na memba na jama'a masu zuwa:
getResult () Yana karanta vector ID na na'urar idan kiran aiki ya yi nasara.
DeviceId nlc::ResultDeviceId::getResult () const
Yana dawo da ƙima
ResultDeviceId () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon ID na na'ura:
ResultDeviceId (DeviceId const & sakamako_)
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 (Sakamakon sakamako & sakamako)
8.28.8 SakamakonNa'urori
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo da tsararrun ID na na'ura. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana dawo da vector ID na na'urar idan kiran aiki ya yi nasara.
DeviceId nlc::ResultDeviceIds::getResult () const
Yana dawo da ƙima

Shafin: doc 1.4.2 / NanoLib 1.3.0

48

8 Matsayin darajoji / ayyuka
ResultDeviceIds () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon na'urar-ID-array:
ResultDeviceIds (std :: vector const & sakamako_)
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 (Sakamakon sakamako & sakamako)
8.28.9 ResultDeviceHandle
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo da ƙimar hannun na'urar. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana karanta hannun na'urar idan kiran aiki ya yi nasara.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Yana dawo da Handle Device
ResultDeviceHandle () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon sarrafa na'urar:
ResultDeviceHandle (Na'urarHandle const & sakamako_)
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 (Sakamakon sakamako & sakamako)
8.28.10 SakamakoObjectDictionary
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo da abun ciki na ƙamus. Ajin ya gaji ayyukan jama'a / halayen kariya daga ajin sakamako kuma yana da ayyuka na memba na jama'a masu zuwa:
getResult () Yana karanta vector ID na na'urar idan kiran aiki ya yi nasara.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Shafin: doc 1.4.2 / NanoLib 1.3.0

49

8 Matsayin darajoji / ayyuka

Yana dawowa

const vector

ResultObjectDictionary () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon ƙamus na abu:
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 (Sakamakon sakamako & sakamako)

8.28.11 ResultConnectionState
NanoLib yana aiko muku da misalin wannan ajin idan aikin ya dawo da bayanin haɗin na'urar-jihar. Ajin ya gaji ayyukan jama'a / halayen kariya daga ajin sakamako kuma yana da ayyuka na memba na jama'a masu zuwa:
getResult () Yana karanta hannun na'urar idan kiran aiki ya yi nasara.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Yana dawo da DeviceConnectionStateInfo Haɗe / An cire haɗin / Haɗa Bootloader

ResultConnectionState () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon yanayin haɗin kai:
ResultConnectionState (DeviceConnectionStateInfo const & sakamako_)

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 (Sakamakon sakamako & sakamako)

8.28.12 SakamakoObjectEntry
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo da wani abu. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:

Shafin: doc 1.4.2 / NanoLib 1.3.0

50

8 Matsayin darajoji / ayyuka
getResult () Yana dawo da vector ID na na'urar idan kiran aiki ya yi nasara.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Yana dawo da Const ObjectEntry
ResultObjectEntry () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon shigar abu:
SakamakoObjectEntry (nlc::ObjectEntry const & sakamako_)
ResultObjectEntry (std :: string const & errorString_)
SakamakoObjectEntry (NlcErrorCode const & errCode, std :: string const & errorString_)
SakamakoObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std :: string const & errorString_)
SakamakoObjectEntry (Sakamakon sakamako & sakamako)
8.28.13 SakamakoObjectSubEntry
NanoLib yana aiko muku da misalin wannan ajin idan aikin ya dawo da wani yanki na abu. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana dawo da vector ID na na'urar idan kiran aiki ya yi nasara.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Yana dawo da Const ObjectSubEntry
ResultObjectSubEntry () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sakamakon shigar abu:
ResultObjectSubEntry (nlc::ObjectEntry const & sakamako_)
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 (Sakamakon sakamako & sakamako)
8.28.14 SakamakoProfinetNa'urori
NanoLib yana aiko muku da misalin wannan ajin idan aikin ya dawo da na'urar Profinet. Ajin ya gaji ayyukan jama'a / halayen kariya daga ajin sakamako kuma yana da ayyuka na memba na jama'a masu zuwa:

Shafin: doc 1.4.2 / NanoLib 1.3.0

51

8 Matsayin darajoji / ayyuka

getResult () Yana karanta vector na na'urar Profinet idan kiran aiki ya yi nasara.
const std :: vector & getResult () const

ResultProfinetDevices () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin na'urorin Profinet.
ResultProfinetDevices (const std :: vector & ProfinetDevices)
ResultProfinetDevices (Sakamakon sakamako & sakamako)
ResultProfinetDevices (const std :: kirtani &errorText, NlcErrorCode errorCode = NlcErrorCode :: Babban Kuskure, uint32_t extendedErrorCode = 0)
8.28.15 SakamakoampleDataArray
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo kamarampda data array. Ajin ya gaji ayyukan jama'a / halaye masu kariya daga ajin sakamako kuma yana da ayyukan membobin jama'a masu zuwa:
getResult () Yana karanta tsararrun bayanai idan kiran aiki ya yi nasara.
const std :: vector <SampleData> & getResult () const

SakamakoampleDataArray () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin na'urorin Profinet.
SakamakoampleDataArray (const std :: vector <SampleData> & dataArray)

SakamakoampleDataArray (const std :: string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode :: Babban Kuskure, const uint32_t extendedErrorCode = 0)

SakamakoampleDataArray (Sakamakon SakamakonampleDataArray da sauransu)

SakamakoampleDataArray (Sakamakon sakamako & sakamako)

8.28.16 Sakamakoamplerstate
NanoLib ya aiko muku da misalin wannan ajin idan aikin ya dawo kamarampler state.Wannan ajin ya gaji ayyuka na jama'a/kare kariya daga ajin sakamako kuma yana da ayyuka masu zuwa:

getResult () Yana karanta sampler state vector idan kiran aiki yayi nasara.
SamplerState getResult () const

Ya dawo SamplerState>

Ba a daidaita / An daidaita / Shirye / Gudu / Cika / An kasa / An soke

Shafin: doc 1.4.2 / NanoLib 1.3.0

52

8 Matsayin darajoji / ayyuka

SakamakoamplerState () Ayyuka masu zuwa suna taimakawa wajen ayyana ainihin sampjihar .
SakamakoamplerState (const SampJihar lerstate)

SakamakoamplerState (const std :: string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode :: GeneralError, const uint32_t
ErrorCode = 0)

SakamakoamplerState (sakamakon sakamakonamplerState da sauransu)

SakamakoamplerState (Sakamakon sakamako & sakamako)

8.29 NlcErrorCode

Idan wani abu ya yi kuskure, azuzuwan sakamako suna ba da rahoton ɗaya daga cikin lambobin kuskure da aka jera a cikin wannan ƙidayar.

Lambar Kuskuren Nasara Gabaɗaya Kuskuren BusBa samuwa Kuskuren ladabi na Sadarwa
ODDoesBabu ODDoesBabu ODNincihancin Samun damar ODNau'in Rashin daidaiton Ayyukan Aiki Ba a Tallafawa Rashin Ingantattun Ayyuka
Abubuwan da ba su da inganci Ba a samo hanyar da ba a samo albarkatun da ba a samo su ba.

C: Category D: Bayanin R: Dalilin C: Babu. D: Babu kuskure. R: An kammala aikin cikin nasara.
C: Ba a fayyace ba. D: Kuskuren da ba a bayyana ba. R: Rashin gazawa wanda bai dace da wani nau'in ba.
C: bas. D: Babu motar bas ɗin hardware. R: Bus babu shi, yanke ko lahani.
C: Sadarwa. D: Sadarwa ba abin dogaro ba ne. R: Bayanan da ba a zato, kuskuren CRC, kurakuran firam ko daidaito, da sauransu.
C: Protocol. D: Kuskuren yarjejeniya. R: Amsa bayan zaɓin yarjejeniya mara tallafi, rahoton na'urar da ba ta da tallafi, kuskure a cikin yarjejeniya (ce, SDO segment sync bit), da sauransu. yanki sync bit), da sauransu. R: Ƙa'idar mara tallafi (zaɓuɓɓuka) ko kuskure a cikin yarjejeniya (ce, SDO ɓangaren daidaitawa bit), da sauransu.
C: Kamus na abu. D: OD adireshin babu shi. R: Babu irin wannan adireshin a cikin ƙamus ɗin abu.
C: Kamus na abu. D: Samun adireshin OD baya aiki. R: Ƙoƙarin rubuta karatu-kawai, ko karantawa daga adireshin rubutu-kawai.
C: Kamus na abu. D: Rubuta rashin daidaituwa. R: Ƙimar da ba ta canzawa zuwa takamaiman nau'in, a ce, a ƙoƙarin ɗaukar kirtani azaman lamba.
C: aikace-aikace. D: An zubar da tsari. R: Tsarin yanke ta buƙatun aikace-aikacen. Yana dawowa kawai akan aiki yana katsewa ta aikin dawo da kira, ce, daga duban bas.
C: gama gari. D: Tsari mara tallafi. R: Babu tallafin motar bas / na'ura.
C: gama gari. D: Tsarin tsari ba daidai ba a mahallin yanzu, ko mara inganci tare da hujja na yanzu. R: Ƙoƙarin sake haɗawa zuwa bas / na'urori da aka haɗa. Ƙoƙarin cire haɗin kai don riga an cire haɗin. Ƙoƙarin aiki na bootloader a yanayin firmware ko akasin haka.
C: gama gari. D: Hujja ba ta da inganci. R: Ba daidai ba dabaru ko syntax.
C: gama gari. D: An hana shiga. R: Rashin haƙƙoƙi ko damar yin aikin da ake buƙata.
C: gama gari. D: Ba a samo takamaiman abu ba. R: Bas ɗin Hardware, yarjejeniya, na'ura, adireshin OD akan na'urar, ko file ba a samu ba.
C: gama gari. D: Ba a samo takamaiman abu ba. R: aiki, babu, yankewa ko lahani.
C: gama gari. D: Rashin isasshen ƙwaƙwalwar ajiya. R: Ƙwaƙwalwar ƙwaƙwalwa kaɗan ne don aiwatar da wannan umarni.
C: gama gari. D: Tsari ya ƙare. R: Komawa bayan ƙarewar lokaci. Ƙayyadaddun lokaci na iya zama lokacin amsa na'urar, lokacin samun rabo ko keɓaɓɓen damar albarkatu, ko lokacin canza bas / na'urar zuwa yanayin da ya dace.

Shafin: doc 1.4.2 / NanoLib 1.3.0

53

8 Matsayin darajoji / ayyuka

8.30 NlcCallback
Wannan aji na iyaye don kiran baya yana da aikin memba na jama'a mai zuwa: callback ()
dawo da kiran ResultVoid ()

Yana dawowa

SakamakonVoid

8.31 NlcDataTransferCallback
Yi amfani da wannan ajin kira don canja wurin bayanai (sabuntawa na firmware, NanoJ upload da sauransu). 1. Don ƙaddamar da firmware: Ƙayyade "co-class" wanda ke ƙaddamar da wannan tare da hanyar sake kira na al'ada
aiwatarwa. 2. Yi amfani da misalan "co-class's" a cikin kiran NanoLibAccessor.uploadFirmware (). Babban ajin kansa yana da ayyuka na jama'a masu zuwa:

callback () kama-da-wane ResultVoid callback (nlc:: DataTransferInfo, int32_t data)

Yana dawowa

SakamakonVoid

8.32 NlcScanBusCallback
Yi amfani da wannan ajin dawo da kira don duba bas. 1. Ƙayyade "co-class" wanda ke ƙaddamar da wannan tare da aiwatar da hanyar sake kiran al'ada. 2. Yi amfani da misalan "co-class's" a cikin kiran NanoLibAccessor.scanDevices () kira. Babban ajin kansa yana da ayyuka na jama'a masu zuwa.

dawowa ()
ResultVoid sake kiran waya (nlc :: BusScanInfo bayanin, std :: vector An samo const & na'urori, int32_t data)

Yana Komawa ResultVoid
8.33 NlcLogging Callback
Yi amfani da wannan ajin dawo da kira don shiga sake kiran waya. 1. Ƙayyade ajin da ke tsawaita wannan ajin tare da aiwatar da hanyar dawo da kira na al'ada 2. Yi amfani da mai nuni ga misalan sa domin saita dawo da kira ta NanoLibAccessor>
saitaLoggingCallback (...).
dawo da mara waya mara amfani (const std :: kirtani & payload_str, const std :: kirtani & formatted_str, const std :: kirtani & logger_name, const unsigned int log_level, const std :: uint64_t time_since_epoch, const size_t thread_id)

8.34 SamplerInterface
Yi amfani da wannan ajin don daidaitawa, farawa da dakatar da sampler, ko don samun sampya jagoranci data kuma debo kamarampmatsayin ler ko kuskuren ƙarshe. Ajin yana da ayyuka na jama'a masu zuwa.

Shafin: doc 1.4.2 / NanoLib 1.3.0

54

8 Matsayin darajoji / ayyuka

saita () Yana saita azamanampler.
Virtual ResultVoid nlc::SamplerInterface :: daidaitawa (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Sigogi [a] na'urar Hannun [a] samplerConfiguration
Yana Komawa ResultVoid

Yana ƙayyade na'urar da za a saita sampler za. Yana ƙayyadaddun ƙimar halayen daidaitawa. Ya tabbatar da cewa aikin banza ya gudana.

getData () Yana samun sampjagoranci bayanai.
Sakamakon kama-da-waneampleDataArray nlc::SamplerInterface ::getData (const DeviceHandle deviceHandle)

Ma'auni [a] na'urar Hannun Sakamakon KomawaampleDataArray

Yana ƙayyadaddun na'urar don samun bayanan.
Isar da sampbayanan jagora, wanda zai iya zama tsararru mara komai idan samplerNotify yana aiki akan farawa.

getLastError () Yana samun kamarampkuskuren karshe.
Virtual ResultVoid nlc::SamplerInterface :: getLastError (const DeviceHandle deviceHandle)

Yana Komawa ResultVoid

Ya tabbatar da cewa aikin banza ya gudana.

getState () Yana samun kamaramphali ler.
Sakamakon kama-da-waneamplerState nlc::SamplerInterface ::getState (const DeviceHandle deviceHandle)

Sakamakon Komawaamplerstate

Isar da sampjihar .

farawa () farawa kamarampler.
Virtual ResultVoid nlc::SamplerInterface :: farawa (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t aikace-aikaceData)

Siga [a] na'urar Hannun [a] SamplerNotify [a] aikace-aikacenData
Yana Komawa ResultVoid

Yana ƙayyade na'urar da za a fara sampler za.
Yana ƙayyade bayanin zaɓi na zaɓi don bayar da rahoto (zai iya zama nullptr).
Zaɓin: Gabatar da bayanan da ke da alaƙa da aikace-aikacen (ƙimar ƙima ta 8-bit mai amfani / ID na na'ura, ko kwanan wata, mai nuna canji/aiki, da sauransu) zuwa samplerNotify.
Ya tabbatar da cewa aikin banza ya gudana.

Shafin: doc 1.4.2 / NanoLib 1.3.0

55

8 Matsayin darajoji / ayyuka

tsayawa () Tsayawa kamarampler.
Virtual ResultVoid nlc::SamplerInterface :: tsayawa (const DeviceHandle deviceHandle)

Siga [a] na'urar Hannun Yana Komawar SakamakoVoid

Yana ƙayyade na'urar da za ta dakatar da sampler za. Ya tabbatar da cewa aikin banza ya gudana.

8.35 SamplerConfiguration struct

Wannan tsarin ya ƙunshi bayanan sampler's sanyi zažužžukan (a tsaye ko a'a).

Halayen jama'a

std:: vector adireshi masu biyo baya

Har zuwa adiresoshin OD 12 don zama sampjagoranci.

uint32_t

sigar

Sigar tsarin.

uint32_t

tsawon Millise seconds

SampTsawon lokaci a cikin ms, daga 1 zuwa 65535

uint16_t

lokaciMilise seconds

Sampling period in ms.

uint16_t

lambaOfSamples

Sampkasa adadin.

uint16_t

PreTriggerNumberOfSamples

Samples pre-fararwa adadin.

bool

ta amfani da Implementation Software

Yi amfani da aiwatar da software.

bool

amfani da NewFWSamplerImplementation Yi amfani da aiwatar da FW don na'urori masu a

FW version v24xx ko sabo.

SamplerMode

yanayin

Na al'ada, maimaituwa ko ci gaba sampling.

SamplerTriggerCondition triggerCondition

Fara yanayi: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGTER = 0x14 TC_0 TC_GREATER_OR_EQUAL = 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_CV = 1x0B TC_MULTI_C

SamplerTrigger

SamplerTrigger

Fararwa don farawa kamarampler?

Halayen jama'a a tsaye
a tsaye constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 daidaitaccen girman girman girman_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Yi amfani da wannan ajin don kunna sampler sanarwar lokacin da kuka fara kamarampler. Ajin yana da ayyuka na jama'a masu zuwa.

Shafin: doc 1.4.2 / NanoLib 1.3.0

56

8 Matsayin darajoji / ayyuka

sanarwa ()
Yana isar da shigarwar sanarwa.
Virtual Void nlc::SamplerNotify :: sanarwa (const ResultVoid & lastError, const SamplerState samplerState, const std :: vector <SampleData> & sampleDatas, int64_t aikace-aikaceData)

Ma'auni [a] Kuskuren karshe [a] samplerstate
[in] sampleDatas [a] aikace-aikaceData

Rahoton kuskuren ƙarshe ya faru yayin sampling. Rahoton sampMatsayin ler a lokacin sanarwa: Ba a daidaita / An daidaita / Shirye / Gudu / Cika / An kasa / An soke. Rahoton sampled-data array. Yana ba da rahoton takamaiman bayanan aikace-aikacen.

8.37 SampleData tsarin

Wannan tsarin ya ƙunshi sampjagoranci bayanai.

uin64_t iterationLambar

Yana farawa a 0 kuma yana ƙaruwa kawai a yanayin maimaitawa.

std :: vector <SampledValues> Ya ƙunshi tsararrun sampjagoranci dabi'u.

8.38 SampledValue struct

Wannan tsarin ya ƙunshi sampjagoranci dabi'u.

in64_t darajar uin64_t CollectTimeMsec

Ya ƙunshi ƙimar adireshin OD da aka sa ido.
Ya ƙunshi lokacin tarin a cikin millise seconds, dangane da sample farawa.

8.39 SamplerTrigger tsarin

Wannan tsarin ya ƙunshi saitunan faɗakarwa na sampler.

SamplerTriggerCondition yanayin
OdIndex darajar uin32_t

Yanayin jawo: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_0 TC_GREATER_OR_EQUAL = 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_C
OdIndex na jawo (adireshi).
Ƙimar yanayi ko lambar bit (farawa daga bit zero).

8.40 Serial tsarin

Nemo a nan zaɓin hanyoyin sadarwar ku da kuma halayen jama'a masu zuwa:

const std :: kirtani const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = "Serial baud rate" baudRate = SerialBaudRate struct

Shafin: doc 1.4.2 / NanoLib 1.3.0

57

8 Matsayin darajoji / ayyuka

const std :: kirtani const SerialParity

PARITY_OPTIONS_NAME = "Serial paraty" daidaici = SerialParity struct

8.41 Tsarin SerialBaudRate

Nemo a nan adadin baud ɗin sadarwar ku na serial da halayen jama'a masu zuwa:

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

BAUD_RATE_7200 = "7200" BAUD_RATE_9600 = "9600" BAUD_RATE_14400 = "14400" BAUD_RATE_19200 = "19200" BAUD_RATE_38400" = "38400" = "56000" = 56000 BAUD_57600_57600 115200" BAUD_RATE_115200 = "128000" BAUD_RATE_128000 = "256000" BAUD_RATE_256000 = "XNUMX"

8.42 Tsarin SerialParity

Nemo a nan zaɓuɓɓukan daidaitawar ku da kuma halayen jama'a masu zuwa:

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

BABU = "babu" ODD = "m" KO DA = "ko da" MARK = "alama" SARKI = "sarari"

Shafin: doc 1.4.2 / NanoLib 1.3.0

58

9 Lasisi

9 Lasisi

NanoLib API dubawa kan kai da kuma exampNanotec Electronic GmbH & Co. KG suna da lasisin lambar tushe a ƙarƙashin Lasisin Ƙirƙirar Ƙirƙirar Ƙirƙirar 3.0 Mai Rarraba (CC BY). Sassan ɗakin karatu da aka bayar a cikin tsarin binary (dakunan karatu na sadarwa na bas da filin bas) suna da lasisi a ƙarƙashin Lasisin Ƙarƙashin Ƙarƙashin Ƙarƙashin Ƙirƙirar 4.0 (CC BY ND).

Ƙirƙirar Commons
Takaitacciyar taƙaitacciyar karatun ɗan adam ba za ta maye gurbin lasisin kanta ba. Kuna iya samun lasisi daban-daban a creativecommons.org kuma an haɗa su a ƙasa. Kuna da kyauta don:

CC BY 3.0
Raba: Duba dama. Daidaita: Remix, canzawa, da ginawa akan
abu don kowane dalili, ko da na kasuwanci.

CC BY-ND 4.0
Raba: Kwafi da sake rarraba kayan ta kowace matsakaici ko tsari.

Mai ba da lasisi ba zai iya soke waɗannan ƴancin da ke sama muddin kun bi waɗannan sharuɗɗan lasisi masu zuwa:

CC BY 3.0

CC BY-ND 4.0

Siffata: Dole ne ku ba da ƙimar da ta dace, Siffar: Duba hagu. Amma: Bada hanyar haɗi zuwa wannan

samar da hanyar haɗi zuwa lasisi, kuma nuna idan

sauran lasisi.

an yi canje-canje. Kuna iya yin haka a kowane

Babu abubuwan haɓakawa: Idan kun sake haɗawa, canza, ko ginawa

hanyar da ta dace, amma ba ta kowace hanya da aka ba da shawarar ba.

akan kayan, ba za ku iya rarrabawa ba

yana samun mai ba da lasisi ya amince da ku ko amfanin ku.

kayan da aka gyara.

Babu ƙarin hani: Ba za ku iya amfani ba Babu ƙarin hani: Duba hagu. sharuddan doka ko matakan fasaha waɗanda bisa doka

hana wasu yin wani abu lasisi

izini.

Lura: Ba dole ba ne ka bi lasisin abubuwan abu a cikin jama'a ko inda aka ba da izinin amfani da ku ta hanyar keɓance ko iyakancewa.
Lura: Babu garanti da aka bayar. Maiyuwa lasisin ba zai ba ku duk izinin da ake buƙata don amfanin da aka yi niyya ba. Domin misaliampko, wasu haƙƙoƙi kamar tallatawa, keɓantawa, ko haƙƙin ɗabi'a na iya iyakance yadda kuke amfani da kayan.

Shafin: doc 1.4.2 / NanoLib 1.3.0

59

Buga, lamba, iri

©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 An kiyaye duk haƙƙoƙi. Kuskure, tsallakewa, fasaha ko canjin abun ciki mai yiwuwa ba tare da sanarwa ba. Alamu/samfuran da aka ambata alamun kasuwanci ne na masu su kuma ana ɗaukar su kamar haka. Sigar asali.

Takardu 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

+ Ƙara> Canja # Kafaffen> Sake yin aikin da aka bayaramples.
+ NanoLib Modbus: Ƙara tsarin kulle na'urar don Modbus VCP. # NanoLib Core: Kafaffen yanayin haɗin gwiwa. # Lambar NanoLib: Gyaran bayanan kayan aikin bas.
+ NanoLib-CANopen: Taimakawa ga Peak PCAN-USB adaftan (IPEH-002021/002022).
> NanoLib Core: Canja wurin kiran dawo da shiga (LogLevel wanda LogModule ya maye gurbinsa). # NanoLib Logger: An gyara rarrabuwa tsakanin ainihin da kayayyaki. # Modbus TCP: Kafaffen sabunta firmware don FW4. # EtherCAT: Kafaffen shirin NanoJ na loda don Core5. # EtherCAT: Kafaffen sabunta firmware don Core5.
# Modbus RTU: Kafaffen batutuwan lokaci tare da ƙananan ƙimar baud yayin sabunta firmware. # RESTful: Kafaffen ƙaddamar da shirin NanoJ.
# NanoLib Modules Sampler: Daidaitaccen karatun sampjagoran darajar boolean.
+ Goyan bayan Java 11 ga duk dandamali. + Python 3.11/3.12 yana goyan bayan duk dandamali. + Sabuwar hanyar shiga kiran dawo da kira (duba misaliamples). + Kira na dawowa don NanoLib Logger. > Sabunta logger zuwa sigar 1.12.0. > NanoLib Modules Sampler: Taimako yanzu don Nanotec firmware firmware v24xx. > NanoLib Modules Sampler: Canjin tsarin da aka yi amfani da shi don sampler sanyi. > NanoLib Modules Sampler: Yanayin ci gaba yana kama da mara iyaka; Ana duba yanayin faɗakarwa sau ɗaya; adadin sampLes dole ne ya zama 0. > NanoLib Modules Sampler: fifiko na al'ada don zaren da ke tattara bayanai a yanayin firmware. > NanoLib Modules SampAlgorithm na sake rubutawa don gano canji tsakanin Yanayin Shirye & Gudu. # NanoLib Core: Babu sauran cin zarafin shiga (0xC0000005) akan rufe na'urori 2 ko sama da haka ta amfani da kayan aikin bas iri ɗaya. # NanoLib Core: Babu sauran Laifin Rarraba akan haɗa adaftar PEAK a ƙarƙashin Linux. # NanoLib Modules Sampler: Daidai sampLed-darajar karantawa a cikin yanayin firmware. # NanoLib Modules Sampler: Daidaitaccen tsari na 502X: 04. # NanoLib Modules Sampler: Daidai hadawa na buffers tare da tashoshi. # NanoLib-Canopen: Haɓaka lokacin CAN don ƙarfi da ingantaccen dubawa a ƙananan baudrates. # NanoLib-Modbus: algorithm gano VCP don na'urori na musamman (USB-DA-IO).
+ Taimakon EtherCAT.
+ Bayani akan saitunan aikin VS a cikin Sanya aikin ku.
+ samuDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + samuXmlFileSuna (). + const std :: kirtani & xmlFileHanya a addObjectDictionary (). + samu SamplerInterface ().

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

Shafin: doc 1.4.2 / NanoLib 1.3.0

60

10 Tambayoyi, lamba, iri

Takardu
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

+ Ƙara> Canja # Kafaffen + sake yin na'ura (). + Lambar Kuskuren ResourceBa samuwa don samunDeviceBootloaderVersion (), ~VendorId (), ~ HardwareVersion (), ~ SerialNumber, da ~ Uid. > firmwareUploadDagaFile yanzu uploadFirmwareDagaFile (). > firmwareUpload () yanzu uploadFirmware (). > bootloaderUploadDagaFile () yanzu uploadBootloaderDagaFile (). > bootloaderUpload () yanzu uploadBootloader (). > bootloaderFirmwareUploadDagaFile () don loda BootloaderFirmwareDagaFile (). > bootloaderFirmwareUpload () yanzu uploadBootloaderFirmware (). > nanojUploadDagaFile () yanzu uploadNanoJFromFile (). > nanojUpload () yanzu uploadNanoJ (). > objectDictionaryLibrary () yanzu samiObjectDictionaryLibrary (). > String_String_Map yanzu StringStringMap. > NanoLib-Common: saurin aiwatar da lissafinAvailableBusHardware da buɗeBusHardwareWithProtocol tare da adaftar Ixxat. > NanoLib-CANopen: tsoffin saitunan da aka yi amfani da su (1000k baudrate, lambar bas Ixxat 0) idan zaɓin kayan aikin bas ba komai. > NanoLib-RESTful: izini mai gudanarwa ya ƙare don sadarwa tare da masu ɗaukar boot ɗin Ethernet a ƙarƙashin Windows idan akwai direban npcap / winpcap. # NanoLib-CANopen: kayan aikin bas yanzu yana buɗe ba tare da wani zaɓi ba. # NanoLib-Common: budeBusHardwareWithProtocol () ba tare da zubar da ƙwaƙwalwar ajiya yanzu ba.
+ goyon bayan Linux ARM64. + Ma'ajiyar tarin USB / REST / Tallafin DCP na riba. + dubaConnectionState (). + samunDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (maye gurbin NanotecExceptions). + NanoLib Modbus: Cibiyar VCP / USB ta haɗa zuwa USB. > Modbus TCP dubawa yana dawo da sakamako. <Modbus TCP Latency sadarwa ya kasance akai-akai.
+ Ƙarin ObjectEntryDataType (rikitarwa da profile- takamaiman). + Koma IOError idan haɗin na'urar () da sikanin Na'urori () ba su sami ko ɗaya ba. + 100 ms kawai ƙarewar lokaci don CanOpen / Modbus.
+ Goyan bayan Modbus (da USB Hub ta hanyar VCP). + Babi Ƙirƙirar aikin Linux ɗin ku. + ExtraHardwareSpecifier zuwa BusHardwareId (). + extraId_ da extraStringId_ zuwa DeviceId ().
+ setBusState (). + samunDeviceBootloaderBuildId (). + samunDeviceFirmwareBuildId (). + samuDeviceHardwareVersion (). # Bugfixes.
Buga.

Samfura
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Shafin: doc 1.4.2 / NanoLib 1.3.0

61

Takardu / Albarkatu

Nanotic NanoLib C++ Shirye-shiryen [pdf] Manual mai amfani
Shirye-shiryen NanoLib C, Shirye-shiryen C, Shirye-shiryen

Magana

Bar sharhi

Ba za a buga adireshin imel ɗin ku ba. Ana yiwa filayen da ake buƙata alama *