Նանոտիկ NanoLib C++ ծրագրավորում

Ապրանքի մասին տեղեկատվություն
Տեխնիկական պայմաններ
- Ապրանքի անվանումը: NanoLib
- Ծրագրավորում Լեզու՝ C++
- Ապրանքի տարբերակ: 1.3.0
- Օգտագործողի ձեռնարկի տարբերակ. 1.4.2
NanoLib գրադարանը նախատեսված է Nanotec կարգավորիչների կառավարման ծրագրային ապահովման ծրագրավորման համար: Այն տրամադրում է օգտագործողի ինտերֆեյս, հիմնական ֆունկցիոնալություն և հաղորդակցման գրադարաններ՝ կառավարման ծրագրերի մշակումը հեշտացնելու համար:
Ապրանքի օգտագործման հրահանգներ
- Նախքան սկսելը.
- Համոզվեք, որ ձեր համակարգը համապատասխանում է ձեռնարկում նշված սարքավորումների պահանջներին: Այս ապրանքի նախատեսված լսարանը ներառում է այն մշակողներին, ովքեր ցանկանում են ստեղծել կառավարման ծրագրակազմ Nanotec կարգավորիչների համար:
- Սկսել.
- NanoLib-ը օգտագործել սկսելու համար հետևեք հետևյալ քայլերին.
- Սկսեք NanoLib-ը ձեր նախագծի մեջ ներմուծելով։
- Անհրաժեշտության դեպքում կարգավորեք ձեր նախագծի կարգավորումները։
- Կառուցեք ձեր նախագիծը՝ ներառելով NanoLib ֆունկցիոնալությունները։
- Նախագծերի ստեղծում.
- Դուք կարող եք նախագծեր ստեղծել և՛ Windows, և՛ Linux միջավայրերի համար: Հետևեք յուրաքանչյուր հարթակի համար ձեռնարկում տրված հատուկ հրահանգներին:
- Դասերի / ֆունկցիաների հղումներ՝
- NanoLib-ում ծրագրավորման կառավարման ծրագրաշարի համար հասանելի դասերի և գործառույթների մանրամասն ուղեցույցի համար դիմեք օգտագործողի ձեռնարկին։
ՀՏՀ-ներ
- Հարց. Ո՞րն է NanoLib-ի նպատակը։
- A: NanoLib-ը Nanotec կարգավորիչների կառավարման ծրագրային ապահովման ծրագրավորման գրադարան է, որն ապահովում է անհրաժեշտ ֆունկցիոնալություն և հաղորդակցման հնարավորություններ։
- Հարց. Ինչպե՞ս կարող եմ սկսել NanoLib-ի հետ աշխատելը։
- A: Սկսեք NanoLib-ը ձեր նախագծի մեջ ներմուծելով, նախագծի կարգավորումները կարգավորելով և ձեր նախագիծը կառուցելով՝ NanoLib-ի գործառույթներն օգտագործելու համար։
«»:
Օգտագործողի ձեռնարկ NanoLib
C++
Վավերական է արտադրանքի 1.3.0 տարբերակով
Օգտագործողի ձեռնարկի տարբերակը՝ 1.4.2
Փաստաթղթի նպատակը և կոնվենցիաները
Այս փաստաթուղթը նկարագրում է NanoLib գրադարանի կարգավորումն ու օգտագործումը և պարունակում է հղում բոլոր դասերին և գործառույթներին՝ Nanotec կարգավորիչների համար ձեր սեփական կառավարման ծրագրաշարը ծրագրավորելու համար: Մենք օգտագործում ենք հետևյալ տառատեսակները.
Ընդգծված տեքստը նշում է խաչաձև հղում կամ գերհղում:
Example 1. NanoLibAccessor-ի վերաբերյալ ճշգրիտ հրահանգների համար տե՛ս Կարգավորումը: Օրինակ՝ample 2. Տեղադրեք Ixxat դրայվերը և միացրեք CAN-USB ադապտերը: Շեղ տեքստը նշանակում է՝ սա անվանված օբյեկտ է, ցանկի ուղի/տարր, ներդիր/ file անունը կամ (անհրաժեշտության դեպքում) օտարալեզու արտահայտություն:
Example 1: Ընտրել File > Նոր > Դատարկ փաստաթուղթ: Բացեք «Գործիք» ներդիրը և ընտրեք Մեկնաբանություն: Օրինակ՝ample 2. Այս փաստաթուղթը բաժանում է օգտվողներին (= Nutzer; usuario; utente; utilisateur; utente և այլն)՝
– Երրորդ կողմի օգտատեր (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente և այլն): – Վերջնական օգտվող (= Endnutzer; usuario final; utente final; utilisateur final; utente finale և այլն):
Սուրհանդակը նշում է կոդի բլոկները կամ ծրագրավորման հրամանները: Օրինակ՝ample 1. Bash-ի միջոցով զանգահարեք sudo make install՝ համօգտագործվող օբյեկտները պատճենելու համար; ապա զանգահարեք ldconfig: Օրինակ՝ample 2. Օգտագործեք հետևյալ NanoLibAccessor ֆունկցիան NanoLib-ում գրանցման մակարդակը փոխելու համար.
// ***** C++ տարբերակ *****
void setLoggingLevel (LogLevel մակարդակ);
Թավ տեքստը շեշտում է կարևոր նշանակություն ունեցող առանձին բառերը: Որպես այլընտրանք, փակագծերում փակցված բացականչական նշաններն ընդգծում են կրիտիկական(!) կարևորությունը:
ExampԼ 1. Պաշտպանեք ինքներդ ձեզ, ուրիշներին և ձեր սարքավորումները: Հետևեք մեր ընդհանուր անվտանգության նշումներին, որոնք ընդհանուր առմամբ կիրառելի են Nanotec-ի բոլոր արտադրանքների համար:
ExampԼ 2. Ձեր սեփական պաշտպանության համար հետևեք նաև անվտանգության հատուկ նշումներին, որոնք վերաբերում են այս կոնկրետ արտադրանքին: Co-click բայը նշանակում է սեղմում մկնիկի երկրորդական ստեղնով` համատեքստային մենյու բացելու համար և այլն:
Example 1: Համատեղ սեղմեք վրա fileընտրեք Վերանվանել և վերանվանել file. Նախկինample 2. Հատկությունները ստուգելու համար սեղմեք կոճակի վրա file եւ ընտրել Հատկություններ:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
4
Նախքան սկսելը
Նախքան NanoLib-ի օգտագործումը սկսելը, պատրաստեք ձեր ԱՀ-ը և տեղեկացրեք ինքներդ ձեզ նախատեսված օգտագործման և գրադարանի սահմանափակումների մասին:
2.1 Համակարգի և ապարատային պահանջներ

ՈՒՇԱԴՐՈՒԹՅՈՒՆ՝ 32-բիթային աշխատանքի կամ դադարեցված համակարգի անսարքություն։ Օգտագործեք և մշտապես պահպանեք 64-բիթային համակարգ։ Հետևեք OEM-ի դադարեցումներին և հրահանգներին։
NanoLib 1.3.0-ը աջակցում է բոլոր Nanotec արտադրանքներին՝ CANopen, Modbus RTU (նաև USB վիրտուալ կոմ պորտի վրա), Modbus TCP, EtherCat և Profinet: Ավելի հին NanoLibs-ների համար. տե՛ս փոփոխությունների գրանցամատյանը տպագրության մեջ: Միայն ձեր ռիսկն է. օգտագործեք ժառանգական համակարգ: Նշում. Հետևեք OEM-ի գործող հրահանգներին՝ լատենտությունը հնարավորինս ցածր սահմանելու համար, եթե խնդիրներ ունեք FTDI-ի վրա հիմնված USB ադապտեր օգտագործելիս:
Պահանջներ (64-բիթանոց համակարգ պարտադիր)
Windows 10 կամ 11՝ Visual Studio 2019 տարբերակ 16.8 կամ ավելի նոր տարբերակով և Windows SDK 10.0.20348.0 (տարբերակ 2104) կամ ավելի նոր տարբերակով
C++ վերաբաշխվող ֆայլեր 2017 կամ ավելի բարձր տարբերակով CANopen: Ixxat VCI կամ PCAN հիմնական դրայվեր (ըստ ցանկության) EtherCat մոդուլ / Profinet DCP: Npcap կամ WinPcap RESTful մոդուլ: Npcap, WinPcap կամ ադմինիստրատորի թույլտվություն
հաղորդակցվել Ethernet բեռնիչների հետ
Linux՝ Ubuntu 20.04 LTS-ից մինչև 24 (բոլոր x64 և arm64 տարբերակները)
Kernel headers և libpopt-dev փաթեթ Profinet DCP: CAP_NET_ADMIN և CAP_NET_RAW հնարավորություններ
կապեր CANopen: Ixxat ECI դրայվեր կամ Peak PCAN-USB ադապտեր EtherCat: CAP_NET_ADMIN, CAP_NET_RAW և
CAP_SYS_NICE RESTful ունակություններ՝ CAP_NET_ADMIN հաղորդակցվելու ունակություն Eth-ի հետ։
ernet բեռնիչներ (նաև խորհուրդ է տրվում՝ CAP_NET_RAW)
Լեզու, դաշտային ավտոբուսային ադապտերներ, մալուխներ
C++ GCC 7 կամ ավելի բարձր (Linux)
EtherCAT՝ Ethernet մալուխ VCP / USB հանգույց՝ այժմ միատարր USB USB զանգվածային պահեստ՝ USB մալուխ REST՝ Ethernet մալուխ CANopen՝ Ixxat USB-ից CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB ադապտեր arm64-ի վրա Ubuntu-ի համար Ixxat աջակցություն չկա
Modbus RTU: Nanotec ZK-USB-RS485-1 կամ համարժեք ադապտեր; USB մալուխ վիրտուալ կոմ պորտի (VCP) վրա
Modbus TCP: Ethernet մալուխ՝ ըստ ապրանքի տվյալների թերթիկի
2.2 Նախատեսված օգտագործում և լսարան
NanoLib-ը ծրագրերի գրադարան և ծրագրային բաղադրիչ է Nanotec կարգավորիչների շահագործման և հաղորդակցման համար արդյունաբերական կիրառությունների լայն շրջանակում և միայն պատշաճ հմուտ ծրագրավորողների համար:
Իրական ժամանակում աշխատելու անկարող սարքավորումների (PC) և օպերացիոն համակարգի պատճառով, NanoLib-ը նախատեսված չէ այն ծրագրերում օգտագործելու համար, որոնք պահանջում են համաժամանակյա բազմաառանցքային շարժում կամ ընդհանուր առմամբ ժամանակի նկատմամբ զգայուն են։
Ոչ մի դեպքում չեք կարող NanoLib-ը որպես անվտանգության բաղադրիչ ինտեգրել որևէ ապրանքի կամ համակարգի մեջ: Վերջնական օգտագործողներին մատակարարելիս դուք պետք է Nanotec-ի կողմից արտադրված բաղադրիչ ունեցող յուրաքանչյուր ապրանքի վրա ավելացնեք համապատասխան նախազգուշացնող ծանուցումներ և հրահանգներ անվտանգ օգտագործման և անվտանգ շահագործման համար: Դուք պետք է Nanotec-ի կողմից թողարկված բոլոր նախազգուշացնող ծանուցումները փոխանցեք անմիջապես վերջնական օգտագործողին:
2.3 Առաքման շրջանակը և երաշխիքը
NanoLib-ը գալիս է որպես *.zip պանակ մեր ներբեռնումից webկայք կամ EMEA / APAC կամ ԱՄԵՐԻԿԱ համար: Նախքան կարգավորումը պատշաճ կերպով պահեք և բացեք ձեր ներբեռնումը: NanoLib փաթեթը պարունակում է.
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
5
2 Նախքան սկսելը
Ինտերֆեյսի վերնագրերը որպես աղբյուրի կոդ (API)
Հիմնական ֆունկցիաները որպես գրադարաններ երկուական ձևաչափով՝ նանո-
Գրադարաններ, որոնք նպաստում են հաղորդակցությանը. nanolibm_ lib.dll
[yourfieldbus].dll և այլն։Exampնախագիծը։ Նախկինample.sln (Visual Studio)
նախագիծ) և նախկինample.cpp (գլխավոր file)
Երաշխիքի շրջանակի համար խնդրում ենք հետևել ա) մեր պայմաններին՝ EMEA/APAC կամ AMERICA-ի համար, և բ) բոլոր լիցենզիայի պայմաններին։ Նշում. Nanotec-ը պատասխանատվություն չի կրում երրորդ կողմի սարքավորումների թերի կամ անպատշաճ որակի, մշակման, տեղադրման, շահագործման, օգտագործման և սպասարկման համար։ Անվտանգության նկատառումներից ելնելով՝ միշտ հետևեք OEM-ի գործող հրահանգներին։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
6
NanoLib ճարտարապետությունը
NanoLib-ի մոդուլային ծրագրային կառուցվածքը թույլ է տալիս ազատորեն կարգավորելի շարժիչի կարգավորիչի / դաշտային ավտոբուսի գործառույթները կազմակերպել խիստ նախապես կառուցված միջուկի շուրջ: NanoLib-ը պարունակում է հետևյալ մոդուլները.
Օգտվողի միջերես (API)
NanoLib միջուկը
Ինտերֆեյս և օգնական դասեր, որոնք գրադարաններ, որոնք
Հաղորդակցման գրադարաններ Fieldbus-ի հատուկ գրադարաններ, որոնք
մուտք գործել ձեր վերահսկիչի ներդրման API ֆունկցիոնալությունը, կատարել միջերես NanoLib-ի միջև
OD (օբյեկտների բառարան)
շփվել ավտոբուսային գրադարանների հետ:
հիմնական և ավտոբուսային սարքավորումներ:
հիմնված է NanoLib հիմնական ֆունկցիայի վրա
ազգայինություններ.
3.1 Օգտագործողի միջերես
Օգտվողի միջերեսը բաղկացած է վերնագրի միջերեսից files-ը կարող եք օգտագործել կառավարիչի պարամետրերին մուտք գործելու համար: Classes / functions հղումում նկարագրված օգտագործողի ինտերֆեյսի դասերը թույլ են տալիս ձեզ՝
Միացրեք և՛ սարքավորմանը (դաշտային ավտոբուսի ադապտեր), և՛ կառավարիչ սարքին: Մուտք գործեք սարքի արտաքին դիագրամին՝ կառավարիչի պարամետրերը կարդալու/գրելու համար:
3.2 NanoLib միջուկ
NanoLib միջուկը գալիս է nanolib.lib ներմուծման գրադարանով։ Այն իրականացնում է օգտագործողի ինտերֆեյսի ֆունկցիոնալությունը և պատասխանատու է հետևյալի համար.
Հաղորդակցման գրադարանների բեռնում և կառավարում: NanoLibAccessor-ում օգտագործողի ինտերֆեյսի ֆունկցիոնալությունների ապահովում: Այս հաղորդակցման մուտքի կետը
տուգանում է մի շարք գործողությունների, որոնք կարող եք կատարել NanoLib հիմնական և հաղորդակցման գրադարաններում:
3.3 Կապի գրադարաններ
Բացի nanotec.services.nanolib.dll-ից (օգտակար ձեր ընտրովի Plug & Drive Studio-ի համար), NanoLib-ն առաջարկում է կապի հետևյալ գրադարանները.
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Բոլոր գրադարանները դնում են ապարատային աբստրակցիոն շերտ միջուկի և վերահսկիչի միջև: Միջուկը բեռնում է դրանք գործարկման ժամանակ նշանակված նախագծի թղթապանակից և օգտագործում դրանք վերահսկիչի հետ համապատասխան արձանագրության միջոցով կապ հաստատելու համար:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
7
Սկսում ենք
Կարդացեք, թե ինչպես պատշաճ կերպով կարգավորել NanoLib-ը ձեր օպերացիոն համակարգի համար և ինչպես անհրաժեշտության դեպքում միացնել սարքաշարը:
4.1 Պատրաստեք ձեր համակարգը
Ադապտերի դրայվերները տեղադրելուց առաջ նախ պատրաստեք ձեր համակարգիչը օպերացիոն համակարգի հետ։ Համակարգիչը Windows օպերացիոն համակարգի հետ նախապատրաստելու համար տեղադրեք MS Visual Studio-ն C++ ընդլայնումներով։ Linux Bash-ի միջոցով make և gcc տեղադրելու համար օգտագործեք sudo apt install build-essentials հրամանը։ Այնուհետև միացրեք CAP_NET_ADMIN, CAP_NET_RAW և CAP_SYS_NICE հնարավորությունները NanoLib օգտագործող ծրագրի համար. 1. Կանչեք sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip' հրամանը։
անունը>. 2. Միայն դրանից հետո տեղադրեք ձեր ադապտերների դրայվերները:
4.2 Տեղադրեք Ixxat ադապտերի դրայվերը Windows-ի համար
Միայն դրայվերի պատշաճ տեղադրումից հետո կարող եք օգտագործել Ixxat-ի USB-to-CAN V2 ադապտերը: Կարդացեք USB կրիչների ձեռնարկը՝ իմանալու համար, թե արդյոք ակտիվացնել վիրտուալ կոմպորտը (VCP): 1. Ներբեռնեք և տեղադրեք Ixxat-ի VCI 4 դրայվերը Windows-ի համար՝ www.ixxat.com2. Միացրեք Ixxat-ի USB-to-CAN V2 կոմպակտ ադապտերը համակարգչին USB-ի միջոցով։ 3. Սարքերի կառավարչի միջոցով. Ստուգեք, թե արդյոք դրայվերը և ադապտերը պատշաճ կերպով տեղադրված/ճանաչված են։
4.3 Տեղադրեք Peak ադապտերի դրայվերը Windows-ի համար
Միայն դրայվերի պատշաճ տեղադրումից հետո կարող եք օգտագործել Peak-ի PCAN-USB ադապտերը: Կարդացեք USB կրիչների ձեռնարկը՝ իմանալու համար, թե արդյոք ակտիվացնել վիրտուալ կոմպորտը (VCP): 1. Ներբեռնեք և տեղադրեք Windows սարքի դրայվերի տեղադրման փաթեթը (= տեղադրման փաթեթ՝ սարքի դրայվերներով, գործիքներով և այլն):
API-ներ)՝ http://www.peak-system.com2. Միացրեք Peak-ի PCAN-USB ադապտերը համակարգչին USB-ի միջոցով։ 3. Սարքերի կառավարչի միջոցով. Ստուգեք, թե արդյոք դրայվերը և ադապտերը պատշաճ կերպով տեղադրված/ճանաչված են։
4.4 Տեղադրեք Ixxat ադապտերի դրայվերը Linux-ի համար
Միայն դրայվերի պատշաճ տեղադրումից հետո կարող եք օգտագործել Ixxat-ի USB-to-CAN V2 ադապտերը: Նշում. Այլ աջակցվող ադապտերների համար անհրաժեշտ են ձեր թույլտվությունները՝ sudo chmod +777/dev/ttyACM* (* սարքի համարը) հրամանով: Կարդացեք USB կրիչների արտադրանքի ձեռնարկը՝ իմանալու համար, թե արդյոք ակտիվացնել վիրտուալ կոմպորտը (VCP): 1. Տեղադրեք ECI դրայվերի և ցուցադրական ծրագրի համար անհրաժեշտ ծրագրակազմը.
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Ներբեռնեք ECI-for-Linux դրայվերը www.ixxat.com կայքից: Բացեք այն հետևյալ կերպ՝
Բացեք eci_driver_linux_amd64.zip ֆայլը
3. Տեղադրեք դրայվերը՝
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Ստուգեք դրայվերի հաջող տեղադրումը՝ կոմպիլացնելով և գործարկելով ցուցադրական ծրագիրը։
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
8
4 Սկսել
4.5 Տեղադրեք Peak ադապտերի դրայվերը Linux-ի համար
Միայն դրայվերի պատշաճ տեղադրումից հետո կարող եք օգտագործել Peak-ի PCAN-USB ադապտերը: Նշում. Այլ աջակցվող ադապտերների համար անհրաժեշտ են ձեր թույլտվությունները՝ sudo chmod +777/dev/ttyACM* (* սարքի համարը) հրամանով: Կարդացեք USB սկավառակների ձեռնարկը՝ իմանալու համար, թե արդյոք ակտիվացնել վիրտուալ կոմպորտը (VCP): 1. Ստուգեք, թե արդյոք ձեր Linux-ը ունի միջուկի վերնագրեր՝ ls /usr/src/linux-headers-`uname -r`: Եթե ոչ, տեղադրեք
them: sudo apt-get install linux-headers-`uname -r` 2. Միայն հիմա տեղադրեք libpopt-dev փաթեթը՝ sudo apt-get install libpopt-dev 3. Ներբեռնեք անհրաժեշտ դրայվերների փաթեթը (peak-linux-driver-xxx.tar.gz) www.peak-system.com կայքից։ 4. Այն բացելու համար օգտագործեք՝ tar xzf peak-linux-driver-xxx.tar.gz 5. Բացված թղթապանակում՝ Կազմեք և տեղադրեք դրայվերները, PCAN բազային գրադարանը և այլն՝ make all
sudo make install 6. Գործառույթը ստուգելու համար միացրեք PCAN-USB ադապտերը։
ա) Ստուգեք միջուկի մոդուլը.
lsmod | grep pcan b) … և համօգտագործվող գրադարանը՝
ls -l /usr/lib/libpcan*
Նշում. Եթե USB3-ի հետ կապված խնդիրներ են առաջանում, օգտագործեք USB2 միացք։
4.6 Միացրեք ձեր սարքավորումը
NanoLib նախագիծը գործարկելու համար միացրեք համատեղելի Nanotec կառավարիչը համակարգչին՝ օգտագործելով ձեր ադապտերը։ 1. Համապատասխան մալուխով միացրեք ձեր ադապտերը կառավարչին։ 2. Միացրեք ադապտերը համակարգչին՝ համաձայն ադապտերի տվյալների թերթիկի։ 3. Միացրեք կառավարիչը՝ օգտագործելով համապատասխան սնուցման աղբյուր։ 4. Անհրաժեշտության դեպքում փոխեք Nanotec կառավարիչի կապի կարգավորումները՝ համաձայն դրա ձեռնարկում նշվածի։
4.7 Բեռնել NanoLib
Արագ և հեշտ հիմունքներով առաջին սկսելու համար դուք կարող եք (բայց ոչ) օգտագործել մեր նախկինըampնախագիծը։ 1. Կախված ձեր տարածաշրջանից. Ներբեռնեք NanoLib-ը մեր կողմից webկայք կամ EMEA / APAC-ի կամ ԱՄԵՐԻԿԱ-ի համար: 2. Անջատեք փաթեթը files / թղթապանակներ և ընտրեք մեկ տարբերակ. Արագ և հեշտ հիմունքների համար տե՛ս Սկսել նախկինըample նախագիծը։ Windows-ում առաջադեմ կարգավորման համար. տե՛ս Ձեր սեփական Windows նախագծի ստեղծումը։ Linux-ում առաջադեմ կարգավորման համար. տե՛ս Ձեր սեփական Linux նախագծի ստեղծումը։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
9
Սկսած նախկինampնախագիծը
Երբ NanoLib-ը պատշաճ կերպով բեռնված է, նախկինample նախագիծը ցույց է տալիս NanoLib-ի օգտագործումը Nanotec կարգավորիչով: Նշում. Յուրաքանչյուր քայլի համար մեկնաբանությունները տրված օրինակումample code-ը բացատրում է օգտագործվող գործառույթները: Նախկինampնախագիծը բաղկացած է՝ `*_functions_ex-իցampլե.*' files, որոնք պարունակում են NanoLib ինտերֆեյսի ֆունկցիաների իրականացումները՝ `*_callback_exampլե.*' files, որոնք պարունակում են տարբեր հետադարձ զանգերի իրականացումներ (սկանավորում, տվյալներ և
գրանցում) `menu_*.*'-ը file, որը պարունակում է մենյուի տրամաբանությունը և Ex-ի կոդըampլե.* file, որը հիմնական ծրագիրն է, որը ստեղծում է մենյուն և նախնականացնում է S-ի բոլոր օգտագործված պարամետրերը։ampler_exampլե.* file, որը պարունակում է նախկինըample իրականացում s-ի համարampler-ի օգտագործումը։ Դուք կարող եք գտնել ավելի շատ օրինակներampտարբեր աշխատանքային ռեժիմների համար նախատեսված որոշ շարժման հրամաններով, կարող եք գտնել nanotec.com կայքի գիտելիքների բազայում։ Բոլորը կարող են օգտագործվել Windows-ում կամ Linux-ում։
Windows-ում Visual Studio-ով 1. Բացեք Ex-ըample.sln file2. Բացեք նախկինըample.cpp. 3. Կոմպիլացրեք և գործարկեք ex-ըampծածկագիրը:
Linux-ում՝ Bash-ի միջոցով 1. Բացեք աղբյուրը zip ֆայլից file, անցեք բացված պարունակությամբ թղթապանակին։ Հիմնականը file նախկինի համարample is
example.cpp. 2. bash-ում կանչեք՝
ա. «sudo make install»՝ համօգտագործվող օբյեկտները պատճենելու և ldconfig կանչելու համար։ բ. «make all»՝ թեստային կատարվող ֆայլը կառուցելու համար։ 3. bin պանակը պարունակում է կատարվող ֆայլ, օրինակ՝ample filebash-ի միջոցով՝ անցեք ելքային թղթապանակ և մուտքագրեք ./exampօրինակ՝ եթե սխալ չի առաջանում, ապա ձեր համօգտագործվող օբյեկտները պատշաճ կերպով տեղադրված են, և ձեր գրադարանը պատրաստ է օգտագործման: Եթե սխալը կարդում է ./example: սխալ համօգտագործվող գրադարանները բեռնելիս. libnanolib.so: հնարավոր չէ բացել համօգտագործվող օբյեկտը fileՆման չկա file կամ գրացուցակում, համօգտագործվող օբյեկտների տեղադրումը ձախողվեց: Այս դեպքում հետևեք հաջորդ քայլերին: 4. Ստեղծեք նոր թղթապանակ /usr/local/lib-ում (անհրաժեշտ են ադմինիստրատորի իրավունքներ): bash-ում մուտքագրեք հետևյալը՝
sudo mkdir /usr/local/lib/nanotec
5. Պատճենեք բոլոր համօգտագործվող օբյեկտները zip արխիվից file-ի lib թղթապանակը՝
տեղադրել ./lib/*.so /usr/local/lib/nanotec/
6. Ստուգեք նպատակային թղթապանակի պարունակությունը հետևյալ կերպ.
ls -al /usr/local/lib/nanotec/
Այն պետք է թվարկի համօգտագործվող օբյեկտը files-ը lib թղթապանակից։ 7. Գործարկեք ldconfig-ը այս թղթապանակի վրա։
sudo ldconfig /usr/local/lib/nanotec/
Նախկինample-ն ներդրված է որպես CLI հավելված և ապահովում է մենյուի ինտերֆեյս։ Մենյուի գրառումները համատեքստային են և կարող են միացվել կամ անջատվել՝ կախված համատեքստի վիճակից։ Դրանք ձեզ հնարավորություն են տալիս ընտրել և կատարել գրադարանի տարբեր գործառույթներ՝ հետևելով կառավարիչի հետ աշխատելու բնորոշ աշխատանքային հոսքին. 1. Ստուգեք համակարգիչը միացված սարքավորումների (ադապտերների) համար և ցուցակագրեք դրանք։ 2. Հաստատեք կապ ադապտերի հետ։ 3. Սկանավորեք ավտոբուսը՝ միացված կառավարիչ սարքերի համար։ 4. Միացեք սարքին։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
10
5 Սկսած նախկինampնախագիծը
5. Գրադարանի մեկ կամ մի քանի ֆունկցիաների փորձարկում՝ կարդալ/գրել կառավարիչի օբյեկտային բառարանից/բեռնել, թարմացնել ներկառուցված ծրագիրը, վերբեռնել և գործարկել NanoJ ծրագիրը, աշխատեցնել շարժիչը և կարգավորել այն, կարգավորել և օգտագործել գրանցումները։ampլեր
6. Փակեք միացումը՝ նախ սարքին, ապա ադապտերին։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
11
Ստեղծեք ձեր սեփական Windows նախագիծը
Ստեղծեք, կազմեք և գործարկեք ձեր սեփական Windows նախագիծը՝ NanoLib-ն օգտագործելու համար։
6.1 NanoLib-ի ներմուծում
Ներմուծեք NanoLib վերնագիրը files-ը և գրադարանները MS Visual Studio-ի միջոցով։
1. Բացեք Visual Studio-ն։ 2. Create new project > Console App C++ > Next-ի միջոցով ընտրեք նախագծի տեսակը։ 3. Անվանեք ձեր նախագիծը (այստեղ՝ NanolibTest)՝ Solution Explorer-ում նախագծի թղթապանակ ստեղծելու համար։ 4. Ընտրեք Finish (Ավարտել)։ 5. Բացեք պատուհանները։ file Explorer-ում և անցեք նոր ստեղծված նախագծի թղթապանակին։ 6. Ստեղծեք երկու նոր թղթապանակ՝ inc և lib։ 7. Բացեք NanoLib փաթեթի թղթապանակը։ 8. Այնտեղից՝ պատճենեք վերնագիրը files-ը include պանակից տեղափոխեք ձեր նախագծի inc պանակը և բոլոր .lib և .dll ֆայլերը։
files դեպի ձեր նոր նախագծի թղթապանակը՝ lib. 9. Ստուգեք ձեր նախագծի թղթապանակը պատշաճ կառուցվածքի համար, օրինակ՝ampլե:
ect թղթապանակ՝ պատշաճ կառուցվածքի համար.
NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vcxproj.user NanolibTest.sln
6.2 Կարգավորեք ձեր նախագիծը
Օգտագործեք MS Visual Studio-ի Solution Explorer-ը՝ NanoLib նախագծերը կարգավորելու համար: Նշում. NanoLib-ի ճիշտ աշխատանքի համար Visual C++ նախագծի կարգավորումներում ընտրեք թողարկման (ոչ թե վրիպազերծման) կոնֆիգուրացիան, այնուհետև կառուցեք և կապեք նախագիծը C++ վերաբաշխվող ֆայլերի VC կատարման ժամանակների հետ [2022]:
1. Լուծումների հետազոտիչում. Մտեք ձեր նախագծի թղթապանակ (այստեղ՝ NanolibTest): 2. Համատեղ սեղմեք թղթապանակի վրա՝ համատեքստային մենյուն բացելու համար: 3. Ընտրեք Հատկություններ: 4. Ակտիվացրեք Բոլոր կարգավորումները և Բոլոր հարթակները: 5. Ընտրեք C/C++ և անցեք Լրացուցիչ ներառման տեղեկատուներ: 6. Տեղադրեք՝ $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Ընտրեք Կապող և անցեք Լրացուցիչ գրադարանի տեղեկատուներ: 8. Տեղադրեք՝ $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Ընդարձակեք Կապող և ընտրեք Մուտք: 10. Անցեք Լրացուցիչ կախվածություններ և տեղադրեք՝ nanolib.lib;%(AdditionalDependencies) 11. Հաստատեք՝ սեղմելով OK:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
12
6 Ստեղծեք ձեր սեփական Windows նախագիծը
12. Անցեք Configuration > C++ > Language > Language Standard > ISO C++17 Standard և լեզվի ստանդարտը սահմանեք C++17 (/std:c++17):
6.3 Կառուցեք ձեր նախագիծը
Կառուցեք ձեր NanoLib նախագիծը MS Visual Studio-ում: 1. Բացեք հիմնական *.cpp ֆայլը: file (այստեղ՝ nanolib_example.cpp) և անհրաժեշտության դեպքում խմբագրեք կոդը։ 2. Ընտրեք Build > Configuration Manager։ 3. Active solution platforms-ը փոխեք x64-ի։ 4. Հաստատեք՝ Close (Փակել) կոճակով։ 5. Ընտրեք Build > Build solution (Կառուցել լուծում)։ 6. Սխալ չկա՞։ Ստուգեք, թե արդյոք ձեր կոմպիլյացիայի արդյունքը պատշաճ կերպով ցույց է տալիս.
1>—— Մաքրումը սկսվել է. Նախագիծ՝ NanolibTest, Կարգավորում՝ Debug x64 —–========== Մաքրում՝ 1 հաջողված, 0 ձախողված, 0 բաց թողնված ===========
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
13
7 Ստեղծեք ձեր սեփական Linux նախագիծը
7 Ստեղծեք ձեր սեփական Linux նախագիծը
Ստեղծեք, կազմեք և գործարկեք ձեր սեփական Linux նախագիծը՝ NanoLib-ն օգտագործելու համար: 1. NanoLib-ի բացված տեղադրման հավաքածուում. Բացեք /nanotec_nanolib. 2. Գտեք բոլոր համատեղ օգտագործվող օբյեկտները tar.gz ֆայլում file3. Ընտրեք մեկ տարբերակ. Տեղադրեք յուրաքանչյուր lib-ը կամ Make-ովfile կամ ձեռքով։
7.1 Տեղադրեք համօգտագործվող օբյեկտները Make-ի միջոցովfile
Օգտագործեք Makefile Linux Bash-ի միջոցով ավտոմատ կերպով տեղադրել բոլոր լռելյայն *.so ֆայլերը file1. Bash-ի միջոցով. անցեք այն թղթապանակին, որը պարունակում է make-ըfile2. Համօգտագործվող օբյեկտները պատճենեք հետևյալի միջոցով՝
sudo make install 3. Հաստատեք հետևյալ կերպ՝
ldconfig
7.2 Տեղադրեք համօգտագործվող օբյեկտները ձեռքով
Օգտագործեք Bash-ը՝ բոլոր *.so-ները տեղադրելու համար fileNanoLib-ի s-ը ձեռքով։ 1. Bash-ի միջոցով. Ստեղծեք նոր թղթապանակ /usr/local/lib-ում։ 2. Անհրաժեշտ են ադմինիստրատորի իրավունքներ։ Մուտքագրեք՝
sudo mkdir /usr/local/lib/nanotec 3. Անցեք բացված տեղադրման փաթեթի թղթապանակ։ 4. Պատճենեք բոլոր համօգտագործվող օբյեկտները lib թղթապանակից հետևյալ կերպ.
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Ստուգեք թիրախային թղթապանակի պարունակությունը հետևյալ կերպ՝
ls -al /usr/local/lib/nanotec/ 6. Ստուգեք, թե արդյոք lib թղթապանակի բոլոր համօգտագործվող օբյեկտները ցուցակագրված են։ 7. Գործարկեք ldconfig-ը այս թղթապանակի վրա հետևյալ կերպ՝
sudo ldconfig /usr/local/lib/nanotec/
7.3 Ստեղծեք ձեր նախագիծը
Ձեր համօգտագործվող օբյեկտները տեղադրված լինելով՝ ստեղծեք նոր նախագիծ ձեր Linux NanoLib-ի համար։ 1. Bash-ի միջոցով՝ ստեղծեք նոր նախագծի թղթապանակ (այստեղ՝ NanoLibTest)՝ հետևյալի միջոցով։
mkdir NanoLibTest cd NanoLibTest
2. Պատճենեք վերնագիրը files դեպի include թղթապանակ (այստեղ՝ inc)՝ mkdir inc cp / միջոցով։ FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Ստեղծեք հիմնական file (NanoLibTest.cpp) միջոցով՝ #include “accessor_factory.hpp” #include
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
14
7 Ստեղծեք ձեր սեփական Linux նախագիծը
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds արդյունք = accessor->listAvailableBusHardware();
եթե(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << “Հաջողություն” << std::endl; }
ջնջել մուտքագրողը; վերադարձնել 0; }
4. Ստուգեք ձեր նախագծի թղթապանակը պատշաճ կառուցվածքի համար։

NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Կոմպիլացրեք և փորձարկեք ձեր նախագիծը
Պատրաստ դարձրեք ձեր Linux NanoLib-ը օգտագործման համար Bash-ի միջոցով։
1. Bash-ի միջոցով. Կոմպիլացրեք main-ը file միջոցով:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Կապեք կատարվող ֆայլը միմյանց հետ հետևյալ կերպ՝
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Գործարկեք թեստային ծրագիրը հետևյալ կերպ՝
./փորձարկում
4. Ստուգեք, թե արդյոք ձեր Bash-ը պատշաճ կերպով հաղորդում է.
հաջողություն
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
15
8 Դասերի / գործառույթների հղում
8 Դասերի / գործառույթների հղում
Գտեք այստեղ NanoLib-ի ինտերֆեյսի դասերի և դրանց անդամի գործառույթների ցանկը: Ֆունկցիայի բնորոշ նկարագրությունը ներառում է կարճ ներածություն, ֆունկցիայի սահմանում և պարամետր/վերադարձ ցուցակ.
ExampleFunction () համառոտ պատմում է, թե ինչ է անում ֆունկցիան:
վիրտուալ դատարկություն nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)
Պարամետրեր param_a param_b
Վերադարձնում է ResultVoid-ը
Անհրաժեշտության դեպքում լրացուցիչ մեկնաբանություն: Անհրաժեշտության դեպքում լրացուցիչ մեկնաբանություն:
8.1 NanoLibAccessor
Ինտերֆեյսի դաս, որն օգտագործվում է որպես NanoLib-ի մուտքի կետ: Տիպիկ աշխատանքային հոսքը հետևյալն է.
1. Սկսեք սկանավորելով սարքաշար NanoLibAccessor.listAvailableBusHardware (): 2. Սահմանեք հաղորդակցման կարգավորումները BusHardwareOptions-ի միջոցով (): 3. Բացեք ապարատային կապը NanoLibAccessor.openBusHardwareWithProtocol-ով (): 4. NanoLibAccessor.scanDevices-ի միջոցով սկանավորեք ավտոբուսը միացված սարքերի համար: 5. Սարք ավելացրեք NanoLibAccessor.addDevice (): 6. Սարքին միացեք NanoLibAccessor.connectDevice () միջոցով: 7. Գործողությունն ավարտելուց հետո սարքը անջատեք NanoLibAccessor.disconnectDevice-ի միջոցով (): 8. Հեռացրեք սարքը NanoLibAccessor.removeDevice (): 9. Փակեք ապարատային կապը NanoLibAccessor.closeBusHardware ():
NanoLibAccessor-ն ունի հանրային անդամի հետևյալ գործառույթները.
listAvailableBusHardware () Օգտագործեք այս ֆունկցիան՝ առկա դաշտային ապարատը ցուցակելու համար:
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
Վերադարձնում է ResultBusHwIds
Ապահովում է fieldbus ID զանգված:
openBusHardwareWithProtocol () Օգտագործեք այս ֆունկցիան ավտոբուսի սարքաշարը միացնելու համար:
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
Պարամետրեր busHwId busHwOpt
Վերադարձնում է ResultVoid-ը
Նշում է դաշտային ավտոբուսը, որը պետք է բացվի: Նշում է դաշտային ավտոբուսի բացման տարբերակները: Հաստատում է, որ void ֆունկցիան գործարկվել է:
isBusHardwareOpen () Օգտագործեք այս ֆունկցիան՝ ստուգելու համար, թե արդյոք ձեր fieldbus ապարատային կապը բաց է:
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
16
8 Դասերի / գործառույթների հղում
Պարամետրեր BusHardwareId Վերադարձնում է ճշմարիտ
կեղծ
Նշում է յուրաքանչյուր դաշտային ավտոբուս բացելու համար: Սարքավորումը բաց է։ Սարքավորումը փակ է։
getProtocolSpecificAccessor () Օգտագործեք այս գործառույթը՝ արձանագրության հատուկ աքսեսուարի օբյեկտը ստանալու համար:
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
Պարամետրեր busHwId Վերադարձնում է ResultVoid
Նշում է դաշտային ավտոբուսը, որի համար հասանելի է աքսեսուարը: Հաստատում է, որ void ֆունկցիան գործարկվել է:
getProfinetDCP () Օգտագործեք այս ֆունկցիան Profinet DCP միջերեսին հղում վերադարձնելու համար:
վիրտուալ ProfinetDCP և getProfinetDCP ()
Վերադարձնում է ProfinetDCP
ստանալՍamplerInterface () Օգտագործեք այս ֆունկցիան s-ին հղում ստանալու համարampler ինտերֆեյս.
վիրտուալ ՍamplerInterface և getSamplerԻնտերֆեյս ()
Վերադարձնում է ՍamplerԻնտերֆեյս
Անդրադառնում է սampler ինտերֆեյսի դաս.
setBusState () Օգտագործեք այս գործառույթը ավտոբուսի պրոտոկոլի հատուկ վիճակը սահմանելու համար:
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)
Պարամետրեր busHwId վիճակ
Վերադարձնում է ResultVoid-ը
Նշում է դաշտային ավտոբուսը, որը պետք է բացվի: Որպես լարային արժեք վերագրում է ավտոբուսին հատուկ վիճակ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
scanDevices () Օգտագործեք այս գործառույթը՝ ցանցում սարքեր փնտրելու համար:
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)
Պարամետրեր busHwId հետ կանչ
Վերադարձնում է ResultDeviceIds IOError
Նշում է դաշտային ավտոբուսը սկանավորման համար: NlcScanBusCallback առաջընթացի հետագծում: Ապահովում է սարքի ID զանգված: Տեղեկացնում է, որ սարք չի գտնվել։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
17
8 Դասերի / գործառույթների հղում
ավելացնելՍարք()
Օգտագործեք այս ֆունկցիան՝ deviceId-ով նկարագրված ավտոբուսային սարքը NanoLib-ի ներքին սարքերի ցանկին ավելացնելու և դրա փոխարեն deviceHandle վերադարձնելու համար։
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)
Պարամետրեր deviceId-ը վերադարձնում է ResultDeviceHandle
Նշում է սարքը, որը պետք է ավելացնել ցանկին: Ապահովում է սարքի բռնակ:
connectDevice () Օգտագործեք այս գործառույթը սարքը սարքի միջոցով միացնելու համար:
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Returns ResultVoid
IO-ի սխալ
Նշում է, թե որ ավտոբուսային սարքին է միանում NanoLib-ը: Հաստատում է, որ void ֆունկցիան գործարկվել է: Տեղեկացնում է, որ սարք չի գտնվել։
getDeviceName () Օգտագործեք այս գործառույթը սարքի անունը սարքի անունն ըստ սարքի ձեռքբերման համար ստանալու համար:
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Վերադարձնում ResultString
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարքի անունը ստանում է: Ապահովում է սարքերի անունները որպես տող:
getDeviceProductCode () Օգտագործեք այս գործառույթը՝ սարքի արտադրանքի կոդը սարքի սարքի միջոցով ձեռք բերելու համար:
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Returns ResultInt
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում ապրանքի կոդը: Ներկայացնում է ապրանքի կոդերը որպես ամբողջ թիվ:
getDeviceVendorId () Օգտագործեք այս գործառույթը՝ սարքի վաճառողի ID-ն սարքի ձեռքբերման միջոցով սարքի ձեռքբերման համար:
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Returns ResultInt
Ռեսուրսն անհասանելի է
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում վաճառողի ID-ն: Մատակարարում է վաճառողի ID-ները որպես ամբողջ թիվ: Տեղեկացնում է, որ տվյալներ չեն գտնվել։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
18
8 Դասերի / գործառույթների հղում
getDeviceId () Օգտագործեք այս գործառույթը՝ NanoLib-ի ներքին ցանկից կոնկրետ սարքի ID-ն ստանալու համար:
վիրտուալ ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Վերադարձնում ResultDeviceId
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում սարքի ID-ն: Ապահովում է սարքի ID:
getDeviceIds () Օգտագործեք այս գործառույթը՝ NanoLib-ի ներքին ցանկից բոլոր սարքերի ID-ն ստանալու համար:
վիրտուալ ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
Վերադարձնում է ResultDeviceIds-ը
Ապահովում է սարքի նույնականացման ցուցակը:
getDeviceUid () Օգտագործեք այս ֆունկցիան՝ սարքի եզակի ID-ն (96 բիթ / 12 բայթ) սարքի սարքի միջոցով ստանալու համար:
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Վերադարձնում ResultArrayByte
Ռեսուրսն անհասանելի է
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում եզակի ID: Ներկայացնում է եզակի ID-ներ որպես բայթ զանգված: Տեղեկացնում է, որ տվյալներ չեն գտնվել։
getDeviceSerialNumber () Օգտագործեք այս գործառույթը՝ սարքի սերիական համարը սարքի սարքի միջոցով ձեռք բերելու համար:
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Վերադարձնում ResultString
Ռեսուրսն անհասանելի է
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում սերիական համարը: Տրամադրում է սերիական համարները որպես տող: Տեղեկացնում է, որ տվյալներ չեն գտնվել։
getDeviceHardwareGroup () Օգտագործեք այս գործառույթը ավտոբուսի սարքի ապարատային խումբը ըստ deviceHandle-ի ստանալու համար:
վիրտուալ ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Returns ResultInt
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում ապարատային խումբը:
Ապահովում է ապարատային խմբերը որպես ամբողջ թիվ:
getDeviceHardwareVersion () Օգտագործեք այս ֆունկցիան՝ սարքի սարքաշարի տարբերակը սարքի միջոցով ստանալու համար:
վիրտուալ ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
19
8 Դասերի / գործառույթների հղում
Պարամետրեր սարքի բռնակ
Վերադարձնում է
ResultString ռեսուրսը անհասանելի է
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում ապարատային տարբերակը: Ապահովում է սարքերի անունները որպես տող: Տեղեկացնում է, որ տվյալներ չեն գտնվել։
getDeviceFirmwareBuildId () Օգտագործեք այս ֆունկցիան՝ սարքի սարքի որոնվածի կառուցման ID-ն սարքի կողմից սարքի Handle-ով ստանալու համար:
վիրտուալ ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Վերադարձնում ResultString
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է ստանում որոնվածի կառուցման ID-ն:
Ապահովում է սարքերի անունները որպես տող:
getDeviceBootloaderVersion () Օգտագործեք այս ֆունկցիան՝ սարքի բեռնախցիկի տարբերակը սարքի միջոցով ստանալու համար:
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
Պարամետրեր սարքի բռնակ
Վերադարձնում է
ResultInt ռեսուրսը անհասանելի է
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում bootloader տարբերակը: Տրամադրում է bootloader տարբերակները որպես ամբողջ թիվ: Տեղեկացնում է, որ տվյալներ չեն գտնվել։
getDeviceBootloaderBuildId () Օգտագործեք այս ֆունկցիան՝ սարքի սարքի բեռնիչի կառուցման ID-ն սարքի կողմից սարքի ձեռքբերման համար:
վիրտուալ ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Վերադարձնում ResultString
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում bootloader build ID-ն:
Ապահովում է սարքերի անունները որպես տող:
rebootDevice () Օգտագործեք այս գործառույթը սարքը վերագործարկելու համար deviceHandle-ով:
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Պարամետրեր deviceHandle Returns ResultVoid
Նշում է դաշտային ավտոբուսը, որը պետք է վերագործարկվի: Հաստատում է, որ void ֆունկցիան գործարկվել է:
getDeviceState () Օգտագործեք այս գործառույթը՝ սարքի պրոտոկոլի հատուկ վիճակը ստանալու համար:
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Պարամետրեր սարքի բռնակ
Նշում է, թե NanoLib-ը որ ավտոբուսային սարքի համար է ստանում վիճակը։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
20
8 Դասերի / գործառույթների հղում
Վերադարձնում է ResultString-ը
Ապահովում է սարքերի անունները որպես տող:
setDeviceState () Օգտագործեք այս գործառույթը սարքի պրոտոկոլի հատուկ վիճակը սահմանելու համար:
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)
Պարամետրեր սարքի կառավարման վիճակ
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է սահմանում վիճակը: Որպես լարային արժեք վերագրում է ավտոբուսին հատուկ վիճակ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
getConnectionState ()
Օգտագործեք այս ֆունկցիան՝ deviceHandle (= Disconnected, Connected, ConnectedBootloader) միջոցով որոշակի սարքի վերջին հայտնի միացման վիճակը ստանալու համար։
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Վերադարձնում ResultConnectionState
Նշում է, թե ինչ ավտոբուսային սարքի համար է NanoLib-ը ստանում կապի վիճակը:
Ապահովում է կապի վիճակ (= Անջատված, Միացված, Կապակցված Բեռնախցիկ):
ստուգելՄիացմանՎիճակը ()
Միայն այն դեպքում, եթե վերջին հայտնի վիճակը Անջատված չէր. Օգտագործեք այս ֆունկցիան՝ deviceHandle-ի միջոցով որոշակի սարքի միացման վիճակը ստուգելու և հնարավոր է՝ թարմացնելու և մի քանի ռեժիմին հատուկ գործողություններ փորձարկելու համար։
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Վերադարձնում ResultConnectionState
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է ստուգում կապի վիճակը:
Ապահովում է կապի վիճակ (= ոչ Անջատված):
assignObjectDictionary () Օգտագործեք այս ձեռնարկի գործառույթը, որպեսզի ինքնուրույն վերագրեք առարկայի բառարան (OD) deviceHandle-ին:
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Պարամետրեր deviceHandle objectDictionary
Վերադարձնում է ResultObjectDictionary
Նշում է, թե NanoLib-ի որ ավտոբուսային սարքին է վերագրում OD-ը: Ցույց է տալիս օբյեկտի բառարանի հատկությունները:
autoAssignObjectDictionary ()
Օգտագործեք այս ավտոմատիզմը, որպեսզի NanoLib-ը վերագրի առարկայի բառարան (OD) deviceHandle-ին: Համապատասխան OD գտնելու և բեռնելու դեպքում NanoLib-ն այն ավտոմատ կերպով վերագրում է սարքին: Նշում. Եթե համատեղելի OD-ն արդեն բեռնված է օբյեկտների գրադարանում, NanoLib-ն այն ավտոմատ կերպով կօգտագործի առանց ներկայացված գրացուցակը սկանավորելու:
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
21
8 Դասերի / գործառույթների հղում
Պարամետրեր սարքի բռնակ
Վերադարձնում է
բառարաններԳտնվելուուղի ԱրդյունքՕբյեկտԲառարան
Նշում է, թե որ ավտոբուսային սարքի համար NanoLib-ը պետք է ավտոմատ կերպով սկանավորի համապատասխան OD-ներ: Նշում է OD գրացուցակի ուղին: Ցույց է տալիս օբյեկտի բառարանի հատկությունները:
ստանալ AssignedObjectDictionary ()
Օգտագործեք այս ֆունկցիան՝ deviceHandle-ի կողմից սարքին օբյեկտային բառարանը նշանակելու համար։
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
Բռնակ)
Պարամետրեր deviceHandle Վերադարձնում ResultObjectDictionary
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է ստանում նշանակված OD: Ցույց է տալիս օբյեկտի բառարանի հատկությունները:
getObjectDictionaryLibrary () Այս ֆունկցիան վերադարձնում է OdLibrary հղում:
վիրտուալ OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
Վերադարձնում է OdLibrary&
Բացում է ամբողջ OD գրադարանը և դրա առարկայական բառարանները:
setLoggingLevel () Օգտագործեք այս գործառույթը՝ անհրաժեշտ տեղեկամատյան մանրամասները (և գրանցամատյան file չափը): Կանխադրված մակարդակը Info-ն է:
վիրտուալ դատարկություն nlc::NanoLibAccessor::setLoggingLevel (LogLevel մակարդակ)
Պարամետրերի մակարդակը
Հետևյալ մատյանների մանրամասները հնարավոր են.
0 = Հետք 1 = Վրիպազերծում 2 = Տեղեկություն 3 = Զգուշացում 4 = Սխալ 5 = Կրիտիկական 6 = Անջատված
Ամենացածր մակարդակը (ամենամեծ մատյան file); գրանցում է ցանկացած հնարավոր մանրամասնություն, գումարած ծրագրաշարի մեկնարկը/դադարը: Տեղեկամատյանների վրիպազերծման տեղեկատվությունը (= միջանկյալ արդյունքներ, ուղարկված կամ ստացված բովանդակություն և այլն) Կանխադրված մակարդակ; տեղեկամատյաններ տեղեկատվական հաղորդագրություններ: Գրանցման խնդիրներ, որոնք առաջացել են, բայց չեն կանգնեցնի ընթացիկ ալգորիթմը: Գրանցամատյանները պարզապես լուրջ խնդիրներ են, որոնք դադարեցրել են ալգորիթմը: Ամենաբարձր մակարդակը (ամենափոքր տեղեկամատյան file); անջատում է դուրս գալը; այլևս ոչ մի մուտք: Ընդհանրապես անտառահատումներ չկան:
setLoggingCallback ()
Օգտագործեք այս ֆունկցիան՝ այդ հետկանչի համար գրանցման ցուցիչ և գրանցման մոդուլ (= գրադարան) սահմանելու համար (ոչ թե հենց գրանցման սարքի համար):
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)
Պարամետրեր *callback logModule
Սահմանում է հետկանչի ցուցիչ։ Կարգավորում է հետկանչը (ոչ թե գրանցիչը) ձեր գրադարանին։
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Ակտիվացնում է միայն NanoLib-ի միջուկի համար հետկանչը։ Ակտիվացնում է միայն CANopen-ի համար նախատեսված հետկանչը։ Ակտիվացնում է միայն Modbus-ի համար նախատեսված հետկանչը։ Ակտիվացնում է միայն EtherCAT-ի համար նախատեսված հետկանչը։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
22
8 Դասերի / գործառույթների հղում
4 = NanolibRest 5 = NanolibUSB
Ակտիվացնում է միայն REST-ով հետկանչը։ Ակտիվացնում է միայն USB-ով հետկանչը։
unsetLoggingCallback () Օգտագործեք այս ֆունկցիան՝ չեղարկելու գրանցման հետ կանչի ցուցիչը:
վիրտուալ դատարկություն nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Օգտագործեք այս ֆունկցիան օբյեկտի բառարանից թվային արժեք կարդալու համար:
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Պարամետրեր deviceHandle odIndex
Վերադարձնում է ResultInt
Նշում է, թե որ ավտոբուսային սարքից է կարդում NanoLib-ը: Նշում է (ենթա-) ինդեքսը, որից պետք է կարդալ: Ապահովում է չմեկնաբանված թվային արժեք (կարող է լինել ստորագրված, չստորագրված, ֆիքսել 16.16 բիթ արժեքները):
readNumberArray () Օգտագործեք այս ֆունկցիան օբյեկտների բառարանից թվային զանգվածներ կարդալու համար:
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t ինդեքս)
Պարամետրեր սարքի բռնակ ինդեքս
Վերադարձնում է ResultArrayInt
Նշում է, թե որ ավտոբուսային սարքից է կարդում NanoLib-ը: Զանգվածի օբյեկտի ինդեքս. Ապահովում է ամբողջ թվային զանգված:
readBytes () Օգտագործեք այս ֆունկցիան օբյեկտի բառարանից կամայական բայթեր (տիրույթի օբյեկտի տվյալներ) կարդալու համար:
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Պարամետրեր deviceHandle odIndex
Վերադարձնում է ResultArrayByte-ը
Նշում է, թե որ ավտոբուսային սարքից է կարդում NanoLib-ը: Նշում է (ենթա-) ինդեքսը, որից պետք է կարդալ: Ապահովում է բայթ զանգված:
readString () Օգտագործեք այս ֆունկցիան օբյեկտների գրացուցակից տողերը կարդալու համար:
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Պարամետրեր deviceHandle odIndex
Վերադարձնում է ResultString-ը
Նշում է, թե որ ավտոբուսային սարքից է կարդում NanoLib-ը: Նշում է (ենթա-) ինդեքսը, որից պետք է կարդալ: Ապահովում է սարքերի անունները որպես տող:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
23
8 Դասերի / գործառույթների հղում
writeNumber () Այս ֆունկցիան օգտագործեք օբյեկտի գրացուցակում թվային արժեքներ գրելու համար:
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)
Պարամետրեր deviceHandle արժեքը odIndex bitLength
Վերադարձնում է ResultVoid-ը
Նշում է, թե որ ավտոբուսային սարքին է գրում NanoLib-ը: Չմեկնաբանված արժեքը (կարելի է ստորագրված, չստորագրված, ֆիքսել 16.16): Նշում է (ենթա-) ինդեքսը, որից պետք է կարդալ: Երկարությունը բիթով: Հաստատում է, որ void ֆունկցիան գործարկվել է:
writeBytes () Օգտագործեք այս ֆունկցիան օբյեկտների գրացուցակում կամայական բայթեր (տիրույթի օբյեկտի տվյալներ) գրելու համար:
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & տվյալներ, const OdIndex odIndex)
Պարամետրեր deviceHandle տվյալների odIndex
Վերադարձնում է ResultVoid-ը
Նշում է, թե որ ավտոբուսային սարքին է գրում NanoLib-ը: Բայթ վեկտոր / զանգված: Նշում է (ենթա-) ինդեքսը, որից պետք է կարդալ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
բեռնելFirmware ()
Օգտագործեք այս գործառույթը՝ ձեր կառավարիչի ներկառուցված ծրագիրը թարմացնելու համար։
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector) & fwData, NlcDataTransferCallback* հետադարձ զանգ)
Պարամետրեր սարքի կառավարում fwData NlcDataTransferCallback
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է թարմացվում: Որոնվածը պարունակող զանգված: Տվյալների առաջընթացի հետագծիչ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
uploadFirmware FromFile ()
Օգտագործեք այս գործառույթը՝ ձեր կառավարիչի ներկառուցված ծրագիրը թարմացնելու համար՝ այն վերբեռնելով file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileՈւղի, NlcDataTransferCallback* հետադարձ զանգ)
Պարամետրեր deviceHandle բացարձակFileՃանապարհ NlcDataTransferCallback
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է թարմացվում: Ճանապարհ դեպի file պարունակում է ներկառուցված ծրագրի տվյալներ (std::string): Տվյալների առաջընթացի հետևորդ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
24
8 Դասերի / գործառույթների հղում
բեռնելBootloader ()
Օգտագործեք այս ֆունկցիան ձեր կառավարիչի բեռնիչը թարմացնելու համար։
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector) & btData, NlcDataTransferCallback* հետադարձ զանգ)
Պարամետրեր deviceHandle btData NlcDataTransferCallback
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է թարմացվում: Բեռնիչի տվյալներ պարունակող զանգված: Տվյալների առաջընթացի հետագծիչ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
uploadBootloaderFromFile ()
Օգտագործեք այս ֆունկցիան՝ ձեր կառավարիչի բեռնիչը թարմացնելու համար՝ այն վերբեռնելով file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsolute)FileՈւղի, NlcDataTransferCallback* հետադարձ զանգ)
Պարամետրեր deviceHandle bootloaderAbsoluteFileՃանապարհ NlcDataTransferCallback
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է թարմացվում: Ճանապարհ դեպի file Պարունակում է bootloader-ի տվյալներ (std::string): Տվյալների առաջընթացի հետևորդ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
uploadBootloaderFirmware ()
Օգտագործեք այս գործառույթը՝ ձեր կառավարիչի բեռնիչը և ներկառուցված ծրագիրը թարմացնելու համար։
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector) & btData, const std::vector & fwData, NlcDataTransferCallback* հետադարձ զանգ)
Պարամետրեր deviceHandle btData fwData NlcDataTransferCallback
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է թարմացվում: Բեռնիչի տվյալներ պարունակող զանգված: Որոնվածը պարունակող զանգված: Տվյալների առաջընթացի հետագծիչ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
uploadBootloaderFirmwareFrom-իցFile ()
Օգտագործեք այս գործառույթը՝ ձեր կարգավորիչի բեռնիչի և որոնվածի թարմացման համար՝ վերբեռնելով այն files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsolute)FileՈւղի, const std::string և absoluteFileՈւղի, NlcDataTransferCallback* հետադարձ զանգ)
Պարամետրեր deviceHandle bootloaderAbsoluteFileԲացարձակ ճանապարհFileՃանապարհ NlcDataTransferCallback
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է թարմացվում: Ճանապարհ դեպի file պարունակում է bootloader-ի տվյալներ (std::string): Դեպի ուղին file որոնվածը պարունակող տվյալներ (uint8_t): Տվյալների առաջընթացի հետագծիչ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
25
8 Դասերի / գործառույթների հղում
վերբեռնելNanoJ ()
Օգտագործեք այս հանրային գործառույթը՝ NanoJ ծրագիրը ձեր կառավարիչում թարմացնելու համար։
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* հետադարձ զանգ)
Պարամետրեր deviceHandle vmmData NlcDataTransferCallback
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսի սարք է վերբեռնվում: NanoJ տվյալներ պարունակող զանգված: Տվյալների առաջընթացի հետագծիչ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
վերբեռնելNanoJFromFile ()
Օգտագործեք այս հանրային գործառույթը՝ NanoJ ծրագիրը ձեր կառավարիչին թարմացնելու համար՝ վերբեռնելով file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileՈւղի, NlcDataTransferCallback* հետադարձ զանգ)
Պարամետրեր deviceHandle բացարձակFileՃանապարհ NlcDataTransferCallback
Վերադարձնում է ResultVoid-ը
Նշում է, թե NanoLib-ի ինչ ավտոբուսի սարք է վերբեռնվում: Ճանապարհ դեպի file պարունակում է NanoJ տվյալներ (std::string): Տվյալների առաջընթացի հետևորդ: Հաստատում է, որ void ֆունկցիան գործարկվել է:
disconnectDevice () Օգտագործեք այս գործառույթը՝ սարքը սարքի սարքի միջոցով անջատելու համար:
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Պարամետրեր deviceHandle Returns ResultVoid
Նշում է, թե որ ավտոբուսային սարքից է անջատվում NanoLib-ը: Հաստատում է, որ void ֆունկցիան գործարկվել է:
removeDevice () Օգտագործեք այս գործառույթը՝ ձեր սարքը NanoLib-ի ներքին սարքերի ցանկից հեռացնելու համար:
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Պարամետրեր deviceHandle Returns ResultVoid
Նշում է, թե NanoLib-ի ինչ ավտոբուսային սարք է հանվում: Հաստատում է, որ void ֆունկցիան գործարկվել է:
closeBusHardware () Օգտագործեք այս գործառույթը՝ ձեր fieldbus սարքաշարից անջատվելու համար:
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
Պարամետրեր busHwId Վերադարձնում է ResultVoid
Նշում է դաշտային ավտոբուսը, որից պետք է անջատվել: Հաստատում է, որ void ֆունկցիան գործարկվել է:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
26
8 Դասերի / գործառույթների հղում
8.2 BusHardwareId
Օգտագործեք այս դասը ավտոբուսի ապարատը մեկ առ մեկ նույնականացնելու կամ տարբեր ավտոբուսների սարքավորումները միմյանցից տարբերելու համար: Այս դասը (առանց ստեղծման պահից անփոփոխելի լինելու՝ ստեղծող գործառույթների) պարունակում է նաև տեղեկատվություն.
Սարքավորում (= ադապտերի անուն, ցանցային ադապտեր և այլն) Օգտագործման արձանագրություն (= Modbus TCP, CANopen և այլն) Ավտոբուսի ապարատային ցուցիչ (= սերիական պորտի անունը, MAC-ի համար հարմար անուն
հասցեն և այլն)
BusHardwareId () [1/3] Կոնստրուկտոր, որը ստեղծում է նոր ավտոբուսային սարքավորումների ID օբյեկտ։
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
Պարամետրեր busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Սարքավորման տեսակը (= ZK-USB-CAN-1 և այլն): Ավտոբուսի հաղորդակցման արձանագրություն (= CANopen և այլն): Սարքավորման ցուցիչը (= COM3 և այլն): Սարքավորումների լրացուցիչ ցուցիչը (ասենք, USB տեղադրության տվյալները): Ընկերական անուն (= AdapterName (Port) և այլն):
BusHardwareId () [2/3] Կոնստրուկտոր, որը ստեղծում է նոր ավտոբուսային ապարատային ID օբյեկտ՝ լրացուցիչ ապարատային սպեցիֆիկատորի հնարավորությամբ։
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)
Պարամետրեր busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Սարքավորման տեսակը (= ZK-USB-CAN-1 և այլն): Ավտոբուսի հաղորդակցման արձանագրություն (= CANopen և այլն): Սարքավորման ցուցիչը (= COM3 և այլն): Սարքավորումների լրացուցիչ ցուցիչը (ասենք, USB տեղադրության տվյալները): Ընկերական անուն (= AdapterName (Port) և այլն):
BusHardwareId () [3/3] Կոնստրուկտոր, որը պատճենում է առկա busHardwareId-ը:
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
Պարամետրեր busHardwareId
Անվանում է ավտոբուսի ապարատային ID-ն, որից պետք է պատճենել:
հավասար է () Համեմատում է նոր ավտոբուսի ապարատային ID-ն գոյություն ունեցողների հետ:
bool nlc::BusHardwareId::equals (BusHardwareId const և այլ) const
Պարամետրեր այլ Վերադարձնում է true
Նույն դասի մեկ այլ օբյեկտ։ Եթե երկուսն էլ հավասար են բոլոր արժեքներով։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
27
8 Դասերի / գործառույթների հղում
կեղծ
Եթե արժեքները տարբեր են։
getBusHardware () Կարդում է ավտոբուսի ապարատային տողը:
std::string nlc::BusHardwareId::getBusHardware () const
Վերադարձնում է տողը
getHardwareSpecifier ()-ը կարդում է ավտոբուսի սարքավորումների սպեցիֆիկատորի տողը (= ցանցի անունը և այլն):
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Վերադարձնում է տողը
getExtraHardwareSpecifier ()-ը կարդում է ավտոբուսի լրացուցիչ սարքավորումների սպեցիֆիկատորի տողը (= MAC հասցե և այլն):
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Վերադարձնում է տողը
getName () ֆունկցիան կարդում է ավտոբուսի սարքավորման անունը։
std::string nlc::BusHardwareId::getName () const
Վերադարձնում է տողը
getProtocol ()-ը կարդում է ավտոբուսային արձանագրության տողը։
std::string nlc::BusHardwareId::getProtocol () const
Վերադարձնում է տողը
toString () Վերադարձնում է ավտոբուսի սարքավորման ID-ն որպես տող։
std::string nlc::BusHardwareId::toString () const
Վերադարձնում է տողը
8.3 BusHardware Ընտրանքներ
Այս դասում, տողերի բանալի-արժեք ցանկում, գտեք բոլոր անհրաժեշտ տարբերակները ավտոբուսային սարքավորումները բացելու համար։
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
28
8 Դասերի / գործառույթների հղում
BusHardwareOptions () [1/2] Կառուցում է նոր ավտոբուսային սարքավորումների տարբերակի օբյեկտ։
nlc::BusHardwareOptions::BusHardwareOptions () Օգտագործեք addOption () ֆունկցիան՝ բանալի-արժեք զույգեր ավելացնելու համար։
BusHardwareOptions () [2/2] Կառուցում է նոր ավտոբուսի ապարատային ընտրանքների օբյեկտ, որտեղ արդեն տեղադրված է առանցքային արժեքի քարտեզը:
nlc::BusHardwareOptions::BusHardwareOptions (std::map) const և ընտրանքներ)
Պարամետրերի ընտրանքներ
Քարտեզ՝ ավտոբուսի ապարատային գործարկման տարբերակներով:
addOption () Ստեղծում է լրացուցիչ բանալիներ և արժեքներ:
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)
Պարամետրերի հիմնական արժեքը
Example՝ BAUD_RATE_OPTIONS_NAME, տես bus_hw_options_ կանխադրվածները
Example՝ BAUD_RATE_1000K, տես bus_hw_options_defaults
հավասար է () Համեմատում է BusHardwareOptions-ը գոյություն ունեցողների հետ:
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const և այլ) const
Պարամետրեր այլ Վերադարձնում է true
կեղծ
Նույն դասի մեկ այլ օբյեկտ. Եթե մյուս օբյեկտն ունի բոլոր ճիշտ նույն տարբերակները: Եթե մյուս օբյեկտն ունի տարբեր բանալիներ կամ արժեքներ:
getOptions () Կարդում է բոլոր ավելացված բանալի-արժեք զույգերը:
std::map nlc::BusHardwareOptions::getOptions () const
Վերադարձնում է լարային քարտեզը
toString () Վերադարձնում է բոլոր ստեղները/արժեքները որպես տող:
std::string nlc::BusHardwareId::toString () const
Վերադարձնում է տողը
8.4 BusHwOptions Default
Այս կանխադրված կազմաձևման ընտրանքների դասը ունի հետևյալ հանրային ատրիբուտները.
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
29
8 Դասերի / գործառույթների հղում
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () սերիա = Սերիական () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()
8.5 CanBaudRate
Կառուցվածք, որը պարունակում է CAN ավտոբուսի բոդրատներ հետևյալ հանրային ատրիբուտներում.
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 100k» BAUD_RATE_50K = «50k» BAUD_RATE_20K = «20k» BAUD_RATE_10K = «10k»
8.6 CanBus
Կանխադրված կազմաձևման ընտրանքների դասը հետևյալ հանրային ատրիբուտներով.
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = «կարող է ադապտերների բուդ արագություն» baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
NMT ծառայության համար այս կառուցվածքը պարունակում է CANopen NMT վիճակները որպես տողային արժեքներ հետևյալ հանրային ատրիբուտներում.
const std::string const std::string const std::string const std::string const std::string
START = «START» STOP = «STOP» PRE_OPERATIONAL = «PRE_OPERATIONAL» RESET = «REET» RESET_COMMUNICATION = «RESET_COMMUNICATION»
8.8 CanOpenNmtState
Այս կառուցվածքը պարունակում է CANopen NMT վիճակները որպես տողային արժեքներ հետևյալ հանրային ատրիբուտներում.
const std::string const std::string const std::string const std::string const std::string
STOPPED = «TOPPED» PRE_OPERATIONAL = «PRE_OPERATIONAL» OPERATIONAL = «ՕՊԵՐԱՑԻՈՆ» ՆԱԽԱԲՆԱԿՑՈՒՄ = «ՆԱԽԱԲԱՆՈՒՄ» ԱՆՀԱՅՏ = «ԱՆՀԱՅՏ»
8.9 EtherCATBus կառուցվածք
Այս կառուցվածքը պարունակում է EtherCAT կապի կազմաձևման ընտրանքներ հետևյալ հանրային ատրիբուտներում.
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
30
8 Դասերի / գործառույթների հղում
const std::string NETWORK_FIRMWARE_STATE_OP- Ցանցի վիճակը դիտարկվում է որպես ներկառուցված ծրագրի ռեժիմ։ Ընդունելի է
TION_NAME = «Ցանցի ներկառուցված ծրագրի վիճակը»
արժեքներ (կանխադրված = PRE_OPERATIONAL):
EtherCATSstate::PRE_OPERATIONAL EtherCATState::SAFE_OPERATIONAL EtherCATSstate::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_STATE = “Նախագործման նախապատրաստական”
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Բացառիկ կողպեք ստանալու համար ժամանակի ավարտը միլիվայրկյաններով
TION_NAME = «Համատեղ կողպեքի ժամանակի սպառում»
ցանցը (կանխադրված = 500 ms):
const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = «500»
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Համօգտագործվող կողպեքը միացնելու ժամանակը միլիվայրկյաններով
NAME = «Համատեղ կողպեքի ժամանակի ավարտ»
ցանցը (կանխադրված = 250 ms):
անստորագիր int DEFAULT_SHARED_LOCK_TIMEOUT = «250»
const std::string READ_TIMEOUT_OPTION_NAME = Կարդալու գործողության ժամանակի սպառումը միլիվայրկյաններով (լռելյայն արժեք)
«Կարդալու ժամանակի սպառում»
= 700 մվ)։
const unsigned int DEFAULT_READ_TIMEOUT = «700»
const std::string WRITE_TIMEOUT_OPTION_NAME = Գրելու գործողության ժամանակի սպառումը միլիվայրկյաններով (լռելյայն)
«Գրելու ժամանակի սպառում»
= 200 մվ)։
const անստորագիր int DEFAULT_WRITE_TIMEOUT = «200»
const std::string READ_WRITE_ATTEMPTS_OPTION_ Կարդալու կամ գրելու փորձերի առավելագույն քանակը (ոչ զրոյական արժեքներ)
NAME = «Կարդալ/Գրել փորձեր»
միայն; լռելյայն = 5):
անստորագիր int DEFAULT_READ_WRITE_ATTEMPTS = «5»
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = «Ցանցի վիճակի փոփոխման փորձեր»
Ցանցի վիճակը փոխելու փորձերի առավելագույն քանակը (միայն ոչ զրոյական արժեքներ; լռելյայն = 10):
const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = «10»
const std::string PDO_IO_ENABLED_OPTION_NAME Միացնում կամ անջատում է PDO մշակումը թվային մուտքագրման համար /
= «PDO IO միացված է»
ելքեր (միայն «Ճիշտ» կամ «Սխալ»; լռելյայն = «Ճիշտ»):
const std::string DEFAULT_PDO_IO_ENABLED = «Ճիշտ է»
8.10 EtherCATState կառուցվածք
Այս կառուցվածքը պարունակում է EtherCAT ստրուկ/ցանցային վիճակները որպես տողային արժեքներ հետևյալ հանրային ատրիբուտներում: Նշում. միացման ժամանակ կանխադրված վիճակը PRE_OPERATIONAL է; NanoLib-ը չի կարող ապահովել ոչ մի հուսալի «ՕՊԵՐԱՑԻՈՆ» վիճակ ոչ իրական ժամանակի օպերացիոն համակարգում.
const std::string const std::string const std::string const std::string const std::string const std::string
NONE = «NONE» ՄԵԿՆԱՐԿ = «ՄԵԿՆԱՐԿՈՒՄ» PRE_OPERATIONAL = «PRE_OPERATIONAL» BOOT = «BOOT» SAFE_OPERATIONAL = «SAFE_OPERATIONAL» OPERATIONAL = «OPERATIONAL»
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
31
8 Դասերի / գործառույթների հղում
8.11 Ixxat
Այս կառուցվածքը Ixxat usb-to-can-ի համար ամբողջ տեղեկատվությունը պահում է հետևյալ հանրային ատրիբուտներում՝
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = «ixxat ադապտեր ավտոբուսի համարը»
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Այս կառուցվածքը պարունակում է Ixxat usb-to-can-ի ավտոբուսի համարը հետևյալ հանրային ատրիբուտներում՝
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 գագաթ
Այս կառուցվածքը Peak usb-to-can-ի համար բոլոր տեղեկությունները պահում է հետևյալ հանրային ատրիբուտներում՝
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = «գագաթնակետային ադապտերի ավտոբուսի համարը»
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
Այս կառուցվածքը պարունակում է Peak usb-to-can-ի ավտոբուսի համարը հետևյալ հանրային ատրիբուտներում՝
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::մինչև_տող (PCAN_USBBUS1) BUS_NUMBER_2 = std::մինչև_տող (PCAN_USBBUS2) BUS_NUMBER_3 = std::մինչև_տող (PCAN_USBBUS3) BUS_NUMBER_4 = std::մինչև_տող (PCAN_USBBUS4) BUS_NUMBER_5 = std::մինչև_տող (PCAN_USBBUS5) BUS_NUMBER_6 = std::մինչև_տող (PCAN_USBBUS6) BUS_NUMBER_7 = std::մինչև_տող (PCAN_USBBUS7) BUS_NUMBER_8 = std::մինչև_տող (PCAN_USBBUS8) BUS_NUMBER_9 = std::մինչև_տող (PCAN_USBBUS9) BUS_NUMBER_10 = std::մինչև_տող (PCAN_USBBUS10) BUS_NUMBER_11 = std::մինչև_տող (PCAN_USBBUS11) BUS_NUMBER_12 = std::մինչև_տող (PCAN_USBBUS12) BUS_NUMBER_13 = std::մինչև_տող (PCAN_USBBUS13) BUS_NUMBER_14 = std::մինչև_տող (PCAN_USBBUS14) BUS_NUMBER_15 = std::մինչև_տող (PCAN_USBBUS15) BUS_NUMBER_16 = std::մինչև_տող (PCAN_USBBUS16)
8.15 Սարքի բռնակ
Այս դասը ներկայացնում է ավտոբուսի վրա սարքը կառավարելու բռնակ և ունի հանրային անդամի հետևյալ գործառույթները.
ՍարքիՀանդլե () ՍարքիՀանդլե (uint32_t բռնակ)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
32
8 Դասերի / գործառույթների հղում
հավասար է () Համեմատում է իրեն տվյալ սարքի բռնակի հետ:
bool հավասար է (DeviceHandle const other) const (uint32_t handle)
toString () Վերադարձնում է սարքի բռնակի լարային ներկայացումը:
std::string toString () const
get ()-ը վերադարձնում է սարքի բռնակը։
uint32_t ստանալ () կոնստ
8.16 Սարքի ID
Օգտագործեք այս դասը (անփոփոխելի չէ ստեղծման պահից)՝ ավտոբուսում սարքերը հայտնաբերելու և տարբերելու համար.
Սարքավորման ադապտեր նույնացուցիչ
Սարքի նույնացուցիչ
Նկարագրություն
Սարքի ID/նկարագրության արժեքների նշանակությունը կախված է ավտոբուսից: Նախample, CAN ավտոբուսը կարող է օգտագործել ամբողջ ID-ն:
DeviceId () [1/3] Ստեղծում է նոր սարքի ID օբյեկտ:
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)
Պարամետրեր busHardwareId_ deviceId_ description_
Ավտոբուսի նույնացուցիչը. Ինդեքս; ենթակա է ավտոբուսի (= CANopen հանգույցի ID և այլն): Նկարագրություն (կարող է դատարկ լինել); ենթակա է ավտոբուսի.
Սարքի ID () [2/3] Կառուցում է նոր սարքի ID օբյեկտ՝ ընդլայնված ID տարբերակներով։
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const և extraId_, std::string const և extraStringId_)
Պարամետրեր՝ busHardwareId_ deviceId_ description_ extraId_ extraStringId_
Ավտոբուսի նույնականացուցիչ։ Ինդեքս; ենթակա է ավտոբուսին (= CANopen հանգույցի ID և այլն)։ Նկարագրություն (կարող է դատարկ լինել); ենթակա է ավտոբուսին։ Լրացուցիչ ID (կարող է դատարկ լինել); նշանակությունը կախված է ավտոբուսից։ Լրացուցիչ տողի ID (կարող է դատարկ լինել); նշանակությունը կախված է ավտոբուսից։
DeviceId () [3/3] Ստեղծում է սարքի ID օբյեկտի պատճենը:
nlc::DeviceId::DeviceId (DeviceId const &)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
33
8 Դասերի / գործառույթների հղում
Պարամետրեր deviceId_
Սարքի ID-ից պատճենելու համար:
հավասար է () Համեմատում է նորը գոյություն ունեցող օբյեկտների հետ:
bool nlc::DeviceId::equals (DeviceId const & other) const
Վերադարձնում է բուլյան
getBusHardwareId () Կարդում է ավտոբուսի ապարատային ID-ն:
BusHardwareId nlc::DeviceId::getBusHardwareId () const
Վերադարձնում է BusHardwareId-ը
getDescription () Կարդում է սարքի նկարագրությունը (գուցե չօգտագործված):
std::string nlc::DeviceId::getDescription () const
Վերադարձնում է տողը
getDeviceId () Կարդում է սարքի ID-ն (գուցե չօգտագործված):
չստորագրված int nlc::DeviceId::getDeviceId () const
Վերադարձնում է անստորագիր միջ
toString () Վերադարձնում է օբյեկտը որպես տող:
std::string nlc::DeviceId::toString () const
Վերադարձնում է տողը
getExtraId () Կարդում է սարքի լրացուցիչ ID-ն (կարող է չօգտագործված լինել):
const std::vector &getExtraId () const
Վերադարձնում է վեկտոր
Լրացուցիչ լրացուցիչ ID-ների վեկտորը (կարող է դատարկ լինել); իմաստը կախված է ավտոբուսից:
getExtraStringId () Կարդում է սարքի լրացուցիչ տողի ID-ն (կարող է չօգտագործված լինել):
std::string getExtraStringId () const
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
34
8 Դասերի / գործառույթների հղում
Վերադարձնում է տողը
Լրացուցիչ տողի ID (կարող է դատարկ լինել); իմաստը կախված է ավտոբուսից:
8.17 LogLevelConverter
Այս դասը վերադարձնում է ձեր log մակարդակը որպես տող։ static std::string toString (nlc::LogLevel logLevel)
8.18 Գրանցամատյանի մոդուլի փոխարկիչ
Այս դասը վերադարձնում է ձեր գրադարանին հատուկ modulesetLoggingLevel () գրանցամատյանը որպես տող։
ստատիկ std::string
toString (nlc::LogModule logModule)
ստատիկ std::string toString (nlc::LogModule logModule)
8.19 Օբյեկտի բառարան
Այս դասը ներկայացնում է վերահսկիչի օբյեկտային բառարան և ունի հանրային անդամի հետևյալ գործառույթները՝ getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Վերադարձնում է ResultDeviceHandle
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Վերադարձնում է ResultObjectSubEntry
getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t ինդեքս)
Վերադարձնում է ResultObjectEntry-ը
Տեղեկացնում է օբյեկտի հատկությունների մասին:
getXmlFileName () virtual ResultString getXmlFileԱնուն () կոնստ
Վերադարձնում է ResultString-ը
Վերադարձնում է XML-ը file անունը որպես լար.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) Վերադարձնում է ResultInt
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const index)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
35
8 Դասերի / գործառույթների հղում
Վերադարձնում է ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) Վերադարձնում է ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Վերադարձնում է ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, const int64_t value) Վերադարձնում է ResultVoid writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Վերադարձնում է ResultVoid-ը։ Առնչվող հղումներ OdIndex
8.20 Օբյեկտի մուտք
Այս դասը ներկայացնում է օբյեկտային բառարանի օբյեկտային գրառում, ունի հետևյալ ստատիկ պաշտպանված ատրիբուտները և public անդամ ֆունկցիաները՝
ստատիկ nlc::ObjectSubEntry invalidObject
getName () Կարդում է օբյեկտի անունը որպես տող:
վիրտուալ std::string getName () const
getPrivate () Ստուգում է, արդյոք օբյեկտը մասնավոր է:
վիրտուալ bool getPrivate () const
getIndex () Կարդում է օբյեկտի ինդեքսի հասցեն:
վիրտուալ uint16_t getIndex () const
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
36
8 Դասերի / գործառույթների հղում
getDataType () Կարդում է օբյեկտի տվյալների տեսակը:
վիրտուալ nlc::ObjectEntryDataType getDataType () const
getObjectCode () Կարդում է օբյեկտի կոդը.
Null Deftype Defstruct Var Array Record
0x00 0x05 0x06 0x07 0x08 0x09
վիրտուալ nlc::ObjectCode getObjectCode () const
getObjectSaveable () Ստուգում է, արդյոք օբյեկտը պահպանելի է և այն կատեգորիան է (տես արտադրանքի ձեռնարկը լրացուցիչ մանրամասների համար).
վիրտուալ nlc::ObjectSaveable getObjectSaveable () const
getMaxSubIndex () Կարդում է այս օբյեկտի կողմից աջակցվող ենթաինդեքսների քանակը:
virtual uint8_t getMaxSubIndex () const
getSubEntry () վիրտուալ nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
Տես նաև ObjectSubEntry:
8.21 ObjectSubEntry
Այս դասը ներկայացնում է օբյեկտի բառարանի օբյեկտի ենթամուտքը (ենթաինդեքսը) և ունի հանրային անդամի հետևյալ գործառույթները.
getName () Կարդում է օբյեկտի անունը որպես տող:
վիրտուալ std::string getName () const
getSubIndex () Կարդում է ենթաինդեքսի հասցեն:
վիրտուալ uint8_t getSubIndex () const
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
37
8 Դասերի / գործառույթների հղում
getDataType () Կարդում է օբյեկտի տվյալների տեսակը:
վիրտուալ nlc::ObjectEntryDataType getDataType () const
getSdoAccess () Ստուգում է, արդյոք ենթաինդեքսը հասանելի է SDO-ի միջոցով.
Միայն կարդալու
1
Գրել Միայն
2
Կարդալ Գրել
3
NoAccess
0
վիրտուալ nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () Ստուգում է, արդյոք ենթաինդեքսը հասանելի է/քարտեզագրելի է PDO-ի միջոցով.
Tx
1
Rx
2
TxRx
3
Ոչ
0
վիրտուալ nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () Ստուգում է ենթաինդեքսի երկարությունը:
virtual uint32_t getBitLength () const
getDefaultValueAsNumeric () Կարդում է ենթաինդեքսի լռելյայն արժեքը թվային տվյալների տեսակների համար:
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () Կարդում է ենթաինդեքսի լռելյայն արժեքը լարային տվյալների տեսակների համար:
virtual ResultString getDefaultValueAsString (std::string const & key) const
getDefaultValues () Կարդում է ենթաինդեքսի լռելյայն արժեքները:
վիրտուալ std::map getDefaultValues () const
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
38
8 Դասերի / գործառույթների հղում
readNumber () Կարդում է ենթաինդեքսի թվային փաստացի արժեքը:
virtual ResultInt readNumber () const
readString () Կարդում է ենթաինդեքսի տողի իրական արժեքը:
virtual ResultString readString () const
readBytes () Կարդում է ենթաինդեքսի իրական արժեքը բայթերով:
virtual ResultArrayByte readBytes () const
writeNumber () Ենթաինդեքսում թվային արժեք է գրում։
virtual ResultVoid writeNumber (const int64_t արժեք) const
writeBytes () ենթաինդեքսում արժեք է գրում բայթերով:
virtual ResultVoid writeBytes (std::vector) կայունություն և տվյալներ) կայունություն
8.22 OdIndex
Օգտագործեք այս դասը (անփոփոխելի է ստեղծումից սկսած)՝ փաթեթավորելու և տեղորոշելու օբյեկտների գրացուցակի ինդեքսները/ենթաինդեքսները: Սարքի OD-ն ունի մինչև 65535 (0xFFFF) տող և 255 (0xFF) սյունակ; ընդհատվող շարքերի միջև եղած բացերով։ Լրացուցիչ մանրամասների համար տես CANopen ստանդարտը և ձեր արտադրանքի ձեռնարկը:
OdIndex () Կառուցում է նոր OdIndex օբյեկտ:
nlc::OdIndex::OdIndex (uint16_t ինդեքս, uint8_t ենթաինդեքս)
Պարամետրերի ինդեքս ենթաինդեքս
0-ից մինչև 65535 (0xFFFF) ներառյալ: 0-ից մինչև 255 (0xFF) ներառյալ:
getIndex () Կարդում է ինդեքսը (0x0000-ից մինչև 0xFFFF):
uint16_t nlc::OdIndex::getIndex () const
Վերադարձնում է uint16_t
getSubindex () Կարդում է ենթաինդեքսը (0x00-ից մինչև 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
39
8 Դասերի / գործառույթների հղում
Վերադարձնում է uint8_t
toString () Վերադարձնում է ինդեքսը և ենթաինդեքսը որպես տող: Տողային լռելյայն 0xIIII:0xSS կարդում է հետևյալը.
I = ինդեքս 0x0000-ից մինչև 0xFFFF
S = ենթաինդեքս 0x00-ից մինչև 0xFF
std::string nlc::OdIndex::toString () const
Վերադարձնում է 0xIII:0xSS
Տողերի կանխադրված ներկայացում
8.23 OdLibrary
Օգտագործեք այս ծրագրավորման ինտերֆեյսը XML-ից ObjectDictionary դասի օրինակներ ստեղծելու համար: assignObjectDictionary-ի միջոցով դուք կարող եք այնուհետև կապել յուրաքանչյուր օրինակ որոշակի սարքի եզակիորեն ստեղծված նույնացուցիչի շնորհիվ: Այսպես ստեղծված ObjectDictionary օրինակները պահվում են OdLibrary օբյեկտում՝ ինդեքսով մուտք գործելու համար: ODLibrary դասը բեռնում է ObjectDictionary տարրերը file կամ զանգված, պահում է դրանք և ունի հանրային անդամի հետևյալ գործառույթները.
getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const
getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Վերադարձնում է ResultObjectDictionary
addObjectDictionaryFromFile ()
վիրտուալ ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileՃանապարհ)
Վերադարձնում է ResultObjectDictionary
ավելացնելՕբյեկտԲառարան ()
վիրտուալ ResultObjectDictionary addObjectDictionary (std::vector) const և odXmlData, const std::string և xmlFileՃանապարհ = std::string ())
Վերադարձնում է ResultObjectDictionary
8.24 OdTypesHelper
Հետևյալ public member ֆունկցիաներից բացի, այս դասը պարունակում է նաև հատուկ տվյալների տեսակներ։ Նշում. Ձեր հատուկ տվյալների տեսակները ստուգելու համար od_types.hpp ֆայլում փնտրեք ObjectEntryDataType enum դասը։
uintToObjectCode () Փոխակերպում է անստորագիր ամբողջ թվերը օբյեկտի կոդի.
Null Deftype
0x00 0x05
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
40
8 Դասերի / գործառույթների հղում
Var Array Record-ի դեստրուկտացիա
0x06 0x07 0x08 0x09
ստատիկ ObjectCode uintToObjectCode (աննշան int objectCode)
isNumericDataType () Տեղեկացնում է տվյալների տեսակը թվային է, թե ոչ:
ստատիկ bool isNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () Տեղեկացնում է, արդյոք օբյեկտը սահմանման կառուցվածքի ինդեքս է, թե ոչ:
ստատիկ bool isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Տեղեկացնում է, արդյոք օբյեկտը սահմանման տիպի ինդեքս է, թե ոչ:
ստատիկ bool isDeftypeIndex (uint16_t typeNum)
isComplexDataType () Տեղեկացնում է տվյալների տեսակը բարդ է, թե ոչ:
ստատիկ bool isComplexDataType (ObjectEntryDataType dataType)
uintToObjectEntryDataType () Փոխակերպում է անստորագիր ամբողջ թվերը OD տվյալների տիպի:
ստատիկ ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () Փոխակերպում է OD տվյալների տեսակը տողի:
ստատիկ std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () Հնարավորության դեպքում տողը փոխակերպում է OD տվյալների տեսակի: Հակառակ դեպքում, վերադարձնում է UNKNOWN_DATATYPE:
ստատիկ ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
41
8 Դասերի / գործառույթների հղում
objectEntryDataTypeBitLength () Տեղեկացնում է օբյեկտի մուտքագրման տվյալների տեսակի բիթերի երկարության մասին:
ստատիկ uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)
8.25 RESTfulBus կառուցվածք
Այս կառուցվածքը պարունակում է կապի կազմաձևման տարբերակներ RESTful ինտերֆեյսի համար (Ethernet): Այն պարունակում է հետևյալ հանրային հատկանիշները.
const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long
CONNECT_TIMEOUT_OPTION_NAME = «RESTful Connect Timeout» DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = «RESTful Request Timeout» DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_NAMEOUT_OPTION_Timeout = 750
8.26 ProfinetDCP
Linux-ի դեպքում զանգահարող հավելվածին անհրաժեշտ են CAP_NET_ADMIN և CAP_NET_RAW հնարավորություններ: Միացնելու համար՝ sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable: Windows-ում ProfinetDCP ինտերֆեյսը օգտագործում է WinPcap (փորձարկվել է 4.1.3 տարբերակով) կամ Npcap (փորձարկվել է 1.60 և 1.30 տարբերակներով): Այսպիսով, այն որոնում է դինամիկ բեռնված wpcap.dll գրադարանը հետևյալ հաջորդականությամբ (Նշում. ընթացիկ Win10Pcap աջակցություն չկա).
1. Nanolib.dll գրացուցակ 2. Windows համակարգի գրացուցակ SystemRoot%System32 3. Npcap տեղադրման գրացուցակ SystemRoot%System32Npcap 4. Շրջակա միջավայրի ուղի
Այս դասը ներկայացնում է Profinet DCP միջերեսը և ունի հանրային անդամի հետևյալ գործառույթները.
getScanTimeout () Տեղեկացնում է սարքի սկանավորման ժամանակի ավարտի մասին (կանխադրված = 2000 ms):
վիրտուալ uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () Սահմանում է սարքի սկանավորման ժամկետը (կանխադրված = 2000 ms):
վիրտուալ դատարկություն nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () Տեղեկացնում է սարքի արձագանքման ժամանակի դադարի մասին՝ կարգավորելու, վերակայելու և թարթելու գործողությունների համար (կանխադրված = 1000 ms):
վիրտուալ uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () Տեղեկացնում է սարքի արձագանքման ժամանակի դադարի մասին՝ կարգաբերման, վերակայման և թարթման գործողությունների համար (կանխադրված = 1000 ms):
վիրտուալ դատարկություն nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
42
8 Դասերի / գործառույթների հղում
isServiceAvailable ()
Օգտագործեք այս գործառույթը՝ Profinet DCP ծառայության հասանելիությունը ստուգելու համար:
Ցանցային ադապտերի վավերականությունը/մատչելիությունը Windows: WinPcap / Npcap առկայությունը Linux: CAP_NET_ADMIN / CAP_NET_RAW հնարավորությունները
վիրտուալ ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)
Պարամետրեր BusHardwareId Վերադարձնում է ճշմարիտ
կեղծ
Ստուգելու համար Profinet DCP ծառայության ապարատային ID-ն: Ծառայությունը հասանելի է։ Ծառայությունն անհասանելի է։
scanProfinetDevices () Օգտագործեք այս գործառույթը՝ ապարատային ավտոբուսը սկանավորելու համար Profinet սարքերի առկայության համար:
վիրտուալ ResultProfinetDevices սկանավորումProfinetDevices (const BusHardwareId & busHardwareId)
BusHardwareId-ի պարամետրերը վերադարձնում է ResultProfinetDevices
Նշում է յուրաքանչյուր դաշտային ավտոբուս բացելու համար: Սարքավորումը բաց է։
setupProfinetDevice () Սահմանում է հետևյալ սարքի կարգավորումները.
Սարքի անվանումը
IP հասցե
Ցանցային դիմակ
Կանխադրված դարպաս
virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () Դադարեցնում է սարքը և վերականգնում այն գործարանային պարամետրերին:
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () Հրամայում է Profinet սարքին սկսել թարթել իր Profinet LED-ը:
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)
validateProfinetDeviceIp () Օգտագործեք այս գործառույթը՝ սարքի IP հասցեն ստուգելու համար:
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)
Պարամետրեր BusHardwareId ProfinetDevice
Նշում է ապարատային ID-ն, որը պետք է ստուգվի: Նշում է Profinet սարքը, որը պետք է վավերացվի:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
43
8 Դասերի / գործառույթների հղում
Վերադարձնում է ResultVoid-ը
8.27 ProfinetDevice կառուցվածք
Profinet սարքի տվյալները ունեն հետևյալ հանրային հատկանիշները.
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
սարքի անուն, սարքի մատակարար, macAddress, ipAddress, netMask, defaultGateway
MAC հասցեն տրամադրվում է զանգվածի տեսքով macAddress = {xx, xx, xx, xx, xx, xx}; մինչդեռ IP հասցեն, ցանցի դիմակը և դարպասը բոլորը մեկնաբանվում են որպես մեծ վեցանկյուն թվեր, ինչպիսիք են.
IP հասցե՝ 192.168.0.2 Ցանցի դիմակ՝ 255.255.0.0 Դարպաս՝ 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Արդյունքների դասեր
Օգտագործեք այս դասերի «կամընտիր» վերադարձվող արժեքները՝ ստուգելու՝ արդյոք ֆունկցիայի կանչը հաջողվել է, թե ոչ, ինչպես նաև գտնել ձախողման պատճառները: Հաջողության դեպքում hasError () ֆունկցիան վերադարձնում է false: GetResult () միջոցով կարող եք կարդալ արդյունքի արժեքը ըստ տեսակի (ResultInt և այլն): Եթե զանգը ձախողվում է, դուք կարդում եք պատճառը getError ():
Պաշտպանված հատկանիշներ
տող NlcErrorCode uint32_t
errorString errorCode exErrorCode
Նաև այս դասը ունի հանրային անդամի հետևյալ գործառույթները.
hasError () Կարդում է ֆունկցիայի կանչի հաջողությունը:
bool nlc::Result::hasError () const
Վերադարձնում է
ճիշտ է կեղծ
Չհաջողվեց զանգ. Օգտագործեք getError () արժեքը կարդալու համար: Հաջող զանգ. Օգտագործեք getResult () արժեքը կարդալու համար:
getError () Կարդում է պատճառը, եթե ֆունկցիայի կանչը ձախողվի:
const std::string nlc::Result::getError () const
Վերադարձնում է const տողը
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
44
8 Դասերի / գործառույթների հղում
result () Հետևյալ ֆունկցիաները օգնում են սահմանել ճշգրիտ արդյունքները՝
Արդյունք (std::string const & errorString_)
Արդյունք (NlcErrorCode const & errCode, std::string const & errorString_)
Արդյունք (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Արդյունք (Արդյունքի կայունություն և արդյունք)
getErrorCode () Կարդացեք NlcErrorCode-ը:
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 Արդյունք Անվավեր
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է անվավեր: Դասը ժառանգում է հանրային գործառույթները և պաշտպանված ատրիբուտները արդյունքի դասից և ունի հանրային անդամի հետևյալ գործառույթները.
ResultVoid () Հետևյալ գործառույթներն օգնում են ճշգրիտ դատարկ արդյունքը սահմանելու հարցում.
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 (Արդյունքի հաստատուն և արդյունք)
8.28.2 ԱրդյունքՄտ
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է ամբողջ թիվ: Դասը ժառանգում է հանրային գործառույթները / պաշտպանված ատրիբուտները արդյունքի դասից և ունի հանրային անդամի հետևյալ գործառույթները.
getResult () Վերադարձնում է ամբողջ թվի արդյունքը, եթե ֆունկցիայի կանչը հաջողված է:
int64_t getResult () const
Վերադարձնում է int64_t
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
45
8 Դասերի / գործառույթների հղում
ResultInt () Հետևյալ ֆունկցիաները օգնում են ճշգրիտ ամբողջ թվի արդյունքը սահմանելու հարցում.
Արդյունքի միջակայք (int64_t արդյունք_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (Արդյունքի հաստատուն և արդյունք)
8.28.3 ResultString
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է տող: Դասը ժառանգում է հանրային գործառույթները / պաշտպանված ատրիբուտները արդյունքի դասից և ունի հանրային անդամի հետևյալ գործառույթները.
getResult () Կարդում է տողերի արդյունքը, եթե ֆունկցիայի կանչը հաջողված է:
const std::string nlc::ResultString::getResult () const
Վերադարձնում է const տողը
ResultString () Հետևյալ ֆունկցիաները օգնում են սահմանել տողի ճշգրիտ արդյունքը.
ResultString (std::string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (Արդյունքի հաստատուն և արդյունք)
8.28.4 ResultArrayByte
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է բայթային զանգված։ Դասը ժառանգում է public functions / protected ատրիբուտները արդյունքի դասից և ունի հետևյալ public անդամ ֆունկցիաները՝
getResult () ֆունկցիայի կանչի հաջողության դեպքում կարդում է բայթերի վեկտորը։
const std::vector nlc::ResultArrayByte::getResult () const
Վերադարձնում է կայուն վեկտոր
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
46
8 Դասերի / գործառույթների հղում
ResultArrayByte () Հետևյալ ֆունկցիաները օգնում են ճշգրիտ բայթային զանգվածի արդյունքը սահմանելու հարցում.
ResultArrayByte (std::vector) const & result_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Արդյունքի հաստատուն և արդյունք)
8.28.5 ResultArrayInt
NanoLib-ը ձեզ այս դասի օրինակ է ուղարկում, եթե ֆունկցիան վերադարձնում է ամբողջ թվերի զանգված։ Դասը ժառանգում է public functions / protected ատրիբուտները արդյունքի դասից և ունի հետևյալ public անդամ ֆունկցիաները՝
getResult () ֆունկցիայի կանչի հաջողության դեպքում կարդում է ամբողջ թվերի վեկտորը։
const std::vector nlc::ResultArrayInt::getResult () const
Վերադարձնում է կայուն վեկտոր
ResultArrayInt () Հետևյալ ֆունկցիաները օգնում են ճշգրիտ ամբողջ թվային զանգվածի արդյունքը սահմանելու հարցում.
ResultArrayInt (std::vector) const & result_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Արդյունքի հաստատուն և արդյունք)
8.28.6 ResultBusHwIds
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է ավտոբուսային սարքավորումների ID զանգված։ Դասը ժառանգում է public functions / protected ատրիբուտները արդյունքի դասից և ունի հետևյալ public անդամ ֆունկցիաները՝
getResult () ֆունկցիայի կանչի հաջողության դեպքում կարդում է bus-hardware-ID վեկտորը։
const std::vector nlc::ResultBusHwIds::getResult () const
Պարամետրեր const վեկտոր
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
47
8 Դասերի / գործառույթների հղում
ResultBusHwIds () Հետևյալ գործառույթներն օգնում են ճշգրիտ bus-hardware-ID-array արդյունքը սահմանելու հարցում.
ResultBusHwIds (std::vector) const & result_)
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 (Արդյունքի հաստատուն և արդյունք)
8.28.7 ResultDeviceId
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է սարքի ID: Դասը ժառանգում է public functions / protected ատրիբուտները արդյունքի դասից և ունի հետևյալ public անդամ ֆունկցիաները՝
getResult () Կարդում է սարքի նույնականացման վեկտորը, եթե ֆունկցիայի կանչը հաջողությամբ կատարվի:
ՍարքիId nlc::ResultDeviceId::getResult () const
Վերադարձնում է const վեկտորը
ResultDeviceId () Հետևյալ գործառույթներն օգնում են ճշգրիտ սարքի նույնականացման արդյունքը որոշելիս.
ԱրդյունքիՍարքիԻդ (ՍարքիԻդը հաստատուն է և արդյունք_)
ԱրդյունքիՍարքիԻդ (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ԱրդյունքիՍարքիԻդ (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Արդյունքի հաստատուն և արդյունք)
8.28.8 ResultDeviceIds
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է սարքի ID զանգված: Դասը ժառանգում է public functions / protected ատրիբուտները արդյունքի դասից և ունի հետևյալ public անդամ ֆունկցիաները՝
getResult () ֆունկցիայի կանչի հաջողության դեպքում վերադարձնում է սարքի ID վեկտորը։
ՍարքիId nlc::ResultDeviceIds::getResult () const
Վերադարձնում է const վեկտորը
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
48
8 Դասերի / գործառույթների հղում
ResultDeviceIds () Հետևյալ գործառույթներն օգնում են ճշգրիտ սարքի ID-զանգվածի արդյունքը սահմանելու հարցում.
ԱրդյունքիՍարքիՆույնականացուցիչներ (std::vector) const & result_)
ԱրդյունքիՍարքիՆույնականացուցիչներ (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 (Արդյունքի հաստատուն և արդյունք)
8.28.9 ResultDeviceHandle
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է սարքի բռնակի արժեքը: Դասը ժառանգում է public functions / protected ատրիբուտները արդյունքի դասից և ունի հետևյալ public անդամ ֆունկցիաները՝
getResult () Կարդում է սարքի բռնիչը, եթե գործառույթի զանգը հաջողությամբ կատարվի:
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Վերադարձնում է DeviceHandle-ը
ResultDeviceHandle () Հետևյալ գործառույթներն օգնում են որոշել սարքի բռնակի ճշգրիտ արդյունքը.
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 (Արդյունքի հաստատուն և արդյունք)
8.28.10 ԱրդյունքՕբյեկտԲառարան
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է օբյեկտի բառարանի բովանդակությունը: Դասը ժառանգում է հանրային գործառույթները / պաշտպանված ատրիբուտները արդյունքի դասից և ունի հանրային անդամի հետևյալ գործառույթները.
getResult () Կարդում է սարքի նույնականացման վեկտորը, եթե ֆունկցիայի կանչը հաջողությամբ կատարվի:
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
49
8 Դասերի / գործառույթների հղում
Վերադարձնում է
const վեկտոր
ResultObjectDictionary () Հետևյալ գործառույթներն օգնում են ճշգրիտ օբյեկտի բառարանի արդյունքը սահմանելու հարցում.
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 (Արդյունքի հաստատուն և արդյունք)
8.28.11 Արդյունք Կապի վիճակ
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակը, եթե ֆունկցիան վերադարձնում է սարքի միացման վիճակի մասին տեղեկություն: Դասը ժառանգում է հանրային գործառույթները / պաշտպանված ատրիբուտները արդյունքի դասից և ունի հանրային անդամի հետևյալ գործառույթները.
getResult () Կարդում է սարքի բռնիչը, եթե գործառույթի զանգը հաջողությամբ կատարվի:
Սարքի միացման վիճակի մասին տեղեկատվություն nlc::ResultConnectionState::getResult () const
Վերադարձնում է DeviceConnectionStateInfo միացված / անջատված / ConnectedBootloader
ResultConnectionState () Հետևյալ գործառույթներն օգնում են սահմանել կապի վիճակի ճշգրիտ արդյունքը.
Արդյունքի միացման վիճակ (DeviceConnectionStateInfo const & result_)
ResultConnectionState (std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultConnectionState (Արդյունքի կայունություն և արդյունք)
8.28.12 ResultObjectEntry
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է օբյեկտի գրառում: Դասը ժառանգում է public functions / protected ատրիբուտները արդյունքի դասից և ունի հետևյալ public անդամ ֆունկցիաները՝
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
50
8 Դասերի / գործառույթների հղում
getResult () ֆունկցիայի կանչի հաջողության դեպքում վերադարձնում է սարքի ID վեկտորը։
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Վերադարձնում է Const ObjectEntry-ը
ResultObjectEntry () Հետևյալ գործառույթներն օգնում են որոշել օբյեկտի մուտքագրման ճշգրիտ արդյունքը.
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 (Արդյունքի հաստատուն և արդյունք)
8.28.13 ResultObjectSubEntry
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադարձնում է օբյեկտի ենթագրառում: Դասը ժառանգում է public functions / protected ատրիբուտները արդյունքի դասից և ունի հետևյալ public անդամ ֆունկցիաները՝
getResult () ֆունկցիայի կանչի հաջողության դեպքում վերադարձնում է սարքի ID վեկտորը։
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Վերադարձնում է Const ObjectSubEntry
ResultObjectSubEntry () Հետևյալ գործառույթներն օգնում են որոշել օբյեկտի ենթամուտքի ճշգրիտ արդյունքը.
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 (Արդյունքի հաստատուն և արդյունք)
8.28.14 ResultProfinetDevices
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե գործառույթը վերադարձնում է Profinet սարքը: Դասը ժառանգում է հանրային գործառույթները / պաշտպանված ատրիբուտները արդյունքի դասից և ունի հանրային անդամի հետևյալ գործառույթները.
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
51
8 Դասերի / գործառույթների հղում
getResult () Կարդում է Profinet սարքի վեկտորը, եթե ֆունկցիայի կանչը հաջողությամբ կատարվի:
const std::vector & getResult() const
ResultProfinetDevices () Հետևյալ գործառույթներն օգնում են ճշգրիտ Profinet սարքերի սահմանմանը:
ResultProfinetDevices (const std::vector) և profinetDevices)
ResultProfinetDevices (const Արդյունք և արդյունք)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ԱրդյունքՍampleDataArray
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադառնում է որպեսample տվյալների զանգված. Դասը ժառանգում է հանրային գործառույթները / պաշտպանված ատրիբուտները արդյունքի դասից և ունի հանրային անդամի հետևյալ գործառույթները.
getResult () Կարդում է տվյալների զանգվածը, եթե ֆունկցիայի կանչը հաջող է:
const std::vector <SampleData> & getResult () const
ԱրդյունքներampleDataArray () Հետևյալ գործառույթներն օգնում են ճշգրիտ Profinet սարքերի սահմանմանը:
ԱրդյունքներampleDataArray (const std::vector <S)ampleData> & dataArray)
ԱրդյունքներampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
ԱրդյունքներampleDataArray (const ResultS)ampleDataArray և այլն)
ԱրդյունքներampleDataArray (const Result & result)
8.28.16 ԱրդյունքՍamplerPate
NanoLib-ը ձեզ ուղարկում է այս դասի օրինակ, եթե ֆունկցիան վերադառնում է որպեսampler state.Այս դասը ժառանգում է հանրային գործառույթները / պաշտպանված ատրիբուտները արդյունքի դասից և ունի հանրային անդամի հետևյալ գործառույթները.
getResult () Կարդում է սampler վիճակի վեկտորը, եթե ֆունկցիայի կանչը հաջողված է:
SamplerState getResult () const
Վերադարձնում է ՍamplerState>
Չկազմաձևված / Կազմաձևված / Պատրաստ / Գործող / Ավարտված / Չհաջողվեց / Չեղարկված
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
52
8 Դասերի / գործառույթների հղում
ԱրդյունքներamplerState () Հետևյալ ֆունկցիաները օգնում են սահմանել ճշգրիտ sampլեռ պետություն.
ԱրդյունքներamplerState (const S)ampպետական պետություն)
ԱրդյունքներamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t)
ընդլայնվածՍխալիԿոդ = 0)
ԱրդյունքներamplerState (const ResultS)amplerState և այլ)
ԱրդյունքներamplerState (const Result & result)
8.29 NlcErrorCode
Եթե ինչ-որ բան սխալ է, արդյունքների դասերը հայտնում են այս թվարկումում նշված սխալի կոդերից մեկը:
Սխալի կոդ՝ Հաջողություն, Ընդհանուր, Սխալ, Bus, Անհասանելի, Հաղորդակցության, Սխալ, Protocol, Սխալ
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments Access Denied ResourceNotFound ResourceUnailable OutOfMemory TimeOutError
C: Կատեգորիա D: Նկարագրություն R: Պատճառը C: Չկա: Դ: Սխալ չկա: R: Գործողությունը հաջողությամբ ավարտվեց:
C: Չճշտված: D: Չճշտված սխալ: R: Անհաջողություն, որը չի համապատասխանում որևէ այլ կատեգորիայի:
C: Ավտոբուս: D: Սարքավորումների ավտոբուսը հասանելի չէ: R. Ավտոբուսը գոյություն չունի, անջատված է կամ թերություն:
C: Հաղորդակցություն: D: Հաղորդակցությունն անհուսալի է: R: Անսպասելի տվյալներ, սխալ CRC, շրջանակի կամ հավասարության սխալներ և այլն:
C: Արձանագրություն. D: Արձանագրության սխալ: R. Արձագանք՝ չաջակցվող արձանագրության տարբերակից հետո, սարքի մասին չաջակցվող արձանագրություն, արձանագրության սխալ (ասենք՝ SDO հատվածի համաժամացման բիթ) և այլն: R. Պատասխան կամ սարքի հաշվետվություն չաջակցվող արձանագրությանը (ընտրանքներ) կամ արձանագրության սխալներին (օրինակ՝ SDO): հատվածի համաժամացման բիթ) և այլն: R. չաջակցվող արձանագրություն (տարբերակներ) կամ արձանագրության սխալ (ասենք, SDO հատվածի համաժամացման բիթ) և այլն:
C: Օբյեկտների բառարան։ D: OD հասցեն գոյություն չունի։ R: Օբյեկտների բառարանում նման հասցե չկա։
Գ. Առարկայական բառարան. D. OD հասցեի մուտքն անվավեր է: R: Փորձեք գրել միայն կարդալու կամ կարդալու միայն գրելու հասցեից:
Գ. Օբյեկտների բառարան. D. Տիպի անհամապատասխանություն: R: Արժեքը չի փոխարկվում նշված տեսակի, ասենք, տողը որպես թիվ դիտարկելու փորձ:
C: Դիմում. Դ. Գործընթացը ընդհատվեց: R: Գործընթացը կրճատվել է դիմումի հարցումով: Վերադարձնում է միայն աշխատանքի ընդհատման դեպքում՝ հետ կանչելու ֆունկցիայի միջոցով, ասենք՝ ավտոբուսի սկանավորումից:
C: Ընդհանուր: D. Գործընթացը չի աջակցվում: R: Սարքավորումների ավտոբուսի / սարքի աջակցություն չկա:
C: Ընդհանուր: D. Գործընթացը սխալ է ընթացիկ համատեքստում կամ անվավեր է ընթացիկ արգումենտով: R: Վերամիացման փորձ արդեն միացված ավտոբուսներին / սարքերին: Անջատման փորձ արդեն անջատվածներին: Bootloader-ի շահագործման փորձ որոնվածի ռեժիմում կամ հակառակը:
C: Ընդհանուր: D: Փաստարկն անվավեր է: R: Սխալ տրամաբանություն կամ շարահյուսություն:
C: Ընդհանուր: D: Մուտքն արգելված է: R. Իրավունքների կամ հնարավորությունների բացակայություն պահանջվող գործողությունը կատարելու համար:
C: Ընդհանուր: D: Նշված տարրը չի գտնվել: R՝ ապարատային ավտոբուս, արձանագրություն, սարք, OD հասցե սարքի վրա կամ file չի գտնվել։
C: Ընդհանուր: D: Նշված տարրը չի գտնվել: R: զբաղված, գոյություն չունեցող, կտրված կամ թերություն:
C: Ընդհանուր: D: Անբավարար հիշողություն: R: Չափազանց քիչ հիշողություն այս հրամանը մշակելու համար:
C: Ընդհանուր: D. Գործընթացը սպառվել է: R: Վերադարձ թայմ-աութի ավարտից հետո: Ժամկետը կարող է լինել սարքի արձագանքման ժամանակ, ընդհանուր կամ բացառիկ ռեսուրսների հասանելիություն ձեռք բերելու ժամանակ կամ ավտոբուսը/սարքը հարմար վիճակի փոխելու ժամանակ:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
53
8 Դասերի / գործառույթների հղում
8.30 NlcCallback
Հետկանչերի համար նախատեսված այս ծնող դասը ունի հետևյալ public member ֆունկցիան՝ callback()
վիրտուալ ResultVoid հետկանչ ()
Վերադարձնում է
Արդյունք Անվավեր
8.31 NlcDataTransferCallback
Օգտագործեք այս հետադարձ կապի դասը տվյալների փոխանցման համար (ներդրված ծրագրի թարմացում, NanoJ վերբեռնում և այլն): 1. Ներդրված ծրագրի վերբեռնման համար. Սահմանեք «համադաս», որը ընդլայնում է սա՝ օգտագործելով հատուկ հետադարձ կապի մեթոդ:
իրականացում։ 2. Օգտագործեք «համադասի» օրինակները NanoLibAccessor.uploadFirmware () կանչերում։ Main դասն ինքնին ունի հետևյալ public member ֆունկցիան՝
հետադարձ զանգ () virtual ResultVoid հետադարձ զանգ (nlc::DataTransferInfo info, int32_t data)
Վերադարձնում է
Արդյունք Անվավեր
8.32 NlcScanBusCallback
Օգտագործեք այս հետադարձ կանչի դասը ավտոբուսի սկանավորման համար։ 1. Սահմանեք «համադաս»՝ ընդլայնելով սա՝ օգտագործելով հետադարձ կանչի մեթոդի իրականացում։ 2. Օգտագործեք «համադասի» օրինակները NanoLibAccessor.scanDevices () կանչերում։ Main դասն ինքնին ունի հետևյալ public member ֆունկցիան։
ետ Զանգիր ()
վիրտուալ ResultVoid հետկանչ (nlc::BusScanInfo info, std::vector const & devicesԳտնվել է, int32_t տվյալներ)
Վերադարձնում է ResultVoid-ը
8.33 NlcLoggingCallback
Օգտագործեք հետադարձ զանգի այս դասը հետադարձ զանգերը գրանցելու համար: 1. Սահմանեք դաս, որը ընդլայնում է այս դասը հատուկ հետադարձ զանգի մեթոդի ներդրմամբ:
setLoggingCallback (…):
վիրտուալ դատարկության հետադարձ կանչ (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 ՍamplerԻնտերֆեյս
Օգտագործեք այս դասը՝ s-ը կարգավորելու, սկսելու և դադարեցնելու համարampler, կամ ստանալ սampled տվյալները և բեռնել որպեսampler-ի կարգավիճակը կամ վերջին սխալը. Դասարանը ունի հանրային անդամի հետևյալ գործառույթները.
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
54
8 Դասերի / գործառույթների հղում
կարգավորել () Կարգավորվում է որպեսampլեր
վիրտուալ ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerԿազմաձևում և ներamplerConfiguration)
Պարամետրեր [in] deviceHandle [in] samplerConfiguration
Վերադարձնում է ResultVoid-ը
Նշում է, թե որ սարքը պետք է կարգավորել sampler համար. Նշում է կազմաձևման ատրիբուտների արժեքները: Հաստատում է, որ void ֆունկցիան գործարկվել է:
getData () Ստանում է sampled տվյալները:
վիրտուալ արդյունքներampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Պարամետրեր [in] deviceHandle Returns ResultSampleDataArray
Նշում է, թե ինչ սարքի համար պետք է ստանալ տվյալները:
Առաքում է սampled տվյալներ, որոնք կարող են լինել դատարկ զանգված, եթե samplerNotify-ն ակտիվ է մեկնարկից:
getLastError () Ստանում է որպեսampԼեռի վերջին սխալը.
վիրտուալ ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
Վերադարձնում է ResultVoid-ը
Հաստատում է, որ void ֆունկցիան գործարկվել է:
getState () Ստանում է որպեսampԼեռի կարգավիճակը։
վիրտուալ արդյունքներamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Վերադարձնում է արդյունքներըamplerPate
Առաքում է սampլեռ պետություն.
start () Սկսվում է որպեսampլեր
վիրտուալ ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, S)amplerNotify* ներamplerNotify, int64_t applicationData)
Պարամետրեր [in] deviceHandle [in] Sampler Տեղեկացնել [in] applicationData
Վերադարձնում է ResultVoid-ը
Հստակեցնում է, թե ինչ սարք է սկսել sampler համար.
Նշում է, թե ինչ կամընտիր տեղեկատվություն պետք է զեկուցել (կարող է լինել nullptr):
Տարբերակ. Փոխանցում է հավելվածին առնչվող տվյալները (օգտագործողի կողմից սահմանված 8-բիթանոց արժեքի զանգված/սարքի ID/ինդեքս, կամ ամսաթիվ ժամ, փոփոխականի/ֆունկցիայի ցուցիչ և այլն) դեպի sampler Ծանուցել.
Հաստատում է, որ void ֆունկցիան գործարկվել է:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
55
8 Դասերի / գործառույթների հղում
stop () Stop asampլեր
վիրտուալ ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
Պարամետրեր [in] deviceHandle Returns ResultVoid
Նշում է, թե ինչ սարք է կանգնեցնել sampler համար. Հաստատում է, որ void ֆունկցիան գործարկվել է:
8.35 ՍamplerConfiguration struct
Այս կառուցվածքը պարունակում է տվյալները sampler-ի կազմաձևման տարբերակները (ստատիկ, թե ոչ):
Հանրային հատկանիշներ
std::վեկտոր հետագծված հասցեներ
Մինչև 12 OD հասցե պետք է լինի sampգլխավորեց
uint32_t
տարբերակը
Կառույցի տարբերակ.
uint32_t
տևողությունը Միլիվայրկյաններ
Sampլինգի տևողությունը ms-ով, 1-ից մինչև 65535
uint16_t
ժամանակաշրջանՄիլիվայրկյաններ
Sampling ժամանակահատվածը ms-ում:
uint16_t
համարըOfSamples
Sampպակաս գումար:
uint16_t
preTriggerNumberOfSamples
Samples pre-trigger գումարը:
բուլ
օգտագործելով Software Implementation
Օգտագործեք ծրագրային ապահովման ներդրում:
բուլ
օգտագործելով NewFWSamplerImplementation Օգտագործեք FW իրականացումը ա
FW տարբերակը v24xx կամ ավելի նոր:
SamplerMode
ռեժիմ
Նորմալ, կրկնվող կամ շարունակական սampլինգ
SamplerTriggerCondition triggerCondition
Մեկնարկի ձգանման պայմանները՝ TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, ձգանման արժեք
SamplerTrigger
SamplerTrigger
Մի ձգան սկսելու համար որպեսampler?
Ստատիկ հանրային ատրիբուտներ
static constexpr size_t ՍAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 Սampler Ծանուցել
Օգտագործեք այս դասը՝ s-ն ակտիվացնելու համարampler ծանուցումներ, երբ դուք սկսում եք որպեսampler. Դասարանը ունի հանրային անդամի հետևյալ գործառույթը.
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
56
8 Դասերի / գործառույթների հղում
տեղեկացնել ()
Մատուցում է ծանուցման գրառում։
վիրտուալ դատարկություն nlc::SamplerNotify::notify (const ResultVoid & lastError, const S)ampԼեռՊետական սamplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)
Պարամետրեր [in] lastError [in] samplerPate
[in] sampleDatas [in] applicationData
Հաղորդում է, որ վերջին սխալը տեղի է ունեցել, երբ sampլինգ. Հաղորդում է սampler կարգավիճակը ծանուցման պահին. Չկազմաձևված / Կազմաձևված / Պատրաստ / Գործող / Ավարտված / Չհաջողվեց / Չեղարկված: Հաղորդում է սampled-data array. Հաղորդում է հավելվածի հատուկ տվյալներ:
8.37 ՍampleData struct
Այս կառուցվածքը պարունակում է սampled տվյալները:
uin64_t iterationNumber
Սկսվում է 0-ից և ավելանում է միայն կրկնվող ռեժիմում:
std::vector<SampledValues> Պարունակում է s-ի զանգվածampառաջնորդված արժեքներ.
8.38 ՍampledValue struct
Այս կառուցվածքը պարունակում է սampառաջնորդված արժեքներ.
in64_t արժեքը uin64_t CollectTimeMsec
Պարունակում է հետևված OD հասցեի արժեքը:
Պարունակում է հավաքման ժամանակը միլիվայրկյաններով՝ հարաբերական sampսկիզբը.
8.39 ՍamplerTrigger struct
Այս կառուցվածքը պարունակում է s-ի ձգանման կարգավորումներըampլեր
SamplerTriggerCondition պայման
OdIndex uin32_t արժեքը
Գործարկման պայմանը՝ TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
Գործարկիչի OdIndex (հասցե):
Պայմանի արժեքը կամ բիթային համարը (սկսած բիթ զրոյից):
8.40 Սերիական կառուցվածք
Գտեք այստեղ ձեր սերիական հաղորդակցման տարբերակները և հետևյալ հանրային հատկանիշները.
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = “սերիական բոդ արագություն” baudRate =SerialBaudRate կառուցվածք
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
57
8 Դասերի / գործառույթների հղում
const std::string const SerialParity
PARITY_OPTIONS_NAME = “սերիական հավասարություն” հավասարություն = SerialParity կառուցվածք
8.41 SerialBaudRate struct
Գտեք այստեղ ձեր սերիական կապի արագությունը և հետևյալ հանրային հատկանիշները.
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400 BAUD_56000” 56000 = «57600» BAUD_RATE_57600 = «115200» BAUD_RATE_115200 = «128000» BAUD_RATE_128000 = «256000»
8.42 Serial Parity struct
Գտեք այստեղ ձեր սերիական հավասարության տարբերակները և հետևյալ հանրային ատրիբուտները.
const std::string const std::string const std::string const std::string const std::string
ՈՉ ՄԻ = «ոչ մեկը» ԿՈՆ = «կենտ» ԶՈՒՅՍ = «զույգ» ՄԱՐԿ = «նշել» ՏԵՂԱԴՐՈՒԹՅՈՒՆ = «բացատ»
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
58
9 Լիցենզիաներ
9 Լիցենզիաներ
NanoLib API ինտերֆեյսի վերնագրեր և այլնampԱղբյուրի կոդը լիցենզավորված է Nanotec Electronic GmbH & Co. KG-ի կողմից Creative Commons Attribution 3.0 Unported License (CC BY): Գրադարանի մասերը, որոնք տրամադրվում են երկուական ձևաչափով (հիմնական և դաշտային հաղորդակցության գրադարաններ) լիցենզավորված են Creative Commons AttributionNoDerivatives 4.0 միջազգային լիցենզիայի ներքո (CC BY ND):
Creative Commons
Մարդկանց համար ընթեռնելի հետևյալ ամփոփագիրը ինքնին չի փոխարինի լիցենզիա(եր)ին: Համապատասխան լիցենզիան կարող եք գտնել creativecommons.org կայքում և հղվել ստորև: Դուք ազատ եք՝
CC BY 3.0
Կիսվել՝ տես աջ։ Հարմարեցեք. վերամիքսեք, փոխակերպեք և հիմնեք դրա վրա
նյութ ցանկացած նպատակի համար, նույնիսկ կոմերցիոն:
CC BY-ND 4.0
Տարածեք. պատճենեք և վերաբաշխեք նյութը ցանկացած կրիչով կամ ձևաչափով:
Արտոնագրողը չի կարող չեղյալ համարել վերը նշված ազատությունները, քանի դեռ դուք ենթարկվում եք հետևյալ լիցենզիայի պայմաններին.
CC BY 3.0
CC BY-ND 4.0
Վերագրում. Դուք պետք է համապատասխան գնահատական տաք, վերագրում. տես ձախում: Բայց. Տրամադրեք հղում սրա համար
տրամադրեք լիցենզիայի հղում և նշեք, եթե
այլ լիցենզիա։
փոփոխություններ են կատարվել. Դուք կարող եք դա անել ցանկացած դեպքում
Առանց ածանցյալների. Եթե դուք ռեմիքս եք անում, փոխակերպում կամ կառուցում
ողջամիտ ձևով, բայց ոչ որևէ կերպ, որը հուշում է.
նյութի վրա դուք չեք կարող տարածել
ենթադրում է, որ արտոնագրողը հաստատում է ձեզ կամ ձեր օգտագործումը:
փոփոխված նյութ.
Լրացուցիչ սահմանափակումներ չկան. Դուք չեք կարող կիրառել Լրացուցիչ սահմանափակումներ չկան. տես ձախից: իրավական տերմիններ կամ տեխնոլոգիական միջոցներ, որոնք օրինականորեն
սահմանափակել ուրիշներին արտոնագրով որևէ բան անելուց
թույլտվություններ.
Նշում. Դուք չպետք է համապատասխանեք լիցենզիային հանրային տիրույթում գտնվող նյութի տարրերի համար կամ որտեղ ձեր օգտագործումը թույլատրված է կիրառելի բացառությամբ կամ սահմանափակումով:
Նշում. երաշխիքներ չեն տրվում: Լիցենզիան չի կարող ձեզ տալ ձեր նպատակային օգտագործման համար անհրաժեշտ բոլոր թույլտվությունները: ՆախampԱյլ իրավունքներ, ինչպիսիք են հրապարակայնությունը, գաղտնիությունը կամ բարոյական իրավունքները կարող են սահմանափակել նյութի օգտագործումը:
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
59
Տպագրություն, կապ, տարբերակներ
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 ՖելդկիրխենԳերմանիա Հեռ․+49(0) 89 900 686-0 Ֆաքս+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Բոլոր իրավունքները պաշտպանված են։ Սխալներ, բացթողումներ, տեխնիկական կամ բովանդակային փոփոխություններ հնարավոր են առանց նախնական ծանուցման։ Նշված ապրանքանիշերը/արտադրանքը իրենց սեփականատերերի ապրանքանիշերն են և պետք է դիտարկվեն որպես այդպիսին։ Բնօրինակ տարբերակ։
Փաստաթուղթ 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
+ Ավելացված > Փոփոխված # Ուղղված > Տրամադրված ex-ի վերամշակումamples.
+ NanoLib Modbus. Ավելացվել է Modbus VCP-ի սարքի կողպման մեխանիզմը։ # NanoLib Core. Ուղղվել է կապի վիճակի ստուգումը։ # NanoLib կոդ. Ուղղվել է ավտոբուսի սարքավորումների հղման հեռացումը։
+ NanoLib-CANopen: Աջակցություն Peak PCAN-USB ադապտերին (IPEH-002021/002022):
> NanoLib Core. Փոխվել է գրանցման հետադարձ կապի ինտերֆեյսը (LogLevel-ը փոխարինվել է LogModule-ով): # NanoLib Logger. Ուղղվել է միջուկի և մոդուլների միջև բաժանումը: # Modbus TCP. Ուղղվել է FW4-ի համար նախատեսված ներկառուցված ծրագրի թարմացումը: # EtherCAT. Ուղղվել է NanoJ ծրագրի բեռնումը Core5-ի համար: # EtherCAT. Ուղղվել է Core5-ի համար նախատեսված ներկառուցված ծրագրի թարմացումը:
# Modbus RTU. որոնվածը թարմացնելու ընթացքում շտկել է ժամանակի հետ կապված խնդիրները: # ՀԱՆԳՍՏ. ՆանոՋ ծրագրի վերբեռնումը ֆիքսված է:
# NanoLib մոդուլներ ՍampԼեռ՝ Ս–ի ճիշտ ընթերցումampled բուլյան արժեքներ.
+ Java 11 աջակցություն բոլոր հարթակների համար: + Python 3.11/3.12 աջակցություն բոլոր հարթակների համար: + Նոր գրանցման հետադարձ կապի ինտերֆեյս (տես օրինակamples): + Հետադարձ կապի լվացարաններ NanoLib Logger-ի համար: > Թարմացրեք լոգերը 1.12.0 տարբերակին: > NanoLib մոդուլներ ՍampԱջակցեք Nanotec վերահսկիչի որոնվածը v24xx հիմա: > NanoLib մոդուլներ Սampler՝ կառուցվածքի փոփոխություն, որն օգտագործվում է սampler կոնֆիգուրացիա. > NanoLib մոդուլներ Սampler: Շարունակական ռեժիմը հոմանիշ է անվերջ; ձգանման վիճակը ստուգվում է մեկ անգամ. ս–ների թիվըamples-ը պետք է լինի 0: > NanoLib Modules Sampler. Նորմալ առաջնահերթություն այն թեմայի համար, որը տվյալներ է հավաքում որոնվածի ռեժիմում: > NanoLib մոդուլներ Սampler. Վերագրված ալգորիթմ՝ «Պատրաստ» և «Գործող» վիճակի միջև անցումը հայտնաբերելու համար: # NanoLib Core. Այլևս չկա մուտքի խախտում (0xC0000005) 2 կամ ավելի սարքեր փակելու դեպքում՝ օգտագործելով նույն ավտոբուսի սարքավորումը: # NanoLib Core. Linux-ի տակ PEAK ադապտեր կցելու դեպքում այլևս սեգմենտացիայի սխալ չկա: # NanoLib մոդուլներ Սampler: Ճիշտ sampled-արժեքների ընթերցում որոնվածի ռեժիմում: # NanoLib մոդուլներ Սampler: 502X:04-ի ճիշտ կոնֆիգուրացիա: # NanoLib մոդուլներ Սampler. Բուֆերների ճիշտ խառնում ալիքների հետ: # NanoLib-Canopen. CAN-ի ժամանակի ավելացում՝ կայունության և ճիշտ սկանավորման համար ավելի ցածր բաուդրատներում: # NanoLib-Modbus. VCP հայտնաբերման ալգորիթմ հատուկ սարքերի համար (USB-DA-IO):
+ EtherCAT աջակցություն։
+ Նշում VS նախագծի կարգավորումների վերաբերյալ՝ «Կարգավորեք ձեր նախագիծը» բաժնում։
+ getDeviceHardwareGroup(). + getProfinetDCP(isServiceAvailable). + getProfinetDCP(validateProfinetDeviceIp). + autoAssignObjectDictionary(). + getXmlFileԱնուն (). + const std::string & xmlFileaddObjectDictionary ().-ում ուղին + getSamplerInterface ():
Ապրանք 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)
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
60
10 Դրոշմ, կոնտակտ, տարբերակներ
Փաստաթուղթ
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
+ Ավելացված > Փոփոխված # Ուղղված է + rebootDevice(). + Սխալի կոդ ResourceUnavailable getDeviceBootloaderVersion(), ~VendorId(), ~HardwareVersion(), ~SerialNumber, և ~Uid-ի համար։ > firmwareUploadFromFile հիմա վերբեռնեքFirmwareFromFile (). > firmwareUpload () հիմա վերբեռնեքFirmware (). > bootloaderUploadFromFile () հիմա բեռնելBootloaderFrom-ըFile (). > bootloaderUpload () հիմա վերբեռնեքBootloader (). > bootloaderFirmwareUploadFromFile () բեռնելու համարBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () հիմա վերբեռնում էBootloaderFirmware (). > nanojUploadFromFile () հիմա վերբեռնեք NanoJFrom-ըFile (). > nanojUpload ()-ը այժմ uploadNanoJ ()։ > objectDictionaryLibrary ()-ը այժմ getObjectDictionaryLibrary ()։ > String_String_Map-ը այժմ StringStringMap-ն է։ > NanoLib-Common: listAvailableBusHardware-ի և openBusHardwareWithProtocol-ի ավելի արագ կատարում Ixxat ադապտերով։ > NanoLib-CANopen: օգտագործվում են լռելյայն կարգավորումները (1000k բոդրեյթ, Ixxat ավտոբուսի համարը՝ 0), եթե ավտոբուսի սարքավորումների տարբերակները դատարկ են։ > NanoLib-RESTful: ադմինիստրատորի թույլտվությունը հնացած է Windows-ում Ethernet բեռնիչների հետ հաղորդակցվելու համար, եթե npcap / winpcap դրայվերը հասանելի է։ # NanoLib-CANopen: ավտոբուսի սարքավորումները այժմ բացվում են առանց վթարների՝ դատարկ տարբերակներով։ # NanoLib-Common: openBusHardwareWithProtocol ()-ը այժմ առանց հիշողության արտահոսքի։
+ Linux ARM64 աջակցություն։ + USB զանգվածային պահեստ / REST / Profinet DCP աջակցություն։ + checkConnectionState(). + getDeviceBootloaderVersion(). + ResultProfinetDevices. + NlcErrorCode (փոխարինել է NanotecExceptions-ը)։ + NanoLib Modbus. VCP / USB հանգույցը միավորված է USB-ի հետ։ > Modbus TCP սկանավորումը վերադարձնում է արդյունքները։ < Modbus TCP հաղորդակցության լատենտությունը մնում է անփոփոխ։
+ Ավելի շատ ObjectEntryDataType (բարդ և պրոֆեսիոնալ)file-specific). + IOError կվերադարձնի, եթե connectDevice () և scanDevices () ֆունկցիաները ոչինչ չեն գտնում։ + CanOpen / Modbus-ի համար անվանական ժամանակի ավարտը ընդամենը 100 մվ է։
+ Modbus աջակցություն (գումարած USB Hub VCP-ի միջոցով): + Գլուխ՝ Ձեր սեփական Linux նախագծի ստեղծումը: + extraHardwareSpecifier-ը BusHardwareId-ին (): + extraId_ և extraStringId_-ը DeviceId-ին ():
+ setBusState(). + getDeviceBootloaderBuildId(). + getDeviceFirmwareBuildId(). + getDeviceHardwareVersion(). # Սխալների ուղղումներ։
Հրատարակություն.
Արտադրանք
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Տարբերակ՝ doc 1.4.2 / NanoLib 1.3.0
61
Փաստաթղթեր / ռեսուրսներ
![]() |
Նանոտիկ NanoLib C++ ծրագրավորում [pdf] Օգտագործողի ձեռնարկ NanoLib C ծրագրավորում, C ծրագրավորում, ծրագրավորում |

