Nanotic NanoLib C++ Programming
Enfòmasyon sou pwodwi
Espesifikasyon
- Non pwodwi: NanoLib
- Pwogramasyon Lang: C++
- Vèsyon pwodwi: 1.3.0
- Manyèl Itilizatè vèsyon: 1.4.2
Bibliyotèk NanoLib fèt pou pwogramasyon lojisyèl kontwòl pou contrôleur Nanotec. Li bay yon koòdone itilizatè, fonksyonalite debaz, ak bibliyotèk kominikasyon pou fasilite devlopman aplikasyon kontwòl yo.
Enstriksyon Itilizasyon Pwodwi
- Anvan w kòmanse:
- Asire w ke sistèm ou a satisfè kondisyon pyès ki nan konpitè ki espesifye nan manyèl la. Odyans lan gen entansyon pou pwodwi sa a gen ladan devlopè kap kreye lojisyèl kontwòl pou contrôleur Nanotec.
- Kòmanse:
- Pou kòmanse itilize NanoLib, swiv etap sa yo:
- Kòmanse pa enpòte NanoLib nan pwojè ou a.
- Konfigure paramèt pwojè ou a jan sa nesesè.
- Bati pwojè ou a pou enkòpore fonksyonalite NanoLib.
- Kreye Pwojè:
- Ou ka kreye pwojè pou tou de Windows ak Linux anviwònman. Swiv enstriksyon espesifik yo bay nan manyèl la pou chak platfòm.
- Klas / Fonksyon Referans:
- Ale nan manyèl itilizatè a pou yon gid detaye sou klas ak fonksyon ki disponib nan NanoLib pou pwogram kontwòl lojisyèl.
FAQ
- K: Ki objektif NanoLib?
- A: NanoLib se yon bibliyotèk pou pwogram kontwòl lojisyèl pou kontwolè Nanotec, bay fonksyonalite esansyèl ak kapasite kominikasyon.
- K: Kouman mwen ka kòmanse ak NanoLib?
- A: Kòmanse pa enpòte NanoLib nan pwojè ou a, konfigirasyon anviwònman pwojè yo, ak bati pwojè ou a pou itilize karakteristik NanoLib.
"`
Manyèl itilizatè NanoLib
C++
Valab ak vèsyon pwodwi 1.3.0
Manyèl itilizatè vèsyon: 1.4.2
Objektif dokiman ak konvansyon
Dokiman sa a dekri konfigirasyon ak itilizasyon bibliyotèk NanoLib la epi li gen yon referans a tout klas ak fonksyon pou pwograme pwòp lojisyèl kontwòl ou pou kontwolè Nanotec. Nou itilize kalite sa yo:
Tèks souliye make yon referans kwa oswa ipèrlink.
Example 1: Pou enstriksyon egzak sou NanoLibAccessor, gade Enstalasyon. Egzample 2: Enstale chofè Ixxat epi konekte adaptè CAN-a-USB la. Tèks italik vle di: Sa a se yon objè non, yon chemen meni / atik, yon tab / file non oswa (si sa nesesè) yon ekspresyon nan lang etranje.
Example 1: Chwazi File > Nouvo > Dokiman vid. Louvri tab la Zouti epi chwazi Kòmantè. Egzample 2: Dokiman sa a divize itilizatè yo (= Nutzer; usuario; utente; utilisateur; utilisateur elatriye) soti nan:
– Itilizatè twazyèm pati (= Drittnutzer; tercero usuario; terzo utente; tiers utilisateur; terzo utente elatriye). – End user (= Endnutzer; usuario final; utente final; utilisateur final; utente final elatriye).
Courier make blòk kòd oswa kòmandman pwogramasyon. Egzample 1: Via Bash, rele sudo make install pou kopye objè pataje; Lè sa a, rele ldconfig. Egzample 2: Sèvi ak fonksyon NanoLibAccessor sa a pou chanje nivo anrejistreman nan NanoLib:
// ***** Variant C++ *****
void setLoggingLevel (nivo LogLevel);
Tèks fonse mete aksan sou mo endividyèl ki gen anpil enpòtans. Altènativman, mak esklamasyon ki mete aksan sou enpòtans kritik(!).
Example 1: Pwoteje tèt ou, lòt moun ak ekipman ou. Swiv nòt jeneral sekirite nou yo ki jeneralman aplikab pou tout pwodwi Nanotec yo.
Example 2: Pou pwòp pwoteksyon ou, tou swiv nòt sekirite espesifik ki aplike nan pwodwi espesifik sa a. Vèb ko-klike la vle di yon klike sou kle sourit segondè pou ouvri yon meni kontèks elatriye.
Example 1: Ko-klike sou la file, chwazi Chanje non, epi chanje non an file. Egzample 2: Pou tcheke pwopriyete yo, ko-klike sou la file epi chwazi Pwopriyete.
Version: doc 1.4.2 / NanoLib 1.3.0
4
Anvan ou kòmanse
Anvan ou kòmanse sèvi ak NanoLib, prepare PC ou epi enfòme tèt ou sou itilizasyon entansyonèl ak limit bibliyotèk la.
2.1 Kondisyon sistèm ak pyès ki nan konpitè
AVI Malfonksyònman nan operasyon 32-bit oswa sistèm sispann! Sèvi ak, epi toujou kenbe, yon sistèm 64-bit. Obsève sispansyon OEM ak ~enstriksyon yo.
NanoLib 1.3.0 sipòte tout pwodwi Nanotec ak CANopen, Modbus RTU (tou USB sou pò vityèl com), Modbus TCP, EtherCat, ak Profinet. Pou pi gran NanoLibs: Gade journal chanjman nan anprint la. Nan risk ou sèlman: itilizasyon sistèm eritaj. Remak: Swiv enstriksyon OEM ki valab pou mete latansi a pi ba ke posib si ou fè fas ak pwoblèm lè w ap itilize yon adaptè USB ki baze sou FTDI.
Kondisyon (sistèm 64-bit obligatwa)
Windows 10 oswa 11 ak Visual Studio 2019 vèsyon 16.8 oswa pita ak Windows SDK 10.0.20348.0 (vèsyon 2104) oswa pita
C++ redistributables 2017 oswa pi wo CANopen: Ixxat VCI oswa PCAN chofè debaz (si ou vle) Modil EtherCat / Profinet DCP: Npcap oswa WinPcap Modil RESTful: Npcap, WinPcap, oswa pèmisyon admin pou
kominike ak charjeur Ethernet
Linux ak Ubuntu 20.04 LTS pou 24 (tout x64 ak arm64)
Tèt nwayo ak pake libpopt-dev Profinet DCP: CAP_NET_ADMIN ak CAP_NET_RAW kapasite
lyen CANopen: Ixxat ECI chofè oswa Peak PCAN-USB adaptè EtherCat: CAP_NET_ADMIN, CAP_NET_RAW ak
CAP_SYS_NICE kapasite RESTful: CAP_NET_ADMIN kapasite pou kominike avèk Eth-
ernet bootloaders (rekòmande tou: CAP_NET_RAW)
Lang, adaptè fieldbus, câbles
C++ GCC 7 oswa pi wo (Linux)
EtherCAT: Ethernet kab VCP / USB mwaye: kounye a inifòm USB USB mas depo: USB kab REST: Ethernet kab CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB adaptè Pa gen sipò Ixxat pou Ubuntu sou arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 oswa adaptè ekivalan; USB kab sou pò vityèl com (VCP)
Modbus TCP: kab Ethernet dapre fèy done pwodwi
2.2 Itilizasyon ak odyans ki gen entansyon
NanoLib se yon bibliyotèk pwogram ak eleman lojisyèl pou operasyon ak kominikasyon ak kontwolè Nanotec nan yon pakèt aplikasyon endistriyèl ak pou pwogramasyon ki gen ladrès sèlman.
Akòz pyès ki nan konpitè enkapab an tan reyèl (PC) ak sistèm opere, NanoLib se pa pou itilize nan aplikasyon ki bezwen synchrone mouvman milti-aks oswa yo jeneralman tan-sansib.
Nan okenn ka ou ka entegre NanoLib kòm yon eleman sekirite nan yon pwodwi oswa yon sistèm. Sou livrezon bay itilizatè final yo, ou dwe ajoute avètisman korespondan ak enstriksyon pou itilizasyon an sekirite ak operasyon an sekirite nan chak pwodwi ak yon eleman manifakti Nanotec. Ou dwe pase tout avi avètisman Nanotec bay dwa itilizatè final la.
2.3 Dimansyon livrezon ak garanti
NanoLib vini kòm yon katab *.zip nan telechaje nou an websit pou swa EMEA / APAC oswa AMERIK. Byen sere ak dekonprime download ou anvan konfigirasyon. Pake NanoLib la gen ladan l:
Version: doc 1.4.2 / NanoLib 1.3.0
5
2 Anvan ou kòmanse
Tèt entèfas kòm kòd sous (API)
Fonksyon debaz kòm bibliyotèk nan fòma binè: nano-
Bibliyotèk ki fasilite kominikasyon: nanolibm_ lib.dll
[yourfieldbus].dll elatriye.Example pwojè: Egzample.sln (Visual Studio
pwojè) ak ansyenample.cpp (prensipal file)
Pou sijè ki abòde garanti a, tanpri obsève a) tèm ak kondisyon nou yo pou swa EMEA / APAC oswa AMERIK epi b) tout tèm lisans. Remak: Nanotec pa responsab pou bon jan kalite defo oswa san rezon, manyen, enstalasyon, operasyon, itilizasyon, ak antretyen nan ekipman twazyèm pati! Pou sekirite akòz, toujou swiv enstriksyon OEM ki valab.
Version: doc 1.4.2 / NanoLib 1.3.0
6
Achitekti NanoLib la
Estrikti lojisyèl modilè NanoLib a pèmèt ou fè aranjman pou kontwolè motè / fonksyon otobis yo lib ki personnalisable alantou yon nwayo ki te pre-konstwi. NanoLib gen modil sa yo:
Koòdone itilizatè (API)
NanoLib nwayo
Entèfas ak klas asistan ki Bibliyotèk ki
Bibliyotèk kominikasyon Fieldbus-espesifik bibliyotèk ki
aksè ou nan aplikasyon kontwolè ou a fonksyonalite API fè koòdone ant NanoLib
OD (diksyonè objè)
kominike avèk bibliyotèk otobis yo.
nwayo ak pyès ki nan konpitè otobis.
baz sou fonksyon debaz NanoLib la
nasyonalite.
3.1 Itilizatè koòdone
Koòdone itilizatè a konsiste de koòdone header files ou ka itilize pou jwenn aksè nan paramèt kontwolè yo. Klas koòdone itilizatè yo jan sa dekri nan referans Klas/Fonksyon yo pèmèt ou:
Konekte tou de pyès ki nan konpitè (adaptè fieldbus) ak aparèy kontwolè a. Aksè OD aparèy la, pou li/ekri paramèt kontwolè yo.
3.2 NanoLib nwayo
Nwayo NanoLib la vini ak bibliyotèk enpòte nanolib.lib. Li aplike fonksyonalite koòdone itilizatè a epi li responsab pou:
Chaje ak jere bibliyotèk kominikasyon yo. Bay fonksyon koòdone itilizatè yo nan NanoLibAccessor la. Pwen antre kominikasyon sa a de-
amann yon seri operasyon ou ka egzekite sou nwayo NanoLib ak bibliyotèk kominikasyon yo.
3.3 Bibliyotèk kominikasyon
Anplis nanotec.services.nanolib.dll (itil pou Plug & Drive Studio opsyonèl ou a), NanoLib ofri bibliyotèk kominikasyon sa yo:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Tout bibliyotèk mete yon kouch abstrè pyès ki nan konpitè ant nwayo ak kontwolè. Nwayo a chaje yo nan demaraj nan katab pwojè deziyen an epi sèvi ak yo pou etabli kominikasyon ak kontwolè a pa pwotokòl korespondan.
Version: doc 1.4.2 / NanoLib 1.3.0
7
Kòmanse
Li kijan pou mete nanoLib pou sistèm operasyon ou kòmsadwa epi kijan pou konekte pyès ki nan konpitè jan sa nesesè.
4.1 Prepare sistèm ou a
Anvan ou enstale chofè adaptè yo, prepare PC ou ansanm ak sistèm operasyon an. Pou prepare PC a ansanm eksplwatasyon Windows ou a, enstale MS Visual Studio ak ekstansyon C++. Pou enstale make ak gcc pa Linux Bash, rele sudo apt install build-essentials. Lè sa a, aktive kapasite CAP_NET_ADMIN, CAP_NET_RAW, ak CAP_SYS_NICE pou aplikasyon an ki sèvi ak NanoLib: 1. Rele sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
non>. 2. Lè sa a sèlman, enstale chofè adaptè ou yo.
4.2 Enstale chofè adaptè Ixxat pou Windows
Se sèlman apre yo fin enstale chofè a, ou ka itilize adaptè USB-a-CAN V2 Ixxat la. Li manyèl pwodwi USB kondui yo, pou aprann si / ki jan yo aktive konpò vityèl la (VCP). 1. Telechaje epi enstale chofè VCI 4 Ixxat a pou Windows soti nan www.ixxat.com. 2. Konekte adaptè kontra enfòmèl ant USB-a-CAN V2 Ixxat nan PC a atravè USB. 3. Pa Manadjè Aparèy: Tcheke si tou de chofè ak adaptè yo byen enstale/rekonèt.
4.3 Enstale chofè adaptè Peak pou Windows
Se sèlman apre yo fin enstale chofè a, ou ka itilize adaptè PCAN-USB Peak la. Li manyèl pwodwi USB kondui yo, pou aprann si / ki jan yo aktive konpò vityèl la (VCP). 1. Telechaje epi enstale konfigirasyon chofè aparèy Windows (= pake enstalasyon w/ chofè aparèy, zouti, ak
APIs) soti nan http://www.peak-system.com. 2. Konekte adaptè PCAN-USB Peak a nan PC a atravè USB. 3. Pa Manadjè Aparèy: Tcheke si tou de chofè ak adaptè yo byen enstale/rekonèt.
4.4 Enstale chofè adaptè Ixxat pou Linux
Se sèlman apre yo fin enstale chofè a, ou ka itilize adaptè USB-a-CAN V2 Ixxat la. Remak: Lòt adaptè sipòte bezwen otorizasyon ou pa sudo chmod +777/dev/ttyACM* (* nimewo aparèy). Li manyèl pwodwi USB kondui yo, pou aprann si / ki jan yo aktive konpò vityèl la (VCP). 1. Enstale lojisyèl ki nesesè pou chofè ECI a ak aplikasyon Demo:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Telechaje chofè ECI-pou-Linux la nan www.ixxat.com. Dekonprime li atravè:
dezip eci_driver_linux_amd64.zip
3. Enstale chofè a atravè:
cd /EciLinux_amd/src/KernelModule sudo fè enstale-usb
4. Tcheke pou enstalasyon chofè siksè pa konpile epi kòmanse aplikasyon an Demo:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Version: doc 1.4.2 / NanoLib 1.3.0
8
4 Kòmanse
4.5 Enstale chofè adaptè Peak pou Linux
Se sèlman apre yo fin enstale chofè a, ou ka itilize adaptè PCAN-USB Peak la. Remak: Lòt adaptè sipòte bezwen otorizasyon ou pa sudo chmod +777/dev/ttyACM* (* nimewo aparèy). Li manyèl pwodwi USB kondui yo, pou aprann si / ki jan yo aktive konpò vityèl la (VCP). 1. Tcheke si Linux ou a gen headers nwayo: ls /usr/src/linux-headers-`uname -r`. Si ou pa, enstale
yo: sudo apt-get install linux-headers-`uname -r` 2. Se sèlman kounye a, enstale libpopt-dev pake a: sudo apt-get install libpopt-dev 3. Telechaje pake chofè ki nesesè yo (peak-linux-driver- xxx.tar.gz) soti nan www.peak-system.com. 4. Pou depake li, sèvi ak: tar xzf peak-linux-driver-xxx.tar.gz 5. Nan katab ki pa pake a: Konpile epi enstale chofè yo, bibliyotèk baz PCAN, elatriye: fè tout
sudo make install 6. Pou tcheke fonksyon an, ploge adaptè PCAN-USB la.
a) Tcheke modil nwayo a:
lsmod | grep pcan b) … ak bibliyotèk la pataje:
ls -l /usr/lib/libpcan*
Remak: Si pwoblèm USB3 rive, sèvi ak yon pò USB2.
4.6 Konekte pyès ki nan konpitè ou
Pou kapab kouri yon pwojè NanoLib, konekte yon kontwolè konpatib Nanotec nan PC a lè l sèvi avèk adaptè w la. 1. Pa yon kab apwopriye, konekte adaptè ou a kontwolè a. 2. Konekte adaptè a nan PC a dapre fèy done adaptè a. 3. Pouvwa sou kontwolè a lè l sèvi avèk yon ekipman pou pouvwa apwopriye. 4. Si sa nesesè, chanje paramèt kominikasyon kontwolè Nanotec la jan yo enstwi nan manyèl pwodwi li yo.
4.7 Chaje NanoLib
Pou yon premye kòmanse ak debaz rapid-ak-fasil, ou ka (men pa dwe) itilize ansyen nou anample pwojè. 1. Tou depan de rejyon ou a: Telechaje NanoLib soti nan nou an websit pou swa EMEA / APAC oswa AMERIK. 2. Dézip pakè a files / dosye epi chwazi yon opsyon: Pou debaz rapid ak fasil: Gade Kòmanse ansyen anample pwojè. Pou pèsonalizasyon avanse nan Windows: Gade Kreye pwòp pwojè Windows ou. Pou pèsonalizasyon avanse nan Linux: Gade Kreye pwòp pwojè Linux ou.
Version: doc 1.4.2 / NanoLib 1.3.0
9
Kòmanse ansyen anample pwojè
Avèk NanoLib byen chaje, ansyen anample pwojè montre w nan itilizasyon NanoLib ak yon kontwolè Nanotec. Remak: Pou chak etap, kòmantè nan egzanp yo bay laample kòd eksplike fonksyon yo itilize. Ansyen anampPwojè a konsiste de: `*_functions_example.*' files, ki genyen aplikasyon pou koòdone NanoLib fonksyon `*_callback_ex laample.*' files, ki gen enplemantasyon pou divès kalite apèl yo (eskanè, done ak
anrejistreman) `menu_*.*' file, ki gen lojik meni an ak kòd Example.* file, ki se pwogram prensipal la, kreye meni an ak inisyalize tout paramèt yo itilize Sampler_example.* file, ki gen ansyen anample aplikasyon pou sampler itilizasyon. Ou ka jwenn plis ansyenamples, ak kèk kòmandman mouvman pou divès mòd operasyon, nan Baz Konesans nan nanotec.com. Tout yo ka itilize nan Windows oswa Linux.
Nan Windows ak Visual Studio 1. Louvri Example.sln file. 2. Louvri ansyen anample.cpp. 3. Konpile epi kouri ansyen anample kod.
Nan Linux atravè Bash 1. Dekonprime sous la file, navige nan katab la ak kontni dekonprime. Prensipal la file pou ansyen anample se
example.cpp. 2. Nan bach la, rele:
a. "sudo make install" pou kopye objè yo pataje epi rele ldconfig. b. "fè tout" pou konstwi egzekitab tès la. 3. Katab bin la gen yon ansyen ègzèkutablample file. Pa bash: Ale nan katab pwodiksyon an epi tape ./example. Si pa gen okenn erè, objè yo pataje kounye a yo byen enstale, epi bibliyotèk ou a pare pou itilize. Si erè a li ./example: erè pandan y ap chaje bibliyotèk pataje: libnanolib.so: pa ka louvri objè pataje file: Non konsa file oswa anyè, enstalasyon objè yo pataje echwe. Nan ka sa a, swiv pwochen etap yo. 4. Kreye yon nouvo katab nan /usr/local/lib (dwa admin nesesè). Nan bach la, konsa tape:
sudo mkdir /usr/local/lib/nanotec
5. Kopi tout objè yo pataje nan zip la filekatab lib a:
enstale ./lib/*.so /usr/local/lib/nanotec/
6. Tcheke kontni an nan katab la sib ak:
ls -al /usr/local/lib/nanotec/
Li ta dwe lis objè a pataje files soti nan katab lib la. 7. Kouri ldconfig sou katab sa a:
sudo ldconfig /usr/local/lib/nanotec/
Ansyen anample aplike kòm yon aplikasyon CLI epi li bay yon koòdone meni. Antre meni yo baze sou kontèks epi yo pral aktive oswa enfim, tou depann de eta kontèks la. Yo ofri w posiblite pou w chwazi ak egzekite divès fonksyon bibliyotèk swivan workflow tipik pou manyen yon kontwolè: 1. Tcheke PC a pou pyès ki nan konpitè konekte (adaptè) epi lis yo. 2. Etabli koneksyon ak yon adaptè. 3. Eskane bis la pou aparèy kontwolè konekte. 4. Konekte ak yon aparèy.
Version: doc 1.4.2 / NanoLib 1.3.0
10
5 Kòmanse ansyen anample pwojè
5. Teste youn oswa plis nan fonksyon bibliyotèk yo: Li/ekri soti nan/nan diksyonè objè kontwolè a, mete ajou firmwèr la, telechaje epi kouri yon pwogram NanoJ, fè motè a fonksyone epi melodi li, configured epi sèvi ak logging/s yo.ampler.
6. Fèmen koneksyon an, premye nan aparèy la, Lè sa a, nan adaptè a.
Version: doc 1.4.2 / NanoLib 1.3.0
11
Kreye pwòp pwojè Windows ou
Kreye, konpile epi kouri pwòp pwojè Windows ou a pou itilize NanoLib.
6.1 Enpòte NanoLib
Enpòte tèt NanoLib la files ak bibliyotèk atravè MS Visual Studio.
1. Louvri Visual Studio. 2. Via Kreye nouvo pwojè > Console App C++ > Pwochen: Chwazi yon kalite pwojè. 3. Non pwojè ou a (isit la: NanolibTest) pou kreye yon katab pwojè nan Solution Explorer. 4. Chwazi Fini. 5. Louvri fenèt yo file eksploratè epi navige nan nouvo katab pwojè kreye a. 6. Kreye de nouvo dosye, inc ak lib. 7. Louvri folder nan pake NanoLib. 8. Soti nan la: Kopi header la files soti nan katab enkli nan katab pwojè ou inc ak tout .lib ak .dll
files nan nouvo katab pwojè ou lib. 9. Tcheke katab pwojè ou a pou estrikti akòz, pou egzanpample:
ect katab pou estrikti akòz:
. 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.filters NanolibTest.
6.2 Konfigure pwojè ou a
Sèvi ak Solution Explorer nan MS Visual Studio pou mete sou pye pwojè NanoLib. Remak: Pou operasyon kòrèk NanoLib, chwazi konfigirasyon lage (pa debug!) nan anviwònman pwojè Visual C++; Lè sa a, bati ak konekte pwojè a ak ègzekutabl VC nan C++ redistributables [2022].
1. Nan Solution Explorer a: Ale nan katab pwojè ou a (isit la: NanolibTest). 2. Ko-klike sou katab la pou ouvri meni kontèks la. 3. Chwazi Pwopriyete. 4. Aktive Tout konfigirasyon ak Tout platfòm. 5. Chwazi C/C++ epi ale nan Lòt Anyè enkli. 6. Mete: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Chwazi Linker epi ale nan Anyè Bibliyotèk Lòt. 8. Mete: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Pwolonje Linker epi chwazi Antre. 10.Ale nan Depandans Lòt epi mete: nanolib.lib;% (Depandans Adisyonèl) 11.Konfime atravè OK.
Version: doc 1.4.2 / NanoLib 1.3.0
12
6 Kreye pwòp pwojè Windows ou
12.Ale nan Konfigirasyon > C++ > Lang > Creole Lang > ISO C++17 Standard epi mete estanda lang nan C++17 (/std:c++17).
6.3 Bati pwojè ou a
Bati pwojè NanoLib ou a nan MS Visual Studio. 1. Louvri prensipal *.cpp la file (isit la: nanolib_example.cpp) epi modifye kòd la, si sa nesesè. 2. Chwazi Bati > Manadjè Konfigirasyon. 3. Chanje platfòm solisyon aktif pou x64. 4. Konfime atravè Fèmen. 5. Chwazi Bati > Bati solisyon. 6. Pa gen erè? Tcheke si pwodiksyon konpile ou byen rapòte:
1>—— Netwaye te kòmanse: Pwojè: NanolibTest, Konfigirasyon: Debug x64 —–========== Netwaye: 1 reyisi, 0 echwe, 0 sote ==========
Version: doc 1.4.2 / NanoLib 1.3.0
13
7 Kreye pwòp pwojè Linux ou
7 Kreye pwòp pwojè Linux ou
Kreye, konpile epi kouri pwòp pwojè Linux ou pou itilize NanoLib. 1. Nan twous enstalasyon NanoLib dekonprese a: Louvri /nanotec_nanolib. 2. Jwenn tout objè pataje nan tar.gz la file. 3. Chwazi yon opsyon: Enstale chak lib swa ak yon Makefile oswa alamen.
7.1 Enstale objè yo pataje ak Makefile
Sèvi ak Makefile ak Linux Bash oto-enstale tout default *.so files. 1. Via Bash: Ale nan katab la ki gen make lafile. 2. Kopi objè yo pataje atravè:
sudo make install 3. Konfime via:
ldconfig
7.2 Enstale objè yo pataje alamen
Sèvi ak yon Bash pou enstale tout *.so files nan NanoLib manyèlman. 1. Via Bash: Kreye yon nouvo katab nan /usr/local/lib. 2. Dwa Admin nesesè! Kalite:
sudo mkdir /usr/local/lib/nanotec 3. Chanje nan katab pakè enstalasyon dekonprese a. 4. Kopi tout objè pataje nan katab lib via:
enstale ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Tcheke kontni katab sib la atravè:
ls -al /usr/local/lib/nanotec/ 6. Tcheke si yo nan lis tout objè pataje ki nan katab lib la. 7. Kouri ldconfig sou katab sa a atravè:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Kreye pwojè ou a
Avèk objè pataje ou yo enstale: Kreye yon nouvo pwojè pou Linux NanoLib ou. 1. Via Bash: Kreye yon nouvo katab pwojè (isit la: NanoLibTest) atravè:
mkdir NanoLibTest cd NanoLibTest
2. Kopi header la files nan yon katab enkli (isit la: inc) via: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Kreye yon prensipal file (NanoLibTest.cpp) via: #include "accessor_factory.hpp" #include
Version: doc 1.4.2 / NanoLib 1.3.0
14
7 Kreye pwòp pwojè Linux ou
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor ();
nlc::ResultBusHwIds rezilta = akseswar->listAvailableBusHardware ();
if(result.hasError()) { std::cout << result.getError () << std::endl; }
else{ std::cout << "Siksè" << std::endl; }
efase akseswar; retounen 0; }
4. Tcheke katab pwojè ou a pou estrikti akòz:
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Konpile epi teste pwojè w la
Fè Linux NanoLib ou pare pou itilize atravè Bash.
1. Via Bash: Konpile prensipal la file via:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Lyen ègzèkutabl la ansanm atravè:
g++ -Wall -Wextra -pedantic -I./inc -o tès NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Kouri pwogram tès la atravè:
./tès
4. Tcheke si Bash ou a byen rapòte:
siksè
Version: doc 1.4.2 / NanoLib 1.3.0
15
8 referans klas / fonksyon
8 referans klas / fonksyon
Jwenn isit la yon lis klas koòdone itilizatè NanoLib ak fonksyon manm yo. Deskripsyon tipik nan yon fonksyon gen ladan yon ti entwodiksyon, definisyon fonksyon an ak yon lis paramèt / retounen:
ExampleFunction () Di ou yon ti tan kisa fonksyon an fè.
virtual void nlc::NanoLibAccessor::EgzampleFunction (Param_a const & param_a, Param_b const & param_B)
Paramèt param_a param_b
Retounen ResultVoid
Lòt kòmantè si sa nesesè. Lòt kòmantè si sa nesesè.
8.1 NanoLibAccessor
Klas koòdone yo itilize kòm pwen antre nan NanoLib la. Yon workflow tipik sanble tankou sa a:
1. Kòmanse pa eskane pou pyès ki nan konpitè ak NanoLibAccessor.listAvailableBusHardware (). 2. Mete paramèt kominikasyon yo ak BusHardwareOptions (). 3. Louvri koneksyon pyès ki nan konpitè ak NanoLibAccessor.openBusHardwareWithProtocol (). 4. Eskane otobis la pou aparèy ki konekte ak NanoLibAccessor.scanDevices (). 5. Ajoute yon aparèy ak NanoLibAccessor.addDevice (). 6. Konekte nan aparèy la ak NanoLibAccessor.connectDevice (). 7. Apre fini operasyon an, dekonekte aparèy la ak NanoLibAccessor.disconnectDevice (). 8. Retire aparèy la ak NanoLibAccessor.removeDevice (). 9. Fèmen koneksyon pyès ki nan konpitè ak NanoLibAccessor.closeBusHardware ().
NanoLibAccessor gen fonksyon manm piblik sa yo:
listAvailableBusHardware () Sèvi ak fonksyon sa a pou lis pyès ki nan konpitè otobis ki disponib.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
Retounen ResultBusHwIds
Li bay yon etalaj ID fieldbus.
openBusHardwareWithProtocol () Sèvi ak fonksyon sa a pou konekte pyès ki nan konpitè otobis.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
Paramèt busHwId busHwOpt
Retounen ResultVoid
Espesifye fieldbus pou louvri. Espesifye opsyon ouvèti fieldbus. Konfime ke yon fonksyon anile te kouri.
isBusHardwareOpen () Sèvi ak fonksyon sa a pou tcheke si koneksyon pyès ki nan konpitè otobis jaden ou a louvri.
Virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)
Version: doc 1.4.2 / NanoLib 1.3.0
16
8 referans klas / fonksyon
Paramèt BusHardwareId Retounen vre
fo
Espesifye chak fieldbus pou louvri. Materyèl la louvri. Materyèl fèmen.
getProtocolSpecificAccessor () Sèvi ak fonksyon sa a pou jwenn objè akseswar pwotokòl espesifik la.
Virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
Paramèt busHwId Retounen ResultVoid
Espesifye fieldbus pou jwenn aksesè a. Konfime ke yon fonksyon anile te kouri.
getProfinetDCP () Sèvi ak fonksyon sa a pou retounen yon referans sou koòdone Profinet DCP.
vityèl ProfinetDCP & getProfinetDCP ()
Retounen ProfinetDCP
jwennSamplerInterface () Sèvi ak fonksyon sa a pou jwenn yon referans a sampler koòdone.
vityèl SamplerInterface & getSamplerInterface ()
Retounen SamplerInterface
Fè referans a sampler koòdone klas.
setBusState () Sèvi ak fonksyon sa a pou mete eta espesifik pwotokòl otobis la.
Virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)
Paramèt busHwId eta
Retounen ResultVoid
Espesifye fieldbus pou louvri. Bay yon eta espesifik otobis kòm yon valè chaîne. Konfime ke yon fonksyon anile te kouri.
scanDevices () Sèvi ak fonksyon sa a pou chèche aparèy nan rezo a.
Virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)
Paramèt busHwId callback
Retounen ResultDeviceIds IOError
Espesifye fieldbus pou eskane. NlcScanBusCallback pwogrè tracer. Li bay yon etalaj ID aparèy. Enfòme ke yo pa jwenn yon aparèy.
Version: doc 1.4.2 / NanoLib 1.3.0
17
8 referans klas / fonksyon
ajoute Aparèy ()
Sèvi ak fonksyon sa a pou ajoute yon aparèy otobis ki dekri pa deviceId nan lis aparèy entèn NanoLib la, epi retounen deviceHandle pou li.
Virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)
Paramèt deviceId Retounen ResultDeviceHandle
Espesifye aparèy pou ajoute nan lis la. Li bay yon manch aparèy.
connectDevice () Sèvi ak fonksyon sa a pou konekte yon aparèy pa deviceHandle.
Virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultVoid
IOError
Espesifye nan ki aparèy otobis NanoLib konekte. Konfime ke yon fonksyon anile te kouri. Enfòme ke yo pa jwenn yon aparèy.
getDeviceName () Sèvi ak fonksyon sa a pou jwenn non yon aparèy pa deviceHandle.
Virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultString
Espesifye pou ki aparèy otobis NanoLib jwenn non an. Li bay non aparèy kòm yon fisèl.
getDeviceProductCode () Sèvi ak fonksyon sa a pou jwenn kòd pwodwi yon aparèy pa deviceHandle.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultInt
Espesifye pou ki aparèy otobis NanoLib jwenn kòd pwodwi a. Li bay kòd pwodwi kòm yon nonb antye relatif.
getDeviceVendorId () Sèvi ak fonksyon sa a pou jwenn ID machann aparèy la pa deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultInt
Resous pa disponib
Espesifye pou ki aparèy otobis NanoLib jwenn ID vandè a. Li bay ID vandè a kòm yon nonb antye relatif. Enfòme ke yo pa jwenn okenn done.
Version: doc 1.4.2 / NanoLib 1.3.0
18
8 referans klas / fonksyon
getDeviceId () Sèvi ak fonksyon sa a pou jwenn idantite yon aparèy espesifik nan lis entèn NanoLib la.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultDeviceId
Espesifye pou ki aparèy otobis NanoLib jwenn ID aparèy la. Li bay yon ID aparèy.
getDeviceIds () Sèvi ak fonksyon sa a pou jwenn ID tout aparèy nan lis entèn NanoLib la.
Virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
Retounen ResultDeviceIds
Li bay yon lis ID aparèy.
getDeviceUid () Sèvi ak fonksyon sa a pou jwenn idantite inik yon aparèy (96 bit / 12 octets) pa deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultArrayByte
Resous pa disponib
Espesifye ki aparèy otobis NanoLib jwenn ID inik pou. Li bay idantite inik kòm yon etalaj byte. Enfòme ke yo pa jwenn okenn done.
getDeviceSerialNumber () Sèvi ak fonksyon sa a pou jwenn nimewo seri yon aparèy pa deviceHandle.
Virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultString
Resous pa disponib
Espesifye pou ki aparèy otobis NanoLib jwenn nimewo seri a. Li bay nimewo seri kòm yon fisèl. Enfòme ke yo pa jwenn okenn done.
getDeviceHardwareGroup () Sèvi ak fonksyon sa a pou jwenn gwoup pyès ki nan konpitè yon aparèy bis pa deviceHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultInt
Espesifye ki aparèy otobis NanoLib jwenn gwoup pyès ki nan konpitè pou.
Delivre gwoup pyès ki nan konpitè kòm yon nonb antye relatif.
getDeviceHardwareVersion () Sèvi ak fonksyon sa a pou jwenn vèsyon pyès ki nan konpitè yon aparèy bis pa deviceHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Version: doc 1.4.2 / NanoLib 1.3.0
19
8 referans klas / fonksyon
Paramèt deviceHandle
Retounen
ResultString ResourceUnavailable
Espesifye pou ki aparèy otobis NanoLib jwenn vèsyon pyès ki nan konpitè. Li bay non aparèy kòm yon fisèl. Enfòme ke yo pa jwenn okenn done.
getDeviceFirmwareBuildId () Sèvi ak fonksyon sa a pou jwenn idantite konstwi firmwèr yon aparèy bis pa deviceHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultString
Espesifye pou ki aparèy otobis NanoLib jwenn ID konstriksyon firmwèr la.
Li bay non aparèy kòm yon fisèl.
getDeviceBootloaderVersion () Sèvi ak fonksyon sa a pou jwenn vèsyon bootloader yon aparèy bis pa deviceHandle.
Virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
Paramèt deviceHandle
Retounen
ResultInt ResourceUnavailable
Espesifye pou ki aparèy otobis NanoLib jwenn vèsyon bootloader la. Li bay vèsyon bootloader kòm yon nonb antye relatif. Enfòme ke yo pa jwenn okenn done.
getDeviceBootloaderBuildId () Sèvi ak fonksyon sa a pou jwenn ID batiman bootloader yon aparèy bis pa deviceHandle.
Virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultString
Espesifye pou ki aparèy otobis NanoLib jwenn ID konstriksyon bootloader la.
Li bay non aparèy kòm yon fisèl.
rebootDevice () Sèvi ak fonksyon sa a pou rdemare aparèy la pa deviceHandle.
Virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Paramèt deviceHandle Retounen ResultVoid
Espesifye fieldbus pou rdemare. Konfime ke yon fonksyon anile te kouri.
getDeviceState () Sèvi ak fonksyon sa a pou jwenn eta aparèy-pwotokòl espesifik.
Virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Paramèt deviceHandle
Espesifye pou ki aparèy otobis NanoLib jwenn eta a.
Version: doc 1.4.2 / NanoLib 1.3.0
20
8 referans klas / fonksyon
Retounen ResultString
Li bay non aparèy kòm yon fisèl.
setDeviceState () Sèvi ak fonksyon sa a pou mete eta aparèy-pwotokòl espesifik.
Virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & eta)
Paramèt deviceHandle eta
Retounen ResultVoid
Espesifye pou ki aparèy otobis NanoLib mete eta a. Bay yon eta espesifik otobis kòm yon valè chaîne. Konfime ke yon fonksyon anile te kouri.
getConnectionState ()
Sèvi ak fonksyon sa a pou jwenn dènye eta koneksyon yon aparèy espesifik li te ye pa deviceHandle (= Dekonekte, Konekte, KonekteBootloader)
Virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultConnectionState
Espesifye pou ki aparèy otobis NanoLib jwenn eta koneksyon an.
Li bay yon eta koneksyon (= Dekonekte, Konekte, KonekteBootloader).
checkConnectionState ()
Sèlman si dènye eta li te ye a pa te Dekonekte: Sèvi ak fonksyon sa a pou tcheke epi pètèt mete ajou eta koneksyon yon aparèy espesifik pa deviceHandle ak tès plizyè operasyon mòd espesifik.
Virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultConnectionState
Espesifye pou ki aparèy otobis NanoLib tcheke eta koneksyon an.
Li bay yon eta koneksyon (= pa Dekonekte).
assignObjectDictionary () Sèvi ak fonksyon manyèl sa a pou bay yon diksyonè objè (OD) nan deviceHandle poukont ou.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Paramèt deviceHandle objectDictionary
Retounen ResultObjectDictionary
Espesifye ki aparèy otobis NanoLib bay OD a. Montre pwopriyete yon diksyonè objè.
autoAssignObjectDictionary ()
Sèvi ak automatis sa a pou kite NanoLib bay yon diksyonè objè (OD) nan deviceHandle. Lè w jwenn ak chaje yon OD apwopriye, NanoLib otomatikman asiyen li nan aparèy la. Remak: Si yon OD konpatib deja chaje nan bibliyotèk objè a, NanoLib pral otomatikman itilize li san yo pa eskane anyè soumèt la.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)
Version: doc 1.4.2 / NanoLib 1.3.0
21
8 referans klas / fonksyon
Paramèt deviceHandle
Retounen
DictionariesLocationPath ResultObjectDictionary
Espesifye pou ki aparèy otobis NanoLib dwe otomatikman eskane pou OD apwopriye. Espesifye chemen an nan anyè OD a. Montre pwopriyete yon diksyonè objè.
getAssignedObjectDictionary ()
Sèvi ak fonksyon sa a pou jwenn diksyonè objè a asiyen nan yon aparèy pa deviceHandle.
Virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
Manch)
Paramèt deviceHandle Retounen ResultObjectDictionary
Espesifye pou ki aparèy otobis NanoLib jwenn OD ki asiyen an. Montre pwopriyete yon diksyonè objè.
getObjectDictionaryLibrary () Fonksyon sa a retounen yon referans OdLibrary.
Virtual OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
Retounen OdLibrary&
Ouvè tout bibliyotèk OD ak diksyonè objè li yo.
setLoggingLevel () Sèvi ak fonksyon sa a pou mete detay ki nesesè yo (ak log file gwosè). Nivo default se Info.
virtual void nlc::NanoLibAccessor::setLoggingLevel (nivo LogLevel)
Nivo paramèt
Detay log sa yo posib:
0 = Tras 1 = Debug 2 = Enfòmasyon 3 = Avèti 4 = Erè 5 = Kritik 6 = Off
Nivo ki pi ba (pi gwo boutèy demi lit file); mòso bwa nenpòt detay posib, plis lojisyèl kòmanse / sispann. Logs enfòmasyon debug (= rezilta pwovizwa, kontni voye oswa resevwa, elatriye) Nivo Default; journal mesaj enfòmasyon. Anrejistre pwoblèm ki te rive men ki p ap sispann algorithm aktyèl la. Jounal jis pwoblèm grav ki te sispann algorithm la. Pi wo nivo (pi piti boutèy demi lit file); vire konekte; pa gen okenn lòt boutèy demi lit ditou. Pa gen antre ditou.
setLoggingCallback ()
Sèvi ak fonksyon sa a pou mete yon pointeur enregistrement callback ak modil journal (= bibliyotèk) pou callback sa (pa pou journal li menm).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)
Paramèt *callback logModule
Mete yon pointeur rappel. Ranpli apèl la (pa enregistreur!) nan bibliyotèk ou a.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Aktive yon apèl pou nwayo NanoLib sèlman. Aktive yon apèl CANopen sèlman. Aktive yon apèl Modbus sèlman. Aktive yon apèl EtherCAT sèlman.
Version: doc 1.4.2 / NanoLib 1.3.0
22
8 referans klas / fonksyon
4 = NanolibRest 5 = NanolibUSB
Aktive yon apèl REST sèlman. Aktive yon apèl USB sèlman.
unsetLoggingCallback () Sèvi ak fonksyon sa a pou anile yon pointeur rapèl ki anrejistre.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Sèvi ak fonksyon sa a pou li yon valè nimerik nan diksyonè objè a.
Virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Paramèt deviceHandle odIndex
Retounen ResultInt
Espesifye nan ki aparèy otobis NanoLib li. Espesifye (sous-) endèks pou li nan. Li bay yon valè nimerik san entèprete (yo ka siyen, pa siyen, ranje valè 16.16 bit).
readNumberArray () Sèvi ak fonksyon sa a pou li etalaj nimerik nan diksyonè objè a.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t endèks)
Paramèt deviceHandle endèks
Retounen ResultArrayInt
Espesifye nan ki aparèy otobis NanoLib li. Endis objè etalaj. Li bay yon etalaj nonb antye relatif.
readBytes () Sèvi ak fonksyon sa a pou li byte abitrè (done objè domèn) nan diksyonè objè a.
Virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Paramèt deviceHandle odIndex
Retounen ResultArrayByte
Espesifye nan ki aparèy otobis NanoLib li. Espesifye (sous-) endèks pou li nan. Li bay yon etalaj byte.
readString () Sèvi ak fonksyon sa a pou li fisèl nan anyè objè a.
Virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Paramèt deviceHandle odIndex
Retounen ResultString
Espesifye nan ki aparèy otobis NanoLib li. Espesifye (sous-) endèks pou li nan. Li bay non aparèy kòm yon fisèl.
Version: doc 1.4.2 / NanoLib 1.3.0
23
8 referans klas / fonksyon
writeNumber () Sèvi ak fonksyon sa a pou ekri valè nimerik nan anyè objè a.
Virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)
Paramèt deviceHandle valè odIndex bitLength
Retounen ResultVoid
Espesifye nan ki aparèy otobis NanoLib ekri. Valè a san entèprete (ka siyen, pa siyen, ranje 16.16). Espesifye (sous-) endèks pou li nan. Longè an ti jan. Konfime ke yon fonksyon anile te kouri.
writeBytes () Sèvi ak fonksyon sa a pou ekri byte abitrè (done objè domèn) nan anyè objè a.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & done, const OdIndex odIndex)
Paramèt deviceHandle done odIndex
Retounen ResultVoid
Espesifye nan ki aparèy otobis NanoLib ekri. Byte vektè / etalaj. Espesifye (sous-) endèks pou li nan. Konfime ke yon fonksyon anile te kouri.
UploadFirmware ()
Sèvi ak fonksyon sa a pou mete ajou firmwèr kontwolè w la.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* callback)
Paramèt deviceHandle fwData NlcDataTransferCallback
Retounen ResultVoid
Espesifye ki aparèy otobis NanoLib mete ajou. Etalaj ki gen done firmwèr. Yon tracer pwogrè done. Konfime ke yon fonksyon anile te kouri.
uploadFirmwareFromFile ()
Sèvi ak fonksyon sa a pou mete ajou firmwèr kontwolè w la lè w telechaje li file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoliFilePath, NlcDataTransferCallback* callback)
Paramèt deviceHandle absoliFilePath NlcDataTransferCallback
Retounen ResultVoid
Espesifye ki aparèy otobis NanoLib mete ajou. Chemen pou file ki gen done firmwèr (std::string). Yon tracer pwogrè done. Konfime ke yon fonksyon anile te kouri.
Version: doc 1.4.2 / NanoLib 1.3.0
24
8 referans klas / fonksyon
UploadBootloader ()
Sèvi ak fonksyon sa a pou mete ajou bootloader kontwolè w la.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* callback)
Paramèt deviceHandle btData NlcDataTransferCallback
Retounen ResultVoid
Espesifye ki aparèy otobis NanoLib mete ajou. Etalaj ki gen done bootloader. Yon tracer pwogrè done. Konfime ke yon fonksyon anile te kouri.
uploadBootloaderFromFile ()
Sèvi ak fonksyon sa a pou mete ajou bootloader kontwolè w la lè w telechaje li file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFilePath, NlcDataTransferCallback* callback)
Paramèt deviceHandle bootloaderAbsoluteFilePath NlcDataTransferCallback
Retounen ResultVoid
Espesifye ki aparèy otobis NanoLib mete ajou. Chemen pou file ki gen done bootloader (std::string). Yon tracer pwogrè done. Konfime ke yon fonksyon anile te kouri.
uploadBootloaderFirmware ()
Sèvi ak fonksyon sa a pou mete ajou charger ak firmwèr kontwolè w la.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* callback)
Paramèt deviceHandle btData fwData NlcDataTransferCallback
Retounen ResultVoid
Espesifye ki aparèy otobis NanoLib mete ajou. Etalaj ki gen done bootloader. Etalaj ki gen done firmwèr. Yon tracer pwogrè done. Konfime ke yon fonksyon anile te kouri.
uploadBootloaderFirmwareFromFile ()
Sèvi ak fonksyon sa a pou mete ajou bootloader kontwolè w la ak firmwèr w lè w telechaje files.
Virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileChemen, const std::string & absoliFilePath, NlcDataTransferCallback* callback)
Paramèt deviceHandle bootloaderAbsoluteFileChemen absoliFilePath NlcDataTransferCallback
Retounen ResultVoid
Espesifye ki aparèy otobis NanoLib mete ajou. Chemen pou file ki gen done bootloader (std::string). Chemen pou file ki gen done firmwèr (uint8_t). Yon tracer pwogrè done. Konfime ke yon fonksyon anile te kouri.
Version: doc 1.4.2 / NanoLib 1.3.0
25
8 referans klas / fonksyon
telechajeNanoJ ()
Sèvi ak fonksyon piblik sa a pou telechaje pwogram NanoJ nan kontwolè w la.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* callback)
Paramèt deviceHandle vmmData NlcDataTransferCallback
Retounen ResultVoid
Espesifye nan ki aparèy otobis NanoLib telechaje. Etalaj ki gen done NanoJ. Yon tracer pwogrè done. Konfime ke yon fonksyon anile te kouri.
telechajeNanoJFromFile ()
Sèvi ak fonksyon piblik sa a pou telechaje pwogram NanoJ nan kontwolè w la lè w telechaje file.
Virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoliFilePath, NlcDataTransferCallback* callback)
Paramèt deviceHandle absoliFilePath NlcDataTransferCallback
Retounen ResultVoid
Espesifye nan ki aparèy otobis NanoLib telechaje. Chemen pou file ki gen done NanoJ (std::string). Yon tracer pwogrè done. Konfime ke yon fonksyon anile te kouri.
disconnectDevice () Sèvi ak fonksyon sa a pou dekonekte aparèy ou a pa deviceHandle.
Virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Paramèt deviceHandle Retounen ResultVoid
Espesifye nan ki aparèy otobis NanoLib dekonekte. Konfime ke yon fonksyon anile te kouri.
removeDevice () Sèvi ak fonksyon sa a pou retire aparèy ou an nan lis aparèy entèn NanoLib la.
Virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Paramèt deviceHandle Retounen ResultVoid
Espesifye ki aparèy otobis NanoLib retire li. Konfime ke yon fonksyon anile te kouri.
closeBusHardware () Sèvi ak fonksyon sa a pou dekonekte pyès ki nan konpitè otobis jaden ou a.
Virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
Paramèt busHwId Retounen ResultVoid
Espesifye fieldbus la pou dekonekte. Konfime ke yon fonksyon anile te kouri.
Version: doc 1.4.2 / NanoLib 1.3.0
26
8 referans klas / fonksyon
8.2 BusHardwareId
Sèvi ak klas sa a pou idantifye yon pyès ki nan konpitè otobis youn a youn oswa pou distenge diferan pyès ki nan konpitè otobis youn ak lòt. Klas sa a (san fonksyon setter yo ka imuiabl apati kreyasyon an) genyen tou enfòmasyon sou:
Materyèl (= non adaptè, adaptè rezo elatriye) Pwotokòl pou itilize (= Modbus TCP, CANopen elatriye) Espesifikasyon pyès ki nan konpitè otobis (= non pò seri, non MAC zanmitay
adrès elatriye)
BusHardwareId () [1/3] Konstriksyon ki kreye yon nouvo objè ID pyès ki nan konpitè otobis.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
Paramèt busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Kalite pyès ki nan konpitè (= ZK-USB-CAN-1 elatriye). Pwotokòl kominikasyon otobis (= CANopen elatriye). Espesifikasyon nan yon pyès ki nan konpitè (= COM3 elatriye). Espesifikasyon siplemantè pyès ki nan konpitè a (di, enfòmasyon sou kote USB). Yon non zanmitay (= AdapterName (Port) elatriye).
BusHardwareId () [2/3] Konstruktè ki kreye yon nouvo objè ID pyès ki nan konpitè otobis, ak opsyon pou yon spesifikatè pyès ki nan konpitè anplis.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)
Paramèt busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Kalite pyès ki nan konpitè (= ZK-USB-CAN-1 elatriye). Pwotokòl kominikasyon otobis (= CANopen elatriye). Espesifikasyon nan yon pyès ki nan konpitè (= COM3 elatriye). Espesifikasyon siplemantè pyès ki nan konpitè a (di, enfòmasyon sou kote USB). Yon non zanmitay (= AdapterName (Port) elatriye).
BusHardwareId () [3/3] Konstriksyon ki kopye yon busHardwareId ki egziste.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
Paramèt busHardwareId
Bay non ID pyès ki nan konpitè otobis la pou w kopye.
egal () Konpare yon nouvo ID pyès ki nan konpitè otobis ak sa ki deja egziste.
bool nlc::BusHardwareId::equals (BusHardwareId const & other) const
Paramèt lòt Retounen vre
Yon lòt objè nan menm klas la. Si tou de yo egal nan tout valè.
Version: doc 1.4.2 / NanoLib 1.3.0
27
8 referans klas / fonksyon
fo
Si valè yo diferan.
getBusHardware () Li kòd pyès ki nan konpitè otobis la.
std::string nlc::BusHardwareId::getBusHardware () const
Retounen fisèl
getHardwareSpecifier () Li kòd espesifikasyon pyès ki nan konpitè otobis la (= non rezo elatriye).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Retounen fisèl
getExtraHardwareSpecifier () Li kòd espesifikasyon pyès ki nan konpitè siplemantè bis la (= adrès MAC elatriye).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Retounen fisèl
getName () Li non amikal pyès ki nan konpitè otobis la.
std::string nlc::BusHardwareId::getName () const
Retounen fisèl
getProtocol () Li kòd pwotokòl bis la.
std::string nlc::BusHardwareId::getProtocol () const
Retounen fisèl
toString () Retounen ID pyès ki nan konpitè otobis la kòm yon kòd.
std::string nlc::BusHardwareId::toString () const
Retounen fisèl
8.3 BusHardwareOptions
Jwenn nan klas sa a, nan yon lis kle-valè nan fisèl, tout opsyon ki nesesè yo louvri yon pyès ki nan konpitè otobis.
Version: doc 1.4.2 / NanoLib 1.3.0
28
8 referans klas / fonksyon
BusHardwareOptions () [1/2] Konstwi yon nouvo objè opsyon pyès ki nan konpitè otobis.
nlc::BusHardwareOptions::BusHardwareOptions () Sèvi ak fonksyon addOption () pou ajoute pè kle-valè.
BusHardwareOptions () [2/2] Konstwi yon nouvo objè opsyon pyès ki nan konpitè otobis ak kat valè kle a deja an plas.
nlc::BusHardwareOptions::BusHardwareOptions (std::map konst & opsyon)
Opsyon paramèt yo
Yon kat ki gen opsyon pou kenkayri otobis la opere.
addOption () Kreye kle ak valè adisyonèl.
void nlc::BusHardwareOptions::addOption (std::string const & kle, std::string const & valè)
Paramèt valè kle
Example: BAUD_RATE_OPTIONS_NAME, gade bus_hw_options_ default
Example: BAUD_RATE_1000K, gade bus_hw_options_defaults
egal () Konpare BusHardwareOptions yo ak sa ki egziste deja.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & other) const
Paramèt lòt Retounen vre
fo
Yon lòt objè nan menm klas la. Si lòt objè a gen tout egzak menm opsyon yo. Si lòt objè a gen kle oswa valè diferan.
getOptions () Li tout pè kle-valè ki te ajoute.
std::kat nlc::BusHardwareOptions::getOptions () const
Retounen kat jeyografik fisèl
toString () Retounen tout kle / valè kòm yon fisèl.
std::string nlc::BusHardwareId::toString () const
Retounen fisèl
8.4 BusHwOptionsDefault
Klas opsyon konfigirasyon default sa a gen atribi piblik sa yo:
Version: doc 1.4.2 / NanoLib 1.3.0
29
8 referans klas / fonksyon
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () serial = Serial () restfulBus = RESTfulBus () ethercatBus = EtherCATBus ()
8.5 CanBaudRate
Estrikti ki gen vitès baud otobis CAN nan atribi piblik sa yo:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_RATE_100K = "UD_RATE_100K"_50 "_50 BAUD_RATE_20K ATE_20K = "10k" BAUD_RATE_10K = "5k" BAUD_RATE_5K = "XNUMXk"
8.6 CanBus
Klas opsyon konfigirasyon defo ak atribi piblik sa yo:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = "kapab vitès baud adaptè" baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
Pou sèvis NMT a, estrikti sa a gen eta CANopen NMT yo kòm valè fisèl nan atribi piblik sa yo:
const std::string const std::string const std::string const std::string const std::string
START = "KÒMANSE" STOP = "STOP" PRE_OPERATIONAL = "PRE_OPERATIONAL" RESET = "RESET" RESET_COMMUNICATION = "RESET_COMMUNICATION"
8.8 CanOpenNmtState
Estrikti sa a gen eta CANopen NMT yo kòm valè fisèl nan atribi piblik sa yo:
const std::string const std::string const std::string const std::string const std::string
STOPPED = "STOPPED" PRE_OPERATIONAL = "PRE_OPERATIONAL" OPERATIONAL = "OPERASYONÈL" INITIALIZATION = "INISYALISATION" UNKNOWN = "UNKONWEN"
8.9 EtherCATBus struct
Estrikti sa a gen opsyon konfigirasyon kominikasyon EtherCAT nan atribi piblik sa yo:
Version: doc 1.4.2 / NanoLib 1.3.0
30
8 referans klas / fonksyon
const std::string NETWORK_FIRMWARE_STATE_OP- Eta rezo trete kòm mòd firmwèr. Akseptab
TION_NAME = "Eta mikrolojisyèl rezo a"
valè (default = PRE_OPERATIONAL):
EtherCATState::PRE_OPERATIONAL EtherCATState::SAFE_OPERATIONAL EtherCATState::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = "PRE_OPERATIONAL"
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Timeout an milisgond pou jwenn yon seri eksklizif sou
TION_NAME = "Delè pou fèmen pataje"
rezo a (default = 500 ms).
const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Timeout an milisgond pou jwenn yon seri pataje.
NON = "Delè pou fèmen pataje"
rezo a (default = 250 ms).
const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = "250"
const std::string READ_TIMEOUT_OPTION_NAME = Timeout an milisgond pou yon operasyon lekti (default
"Li Timeout"
= 700 ms).
const unsigned int DEFAULT_READ_TIMEOUT = "700"
const std::string WRITE_TIMEOUT_OPTION_NAME = Timeout an milisgond pou yon operasyon ekri (default
"Ekri delè"
= 200 ms).
const unsigned int DEFAULT_WRITE_TIMEOUT = "200"
const std::string READ_WRITE_ATTEMPTS_OPTION_ Maksimòm tantativ lekti oswa ekri (valè ki pa zewo
NON = "Li/Ekri tantativ"
sèlman; default = 5).
const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = "5"
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "Chanje tantativ Eta Rezo a"
Kantite maksimòm tantativ pou chanje eta rezo a (valè ki pa zewo sèlman; default = 10).
const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"
const std::string PDO_IO_ENABLED_OPTION_NAME Aktive oswa enfim pwosesis PDO pou antre dijital /
= "PDO IO Pèmèt"
rezilta ("Vrè" oswa "Fo" sèlman; default = "Vre").
const std::string DEFAULT_PDO_IO_ENABLED = "Vrè"
8.10 EtherCATState struct
Estrikti sa a gen eta esklav / rezo EtherCAT kòm valè fisèl nan atribi piblik sa yo. Remak: Eta default nan pouvwa sou li se PRE_OPERAsyonèl; NanoLib pa ka bay okenn eta serye "OPERASYONÈ" nan yon sistèm operasyon ki pa an tan reyèl:
const std::string const std::string const std::string const std::string const std::string const std::string
NONE = "NONE" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" OPERATIONAL = "OPERATIONAL"
Version: doc 1.4.2 / NanoLib 1.3.0
31
8 referans klas / fonksyon
8.11 Ixxat
Estrikti sa a kenbe tout enfòmasyon pou usb-to-can Ixxat nan atribi piblik sa yo:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "nimewo otobis adaptè ixxat"
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Estrikti sa a kenbe nimewo otobis la pou usb-to-can Ixxat nan atribi piblik sa yo:
const std::string const std::string const std::string const std::string
BUS_NUMBER_0_DEFAULT = "0" BUS_NUMBER_1 = "1" BUS_NUMBER_2 = "2" BUS_NUMBER_3 = "3"
8.13 pik
Estrikti sa a kenbe tout enfòmasyon pou Peak usb-to-can nan atribi piblik sa yo:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "nimewo bis adaptè pik"
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
Estrikti sa a kenbe nimewo otobis la pou Peak usb-to-can nan atribi piblik sa yo:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS:to_string) = std_NUMBER:to_string (PCAN_USBBUS4) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_NUMBER_US8 (PCAN_USBBUS9) (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_13 = std::_USBBUS13 = std::_USBBUS14 std::to_string (PCAN_USBBUS14) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS15)
8.15 DeviceHandle
Klas sa a reprezante yon manch pou kontwole yon aparèy nan yon bis e li gen fonksyon manm piblik sa yo.
DeviceHandle () DeviceHandle (uint32_t manch)
Version: doc 1.4.2 / NanoLib 1.3.0
32
8 referans klas / fonksyon
egal () Konpare tèt li ak yon manch aparèy yo bay.
bool egal (DeviceHandle const other) const (uint32_t manch)
toString () Retounen yon reprezantasyon fisèl manch aparèy la.
std::string toString () konst
get () Retounen manch aparèy la.
uint32_t jwenn () konst
8.16 DeviceId
Sèvi ak klas sa a (ki pa ka chanje depi nan kreyasyon an) pou idantifye ak distenge aparèy nan yon otobis:
Idantifyan adaptè pyès ki nan konpitè
Idantifyan aparèy
Deskripsyon
Siyifikasyon ID aparèy / valè deskripsyon depann de bis la. Pou egzanpample, yon otobis CAN ka itilize ID nonb antye relatif la.
DeviceId () [1/3] Konstwi yon nouvo objè ID aparèy.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)
Paramèt busHardwareId_ deviceId_ description_
Idantifikasyon otobis la. Yon endèks; sijè a otobis (= CANopen node ID elatriye). Yon deskripsyon (kapab vid); sijè a otobis.
DeviceId () [2/3] Konstwi yon nouvo objè ID aparèy ak opsyon ID pwolonje.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)
Paramèt busHardwareId_ deviceId_ description_ extraId_ extraStringId_
Idantifikasyon otobis la. Yon endèks; sijè a otobis (= CANopen node ID elatriye). Yon deskripsyon (kapab vid); sijè a otobis. Yon lòt ID (kapab vid); siyifikasyon depann sou bis. Lòt ID kòd (kapab vid); siyifikasyon depann sou bis.
DeviceId () [3/3] Konstwi yon kopi yon objè ID aparèy.
nlc::DeviceId::DeviceId (DeviceId const &)
Version: doc 1.4.2 / NanoLib 1.3.0
33
8 referans klas / fonksyon
Paramèt deviceId_
ID aparèy pou kopye.
egal () Konpare nouvo ak objè ki deja egziste.
bool nlc::DeviceId::equals (DeviceId const & other) const
Retounen booleyen
getBusHardwareId () Li ID pyès ki nan konpitè otobis la.
BusHardwareId nlc::DeviceId::getBusHardwareId () const
Retounen BusHardwareId
getDescription () Li deskripsyon aparèy la (petèt li pa itilize).
std::string nlc::DeviceId::getDescription () const
Retounen fisèl
getDeviceId () Li ID aparèy la (petèt li pa itilize).
unsigned int nlc::DeviceId::getDeviceId () const
Retounen int non siyen
toString () Retounen objè a kòm yon fisèl.
std::string nlc::DeviceId::toString () const
Retounen fisèl
getExtraId () Li ID siplemantè aparèy la (kapab pa itilize).
const std::vector &getExtraId () konst
Retounen vektè
Yon vektè ID adisyonèl yo (kapab vid); siyifikasyon depann sou bis la.
getExtraStringId () Li ID chèn siplemantè aparèy la (kapab pa itilize).
std::string getExtraStringId () konst
Version: doc 1.4.2 / NanoLib 1.3.0
34
8 referans klas / fonksyon
Retounen fisèl
ID fisèl adisyonèl la (kapab vid); siyifikasyon depann sou bis la.
8.17 LogLevelConverter
Klas sa a retounen nivo log ou kòm yon kòd. static std::string toString (nlc::LogLevel logLevel)
8.18 LogModuleConverter
Klas sa a retounen log modulesetLoggingLevel () espesifik pou bibliyotèk la kòm yon kòd.
static std::string
toString (nlc::LogModule logModule)
static std::string toString (nlc::LogModule logModule)
8.19 ObjectDictionary
Klas sa a reprezante yon diksyonè objè yon kontwolè epi li gen fonksyon manm piblik sa yo: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Returns ResultDeviceHandle
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Renvoie ResultObjectSubEntry
getObjectEntry () vityèl ResultObjectEntry getObjectEntry (uint16_t endèks)
Retounen ResultObjectEntry
Enfòme sou pwopriyete yon objè.
getXmlFileNon () Virtual ResultString getXmlFileNon () konst
Retounen ResultString
Retounen XML la file non kòm yon fisèl.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Retounen ResultInt
readNumberArray () virtuel ResultArrayInt readNumberArray (uint16_t endèks const)
Version: doc 1.4.2 / NanoLib 1.3.0
35
8 referans klas / fonksyon
Retounen ResultArrayInt readString ()
Virtual ResultString readString (OdIndex const odIndex) Renvoie ResultString readBytes () Virtual ResultArrayByte readBytes (OdIndex const odIndex) Renvoie ResultArrayByte writeNumber () Virtual ResultVoid writeNumber (OdIndex const odIndex const odIndex, ekri valè) () Virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & done) Retounen ResultVoid Lyen ki gen rapò OdIndex
8.20 ObjectEntry
Klas sa a reprezante yon antre objè nan diksyonè objè a, gen atribi sa yo pwoteje estatik ak fonksyon manm piblik:
static nlc::ObjectSubEntry invalidObject
getName () Li non objè a kòm yon kòd.
virtual std::string getName () konst
getPrivate () Tcheke si objè a prive.
virtual bool getPrivate () const
getIndex () Li adrès endèks objè a.
vityèl uint16_t getIndex () const
Version: doc 1.4.2 / NanoLib 1.3.0
36
8 referans klas / fonksyon
getDataType () Li kalite done objè a.
virtual nlc::ObjectEntryDataType getDataType () const
getObjectCode () Li kòd objè a:
Null Deftype Defstruct Var Array Dosye
0x00 0x05 0x06 0x07 0x08 0x09
virtual nlc::ObjectCode getObjectCode () konst
getObjectSaveable () Tcheke si objè a ka sove ak kategori li (gade manyèl pwodwi pou plis detay): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
virtual nlc::ObjectSaveable getObjectSaveable () konst
getMaxSubIndex () Li kantite sou-endis ki sipòte pa objè sa a.
virtual uint8_t getMaxSubIndex () const
getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Gade tou ObjectSubEntry.
8.21 ObjectSubEntry
Klas sa a reprezante yon sous-antre objè (sousindex) nan diksyonè objè a epi li gen fonksyon manm piblik sa yo:
getName () Li non objè a kòm yon kòd.
virtual std::string getName () konst
getSubIndex () Li adrès subindex la.
virtual uint8_t getSubIndex () const
Version: doc 1.4.2 / NanoLib 1.3.0
37
8 referans klas / fonksyon
getDataType () Li kalite done objè a.
virtual nlc::ObjectEntryDataType getDataType () const
getSdoAccess () Tcheke si subindex la aksesib atravè SDO:
ReadOnly
1
WriteOnly
2
LiEkri
3
NoAccess
0
virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () Tcheke si subindex la aksesib/mapable atravè PDO:
Tx
1
Rx
2
TxRx
3
Non
0
virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () Tcheke longè subindex la.
virtual uint32_t getBitLength () const
getDefaultValueAsNumeric () Li valè default subindex la pou kalite done nimerik.
Virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () Li valè default subindex la pou kalite done fisèl yo.
Virtual ResultString getDefaultValueAsString (std::string const & key) const
getDefaultValues () Li valè default sou endèks la.
vityèl std::map getDefaultValues () konst
Version: doc 1.4.2 / NanoLib 1.3.0
38
8 referans klas / fonksyon
readNumber () Li valè aktyèl nimerik sou endèks la.
Virtual ResultInt readNumber () konst
readString () Li valè aktyèl la chèn nan subindex la.
Virtual ResultString readString () konst
readBytes () Li valè aktyèl la nan subindex la an byte.
vityèl ResultArrayByte readBytes () konst
writeNumber () Ekri yon valè nimerik nan subendèks la.
vityèl ResultVoid writeNumber (valè konst int64_t) konst
writeBytes () Ekri yon valè nan subindex la an byte.
vityèl ResultVoid writeBytes (std::vector konst & done) konst
8.22 OdIndex
Sèvi ak klas sa a (imuyab soti nan kreyasyon an) pou vlope ak lokalize endis anyè objè / sub-endis. OD yon aparèy gen jiska 65535 (0xFFFF) ranje ak 255 (0xFF) kolòn; ak twou vid ki genyen ant ranje yo discontinuous. Gade estanda CANopen la ak manyèl pwodwi ou a pou plis detay.
OdIndex () Konstwi yon nouvo objè OdIndex.
nlc::OdIndex::OdIndex (uint16_t endèks, uint8_t subIndex)
Paramèt endèks subindex
Soti nan 0 a 65535 (0xFFFF) enkli. Soti nan 0 a 255 (0xFF) enkli.
getIndex () Li endèks la (ki soti nan 0x0000 rive nan 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const
Retounen uint16_t
getSubindex () Li sou-endèks la (ki soti nan 0x00 rive nan 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const
Version: doc 1.4.2 / NanoLib 1.3.0
39
8 referans klas / fonksyon
Retounen uint8_t
toString () Retounen endèks la ak subindex kòm yon fisèl. Chaîne default 0xIIII:0xSS li jan sa a:
I = endèks soti nan 0x0000 a 0xFFFF
S = sub-endèks soti nan 0x00 a 0xFF
std::string nlc::OdIndex::toString () const
Retounen 0xIIII:0xSS
Default reprezantasyon fisèl
8.23 OdLibrary
Sèvi ak koòdone pwogram sa a pou kreye egzanp nan klas ObjectDictionary soti nan XML. Lè assignObjectDictionary, ou ka mare chak egzanp nan yon aparèy espesifik akòz yon idantifyan inikman kreye. Enstans ObjectDictionary yo kreye konsa yo estoke nan objè OdLibrary pou jwenn aksè pa endèks. Klas ODLibrary a chaje atik ObjectDictionary nan file oswa etalaj, estoke yo, epi li gen fonksyon manm piblik sa yo:
getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const
getObjectDictionary () Virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Retounen ResultObjectDictionary
addObjectDictionaryFromFile ()
vityèl ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileChemen)
Retounen ResultObjectDictionary
addObjectDictionary ()
vityèl ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileChemen = std::string ())
Retounen ResultObjectDictionary
8.24 OdTypesHelper
Anplis fonksyon manm piblik sa yo, klas sa a gen kalite done koutim. Nòt: Pou tcheke kalite done koutim ou yo, chèche klas enum ObjectEntryDataType nan od_types.hpp.
uintToObjectCode () Konvèti nonm antye ki pa siyen an kòd objè:
Nil Deftype
000 0x05
Version: doc 1.4.2 / NanoLib 1.3.0
40
8 referans klas / fonksyon
Defstruct Var Array Dosye
0x06 0x07 0x08 0x09
static ObjectCode uintToObjectCode (unsigned int objectCode)
isNumericDataType () Enfòme si yon kalite done se nimerik oswa ou pa.
static bool isNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () Enfòme si yon objè se yon endèks estrikti definisyon oswa ou pa.
estatik bool isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Enfòme si yon objè se yon endèks kalite definisyon oswa ou pa.
estatik bool isDeftypeIndex (uint16_t typeNum)
isComplexDataType () Enfòme si yon kalite done konplèks oswa ou pa.
static bool isComplexDataType (ObjectEntryDataType dataType)
uintToObjectEntryDataType () Konvèti nonm antye ki pa siyen an kalite done OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () Konvèti kalite done OD an fisèl.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () Konvèti fisèl nan kalite done OD si sa posib. Sinon, retounen UNKNOWN_DATATYPE.
static ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
Version: doc 1.4.2 / NanoLib 1.3.0
41
8 referans klas / fonksyon
objectEntryDataTypeBitLength () Enfòme sou longè bit yon kalite done antre objè.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)
8.25 Estrikti RESTfulBus
Estrikti sa a gen opsyon konfigirasyon kominikasyon pou koòdone RESTful la (sou Ethernet). Li gen atribi piblik sa yo:
const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long
CONNECT_TIMEOUT_OPTION_NAME = "Delè Konekte RESTful" DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = "Demann RESTful Request" DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = "Repons Repons Tande" DEFAULT_750OUT_XNUMX RESPONSE
8.26 ProfinetDCP
Anba Linux, aplikasyon pou apèl la bezwen kapasite CAP_NET_ADMIN ak CAP_NET_RAW. Pou pèmèt: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Nan Windows, koòdone ProfinetDCP itilize WinPcap (teste ak vèsyon 4.1.3) oswa Npcap (teste ak vèsyon 1.60 ak 1.30). Se konsa, li chèche bibliyotèk wpcap.dll ki chaje dinamik nan lòd sa a (Remak: pa gen sipò Win10Pcap aktyèl):
1. Nanolib.dll anyè 2. Anyè sistèm Windows SystemRoot%System32 3. Anyè enstalasyon Npcap SystemRoot%System32Npcap 4. Chemen anviwònman
Klas sa a reprezante yon koòdone Profinet DCP e li gen fonksyon manm piblik sa yo:
getScanTimeout () Enfòme sou yon delè eskanè aparèy (default = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () Mete yon delè eskanè aparèy (default = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () Enfòme sou yon delè repons aparèy pou operasyon konfigirasyon, reset ak bat (default = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () Enfòme sou yon delè repons aparèy pou operasyon konfigirasyon, reset ak bat (default = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Version: doc 1.4.2 / NanoLib 1.3.0
42
8 referans klas / fonksyon
isServiceAvailable ()
Sèvi ak fonksyon sa a pou tcheke disponiblite sèvis Profinet DCP.
Rezo adaptè validite / disponiblite Windows: WinPcap / Npcap disponiblite Linux: CAP_NET_ADMIN / CAP_NET_RAW kapasite
Virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (konst BusHardwareId & busHardwareId)
Paramèt BusHardwareId Retounen vre
fo
ID pyès ki nan konpitè sèvis Profinet DCP pou tcheke. Sèvis ki disponib. Sèvis pa disponib.
scanProfinetDevices () Sèvi ak fonksyon sa a pou eskane otobis pyès ki nan konpitè pou prezans aparèy Profinet.
Virtual ResultProfinetDevices scanProfinetDevices (konst BusHardwareId & busHardwareId)
Paramèt BusHardwareId retounen ResultProfinetDevices
Espesifye chak fieldbus pou louvri. Materyèl la louvri.
setupProfinetDevice () Etabli paramèt aparèy sa yo:
Non aparèy
adrès IP
Mask rezo a
Default passerelle
Virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () Sispann aparèy la epi reset li nan parèy faktori a.
Virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () Kòmande aparèy Profinet la pou l kòmanse clignote LED Profinet li a.
Virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
validateProfinetDeviceIp () Sèvi ak fonksyon sa a pou tcheke adrès IP aparèy la.
Virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)
Paramèt BusHardwareId ProfinetDevice
Espesifye ID pyès ki nan konpitè pou tcheke. Espesifye aparèy Profinet pou valide.
Version: doc 1.4.2 / NanoLib 1.3.0
43
8 referans klas / fonksyon
Retounen ResultVoid
8.27 ProfinetDevice struct
Done aparèy Profinet yo gen atribi piblik sa yo:
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
deviceName deviceVendor macAddress ipAddress netMask defaultGateway
Yo bay adrès MAC la kòm yon etalaj nan fòma macAddress = {xx, xx, xx, xx, xx, xx}; Lè nou konsidere ke adrès IP, mask rezo a ak pòtay yo tout entèprete kòm nimewo gwo endian hex, tankou:
Adrès IP: 192.168.0.2 Rezo mask: 255.255.0.0 Gateway: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Klas rezilta yo
Sèvi ak valè retounen "opsyonèl" klas sa yo pou tcheke si yon apèl fonksyon te gen siksè oswa ou pa, epi tou jwenn rezon ki fè yo echwe. Si gen siksè, fonksyon hasError () la retounen fo. Pa getResult (), ou ka li valè rezilta a dapre kalite (ResultInt elatriye). Si yon apèl echwe, ou li rezon an pa getError ().
Pwoteje atribi
string NlcErrorCode uint32_t
errorString errorCode exErrorCode
Epitou, klas sa a gen fonksyon manm piblik sa yo:
hasError () Li siksè yon apèl fonksyon.
bool nlc::Rezilta::hasError () const
Retounen
vre fo
Rele echwe. Sèvi ak getError () pou li valè a. Apèl siksè. Sèvi ak getResult () pou li valè a.
getError () Li rezon ki fè si yon apèl fonksyon echwe.
const std::string nlc::Result::getError () const
Retounen fisèl konst
Version: doc 1.4.2 / NanoLib 1.3.0
44
8 referans klas / fonksyon
rezilta () Fonksyon sa yo ede nan defini rezilta egzak yo:
Rezilta (std::string const & errorString_)
Rezilta (NlcErrorCode const & errCode, std::string const & errorString_)
Rezilta (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Rezilta (Rezilta konst & rezilta)
getErrorCode () Li NlcErrorCode la.
NlcErrorCode getErrorCode () konst
getExErrorCode () uint32_t getExErrorCode () konst
8.28.1 ResultVoid
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen anile. Klas la eritye fonksyon piblik yo ak atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
ResultVoid () Fonksyon sa yo ede nan defini rezilta egzak anile:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (Rezilta konst & rezilta)
8.28.2 ReziltaInt
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon nonb antye relatif. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Remèt rezilta nonb antye relatif la si yon apèl fonksyon te reyisi.
int64_t getResult () konst
Retounen int64_t
Version: doc 1.4.2 / NanoLib 1.3.0
45
8 referans klas / fonksyon
ResultInt () Fonksyon sa yo ede nan defini rezilta egzak nonb antye relatif:
ResultInt (int64_t result_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (Rezilta konst & rezilta)
8.28.3 ResultString
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon kòd. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li rezilta fisèl la si yon apèl fonksyon te reyisi.
const std::string nlc::ResultString::getResult () const
Retounen fisèl konst
ResultString () Fonksyon sa yo ede nan defini rezilta egzak la:
ResultString (std::string const & mesaj, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (Rezilta konst & rezilta)
8.28.4 ResultArrayByte
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon etalaj byte. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li vektè byte a si yon apèl fonksyon te reyisi.
const std::vector nlc::ResultArrayByte::getResult () const
Retounen vektè konst
Version: doc 1.4.2 / NanoLib 1.3.0
46
8 referans klas / fonksyon
ResultArrayByte () Fonksyon sa yo ede nan defini rezilta egzak etalaj byte:
ResultArrayByte (std::vector konst & rezilta_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & erè String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Rezilta konst & rezilta)
8.28.5 ResultArrayInt
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon etalaj nonb antye relatif. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li vektè nonb antye relatif la si yon apèl fonksyon te reyisi.
const std::vector nlc::ResultArrayInt::getResult () konst
Retounen vektè konst
ResultArrayInt () Fonksyon sa yo ede nan defini rezilta egzak etalaj antye:
ResultArrayInt (std::vector konst & rezilta_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & erè String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Rezilta konst & rezilta)
8.28.6 ResultBusHwIds
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon seri ID pyès ki nan konpitè otobis la. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li vektè bus-hardware-ID si yon apèl fonksyon te reyisi.
const std::vector nlc::ResultBusHwIds::getResult () const
Paramèt const vektè
Version: doc 1.4.2 / NanoLib 1.3.0
47
8 referans klas / fonksyon
ResultBusHwIds () Fonksyon sa yo ede nan defini rezilta egzak bus-hardware-ID-etalaj:
ResultBusHwIds (std::vector konst & rezilta_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (Rezilta konst & rezilta)
8.28.7 ResultDeviceId
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon ID aparèy. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li vektè ID aparèy la si yon apèl fonksyon te reyisi.
DeviceId nlc::ResultDeviceId::getResult () const
Retounen vektè konst
ResultDeviceId () Fonksyon sa yo ede nan defini rezilta egzak ID aparèy la:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Rezilta konst & rezilta)
8.28.8 ResultDeviceIds
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon etalaj ID aparèy. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Remèt vektè ID aparèy la si yon apèl fonksyon te reyisi.
DeviceId nlc::ResultDeviceIds::getResult () const
Retounen vektè konst
Version: doc 1.4.2 / NanoLib 1.3.0
48
8 referans klas / fonksyon
ResultDeviceIds () Fonksyon sa yo ede nan defini rezilta egzak aparèy-ID-etalaj la:
ResultDeviceIds (std::vector konst & rezilta_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (Rezilta konst & rezilta)
8.28.9 ResultDeviceHandle
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen valè yon manch aparèy. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li manch aparèy la si yon apèl fonksyon te reyisi.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Retounen DeviceHandle
ResultDeviceHandle () Fonksyon sa yo ede nan defini rezilta egzak manch aparèy la:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (Rezilta konst & rezilta)
8.28.10 ResultObjectDictionary
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen kontni yon diksyonè objè. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li vektè ID aparèy la si yon apèl fonksyon te reyisi.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
Version: doc 1.4.2 / NanoLib 1.3.0
49
8 referans klas / fonksyon
Retounen
vektè const
ResultObjectDictionary () Fonksyon sa yo ede nan defini rezilta egzak diksyonè objè a:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)
ResultObjectDictionary (std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectDictionary (Rezilta konst & rezilta)
8.28.11 ResultConnectionState
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon enfòmasyon aparèy-koneksyon-eta. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li manch aparèy la si yon apèl fonksyon te reyisi.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
Retounen DeviceConnectionStateInfo Konekte / Dekonekte / KonekteBootloader
ResultConnectionState () Fonksyon sa yo ede nan defini rezilta egzak eta a koneksyon:
ResultConnectionState (DeviceConnectionStateInfo konst & rezilta_)
ResultConnectionState (std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultConnectionState (Rezilta konst & rezilta)
8.28.12 ResultObjectEntry
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon antre objè. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
Version: doc 1.4.2 / NanoLib 1.3.0
50
8 referans klas / fonksyon
getResult () Remèt vektè ID aparèy la si yon apèl fonksyon te reyisi.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Retounen const ObjectEntry
ResultObjectEntry () Fonksyon sa yo ede nan defini rezilta egzak antre objè a:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (Rezilta konst & rezilta)
8.28.13 ResultObjectSubEntry
NanoLib voye yon egzanp klas sa a pou ou si fonksyon an retounen yon sous-antre objè. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Remèt vektè ID aparèy la si yon apèl fonksyon te reyisi.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Retounen const ObjectSubEntry
ResultObjectSubEntry () Fonksyon sa yo ede nan defini rezilta egzak sou-antre objè a:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (Rezilta konst & rezilta)
8.28.14 ResultProfinetDevices
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen yon aparèy Profinet. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
Version: doc 1.4.2 / NanoLib 1.3.0
51
8 referans klas / fonksyon
getResult () Li vektè aparèy Profinet la si yon apèl fonksyon te reyisi.
const std::vector & getResult () konst
ResultProfinetDevices () Fonksyon sa yo ede nan defini aparèy Profinet egzak yo.
ResultProfinetDevices (konst std::vector & ProfinetDevices)
ResultProfinetDevices (konst Rezilta & rezilta)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ReziltaSampleDataArray
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen kòmample done etalaj. Klas la eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li done etalaj la si yon apèl fonksyon te reyisi.
const std::vector <SampleData> & getResult () konst
ReziltaSampleDataArray () Fonksyon sa yo ede nan defini aparèy Profinet egzak yo.
ReziltaSampleDataArray (const std::vector <SampleData> & dataArray)
ReziltaSampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
ReziltaSampleDataArray (konst ReziltaSampleDataArray ak lòt)
ReziltaSampleDataArray (konst Rezilta & rezilta)
8.28.16 ReziltaSamplerState
NanoLib voye yon egzanp nan klas sa a si fonksyon an retounen kòmampler state.Klas sa a eritye fonksyon piblik / atribi pwoteje nan klas rezilta a epi li gen fonksyon manm piblik sa yo:
getResult () Li s laampler vektè eta si yon apèl fonksyon te gen siksè.
SamplerState getResult () konst
Retounen SamplerState>
Unconfigured / Konfigirasyon / Pare / Kouri / Konplete / Echwe / Anile
Version: doc 1.4.2 / NanoLib 1.3.0
52
8 referans klas / fonksyon
ReziltaSamplerState () Fonksyon sa yo ede nan defini s egzak laampler leta.
ReziltaSamplerState (konst SamplerState eta)
ReziltaSamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
extendedErrorCode = 0)
ReziltaSamplerState (konst ReziltaSamplerState ak lòt)
ReziltaSamplerState (const Rezilta & rezilta)
8.29 NlcErrorCode
Si yon bagay ale mal, klas rezilta yo rapòte youn nan kòd erè ki nan lis nan enimerasyon sa a.
Error code Success GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments Aksè Denied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError
C: Kategori D: Deskripsyon R: Rezon C: Okenn. D: Pa gen erè. R: Operasyon an fini avèk siksè.
C: Pa espesifye. D: Erè ki pa espesifye. R: Echèk ki pa adapte okenn lòt kategori.
C: otobis. D: Otobis pyès ki nan konpitè pa disponib. R: Otobis pa egziste, koupe oswa defo.
C: Kominikasyon. D: Kominikasyon pa fyab. R: Done inatandi, move CRC, erè ankadreman oswa egalite, elatriye.
C: Pwotokòl. D: Pwotokòl erè. R: Repons apre opsyon pwotokòl ki pa sipòte, rapò aparèy pwotokòl ki pa sipòte, erè nan pwotokòl la (di, SDO segman senkronizasyon ti jan), elatriye R: Yon repons oswa rapò aparèy nan pwotokòl ki pa sipòte (opsyon) oswa nan erè nan pwotokòl (di, SDO). segman sync bit), elatriye R: Pwotokòl ki pa sipòte (opsyon) oswa erè nan pwotokòl (di, SDO segman senkronizasyon ti jan), elatriye.
C: diksyonè objè. D: OD adrès inexistant. R: Pa gen adrès sa yo nan diksyonè objè a.
C: diksyonè objè. D: Aksè nan adrès OD pa valab. R: Eseye ekri yon adrès li sèlman, oswa li nan yon adrès ki ekri sèlman.
C: diksyonè objè. D: Kalite dezakò. R: Valè pa konvèti nan kalite espesifye, di, nan yon tantativ trete yon fisèl kòm yon nimewo.
C: Aplikasyon. D: Pwosesis avòte. R: Pwosesis koupe pa demann aplikasyon an. Retounen sèlman sou entèwonp operasyon pa fonksyon callback, di, soti nan otobis-eskane.
C: komen. D: Pwosesis san sipò. R: Pa gen sipò pyès ki nan konpitè otobis / aparèy.
C: komen. D: Pwosesis kòrèk nan kontèks aktyèl la, oswa envalid ak agiman aktyèl la. R: Yon tantativ rekonekte nan otobis / aparèy ki deja konekte. Yon tantativ dekonekte pou moun ki deja dekonekte. Yon tantativ operasyon bootloader nan mòd firmwèr oswa vis vèrsa.
C: komen. D: Agiman pa valab. R: Move lojik oswa sentaks.
C: komen. D: Aksè yo refize. R: Mank dwa oswa kapasite pou fè operasyon yo mande a.
C: komen. D: Espesifye atik pa jwenn. R: Otobis pyès ki nan konpitè, pwotokòl, aparèy, adrès OD sou aparèy, oswa file pa te jwenn.
C: komen. D: Espesifye atik pa jwenn. R: okipe, inègzistan, koupe oswa defo.
C: komen. D: memwa ensifizan. R: Twòp memwa pou trete kòmandman sa a.
C: komen. D: Pwosesis delè. R: Retounen apre tan-soti ekspire. Timeout ka yon tan repons aparèy, yon tan pou jwenn aksè resous pataje oswa eksklizif, oswa yon tan pou chanje otobis la / aparèy nan yon eta apwopriye.
Version: doc 1.4.2 / NanoLib 1.3.0
53
8 referans klas / fonksyon
8.30 NlcCallback
Klas paran sa a pou apèl yo gen fonksyon manm piblik sa yo: callback ()
vityèl ResultVoid callback ()
Retounen
ResultVoid
8.31 NlcDataTransferCallback
Sèvi ak klas callback sa a pou transfè done (mizajou firmwèr, telechaje NanoJ elatriye). 1. Pou yon telechaje firmwèr: Defini yon "ko-klas" pwolonje yon sèl sa a ak yon metòd koutim callback
aplikasyon. 2. Sèvi ak ka "ko-klas la" nan apèl NanoLibAccessor.uploadFirmware (). Klas prensipal la li menm gen fonksyon manm piblik sa yo:
callback () vityèl ResultVoid callback (nlc::DataTransferInfo enfòmasyon, int32_t done)
Retounen
ResultVoid
8.32 NlcScanBusCallback
Sèvi ak klas rappel sa a pou eskanè otobis. 1. Defini yon "ko-klas" pwolonje yon sèl sa a ak yon aplikasyon metòd koutim callback. 2. Sèvi ak egzanp "ko-klas la" nan apèl NanoLibAccessor.scanDevices (). Klas prensipal la li menm gen fonksyon manm piblik sa yo.
Rele anko ()
vityèl ResultVoid callback (nlc::BusScanInfo enfòmasyon, std::vektè const & devicesFound, int32_t done)
Retounen ResultVoid
8.33 NlcLoggingCallback
Sèvi ak klas rapèl sa a pou anrejistre apèl yo. 1. Defini yon klas ki pwolonje klas sa a ak yon aplikasyon metòd rappel personnalisé.
setLoggingCallback (…).
vityèl anile callback (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)
8.34 SamplerInterface
Sèvi ak klas sa a pou configure, kòmanse ak sispann sampler, or to get sampdirije done ak chache kòmampestati ler oswa dènye erè. Klas la gen fonksyon manm piblik sa yo.
Version: doc 1.4.2 / NanoLib 1.3.0
54
8 referans klas / fonksyon
konfigirasyon () Konfigirasyon kòmampler.
Virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)
Paramèt [nan] deviceHandle [nan] samplerConfiguration
Retounen ResultVoid
Espesifye ki aparèy pou configure s laampler pou. Espesifye valè atribi konfigirasyon yo. Konfime ke yon fonksyon anile te kouri.
getData () Jwenn s laampdirije done.
Rezilta vityèlampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Paramèt [nan] deviceHandle Retounen Rezilta yoampleDataArray
Espesifye ki aparèy pou jwenn done yo.
Delivre s laampled done, ki kapab yon etalaj vid si samplerNotify aktif nan kòmansman an.
getLastError () Vin kòmampdènye erè ler.
Virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
Retounen ResultVoid
Konfime ke yon fonksyon anile te kouri.
getState () Vin kòmampestati ler.
Rezilta vityèlamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Rezilta yo retounenamplerState
Delivre s laampler leta.
kòmanse () Kòmanse kòmampler.
Virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)
Paramèt [nan] deviceHandle [nan] SamplerNotify [nan] applicationData
Retounen ResultVoid
Espesifye ki aparèy pou kòmanse s laampler pou.
Espesifye ki enfòmasyon si ou vle rapòte (kapab nullptr).
Opsyon: Transmèt done ki gen rapò ak aplikasyon (yon etalaj 8-bit defini itilizatè a nan valè / ID aparèy / endèks, oswa yon dat lè, yon pwent varyab / fonksyon, elatriye) nan s.amplerNotify.
Konfime ke yon fonksyon anile te kouri.
Version: doc 1.4.2 / NanoLib 1.3.0
55
8 referans klas / fonksyon
sispann () Sispann kòmampler.
Virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
Paramèt [nan] deviceHandle Retounen ResultVoid
Espesifye ki aparèy pou sispann s laampler pou. Konfime ke yon fonksyon anile te kouri.
8.35 SamplerConfiguration struct
Estrikti sa a gen done yoampopsyon konfigirasyon ler yo (estatik oswa ou pa).
Atribi piblik yo
std::vektè trackedAddresses
Jiska 12 adrès OD yo dwe sampdirije.
uint32_t
vèsyon
Vèsyon yon estrikti.
uint32_t
direMiliseconds
Sampling dire an ms, soti nan 1 a 65535
uint16_t
peryòdMilisgond
Sampling peryòd nan ms.
uint16_t
numberOfSamples
Samples kantite.
uint16_t
preTriggerNumberOfSamples
Samples kantite lajan pre-deklanche.
bool
usingSoftwareImplementation
Sèvi ak aplikasyon lojisyèl.
bool
usingNewFWSamplerImplementation Sèvi ak aplikasyon FW pou aparèy ki gen yon
FW vèsyon v24xx oswa pi nouvo.
SamplerMode
mòd
Nòmal, repetitif oswa kontinyèl sampling.
SamplerTriggerCondition triggerCondition
Kòmanse kondisyon deklanche: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = TC_GREATER_0 = TC_GREATER_15 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValue
SamplerTrigger
SamplerTrigger
Yon deklanche pou kòmanse kòmampler?
Estatik atribi piblik yo
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
Sèvi ak klas sa a pou aktive sampler notifikasyon lè ou kòmanse kòmampler. Klas la gen fonksyon manm piblik sa yo.
Version: doc 1.4.2 / NanoLib 1.3.0
56
8 referans klas / fonksyon
notifye ()
Li bay yon antre notifikasyon.
vityèl anile nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)
Paramèt [nan] lastError [nan] samplerState
[nan] sampleDatas [nan] applicationData
Rapòte dènye erè ki te fèt pandan sampling. Rapò sampler estati nan moman notifikasyon: Unconfigured / Konfiguré / Pare / Kouri / Konplete / Echwe / Anile. Rapòte sampdirije-done etalaj. Rapò done espesifik aplikasyon an.
8.37 SampleData struct
Structure sa a gen s laampdirije done.
uin64_t iterasyonNumber
Kòmanse nan 0 epi sèlman ogmante nan mòd repetitif.
std::vector<SampledValues> Gen ladan li etalaj sampdirije valè.
8.38 SampledValue struct
Structure sa a gen s laampdirije valè.
in64_t valè uin64_t CollectTimeMsec
Gen valè yon adrès OD swiv.
Gen tan koleksyon an nan milisgond, parapò ak s laample kòmansman.
8.39 SamplerTrigger struct
Structure sa a genyen paramètres deklanche sampler.
SamplerTriggerCondition kondisyon
OdIndex uin32_t valè
Kondisyon deklanche a: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER__0x15 = GREATER__0GREATER__16 0x17 TC_LESS = 0x18 TC_LESS_OR_EQUAL = 0x19 TC_EQUAL = 0x1 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = XNUMXxXNUMXC
OdIndex deklanche a (adrès).
Valè kondisyon oswa nimewo ti (kòmanse soti nan ti zewo).
8.40 Serial struct
Jwenn la a opsyon kominikasyon seri ou yo ak atribi piblik sa yo:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = "serial baud rate" baudRate = SerialBaudrate struct
Version: doc 1.4.2 / NanoLib 1.3.0
57
8 referans klas / fonksyon
const std::string const SerialParity
PARITY_OPTIONS_NAME = "serial parity" parity = SerialParity struct
8.41 SerialBaudRate estrikti
Jwenn la a vitès baud kominikasyon seri ou a ak atribi piblik sa yo:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE_56000 = “_56000_57600”_57600 “_115200” 115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000” BAUD_RATE_XNUMX = “XNUMX”
8.42 SerialParity struct
Jwenn isit la opsyon parite seri ou yo ak atribi piblik sa yo:
const std::string const std::string const std::string const std::string const std::string
NON = "okenn" ODD = "enpè" EVEN = "menm" MARK = "mak" ESPAS = "espas"
Version: doc 1.4.2 / NanoLib 1.3.0
58
9 Lisans
9 Lisans
NanoLib API koòdone tèt ak ansyenampNanotec Electronic GmbH & Co. KG gen lisans pou kòd sous yo anba Lisans Creative Commons Attribution 3.0 Unported (CC BY). Pati bibliyotèk yo bay nan fòma binè (bibyotèk kominikasyon debaz ak fieldbus) gen lisans anba Lisans Entènasyonal Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).
Creative Commons
Rezime sa a lizib pou moun pa pral ranplase lisans lan (yo) li menm. Ou ka jwenn lisans respektif la nan creativecommons.org ak lyen anba a. Ou lib pou:
CC BY 3.0
Pataje: Gade dwat. Adapte: Remix, transfòme, ak bati sou la
materyèl pou nenpòt rezon, menm komèsyal.
CC BY-ND 4.0
Pataje: Kopi epi redistribiye materyèl la nan nenpòt mwayen oswa fòma.
Moun ki bay lisans lan pa ka anile libète ki anwo yo toutotan ou respekte kondisyon lisans sa yo:
CC BY 3.0
CC BY-ND 4.0
Attribution: Ou dwe bay kredi apwopriye, Attribution: Gade bò gòch. Men: Bay yon lyen sa a
bay yon lyen pou lisans lan, epi endike si
lòt lisans.
chanjman yo te fèt. Ou ka fè sa nan nenpòt ki
Pa gen dérivés: Si ou remix, transfòme, oswa bati
yon fason rezonab, men pa nan okenn fason ki sig-
sou materyèl la, ou pa ka distribye a
bay lisans lan andose ou oswa itilizasyon ou.
materyèl modifye.
Pa gen restriksyon adisyonèl: Ou pa gendwa aplike Pa gen restriksyon adisyonèl: Gade bò gòch la. tèm legal oswa mezi teknolojik ki legalman
anpeche lòt moun fè anyen lisans lan
pèmi yo.
Remak: Ou pa oblije konfòme w ak lisans lan pou eleman nan materyèl la nan domèn piblik la oswa kote itilizasyon ou pèmèt pa yon eksepsyon oswa limit ki aplikab.
Remak: Pa gen okenn garanti yo bay. Lisans lan gendwa pa ba ou tout otorizasyon ki nesesè pou itilizasyon ou vle. Pou egzanpampMen, lòt dwa tankou piblisite, konfidansyalite, oswa dwa moral ka limite fason ou itilize materyèl la.
Version: doc 1.4.2 / NanoLib 1.3.0
59
Anprint, kontak, vèsyon
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 Feldkirchen GermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Tout dwa rezève. Erè, omisyon, chanjman teknik oswa kontni posib san avètisman. Yo site mak/pwodwi yo se mak pwopriyetè yo epi yo dwe trete kòm sa yo. Vèsyon orijinal la.
Dokiman 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
+ Te ajoute > Chanje # Fiks > Re-travay ansyen yo bay laamples.
+ NanoLib Modbus: Te ajoute mekanis bloke aparèy pou Modbus VCP. # NanoLib Nwayo: Tcheke eta koneksyon fiks. # NanoLib Kòd: Korije retire referans pyès ki nan konpitè otobis la.
+ NanoLib-CANopen: Sipò pou adaptè Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Nwayo: Chanje koòdone callback anrejistreman (LogLevel ranplase pa LogModule). # NanoLib Logger: Separasyon ant nwayo ak modil yo te korije. # Modbus TCP: Mizajou firmwèr fiks pou FW4. # EtherCAT: Fiks telechaje pwogram NanoJ pou Core5. # EtherCAT: Mizajou firmwèr fiks pou Core5.
# Modbus RTU: Pwoblèm distribisyon fiks ak to baud pandan aktyalizasyon firmwèr. # RESTful: Fiks telechaje pwogram NanoJ.
# NanoLib Modil Sampler: Lekti kòrèk nan sampdirije valè booleyen.
+ Java 11 sipò pou tout platfòm. + Python 3.11/3.12 sipò pou tout platfòm. + Nouvo koòdone apèl pou anrejistreman (gade egzanpamples). + Lavabo Callback pou NanoLib Logger. > Mete ajou logger a vèsyon 1.12.0. > NanoLib Modules Sampler: Sipò kounye a pou mikrolojisyèl kontwolè Nanotec v24xx. > NanoLib Modules Sampler: Chanjman nan estrikti yo itilize pou sampler konfigirasyon. > NanoLib Modil Sampler: mòd kontinyèl se sinonim ak kontinuèl; kondisyon deklanche a tcheke yon fwa; kantite samples yo dwe 0. > NanoLib Modules Sampler: Priyorite nòmal pou fil la ki kolekte done nan mòd firmwèr. > NanoLib Modil Sampler: Reekri algorithm pou detekte tranzisyon ant eta Ready & Running. # NanoLib Nwayo: Pa gen plis Vyolasyon Aksè (0xC0000005) sou fèmen 2 oswa plis aparèy lè l sèvi avèk menm pyès ki nan konpitè otobis la. # NanoLib Nwayo: Pa gen plis Fòt Segmantasyon sou atache yon adaptè PEAK anba Linux. # NanoLib Modil Sampler: kòrèk sampled-valè lekti nan mòd firmwèr. # NanoLib Modil Sampler: Konfigirasyon kòrèk nan 502X:04. # NanoLib Modil Sampler: Melanj kòrèk nan tanpon ak chanèl. # NanoLib-Canopen: Ogmantasyon delè CAN pou solidite ak analiz kòrèk nan baudrates. # NanoLib-Modbus: algorithm deteksyon VCP pou aparèy espesyal (USB-DA-IO).
+ Sipò EtherCAT.
+ Remak sou anviwònman pwojè VS nan Konfigirasyon pwojè ou a.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileNon (). + const std::string & xmlFileChemen nan addObjectDictionary (). + jwennSamplerInterface ().
Pwodwi 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)
Version: doc 1.4.2 / NanoLib 1.3.0
60
10 Anprint, kontak, vèsyon
Dokiman
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
+ Te ajoute > Chanje # Fiks + rebootDevice (). + Kòd erè ResourceUnavailable pou getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, ak ~Uid. > firmwareUploadFromFile kounye a uploadFirmwareFromFile (). > firmwareUpload () kounye a uploadFirmware (). > bootloaderUploadFromFile () kounye a uploadBootloaderFromFile (). > bootloaderUpload () kounye a uploadBootloader (). > bootloaderFirmwareUploadFromFile () pou telechajeBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () kounye a uploadBootloaderFirmware (). > nanojUploadFromFile () kounye a UploadNanoJFromFile (). > nanojUpload () kounye a UploadNanoJ (). > objectDictionaryLibrary () kounye a getObjectDictionaryLibrary (). > String_String_Map kounye a StringStringMap. > NanoLib-Komen: pi vit ekzekisyon listAvailableBusHardware ak openBusHardwareWithProtocol ak adaptè Ixxat. > NanoLib-CANopen: paramèt default yo itilize (1000k baudrate, nimewo otobis Ixxat 0) si opsyon pyès ki nan konpitè otobis yo vid. > NanoLib-RESTful: pèmisyon admin demode pou kominikasyon ak bootloaders Ethernet anba Windows si chofè npcap / winpcap disponib. # NanoLib-CANopen: pyès ki nan konpitè otobis kounye a louvri san aksidan ak opsyon vid. # NanoLib-Common: openBusHardwareWithProtocol () ki pa gen okenn koule memwa kounye a.
+ Linux ARM64 sipò. + USB mas depo / REST / Profinet DCP sipò. + tchekeEta Koneksyon (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (ranplase NanotecExceptions). + NanoLib Modbus: VCP / USB mwaye inifye nan USB. > Modbus TCP eskanè retounen rezilta yo. < Latans kominikasyon Modbus TCP rete konstan.
+ Plis ObjectEntryDataType (konplèks ak profile-espesifik). + IOError retounen si connectDevice () ak scanDevices () pa jwenn okenn. + Se sèlman 100 ms delè nominal pou CanOpen / Modbus.
+ Modbus sipò (plis USB Hub atravè VCP). + Chapit Kreye pwòp pwojè Linux ou. + extraHardwareSpecifier pou BusHardwareId (). + extraId_ ak extraStringId_ pou DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Koreksyon ensèk.
Edisyon.
Pwodwi
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Version: doc 1.4.2 / NanoLib 1.3.0
61
Dokiman / Resous
![]() |
Nanotic NanoLib C++ Programming [pdfManyèl Itilizatè NanoLib C Programming, C Programming, Programming |