Nanotic-LOGO

Polokalama Nanotic NanoLib C++

Nanotic-NanoLib-C++-Polokalame- GAOGA

Fa'amatalaga o oloa

Fa'amatalaga

  • Igoa o oloa: NanoLib
  • Polokalama Gagana: C++
  • Faʻamatalaga o oloa: 1.3.0
  • Fa'aliliuga Tusi Taiala: 1.4.2

O le faletusi NanoLib ua mamanuina mo polokalame fa'atonutonu polokalame mo Nanotec controllers. E maua ai se fa'aoga fa'aoga, galuega autu, ma faletusi feso'ota'iga e fa'afaigofie ai le atina'eina o talosaga fa'atonutonu.

Fa'atonuga o le Fa'aaogaina o Mea

  • Ae e te le'i amataina:
    • Ia fa'amautinoa o lo'o fa'amalieina e lau polokalama mea e mana'omia mo meafaigaluega o lo'o fa'amaoti mai ile tusi lesona. O le au faʻamoemoe mo lenei oloa e aofia ai le au atinaʻe o loʻo vaʻavaʻai e fatuina polokalama faʻatonutonu mo Nanotec controllers.
  • Amataina:
    • Ina ia amata faʻaaoga NanoLib, mulimuli i laasaga nei:
    • Amata i le fa'aulufale mai o NanoLib i lau poloketi.
    • Fa'atulaga au fa'atulagaga o galuega pe a mana'omia.
    • Fausia lau poloketi e faʻapipiʻi ai galuega a NanoLib.
  • Fausia Poloketi:
    • E mafai ona e faia ni poloketi mo Windows ma Linux siosiomaga. Mulimuli i faʻatonuga faʻapitoa o loʻo tuʻuina atu i le tusi lesona mo tulaga taʻitasi.
  • Vasega / Galuega Fa'asinomaga:
    • Va'ai ile tusi fa'aoga mo se ta'iala au'ili'ili ile vasega ma galuega o lo'o maua ile NanoLib mo polokalame fa'atonutonu polokalame.

FAQs

  • Q: O le a le faʻamoemoe o NanoLib?
    • A: NanoLib ose faletusi mo polokalame fa'atonutonu polokalame mo Nanotec controllers, tu'uina atu galuega taua ma feso'ota'iga.
  • Q: E mafai faapefea ona ou amata ile NanoLib?
    • A: Amata i le fa'aulufaleina mai o NanoLib i totonu o lau poloketi, fa'apipi'i fa'atulagaga o galuega, ma fausia lau galuega fa'atino e fa'aoga ai foliga NanoLib.

“`

Fa'aaoga Tusitaiala NanoLib
C++

Fa'amaonia i le fa'asologa o oloa 1.3.0

Tusi Taiala Fa'aaogā Fa'aliliuga: 1.4.2

Manulauti o pepa ma feagaiga

O lenei pepa o loʻo faʻamatalaina le seti ma le faʻaogaina o le faletusi NanoLib ma o loʻo i ai se faʻamatalaga i vasega uma ma galuega mo le faʻatulagaina o lau lava polokalama faʻatonutonu mo Nanotec controllers. Matou te fa'aogaina mataitusi nei:
O lo'o vasevase tusitusiga e fa'ailogaina ai se fa'asinomaga po'o se hyperlink.
Examp1: Mo fa'atonuga tonu ile NanoLibAccessor, va'ai Setup. Example 2: Faʻapipiʻi le avetaavale Ixxat ma faʻafesoʻotaʻi le CAN-to-USB adapter. O le fa'asinomaga o lona uiga: O le mea lea ua ta'ua, o se lisi o mea / mea, o se laupepa / file igoa po'o (pe a mana'omia) se fa'amatalaga i le gagana ese.
Example 1: Filifili File > Fou > Pepa avanoa. Tatala le Tool tab ma filifili Faʻamatalaga. Example 2: O lenei pepa e vaevae tagata fa'aoga (= Nutzer; usuario; utente; utilisateur; utente etc.) mai:
– Tagata fa'aoga lona tolu (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente etc.). – Fa'ai'uga fa'aoga (= Endnutzer; usuario final; utente final; utilisateur final; utente finale etc.).
E fa'ailoga e le avefe'au poloka fa'ailoga po'o fa'atonuga o polokalame. Example 1: Via Bash, valaʻau sudo faia faʻapipiʻi e kopi ai mea faʻasoa; ona valaau lea ldconfig. Example 2: Fa'aoga le galuega fa'atino NanoLibAccessor e sui ai le tulaga fa'amau i NanoLib:
// ***** C++ fesuiaiga *****
void setLoggingLevel(LogLevel tulaga);
O tusitusiga mata'utia e fa'amamafa ai upu ta'itasi e taua tele. I le isi itu, o fa'ailoga fa'ailoga fa'apipi'i e fa'amamafa ai le taua(!).
Example 1: Puipui oe lava, isi ma au meafaigaluega. Mulimuli ia matou fa'amatalaga saogalemu lautele e masani ona fa'aoga i oloa uma Nanotec.
Example 2: Mo lau lava puipuiga, mulimuli foʻi faʻamatalaga saogalemu faʻapitoa e faʻatatau i lenei oloa faʻapitoa. O le veape ia kiliki-o lona uiga o le kiliki e ala i le ki lona lua e tatala ai se lisi o tala ma isi.
Example 1: Co-kiliki i luga o le file, filifili Toe igoa, ma toe faaigoa le file. Example 2: Ina ia siaki meatotino, kiliki i luga ole file ma filifili meatotino.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

4

Ae e te le'i amataina

Ae e te leʻi amata faʻaogaina le NanoLib, saunia lau PC ma faʻailoa oe lava e uiga i le faʻaogaina ma le faʻatapulaʻaina o faletusi.
2.1 Fa'atonuga ma meafaigaluega

Nanotic-NanoLib-C++-Polokalame-FIG- (1)
FAAMATALAGA Fa'aletonu mai le fa'agaioiga 32-bit po'o le fa'agata faiga! Fa'aoga, ma tausia pea, se faiga 64-bit. Mata'ituina fa'agata OEM ma fa'atonuga.

NanoLib 1.3.0 lagolagoina uma Nanotec oloa ma CANopen, Modbus RTU (faʻapea foʻi le USB i luga o le telefoni feaveaʻi), Modbus TCP, EtherCat, ma Profinet. Mo NanoLibs matutua: Va'ai changelog i le fa'ailoga. I lou tulaga lamatia na'o: legacy-system use. Fa'aaliga: Mulimuli i fa'atonuga a le OEM e fa'amaualalo ai pe a e fa'afeagai ma fa'afitauli pe a fa'aogaina se fa'apipi'i USB fa'avae FTDI.

Manaoga (64-bit faiga fa'atulafonoina)
Windows 10 poʻo le 11 w/ Visual Studio 2019 version 16.8 poʻo mulimuli ane ma Windows SDK 10.0.20348.0 (version 2104) poʻo mulimuli ane
C++ redistributables 2017 poʻo maualuga atu Canopen: Ixxat VCI poʻo le PCAN avetaʻavale autu (filifiliga) EtherCat module / Profinet DCP: Npcap poʻo WinPcap RESTful module: Npcap, WinPcap, poʻo le faʻatagaga faʻatonu e
fa'afeso'ota'i fa'atasi ma le Ethernet bootloaders
Linux w/ Ubuntu 20.04 LTS i le 24 (x64 uma ma arm64)
Ulutala fatu ma pusa libpopt-dev Profinet DCP: CAP_NET_ADMIN ma CAP_NET_RAW mafai-
feso'ota'iga CANopen: Ixxat ECI aveta'avale po'o Peak PCAN-USB adapter EtherCat: CAP_NET_ADMIN, CAP_NET_RAW ma
CAP_SYS_NICE tomai malōlō: CAP_NET_ADMIN mafai ona feso'ota'i ma Eth-
ernet bootloaders (foi fautuaina: CAP_NET_RAW)

Gagana, fetuutuuna'i fieldbus, uaea
C++ GCC 7 pe maualuga atu (Linux)
EtherCAT: Uaea Ethernet VCP / USB hub: o le taimi nei toniga USB USB teuina tele: Uaea USB MOTO: Uaea Ethernet CANopen: Ixxat USB-i-CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB adapter Leai se lagolago Ixxat mo Ubuntu i le arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 poʻo se mea faʻapipiʻi tutusa; Uaea USB i luga ole telefoni feaveai (VCP)
Modbus TCP: Uaea Ethernet e pei o fa'amaumauga o oloa

2.2 Fa'atatau ile fa'aoga ma le au maimoa
O le NanoLib o se faletusi o polokalame ma vaega faakomepiuta mo le fa'agaioia o, ma feso'ota'iga ma, Nanotec controllers i le tele o fa'aoga fa'apisinisi ma mo na'o tagata fai polokalame fa'apitoa.
Ona o le taimi moni e le mafai ona gafatia meafaigaluega (PC) ma faiga faʻaogaina, NanoLib e le mo le faʻaogaina i talosaga e manaʻomia synchronous multi-axis movement poʻo e masani ona maaleale taimi.
E leai se tulaga e mafai ona e tuʻufaʻatasia NanoLib o se vaega saogalemu i totonu o se oloa poʻo se faiga. I le tu'uina atu i tagata fa'au'uga, e tatau ona e fa'aopoopo i ai fa'amatalaga lapata'i talafeagai ma fa'atonuga mo le fa'aoga saogalemu ma le fa'agaioiga saogalemu i oloa ta'itasi ma se vaega e gaosia e Nanotec. E tatau ona e pasi uma fa'aaliga lapata'iga na tu'uina atu e Nanotec i le tagata fa'au'u.
2.3 Va'aiga o le tu'uina atu ma le fa'amaonia
NanoLib e sau o se *.zip faila mai la matou download webnofoaga mo EMEA / APAC poʻo AMERIKA. Taofi lelei ma tatala lau laiga a'o le'i setiina. O le NanoLib afifi e aofia ai:

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

5

2 Ae e te leʻi amata

Ulutala fa'aoga e fai ma fa'ailoga puna (API)

O galuega autu e pei o faletusi i le faatulagaga binary: nano-

Faletusi e faafaigofie ai fesootaiga: nanolibm_ lib.dll

[yourfieldbus].dll ma isi.

Example galuega faatino: Example.sln (Visual Studio

poloketi) ma example.cpp (matua file)

Mo le lautele o le tusi saisai, faamolemole ia matau a) a matou tuutuuga ma aiaiga mo le EMEA / APAC poo AMERICA ma e) tuutuuga uma laisene. Fa'aaliga: E le noatia le Nanotec mo le lelei po'o le le talafeagai, taulimaina, fa'apipi'i, fa'agaioiga, fa'aoga, ma le tausiga o meafaigaluega a isi vaega! Mo le saogalemu, mulimuli i taimi uma faatonuga OEM aoga.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

6

O le fausaga o le NanoLib

O le fausaga faakomepiuta modular a NanoLib e mafai ai ona e fa'atulagaina sa'oloto le fa'atonuina o masini fa'atonu / fieldbus galuega fa'ata'amilo i se 'autu na mua'i fausia. NanoLib o loʻo i ai vaega nei:

Fa'aoga fa'aoga (API)

NanoLib autu

Interface ma fesoasoani vasega lea Faletusi lea

Faletusi Feso'ota'iga Faletusi fa'apitoa Fieldbus lea

maua oe ile fa'aogaina ole fa'atonu ole API fa'atino ile va ole NanoLib

OD (meamea lomifefiloi)

fegalegaleai ma faletusi pasi.

mea autu ma pasi.

fa'avae i luga ole galuega autu NanoLib-

atunuu.

3.1 Fa'aoga fa'aoga

O le fa'aoga fa'aoga e aofia ai fa'auluuluga files e mafai ona e faʻaogaina e maua ai le faʻatonuga faʻatonutonu. O vasega fa'aoga fa'aoga e pei ona fa'amatalaina i le Vasega / galuega fa'asinomaga e mafai ai ona e:
Feso'ota'i i meafaigaluega uma (fieldbus adapter) ma le masini e pulea. Avanoa i le OD o le masini, e faitau/tusi ai le fa'atonuga.

3.2 NanoLib autu

O le NanoLib autu e sau ma le faletusi fa'aulufale nanolib.lib. E fa'atinoina le fa'aogaina o le fa'aoga fa'aoga ma e nafa ma:
La'uina ma pulea faletusi feso'ota'iga. Tuuina atu o galuega fa'aoga fa'aoga ile NanoLibAccessor. O le mea lea e ulufale ai feso'ota'iga e-
fa'asala se seti o galuega e mafai ona e fa'atinoina ile NanoLib autu ma faletusi feso'ota'iga.

3.3 Faletusi Feso'ota'i

I le faaopoopo atu i le nanotec.services.nanolib.dll (aoga mo lau Plug & Drive Studio e filifili mai ai), ua ofoina atu e NanoLib faletusi fesoʻotaʻiga nei:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

O faletusi uma o lo'o tu'uina se fa'aputuga fa'ameamea i le va o le autu ma le pule. O le autu e utaina i latou i le amataga mai le faila o galuega faatino ma faʻaaogaina e faʻavae ai fesoʻotaʻiga ma le pule e ala i le faʻasologa tutusa.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

7

Amataina

Faitau pe fa'apefea ona fa'atutuina NanoLib mo lau faiga fa'aoga tatau ma pe fa'afefea ona fa'afeso'ota'i masini pe a mana'omia.
4.1 Saunia lau faiga
A'o le'i fa'apipi'i aveta'avale fa'apipi'i, fai muamua tapena lau PC ile faiga fa'agaioia. Ina ia saunia le PC i lau Windows OS, faʻapipiʻi le MS Visual Studio ma faʻaopoopoga C++. Ina ia faʻapipiʻi le faia ma le gcc e le Linux Bash, valaʻau sudo apt install build-essentials. Ona fa'agaoioi lea o CAP_NET_ADMIN, CAP_NET_RAW, ma CAP_SYS_NICE gafatia mo le talosaga e fa'aogaina ai le NanoLib: 1. Valaau sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
igoa>. 2. Na'o le taimi lena, fa'apipi'i au ta'avale adapter.
4.2 Fa'apipi'i le aveta'avale adapter Ixxat mo Windows
Na'o le mae'a ona fa'apipi'i aveta'avale, e mafai ona e fa'aogaina le feso'ota'iga USB-to-CAN V2 a Ixxat. Faitau le tusi ta'avale USB 'oloa, e iloa ai pe fa'afefea ona fa'agaoioia le virtual comport (VCP). 1. Download ma fa'apipi'i le aveta'avale VCI 4 a Ixxat mo Pupuni mai www.ixxat.com. 2. Fa'afeso'ota'i le feso'ota'iga fa'apipi'i USB-to-CAN V2 a Ixxat i le PC e ala i le USB. 3. E ala i le Pule Fa'atonu: Siaki pe ua fa'apipi'i lelei le aveta'avale ma mea fa'apipi'i.
4.3 Fa'apipi'i le aveta'avale fa'apipi'i Peak mo Pupuni
Na'o le mae'a ona fa'apipi'i aveta'avale, e mafai ona e fa'aogaina le mea fa'apipi'i PCAN-USB a Peak. Faitau le tusi ta'avale USB 'oloa, e iloa ai pe fa'afefea ona fa'agaoioia le virtual comport (VCP). 1. La'i mai ma fa'apipi'i le seti aveta'avale masini a le Windows (= fa'apipi'i afifi ma aveta'avale masini, meafaigaluega, ma
APIs) mai http://www.peak-system.com. 2. Fa'afeso'ota'i le feso'ota'iga PCAN-USB a Peak i le PC e ala i le USB. 3. E ala i le Pule Fa'atonu: Siaki pe ua fa'apipi'i lelei le aveta'avale ma mea fa'apipi'i.
4.4 Fa'apipi'i le aveta'avale adapter Ixxat mo Linux
Na'o le mae'a ona fa'apipi'i aveta'avale, e mafai ona e fa'aogaina le feso'ota'iga USB-to-CAN V2 a Ixxat. Fa'aaliga: E mana'omia e isi mea fa'apipi'i lagolago au fa'atagaga e ala ile sudo chmod +777/dev/ttyACM* (* numera masini). Faitau le tusi ta'avale USB 'oloa, e iloa ai pe fa'afefea ona fa'agaoioia le virtual comport (VCP). 1. Fa'apipi'i le polokalame e mana'omia mo le aveta'avale ECI ma le fa'ata'ita'iga talosaga:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. La'u mai le aveta'avale ECI-for-Linux mai www.ixxat.com. Tatala e ala ile:
tatala eci_driver_linux_amd64.zip
3. Fa'apipi'i le aveta'avale e ala i le:
cd /EciLinux_amd/src/KernelModule sudo fai install-usb
4. Siaki mo le faʻapipiʻiina o avetaʻavale manuia e ala i le tuʻufaʻatasia ma amata le talosaga faʻataʻitaʻiga:
cd /EciLinux_amd/src/EciDemos/ sudo fai cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

8

4 Amataina
4.5 Fa'apipi'i le aveta'avale fa'apipi'i Peak mo Linux
Na'o le mae'a ona fa'apipi'i aveta'avale, e mafai ona e fa'aogaina le mea fa'apipi'i PCAN-USB a Peak. Fa'aaliga: E mana'omia e isi mea fa'apipi'i lagolago au fa'atagaga e ala ile sudo chmod +777/dev/ttyACM* (* numera masini). Faitau le tusi ta'avale USB 'oloa, e iloa ai pe fa'afefea ona fa'agaoioia le virtual comport (VCP). 1. Siaki pe i ai ni ulutala fatu o lau Linux: ls /usr/src/linux-headers-`uname -r`. A leai, fa'apipi'i
latou: sudo apt-get install linux-headers-`uname -r` 2. Na'o le taimi nei, fa'apipi'i le libpopt-dev packet: sudo apt-get install libpopt-dev 3. Download le pusa aveta'avale mana'omia (peak-linux-driver- xxx.tar.gz) mai le www.peak-system.com. 4. Ina ia tatala, fa'aoga: tar xzf peak-linux-driver-xxx.tar.gz 5. I totonu o le fa'ailoga e le'i fa'apipi'iina: Fa'aopoopo ma fa'apipi'i ta'avale, faletusi fa'avae PCAN, ma isi: fai uma
sudo faia faʻapipiʻi 6. Ina ia siaki le galuega, faʻapipiʻi le PCAN-USB adapter i totonu.
a) Siaki le kernel module:
lsmod | grep pcan b) ... ma le faletusi faʻasoa:
ls -l /usr/lib/libpcan*
Fa'aaliga: Afai e tupu fa'afitauli USB3, fa'aoga se uafu USB2.
4.6 Fa'afeso'ota'i au meafaigaluega
Ina ia mafai ona fa'atino se poloketi NanoLib, fa'afeso'ota'i se fa'atonu Nanotec fetaui i le PC e fa'aoga ai lau fa'aoga. 1. I se uaea talafeagai, fa'afeso'ota'i lau mea fa'apipi'i i le pule. 2. Faʻafesoʻotaʻi le mea faʻapipiʻi i le PC e tusa ai ma le pepa faʻamaumauga faʻapipiʻi. 3. Malosi i luga o le pule e fa'aaoga ai se sapalai eletise talafeagai. 4. Afai e mana'omia, sui le faatulagaga o feso'ota'iga a le Nanotec controller e pei ona fa'atonuina i lana tusi lesona o oloa.
4.7 uta NanoLib
Mo se amataga muamua i faʻamatalaga vave-ma-faigofie, e mafai (ae le tatau) faʻaaoga la matou example poloketi. 1. Fa'alagolago i lau itulagi: Download NanoLib mai la matou webnofoaga mo EMEA / APAC poʻo AMERIKA. 2. Tatala le sipa o le afifi files / folders ma filifili se filifiliga se tasi: Mo faʻavae vave ma faigofie: Vaʻai Amata le example poloketi. Mo aganu'u fa'apitoa ile Windows: Va'ai Fausia lau oe lava poloketi Windows. Mo aganu'u fa'apitoa i Linux: Va'ai Fausia lau oe lava poloketi Linux.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

9

Amata le example poloketi

Faatasi ai ma le NanoLib utaina tatau, le exampO le poloketi e faʻaalia oe e ala i le faʻaogaina o NanoLib ma se faʻatonu Nanotec. Manatua: Mo laasaga taʻitasi, faʻamatalaga i le faʻataʻitaʻiga tuʻuina atuample code fa'amatala galuega fa'aoga. O le example poloketi e aofia ai: le `*_functions_example.*' files, o loʻo i ai faʻatinoga mo le NanoLib faʻaoga faʻaogaina le `*_callback_example.*' files, o loʻo i ai faʻatinoga mo le toe foʻi atu i tua (scan, data ma
logging) le `menu_*.*' file, o loʻo i ai le faʻatonuga o le lisi ma faʻailoga le Example.* file, o le polokalame autu, fatuina o le lisi ma faʻauluina uma faʻaoga faʻaoga le Sampler_example.* file, lea e iai le example faatinoga mo sample fa'aaogaina. E mafai ona e mauaina nisi examples, fa'atasi ai ma nisi o fa'atonuga fa'agaoioiga mo faiga fa'agaioiga eseese, i le Knowledge Base i le nanotec.com. E fa'aoga uma i Windows po'o Linux.
I Windows ma Visual Studio 1. Tatala le Example.sln file. 2. Tatala le example.cpp. 3. Fa'aopoopo ma fa'agasolo le example tulafono.
I Linux e ala i le Bash 1. Tatala le puna file, fa'afeiloa'i i le fa'ailoga o lo'o iai mea e tatala. O le autu file mo le example o
example.cpp. 2. I le bash, valaau:
a. "sudo faia faʻapipiʻi" e kopi ai mea faʻasoa ma valaʻau ldconfig. e. "faia mea uma" e fausia ai le suʻega faʻatino. 3. O le pusa talone o lo'o i ai se executable example file. I le bash: Alu i le faila faila ma faʻaoga ./example. Afai e leai se mea e tupu, o au mea fa'asoa ua uma ona fa'apipi'iina, ma ua sauni lau faletusi mo le fa'aoga. Afai o le mea sese e faitau ./example: sese a'o utaina faletusi fefa'asoaa'i: libnanolib.so: e le mafai ona tatala mea fa'asoa file: E leai file po'o le fa'atonuga, ua le manuia le fa'apipi'iina o mea fa'asoa. I lenei tulaga, mulimuli i laasaga e sosoo ai. 4. Fausia se faila fou i totonu /usr/local/lib (manaomia aiā tatau). I totonu o le bash, faʻapipiʻi:
sudo mkdir /usr/local/lib/nanotec
5. Kopi uma mea fa'asoa mai le zip file's lib folder:
faʻapipiʻi ./lib/*.so /usr/local/lib/nanotec/
6. Siaki mea o loʻo i totonu o le pusa faʻatatau ile:
ls -al /usr/local/lib/nanotec/
E tatau ona lisiina le mea fa'asoa files mai le faila lib. 7. Fa'agasolo le ldconfig i luga ole pusa lea:
sudo ldconfig /usr/local/lib/nanotec/
O le example faʻatinoina e avea o se talosaga CLI ma tuʻuina atu se faʻaoga lisi. O fa'amaumauga o lisi e fa'avae i le fa'amatalaga ma o le a fa'agaoioia pe fa'aletonu, e fa'atatau i le tulaga o le tala. Latou te ofoina atu ia te oe le avanoa e filifili ai ma fa'atino galuega eseese o faletusi e mulimuli i galuega masani mo le fa'afoeina o se fa'atonu: 1. Siaki le PC mo masini feso'ota'i (adapters) ma lisi i latou. 2. Fa'atu le feso'ota'iga i se mea fa'apipi'i. 3. Va'ai le pasi mo masini fa'atonutonu feso'ota'i. 4. Fa'afeso'ota'i i se masini.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

10

5 Amata le example poloketi
5. Fa'ata'ita'i se tasi po'o le sili atu o galuega a le faletusi: Faitau/tusi mai/i le lomifefiloi meafaitino a le pule, fa'afou le firmware, fa'apipi'i ma fa'agasolo se polokalame NanoJ, fa'agaoioi le afi ma fa'alogo, fa'aoga ma fa'aoga le logging/sampler
6. Tapuni le fesoʻotaʻiga, muamua i le masini, ona sosoo ai lea ma le mea faʻapipiʻi.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

11

Fausia lau oe lava poloketi Windows

Fausia, faʻapipiʻi ma faʻatautaia lau lava poloketi Windows e faʻaaoga ai NanoLib.
6.1 Auina mai le NanoLib
Auina mai le ulutala NanoLib files ma faletusi e ala i le MS Visual Studio.
1. Tatala Visual Studio. 2. E ala i le Fausiaina o se poloketi fou > Console App C++ > Le soso'o: Filifili se ituaiga o galuega. 3. Fa'aigoa lau poloketi (i'inei: NanolibTest) e fai ai se faila o galuega i le Solution Explorer. 4. Filifili Fa'auma. 5. Tatala faamalama file tagata su'esu'e ma fa'afeiloa'i i le faila fou na faia. 6. Fausia ni faila fou se lua, inc ma lib. 7. Tatala le faila afifi NanoLib. 8. Mai iina: Kopi le ulutala files mai le fa'aaofia faila i totonu o lau faila poloketi inc ma uma .lib ma .dll
files i lau faila poloketi fou lib. 9. Siaki lau faila o le poloketi mo le fausaga e tatau ai, mo se fa'ata'ita'igaampLe:

Nanotic-NanoLib-C++-Polokalame-FIG- (2)ect faila mo le fausaga talafeagai:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vlibcxTest.vlibcx
6.2 Fa'atulaga lau poloketi
Fa'aoga le Fofo Su'esu'e ile MS Visual Studio e fa'atulaga ai galuega fa'atino NanoLib. Faʻaaliga: Mo le faʻaogaina o le NanoLib saʻo, filifili le faʻamalolo (e le o le debug!) faʻatulagaina i Visual C ++ faʻatulagaina o poloketi; ona fausia lea ma fesoʻotaʻi le poloketi ma VC runtimes o C++ redistributables [2022].
1. I le Fofo Su'esu'e: Alu i lau faila o galuega (i'i: NanolibTest). 2. Kiliki fa'atasi le faila e tatala ai le lisi o fa'amatalaga. 3. Filifili Meatotino. 4. Fa'agaoioia Fa'atonuga uma ma fa'avae uma. 5. Filifili C/C++ ma alu i Fa'amatalaga Fa'aopoopo Fa'atasi. 6. Fa'aofi: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Filifili Linker ma alu i Fa'atonuga Faletusi Faaopoopo. 8. Fa'aofi: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Fa'alautele Linker ma filifili Fa'aofi. 10. Alu i Fa'alagolago Fa'aopoopo ma fa'aofi i ai: nanolib.lib;%(AdditionalDependencies) 11. Fa'amaonia e ala ile OK.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

12

6 Fausia lau oe lava poloketi Windows
12. Alu i le Configuration > C++ > Language > Language Standard > ISO C++17 Standard ma seti le gagana i le C++17 (/std:c++17).
6.3 Fausia lau poloketi
Fausia lau poloketi NanoLib ile MS Visual Studio. 1. Tatala le *.cpp autu file (inei: nanolib_example.cpp) ma faasaʻo le code, pe a manaʻomia. 2. Filifili Fausia > Pule Fa'atonu. 3. Suia le Active solution platforms i le x64. 4. Fa'amaonia e ala i Tapuni. 5. Filifili Fausia > Fau fofo. 6. Leai se mea sese? Siaki pe o lipoti sa'o lau fa'aputuga:
1>—— Mama amata: Poloketi: NanolibTest, Configuration: Debug x64 —–========== Mama: 1 manuia, 0 lē taulau, 0 misia ==========

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

13

7 Fausia lau lava poloketi Linux
7 Fausia lau lava poloketi Linux
Fausia, faʻapipiʻi ma faʻatautaia lau lava poloketi Linux e faʻaaoga ai NanoLib. 1. I totonu o le pusa faʻapipiʻi NanoLib tatala: Tatala /nanotec_nanolib. 2. Su'e mea fa'asoa uma ile tar.gz file. 3. Filifili se tasi filifiliga: Fa'apipi'i lib ta'itasi pe fa'atasi ma se Faiafile po o le lima.
7.1 Faʻapipiʻi mea faʻasoa faʻatasi ma le Makefile
Fa'aoga Faiafile fa'atasi ai ma le Linux Bash e fa'apipi'i fa'atotonu uma *.so files. 1. Via Bash: Alu i le faila o loʻo i ai le faifile. 2. Kopi mea fa'asoa e ala i le:
sudo fai fa'apipi'i 3. Fa'amaonia e ala i le:
ldconfig
7.2 Fa'apipi'i mea fa'asoa ile lima
Fa'aaoga se Bash e fa'apipi'i uma *.so files o NanoLib ma le lima. 1. Via Bash: Fausia se faila fou i totonu /usr/local/lib. 2. Manaomia aia tatau a le pulega! Ituaiga:
sudo mkdir /usr/local/lib/nanotec 3. Suia i le pusa faʻapipiʻi faʻapipiʻi le faʻapipiʻiina. 4. Kopi uma mea fa'asoa mai le lib folder e ala i le:
faʻapipiʻi ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Siaki mea o loʻo i totonu o le pusa faʻatatau e ala i:
ls -al /usr/local/lib/nanotec/ 6. Siaki pe o lisiina uma mea faʻasoa mai le faila lib. 7. Fa'agasolo le ldconfig i luga o le faila lea e ala i le:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Fausia lau poloketi
Faatasi ai ma au mea faʻasoa faʻapipiʻiina: Fausia se poloketi fou mo lau Linux NanoLib. 1. Via Bash: Fausia se faila o galuega fou (inei: NanoLibTest) e ala i le:
mkdir NanoLibTest cd NanoLibTest
2. Kopi le ulutala files i se faila e aofia ai (inei: inc) e ala i le: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Fausia se autu file (NanoLibTest.cpp) e ala i le: #include “accessor_factory.hpp” #include

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

14

7 Fausia lau lava poloketi Linux
int main(){nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds result = accessor->listAvailableBusHardware();
afai(hasil.hasError()) {std::cout << result.getError() <<std::endl; }
isi{ std::cout << “Manuia” << std::endl; }
tape le mea fa'aoga; toe fo'i 0; }
4. Siaki lau faila o le poloketi mo le fa'atulagaina tatau:

Nanotic-NanoLib-C++-Polokalame-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Fa'aopoopo ma su'e lau poloketi
Saunia lau Linux NanoLib mo le faʻaaogaina e ala ile Bash.
1. Via Bash: Fa'aopoopo le autu file e ala i:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Fa'afeso'ota'i fa'atasi le fa'atinoina e ala i le:
g++ -Wall -Wextra -pedantic -I./inc -o su'ega NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Fa'atino le polokalame su'ega e ala i le:
./su'ega
4. Siaki pe lipotia tatau e lau Bash:
manuia

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

15

8 Vasega / galuega fa'asinomaga

8 Vasega / galuega fa'asinomaga

Su'e iinei se lisi o vasega fa'aoga a le NanoLib ma a latou galuega a tagata. O le faʻamatalaga masani o se galuega e aofia ai se faʻamatalaga puʻupuʻu, le faʻamatalaga o galuega ma se lisi / toe foʻi:

ExampleFunction () Fa'amatala fa'apuupuu le mea e fai e le galuega.
virtual void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

Parameter param_a param_b
Toe faafoi ResultVoid

Fa'amatalaga faaopoopo pe a mana'omia. Fa'amatalaga faaopoopo pe a mana'omia.

8.1 NanoLibAccessor

Vasega fa'afeso'ota'i fa'aaoga e fai ma mea e ulufale ai ile NanoLib. O se faiga masani masani e pei o lenei:
1. Amata ile su'esu'e mo meafaigaluega ile NanoLibAccessor.listAvailableBusHardware (). 2. Seti le faatulagaga o fesootaiga i le BusHardwareOptions (). 3. Tatala le feso'ota'iga meafaigaluega ma NanoLibAccessor.openBusHardwareWithProtocol (). 4. Va'ai le pasi mo masini feso'ota'i ma NanoLibAccessor.scanDevices (). 5. Fa'aopoopo se masini ma NanoLibAccessor.addDevice (). 6. Fa'afeso'ota'i le masini ma le NanoLibAccessor.connectDevice (). 7. A maeʻa le taotoga, vavae le masini ma NanoLibAccessor.disconnectDevice (). 8. Aveese le masini ma NanoLibAccessor.removeDevice (). 9. Tapuni le feso'ota'iga meafaigaluega ma NanoLibAccessor.closeBusHardware ().
NanoLibAccessor o loʻo i ai galuega a tagata lautele nei:

listAvailableBusHardware () Fa'aaoga le galuega lea e lisi ai meafaigaluega ole fieldbus.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

Toe faafoi ResultBusHwIds

Tu'u atu se fa'asologa ID fieldbus.

openBusHardwareWithProtocol () Fa'aoga le galuega lea e fa'afeso'ota'i ai masini pasi.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parameter busHwId busHwOpt
Toe faafoi ResultVoid

Fa'ailoa mai le malae pasi e tatala. Fa'ailoa mai avanoa e tatala ai fieldbus. Fa'amaonia ua fa'agasolo se galuega gaogao.

isBusHardwareOpen () Fa'aoga le galuega lea e siaki ai pe o matala lau feso'ota'iga meafaigaluega ole fieldbus.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

16

8 Vasega / galuega fa'asinomaga

Parameters BusHardwareId Toe fa'amaoni
pepelo

Fa'ailoa mai ta'iala ta'itasi e tatala. Ua tatala meafaigaluega. Ua tapunia meafaigaluega.

getProtocolSpecificAccessor () Fa'aoga le galuega lea e maua ai le mea fa'aoga fa'apitoa.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parameters busHwId Return ResultVoid

Fa'amaoti mai le fieldbus e maua ai le tagata fa'aoga. Fa'amaonia ua fa'agasolo se galuega gaogao.

getProfinetDCP () Fa'aaoga le galuega lea e toe fa'afo'i ai se fa'amatalaga ile fa'aoga ole Profinet DCP.
virtual ProfinetDCP & getProfinetDCP ()

Toe fo'i mai le ProfinetDCP

mauaSamplerInterface () Fa'aaoga lenei galuega e maua ai se fa'amatalaga i le sampler interface.
virtual SamplerInterface & getSamplerInterface ()

Toe faafoi SamplerInterface

E faasino i le sampler interface vasega.

setBusState () Fa'aoga le galuega lea e seti ai le tulaga fa'apitoa o pasi.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parameter busHwId setete
Toe faafoi ResultVoid

Fa'ailoa mai le malae pasi e tatala. Tofia se tulaga fa'apitoa pasi e fai ma tau o manoa. Fa'amaonia o lo'o fa'atino se galuega gaogao.

scanDevices () Fa'aoga le galuega lea e su'e ai masini i totonu o le upega.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)

Parameter busHwId callback
Toe faafoi ResultDeviceIds IOError

Fa'amaoti le fieldbus e fa'ata'ita'i. NlcScanBusCallback su'esu'ega alualu i luma. Tu'uina atu se fa'asologa ID masini. Fa'ailoa mai e le'o maua se masini.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

17

8 Vasega / galuega fa'asinomaga

addDevice ()
Fa'aoga le galuega lea e fa'aopoopo ai se masini pasi o lo'o fa'amatalaina e deviceId ile lisi ole masini i totonu ole NanoLib, ma toe fa'afo'i le deviceHandle mo ia.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parameter deviceId Toe Fa'afo'i ResultDeviceHandle

Fa'amaoti le masini e fa'aopoopo i le lisi. Tuuina atu se au masini.

connectDevice () Fa'aoga le galuega lea e fa'afeso'ota'i ai se masini e ala ile deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultVoid
IOError

Fa'ailoa mai poo le a le masini pasi e feso'ota'i iai NanoLib. Fa'amaonia ua fa'agasolo se galuega gaogao. Fa'ailoa mai e le'o maua se masini.

getDeviceName () Fa'aoga le galuega lea e maua ai le igoa ole masini ile deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultString

Fa'ailoa mai poo le a le mea e maua ai e le masini pasi NanoLib le igoa. Tu'u atu igoa o masini e pei o se manoa.

getDeviceProductCode () Fa'aoga le galuega lea e maua ai le fa'ailoga oloa a se masini e ala ile deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultInt

Fa'ailoa mai po'o le a le masini pasi e maua ai e NanoLib le fa'ailoga oloa. Tu'uina atu fa'ailoga oloa e pei o se numera atoa.

getDeviceVendorId () Fa'aoga lenei galuega e maua ai le ID fa'atau masini e ala ile deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultInt
Punaoa Le maua

Fa'ailoa mai po'o le a le masini pasi e maua e NanoLib le ID fa'atau. Tu'u atu ID fa'atau e pei o se numera. Fa'ailoa mai e leai ni fa'amatalaga e maua.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

18

8 Vasega / galuega fa'asinomaga

getDeviceId () Fa'aoga le galuega lea e maua ai se ID ole masini fa'apitoa mai le lisi i totonu NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parameter deviceHandle Toe Fa'afo'i ResultDeviceId

Fa'ailoa mai po'o le a le masini pasi e maua e NanoLib le ID masini. Tuuina atu se ID masini.

getDeviceIds () Fa'aaoga le galuega lea e maua uma ai masini ID mai le lisi i totonu NanoLib.
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

Toe faafoi ResultDeviceIds

Tuuina atu se lisi ID masini.

getDeviceUid () Fa'aoga le galuega lea e maua ai le ID tulaga ese o se masini (96 bit / 12 bytes) e ala ile deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultArrayByte
Punaoa Le maua

Fa'ailoa mai poo le a le masini pasi e maua e NanoLib le ID tulaga ese. Tu'u atu ID tulaga ese e pei o se byte array. Fa'ailoa mai e leai ni fa'amatalaga e maua.

getDeviceSerialNumber () Fa'aoga le galuega lea e maua ai le numera o le masini e ala ile deviceHandle.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultString
Punaoa Le maua

Fa'ailoa mai poo le a le masini pasi e maua ai e NanoLib le numera fa'asologa. Tu'u atu numera fa'asologa o se manoa. Fa'ailoa mai e leai ni fa'amatalaga e maua.

getDeviceHardwareGroup () Fa'aoga le galuega lea e maua ai le vaega o masini a le pasi e ala ile deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultInt

Fa'ailoa mai po'o le a le mea e maua ai e le masini pasi NanoLib le vaega meafaigaluega.
Tu'u atu vaega o meafaigaluega e pei o se numera atoa.

getDeviceHardwareVersion () Fa'aoga le galuega lea e maua ai le fa'aauupega o masini pasi e ala ile deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

19

8 Vasega / galuega fa'asinomaga

Parameter deviceHandle

Toe fo'i

ResultString ResourceLe maua

Fa'ailoa mai po'o le a le mea e maua ai e le masini pasi NanoLib le fa'aogaina o masini. Tu'u atu igoa o masini e pei o se manoa. Fa'ailoa mai e leai ni fa'amatalaga e maua.

getDeviceFirmwareBuildId () Fa'aoga le galuega lea e maua ai le ID fau firmware a se masini pasi e ala ile deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultString

Fa'ailoa mai poo le a le masini pasi e maua e NanoLib le firmware build ID mo.
Tu'u atu igoa o masini e pei o se manoa.

getDeviceBootloaderVersion () Fa'aoga le galuega lea e maua ai le fa'asologa o le uta a le pasi e ala ile deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parameter deviceHandle

Toe fo'i

ResultInt ResourceLe maua

Fa'ailoa mai po'o le a le mea e maua ai e le masini pasi le NanoLib le fa'asologa o le bootloader. Tu'uina atu fa'asologa o le bootloader e pei o se numera atoa. Fa'ailoa mai e leai ni fa'amatalaga e maua.

getDeviceBootloaderBuildId () Fa'aoga le galuega lea e maua ai le ID fau a le masini pasi e ala ile deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultString

Fa'ailoa mai po'o le a le masini pasi e maua e NanoLib le fa'ailoga faufale faufale mo.
Tu'u atu igoa o masini e pei o se manoa.

rebootDevice () Fa'aoga le galuega lea e toe fa'afouina ai le masini e ala ile deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parameter deviceHandle Return ResultVoid

Fa'ailoa mai le fieldbus e toe fa'afou. Fa'amaonia ua fa'agasolo se galuega gaogao.

getDeviceState () Fa'aoga lenei galuega e maua ai le tulaga fa'apitoa-masini-protocol.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parameter deviceHandle

Fa'ailoa mai po'o le a le mea e maua ai e le masini pasi NanoLib le setete.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

20

8 Vasega / galuega fa'asinomaga

Toe faafoi ResultString

Tu'u atu igoa o masini e pei o se manoa.

setDeviceState () Fa'aoga le galuega lea e seti ai le tulaga fa'apitoa o masini-protocol.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std:: manoa & setete)

Parameter deviceHandle tulaga
Toe faafoi ResultVoid

Fa'ailoa mai poo le a le masini pasi e fa'atulaga ai e NanoLib le setete. Tofia se tulaga fa'apitoa pasi e fai ma tau o manoa. Fa'amaonia ua fa'agasolo se galuega gaogao.

getConnectionState ()
Fa'aoga lenei galuega e maua ai le tulaga feso'ota'iga mulimuli a se masini fa'apitoa e ala ile deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultConnectionState

Fa'ailoa mai po'o le a le masini pasi e maua ai e NanoLib le tulaga feso'ota'iga.
Tuuina atu se tulaga feso'ota'iga (= Mo'esea, Feso'ota'i, ConnectedBootloader).

siakiConnectionState ()
Se'i vagana ua le motusia le tulaga mulimuli na iloa: Fa'aaoga le galuega lea e siaki ai ma fa'afou le tulaga o feso'ota'iga a se masini e ala ile deviceHandle ma fa'ata'ita'i le tele o gaioiga fa'apitoa.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultConnectionState

Fa'ailoa mai poo le a le masini pasi e siaki ai e NanoLib le tulaga o feso'ota'iga.
Tuuina atu se tulaga feso'ota'iga (= le Mo'omia).

assignObjectDictionary () Fa'aaoga lenei galuega fa'atino e tu'u ai se lomifefiloi mea (OD) i deviceHandle na o oe.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parameter deviceHandle objectDictionary
Toe faafoi ResultObjectDictionary

Fa'ailoa mai po'o le a le masini pasi e tu'uina atu i ai e NanoLib le OD. Fa'aalia uiga o se lomifefiloi meafaitino.

autoAssignObjectDictionary ()
Fa'aoga lenei masini e fa'ataga ai le NanoLib e tu'uina atu se lomifefiloi mea (OD) ile deviceHandle. I le sailia ma le utaina o se OD talafeagai, NanoLib e otometi lava ona tuʻuina atu i le masini. Fa'aaliga: Afai ua uma ona utaina se OD talafeagai i totonu o le faletusi mea, o le a otometi lava ona fa'aogaina e NanoLib e aunoa ma le su'eina o le lisi na tu'uina atu.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std:: manoa & dictionariesLocationPath)

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

21

8 Vasega / galuega fa'asinomaga

Parameter deviceHandle

Toe fo'i

lomifefiloiLocationPath ResultObjectDictionary

Fa'ailoa mai po'o fea masini pasi e tatau ona otometi ona su'esu'e le NanoLib mo OD talafeagai. Fa'amaoti le ala i le lisi o le OD. Fa'aalia uiga o se lomifefiloi meafaitino.

getAssignedObjectDictionary ()
Fa'aoga lenei galuega e maua ai le lomifefiloi meafaitino ua tofia i se masini e deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const masini
U'u)

Parameter deviceHandle Return ResultObjectDictionary

Fa'ailoa mai po'o le a le masini pasi e maua e NanoLib le OD tofia mo. Fa'aalia uiga o se lomifefiloi meafaitino.

getObjectDictionaryLibrary () O lenei galuega e toe faʻafoʻi mai ai se faʻamatalaga OdLibrary.
virtual OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

Toe faafoi le OdLibrary&

Tatala le faletusi atoa o le OD ma ana lomifefiloi.

setLoggingLevel () Fa'aoga le galuega lea e seti ai le fa'amatalaga o ogalaau mana'omia (ma ogalaau file tele). Ole tulaga masani ole Fa'amatalaga.
virtual void nlc::NanoLibAccessor::setLoggingLevel (LogLevel tulaga)

Tulaga fa'amau

O fa'amatalaga o fa'amaumauga nei e mafai:

0 = Su'ega 1 = Debug 2 = Fa'amatalaga 3 = Lapata'i 4 = Sese 5 = Taua 6 = Pepe

Tulaga pito i lalo (ogalaau sili file); fa'amauina so'o se fa'amatalaga talafeagai, fa'atasi ai ma polokalama amata / taofi. Fa'amatalaga debug fa'amaumauga (= fa'ai'uga le tumau, mea na lafo pe maua, ma isi.) Tulaga fa'aletonu; ogalaau fe'au fa'amatalaga. Fa'ailoga fa'afitauli na tupu ae e le taofia le algorithm o lo'o iai nei. O ogalaau naʻo faʻafitauli matuia na taofia ai le algorithm. Tulaga maualuga (la'au la'ititi file); tape le logoina; e leai lava se isi ogalaau. Leai se ta'otoga.

setiLoggingCallback ()
Fa'aoga le galuega lea e fa'atulaga ai se fa'asinoala o le toe fo'i i tua ma le module ogalaau (= faletusi) mo le toe fo'i mai (ae le mo le logger lava ia).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)

Parameter *callback logModule

Seti se fa'ailoga toe fo'i. Fa'alogoina le toe fo'i (ae le o le logger!) i lau faletusi.

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

Fa'agaoioia se valaau mo na'o le NanoLib's core. Fa'agaoioia se toe valaau na'o le CANopen. Fa'agaoioia se toe fo'i na'o Modbus. Fa'agaoioia se toe fo'i na'o le EtherCAT.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

22

8 Vasega / galuega fa'asinomaga

4 = NanolibRest 5 = NanolibUSB

Fa'agaoioia se toe valaau na'o le REST. Fa'agaoioia se telefoni na'o le USB.

unsetLoggingCallback () Fa'aoga le galuega lea e fa'aleaogaina ai se fa'asinoala e toe fo'i i tua.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Fa'aoga le galuega lea e faitau ai se tau numera mai le lomifefiloi meafaitino.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Toe faafoi ResultInt

Fa'ailoa mai po'o fea le masini pasi e faitau mai ai NanoLib. Fa'amaoti mai le (sub-) index e faitau mai ai. Tuuina atu se tau numera e le'i fa'amatalaina (e mafai ona saini, e le'i sainia, fa'amautu 16.16 bit values).

readNumberArray () Fa'aaoga lenei galuega e faitau ai fa'asologa numera mai le lomifefiloi meafaitino.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Parameters deviceHandle index
Toe faafoi ResultArrayInt

Fa'ailoa mai po'o fea le masini pasi e faitau mai ai NanoLib. Fa'asologa o mea fa'asino. Tu'uina atu se fa'asologa numera.

readBytes () Fa'aaoga le galuega lea e faitau ai bytes fa'atonu (fa'amatalaga mea faitino) mai le lomifefiloi mea.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Toe faafoi ResultArrayByte

Fa'ailoa mai po'o fea le masini pasi e faitau mai ai NanoLib. Fa'amaoti mai le (sub-) index e faitau mai ai. Tuuina atu se fa'asologa o byte.

readString () Fa'aoga le galuega lea e faitau ai manoa mai le fa'atonu mea.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parameter deviceHandle odIndex
Toe faafoi ResultString

Fa'ailoa mai po'o fea le masini pasi e faitau mai ai NanoLib. Fa'amaoti mai le (sub-) index e faitau mai ai. Tu'u atu igoa o masini e pei o se manoa.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

23

8 Vasega / galuega fa'asinomaga

writeNumber () Fa'aaoga lenei galuega e tusi ai numera numera i le mea faitino.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)

Parameters deviceHandle value odIndex bitLength
Toe faafoi ResultVoid

Fa'ailoa mai poo le a le masini pasi e tusi iai NanoLib. Le tau le fa'amatalaina (e mafai ona saini, le saini, fa'amauina 16.16). Fa'amaoti mai le (sub-) index e faitau mai ai. Umi i le siisii. Fa'amaonia ua fa'agasolo se galuega gaogao.

writeBytes () Fa'aaoga lenei galuega e tusi ai bytes fa'atonu (domain object data) i le mea faitino.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & fa'amaumauga, const OdIndex odIndex)

Parameters deviceHandle data odIndex
Toe faafoi ResultVoid

Fa'ailoa mai poo le a le masini pasi e tusi iai NanoLib. Byte vector / array. Fa'amaoti mai le (sub-) index e faitau mai ai. Fa'amaonia ua fa'agasolo se galuega gaogao.

uploadFirmware ()
Fa'aoga lenei galuega e fa'afou ai lau fa'atonu firmware.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* toe fo'i)

Parameter deviceHandle fwData NlcDataTransferCallback
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini pasi fa'afouga NanoLib. Fa'asologa o lo'o iai fa'amatalaga firmware. Se su'esu'ega alualu i luma o fa'amaumauga. Fa'amaonia ua fa'agasolo se galuega gaogao.

uploadFirmwareFromFile ()
Fa'aoga lenei galuega e fa'afou ai lau fa'atonu firmware e ala i le fa'apipi'iina o lona file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std:: manoa & atoatoaFileAla, NlcDataTransferCallback* toe fo'i)

Parameters deviceHandle atoatoaFileAla NlcDataTransferCallback
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini pasi fa'afouga NanoLib. Ala i file o lo'o iai fa'amatalaga firmware (std::string). Se su'esu'ega alualu i luma o fa'amaumauga. Fa'amaonia ua fa'agasolo se galuega gaogao.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

24

8 Vasega / galuega fa'asinomaga

uploadBootloader ()
Fa'aoga lenei galuega e fa'afou ai lau fa'atonu bootloader.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* toe fo'i)

Parameter deviceHandle btData NlcDataTransferCallback
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini pasi fa'afouga NanoLib. Fa'asologa o lo'o iai fa'amaumauga o le bootloader. Se su'esu'ega alualu i luma o fa'amaumauga. Fa'amaonia ua fa'agasolo se galuega gaogao.

uploadBootloaderFromFile ()
Fa'aoga lenei galuega e fa'afou ai lau fa'atonu bootloader e ala i le tu'uina atu o lona file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std:: manoa & bootloaderAbsoluteFileAla, NlcDataTransferCallback* toe fo'i)

Parameter deviceHandle bootloaderAbsoluteFileAla NlcDataTransferCallback
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini pasi fa'afouga NanoLib. Ala i file o lo'o i ai fa'amaumauga fa'apipi'i (std::string). Se su'esu'ega alualu i luma o fa'amaumauga. Fa'amaonia ua fa'agasolo se galuega gaogao.

uploadBootloaderFirmware ()
Fa'aoga lenei galuega e fa'afou ai lau fa'atonu bootloader ma firmware.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* toe fo'i)

Parameter deviceHandle btData fwData NlcDataTransferCallback
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini pasi fa'afouga NanoLib. Fa'asologa o lo'o iai fa'amaumauga o le bootloader. Fa'asologa o lo'o iai fa'amatalaga firmware. Se su'esu'ega alualu i luma o fa'amaumauga. Fa'amaonia ua fa'agasolo se galuega gaogao.

uploadBootloaderFirmwareFromFile ()
Fa'aoga lenei galuega e fa'afou ai lau fa'atonu bootloader ma firmware e ala i le tu'uina atu o le files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std:: manoa & bootloaderAbsoluteFileAla, const std:: manoa & atoatoaFileAla, NlcDataTransferCallback* toe fo'i)

Parameter deviceHandle bootloaderAbsoluteFileAuala atoatoaFileAla NlcDataTransferCallback
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini pasi fa'afouga NanoLib. Ala i file o lo'o i ai fa'amaumauga fa'apipi'i (std::string). Ala i file o lo'o i ai fa'amatalaga firmware (uint8_t). Se su'esu'ega alualu i luma o fa'amaumauga. Fa'amaonia ua fa'agasolo se galuega gaogao.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

25

8 Vasega / galuega fa'asinomaga

uploadNanoJ ()
Fa'aoga lenei galuega fa'alaua'itele e fa'afou ai le polokalame NanoJ i lau pule.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* toe fo'i)

Parameter deviceHandle vmmData NlcDataTransferCallback
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini pasi e fa'apipi'i i ai NanoLib. Fa'asologa o lo'o iai fa'amaumauga NanoJ. Se su'esu'ega alualu i luma o fa'amaumauga. Fa'amaonia ua fa'agasolo se galuega gaogao.

uploadNanoJFromFile ()
Fa'aoga lenei galuega fa'alaua'itele e fa'ae'e ai le polokalame NanoJ i lau pule e ala i le fa'auluina o le file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std:: manoa & atoatoaFileAla, NlcDataTransferCallback* toe fo'i)

Parameters deviceHandle atoatoaFileAla NlcDataTransferCallback
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini pasi e fa'apipi'i i ai NanoLib. Ala i file o lo'o iai fa'amaumauga NanoJ (std:: manoa). Se su'esu'ega alualu i luma o fa'amaumauga. Fa'amaonia ua fa'agasolo se galuega gaogao.

disconnectDevice () Fa'aoga le galuega lea e motusia ai lau masini e ala ile deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parameter deviceHandle Return ResultVoid

Fa'ailoa mai po'o le a le masini pasi e motusia e NanoLib. Fa'amaonia ua fa'agasolo se galuega gaogao.

removeDevice () Fa'aoga lenei galuega e aveese ai lau masini mai le lisi o masini i totonu ole NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::ave'eseMasini (fa'aauau DeviceHandle deviceHandle)

Parameter deviceHandle Return ResultVoid

Fa'ailoa mai po'o le a le masini pasi o lo'o fa'aumatia e NanoLib. Fa'amaonia ua fa'agasolo se galuega gaogao.

closeBusHardware () Fa'aoga le galuega lea e motusia ai le feso'ota'iga mai au meafaigaluega ole fieldbus.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parameters busHwId Return ResultVoid

Fa'ailoa mai le fieldbus e motusia ai. Fa'amaonia ua fa'agasolo se galuega gaogao.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

26

8 Vasega / galuega fa'asinomaga

8.2 BusHardwareId
Fa'aoga le vasega lenei e fa'ailoa ai se mea faigaluega a le pasi e tasi-i-le-tasi po'o le fa'aeseesega o masini pasi mai le tasi. O lenei vasega (e aunoa ma se setter galuega e le mafai ona suia mai le foafoaga i luga) o loʻo i ai faʻamatalaga i luga o:
Meafaigaluega (= igoa fetuutuunai, feso'ota'iga feso'ota'iga ma isi.) Polokalama e fa'aoga (= Modbus TCP, CANopen ma isi) Fa'amatalaga meafaigaluega pasi (= igoa tau telefoni, MAC Friendly igoa
tuatusi ma isi)

BusHardwareId () [1/3] Fausiaina e fau se mea fou ID mea faigaluega pasi.
nlc::BusHardwareId::BusHardwareId (std:: manoa const & busHardware_, std:: manoa const & protocol_, std:: manoa const & hardwareSpecifier_, std:: manoa const & igoa_)

Parameter busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Ituaiga Meafaigaluega (= ZK-USB-CAN-1 ma isi). Feso'ota'iga feso'ota'iga pasi (= CANopen ma isi). Le faʻamatalaga o se meafaigaluega (= COM3 ma isi). Le faʻamatalaga faʻaopoopo o meafaigaluega (fai mai, faʻamatalaga nofoaga USB). Se igoa faauo (= AdapterName (Port) etc. ).

BusHardwareId () [2/3] Faufautua na te faia se mea fou ID mea faigaluega pasi, faatasi ai ma le filifiliga mo se faʻamatalaga faʻapitoa meafaigaluega.
nlc::BusHardwareId::BusHardwareId (std:: manoa const & busHardware_, std:: manoa const & protocol_, std:: manoa const & hardwareSpecifier_, std:: manoa const & extraHardwareSpecifier_, std:: manoa const & igoa_)

Parameter busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Ituaiga Meafaigaluega (= ZK-USB-CAN-1 ma isi). Feso'ota'iga feso'ota'iga pasi (= CANopen ma isi). Le faʻamatalaga o se meafaigaluega (= COM3 ma isi). Le faʻamatalaga faʻaopoopo o meafaigaluega (fai mai, faʻamatalaga nofoaga USB). Se igoa faauo (= AdapterName (Port) etc. ).

BusHardwareId () [3/3] Fausia e kopiina se busHardwareId o iai.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parameter busHardwareId

Ta'u igoa ole ID hardware ole pasi e kopi mai ai.

tutusa () Fa'atusatusa se ID meafaigaluega pasi fou ma ID o iai.
bool nlc::BusHardwareId::tutusa (BusHardwareId const & isi) const

Parameter isi Fa'afo'i moni

O le isi mea o le vasega lava e tasi. Afai e tutusa uma i tulaga uma.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

27

8 Vasega / galuega fa'asinomaga

pepelo

Afai e eseese tau.

getBusHardware () Faitau i fafo le manoa meafaigaluega a le pasi.
std::string nlc::BusHardwareId::getBusHardware () const

Toe fa'afo'i manoa

getHardwareSpecifier () Faitauina le manoa fa'apitoa a le pasi (= igoa feso'otaiga ma isi).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Toe fa'afo'i manoa

getExtraHardwareSpecifier () Faitau le pasi fa'aopoopo le manoa fa'apitoa o meafaigaluega (= MAC tuatusi ma isi).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Toe fa'afo'i manoa

getName () Faitau i fafo le igoa faauo o masini pasi.
std::string nlc::BusHardwareId::getName () const

Toe fa'afo'i manoa

getProtocol () Faitau i fafo le manoa fa'akomepiuta pasi.
std::string nlc::BusHardwareId::getProtocol () const

Toe fa'afo'i manoa

toString () Fa'afo'i le ID hardware o le pasi e fai ma manoa.
std::string nlc::BusHardwareId::toString () const

Toe fa'afo'i manoa
8.3 BusHardwareOptions
Su'e i totonu o lenei vasega, i se lisi taua o manoa, o filifiliga uma e mana'omia e tatala ai se masini pasi.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

28

8 Vasega / galuega fa'asinomaga

BusHardwareOptions () [1/2] Fausiaina se mea fou e filifili ai meafaigaluega pasi.
nlc::BusHardwareOptions::BusHardwareOptions () Fa'aaoga le galuega addOption () e fa'aopoopo ai ta'i-taua.

BusHardwareOptions () [2/2] Fausia se mea fou e filifili ai meafaigaluega pasi ma le fa'afanua taua-taua ua uma ona tu'u.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & filifiliga)

Parameter filifiliga

O se fa'afanua o lo'o iai avanoa e fa'aoga ai masini pasi.

addOption () Fausia ki ma fa'atauga fa'aopoopo.
void nlc::BusHardwareOptions::addOption (std:: manoa const & ki, std:: manoa const & tau)

Fa'amaufa'ailoga taua taua

Example: BAUD_RATE_OPTIONS_NAME, va'ai pasi_hw_options_ defaults
Example: BAUD_RATE_1000K, va'ai pasi_hw_options_defaults

tutusa () Fa'atusatusa le BusHardwareOptions i mea o iai.
bool nlc::BusHardwareOptions::tutusa (BusHardwareOptions const & isi) const

Parameter isi Fa'afo'i moni
pepelo

O le isi mea o le vasega lava e tasi. Afai o le isi mea e tutusa uma filifiliga. Afai o le isi mea e eseese ki po'o tau.

getOptions () Faitau uma ta'i-taua fa'aopoopo.
std::faafanua nlc::BusHardwareOptions::getOptions () const

Toe faafoi faafanua manoa

toString () Toe fa'afo'i uma ki/taua o se manoa.
std::string nlc::BusHardwareId::toString () const

Toe fa'afo'i manoa
8.4 BusHwOptionsDefault
O lenei vasega o filifiliga fa'atulagaina fa'aletonu e iai uiga fa'alaua'itele nei:

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

29

8 Vasega / galuega fa'asinomaga

const CanBus const Serial const RESTfulBus const EtherCATBus

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

8.5 CanBaudRate

Fa'atonuga o lo'o iai pa'u pasi CAN i uiga fa'alaua'itele nei:

const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa

BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” BAUD_RATE_100K” = “100K BAUD_RATE_50K” = “50K” E_20K = “20k” BAUD_RATE_10K = “10k” BAUD_RATE_5K = “5k”

8.6 CanBus

Vasega filifiliga fa'atulagaina fa'aletonu ma uiga fa'alaua'itele nei:

const std:: manoa const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = “e mafai ona fetuutuunai fua fua faatatau” baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

Mo le auaunaga a le NMT, o lenei fa'atonuga o lo'o i ai le CANopen NMT o lo'o i ai fa'asologa o manoa i uiga lautele nei:

const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa

AMATA = “AMATA” TOTO = “TOTO” PRE_OPERATIONAL = “PRE_OPERATIONAL” RESET = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

O lenei faʻatonuga o loʻo i ai le CANopen NMT o loʻo avea ma tau o manoa i uiga lautele nei:

const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa

TUMAU = “TUMA’I” MU’ĀLILI = “MU’I_FA’AGAIGA” FA’AGAOGA = “FA’AVAE” FA’AVAE = “FA’AVAE” LE ILOA = “LE ILOA”

8.9 EtherCATBus fausaga

O lenei faʻatonuga o loʻo i ai le EtherCAT fesoʻotaʻiga faʻatulagaina filifiliga i uiga lautele nei:

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

30

8 Vasega / galuega fa'asinomaga

const std:: manoa NETWORK_FIRMWARE_STATE_OP- O le tulaga o fesoʻotaʻiga ua faʻaogaina e pei o le firmware mode. Taliaina

TION_NAME = “Vaega Firmware State”

tau (tauaga = PRE_OPERATIONAL):

EterCATState::PRE_OPERATIONAL EterCATState::SAFE_OPERATIONAL EterCATState::OPERATIONAL

const std:: manoa DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”

const std:: manoa EXCLUSIVE_LOCK_TIMEOUT_OP- Taimi i milliseconds e maua ai se loka faapitoa

TION_NAME = “Taimi loka Fa’asoa”

le feso'ota'iga (tauaga = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std:: manoa SHARED_LOCK_TIMEOUT_OPTION_ Taimi i milliseconds e maua ai le loka fa'asoa

IGOA = “Taimi loka Fa’asoa”

le feso'ota'iga (tauaga = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std:: manoa READ_TIMEOUT_OPTION_NAME = Taimi i le milliseconds mo se fa'agaioiga faitau (fa'aleaogaina

“Faitau le Taimi”

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std:: manoa WRITE_TIMEOUT_OPTION_NAME = Taimi i milliseconds mo se faagaioiga tusitusi (fa'aleaogaina

“ Tusia le Taimi”

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

const std:: manoa READ_WRITE_ATTEMPTS_OPTION_ Tulaga maualuga faitau pe tusi taumafaiga (e le-zero tau

IGOA = “Taumafai Faitau/ Tusi”

na'o; faaletonu = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std:: manoa CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Suia taumafaiga a le Setete o Fesootaiga”

Le numera maualuga o taumafaiga e sui le tulaga o feso'ota'iga (na'o tau e le-zero; fa'aletonu = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std:: manoa PDO_IO_ENABLED_OPTION_NAME Fa'agaoioi pe fa'agata le fa'agaioiga o le PDO mo numera fa'a-/

= “PDO IO Fa'agaoioia”

galuega faatino ("Sa'o" po'o le "Sese" na'o; faaletonu = "Sa'o").

const std:: manoa DEFAULT_PDO_IO_ENABLED = “Sa’o”

8.10 EtherCATState fausaga

O lenei faʻatonuga o loʻo i ai le EtherCAT pologa / fesoʻotaʻiga setete o ni manoa taua i uiga lautele nei. Fa'aaliga: O le tulaga fa'aagaoio i le paoa o le PRE_OPERATIONAL; NanoLib e le mafai ona tuʻuina atu le faʻatuatuaina "OPERATIONAL" setete i se faiga faʻaogaina e le o se taimi moni:

const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa

LEAI = “LEAI” INIT = “INIT” MU’ILIU_OPERATIONAL = “MU’I_FA’AGA” FA’AVAE = “FA’AVAE” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” FA’AGAOGA = “FA’AVAE”

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

31

8 Vasega / galuega fa'asinomaga

8.11 Ixxat

O lenei faʻatonuga o loʻo taofia uma faʻamatalaga mo le Ixxat usb-to-can i uiga lautele nei:

const std:: manoa

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “numera pasi ixxat”

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

O lenei faʻatonuga o loʻo umia le numera pasi mo le Ixxat usb-to-can i uiga lautele nei:

const std:: manoa const std:: manoa const std:: manoa const std:: manoa

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

8.13 tumutumu

O lenei faʻatonuga o loʻo taofia uma faʻamatalaga mo le Peak usb-to-can i uiga lautele nei:

const std:: manoa

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “numera pasi fa'apipi'i pito i luga”

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

O lenei fa'atonuga o lo'o umia le numera pasi mo le Peak usb-to-can i uiga fa'alaua'itele nei:

const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa

PUS_NUMBER_1_DEFAULT = std::to_ manoa (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_ manoa (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_ manoa (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_ manoa (PCAN_USBBUS4_numera (PCAN_USBBUS5) BUS_NUMBER_5 = std::to_ manoa (PCAN_USBBUS6) (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_ manoa (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_ manoa (PCAN_USBBUS8) BUS_NUMBER_9 = std::to_ manoa (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_BBUS (10PCAN_USBBUS) std::to_ manoa (PCAN_USBBUS11) BUS_NUMBER_11 = std::to_ manoa (PCAN_USBBUS12) BUS_NUMBER_12 = std::to_ manoa (PCAN_USBBUS13) BUS_NUMBER_13 = std::to_ manoa (PCAN_USBBUS14) = 14. (PCAN_USBBUS15) BUS_NUMBER_15 = std::to_ manoa (PCAN_USBBUS16) BUS_NUMBER_16 = std::to_ manoa (PCAN_USBBUSXNUMX)

8.15 U'u Meafaigaluega
O lenei vasega o lo'o fa'atusalia se 'au mo le fa'atonutonuina o se masini i luga o le pasi ma o lo'o i ai galuega a tagata lautele nei.

DeviceHandle () DeviceHandle (uint32_t au)

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

32

8 Vasega / galuega fa'asinomaga

tutusa () Faatusatusa ia lava i se au masini tuuina atu.
bool tutusa (DeviceHandle const isi) const (uint32_t au)

toString () Fa'afo'i mai se manoa fa'atusa o le au masini.
std:: manoa iString () const

maua () Toe faafoi le au o le masini.
uint32_t maua () const

8.16 DeviceId
Fa'aoga le vasega lenei (e le mafai ona suia mai le foafoaga) e fa'ailoa ma iloa ai masini i luga o le pasi:

Mea fa'apipi'i fa'asinomaga

Fa'ailoga masini

Fa'amatalaga

Ole uiga ole ID ole masini/fa'amatalaga tau fa'atatau ile pasi. Mo example, e mafai e se pasi CAN ona faʻaaogaina le ID numera.

DeviceId () [1/3] Fausia se mea ID ID fou.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std:: string const & description_)

Parameter busHardwareId_ deviceId_ description_

Fa'ailoa ole pasi. Se faasino igoa; i lalo ole pasi (= CANopen node ID ma isi). Se faʻamatalaga (atonu e gaogao); fa'atatau ile pasi.

DeviceId () [2/3] Fausia se mea ID ID fou ma filifiliga ID faʻalautele.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std:: manoa const & description_ std::vector const & extraId_, std:: manoa const & extraStringId_)

Parameter busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Fa'ailoa ole pasi. Se faasino igoa; i lalo ole pasi (= CANopen node ID ma isi). Se faʻamatalaga (atonu e gaogao); fa'atatau ile pasi. Se ID faaopoopo (atonu e leai se avanoa); o lona uiga e faalagolago ile pasi. ID manoa faaopoopo (atonu e gaogao); o lona uiga e faalagolago ile pasi.

DeviceId () [3/3] Fausia se kopi o se mea ID masini.
nlc::DeviceId::DeviceId (DeviceId const &)

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

33

8 Vasega / galuega fa'asinomaga

Parameter deviceId_

ID masini e kopi mai ai.

tutusa () Faatusatusa mea fou i mea o iai.
bool nlc::DeviceId::tutusa (DeviceId const & isi) const

Toe fo'i le boolean

getBusHardwareId () Faitau le ID hardware o le pasi.
BusHardwareId nlc::DeviceId::getBusHardwareId () const

Toe faafoi BusHardwareId

getDescription () Faitau le faʻamatalaga o masini (atonu e leʻi faʻaaogaina).
std::string nlc::DeviceId::getDescription () const

Toe fa'afo'i manoa

getDeviceId () Faitau i fafo le ID masini (atonu e leʻi faʻaaogaina).
unsigned int nlc::DeviceId::getDeviceId () const

Toe fa'afo'i le int e le'i sainia

toString () Toe fa'afo'i le mea i se manoa.
std:: manoa nlc:: DeviceId::toString () const

Toe fa'afo'i manoa

getExtraId () Faitau le ID faaopoopo o le masini (atonu e le faʻaaogaina).
const std::vector &getExtraId () const

Toe fa'afo'i le vector

Se ve'a ole ID fa'aopoopo fa'aopoopo (atonu e gaogao); o lona uiga e faalagolago ile pasi.

getExtraStringId () Faitau le isi ID manoa o le masini (atonu e le faʻaaogaina).
std:: manoa getExtraStringId () const

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

34

8 Vasega / galuega fa'asinomaga

Toe fa'afo'i manoa

Le ID manoa faaopoopo (atonu e gaogao); o lona uiga e faalagolago ile pasi.

8.17 LogLevelConverter

O lenei vasega e toe fa'afo'i lau ogala'au tulaga o se manoa. static std:: manoa iString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

O lenei vasega e toe fa'afo'i lau faletusi fa'apitoa log modulesetLoggingLevel () e fai ma manoa.

static std:: manoa

toString (nlc::LogModule logModule)

static std:: manoa iString (nlc::LogModule logModule)

8.19 Lomifefiloi Fa'atatau
O lenei vasega o lo'o fa'atusalia ai se lomifefiloi meafaitino a se pule ma o lo'o i ai galuega a tagata lautele nei: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Toe faafoi ResultDeviceHandle

getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Toe faafoi ResultObjectSubEntry

getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t index)

Toe faafoi ResultObjectEntry

Fa'amatalaga i uiga o se mea.

getXmlFileIgoa () virtual ResultString getXmlFileIgoa () const

Toe faafoi ResultString

Toe faafoi le XML file igoa e pei o se manoa.

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

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

35

8 Vasega / galuega fa'asinomaga
Toe faafoi ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) Toe faafoi ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Toe faafoi ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, OdIndex const odIndex) writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std ::vector
const & data) Fa'afo'i ResultVoid Feso'ota'iga OdIndex
8.20 Ulufale Mea
O lenei vasega o loʻo faʻatusalia se mea e faʻapipiʻi i totonu o le lomifefiloi mea, o loʻo i ai le uiga puipuia faʻamaonia ma galuega a tagata lautele:
static nlc::ObjectSubEntry invalidObject
getName () Faitau le igoa o le mea e pei o se manoa.
virtual std:: manoa getName () const
getPrivate () Siaki pe fa'alilolilo le mea.
virtual bool getPrivate () const
getIndex () Faitau i tua le tuatusi o le faasino igoa.
virtual uint16_t getIndex () const

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

36

8 Vasega / galuega fa'asinomaga

getDataType () Faitau le ituaiga faʻamatalaga o le mea.
virtual nlc::ObjectEntryDataType getDataType () const

getObjectCode () Faitau le mea faitino:

Null Deftype Defstruct Var Array Record

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

virtual nlc::ObjectCode getObjectCode () const

getObjectSaveable () Siaki pe mafai ona fa'asaoina le mea ma o lona vaega (silasila i tusi tusi oloa mo nisi fa'amatalaga): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Faitau le numera o subindicces e lagolagoina e lenei mea.
virtual uint8_t getMaxSubIndex () const

getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Va'ai foi i le ObjectSubEntry.
8.21 ObjectSubEntry
O lenei vasega o lo'o fa'atusalia ai se mea e fa'asino i lalo (subindex) o le lomifefiloi mea faitino ma o lo'o i ai galuega a tagata lautele nei:
getName () Faitau le igoa o le mea e pei o se manoa.
virtual std:: manoa getName () const

getSubIndex () Faitau le tuatusi o le subindex.
virtual uint8_t getSubIndex () const

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

37

8 Vasega / galuega fa'asinomaga

getDataType () Faitau le ituaiga faʻamatalaga o le mea.
virtual nlc::ObjectEntryDataType getDataType () const

getSdoAccess () Siaki pe mafai ona maua le subindex e ala ile SDO:

FaitauNa'o

1

TusiNa'o

2

Faitau Tusi

3

Leai se avanoa

0

virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () Siaki pe mafai ona maua/faafanua le subindex e ala i le PDO:

Tx

1

Rx

2

TxRx

3

Leai

0

virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Siaki le umi subindex.
virtual uint32_t getBitLength () const

getDefaultValueAsNumeric () Faitau le tau le aoga o le subindex mo ituaiga faʻamaumauga numera.
virtual ResultInt getDefaultValueAsNumeric (std:: manoa const & ki) const

getDefaultValueAsString () Faitau le tau le aoga o le subindex mo ituaiga faʻamaumauga o manoa.
virtual ResultString getDefaultValueAsString (std:: manoa const & ki) const

getDefaultValues ​​() Faitau i fafo tau le aoga o le subindex.
virtual std::faafanua getDefaultValues ​​() const

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

38

8 Vasega / galuega fa'asinomaga

readNumber () Faitau i fafo le tau numera o le subindex.
virtual ResultInt readNumber () const

readString () Faitau i fafo le manoa taua moni o le subindex.
virtual ResultString readString () const

readBytes () Faitau i fafo le taua moni o le subindex i bytes.
virtual ResultArrayByte readBytes () const

writeNumber () Tusia se numera numera i le subindex.
virtual ResultVoid writeNumber (const int64_t value) const

writeBytes () Tusia se tau i le subindex i bytes.
virtual ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Fa'aoga le vasega lenei (e le mafai ona suia mai le foafoaga) e afifi ma su'e ai fa'ailoga o mea fa'atonu / fa'ailoga laiti. Ole OD ole masini e o'o atu ile 65535 (0xFFFF) laina ma 255 (0xFF) koluma; fa'atasi ai ma va i le va o laina fa'aletonu. Va'ai le tulaga CANopen ma lau tusi lesona mo nisi fa'amatalaga.
OdIndex () Fausia se mea fou OdIndex.
nlc::OdIndex::OdIndex (uint16_t index, uint8_t subIndex)

Fa'amaufa'ailoga fa'asino igoa

Mai le 0 i le 65535 (0xFFFF) e aofia ai. Mai le 0 i le 255 (0xFF) e aofia ai.

getIndex () Faitau le faasino igoa (mai le 0x0000 i le 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const

Toe fo'i uint16_t

getSubindex () Faitau i fafo le sub-index (mai le 0x00 i le 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

39

8 Vasega / galuega fa'asinomaga

Toe fo'i uint8_t

toString () Toe fa'afo'i le fa'ailoga ma le subindex e fai ma manoa. Ole manoa fa'aletonu 0xIIII:0xSS e fa'apea:

I = index mai le 0x0000 i le 0xFFFF

S = sub-index mai le 0x00 i le 0xFF

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

Toe fo'i 0xIIII:0xSS

Fa'atusaina ole manoa

8.23 OdLibrary
Fa'aoga lenei polokalame fa'akomepiuta e fai ai fa'ata'ita'iga o le vasega ObjectDictionary mai le XML. I le assignObjectDictionary, e mafai ona e fusifusia faʻataʻitaʻiga taʻitasi i se masini faʻapitoa ona o se faʻamatalaga faʻapitoa na faia. ObjectDictionary fa'ata'ita'iga fa'apea na fa'atupuina o lo'o teuina i totonu o le OdLibrary mea e mafai ona maua e le fa'asino. O le vasega ODLibrary e utaina ai mea mai le ObjectDictionary file po'o le fa'asologa, teuina, ma o lo'o i ai galuega a tagata lautele nei:

getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

Toe faafoi ResultObjectDictionary

addObjectDictionaryFromFile ()
virtual ResultObjectDictionary addObjectDictionaryFromFile (std:: manoa const & absoluteXmlFileAla)

Toe faafoi ResultObjectDictionary

addObjectDictionary ()
virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std:: manoa &xmlFileAla = std:: manoa ())

Toe faafoi ResultObjectDictionary
8.24 OdTypesFesoasoani
E le gata i galuega a tagata lautele o lo'o mulimuli mai, o lenei vasega o lo'o i ai ituaiga fa'amaumauga masani. Manatua: Ina ia siaki au ituaiga faʻamatalaga masani, vaʻai mo le vasega enum ObjectEntryDataType ile od_types.hpp.

uintToObjectCode () Suia numera e le'i sainia i le mea faitino:

Null Deftype

0x00 0x05

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

40

8 Vasega / galuega fa'asinomaga

Defstruct Var Array Record

0x06 0x07 0x08 0x09

static ObjectCode uintToObjectCode (unsigned int objectCode)

isNumericDataType () Faʻailoa pe o se ituaiga faʻamatalaga e numera pe leai.
o le bool static isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Faʻailoa pe o se mea o se faʻamatalaga fausaga faʻailoga pe leai.
static bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Faʻailoa pe o se mea o se faʻamatalaga ituaiga faʻasino pe leai.
static bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () Fa'ailoa pe lavelave se ituaiga fa'amatalaga pe leai.
static bool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () Suia numera e le'i sainia i le ituaiga fa'amaumauga OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () Suia le ituaiga faʻamatalaga OD ile manoa.
static std:: manoa objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Suia le manoa ile ituaiga faʻamatalaga OD pe a mafai. A leai, toe fa'afo'i UNKNOWN_DATATYPE.
static ObjectEntryDataType stringToObjectEntryDatatype (std:: string dataTypeString)

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

41

8 Vasega / galuega fa'asinomaga

objectEntryDataTypeBitLength () Faʻailoa i luga ole laititi umi ole ituaiga faʻamaumauga o mea.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RESTfulBus fausaga

O lenei faʻatonuga o loʻo i ai le faʻaogaina o fesoʻotaʻiga filifiliga mo le RESTful interface (i luga o Ethernet). O lo'o iai uiga fa'alaua'itele nei:

const std:: manoa const unsigned umi const std:: manoa const unsigned umi const std:: manoa const le saini umi

CONNECT_TIMEOUT_OPTION_NAME = “Taimi Fa’agata Feso’ota’i” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “Taimi Taimi e malolo mo Talosaga” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “Taimi Fa’amagaloina Tali” 750TAIMI TALI

8.26 ProfineDCP
I lalo ole Linux, ole talosaga valaau e mana'omia CAP_NET_ADMIN ma CAP_NET_RAW gafatia. Ina ia mafai: sudo setcap 'cap_net_admin, cap_net_raw+eip' ./executable. I totonu o Windows, o le ProfinetDCP interface e faʻaaogaina WinPcap (faʻataʻitaʻiina i le version 4.1.3) poʻo le Npcap (faʻataʻitaʻiina i lomiga 1.60 ma le 1.30). O lea e suʻe ai le faletusi wpcap.dll faʻapipiʻi malosi i le faasologa o loʻo i lalo (Manatua: leai se lagolago a Win10Pcap o loʻo iai nei):
1. Nanolib.dll directory 2. Windows system directory SystemRoot%System32 3. Npcap installation directory SystemRoot%System32Npcap 4. Environmental path
O lenei vasega e fai ma sui o le Profinet DCP interface ma o lo'o i ai galuega a tagata lautele nei:

getScanTimeout () Fa'ailoa i luga o se masini fa'ata'ita'i taimi fa'agata (fa'aletonu = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Seti se taimi e su'e ai masini (fa'aletonu = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Fa'ailoa i luga o le taimi e tali atu ai masini mo le fa'atulagaina, toe fa'afo'i ma emo fa'agaioiga (fa'aletonu = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Faʻailoa i luga o le taimi e tali atu ai masini mo le faʻatulagaina, toe setiina ma emoemo gaioiga (faʻaletonu = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

42

8 Vasega / galuega fa'asinomaga

isServiceAvailable ()
Fa'aoga lenei galuega e siaki ai le avanoa o le auaunaga a le Profinet DCP.
Fa'atonuga feso'ota'iga feso'ota'iga / avanoa Pupuni: WinPcap / Npcap avanoa Linux: CAP_NET_ADMIN / CAP_NET_RAW gafatia
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Parameters BusHardwareId Toe fa'amaoni
pepelo

ID Meafaigaluega a le Profinet DCP auaunaga e siaki. O lo'o avanoa le tautua. E le'o avanoa le tautua.

scanProfinetDevices () Fa'aoga le galuega lea e su'e ai le pasi fa'apitoa mo le iai o masini Profinet.
virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)

Parameters BusHardwareId Return ResultProfinetDevices

Fa'ailoa mai ta'iala ta'itasi e tatala. Ua tatala meafaigaluega.

setupProfinetDevice () Fa'atuina tulaga nei masini:

Igoa o le masini

tuatusi IP

Ufiufi feso'ota'iga

Faitotoa masani

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

resetProfinetDevice () Taofi le masini ma toe faʻafoʻi i le fale gaosi mea e le mafai.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Fa'atonu le masini Profinet e amata emo lona LED Profinet.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Fa'aoga lenei galuega e siaki ai le tuatusi IP ole masini.
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

Parameters BusHardwareId ProfinetDevice

Fa'ailoa mai le ID hardware e siaki. Fa'amaoti le masini Profinet e fa'amaonia.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

43

8 Vasega / galuega fa'asinomaga

Toe faafoi ResultVoid

8.27 ProfinetDevice struct

O fa'amaumauga a le masini Profinet e iai uiga fa'alaua'itele nei:

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

O le tuatusi MAC o loʻo tuʻuina atu o loʻo tuʻuina atu i le faatulagaga macAddress = {xx, xx, xx, xx, xx, xx}; ae o le tuatusi IP, ufimata fesoʻotaʻiga ma le faitotoʻa o loʻo faʻamatalaina uma o numera endian hex tele, pei o:

tuatusi IP: 192.168.0.2 Network mask: 255.255.0.0 Gateway: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Vasega i'uga

Fa'aaoga le "filifiliga" toe faafoi tau o nei vasega e siaki ai pe na manuia le telefoni pe leai, ma su'e foi mafuaaga le manuia. I le manuia, o le hasError () galuega e toe faʻafoʻi sese. E ala i le getResult (), e mafai ona e faitauina le tau o le taunuuga e pei o le ituaiga (ResultInt etc.). Afai e le maua se valaau, e te faitau i le mafuaaga e getError ().

Uiga puipuia

manoa NlcErrorCode uint32_t

errorString errorCode exErrorCode

E le gata i lea, o lenei vasega o loʻo i ai galuega a tagata lautele nei:

hasError () Faitauina le manuia o le telefoni.
bool nlc::Result::hasError () const

Toe fo'i

moni pepelo

Ua le manuia le telefoni. Fa'aaoga getError () e faitau ai le tau. Manuia le valaau. Fa'aaoga getResult () e faitau ai le tau.

getError () Faitau i fafo le mafuaaga pe afai e le manuia se telefoni.
const std :: string nlc :: Result :: getError () const

Toe faafoi mai le manoa const

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

44

8 Vasega / galuega fa'asinomaga
i'uga () O galuega tauave nei e fesoasoani i le fa'amalamalamaina o taunu'uga tonu:
I'uga (std::string const & errorString_)
I'uga (NlcErrorCode const & errCode, std:: manoa const & errorString_)
I'uga (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
I'uga (I'uga fa'atonu & taunu'uga)
getErrorCode () Faitau le NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 Fa'ai'uga Void
NanoLib e tu'uina atu ia te oe se fa'ata'ita'iga o lenei vasega pe a toe fo'i fa'aleaogaina le galuega. E maua e le vasega galuega fa'ale-malo ma uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
ResultVoid () O galuega tauave nei e fesoasoani i le fa'amalamalamaina o le fa'ai'uga fa'aletonu:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultVoid (Result const & result)
8.28.2 I'ugaInt
NanoLib auina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a faʻafoʻi mai e le galuega se numera. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Fa'afo'i le fa'ai'uga numera pe a manuia se vala'au.
int64_t getResult () const
Toe fo'i int64_t

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

45

8 Vasega / galuega fa'asinomaga
ResultInt () O galuega nei e fesoasoani i le fa'amalamalamaina o le fa'ai'uga sa'o:
ResultInt (int64_t result_)
ResultInt (std:: manoa const & errorString_)
ResultInt (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultInt (Result const & result)
8.28.3 ResultString
NanoLib auina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a faʻafoʻi e le galuega se manoa. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau i tua le manoa i'uga pe a manuia se vala'au.
const std:: manoa nlc::ResultString::getResult () const
Toe faafoi mai le manoa const
ResultString () O galuega nei e fesoasoani i le faʻamalamalamaina o le manoa saʻo:
ResultString (std:: manoa const & fe'au, bool hasError_)
ResultString (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultString (Result const & result)
8.28.4 ResultArrayByte
NanoLib e tuʻuina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a fai e toe faʻafoʻi mai e le galuega se laina byte. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau i fafo le byte vector pe afai e manuia se telefoni.
const std::vector nlc::ResultArrayByte::getResult () const
Toe faafoi const vector

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

46

8 Vasega / galuega fa'asinomaga
ResultArrayByte () O galuega nei e fesoasoani i le faʻamalamalamaina o le faʻasologa saʻo byte:
ResultArrayByte (std::vector fa'atonu & iuga_)
ResultArrayByte (std:: manoa const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std:: manoa const & mea sese String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultArrayByte (Result const & result)
8.28.5 ResultArrayInt
NanoLib e auina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a faʻafoʻi mai e le galuega se numera numera. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau i fafo le integer vector pe afai e manuia se telefoni.
const std::vector nlc::ResultArrayInt::getResult () const
Toe faafoi const vector
ResultArrayInt () O galuega nei e fesoasoani i le faʻamalamalamaina o le faʻasologa saʻo o le numera numera:
ResultArrayInt (std::vector fa'atonu & iuga_)
ResultArrayInt (std:: manoa const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std:: manoa const & mea sese String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultArrayInt (Result const & result)
8.28.6 ResultBusHwIds
O le NanoLib e tu'uina atu ia te oe se fa'ata'ita'iga o lenei vasega pe a toe fa'afo'i mai e le galuega se fa'ailoga ID hardware. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau i fafo le pasi-hardware-ID vector pe afai e manuia se telefoni.
const std::vector nlc::ResultBusHwIds::getResult () const
Parameter const vector

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

47

8 Vasega / galuega fa'asinomaga
ResultBusHwIds () O galuega nei e fesoasoani i le fa'amalamalamaina o le fa'ai'uga sa'o o le pasi-hardware-ID-array:
ResultBusHwIds (std::vector fa'atonu & iuga_)
ResultBusHwIds (std:: string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultBusHwIds (Result const & result)
8.28.7 ResultDeviceId
NanoLib auina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a faʻafoʻi mai e le galuega se ID masini. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau i fafo le masini ID vector pe a manuia se telefoni.
DeviceId nlc::ResultDeviceId::getResult () const
Toe faafoi const vector
ResultDeviceId () O galuega nei e fesoasoani i le faʻamalamalamaina o le ID ID saʻo o le masini:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std:: manoa const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string errorString_)
ResultDeviceId (Result const & result)
8.28.8 ResultDeviceIds
NanoLib e tu'uina atu ia te oe se fa'ata'ita'iga o lenei vasega pe a fa'afo'i mai e le galuega se fa'asologa o ID ID. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Toe fa'afo'i le masini ID vector pe a manuia le telefoni.
DeviceId nlc::ResultDeviceIds::getResult () const
Toe faafoi const vector

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

48

8 Vasega / galuega fa'asinomaga
ResultDeviceIds () O galuega nei e fesoasoani i le faʻamalamalamaina o le mea tonu-ID-array taunuuga:
ResultDeviceIds (std::vector fa'atonu & iuga_)
ResultDeviceIds (std:: manoa const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultDeviceIds (Result const & result)
8.28.9 ResultDeviceHandle
NanoLib auina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a faʻafoʻi e le galuega le tau o se au masini. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau le au o le masini pe a manuia le telefoni.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Toe faafoi DeviceHandle
ResultDeviceHandle () O galuega nei e fesoasoani i le fa'amalamalamaina o le taunu'uga tonu o le au masini:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std:: manoa const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultDeviceHandle (I'uga fa'atonu & taunu'uga)
8.28.10 ResultObjectDictionary
NanoLib e auina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a faʻafoʻi e le galuega le mea o loʻo i totonu o se lomifefiloi. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau i fafo le masini ID vector pe a manuia se telefoni.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

49

8 Vasega / galuega fa'asinomaga

Toe fo'i

const vector

ResultObjectDictionary () O galuega nei e fesoasoani i le fa'amalamalamaina o le fa'ai'uga o lomifefiloi mea tonu:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)

ResultObjectDictionary (std:: manoa const & errorString_)

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

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

ResultObjectDictionary (Result const & result)

8.28.11 ResultConnectionState
NanoLib e tuʻuina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a fai e toe faʻafoʻi mai e le galuega se faʻamatalaga masini-fesoʻotaʻiga-setete. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau le au o le masini pe a manuia le telefoni.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

Fa'afo'i le DeviceConnectionStateInfo Feso'ota'i / Mo'esea / ConnectedBootloader

ResultConnectionState () O galuega nei e fesoasoani i le faʻamalamalamaina o le tulaga tonu o fesoʻotaʻiga taunuuga:
ResultConnectionState (DeviceConnectionStateInfo const & result_)

ResultConnectionState (std:: manoa const & errorString_)

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

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

ResultConnectionState (Result const & result)

8.28.12 ResultObjectEntry
NanoLib e tu'uina atu ia te oe se fa'ata'ita'iga o lenei vasega pe a toe fa'afo'i mai e le galuega se fa'ailoga mea. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

50

8 Vasega / galuega fa'asinomaga
getResult () Toe fa'afo'i le masini ID vector pe a manuia le telefoni.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Toe fo'i const ObjectEntry
ResultObjectEntry () O galuega nei e fesoasoani i le faʻamalamalamaina o le taunuʻuga saʻo o le mea e ulufale ai:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std:: manoa const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultObjectEntry (Result const & result)
8.28.13 ResultObjectSubEntry
NanoLib e tu'uina atu ia te oe se fa'ata'ita'iga o lenei vasega pe a toe fa'afo'i mai e le galuega se mea e fa'aulu i lalo. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Toe fa'afo'i le masini ID vector pe a manuia le telefoni.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Toe fo'i const ObjectSubEntry
ResultObjectSubEntry () O galuega nei e fesoasoani i le faʻamalamalamaina o le mea tonu i lalo o le faʻamatalaga:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std:: manoa const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std:: manoa const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: manoa const & errorString_)
ResultObjectSubEntry (Result const & result)
8.28.14 ResultProfinetDevices
NanoLib auina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a faʻafoʻi mai e le galuega se masini Profinet. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

51

8 Vasega / galuega fa'asinomaga

getResult () Faitau i fafo le Profinet device vector pe afai e manuia se telefoni.
const std::vector & getResult () const

ResultProfinetDevices () O galuega nei e fesoasoani i le faʻamalamalamaina saʻo o masini Profinet.
ResultProfinetDevices (const std ::vector & poto masini)
ResultProfinetDevices (const Result & result)
ResultProfinetDevices (const std:: manoa &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 I'ugaSampleDataArray
NanoLib e tuʻuina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a toe foʻi mai le galuegaample fa'asologa o fa'amaumauga. E maua e le vasega galuega fa'ale-malo / uiga puipuia mai le vasega fa'ai'uga ma ei ai galuega a tagata lautele nei:
getResult () Faitau le fa'asologa o fa'amaumauga pe a manuia le telefoni.
const std::vector <SampleData> & getResult () const

I'ugaSampleDataArray () O galuega nei e fesoasoani i le faʻamalamalamaina o masini Profinet saʻo.
I'ugaSampleDataArray (const std ::vector <SampleData> & dataArray)

I'ugaSampleDataArray (const std:: manoa &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)

I'ugaSampleDataArray (const ResultSampleDataArray ma isi)

I'ugaSampleDataArray (const Result & result)

8.28.16 I'ugaSamplerState
NanoLib e tuʻuina atu ia te oe se faʻataʻitaʻiga o lenei vasega pe a toe foʻi mai le galuegaampler state.O lenei vasega e maua galuega a tagata lautele / puipuia uiga mai le vasega taunuuga ma ei ai galuega a tagata lautele nei:

getResult () Faitau le sampler state vector pe afai e manuia se valaau.
SamplerState getResult () const

Toe faafoi SamplerState>

Le'o fa'atulagaina / Fa'atonu / Sauni / Tamomoe / Maea / Le manuia / Fa'aleaogaina

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

52

8 Vasega / galuega fa'asinomaga

I'ugaSamplerState () O galuega tauave nei e fesoasoani i le fa'amalamalamaina o le sampler setete.
I'ugaSamplerState (const SamplerState setete)

I'ugaSamplerState (const std:: manoa & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
extendedErrorCode = 0)

I'ugaSamplerState (const ResultSamplerState ma isi)

I'ugaSamplerState (const Result & result)

8.29 NlcErrorCode

Afai ei ai se mea e faaletonu, e lipoti mai e vasega i'uga se tasi o tulafono sese o lo'o lisiina i lenei fa'asologa.

Fa'ailoga sese Success GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODIInvalidAccess ODTipe Le fetaui Faagaioiga Fa'ate'aina le Fa'agaioiga Le'o Lagolagoina Le aoga
InvalidArguments Access Denied ResourceNotFound Resource Le maua I fafoOfMemory TimeOut Error

C: Vaega D: Fa'amatalaga R: Mafuaaga C: Leai. D: Leai se mea sese. R: Ua mae'a manuia le taotoga.
C: Le fa'ailoaina. D: Fa'amatalaga sese. R: Fa'aletonu e le fetaui ma se isi vaega.
C: Pasi. D: E le o maua le pasi masini. R: E leai se pasi, motusia pe faaletonu.
C: Fesootaiga. D: Fesootaiga le faatuatuaina. R: Faʻamatalaga e leʻi mafaufauina, CRC sese, faʻavaa poʻo faʻatasi mea sese, ma isi.
C: Polokalama. D: Fa'akomepiuta sese. R: Tali pe a mae'a le filifiliga fa'akomepiuta e le'i lagolagoina, lipoti mai masini fa'apolokalame e le'i lagolagoina, fa'aletonu i le protocol (fai mai, SDO vaega sync bit), ma isi R: O se tali po'o se lipoti a le masini i le fa'atulafonoina e le lagolagoina (filifiliga) po'o mea sese i le protocol (fai mai, SDO vaega sync bit), ma isi R: Fa'atonuga le lagolagoina (filifiliga) po'o le mea sese i le protocol (fai mai, SDO vaega sync bit), ma isi.
C: Lomifefiloi. D: OD tuatusi e le o iai. R: E leai se tuatusi fa'apea i totonu o le lomifefiloi.
C: Lomifefiloi. D: E le aoga le avanoa ile tuatusi OD. R: Taumafai e tusi se na'o faitau, po'o le faitau mai se tuatusi na'o tusi.
C: Lomifefiloi. D: Ituaiga le fetaui. R: Tau e le'i liua i le ituaiga fa'apitoa, fa'apea, i se taumafaiga e fa'aogaina se manoa o se numera.
C: Fa'aoga. D: Fa'amuta le fa'agasologa. R: Fa'agasologa tipi e ala ile talosaga talosaga. Fa'afo'i na'o le fa'alavelave fa'agaoioiga e ala i galuega toe fo'i, fa'apea, mai le su'ega pasi.
C: masani. D: Fa'agasologa e le'o lagolagoina. R: Leai se mea faigaluega pasi / masini lagolago.
C: masani. D: E le sa'o le fa'agaioiga i le fa'amatalaga o lo'o i ai nei, pe le aoga i le finauga o lo'o iai nei. R: Ose toe fa'afeso'ota'i i pasi / masini ua uma ona feso'ota'i. Ose taumafai e momotu i mea ua uma ona motusia. O se taumafaiga e fa'aogaina le bootloader i le firmware mode po'o le isi itu.
C: masani. D: E le aoga le finauga. R: Sese manatu poo le syntax.
C: masani. D: Ua le maua le avanoa. R: Leai o aia tatau po'o agava'a e fa'atino ai le fa'atonuga.
C: masani. D: E le maua se mea fa'apitoa. R: Pasi masini, protocol, masini, tuatusi OD ile masini, po'o file e lei maua.
C: masani. D: E le maua se mea fa'apitoa. R: pisi, leai, tipi po'o fa'aletonu.
C: masani. D: Le lava manatua. R: E itiiti tele le manatua e fa'agasolo ai lenei fa'atonuga.
C: masani. D: Ua uma le taimi o le faagasologa. R: Toe fo'i pe a uma le taimi malolo. Taimi e mafai ona avea ma se taimi e tali atu ai masini, o se taimi e maua ai le avanoa fa'asoa pe fa'apitoa, po'o se taimi e sui ai le pasi / masini i se tulaga talafeagai.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

53

8 Vasega / galuega fa'asinomaga

8.30 NlcCallback
O lenei vasega matua mo toe fo'i o lo'o i ai le galuega a tagata lautele nei: toe fo'i ()
virtual ResultVoid callback ()

Toe fo'i

ResultVoid

8.31 NlcDataTransferCallback
Fa'aoga lenei vasega toe fo'i mo le fa'aliliuina o fa'amaumauga (fa'afouga fa'auiga, fa'aulufale NanoJ ma isi). 1. Mo le fa'apipi'iina o le firmware: Fa'amatala se "vasega fa'atasi" fa'alautele le tasi lea i se auala masani e toe fo'i ai
faatinoga. 2. Fa'aoga le "co-class's" instances i le NanoLibAccessor.uploadFirmware () telefoni. O le vasega autu lava ia o loʻo i ai le galuega a tagata lautele:

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

Toe fo'i

ResultVoid

8.32 NlcScanBusCallback
Fa'aoga lenei vasega toe fo'i mo su'ega pasi. 1. Fa'amatala se "vasega fa'atasi" fa'alautele le tasi lea fa'atasi ma se fa'atinoga masani o le fa'atinoina. 2. Fa'aoga le “co-class's” instance i le NanoLibAccessor.scanDevices () telefoni. O le vasega autu lava ia o lo'o i ai le galuega a tagata lautele.

toe valaau ()
virtual ResultVoid callback (nlc::BusScanInfo info, std::vector const & masiniMaua, int32_t data)

Toe faafoi ResultVoid
8.33 NlcLoggingCallback
Fa'aoga lenei vasega toe fo'i mo le fa'amauina o toe fo'i. 1. Fa'amatala se vasega e fa'alautele ai lenei vasega fa'atasi ai ma le fa'atinoina o le auala fa'aaganu'u 2. Fa'aaoga se fa'asino i ona fa'ata'ita'iga ina ia mafai ai ona seti se toe fo'i e NanoLibAccessor >
setLoggingCallback (…).
virtual void callback (const std:: manoa & payload_str, const std:: manoa & formatted_str, const std:: manoa & logger_name, const unsigned int log_level, const std:: uint64_t time_since_epoch, const size_t thread_id)

8.34 SamplerInterface
Fa'aoga lenei vasega e fa'atulaga, amata ma taofi le sampler, pe maua samptaʻitaʻia faʻamatalaga ma fetch asamptulaga o le ler po o le sese mulimuli. O le vasega o lo'o i ai galuega a tagata lautele nei.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

54

8 Vasega / galuega fa'asinomaga

configure () Fa'atonu e pei oampler
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Parameter [i] masiniUu [i] samplerConfiguration
Toe faafoi ResultVoid

Fa'ailoa mai po'o le a le masini e fa'atulaga ai le sampler mo. Fa'ama'oti le tau o uiga fa'atulagaina. Fa'amaonia ua fa'agasolo se galuega gaogao.

getData () Maua le sampfaʻamatalaga taʻitaʻia.
virtual ResultSampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parameters [i] deviceHandle Return ResultsSampleDataArray

Fa'ailoa mai po'o le a le masini e maua ai fa'amaumauga.
Tuuina atu le samptaʻitaʻia faʻamatalaga, lea e mafai ona avea ma se laina gaogao pe afai samplerNotify o lo'o galue ile amataga.

getLastError () Maua e pei oampsese mulimuli a ler.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

Toe faafoi ResultVoid

Fa'amaonia ua fa'agasolo se galuega gaogao.

getState () Maua e pei oamptulaga o ler.
virtual ResultSamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Fa'afo'i I'ugaSamplerState

Tuuina atu le sampler setete.

amata () Amata e pei oampler
virtual ResultVoid nlc::SamplerInterface::amata (const DeviceHandle deviceHandle, SamplerFaailoa* samplerNotify, int64_t applicationData)

Parameter [i] masiniUu [i] SamplerNotify [i] applicationData
Toe faafoi ResultVoid

Fa'ailoa mai poo le a le masini e amata ai le sampler mo.
Fa'ailoa mai po'o le a le fa'amatalaga e tu'ufa'atasia e lipoti atu (e mafai ona nullptr).
Filifiliga: Tu'u i luma fa'amatalaga e feso'ota'i ma talosaga (se fa'avasegaina 8-bit fa'avasegaina e le tagata fa'aoga o le tau / ID masini / fa'asinomaga, po'o se aso, se fa'ailoga fesuiaiga / galuega, ma isi) i le samplerNotify.
Fa'amaonia ua fa'agasolo se galuega gaogao.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

55

8 Vasega / galuega fa'asinomaga

taofi () Tu e pei oampler
virtual ResultVoid nlc::SamplerInterface::taofi (const DeviceHandle deviceHandle)

Parameters [i] deviceHandle Return ResultVoid

Fa'ailoa mai poo le a le masini e taofi ai le sampler mo. Fa'amaonia ua fa'agasolo se galuega gaogao.

8.35 SamplerConfiguration struct

O lenei struct o loʻo i ai faʻamatalaga sampfilifiliga a le ler's configurations (tumau pe leai).

Uiga lautele

std::vector trackedAddresses

E oo atu i le 12 tuatusi OD e samptaitaiina

uint32_t

lomiga

Faiga a se fausaga.

uint32_t

umiMilliseconds

Sampumi ole umi ile ms, mai le 1 ile 65535

uint16_t

vaitaimiMilliseconds

Sampling vaitaimi i ms.

uint16_t

numeraOfSamples

Sample aofaiga.

uint16_t

preTriggerNumberOfSamples

Sample aofa'i muamua fa'aoso.

pulu

fa'aogaSoftwareImplementation

Fa'aaogā le fa'atinoga o polokalame.

pulu

fa'aaogaNewFWSamplerImplementation Fa'aaogā le fa'atinoga FW mo masini e iai le

FW version v24xx pe fou.

SamplerMode

faiga

masani, fai fai pe fa'aauau sampling

SamplerTriggerCondition triggerCondition

Amata tulaga fa'aoso: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE_TOGGLE = 0x14 = TCxGREATER = 0x15 = TCxGREATER = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, Odaluedex, fa'aosoV

SamplerTrigger

SamplerTrigger

O se faʻaoso e amata aiampler?

Uiga fa'alaua'itele
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Fa'aoga lenei vasega e fa'agaoioi ai le sampLer fa'amatalaga pe ae amata e peiampler. O lo'o i ai i le vasega galuega fa'atino a tagata lautele.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

56

8 Vasega / galuega fa'asinomaga

logo ()
Tuuina atu se faʻamatalaga faʻamatalaga.
virtual gaogao nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Parameter [i] lastError [in] samplerState
[i] sampleDatas [i] applicationData

Lipoti le sese mulimuli na tupu a'o sampling. Lipoti le sample tulaga i le taimi o fa'asilasilaga: Le'i fa'atulagaina / Fa'atonu / Sauni / Tamomoe / Maea / Le manuia / Fa'aleaogaina. Lipoti le sampta'ita'i-fa'amatalaga fa'asologa. Lipoti fa'amatalaga fa'apitoa mo talosaga.

8.37 SampleData struct

O lenei fausaga e aofia ai le sampfaʻamatalaga taʻitaʻia.

uin64_t iterationNumber

Amata ile 0 ma na'o le fa'atupula'ia ile faiga fai fai.

std::vector<SampledValues> O lo'o i ai le fa'asologa o sampta'ita'i taua.

8.38 SampledValue struct

O lenei fausaga e aofia ai le sampta'ita'i taua.

in64_t tau uin64_t CollectTimeMsec

O lo'o i ai le tau o se tuatusi OD siaki.
O lo'o iai le taimi e aoina ai ile miliseconds, fa'atatau ile sample amataga.

8.39 SamplerTrigger struct

O lenei fa'atonuga o lo'o i ai tulaga fa'aoso o le sampler

SamplerTriggerCondition tulaga
OdIndex uin32_t tau

Ole tulaga fa'aosoina:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE_TOGGLE = 0x14 = TCx0GREATER = 15x0 = TCx16GREATER 0x17 TC_LESS = 0x18 TC_LESS_OR_EQUAL = 0x19 TC_EQUAL = 0x1 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = XNUMXxXNUMXC
Ole fa'aoso ole OdIndex (tuatusi).
Tulaga tau po'o le numera itiiti (amata mai le si'i zero).

8.40 Fa'asologa fa'asologa

Su'e iinei au filifiliga feso'ota'iga fa'asologa ma uiga fa'alaua'itele nei:

const std:: manoa const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = "faasologa o le pa'u o le faasologa" baudRate =SerialBaudRate struct

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

57

8 Vasega / galuega fa'asinomaga

const std:: manoa const SerialParity

PARITY_OPTIONS_NAME = "fa'asologa fa'asologa" parity = Fa'asologa o le SerialParity

8.41 SerialBaudRate struct

Su'e iinei lau fua faatatau o feso'ota'iga fa'asalalau ma uiga fa'alaua'itele nei:

const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa

BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_56000 = “56000” BAUD_RATE 57600” BAUD_RATE_57600 = “115200” BAUD_RATE_115200 = “128000” BAUD_RATE_128000 = “256000”

8.42 Fa'asologa Fa'asologa

Su'e iinei au filifiliga tutusa fa'asologa ma uiga lautele nei:

const std:: manoa const std:: manoa const std:: manoa const std:: manoa const std:: manoa

LEAI = “leai” ODD = “Odd” EVEN = “even” MARK = “mark” SPACE = “space”

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

58

9 Laisene

9 Laisene

NanoLib API fa'auluuluga fa'aoga ma exampO le source code ua laiseneina e Nanotec Electronic GmbH & Co. KG i lalo o le Creative Commons Attribution 3.0 Unported License (CC BY). O vaega o le faletusi o lo'o tu'uina atu i le fa'atulagaga fa'alua (faletusi autu ma faletusi feso'ota'iga) e laiseneina i lalo o le Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).

Creative Commons
O le aotelega o lo'o i lalo e mafai ona faitau e tagata o le a le suitulaga i le laisene lava ia. E mafai ona e mauaina le laisene ta'itasi ile creativecommons.org ma feso'ota'i i lalo. Ua e sa'oloto e:

CC BY 3.0
Fa'asoa: Va'ai sa'o. Fetuunai: Remix, suia, ma fausia i luga o le
meafaitino mo soo se faamoemoega, e oo lava i pisinisi.

CC BY-ND 4.0
Fetufaai: Kopi ma toe tufatufa atu mea i soo se ala po o se faatulagaga.

E le mafai e le tagata fai laisene ona fa'aleaogaina ia sa'olotoga o lo'o ta'ua i luga pe afai e te usita'ia aiaiga o laisene nei:

CC BY 3.0

CC BY-ND 4.0

Fa'ailoga: E tatau ona e tu'uina atu le fa'afetai talafeagai, Fa'ailoga: Va'ai agavale. Ae: Tuuina atu se sootaga i lenei

saunia se sootaga i le laisene, ma faailoa mai pe

isi laisene.

na faia suiga. E mafai ona e faia i soo se mea

Leai ni mea e maua mai ai: Afai e te fa'afefiloi, suia, pe fau

auala talafeagai, ae le o soʻo se auala e fautuaina ai

i luga o mea, e le mafai ona e tufatufaina atu le

e fa'amaonia ai oe po'o lou fa'aogaina e le tagata fai laisene.

mea ua suia.

Leai se tapula'a fa'aopoopo: E le mafai ona e fa'aogaina Leai se fa'agata fa'aopoopo: Va'ai agavale. aiaiga faaletulafono po o faiga faatekinolosi e faaletulafono

fa'asaina isi mai le faia o so'o se laisene

pemita.

Fa'aaliga: E le tatau ona e tausisia le laisene mo elemene o mea i le lautele lautele poʻo le mea e faʻatagaina ai lou faʻaogaina e se tuusaunoaga talafeagai poʻo se tapulaʻa.
Fa'aaliga: E leai ni fa'amaoniga na tu'uina atu. E le mafai e le laisene ona tu'uina atu ia te oe fa'atagaga uma e mana'omia mo lou fa'aogaina. Mo example, isi aia tatau e pei o faʻasalalauga, faʻalilolilo, poʻo aia tatau e mafai ona faʻatapulaʻaina le auala e te faʻaogaina ai mea.

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

59

Fa'ailoga, fa'afeso'ota'i, fa'aliliuga

©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 Ua taofia aia tatau uma. Sese, le faia, fa'atekinisi po'o mea e mafai ona suia e aunoa ma se fa'aaliga. O fa'ailoga/oloa o lo'o ta'ua o fa'ailoga tau fefa'ataua'iga a latou e ona ma ia fa'apenaina. Tusi muamua.

Pepa 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

+ Faʻaopoopo > Suia # Faʻamauina > Toe faʻaleleia o le mea na tuʻuina atuamples.
+ NanoLib Modbus: Faʻaopoopoina masini loka masini mo Modbus VCP. # NanoLib Core: Siaki tulaga o fesoʻotaʻiga. # NanoLib Code: Fa'asa'o le ave'esea o fa'asinomaga mea faigaluega.
+ NanoLib-CANopen: Lagolago mo Peak PCAN-USB adapter (IPEH-002021/002022).
> NanoLib Core: Suia le logging callback interface (LogLevel suia e LogModule). # NanoLib Logger: Vaeluaga i le va o le autu ma modules ua faʻasaʻo. # Modbus TCP: Faʻafouina faʻafouina firmware mo FW4. # EtherCAT: Fa'apipi'i polokalame NanoJ mo Core5. # EtherCAT: Faʻafouina faʻafouina firmware mo Core5.
# Modbus RTU: Faʻatonu taimi faʻafitauli ma le maualalo o le paʻu i le taimi o le faʻafouina o le firmware. # MAFAUFAU: Fa'apipi'i le polokalame NanoJ.
# NanoLib Modules Sampler: Faitau sa'o o le sampta'ita'ia tau o le boolean.
+ Java 11 lagolago mo tulaga uma. + Python 3.11/3.12 lagolago mo tulaga uma. + Faiga fou o le toe foʻi i tua (vaai examples). + Totogi toe foʻi mo le NanoLib Logger. > Fa'afou le logger ile version 1.12.0. > NanoLib Modules Sampler: Lagolago nei mo le Nanotec controller firmware v24xx. > NanoLib Modules Sampler: Suiga i le fausaga fa'aoga mo sampler faatulagaga. > NanoLib Modules Sampler: Fa'aauau le faiga e tutusa ma le le gata; o le tulaga faʻaoso e siaki tasi; numera o sampe tatau ona 0. > NanoLib Modules Sampler: Fa'amuamua masani mo le filo o lo'o aoina fa'amaumauga ile faiga fa'amautu. > NanoLib Modules Sampler: Toe tusia algorithm e iloa ai le suiga i le va o le Sauni & Tamo'e tulaga. # NanoLib Core: Leai se soliga Avanoa (0xC0000005) i le tapunia o le 2 poʻo le sili atu masini e faʻaaoga ai le mea e tasi o le pasi. # NanoLib Core: Leai se Segmentation Fault i le faʻapipiʻiina o se PEAK adapter i lalo o Linux. # NanoLib Modules Sampler: Sa'o sampta'ita'ia-taua faitau i le faiga firmware. # NanoLib Modules Sampler: Fa'atonu sa'o o le 502X:04. # NanoLib Modules Sampler: Fa'afefiloi sa'o o pa'u ma alavai. # NanoLib-Canopen: Faʻateleina taimi faʻagata CAN mo le malosi ma le saʻo faʻataʻitaʻiga i paʻu maualalo. # NanoLib-Modbus: VCP detection algorithm mo masini faʻapitoa (USB-DA-IO).
+ EtherCAT lagolago.
+ Faʻaaliga i luga o le VS faʻatulagaina o galuega i le Faʻatonu lau galuega.
+ getDeviceHardwareGroup (). + getProfinetDCP ( isServiceAvailable). + mauaProfinetDCP (faʻamaoniaProfinetDeviceIp). + autoAssignObjectDictionary (). + mauaXmlFileIgoa (). + const std:: manoa & xmlFileAla ile addObjectDictionary (). + mauaSamplerInterface ().

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

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

60

10 Fa'ailoga, fa'afeso'ota'i, fa'aliliuga

Pepa
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

+ Faaopoopo > Suia # Fixed + reboot Device (). + Fa'ailoga sese ResourceUnavailable mo getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, ma ~Uid. > firmwareUploadFromFile nei uploadFirmwareFromFile (). > firmwareUpload () now uploadFirmware (). > bootloaderUploadFromFile () uploadBootloaderFromFile (). > bootloaderUpload () now uploadBootloader (). > bootloaderFirmwareUploadFromFile () e uploadBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () nei uploadBootloaderFirmware (). > nanojUploadFromFile () nei uploadNanoJFromFile (). > nanojUpload () now uploadNanoJ (). > objectDictionaryLibrary () maua neiObjectDictionaryLibrary (). > String_String_Map i le taimi nei StringStringMap. > NanoLib-Common: fa'avave le fa'atinoina o le lisiAvailableBusHardware ma le openBusHardwareWithProtocol ma le fa'aoga Ixxat. > NanoLib-CANopen: fa'aoga fa'aoga fa'aoga (1000k baudrate, numera pasi Ixxat 0) pe a gaogao avanoa mo masini pasi. > NanoLib-RESTful: fa'atagaga fa'atonu ua le toe fa'aaogaina mo feso'ota'iga ma Ethernet bootloaders i lalo ole Windows pe a maua le ta'avale npcap / winpcap. # NanoLib-CANopen: mea faigaluega pasi ua tatalaina nei e aunoa ma se faaletonu ma avanoa avanoa. # NanoLib-Common: openBusHardwareWithProtocol () e leai se mea e manatua ai nei.
+ Linux ARM64 lagolago. + USB tele teuina / REST / Profinet DCP lagolago. + siakiConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (suia NanotecExceptions). + NanoLib Modbus: VCP / USB hub ua tuufaatasia i le USB. > Modbus TCP su'esu'e fa'afo'i taunu'uga. < Modbus TCP feso'ota'iga le tumau e tumau pea.
+ Sili atu ObjectEntryDataType (faigata ma profile-faʻapitoa). + E toe foʻi mai le IOError pe afai e leai se mea e maua e connectDevice () ma scanDevices (). + Naʻo le 100 ms taimi faʻagata mo CanOpen / Modbus.
+ Lagolago Modbus (faaopoopo le USB Hub e ala i le VCP). + Mataupu Fausia lau oe lava poloketi Linux. + extraHardwareSpecifier i le BusHardwareId (). + extraId_ ma extraStringId_ i DeviceId ().
+ setiBusState (). + mauaDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Fa'atonuga.
Lomiga.

Oloa
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Fa'aliliuga: doc 1.4.2 / NanoLib 1.3.0

61

Pepa / Punaoa

Polokalama Nanotic NanoLib C++ [pdf] Tusi Taiala
NanoLib C Polokalama, C Polokalama, Polokalama

Fa'asinomaga

Tuu se faamatalaga

E le fa'asalalauina lau tuatusi imeli. Fa'ailogaina fanua mana'omia *