និមិត្តសញ្ញាណាណូតេក

ការរួមបញ្ចូល Nanotec NanoLib នៃ Controllers Drives Software

Nanotec-NanoLib-ការរួមបញ្ចូល-នៃ-ឧបករណ៍បញ្ជា-ដ្រាយ-កម្មវិធី-ផលិតផល

លក្ខណៈបច្ចេកទេស

  • ឈ្មោះផលិតផល៖ ណាណូលីប
  • កំណែ JavaJRE/JDK៖ 11
  • កំណែផលិតផល៖ 1.1.2
  • កំណែសៀវភៅណែនាំអ្នកប្រើប្រាស់៖ 1.0.2

ព័ត៌មានអំពីផលិតផល

បណ្ណាល័យ NanoLib ត្រូវ​បាន​រចនា​ឡើង​សម្រាប់​កម្មវិធី​គ្រប់គ្រង​កម្មវិធី​សម្រាប់​ឧបករណ៍​បញ្ជា Nanotec។ វាមានចំណុចប្រទាក់អ្នកប្រើ មុខងារស្នូល និងបណ្ណាល័យទំនាក់ទំនង។

ថ្នាក់/អនុគមន៍យោង

សូមមើលសៀវភៅណែនាំអ្នកប្រើប្រាស់សម្រាប់ព័ត៌មានលម្អិតអំពីថ្នាក់ និងមុខងារទាំងអស់ដែលមាននៅក្នុង NanoLib សម្រាប់គោលបំណងសរសេរកម្មវិធី។

សំណួរគេសួរញឹកញាប់

  • សំណួរ៖ តើការប្រើប្រាស់ NanoLib មានគោលបំណងអ្វី?
    • A: NanoLib ត្រូវបានបម្រុងទុកសម្រាប់កម្មវិធីគ្រប់គ្រងកម្មវិធីសម្រាប់ឧបករណ៍បញ្ជា Nanotec ។
  • សំណួរ: តើខ្ញុំអាចផ្លាស់ប្តូរកម្រិតនៃការកាប់ឈើនៅក្នុង NanoLib យ៉ាងដូចម្តេច?
    • A: ប្រើមុខងារ NanoLibAccessor ដែលមាននៅក្នុងសៀវភៅណែនាំអ្នកប្រើប្រាស់ ដើម្បីផ្លាស់ប្តូរកម្រិតនៃការកត់ត្រា។

សៀវភៅណែនាំអ្នកប្រើប្រាស់ NanoLib
JavaJRE/JDK ១១

មានសុពលភាពជាមួយកំណែផលិតផល 1.1.2

កំណែសៀវភៅណែនាំអ្នកប្រើប្រាស់៖ ១.៩

គោលបំណងនៃឯកសារ និងអនុសញ្ញា

1 គោលបំណងឯកសារ និងអនុសញ្ញា
ឯកសារនេះពិពណ៌នាអំពីការដំឡើង និងការប្រើប្រាស់បណ្ណាល័យ NanoLib និងមានឯកសារយោងទៅកាន់ថ្នាក់ និងមុខងារទាំងអស់សម្រាប់សរសេរកម្មវិធីគ្រប់គ្រងផ្ទាល់ខ្លួនរបស់អ្នកសម្រាប់ឧបករណ៍បញ្ជា NanoTec ។ យើងប្រើពុម្ពអក្សរខាងក្រោម៖
អត្ថបទ​គូស​បន្ទាត់​ពី​ក្រោម​សម្គាល់​សេចក្តី​យោង​ឆ្លង​ឬ​តំណ​ខ្ពស់​។
Example 1: សម្រាប់ការណែនាំពិតប្រាកដនៅលើ NanoLibAccessor សូមមើលការដំឡើង។ ឧample 2: ដំឡើងកម្មវិធីបញ្ជា Ixxat ហើយភ្ជាប់អាដាប់ទ័រ CAN-to-USB ។ អក្សរទ្រេតមានន័យថា៖ នេះគឺជាវត្ថុដែលមានឈ្មោះ ផ្លូវម៉ឺនុយ / ធាតុ ផ្ទាំង / file ឈ្មោះ ឬ (បើចាំបាច់) កន្សោមជាភាសាបរទេស។
Exampលេខ ១៖ ជ្រើសរើស 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 ដំឡើងដើម្បីចម្លងវត្ថុដែលបានចែករំលែក។ បន្ទាប់មកហៅទៅ ldconfig ។ ឧample 2: ប្រើមុខងារ NanoLibAccessor ខាងក្រោមដើម្បីផ្លាស់ប្តូរកម្រិតនៃការកត់ត្រានៅក្នុង NanoLib៖
// ***** បំរែបំរួល C ++ *****
void setLoggingLevel (កម្រិត LogLevel);
អត្ថបទដិតសង្កត់ធ្ងន់លើពាក្យបុគ្គលដែលមានសារសំខាន់។ ម៉្យាងទៀត សញ្ញាឧទានតង្កៀបបញ្ជាក់ពីសារៈសំខាន់សំខាន់ (!) ។
Exampលេខ ១៖ ការពារខ្លួនអ្នក អ្នកដទៃ និងឧបករណ៍របស់អ្នក។ អនុវត្តតាមកំណត់សម្គាល់សុវត្ថិភាពទូទៅរបស់យើង ដែលជាទូទៅអាចអនុវត្តបានចំពោះផលិតផលណាណូតេកទាំងអស់។
Example 2: សម្រាប់ការការពារផ្ទាល់ខ្លួនរបស់អ្នក សូមអនុវត្តតាមកំណត់សម្គាល់សុវត្ថិភាពជាក់លាក់ដែលអនុវត្តចំពោះផលិតផលជាក់លាក់នេះ។ កិរិយាសព្ទដើម្បី co-click មានន័យថាការចុចតាមរយៈគ្រាប់ចុចទីពីរដើម្បីបើកម៉ឺនុយបរិបទ។ល។
Exampលេខ 1: ចុចលើប៊ូតុង fileជ្រើសរើស ប្តូរឈ្មោះ ហើយប្តូរឈ្មោះ file។ ឧampលេ 2: ដើម្បីពិនិត្យមើលលក្ខណសម្បត្តិ សូមចុចលើប៊ូតុង file ហើយជ្រើសលក្ខណៈសម្បត្តិ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

4

មុនពេលអ្នកចាប់ផ្តើម

2 មុនពេលអ្នកចាប់ផ្តើម
មុនពេលអ្នកចាប់ផ្តើមប្រើ NanoLib សូមរៀបចំកុំព្យូទ័ររបស់អ្នក ហើយប្រាប់ខ្លួនអ្នកអំពីការប្រើប្រាស់ដែលបានគ្រោងទុក និងដែនកំណត់នៃបណ្ណាល័យ។
2.1 តម្រូវការប្រព័ន្ធ និងផ្នែករឹង
ជូនដំណឹងអំពីដំណើរការខុសប្រក្រតីពីប្រតិបត្តិការ 32 ប៊ីត! ប្រើប្រាស់ និងរក្សាជាប់លាប់ ប្រព័ន្ធ 64 ប៊ីត។ អនុវត្តតាមការណែនាំ OEM ត្រឹមត្រូវ។

NanoLib អាចប្រតិបត្តិបានតែក្រោមប្រព័ន្ធប្រតិបត្តិការ 64 ប៊ីតប៉ុណ្ណោះ។ វាគាំទ្រផលិតផល Nanotec ទាំងអស់ជាមួយ CANopen, Modbus RTU (រួមទាំង USB តាមរយៈ virtual comport), Modbus TCP ។ កំណែ 0.8.0 និងខ្ពស់ជាងនេះក៏គាំទ្រទំហំផ្ទុក USB និង Ethernet (តាមរយៈ REST) ​​ផងដែរ។ កំណែ 1.0.0 និងខ្ពស់ជាងនេះបន្ថែមការគាំទ្រ EtherCAT ។ ចំណាំ៖ អនុវត្តតាមការណែនាំ OEM ដែលមានសុពលភាព ដើម្បីកំណត់ភាពយឺតយ៉ាវទៅតម្លៃអប្បបរមាដែលអាចធ្វើទៅបាន ប្រសិនបើអ្នកជួបប្រទះបញ្ហានៅពេលប្រើអាដាប់ទ័រ USB ដែលមានមូលដ្ឋានលើ FTDI ។

កំណែ
១២៣ ៤

តម្រូវការ (ប្រព័ន្ធ 64 ប៊ីតចាំបាច់)
ប្រសិនបើ Python: កំណែ 3.7 ដល់ 3.12 ប្រសិនបើ Java: JRE / JDK 11 ឬខ្ពស់ជាងនេះ

អាដាប់ទ័រ Fieldbus / ខ្សែ
EtherCAT៖ ខ្សែអ៊ីសឺរណិត VCP/USB hub៖ ឥឡូវនេះជាឧបករណ៍ផ្ទុក USB ដ៏ធំរបស់ USB៖ ខ្សែ USB REST៖ ខ្សែ Ethernet CANopen៖ IXXAT USB-to-CAN V2; ណាណូតេក
ZK-USB-CAN-1
Modbus RTU: Nanotec ZK-USB-RS485-1 ឬអាដាប់ទ័រ USB-RS485 ដែលសមមូល; ខ្សែ USB តាមរយៈការបង្រួមនិម្មិត (VCP)
Modbus TCP: ខ្សែអ៊ីសឺរណិតយោងតាមតារាងទិន្នន័យផលិតផល

1.0.0

Windows 10 w/ Visual Studio
CANopen៖ កម្មវិធីបញ្ជា Ixxat VCI (ជាជម្រើស) ម៉ូឌុល EtherCat / Profinet DCP: Npcap ឬ
ម៉ូឌុល WinPcap RESTful៖ Npcap, WinPcap, ឬ ad-
ការអនុញ្ញាតអប្បបរមាដើម្បីទាក់ទងជាមួយកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធអ៊ីសឺរណិត

សូមមើលខាងលើ។

1.0.0

លីនុច w/ អ៊ូប៊ុនទូ

សូមមើលខាងលើ។

Profinet DCP៖ សមត្ថភាព CAP_NET_ADMIN និង CAP_ NET_RAW
CANopen៖ កម្មវិធីបញ្ជា Ixxat ECI EtherCat៖ CAP_NET_ADMIN, CAP_NET_
សមត្ថភាព RAW និង CAP_SYS_NICE
RESTful៖ សមត្ថភាព CAP_NET_ADMIN ក្នុងការទំនាក់ទំនង w/ Ethernet bootloaders (បានណែនាំផងដែរ៖ CAP_NET_RAW)

0.8.0

មជ្ឈមណ្ឌល VCP/USB៖ ឥឡូវនេះជាឧបករណ៍ផ្ទុកយូអេសប៊ី USB ឯកសណ្ឋាន៖ ខ្សែ USB REST៖ ខ្សែអ៊ីសឺរណិត

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

5

2 មុនពេលអ្នកចាប់ផ្តើម

តម្រូវការកំណែ (ជាកាតព្វកិច្ចប្រព័ន្ធ 64 ប៊ីត) 0.7.1

អាដាប់ទ័រ Fieldbus / ខ្សែ
CANOpen៖ IXXAT USB-to-CAN V2; Nanotec ZK-USB-CAN-1
Modbus RTU: Nanotec ZK-USB-RS485-1 ឬអាដាប់ទ័រ USB-RS485 ដែលសមមូល; ខ្សែ USB តាមរយៈការបង្រួមនិម្មិត (VCP)
Modbus TCP: ខ្សែអ៊ីសឺរណិតយោងតាមតារាងទិន្នន័យផលិតផល

2.2 ការប្រើប្រាស់ដោយចេតនា និងទស្សនិកជន
NanoLib គឺជាបណ្ណាល័យកម្មវិធី និងផ្នែកទន់សម្រាប់ប្រតិបត្តិការ និងការទំនាក់ទំនងជាមួយឧបករណ៍បញ្ជា Nanotec នៅក្នុងជួរដ៏ធំទូលាយនៃកម្មវិធីឧស្សាហកម្ម និងសម្រាប់តែអ្នកសរសេរកម្មវិធីដែលមានជំនាញត្រឹមត្រូវ។
ប្រព័ន្ធប្រតិបត្តិការមូលដ្ឋាន និងផ្នែករឹងដែលបានប្រើ (PC) ដែល NanoLib មានបំណងដំណើរការគឺមិនមានសមត្ថភាពពិតប្រាកដនោះទេ។ ដូច្នេះ NanoLib មិន​អាច​ត្រូវ​បាន​ប្រើ​សម្រាប់​កម្មវិធី​ដែល​តម្រូវ​ឱ្យ​មាន​ចលនា​ពហុ​អ័ក្ស​ដែល​ធ្វើ​សមកាលកម្ម ឬ​ជាទូទៅ​មាន​លក្ខណៈ​រសើប​ពេល​វេលា។
ក្នុងករណីណាក៏ដោយ អ្នកអាចបញ្ចូលផលិតផលណាណូតេកនេះជាសមាសធាតុសុវត្ថិភាពទៅក្នុងផលិតផល ឬប្រព័ន្ធ។ នៅលើការចែកចាយដល់អ្នកប្រើប្រាស់ចុងក្រោយ អ្នកត្រូវតែបន្ថែមការជូនដំណឹង និងការណែនាំដែលត្រូវគ្នាសម្រាប់ការប្រើប្រាស់ប្រកបដោយសុវត្ថិភាព និងប្រតិបត្តិការប្រកបដោយសុវត្ថិភាពចំពោះផលិតផលនីមួយៗជាមួយនឹងសមាសធាតុដែលផលិតដោយ Nanotec ។ អ្នក​ត្រូវ​តែ​បញ្ជូន​ការ​ជូន​ដំណឹង​ដែល​ចេញ​ដោយ Nanotec ទាំង​អស់​ត្រង់​ទៅ​អ្នក​ប្រើ​ចុង។
2.3 វិសាលភាពនៃការដឹកជញ្ជូន និងការធានា
NanoLib មកជាថត *.zip ពីការទាញយករបស់យើង។ webគេហទំព័រសម្រាប់ EMEA / APAC ឬ AMERICA ។ រក្សាទុកដោយត្រឹមត្រូវ និងពន្លាការទាញយករបស់អ្នកមុនពេលដំឡើង។ កញ្ចប់ NanoLib មាន៖
សម្រាប់វិសាលភាពនៃការធានា សូមគោរពតាមលក្ខខណ្ឌរបស់យើងសម្រាប់ EMEA / APAC ឬ AMERICA ហើយអនុវត្តតាមលក្ខខណ្ឌអាជ្ញាប័ណ្ណទាំងអស់យ៉ាងតឹងរឹង។ ចំណាំ៖ Nanotec មិនទទួលខុសត្រូវចំពោះកំហុស ឬគុណភាពហួសហេតុ ការគ្រប់គ្រង ការដំឡើង ប្រតិបត្តិការ ការប្រើប្រាស់ និងការថែទាំឧបករណ៍ភាគីទីបី! ដើម្បីសុវត្ថិភាពត្រឹមត្រូវ សូមអនុវត្តតាមការណែនាំ OEM ដែលមានសុពលភាពជានិច្ច។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

6

ស្ថាបត្យកម្ម NanoLib

3 ស្ថាបត្យកម្ម NanoLib

រចនាសម្ព័នកម្មវិធីម៉ូឌុលរបស់ NanoLib អនុញ្ញាតឱ្យអ្នករៀបចំមុខងារឧបករណ៍បញ្ជាម៉ូទ័រ / fieldbus ដែលអាចប្ដូរតាមបំណងបានដោយសេរីជុំវិញស្នូលដែលបានសាងសង់ជាមុនយ៉ាងតឹងរ៉ឹង។ NanoLib មានម៉ូឌុលដូចខាងក្រោមៈ

ចំណុចប្រទាក់អ្នកប្រើ (API)

ស្នូល NanoLib

ថ្នាក់ Interface និង helper ដែលបណ្ណាល័យ

បណ្ណាល័យទំនាក់ទំនង Fieldbus-specific libraries ដែល

ចូលប្រើអ្នកទៅកាន់ឧបករណ៍បញ្ជារបស់អ្នកអនុវត្តមុខងារ API ធ្វើចំណុចប្រទាក់រវាង NanoLib

OD (វចនានុក្រមវត្ថុ)

ធ្វើអន្តរកម្មជាមួយបណ្ណាល័យឡានក្រុង។

ស្នូល និងផ្នែករឹងឡានក្រុង។

ផ្អែកលើមុខងារស្នូល NanoLib-

ពូជសាសន៍។

3.1 ចំណុចប្រទាក់អ្នកប្រើ
ចំណុចប្រទាក់អ្នកប្រើមានចំណុចប្រទាក់បឋមកថា files អ្នកអាចប្រើដើម្បីចូលប្រើប៉ារ៉ាម៉ែត្រឧបករណ៍បញ្ជា។ ថ្នាក់​ចំណុចប្រទាក់​អ្នក​ប្រើ​ដូច​ដែល​បាន​ពិពណ៌នា​នៅ​ក្នុង​ថ្នាក់/អនុគមន៍​យោង​អនុញ្ញាត​ឱ្យ​អ្នក​៖ ភ្ជាប់​ទៅ​ទាំង​ផ្នែករឹង (អាដាប់ទ័រ fieldbus) និង​ឧបករណ៍​បញ្ជា។ ចូលប្រើ OD របស់ឧបករណ៍ ដើម្បីអាន/សរសេរប៉ារ៉ាម៉ែត្រឧបករណ៍បញ្ជា។
3.2 ស្នូល NanoLib
ស្នូល NanoLib ភ្ជាប់មកជាមួយបណ្ណាល័យ។ វាអនុវត្តមុខងារចំណុចប្រទាក់អ្នកប្រើប្រាស់ និងទទួលខុសត្រូវចំពោះ៖ ការផ្ទុក និងគ្រប់គ្រងបណ្ណាល័យទំនាក់ទំនង។ ការផ្តល់មុខងារចំណុចប្រទាក់អ្នកប្រើនៅក្នុង NanoLibAccessor ។ ចំណុចចូលទំនាក់ទំនងនេះ de-
ពិន័យសំណុំនៃប្រតិបត្តិការដែលអ្នកអាចប្រតិបត្តិនៅលើស្នូល 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

បណ្ណាល័យទាំងអស់ដាក់ស្រទាប់អរូបីផ្នែករឹងរវាងស្នូល និងឧបករណ៍បញ្ជា។ ស្នូលផ្ទុកពួកវានៅពេលចាប់ផ្តើមពីថតគម្រោងដែលបានកំណត់ ហើយប្រើពួកវាដើម្បីបង្កើតទំនាក់ទំនងជាមួយឧបករណ៍បញ្ជាដោយពិធីការដែលត្រូវគ្នា។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

7

ការចាប់ផ្តើម

4 ការចាប់ផ្តើម
សូមអានពីរបៀបដំឡើង NanoLib សម្រាប់ប្រព័ន្ធប្រតិបត្តិការរបស់អ្នកឲ្យបានត្រឹមត្រូវ និងរបៀបភ្ជាប់ Hardware តាមតម្រូវការ។
4.1 រៀបចំប្រព័ន្ធរបស់អ្នក។
មុននឹងដំឡើងកម្មវិធីបញ្ជាអាដាប់ទ័រ សូមរៀបចំកុំព្យូទ័ររបស់អ្នកតាមប្រព័ន្ធប្រតិបត្តិការជាមុនសិន។ ដើម្បីរៀបចំកុំព្យូទ័រតាម Windows OS របស់អ្នក សូមដំឡើង Java JRE / JDK 11 ឬខ្ពស់ជាងនេះ។ ដើម្បីដំឡើង make និង gcc ដោយ Linux Bash ហៅ 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 USB-to-CAN V2 ។ ចំណាំ៖ អាដាប់ទ័រដែលគាំទ្រផ្សេងទៀតមិនត្រូវការការដំឡើងកម្មវិធីបញ្ជាទេ។ សូមអានសៀវភៅណែនាំផលិតផលរបស់ USB drives ដើម្បីស្វែងយល់ថាតើ / របៀបធ្វើឱ្យការរួមបញ្ចូលនិម្មិត (VCP) សកម្ម។ 1. ទាញយក និងដំឡើងកម្មវិធីបញ្ជា Ixxat VCI 4 សម្រាប់ Windows ពី www.ixxat.com ។ 2. ភ្ជាប់អាដាប់ទ័របង្រួម Ixxat USB-to-CAN V2 ទៅកុំព្យូទ័រតាមរយៈ USB ។ 3. តាមរយៈកម្មវិធីគ្រប់គ្រងឧបករណ៍៖ ពិនិត្យមើលថាតើទាំងកម្មវិធីបញ្ជា និងអាដាប់ទ័រត្រូវបានដំឡើង/ទទួលស្គាល់ត្រឹមត្រូវ។
4.3 ភ្ជាប់ផ្នែករឹងរបស់អ្នក។
ដើម្បីអាចដំណើរការគម្រោង NanoLib សូមភ្ជាប់ឧបករណ៍បញ្ជា Nanotec ដែលត្រូវគ្នាទៅនឹងកុំព្យូទ័រដោយប្រើអាដាប់ទ័ររបស់អ្នក។ 1. ភ្ជាប់អាដាប់ទ័ររបស់អ្នកទៅនឹងឧបករណ៍បញ្ជាដោយប្រើខ្សែដែលសមរម្យ។ 2. ភ្ជាប់អាដាប់ទ័រទៅកុំព្យូទ័រដោយយោងតាមសន្លឹកទិន្នន័យអាដាប់ទ័រ។ 3. ថាមពលនៅលើឧបករណ៍បញ្ជាដោយប្រើការផ្គត់ផ្គង់ថាមពលសមរម្យ។ 4. ប្រសិនបើចាំបាច់ ផ្លាស់ប្តូរការកំណត់ទំនាក់ទំនងរបស់ឧបករណ៍បញ្ជា Nanotec ដោយយោងតាមការណែនាំនៅក្នុង
សៀវភៅណែនាំផលិតផល។
4.4 ផ្ទុក NanoLib
សម្រាប់ការចាប់ផ្តើមដំបូងជាមួយនឹងមូលដ្ឋានគ្រឹះរហ័ស និងងាយស្រួល អ្នកអាច (ប៉ុន្តែមិនត្រូវ) ប្រើអតីតរបស់យើង។ampគម្រោង។ 1. អាស្រ័យលើតំបន់របស់អ្នក៖ ទាញយក NanoLib ពីរបស់យើង។ webគេហទំព័រសម្រាប់ EMEA / APAC ឬ AMERICA ។ 2. ពន្លាកញ្ចប់របស់ files/ folders ហើយជ្រើសរើសជម្រើសមួយ៖ សម្រាប់មូលដ្ឋានរហ័ស និងងាយស្រួល៖ សូមមើល ការចាប់ផ្តើម អតីតampគម្រោង។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

8

ចាប់ផ្តើមអតីតampគម្រោង

5 ការចាប់ផ្តើមអតីតampគម្រោង
ជាមួយនឹង NanoLib ដែលបានផ្ទុកត្រឹមត្រូវ ឧampគម្រោង le បង្ហាញអ្នកតាមរយៈការប្រើប្រាស់ NanoLib ជាមួយនឹងឧបករណ៍បញ្ជា Nanotec ។ ចំណាំ៖ សម្រាប់ជំហាននីមួយៗ មតិយោបល់នៅក្នុងឧampលេកូដពន្យល់ពីមុខងារដែលបានប្រើ។ អតីតampលេខកូដដែលបានផ្តល់ឱ្យគឺ: NanolibExample.java (មេ file) NanolibHelper.java (ថ្នាក់ជំនួយសម្រាប់រុំឧបករណ៍ចូល NanoLib) NanolibProfinetExample.java (ស្រេចចិត្ត ឧample សម្រាប់ឧបករណ៍ PROFINET) NanolibSampឡេអិចample.java (ស្រេចចិត្ត ឧample សម្រាប់ sampler use) ឧample ដើម្បីបង្ហាញពីមុខងារកត់ត្រាគឺនៅក្នុង logggingcallbackexample folder និងអាចប្រើប្រាស់បានក្នុង Windows ឬ Linux ។
នៅក្នុង Windows តាមរយៈ powershell ។ល។ 1. នៅក្នុងប្រអប់បញ្ចូលពាក្យបញ្ជា: ប្តូរទៅថត NanoLib:
"` ស៊ីឌី cmd ឧample
“`
2. ជាមួយនឹងកំណែ NNNascurrent NanoLib៖ ចាប់ផ្តើម java example កម្មវិធីដែលមាន exampឡពាង៖
“`cmd java -jar nanolib-ampឈ្មោះ>-NNNjar
“`
នៅក្នុង Linux តាមរយៈ Bash 1. នៅក្នុង bash: ប្តូរទៅថត NanoLib “`cmd cd / ឧampលេ “`
"` ស៊ីឌី cmd / ឧample
“`
2. ជាមួយនឹងកំណែ NNNascurrent NanoLib៖ ចាប់ផ្តើម java example កម្មវិធីដែលមាន exampឡ
“`cmd java -jar nanolib-ampឈ្មោះ>-NNNjar
“`
អតីតមេample បង្ហាញពីដំណើរការការងារធម្មតាសម្រាប់គ្រប់គ្រងឧបករណ៍បញ្ជា៖ 1. ពិនិត្យកុំព្យូទ័រសម្រាប់ផ្នែករឹងដែលបានភ្ជាប់ (អាដាប់ទ័រ) ហើយរាយបញ្ជីពួកគេ។ 2. បង្កើតការតភ្ជាប់ទៅអាដាប់ទ័រ។ 3. ស្កេនឡានក្រុងសម្រាប់ឧបករណ៍បញ្ជាដែលបានភ្ជាប់។ 4. ភ្ជាប់ទៅឧបករណ៍។ 5. អាន/សរសេរពី/ទៅវចនានុក្រមវត្ថុរបស់ឧបករណ៍បញ្ជា (ឧamples បានផ្តល់នៅក្នុងកូដ) ។ 6. បិទការតភ្ជាប់ជាមុនទៅឧបករណ៍ បន្ទាប់មកទៅកាន់អាដាប់ទ័រ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

9

ថ្នាក់ - សេចក្តីយោងមុខងារ

6 ថ្នាក់/អនុគមន៍យោង

ស្វែងរកនៅទីនេះនូវបញ្ជីនៃថ្នាក់ចំណុចប្រទាក់អ្នកប្រើរបស់ NanoLib និងមុខងារសមាជិករបស់ពួកគេ។ ការពិពណ៌នាធម្មតានៃអនុគមន៍រួមមានការណែនាំខ្លីៗ និយមន័យមុខងារ និងប៉ារ៉ាម៉ែត្រ/បញ្ជីត្រឡប់៖

ExampleFunction() ប្រាប់អ្នកដោយសង្ខេបពីអ្វីដែលមុខងារធ្វើ។
ប៉ារ៉ាម៉ែត្រ param_a param_b
ត្រឡប់លទ្ធផលVoid

មតិបន្ថែមប្រសិនបើចាំបាច់។ មតិបន្ថែមប្រសិនបើចាំបាច់។

6.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 () ប្រើមុខងារនេះដើម្បីរាយបញ្ជីផ្នែករឹង fieldbus ដែលមាន។
បញ្ជីលទ្ធផលBusHwIdsAvailableBusHardware ()

ត្រឡប់លទ្ធផលBusHwIds

ផ្តល់អារេ ID fieldbus ។

openBusHardwareWithProtocol () ប្រើមុខងារនេះដើម្បីភ្ជាប់ផ្នែករឹងរបស់ឡានក្រុង។
ResultVoid openBusHardwareWithProtocol (BusHardwareId busHwId, BusHardwareOptions busHwOpt)

ប៉ារ៉ាម៉ែត្រ busHwId busHwOpt
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់ fieldbus ដើម្បីបើក។ បញ្ជាក់ជម្រើសបើកឡានក្រុង។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

isBusHardwareOpen () ប្រើមុខងារនេះដើម្បីពិនិត្យមើលថាតើការតភ្ជាប់ផ្នែករឹង fieldbus របស់អ្នកបើកឬអត់។
ប៊ូលីន isBusHardwareOpen (BusHardwareId busHardwareId)

ប៉ារ៉ាម៉ែត្រ BusHardwareId ត្រឡប់ពិត
មិនពិត

បញ្ជាក់ fieldbus នីមួយៗដែលត្រូវបើក។ ផ្នែករឹងត្រូវបានបើក។ ផ្នែករឹងត្រូវបានបិទ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

10

6 ថ្នាក់/អនុគមន៍យោង

getProtocolSpecificAccessor () ប្រើមុខងារនេះដើម្បីទទួលបានវត្ថុធាតុចូលប្រើប្រាស់ជាក់លាក់នៃពិធីការ។
ResultVoid getProtocolSpecificAccessor (BusHardwareId busHwId)

ប៉ារ៉ាម៉ែត្រ busHwId ត្រឡប់ ResultVoid

បញ្ជាក់ fieldbus ដើម្បីទទួលបាន accessor សម្រាប់។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

getProfinetDCP () ប្រើមុខងារនេះដើម្បីត្រឡប់សេចក្តីយោងទៅកាន់ចំណុចប្រទាក់ Profinet DCP ។
ProfinetDCP getProfinetDCP ()

ត្រឡប់ ProfinetDCP

ទទួលបានamplerInterface() ប្រើអនុគមន៍នេះដើម្បីទទួលបានឯកសារយោងទៅ sampចំណុចប្រទាក់ ler ។
SamplerInterface getSamplerInterface ()

ត្រឡប់ SamplerInterface

សំដៅលើ សampថ្នាក់ចំណុចប្រទាក់ ler ។

setBusState () ប្រើមុខងារនេះដើម្បីកំណត់ស្ថានភាពជាក់លាក់របស់ bus-protocol ។
ResultVoid setBusState (BusHardwareId busHwId, ស្ថានភាពខ្សែអក្សរ)

ប៉ារ៉ាម៉ែត្រ busHwId ស្ថានភាព
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់ fieldbus ដើម្បីបើក។ កំណត់ស្ថានភាពជាក់លាក់នៃឡានក្រុងជាតម្លៃខ្សែអក្សរ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

scanDevices () ប្រើមុខងារនេះដើម្បីស្កេនរកឧបករណ៍នៅក្នុងបណ្តាញ។
ឧបករណ៍ស្កេន ResultDeviceIds (BusHardwareId busHwId, NlcScanBusCallback callback)

ប៉ារ៉ាម៉ែត្រ busHwId ការហៅត្រឡប់មកវិញ
ត្រឡប់ ResultDeviceIds IOError

បញ្ជាក់ fieldbus ដើម្បីស្កេន។ NlcScanBusCallback តាមដានវឌ្ឍនភាព។ ផ្តល់អារេលេខសម្គាល់ឧបករណ៍។ ជូនដំណឹងថារកមិនឃើញឧបករណ៍។

addDevice () ប្រើមុខងារនេះដើម្បីបន្ថែមឧបករណ៍ឡានក្រុងដែលបានពិពណ៌នាដោយ deviceId ទៅក្នុងបញ្ជីឧបករណ៍ខាងក្នុងរបស់ NanoLib និងដើម្បីត្រឡប់ deviceHandle សម្រាប់វា។
ResultDeviceHandle addDevice (DeviceId deviceId)

ប៉ារ៉ាម៉ែត្រ deviceId ត្រឡប់ ResultDeviceHandle

បញ្ជាក់ឧបករណ៍ដែលត្រូវបន្ថែមទៅក្នុងបញ្ជី។ ផ្តល់ចំណុចទាញឧបករណ៍។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

11

6 ថ្នាក់/អនុគមន៍យោង

connectDevice () ប្រើមុខងារនេះដើម្បីភ្ជាប់ឧបករណ៍ដោយ deviceHandle។
ឧបករណ៍ភ្ជាប់ ResultVoid (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់លទ្ធផលVoid
IOError

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ភ្ជាប់ទៅ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។ ជូនដំណឹងថារកមិនឃើញឧបករណ៍។

getDeviceName () ប្រើមុខងារនេះដើម្បីទទួលបានឈ្មោះឧបករណ៍ដោយ deviceHandle ។
ResultString getDeviceName (DeviceHandle deviceHandle)

ឧបករណ៍ ប៉ារ៉ាម៉ែត្រ ចំណុចទាញ ត្រឡប់ ResultString

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ទទួលបានឈ្មោះសម្រាប់។ ផ្តល់ឈ្មោះឧបករណ៍ជាខ្សែអក្សរ។

getDeviceProductCode () ប្រើមុខងារនេះដើម្បីទទួលបានលេខកូដផលិតផលរបស់ឧបករណ៍ដោយ deviceHandle ។
ResultInt getDeviceProductCode (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់ ResultInt

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបទទួលបានលេខកូដផលិតផលសម្រាប់អ្វី។ ផ្តល់លេខកូដផលិតផលជាចំនួនគត់។

getDeviceVendorId () ប្រើមុខងារនេះដើម្បីទទួលបានលេខសម្គាល់អ្នកលក់ឧបករណ៍ដោយ deviceHandle ។
ResultInt getDeviceVendorId (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់ ResultInt
ធនធានមិនអាចប្រើបាន

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបទទួលបានលេខសម្គាល់អ្នកលក់សម្រាប់អ្វី។ ផ្តល់លេខសម្គាល់អ្នកលក់ជាចំនួនគត់។ ជូនដំណឹងថារកមិនឃើញទិន្នន័យទេ។

getDeviceId () ប្រើមុខងារនេះដើម្បីទទួលបានលេខសម្គាល់ឧបករណ៍ជាក់លាក់មួយពីបញ្ជីខាងក្នុង NanoLib ។
ResultDeviceId getDeviceId (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់ ResultDeviceId

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបទទួលបានលេខសម្គាល់ឧបករណ៍សម្រាប់អ្វី។ ផ្តល់លេខសម្គាល់ឧបករណ៍។

getDeviceIds () ប្រើមុខងារនេះដើម្បីទទួលបានលេខសម្គាល់ឧបករណ៍ទាំងអស់ពីបញ្ជីខាងក្នុង NanoLib ។
ResultDeviceIds getDeviceIds ()

ត្រឡប់ ResultDeviceIds

ផ្តល់បញ្ជីលេខសម្គាល់ឧបករណ៍។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

12

6 ថ្នាក់/អនុគមន៍យោង

getDeviceUid () ប្រើមុខងារនេះដើម្បីទទួលបានលេខសម្គាល់តែមួយគត់របស់ឧបករណ៍ (96 ប៊ីត / 12 បៃ) ដោយ deviceHandle ។
ResultArrayByte getDeviceUid (DeviceHandle deviceHandle)

ឧបករណ៍ ប៉ារ៉ាម៉ែត្រ ដោះស្រាយ ត្រឡប់ ResultArrayByte
ធនធានមិនអាចប្រើបាន

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ទទួលបានលេខសម្គាល់តែមួយគត់សម្រាប់។ ផ្តល់លេខសម្គាល់តែមួយគត់ជាអារេបៃ។ ជូនដំណឹងថារកមិនឃើញទិន្នន័យទេ។

getDeviceSerialNumber () ប្រើមុខងារនេះដើម្បីទទួលបានលេខស៊េរីរបស់ឧបករណ៍ដោយ deviceHandle ។
ResultString getDeviceSerialNumber (DeviceHandle deviceHandle)

ឧបករណ៍ ប៉ារ៉ាម៉ែត្រ ចំណុចទាញ ត្រឡប់ ResultString
ធនធានមិនអាចប្រើបាន

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ទទួលបានលេខសៀរៀលសម្រាប់។ ផ្តល់លេខស៊េរីជាខ្សែអក្សរ។ ជូនដំណឹងថារកមិនឃើញទិន្នន័យទេ។

getDeviceHardwareGroup () ប្រើមុខងារនេះដើម្បីទទួលបានក្រុមផ្នែករឹងរបស់ឧបករណ៍ឡានក្រុងដោយ deviceHandle ។
ResultInt getDeviceHardwareGroup (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់ ResultInt

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ទទួលបានក្រុមផ្នែករឹងសម្រាប់។
ផ្តល់ក្រុមផ្នែករឹងជាចំនួនគត់។

getDeviceHardwareVersion () ប្រើមុខងារនេះដើម្បីទទួលបានកំណែផ្នែករឹងរបស់ឧបករណ៍ឡានក្រុងដោយ deviceHandle ។
ResultString getDeviceHardwareVersion (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ Handle

ត្រឡប់មកវិញ

ResultString ResourceUnavailable

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបទទួលបានកំណែផ្នែករឹងសម្រាប់។ ផ្តល់ឈ្មោះឧបករណ៍ជាខ្សែអក្សរ។ ជូនដំណឹងថារកមិនឃើញទិន្នន័យទេ។

getDeviceFirmwareBuildId () ប្រើមុខងារនេះដើម្បីទទួលបានលេខសម្គាល់បង្កើតកម្មវិធីបង្កប់របស់ឧបករណ៍ឡានក្រុងដោយ deviceHandle ។
ResultString getDeviceFirmwareBuildId (DeviceHandle deviceHandle)

ឧបករណ៍ ប៉ារ៉ាម៉ែត្រ ចំណុចទាញ ត្រឡប់ ResultString

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបទទួលបានលេខសម្គាល់កម្មវិធីបង្កប់សម្រាប់។
ផ្តល់ឈ្មោះឧបករណ៍ជាខ្សែអក្សរ។

getDeviceBootloaderVersion () ប្រើមុខងារនេះដើម្បីទទួលបានកំណែកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធរបស់ឧបករណ៍ឡានក្រុងដោយ deviceHandle។
ResultInt getDeviceBootloaderVersion (DeviceHandle deviceHandle)

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

13

6 ថ្នាក់/អនុគមន៍យោង

ប៉ារ៉ាម៉ែត្រឧបករណ៍ Handle

ត្រឡប់មកវិញ

ResultInt Resource Unavailable

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបទទួលបានកំណែកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធសម្រាប់អ្វី។ ផ្តល់កំណែកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធជាចំនួនគត់។ ជូនដំណឹងថារកមិនឃើញទិន្នន័យទេ។

getDeviceBootloaderBuildId () ប្រើមុខងារនេះដើម្បីទទួលបាន ID Builder bootloader របស់ឧបករណ៍ bus ដោយ deviceHandle។
ResultString getDeviceBootloaderBuildId (DeviceHandle deviceHandle)

ឧបករណ៍ ប៉ារ៉ាម៉ែត្រ ចំណុចទាញ ត្រឡប់ ResultString

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ទទួលបាន bootloader build ID សម្រាប់។
ផ្តល់ឈ្មោះឧបករណ៍ជាខ្សែអក្សរ។

rebootDevice () ប្រើមុខងារនេះដើម្បីចាប់ផ្ដើមឧបករណ៍ឡើងវិញដោយ deviceHandle។
លទ្ធផលVoid rebootDevice (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់លទ្ធផលVoid

បញ្ជាក់ fieldbus ដើម្បីចាប់ផ្ដើមឡើងវិញ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

getDeviceState () ប្រើមុខងារនេះដើម្បីទទួលបានស្ថានភាពជាក់លាក់នៃឧបករណ៍-ពិធីការ។
ResultString getDeviceState (DeviceHandle deviceHandle)

ឧបករណ៍ ប៉ារ៉ាម៉ែត្រ ចំណុចទាញ ត្រឡប់ ResultString

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ទទួលបានរដ្ឋសម្រាប់។ ផ្តល់ឈ្មោះឧបករណ៍ជាខ្សែអក្សរ។

setDeviceState () ប្រើមុខងារនេះដើម្បីកំណត់ស្ថានភាពជាក់លាក់នៃឧបករណ៍-ពិធីការ។
ResultVoid setDeviceState (DeviceHandle deviceHandle, String state)

ប៉ារ៉ាម៉ែត្រឧបករណ៍គ្រប់គ្រងស្ថានភាព
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib កំណត់ស្ថានភាពសម្រាប់។ កំណត់ស្ថានភាពជាក់លាក់នៃឡានក្រុងជាតម្លៃខ្សែអក្សរ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

getConnectionState () ប្រើមុខងារនេះដើម្បីទទួលបានស្ថានភាពការតភ្ជាប់ដែលស្គាល់ចុងក្រោយរបស់ឧបករណ៍ជាក់លាក់ដោយ deviceHandle (= Disconnected, Connected, ConnectedBootloader)
ResultConnectionState getConnectionState (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់ ResultConnectionState

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបទទួលបានស្ថានភាពតភ្ជាប់សម្រាប់អ្វី។
ផ្តល់នូវស្ថានភាពនៃការតភ្ជាប់ (=ផ្តាច់, ភ្ជាប់, ConnectedBootloader) ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

14

6 ថ្នាក់/អនុគមន៍យោង

checkConnectionState () លុះត្រាតែស្ថានភាពដែលស្គាល់ចុងក្រោយមិនត្រូវបានផ្តាច់៖ ប្រើមុខងារនេះដើម្បីពិនិត្យ និងអាចធ្វើបច្ចុប្បន្នភាពស្ថានភាពការតភ្ជាប់របស់ឧបករណ៍ជាក់លាក់មួយដោយឧបករណ៍ Handle និងដោយការសាកល្បងប្រតិបត្តិការជាក់លាក់នៃរបៀបជាច្រើន។
ពិនិត្យស្ថានភាពការតភ្ជាប់លទ្ធផល (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់ ResultConnectionState

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ពិនិត្យស្ថានភាពការតភ្ជាប់សម្រាប់។
ផ្តល់ស្ថានភាពការតភ្ជាប់ (= មិនផ្តាច់)។

assignObjectDictionary () ប្រើមុខងារសៀវភៅដៃនេះដើម្បីផ្តល់វចនានុក្រមវត្ថុ (OD) ទៅឧបករណ៍ Handle ដោយខ្លួនឯង។
ResultObjectDictionary assignObjectDictionary (DeviceHandle deviceHandle, ObjectDictionary objectDictionary)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយវត្ថុវចនានុក្រម
ត្រឡប់ ResultObjectDictionary

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ផ្តល់ OD ទៅ។ បង្ហាញលក្ខណៈសម្បត្តិនៃវចនានុក្រមវត្ថុ។

autoAssignObjectDictionary ()
ប្រើស្វ័យប្រវត្តិកម្មនេះដើម្បីអនុញ្ញាតឱ្យ NanoLib កំណត់វចនានុក្រមវត្ថុ (OD) ទៅឧបករណ៍ Handle ។ នៅពេលស្វែងរក និងផ្ទុក OD ដែលសមស្រប NanoLib ផ្តល់វាដោយស្វ័យប្រវត្តិទៅឧបករណ៍។ ចំណាំ៖ ប្រសិនបើ OD ដែលត្រូវគ្នាត្រូវបានផ្ទុករួចហើយនៅក្នុងបណ្ណាល័យវត្ថុនោះ NanoLib នឹងប្រើវាដោយស្វ័យប្រវត្តិដោយមិនចាំបាច់ស្កេនថតដែលបានដាក់ស្នើនោះទេ។
ResultObjectDictionary autoAssignObjectDictionary (DeviceHandle deviceHandle, String DictionariesLocationPath)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ Handle

ត្រឡប់មកវិញ

វចនានុក្រមLocationPath ResultObjectDictionary

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបនឹងស្កេនដោយស្វ័យប្រវត្តិសម្រាប់ OD ដែលសមរម្យ។ បញ្ជាក់ផ្លូវទៅកាន់ថត OD ។ បង្ហាញលក្ខណៈសម្បត្តិនៃវចនានុក្រមវត្ថុ។

getAssignedObjectDictionary () ប្រើមុខងារនេះដើម្បីទទួលបានវចនានុក្រមវត្ថុដែលបានកំណត់ទៅឧបករណ៍ដោយ deviceHandle ។
ResultObjectDictionary getAssignedObjectDictionary (DeviceHandle deviceHandle)

ឧបករណ៍ ប៉ារ៉ាម៉ែត្រ ដោះស្រាយ ត្រឡប់ ResultObjectDictionary

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបទទួលបាន OD ដែលបានកំណត់សម្រាប់។ បង្ហាញលក្ខណៈសម្បត្តិនៃវចនានុក្រមវត្ថុ។

getObjectDictionaryLibrary () មុខងារនេះត្រឡប់ឯកសារយោង OdLibrary ។
OdLibrary getObjectDictionaryLibrary ()

ត្រឡប់ OdLibrary&

បើកបណ្ណាល័យ OD ទាំងមូល និងវចនានុក្រមវត្ថុរបស់វា។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

15

6 ថ្នាក់/អនុគមន៍យោង

setLoggingLevel () ប្រើមុខងារនេះដើម្បីកំណត់កំណត់ហេតុដែលត្រូវការលម្អិត (និងកំណត់ហេតុ file ទំហំ) ។ កម្រិតលំនាំដើមគឺព័ត៌មាន។
void setLoggingLevel (កម្រិត LogLevel)

កម្រិតប៉ារ៉ាម៉ែត្រ

ព័ត៌មានលម្អិតនៃកំណត់ហេតុខាងក្រោមអាចធ្វើទៅបាន៖

0 = ដាន 1 = បំបាត់កំហុស 2 = ព័ត៌មាន 3 = ព្រមាន 4 = កំហុស 5 = សំខាន់ 6 = បិទ

កម្រិតទាបបំផុត (កំណត់ហេតុធំបំផុត file); កត់ត្រាព័ត៌មានលម្អិតដែលអាចធ្វើទៅបាន បូករួមទាំងការចាប់ផ្តើម/បញ្ឈប់កម្មវិធី។ កំណត់​ហេតុ​ព័ត៌មាន​បំបាត់​កំហុស (= លទ្ធផល​បណ្ដោះ​អាសន្ន មាតិកា​ដែល​បាន​ផ្ញើ ឬ​ទទួល ។ល។) កម្រិត​លំនាំដើម; កត់ត្រាសារព័ត៌មាន។ បញ្ហាកំណត់ហេតុដែលបានកើតឡើង ប៉ុន្តែនឹងមិនបញ្ឈប់ក្បួនដោះស្រាយបច្ចុប្បន្នទេ។ កំណត់ហេតុគ្រាន់តែជាបញ្ហាធ្ងន់ធ្ងរដែលបញ្ឈប់ក្បួនដោះស្រាយ។ កម្រិតខ្ពស់បំផុត (កំណត់ហេតុតូចបំផុត។ file); បិទការចូល; មិនមានកំណត់ហេតុទៀតទេ។ គ្មានការកត់ត្រាអ្វីទាំងអស់។

setLoggingCallback () ប្រើមុខងារនេះដើម្បីកំណត់ទ្រនិចការហៅត្រឡប់ចូលកំណត់ហេតុ និងកម្រិតកំណត់ហេតុសម្រាប់ការហៅត្រឡប់មកវិញនោះ (មិនមែនសម្រាប់អ្នកកាប់ឈើខ្លួនឯងទេ)។
ទុកជាមោឃៈកំណត់LoggingCallback (NlcLoggingCallback callback កម្រិត LogLevel)

ប៉ារ៉ាម៉ែត្រ * កម្រិតហៅត្រឡប់មកវិញ

កំណត់​ទ្រនិច​ហៅ​ត្រឡប់។ កំណត់កម្រិតកំណត់ហេតុនៃការហៅត្រឡប់មកវិញ (មិនមែនរបស់អ្នកកាប់ឈើ) ។

unsetLoggingCallback () ប្រើមុខងារនេះដើម្បីលុបចោលទ្រនិចការហៅត្រឡប់ចូលកំណត់ហេតុ។
ទុកជាមោឃៈ unsetLoggingCallback ()

readNumber() ប្រើមុខងារនេះដើម្បីអានតម្លៃលេខពីវចនានុក្រមវត្ថុ។
ResultInt readNumber (DeviceHandle deviceHandle, OdIndex odIndex)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ odIndex
ត្រឡប់ ResultInt

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អានពី។ បញ្ជាក់លិបិក្រម (sub-) ដើម្បីអានពី។ ផ្តល់តម្លៃលេខដែលមិនអាចបកស្រាយបាន (អាចត្រូវបានចុះហត្ថលេខា មិនបានចុះហត្ថលេខា ជួសជុលតម្លៃ 16.16 ប៊ីត)។

readNumberArray() ប្រើមុខងារនេះដើម្បីអានអារេលេខពីវចនានុក្រមវត្ថុ។
ResultArrayInt readNumberArray (DeviceHandle deviceHandle, int index)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ សន្ទស្សន៍ចំណុចទាញ
ត្រឡប់ ResultArrayInt

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អានពី។ សន្ទស្សន៍វត្ថុអារេ។ ផ្តល់អារេចំនួនគត់។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

16

6 ថ្នាក់/អនុគមន៍យោង

readBytes () ប្រើមុខងារនេះដើម្បីអានបៃបៃតាមអំពើចិត្ត (ទិន្នន័យវត្ថុដែន) ពីវចនានុក្រមវត្ថុ។
ResultArrayByte readBytes (DeviceHandle deviceHandle, OdIndex odIndex)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ odIndex
ត្រឡប់ ResultArrayByte

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អានពី។ បញ្ជាក់លិបិក្រម (sub-) ដើម្បីអានពី។ ផ្តល់អារេបៃ។

readString() ប្រើមុខងារនេះដើម្បីអានខ្សែអក្សរពីថតវត្ថុ។
ResultString readString (DeviceHandle deviceHandle, OdIndex odIndex)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ odIndex
ត្រឡប់ ResultString

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អានពី។ បញ្ជាក់លិបិក្រម (sub-) ដើម្បីអានពី។ ផ្តល់ឈ្មោះឧបករណ៍ជាខ្សែអក្សរ។

writeNumber () ប្រើអនុគមន៍នេះដើម្បីសរសេរតម្លៃលេខទៅថតវត្ថុ។
ResultVoid writeNumber (DeviceHandle deviceHandle, long value, OdIndex odIndex, long bitLength)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយតម្លៃ odIndex bitLength
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib សរសេរទៅ។ តម្លៃដែលមិនអាចបកស្រាយបាន (អាចត្រូវបានចុះហត្ថលេខា មិនបានចុះហត្ថលេខា ជួសជុល 16.16) ។ បញ្ជាក់លិបិក្រម (sub-) ដើម្បីអានពី។ ប្រវែងបន្តិច។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

writeBytes () ប្រើមុខងារនេះដើម្បីសរសេរ bytes បំពាន (ទិន្នន័យវត្ថុដែន) ទៅថតវត្ថុ។
ResultVoid writeBytes (DeviceHandle deviceHandle, ByteVector data, OdIndex odIndex)

ប៉ារ៉ាម៉ែត្រឧបករណ៍គ្រប់គ្រងទិន្នន័យ odIndex
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib សរសេរទៅ។ បៃវ៉ិចទ័រ / អារេ។ បញ្ជាក់លិបិក្រម (sub-) ដើម្បីអានពី។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

uploadFirmware () ប្រើមុខងារនេះដើម្បីធ្វើបច្ចុប្បន្នភាពកម្មវិធីបង្កប់ឧបករណ៍បញ្ជារបស់អ្នក។
ResultVoid uploadFirmware (DeviceHandle deviceHandle, ByteVector fwData, NlcDataTransferCallback callback)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ fwData NlcDataTransferCallback
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អាប់ដេត។ អារេដែលមានទិន្នន័យកម្មវិធីបង្កប់។ កម្មវិធីតាមដានវឌ្ឍនភាពទិន្នន័យ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

17

6 ថ្នាក់/អនុគមន៍យោង

ផ្ទុកឡើងកម្មវិធីបង្កប់ពីFile () ប្រើមុខងារនេះដើម្បីធ្វើបច្ចុប្បន្នភាពកម្មវិធីបង្កប់ឧបករណ៍បញ្ជារបស់អ្នកដោយការបង្ហោះរបស់វា។ file.
ResultVoid uploadFirmwareFromFile (DeviceHandle deviceHandle, String absoluteFileផ្លូវ, NlcDataTransferCallback ការហៅត្រឡប់មកវិញ)

ប៉ារ៉ាម៉ែត្រឧបករណ៍គ្រប់គ្រងដាច់ខាតFileផ្លូវ NlcDataTransferCallback
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អាប់ដេត។ ផ្លូវទៅ file មានទិន្នន័យកម្មវិធីបង្កប់ (ខ្សែអក្សរ) ។ កម្មវិធីតាមដានវឌ្ឍនភាពទិន្នន័យ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

uploadBootloader () ប្រើមុខងារនេះដើម្បីធ្វើបច្ចុប្បន្នភាពកម្មវិធីបញ្ជាចាប់ផ្ដើមប្រព័ន្ធរបស់អ្នក។
ResultVoid uploadBootloader (DeviceHandle deviceHandle, ByteVector btData, NlcDataTransferCallback callback)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ btData NlcDataTransferCallback
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អាប់ដេត។ អារេដែលមានទិន្នន័យកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធ។ កម្មវិធីតាមដានវឌ្ឍនភាពទិន្នន័យ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

uploadBootloaderFromFile () ប្រើមុខងារនេះដើម្បីធ្វើបច្ចុប្បន្នភាពកម្មវិធីចាប់ផ្ដើមឧបករណ៍បញ្ជារបស់អ្នកដោយផ្ទុកឡើងរបស់វា។ file.
ResultVoid uploadBootloaderFromFile (DeviceHandle deviceHandle, String bootloaderAbsoluteFileផ្លូវ, NlcDataTransferCallback ការហៅត្រឡប់មកវិញ)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ bootloaderAbsoluteFileផ្លូវ NlcDataTransferCallback
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អាប់ដេត។ ផ្លូវទៅ file មានផ្ទុកទិន្នន័យកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធ (ខ្សែអក្សរ)។ កម្មវិធីតាមដានវឌ្ឍនភាពទិន្នន័យ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

uploadBootloaderFirmware () ប្រើមុខងារនេះដើម្បីធ្វើបច្ចុប្បន្នភាពកម្មវិធីគ្រប់គ្រងកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធ និងកម្មវិធីបង្កប់របស់អ្នក។
ResultVoid uploadBootloaderFirmware (DeviceHandle deviceHandle, ByteVector btData, ByteVector fwData, NlcDataTransferCallback callback)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ btData fwData NlcDataTransferCallback
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អាប់ដេត។ អារេដែលមានទិន្នន័យកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធ។ អារេដែលមានទិន្នន័យកម្មវិធីបង្កប់។ កម្មវិធីតាមដានវឌ្ឍនភាពទិន្នន័យ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

uploadBootloaderFirmwareFromFile ()
ប្រើមុខងារនេះដើម្បីធ្វើបច្ចុប្បន្នភាពកម្មវិធីបញ្ជាចាប់ផ្ដើម និងកម្មវិធីបង្កប់របស់អ្នកដោយផ្ទុកឡើង files.
ResultVoid uploadBootloaderFirmwareFromFile (DeviceHandle deviceHandle, String bootloaderAbsoluteFileផ្លូវ, ខ្សែអក្សរដាច់ខាតFileផ្លូវ, NlcDataTransferCallback ការហៅត្រឡប់មកវិញ)

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

18

6 ថ្នាក់/អនុគមន៍យោង

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ bootloaderAbsoluteFileផ្លូវដាច់ខាតFileផ្លូវ NlcDataTransferCallback
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib អាប់ដេត។ ផ្លូវទៅ file មានផ្ទុកទិន្នន័យកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធ (ខ្សែអក្សរ)។ ផ្លូវទៅ file មានទិន្នន័យកម្មវិធីបង្កប់ (uint8_t) ។ កម្មវិធីតាមដានវឌ្ឍនភាពទិន្នន័យ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

uploadNanoJ () ប្រើមុខងារសាធារណៈនេះដើម្បីអាប់ឡូតកម្មវិធី NanoJ ទៅកាន់ឧបករណ៍បញ្ជារបស់អ្នក។
ResultVoid uploadNanoJ(DeviceHandle deviceHandle, ByteVector vmmData, NlcDataTransferCallback callback)

ប៉ារ៉ាម៉ែត្រឧបករណ៍ដោះស្រាយ vmmData NlcDataTransferCallback
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib បង្ហោះទៅ។ អារេដែលមានទិន្នន័យ NanoJ ។ កម្មវិធីតាមដានវឌ្ឍនភាពទិន្នន័យ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

ផ្ទុកឡើងNanoJFromFile () ប្រើមុខងារសាធារណៈនេះដើម្បីអាប់ដេតកម្មវិធី NanoJ ទៅកាន់ឧបករណ៍បញ្ជារបស់អ្នកដោយផ្ទុកឡើង file.
ResultVoid uploadNanoJFromFile (DeviceHandle deviceHandle, String absoluteFileផ្លូវ, NlcDataTransferCallback ការហៅត្រឡប់មកវិញ)

ប៉ារ៉ាម៉ែត្រឧបករណ៍គ្រប់គ្រងដាច់ខាតFileផ្លូវ NlcDataTransferCallback
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib បង្ហោះទៅ។ ផ្លូវទៅ file មានទិន្នន័យ NanoJ (ខ្សែអក្សរ)។ កម្មវិធីតាមដានវឌ្ឍនភាពទិន្នន័យ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

disconnectDevice () ប្រើមុខងារនេះដើម្បីផ្តាច់ឧបករណ៍របស់អ្នកដោយ deviceHandle។
ResultVoid disconnectDevice (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់លទ្ធផលVoid

បញ្ជាក់អ្វីដែលឧបករណ៍ឡានក្រុង NanoLib ផ្តាច់ចេញពី។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

removeDevice () ប្រើមុខងារនេះដើម្បីលុបឧបករណ៍របស់អ្នកចេញពីបញ្ជីឧបករណ៍ខាងក្នុងរបស់ NanoLib ។
ResultVoid removeDevice (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រឧបករណ៍Handle ត្រឡប់លទ្ធផលVoid

បញ្ជាក់ថាតើឧបករណ៍ឡានក្រុងណាណូលីបលុបឈ្មោះអ្វី។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

closeBusHardware () ប្រើមុខងារនេះដើម្បីផ្តាច់ចេញពីផ្នែករឹង fieldbus របស់អ្នក។
ResultVoid closeBusHardware (BusHardwareId busHwId)

ប៉ារ៉ាម៉ែត្រ busHwId ត្រឡប់ ResultVoid

បញ្ជាក់ fieldbus ដើម្បីផ្តាច់ពី។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

19

6 ថ្នាក់/អនុគមន៍យោង

6.2 BusHardwareId
ប្រើថ្នាក់នេះដើម្បីកំណត់អត្តសញ្ញាណផ្នែករឹងរបស់រថយន្តក្រុងមួយទល់នឹងមួយ ឬដើម្បីសម្គាល់ផ្នែករឹងរថយន្តក្រុងផ្សេងៗគ្នាពីគ្នាទៅវិញទៅមក។ ថ្នាក់នេះ (ដោយគ្មានមុខងារ setter មិនអាចផ្លាស់ប្តូរបានពីការបង្កើតនៅលើ) ក៏ផ្ទុកព័ត៌មានអំពី៖
ផ្នែករឹង (= ឈ្មោះអាដាប់ទ័រ អាដាប់ទ័របណ្តាញ។ល។) ពិធីការដែលត្រូវប្រើ (= Modbus TCP, CANopen ។
អាសយដ្ឋាន ល។ )

BusHardwareId () [1/3] អ្នកសាងសង់ដែលបង្កើតវត្ថុលេខសម្គាល់ផ្នែករឹងឡានក្រុងថ្មី។
BusHardwareId (String busHardware_, String protocol_, String hardwareSpecifier_, String name_) dwareSpecifier_, name_

ប៉ារ៉ាម៉ែត្រ busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

ប្រភេទ Hardware (= ZK-USB-CAN-1 ។ល។) ពិធីការទំនាក់ទំនងឡានក្រុង (= CANopen ។ល។) អ្នកបញ្ជាក់ផ្នែករឹង (= COM3 ។ល។)។ ការបញ្ជាក់បន្ថែមនៃផ្នែករឹង (និយាយ ពត៌មានទីតាំង USB)។ ឈ្មោះមិត្តភាព (= AdapterName (Port) ។ល។ )។

BusHardwareId () [2/3] Constructor ដែលបង្កើតវត្ថុ ID hardware bus ថ្មី ជាមួយនឹងជម្រើសសម្រាប់ hardware speicifier បន្ថែម។
BusHardwareId (String busHardware_, String protocol_, String hardwareSpecifier_, String extraHardwareSpecifier_, String name_)

ប៉ារ៉ាម៉ែត្រ busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

ប្រភេទ Hardware (= ZK-USB-CAN-1 ។ល។) ពិធីការទំនាក់ទំនងឡានក្រុង (= CANopen ។ល។) អ្នកបញ្ជាក់ផ្នែករឹង (= COM3 ។ល។)។ ការបញ្ជាក់បន្ថែមនៃផ្នែករឹង (និយាយ ពត៌មានទីតាំង USB)។ ឈ្មោះមិត្តភាព (= AdapterName (Port) ។ល។ )។

BusHardwareId () [3/3] Constructor ដែលចម្លង busHardwareId ដែលមានស្រាប់។
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

BusHardwareId (BusHardwareId arg0)

ប៉ារ៉ាម៉ែត្រ busHardwareId

ដាក់ឈ្មោះលេខសម្គាល់ផ្នែករឹងឡានក្រុង ដើម្បីចម្លងពី។

ស្មើ () ប្រៀបធៀបលេខសម្គាល់ផ្នែករឹងឡានក្រុងថ្មីទៅនឹងលេខសម្គាល់ដែលមានស្រាប់។
ប៊ូលីនស្មើគ្នា (BusHardwareId ផ្សេងទៀត)

ប៉ារ៉ាម៉ែត្រផ្សេងទៀត ត្រឡប់ពិត
មិនពិត

វត្ថុមួយទៀតនៃថ្នាក់ដូចគ្នា។ ប្រសិនបើតម្លៃទាំងពីរស្មើគ្នា។ ប្រសិនបើតម្លៃខុសគ្នា។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

20

6 ថ្នាក់/អនុគមន៍យោង
getBusHardware () អានខ្សែអក្សរផ្នែករឹងរបស់ឡានក្រុង។
ខ្សែអក្សរ getBusHardware () ត្រឡប់ ខ្សែអក្សរ getHardwareSpecifier () អានខ្សែអក្សរបញ្ជាក់ផ្នែករឹងរបស់រថយន្តក្រុង (= ឈ្មោះបណ្តាញ។ល។)។ ខ្សែអក្សរ getBusHardware () ត្រឡប់​ខ្សែអក្សរ getExtraHardwareSpecifier () អាន​ខ្សែអក្សរ​បញ្ជាក់​ផ្នែករឹងបន្ថែម​របស់​រថយន្តក្រុង (=អាសយដ្ឋាន MAC ។ល។)។ String getExtraHardwareSpecifier () ត្រឡប់ string getName () អានឈ្មោះដែលងាយស្រួលប្រើរបស់ hardware របស់ bus។ ខ្សែអក្សរ getName () ត្រឡប់ ខ្សែអក្សរ getProtocol () អានខ្សែអក្សរពិធីការឡានក្រុង។ ខ្សែអក្សរ getProtocol () ត្រឡប់ខ្សែអក្សរទៅString () ត្រឡប់លេខសម្គាល់ផ្នែករឹងរបស់រថយន្តក្រុងជាខ្សែអក្សរ។ ខ្សែអក្សរ toString () ត្រឡប់ខ្សែអក្សរ
6.3 ជម្រើស BusHardware
ស្វែងរកនៅក្នុងថ្នាក់នេះ នៅក្នុងបញ្ជីតម្លៃគន្លឹះនៃខ្សែអក្សរ ជម្រើសទាំងអស់ដែលត្រូវការដើម្បីបើកផ្នែករឹងឡានក្រុង។ BusHardwareOptions () [1/2] សាងសង់វត្ថុជម្រើសផ្នែករឹងឡានក្រុងថ្មី។
BusHardwareOptions () ប្រើមុខងារ addOption () ដើម្បីបន្ថែមគូ key-value ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

21

6 ថ្នាក់/អនុគមន៍យោង

BusHardwareOptions () [2/2] សាងសង់វត្ថុជម្រើសផ្នែករឹងឡានក្រុងថ្មីមួយជាមួយនឹងផែនទីតម្លៃសោដែលមានរួចហើយ។
BusHardwareOptions (ជម្រើស StringStringMap)

ជម្រើសប៉ារ៉ាម៉ែត្រ

ផែនទីដែលមានជម្រើសសម្រាប់ផ្នែករឹងឡានក្រុងដើម្បីដំណើរការ។

addOption () បង្កើតកូនសោបន្ថែម និងតម្លៃ។
void addOption (String key, String value)

តម្លៃគន្លឹះប៉ារ៉ាម៉ែត្រ

Example៖ BAUD_RATE_OPTIONS_NAME សូមមើល bus_hw_options_ លំនាំដើម
Example៖ BAUD_RATE_1000K សូមមើល bus_hw_options_defaults

equals () ប្រៀបធៀប BusHardwareOptions ទៅនឹងជម្រើសដែលមានស្រាប់។
boolean ស្មើ (BusHardwareOptions ផ្សេងទៀត)

ប៉ារ៉ាម៉ែត្រផ្សេងទៀត ត្រឡប់ពិត
មិនពិត

វត្ថុមួយទៀតនៃថ្នាក់ដូចគ្នា។ ប្រសិនបើវត្ថុផ្សេងទៀតមានជម្រើសដូចគ្នាទាំងអស់។ ប្រសិនបើវត្ថុផ្សេងទៀតមានសោ ឬតម្លៃផ្សេងគ្នា។

getOptions () អាន​គូ​តម្លៃ​គ្រាប់ចុច​បន្ថែម​ទាំងអស់។
StringStringMap getOptions ()

ត្រឡប់ផែនទីខ្សែអក្សរ

toString() ត្រឡប់​គ្រាប់ចុច/តម្លៃ​ទាំងអស់​ជា​ខ្សែអក្សរ។
ខ្សែអក្សរទៅខ្សែអក្សរ ()

ត្រឡប់ខ្សែអក្សរ

6.4 BusHwOptionsDefault

ថ្នាក់ជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធលំនាំដើមនេះមានគុណលក្ខណៈសាធារណៈដូចខាងក្រោម៖

const CanBus const Serial const RESTfulBus const EtherCATBus

canBus = CanBus () សៀរៀល = សៀរៀល () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()

6.5 CanBaudRate

រចនាសម្ព័ន្ធដែលមាន CAN bus baudrates ក្នុងលក្ខណៈសាធារណៈខាងក្រោម៖

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

22

6 ថ្នាក់/អនុគមន៍យោង

ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ

BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k”_100KRATE” 100k” BAUD_RATE_50K = “50k” BAUD_RATE_20K = “20k” BAUD_RATE_10K = “10k”

6.6 CanBus

ថ្នាក់ជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធលំនាំដើមជាមួយនឹងគុណលក្ខណៈសាធារណៈខាងក្រោម៖

string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = “អាច​អត្រា baud អាដាប់ទ័រ” baudRate = CanBaudRate () ixxat = Ixxat ()

6.7 CanOpenNmtService

សម្រាប់សេវាកម្ម NMT រចនាសម្ព័ន្ធនេះមានរដ្ឋ CANopen NMT ជាតម្លៃខ្សែអក្សរនៅក្នុងគុណលក្ខណៈសាធារណៈខាងក្រោម៖

ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ

START = “START” STOP = “STOP” PRE_OPERATIONAL = “PRE_OPERATIONAL” កំណត់ឡើងវិញ = “កំណត់ឡើងវិញ” RESET_COMMUNICATION = “RESET_COMMUNICATION”

6.8 CanOpenNmtState

រចនាសម្ព័ន្ធនេះមានរដ្ឋ CANopen NMT ជាតម្លៃខ្សែអក្សរនៅក្នុងគុណលក្ខណៈសាធារណៈខាងក្រោម៖

ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ

STOPPED = “STOPPED” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “OperATIONAL” INITIALIZATION = “INITIALIZATION” មិនស្គាល់ = “មិនស្គាល់”

6.9 រចនាសម្ព័ន្ធ EtherCATBus

រចនាសម្ព័ន្ធនេះមានជម្រើសកំណត់រចនាសម្ព័ន្ធទំនាក់ទំនង EtherCAT នៅក្នុងលក្ខណៈសាធារណៈខាងក្រោម៖

ខ្សែអក្សរ NETWORK_FIRMWARE_STATE_OPTION_NAME ស្ថានភាពបណ្តាញត្រូវបានចាត់ទុកជារបៀបកម្មវិធីបង្កប់។ អាចទទួលយកបាន។

= "ស្ថានភាពកម្មវិធីបង្កប់បណ្តាញ"

តម្លៃ (លំនាំដើម = PRE_OPERATIONAL)៖

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

ខ្សែអក្សរ DEFAULT_NETWORK_FIRMWARE_STATE = “PRE_OPERATIONAL”

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

23

6 ថ្នាក់/អនុគមន៍យោង

ខ្សែអក្សរ EXCLUSIVE_LOCK_TIMEOUT_OPTION_NAME អស់ពេលគិតជាមិល្លីវិនាទី ដើម្បីទទួលបានការចាក់សោផ្តាច់មុខនៅលើ

= "ការអស់ពេលនៃការចាក់សោដែលបានចែករំលែក"

បណ្តាញ (លំនាំដើម = 500 ms) ។

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

ខ្សែអក្សរ SHARED_LOCK_TIMEOUT_OPTION_NAME =អស់ពេលគិតជាមិល្លីវិនាទី ដើម្បីទទួលបានការចាក់សោដែលបានចែករំលែកនៅលើ

"ការអស់ពេលនៃការចាក់សោដែលបានចែករំលែក"

បណ្តាញ (លំនាំដើម = 250 ms) ។

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

ខ្សែអក្សរ READ_TIMEOUT_OPTION_NAME = “អានអស់ពេល”

អស់ពេលគិតជាមិល្លីវិនាទីសម្រាប់ប្រតិបត្តិការអាន (លំនាំដើម = 700 ms)។

const unsigned int DEFAULT_READ_TIMEOUT = “700”

ខ្សែអក្សរ WRITE_TIMEOUT_OPTION_NAME = “សរសេរអស់ពេល”

អស់ពេលគិតជាមិល្លីវិនាទីសម្រាប់ប្រតិបត្តិការសរសេរ (លំនាំដើម = 200 ms) ។

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

ខ្សែអក្សរ READ_WRITE_ATTEMPTS_OPTION_NAME = ការព្យាយាមអាន ឬសរសេរអតិបរមា (តម្លៃមិនមែនសូន្យ

"អាន / សរសេរការព្យាយាម"

តែប៉ុណ្ណោះ; លំនាំដើម = 5) ។

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

ខ្សែអក្សរ CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “ការប៉ុនប៉ងផ្លាស់ប្តូរស្ថានភាពបណ្តាញ”

ចំនួនអតិបរមានៃការព្យាយាមផ្លាស់ប្តូរស្ថានភាពបណ្តាញ (តម្លៃមិនមែនសូន្យតែប៉ុណ្ណោះ; លំនាំដើម = 10) ។

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

string PDO_IO_ENABLED_OPTION_NAME = “PDO IO បើក ឬបិទដំណើរការ PDO សម្រាប់ឌីជីថល in- /

បានបើកដំណើរការ”

លទ្ធផល ("ពិត" ឬ "មិនពិត" តែប៉ុណ្ណោះ; លំនាំដើម = "ពិត") ។

ខ្សែអក្សរ DEFAULT_PDO_IO_ENABLED = “ពិត”

6.10 រចនាសម្ព័ន្ធ EtherCATSstate

រចនាសម្ព័ន្ធនេះមាន EtherCAT slave / network states ជាតម្លៃខ្សែអក្សរនៅក្នុងគុណលក្ខណៈសាធារណៈខាងក្រោម។ ចំណាំ៖ ស្ថានភាពលំនាំដើមនៅពេលបើកគឺ PRE_OPERATIONAL; NanoLib អាចផ្តល់នូវស្ថានភាព "OPERATIONAL" ដែលអាចជឿទុកចិត្តបាននៅក្នុងប្រព័ន្ធប្រតិបត្តិការដែលមិនមែនជាពេលវេលាជាក់ស្តែង៖

ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ

គ្មាន = “គ្មាន” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “OPERATIONAL”

6.11 Ixxat

រចនាសម្ព័ន្ធនេះផ្ទុកព័ត៌មានទាំងអស់សម្រាប់ IXXAT usb-to-can ក្នុងលក្ខណៈសាធារណៈខាងក្រោម៖

ខ្សែអក្សរ

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “លេខឡានក្រុងអាដាប់ទ័រ ixxat”

const IxxatAdapterBusNumber អាដាប់ធ័រBusNumber = IxxatAdapterBusNumber ()

6.12 IxxatAdapterBusNumber

រចនាសម្ព័ន្ធនេះផ្ទុកលេខឡានក្រុងសម្រាប់ IXXAT usb-to-can ក្នុងលក្ខណៈសាធារណៈខាងក្រោម៖

ខ្សែអក្សរ

BUS_NUMBER_0_DEFAULT = “0”

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

24

6 ថ្នាក់/អនុគមន៍យោង

ខ្សែអក្សរ ខ្សែអក្សរ

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

6.13 ចំណុចទាញឧបករណ៍
ថ្នាក់នេះតំណាងឱ្យចំណុចទាញសម្រាប់គ្រប់គ្រងឧបករណ៍នៅលើឡានក្រុង និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម។

DeviceHandle () DeviceHandle ()

ស្មើ () ប្រៀបធៀបខ្លួនវាទៅនឹងចំណុចទាញឧបករណ៍ដែលបានផ្តល់ឱ្យ។
boolean equals (DeviceHandle other)

toString() ត្រឡប់តំណាងខ្សែអក្សរនៃចំណុចទាញឧបករណ៍។
ខ្សែអក្សរទៅខ្សែអក្សរ ()

6.14 លេខសម្គាល់ឧបករណ៍
ប្រើថ្នាក់នេះ (មិនអាចផ្លាស់ប្តូរពីការបង្កើតនៅលើ) ដើម្បីកំណត់អត្តសញ្ញាណ និងបែងចែកឧបករណ៍នៅលើឡានក្រុង៖

គ្រឿងសម្គាល់អាដាប់ទ័រផ្នែករឹង

ឧបករណ៍កំណត់អត្តសញ្ញាណ

ការពិពណ៌នា

អត្ថន័យនៃលេខសម្គាល់ឧបករណ៍/តម្លៃការពិពណ៌នាអាស្រ័យលើឡានក្រុង។ សម្រាប់អតីតampដូច្នេះ ឡានក្រុង CAN អាចប្រើលេខសម្គាល់ចំនួនគត់។

DeviceId () [1/3] សាងសង់វត្ថុលេខសម្គាល់ឧបករណ៍ថ្មី។
DeviceId (BusHardwareId busHardwareId_, long deviceId_, String description_)

ប៉ារ៉ាម៉ែត្រ busHardwareId_ deviceId_ description_

អត្តសញ្ញាណនៃឡានក្រុង។ សន្ទស្សន៍; Subject to bus (= CANopen node ID ។ល។)។ ការពិពណ៌នា (អាចទទេ); ប្រធានបទនៃឡានក្រុង។

DeviceId () [2/3] បង្កើតវត្ថុលេខសម្គាល់ឧបករណ៍ថ្មីជាមួយនឹងជម្រើសលេខសម្គាល់បន្ថែម។
DeviceId (BusHardwareId busHardwareId_, long deviceId_, String description_, ByteVector extraId_, String extraStringId_)

ប៉ារ៉ាម៉ែត្រ busHardwareId_ deviceId_ description_ extraId_

អត្តសញ្ញាណនៃឡានក្រុង។ សន្ទស្សន៍មួយ; Subject to bus (= CANopen node ID ។ល។)។ ការពិពណ៌នា (អាចទទេ); ប្រធានបទនៃឡានក្រុង។ លេខសម្គាល់បន្ថែម (អាចទទេ); អត្ថន័យគឺអាស្រ័យលើឡានក្រុង។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

25

6 ថ្នាក់/អនុគមន៍យោង

extraStringId_

លេខសម្គាល់ខ្សែអក្សរបន្ថែម (អាចទទេ); អត្ថន័យគឺអាស្រ័យលើឡានក្រុង។

DeviceId () [3/3] បង្កើតច្បាប់ចម្លងនៃវត្ថុលេខសម្គាល់ឧបករណ៍។
លេខសម្គាល់ឧបករណ៍ (DeviceId arg0)

ប៉ារ៉ាម៉ែត្រ deviceId_

លេខសម្គាល់ឧបករណ៍ដែលត្រូវចម្លងពី។

equals () ប្រៀបធៀបថ្មីទៅនឹងវត្ថុដែលមានស្រាប់។
ប៊ូលីនស្មើគ្នា (DeviceId ផ្សេងទៀត)

ត្រឡប់ប៊ូលីន

getBusHardwareId () អានលេខសម្គាល់ផ្នែករឹងរបស់រថយន្តក្រុង។
BusHardwareId getBusHardwareId ()

ត្រឡប់ BusHardwareId

getDescription () អានការពិពណ៌នាឧបករណ៍ (ប្រហែលជាមិនប្រើ)។
ខ្សែអក្សរ getDescription ()

ត្រឡប់ខ្សែអក្សរ

getDeviceId () អានលេខសម្គាល់ឧបករណ៍ (ប្រហែលជាមិនប្រើ)។
long getDeviceId ()

ត្រឡប់ int ដែលមិនបានចុះហត្ថលេខា

toString() ត្រឡប់វត្ថុជាខ្សែអក្សរ។
ខ្សែអក្សរទៅខ្សែអក្សរ ()

ត្រឡប់ខ្សែអក្សរ

getExtraId () អានលេខសម្គាល់បន្ថែមរបស់ឧបករណ៍ (អាចនឹងមិនប្រើ)។
ByteVector getExtraId ()

ត្រឡប់ vector extraId_

វ៉ិចទ័រនៃលេខសម្គាល់បន្ថែម (អាចទទេ); អត្ថន័យគឺអាស្រ័យលើឡានក្រុង។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

26

6 ថ្នាក់/អនុគមន៍យោង

getExtraStringId () អានលេខសម្គាល់ខ្សែអក្សរបន្ថែមរបស់ឧបករណ៍ (អាចនឹងមិនប្រើ)។
ខ្សែអក្សរ getExtraStringId ()

ត្រឡប់ខ្សែអក្សរ

លេខសម្គាល់ខ្សែអក្សរបន្ថែម (អាចទទេ); អត្ថន័យគឺអាស្រ័យលើឡានក្រុង។

6.15 LogLevelConverter

ថ្នាក់នេះត្រឡប់កម្រិតកំណត់ហេតុរបស់អ្នកជាខ្សែអក្សរ។ ខ្សែអក្សរឋិតិវន្តទៅខ្សែអក្សរ (LogLevel logLevel)

៦.១៦ វចនានុក្រមវត្ថុ
ថ្នាក់នេះតំណាងឱ្យវចនានុក្រមវត្ថុរបស់ឧបករណ៍បញ្ជា និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getDeviceHandle ()
ResultDeviceHandle getDeviceHandle () ត្រឡប់ ResultDeviceHandle getObject () ResultObjectSubEntry getObject (OdIndex odIndex) ត្រឡប់ ResultObjectSubEntry

getObjectEntry () ResultObjectEntry getObjectEntry (សន្ទស្សន៍ int)

ត្រឡប់ ResultObjectEntry

ជូនដំណឹងអំពីលក្ខណៈសម្បត្តិរបស់វត្ថុមួយ។

getXmlFileឈ្មោះ () getXmlFileឈ្មោះ (ខ្លួនឯង)

ResultString getXmlFileឈ្មោះ ()

ត្រឡប់ ResultString

ត្រឡប់ XML file ដាក់ឈ្មោះជាខ្សែអក្សរ។

readNumber () ResultInt readNumber (OdIndex odIndex) ត្រឡប់ ResultInt
readNumberArray () ResultArrayInt readNumberArray (int index)

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

27

6 ថ្នាក់/អនុគមន៍យោង
ត្រឡប់លទ្ធផលArrayInt readString ()
ResultString readString (OdIndex odIndex) ត្រឡប់ ResultString readBytes () ResultArrayByte readBytes (OdIndex odIndex) ត្រឡប់ ResultArrayByte writeNumber () ResultVoid writeNumber (OdIndex odIndex, long value) ReturnsVoid writeBytes () ResultVoid writeBytes () ResultVoid writeBytes ប្រែក្លាយ ResultVoid តំណភ្ជាប់ដែលទាក់ទង OdIndex
6.17 ការចូលវត្ថុ
ថ្នាក់នេះតំណាងឱ្យធាតុធាតុនៃវចនានុក្រមវត្ថុ ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getName() អានឈ្មោះរបស់វត្ថុជាខ្សែអក្សរ។
ខ្សែអក្សរ getName ()
getPrivate() ពិនិត្យមើលថាតើវត្ថុឯកជនឬអត់។
ប៊ូលីន getPrivate ()
getIndex () អានអាសយដ្ឋាននៃសន្ទស្សន៍វត្ថុ។
int getIndex ()
getDataType () អានប្រភេទទិន្នន័យរបស់វត្ថុ។
ObjectEntryDataType getDataType ()

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

28

6 ថ្នាក់/អនុគមន៍យោង

getObjectCode () អានកូដវត្ថុ៖

Null Deftype Defstruct Var Array Record

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

កូដវត្ថុ getObjectCode ()

getObjectSaveable () ពិនិត្យមើលថាតើវត្ថុនោះអាចរក្សាទុកបានឬអត់ ហើយវាជាប្រភេទរបស់វា (សូមមើលសៀវភៅណែនាំផលិតផលសម្រាប់ព័ត៌មានលម្អិត)៖ APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVE
ObjectSaveable getObjectSaveable ()

getMaxSubIndex () អានចំនួននៃ subindices ដែលគាំទ្រដោយវត្ថុនេះ។
getMaxSubIndex() ខ្លី

getSubEntry () ObjectSubEntry getSubEntry (សន្ទស្សន៍រងខ្លី)
សូមមើល ObjectSubEntry ផងដែរ។
6.18 ObjectSubEntry
ថ្នាក់នេះតំណាងឱ្យធាតុរងវត្ថុ (សន្ទស្សន៍រង) នៃវចនានុក្រមវត្ថុ ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖
getName() អានឈ្មោះរបស់វត្ថុជាខ្សែអក្សរ។
ខ្សែអក្សរ getName ()

getSubIndex () អានអាសយដ្ឋាននៃសន្ទស្សន៍រង។
getSubIndex ខ្លី ()

getDataType () អានប្រភេទទិន្នន័យរបស់វត្ថុ។
ObjectEntryDataType getDataType ()

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

29

6 ថ្នាក់/អនុគមន៍យោង

getSdoAccess () ពិនិត្យមើលថាតើសន្ទស្សន៍រងអាចចូលប្រើបានតាមរយៈ SDO៖

អានតែប៉ុណ្ណោះ

1

សរសេរតែប៉ុណ្ណោះ

2

អានសរសេរ

3

គ្មានការចូលប្រើ

0

ObjectSdoAccessAttribute getSdoAccess ()

getPdoAccess () ពិនិត្យមើលថាតើលិបិក្រមរងអាចចូលប្រើបាន ឬអាចធ្វើផែនទីតាមរយៈ PDO៖

Tx

1

Rx

2

TxRx

3

ទេ

0

ObjectPdoAccessAttribute getPdoAccess ()

getBitLength () ពិនិត្យប្រវែងលិបិក្រមរង។
long getBitLength ()

getDefaultValueAsNumeric () អានតម្លៃលំនាំដើមនៃសន្ទស្សន៍រងសម្រាប់ប្រភេទទិន្នន័យជាលេខ។
ResultInt getDefaultValueAsNumeric (String key)

getDefaultValueAsString () អានតម្លៃលំនាំដើមនៃសន្ទស្សន៍រងសម្រាប់ប្រភេទទិន្នន័យខ្សែអក្សរ។
ResultString getDefaultValueAsString (String key)

getDefaultValues ​​() អានតម្លៃលំនាំដើមនៃសន្ទស្សន៍រង។
StringStringMap getDefaultValues ​​()

readNumber () អានតម្លៃជាក់ស្តែងជាលេខនៃសន្ទស្សន៍រង។
លទ្ធផលអានលេខ ()

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

30

6 ថ្នាក់/អនុគមន៍យោង

readString() អានតម្លៃពិតនៃខ្សែអក្សរនៃសន្ទស្សន៍រង។
ResultString readString ()

readBytes () អានតម្លៃពិតនៃសន្ទស្សន៍រងជាបៃ។
លទ្ធផល ArrayByte readBytes ()

writeNumber () សរសេរតម្លៃលេខក្នុងសន្ទស្សន៍រង។
លេខលទ្ធផល លេខសរសេរ (តម្លៃវែង)

writeBytes () សរសេរតម្លៃក្នុងលិបិក្រមរងជាបៃ។
ResultVoid writeBytes (ទិន្នន័យ ByteVector)

6.19 OdIndex
ប្រើ​ថ្នាក់​នេះ (មិន​អាច​កែប្រែ​បាន​ពី​ការ​បង្កើត​នៅ​លើ) ដើម្បី​រុំ និង​កំណត់​ទីតាំង​សន្ទស្សន៍/សន្ទស្សន៍​រង​របស់​ថត​វត្ថុ។ OD របស់ឧបករណ៍មួយមានជួររហូតដល់ 65535 (0xFFFF) និងជួរឈរ 255 (0xFF) ។ ជាមួយនឹងចន្លោះរវាងជួរដែលមិនបន្ត។ សូមមើលស្តង់ដារ CANopen និងសៀវភៅណែនាំផលិតផលរបស់អ្នកសម្រាប់ព័ត៌មានលម្អិត។
OdIndex () សាងសង់វត្ថុ OdIndex ថ្មី។
OdIndex()

សន្ទស្សន៍​រង​សន្ទស្សន៍​ប៉ារ៉ាម៉ែត្រ

ពី 0 ដល់ 65535 (0xFFFF) រួមបញ្ចូល។ ពី 0 ដល់ 255 (0xFF) រួមបញ្ចូល។

getIndex () អានលិបិក្រម (ពី 0x0000 ដល់ 0xFFFF) ។
int getIndex()

getSubindex () អានលិបិក្រមរង (ពី 0x00 ដល់ 0xFF)
getSubIndex() ខ្លី

toString() ត្រឡប់​លិបិក្រម និង​លិបិក្រម​រង​ជា​ខ្សែអក្សរ។ ខ្សែអក្សរលំនាំដើម 0xIIII:0xSS អានដូចខាងក្រោម៖

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

31

6 ថ្នាក់/អនុគមន៍យោង

I = សន្ទស្សន៍ពី 0x0000 ទៅ 0xFFFF

S = សន្ទស្សន៍រងពី 0x00 ដល់ 0xFF

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

ខ្សែអក្សរទៅខ្សែអក្សរ ()

ត្រឡប់ 0xIII:0xSS

តំណាងខ្សែអក្សរលំនាំដើម

6.20 OdIndexVector

ជួយថ្នាក់ដែលបង្កើតវ៉ិចទ័រនៃវត្ថុ OdIndex ដើម្បីបង្កើតវចនានុក្រមវត្ថុ។

6.21 OdLibrary

ប្រើចំណុចប្រទាក់សរសេរកម្មវិធីនេះដើម្បីបង្កើតវត្ថុនៃថ្នាក់ ObjectDictionary ពី XML ។ តាមរយៈ assignObjectDictionary បន្ទាប់មកអ្នកអាចចងវត្ថុនីមួយៗទៅនឹងឧបករណ៍ជាក់លាក់មួយ ដោយសារឧបករណ៍កំណត់អត្តសញ្ញាណដែលបានបង្កើតតែមួយគត់។ វត្ថុ​វចនានុក្រម​វត្ថុ​ដែល​បាន​បង្កើត​ដូច្នេះ ត្រូវ​បាន​រក្សា​ទុក​ក្នុង​វត្ថុ OdLibrary ដើម្បី​ចូល​ប្រើ​ដោយ​លិបិក្រម។ ថ្នាក់ ODLibrary ផ្ទុកធាតុ ObjectDictionary ពី file ឬអារេ រក្សាទុកពួកវា និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖

getObjectDictionaryCount () long getObjectDictionaryCount ()

getObjectDictionary () ResultObjectDictionary getObjectDictionary (odIndex វែង)
ត្រឡប់ ResultObjectDictionary
addObjectDictionaryFromFile () ResultObjectDictionary addObjectDictionaryFromFile (ខ្សែអក្សរ absoluteXmlFileផ្លូវ)
ត្រឡប់ ResultObjectDictionary
addObjectDictionary () virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileផ្លូវ = std::string ())
លទ្ធផលObjectDictionary addObjectDictionary (ByteVector odXmlData, String xmlFileផ្លូវ)
ត្រឡប់ ResultObjectDictionary
6.22 OdTypesHelper

uintToObjectCode () បំប្លែងចំនួនគត់ដែលមិនបានចុះហត្ថលេខាទៅជាកូដវត្ថុ៖

ទុកជាមោឃៈ

0x00

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

32

6 ថ្នាក់/អនុគមន៍យោង

Deftype Defstruct Var Array Record

0x05 0x06 0x07 0x08 0x09

កូដវត្ថុឋិតិវន្ត uintToObjectCode (កូដវត្ថុវែង)

isNumericDataType () ជូនដំណឹងប្រសិនបើប្រភេទទិន្នន័យជាលេខឬអត់។
ប៊ូលីនឋិតិវន្ត គឺជាប្រភេទទិន្នន័យលេខ (ObjectEntryDataType dataType)

isDefstructIndex () ជូនដំណឹងប្រសិនបើវត្ថុគឺជាសន្ទស្សន៍រចនាសម្ព័ន្ធនិយមន័យឬអត់។
ប៊ូលីនឋិតិវន្ត isDefstructIndex (int typeNum)

isDeftypeIndex () ជូនដំណឹងប្រសិនបើវត្ថុគឺជាសន្ទស្សន៍ប្រភេទនិយមន័យឬអត់។
ប៊ូលីនឋិតិវន្ត isDeftypeIndex (int typeNum)

isComplexDataType () ជូនដំណឹងប្រសិនបើប្រភេទទិន្នន័យស្មុគស្មាញឬអត់។
ប៊ូលីនឋិតិវន្ត isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () បម្លែងចំនួនគត់ដែលមិនបានចុះហត្ថលេខាទៅជាប្រភេទទិន្នន័យ OD ។
static ObjectEntryDataType uintToObjectEntryDataType

objectEntryDataTypeToString () បម្លែងប្រភេទទិន្នន័យ OD ទៅជាខ្សែអក្សរ។
static String objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () បម្លែងខ្សែអក្សរទៅជាប្រភេទទិន្នន័យ OD ប្រសិនបើអាចធ្វើទៅបាន។ បើមិនដូច្នោះទេ ត្រឡប់ UNKNOWN_DATATYPE។
static ObjectEntryDataType stringToObjectEntryDatatype (String dataTypeString)

objectEntryDataTypeBitLength () ជូនដំណឹងអំពីប្រវែងប៊ីតនៃប្រភេទទិន្នន័យបញ្ចូលវត្ថុមួយ។
ឋិតិវន្ត​វត្ថុ​វែងEntryDataTypeBitLength (ObjectEntryDataType dataType)

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

33

6 ថ្នាក់/អនុគមន៍យោង

6.23 រចនាសម្ព័ន្ធ RESTfulBus

រចនាសម្ព័ន្ធនេះមានជម្រើសកំណត់រចនាសម្ព័ន្ធទំនាក់ទំនងសម្រាប់ចំណុចប្រទាក់ RESTful (តាមអ៊ីសឺរណិត) ។ វាមានគុណលក្ខណៈសាធារណៈដូចខាងក្រោមៈ

const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long

ភ្ជាប់ - ពេលវេលាធ្វើឱ្យ = "ការតភ្ជាប់តាមពេលវេលានៃការបំពេញនូវ" ការស្នើសុំពេលវេលា "200 សំណើរ =" ការស្នើសុំអស់រយៈពេល 200 ការឆ្លើយតប = "ពេលវេលាឆ្លើយតប

6.24 ProfinetDCP
នៅក្រោមលីនុច កម្មវិធីហៅទូរសព្ទត្រូវការសមត្ថភាព 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. ថតប្រព័ន្ធវីនដូ SystemRoot%System32 3. បញ្ជីដំឡើង Npcap SystemRoot%System32Npcap 4. ផ្លូវបរិស្ថាន
ថ្នាក់នេះតំណាងឱ្យចំណុចប្រទាក់ Profinet DCP និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖

getScanTimeout () ជូនដំណឹងអំពីពេលវេលាស្កេនឧបករណ៍ (លំនាំដើម = 2000 ms) ។
long getScanTimeout ()

setScanTimeout () កំណត់ពេលវេលាស្កេនឧបករណ៍ (លំនាំដើម = 2000 ms) ។
កំណត់ពេលស្កេនទុកជាមោឃៈ (អស់ពេលMsec)

getResponseTimeout () ជូនដំណឹងអំពីពេលវេលាឆ្លើយតបឧបករណ៍សម្រាប់ការដំឡើង កំណត់ឡើងវិញ និងប្រតិបត្តិការព្រិចភ្នែក (លំនាំដើម = 1000 ms)។
long getResponseTimeout ()

setResponseTimeout () ជូនដំណឹងអំពីពេលវេលាឆ្លើយតបឧបករណ៍សម្រាប់ការដំឡើង កំណត់ឡើងវិញ និងប្រតិបត្តិការព្រិចភ្នែក (លំនាំដើម = 1000 ms)។
ការ​កំណត់​ពេល​វេលា​ឆ្លើយតប​ជា​មោឃៈ (ពេល​វេលា​យូរ Msec)

isServiceAvailable ()
ប្រើមុខងារនេះដើម្បីពិនិត្យមើលភាពអាចរកបាននៃសេវាកម្ម Profinet DCP ។
សុពលភាព / ភាពអាចរកបាននៃអាដាប់ទ័របណ្តាញ វីនដូ៖ ភាពអាចរកបាន WinPcap / Npcap

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

34

6 ថ្នាក់/អនុគមន៍យោង

លីនុច៖ សមត្ថភាព CAP_NET_ADMIN / CAP_NET_RAW ResultVoid isServiceAvailable (BusHardwareId busHardwareId)

ប៉ារ៉ាម៉ែត្រ BusHardwareId ត្រឡប់ពិត
មិនពិត

លេខសម្គាល់ផ្នែករឹងនៃសេវាកម្ម Profinet DCP ដើម្បីពិនិត្យ។ មានសេវាកម្ម។ សេវាកម្មមិនអាចប្រើបានទេ។

scanProfinetDevices () ប្រើមុខងារនេះដើម្បីស្កេន hardware bus សម្រាប់វត្តមានរបស់ឧបករណ៍ Profinet។
ResultProfinetDevices scanProfinetDevices (BusHardwareId busHardwareId)

ប៉ារ៉ាម៉ែត្រ BusHardwareId ត្រឡប់ ResultProfinetDevices

បញ្ជាក់ fieldbus នីមួយៗដែលត្រូវបើក។ ផ្នែករឹងត្រូវបានបើក។

setupProfinetDevice () បង្កើតការកំណត់ឧបករណ៍ខាងក្រោម៖

ឈ្មោះឧបករណ៍

អាសយដ្ឋាន IP

របាំងបណ្តាញ

ច្រកចេញចូលលំនាំដើម

ResultVoid setupProfinetDevice (BusHardwareId busHardwareId, ProfinetDevice profinetDevice, boolean savePermanent)

resetProfinetDevice () បញ្ឈប់ឧបករណ៍ ហើយកំណត់វាឡើងវិញទៅលំនាំដើមរបស់រោងចក្រ។
ResultVoid resetProfinetDevice (BusHardwareId busHardwareId, ProfinetDevice profinetDevice)

blinkProfinetDevice () បញ្ជាឱ្យឧបករណ៍ Profinet ចាប់ផ្តើមព្រិចភ្នែក LED Profinet របស់វា។
ResultVoid blinkProfinetDevice (BusHardwareId busHardwareId, ProfinetDevice profinetDevice)

validateProfinetDeviceIp () ប្រើមុខងារនេះដើម្បីពិនិត្យអាសយដ្ឋាន IP របស់ឧបករណ៍។
ResultVoid validateProfinetDeviceIp (BusHardwareId busHardwareId, ProfinetDevice profinetDevice)

ប៉ារ៉ាម៉ែត្រ BusHardwareId ProfinetDevice
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់លេខសម្គាល់ផ្នែករឹងដើម្បីពិនិត្យ។ បញ្ជាក់ឧបករណ៍ Profinet ដើម្បីធ្វើសុពលភាព។

6.25 រចនាសម្ព័ន្ធឧបករណ៍ ProfinetDevice

ទិន្នន័យឧបករណ៍ Profinet មានគុណលក្ខណៈសាធារណៈដូចខាងក្រោម៖

std:: ខ្សែអក្សរ

ឈ្មោះឧបករណ៍

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

35

6 ថ្នាក់/អនុគមន៍យោង

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

ឧបករណ៍Vendor 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

6.26 ថ្នាក់លទ្ធផល

ប្រើតម្លៃត្រឡប់ "ស្រេចចិត្ត" នៃថ្នាក់ទាំងនេះ ដើម្បីពិនិត្យមើលថាតើការហៅមុខងារបានជោគជ័យឬអត់ ហើយក៏កំណត់ទីតាំងមូលហេតុបរាជ័យផងដែរ។ នៅពេលជោគជ័យ មុខងារ hasError () ត្រឡប់មិនពិត។ តាមរយៈ getResult () អ្នកអាចអានតម្លៃលទ្ធផលតាមប្រភេទ (ResultInt ។ល។)។ ប្រសិនបើការហៅទូរស័ព្ទបរាជ័យ អ្នកអានហេតុផលដោយ getError()។

គុណលក្ខណៈការពារ

ខ្សែអក្សរ NlcErrorCode uint32_t

errorString errorCode exErrorCode

ផងដែរ ថ្នាក់នេះមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖

hasError () អានការហៅមុខងារដែលជោគជ័យ។
ប៊ូលីនមានកំហុស ()

ត្រឡប់មកវិញ

ពិតមិនពិត

ការហៅទូរសព្ទមិនបានសម្រេច។ ប្រើ getError () ដើម្បីអានតម្លៃ។ ការហៅទូរស័ព្ទជោគជ័យ។ ប្រើ getResult () ដើម្បីអានតម្លៃ។

getError () អានហេតុផលប្រសិនបើការហៅមុខងារបរាជ័យ។
ខ្សែអក្សរ getError ()

ត្រឡប់​ខ្សែអក្សរ const

getErrorCode () អាន NlcErrorCode ។
NlcErrorCode getErrorCode ()

getExErrorCode () uint32_t getExErrorCode () const long getExErrorCode ()

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

36

6 ថ្នាក់/អនុគមន៍យោង
6.26.1 លទ្ធផលគ្មានន័យ
NanoLib ផ្ញើអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់ជាមោឃៈ។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ និងគុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖
ResultVoid () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលទទេពិតប្រាកដ៖
ResultVoid (String errorString_)
ResultVoid (NlcErrorCode errCode, String errorString_)
ResultVoid (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultVoid (លទ្ធផលលទ្ធផល)
6.26.2 ResultInt
NanoLib ផ្ញើអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើអនុគមន៍ត្រឡប់ចំនួនគត់។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖
getResult () ត្រឡប់លទ្ធផលចំនួនគត់ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
long getResult ()
ត្រឡប់មកវិញយូរ
ResultInt () មុខងារខាងក្រោមជួយកំណត់លទ្ធផលចំនួនគត់ពិតប្រាកដ៖
ResultInt (លទ្ធផលវែង_)
ResultInt (កំហុសខ្សែអក្សរString_)
ResultInt (NlcErrorCode errCode, String errorString_)
ResultInt (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultInt (លទ្ធផលលទ្ធផល)
6.26.3 ResultString
NanoLib ផ្ញើ​អ្នក​នូវ​ឧទាហរណ៍​នៃ​ថ្នាក់​នេះ ប្រសិនបើ​អនុគមន៍​ត្រឡប់​ខ្សែអក្សរ។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖
getResult () អានលទ្ធផលខ្សែអក្សរ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
ខ្សែអក្សរ getResult ()
ត្រឡប់​ខ្សែអក្សរ const

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

37

6 ថ្នាក់/អនុគមន៍យោង
ResultString () មុខងារខាងក្រោមជួយកំណត់លទ្ធផលខ្សែអក្សរពិតប្រាកដ៖
ResultString (សារ String, boolean hasError_)
ResultString (NlcErrorCode errCode, String errorString_)
ResultString (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultString (លទ្ធផលលទ្ធផល)
6.26.4 ResultArrayByte
NanoLib បញ្ជូនអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើអនុគមន៍ត្រឡប់អារេបៃ។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getResult () អានវ៉ិចទ័របៃ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
ByteVector getResult () ត្រឡប់វ៉ិចទ័រ const
ResultArrayByte () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលអារេបៃពិតប្រាកដ៖
ResultArrayByte (ByteVector result_)
ResultArrayByte (String errorString_)
ResultArrayByte (NlcErrorCode errCode, String errorString_)
ResultArrayByte (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultArrayByte (លទ្ធផលលទ្ធផល)
6.26.5 ResultArrayInt
NanoLib បញ្ជូនអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើអនុគមន៍ត្រឡប់អារេចំនួនគត់។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getResult() អានវ៉ិចទ័រចំនួនគត់ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
IntVector getResult () ត្រឡប់វ៉ិចទ័រ const

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

38

6 ថ្នាក់/អនុគមន៍យោង
ResultArrayInt () មុខងារខាងក្រោមជួយកំណត់លទ្ធផលអារេចំនួនគត់ពិតប្រាកដ៖
ResultArrayInt (លទ្ធផល IntVector_)
ResultArrayInt (String errorString_)
ResultArrayInt (NlcErrorCode errCode, String errorString_)
ResultArrayInt (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultArrayInt (លទ្ធផលលទ្ធផល)
6.26.6 លទ្ធផលBusHwIds
NanoLib ផ្ញើឱ្យអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់អារេ ID ផ្នែករឹងរបស់រថយន្តក្រុង។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getResult () អានវ៉ិចទ័រ bus-hardware-ID ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
BusHWIdVector getResult ()
ប៉ារ៉ាម៉ែត្រ const វ៉ិចទ័រ
ResultBusHwIds () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលអារេ bus-hardware-ID-array ពិតប្រាកដ៖
ResultBusHwIds (BusHWIdVector result_)
លទ្ធផលBusHwIds (កំហុសខ្សែអក្សរString_)
ResultBusHwIds (NlcErrorCode errCode, String errorString_)
ResultBusHwIds (NlcErrorCode errCode, exErrCode វែង, String errorString_)
ResultBusHwIds (លទ្ធផលលទ្ធផល)
6.26.7 លេខសម្គាល់ឧបករណ៍លទ្ធផល
NanoLib ផ្ញើឱ្យអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់លេខសម្គាល់ឧបករណ៍។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getResult () អានវ៉ិចទ័រលេខសម្គាល់ឧបករណ៍ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
DeviceId getResult ()
ត្រឡប់​វ៉ិចទ័រ const

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

39

6 ថ្នាក់/អនុគមន៍យោង
ResultDeviceId () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលលេខសម្គាល់ឧបករណ៍ពិតប្រាកដ៖
ResultDeviceId (DeviceId result_)
ResultDeviceId (String errorString_)
ResultDeviceId (NlcErrorCode errCode, String errorString_)
ResultDeviceId (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultDeviceId (លទ្ធផលលទ្ធផល)
6.26.8 ResultDeviceIds
NanoLib ផ្ញើឱ្យអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់អារេលេខសម្គាល់ឧបករណ៍។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getResult () ត្រឡប់វ៉ិចទ័រលេខសម្គាល់ឧបករណ៍ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
DeviceIdVector getResult ()
ត្រឡប់​វ៉ិចទ័រ const
ResultDeviceIds () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលឧបករណ៍-ID-អារេពិតប្រាកដ៖
ResultDeviceIds (DeviceIdVector result_)
ResultDeviceIds (String errorString_)
ResultDeviceIds (NlcErrorCode errCode, String errorString_)
ResultDeviceIds (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultDeviceIds (លទ្ធផលលទ្ធផល)
6.26.9 ចំណុចទាញឧបករណ៍លទ្ធផល
NanoLib បញ្ជូនអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់តម្លៃនៃចំណុចទាញឧបករណ៍។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getResult () អានចំណុចទាញឧបករណ៍ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
DeviceHandle getResult ()
ត្រឡប់ DeviceHandle

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

40

6 ថ្នាក់/អនុគមន៍យោង

ResultDeviceHandle () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលឧបករណ៍ដោះស្រាយពិតប្រាកដ៖
ResultDeviceHandle (DeviceHandle result_)

ResultDeviceHandle (កំហុសខ្សែអក្សរString_)

ResultDeviceHandle (NlcErrorCode errCode, String errorString_)

ResultDeviceHandle (NlcErrorCode errCode, long exErrCode, String errorString_)

ResultDeviceHandle (លទ្ធផលលទ្ធផល)

6.26.10 ResultObjectDictionary
NanoLib ផ្ញើអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់មាតិកានៃវចនានុក្រមវត្ថុ។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖

getResult () អានវ៉ិចទ័រលេខសម្គាល់ឧបករណ៍ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
ObjectDictionary getResult ()

ត្រឡប់មកវិញ

វ៉ិចទ័រ const

ResultObjectDictionary () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលវចនានុក្រមវត្ថុពិតប្រាកដ៖
ResultObjectDictionary (ObjectDictionary results_)

ResultObjectDictionary (កំហុសខ្សែអក្សរString_)

ResultObjectDictionary (NlcErrorCode errCode, String errorString_)

ResultObjectDictionary (NlcErrorCode errCode, exErrCode វែង, String errorString_)

ResultObjectDictionary (លទ្ធផលលទ្ធផល)

6.26.11 ResultConnectionState
NanoLib ផ្ញើឱ្យអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់ព័ត៌មានអំពីស្ថានភាពការតភ្ជាប់ឧបករណ៍។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖
getResult () អានចំណុចទាញឧបករណ៍ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
DeviceConnectionStateInfo getResult ()
ត្រឡប់ DeviceConnectionStateInfo Connected/Disconnected/ConnectedBootloader

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

41

6 ថ្នាក់/អនុគមន៍យោង
ResultConnectionState () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលនៃស្ថានភាពការតភ្ជាប់ពិតប្រាកដ៖
ResultConnectionState (DeviceConnectionStateInfo result_)
ResultConnectionState (String errorString_)
ResultConnectionState (NlcErrorCode errCode, String errorString_)
ResultConnectionState (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultConnectionState (លទ្ធផលលទ្ធផល)
6.26.12 ResultObjectEntry
NanoLib ផ្ញើឱ្យអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើអនុគមន៍ត្រឡប់ធាតុវត្ថុ។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getResult () ត្រឡប់វ៉ិចទ័រលេខសម្គាល់ឧបករណ៍ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
ObjectEntry getResult ()
ត្រឡប់ const ObjectEntry
ResultObjectEntry () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលធាតុធាតុពិត៖
ResultObjectEntry (ObjectEntry results_)
ResultObjectEntry (String errorString_)
ResultObjectEntry (NlcErrorCode errCode, String errorString_)
ResultObjectEntry (NlcErrorCode errCode, long exErrCode, String errorString_)
ResultObjectEntry (លទ្ធផលលទ្ធផល)
6.26.13 ResultObjectSubEntry
NanoLib បញ្ជូនអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើអនុគមន៍ត្រឡប់ធាតុរងរបស់វត្ថុ។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល ហើយមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖ getResult () ត្រឡប់វ៉ិចទ័រលេខសម្គាល់ឧបករណ៍ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
ObjectSubEntry getResult ()
ត្រឡប់ const ObjectSubEntry

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

42

6 ថ្នាក់/អនុគមន៍យោង
ResultObjectSubEntry () មុខងារខាងក្រោមជួយក្នុងការកំណត់លទ្ធផលធាតុរងរបស់វត្ថុពិតប្រាកដ៖
ResultObjectSubEntry (ObjectSubEntry results_)
ResultObjectSubEntry (String errorString_)
ResultObjectSubEntry (NlcErrorCode errCode, String errorString_)
ResultObjectSubEntry (NlcErrorCode errCode, exErrCode វែង, String errorString_)
ResultObjectSubEntry (លទ្ធផលលទ្ធផល)
6.26.14 ResultProfinetDevices
NanoLib ផ្ញើឱ្យអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់ឧបករណ៍ Profinet ។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖
getResult () អានវ៉ិចទ័រឧបករណ៍ Profinet ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
ProfinetDeviceVector getResult ()
ResultProfinetDevices () មុខងារខាងក្រោមជួយក្នុងការកំណត់ឧបករណ៍ Profinet ពិតប្រាកដ។
ResultProfinetDevices (ProfinetDeviceVector profinetDevices)
ResultProfinetDevices (លទ្ធផលលទ្ធផល)
ResultProfinetDevices (អត្ថបទកំហុសខ្សែអក្សរ NlcErrorCode errorCode)
6.26.15 លទ្ធផលampleDataArray
NanoLib បញ្ជូនអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់ជាampអារេទិន្នន័យ។ ថ្នាក់ទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖
getResult () អានអារេទិន្នន័យ ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
SampleDataVector getResult ()

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

43

6 ថ្នាក់/អនុគមន៍យោង

លទ្ធផលampleDataArray () មុខងារខាងក្រោមជួយក្នុងការកំណត់ឧបករណ៍ Profinet ពិតប្រាកដ។
លទ្ធផលampleDataArray (SampleDataVector dataArray)

លទ្ធផលampleDataArray (កំហុសខ្សែអក្សរDesc, NlcErrorCode errorCode, uint extendedErrorCode)

លទ្ធផលampleDataArray (កំហុសខ្សែអក្សរDesc, NlcErrorCode errorCode)

លទ្ធផលampleDataArray (លទ្ធផលលទ្ធផល)

6.26.16 លទ្ធផលamplerState
NanoLib បញ្ជូនអ្នកនូវឧទាហរណ៍នៃថ្នាក់នេះ ប្រសិនបើមុខងារត្រឡប់ជាampler state.ថ្នាក់នេះទទួលមរតកមុខងារសាធារណៈ/គុណលក្ខណៈការពារពីថ្នាក់លទ្ធផល និងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖

getResult () អាន sampler state vector ប្រសិនបើការហៅមុខងារបានជោគជ័យ។
SamplerState getResult ()

ត្រឡប់ SamplerState>

មិនបានកំណត់រចនាសម្ព័ន្ធ / កំណត់រចនាសម្ព័ន្ធ / រួចរាល់ / កំពុងដំណើរការ / បានបញ្ចប់ / បរាជ័យ / បោះបង់

លទ្ធផលamplerState () មុខងារខាងក្រោមជួយក្នុងការកំណត់ s ពិតប្រាកដampរដ្ឋ ler ។
លទ្ធផលamplerState (Sampរដ្ឋ lerState)

លទ្ធផលamplerState (String errorDesc, NlcErrorCode errorCode, long extendedErrorCode)de)

លទ្ធផលamplerState (លទ្ធផលampរដ្ឋផ្សេងទៀត)

លទ្ធផលamplerState (លទ្ធផលលទ្ធផល)

6.27 NlcErrorCode

ប្រសិនបើមានអ្វីមួយខុស ថ្នាក់លទ្ធផលរាយការណ៍អំពីលេខកូដកំហុសមួយដែលបានរាយក្នុងបញ្ជីរាប់បញ្ចូលនេះ។

លេខកូដកំហុស Success GeneralError BusUnavailable CommunicationError
កំហុសពិធីការ

C: ប្រភេទ D: ការពិពណ៌នា R: ហេតុផល C: គ្មាន។ ឃ៖ គ្មានកំហុសទេ។ R: ប្រតិបត្តិការបានបញ្ចប់ដោយជោគជ័យ។
C: មិនបានបញ្ជាក់។ ឃ៖ កំហុសដែលមិនបានបញ្ជាក់។ R: បរាជ័យដែលមិនសមនឹងប្រភេទផ្សេងទៀត។
C: ឡានក្រុង។ ឃ៖ ឡានក្រុងផ្នែករឹងមិនមានទេ។ R: ឡានក្រុងមិនមាន កាត់ផ្តាច់ ឬខូច។
C: ទំនាក់ទំនង។ ឃ៖ ការទំនាក់ទំនងមិនគួរឱ្យទុកចិត្ត។ R៖ ទិន្នន័យដែលមិនបានរំពឹងទុក កំហុស CRC ខុស ស៊ុម ឬកំហុសស្មើគ្នា។ល។
គ៖ ពិធីការ។ ឃ៖ កំហុសពិធីការ។ R៖ ការឆ្លើយតបបន្ទាប់ពីជម្រើសពិធីការដែលមិនគាំទ្រ របាយការណ៍ឧបករណ៍ដែលមិនបានគាំទ្រពិធីការ កំហុសក្នុងពិធីការ (និយាយ SDO segment sync bit)។ segment sync bit) ។ល។ R: Unsupported protocol (options) or error in protocol ( say, SDO segment sync bit) ។ល។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

44

6 ថ្នាក់/អនុគមន៍យោង

លេខកូដកំហុស ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments AccessDenied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError

C: ប្រភេទ D: ការពិពណ៌នា R: ហេតុផល C: វចនានុក្រមវត្ថុ។ ឃ៖ អាសយដ្ឋាន OD មិនមានទេ។ R: មិនមានអាសយដ្ឋានបែបនេះនៅក្នុងវចនានុក្រមវត្ថុទេ។
គ៖ វចនានុក្រមវត្ថុ។ ឃ៖ ការចូលប្រើអាសយដ្ឋាន OD មិនត្រឹមត្រូវទេ។ R: ព្យាយាមសរសេរបានតែអាន ឬអានពីអាសយដ្ឋានសរសេរតែប៉ុណ្ណោះ។
គ៖ វចនានុក្រមវត្ថុ។ ឃ៖ វាយបញ្ចូលមិនត្រូវគ្នា។ R៖ តម្លៃ​មិន​បាន​បំប្លែង​ទៅ​ជា​ប្រភេទ​ដែល​បាន​បញ្ជាក់ សូម​និយាយ​ថា ក្នុង​ការ​ព្យាយាម​ចាត់​ទុក​ខ្សែ​អក្សរ​ជា​លេខ។
C: កម្មវិធី។ ឃ៖ ដំណើរការត្រូវបានលុបចោល។ R: ដំណើរការកាត់តាមសំណើកម្មវិធី។ ត្រលប់មកវិញតែនៅលើប្រតិបត្តិការរំខានដោយមុខងារហៅត្រឡប់មកវិញនិយាយថាពីការស្កេនឡានក្រុង។
C: ទូទៅ។ ឃ៖ ដំណើរការមិនត្រូវបានគាំទ្រទេ។ R: មិនមានការគាំទ្ររថយន្តក្រុង / ឧបករណ៍។
C: ទូទៅ។ ឃ៖ ដំណើរការមិនត្រឹមត្រូវក្នុងបរិបទបច្ចុប្បន្ន ឬមិនត្រឹមត្រូវជាមួយអាគុយម៉ង់បច្ចុប្បន្ន។ R៖ ការព្យាយាមភ្ជាប់ឡើងវិញទៅឡានក្រុង/ឧបករណ៍ដែលបានភ្ជាប់រួចហើយ។ ការ​ព្យាយាម​ផ្ដាច់​ដើម្បី​ផ្ដាច់​ដែល​បាន​ផ្ដាច់​រួច​ហើយ។ ការប៉ុនប៉ងដំណើរការកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធនៅក្នុងរបៀបកម្មវិធីបង្កប់ ឬផ្ទុយមកវិញ។
C: ទូទៅ។ ឃ៖ អាគុយម៉ង់មិនត្រឹមត្រូវ។ R: តក្កវិជ្ជា ឬវាក្យសម្ព័ន្ធខុស។
C: ទូទៅ។ ឃ៖ ការចូលប្រើត្រូវបានបដិសេធ។ R: កង្វះសិទ្ធិ ឬសមត្ថភាពក្នុងការអនុវត្តប្រតិបត្តិការដែលបានស្នើសុំ។
C: ទូទៅ។ ឃ៖ រកមិនឃើញធាតុជាក់លាក់ទេ។ R៖ ឡានក្រុង ផ្នែករឹង ពិធីការ ឧបករណ៍ អាសយដ្ឋាន OD នៅលើឧបករណ៍ ឬ file មិនត្រូវបានរកឃើញ។
C: ទូទៅ។ ឃ៖ រកមិនឃើញធាតុជាក់លាក់ទេ។ R: រវល់, គ្មាន, កាត់ចេញ ឬខ្វះចន្លោះ។
C: ទូទៅ។ ឃ៖ អង្គចងចាំមិនគ្រប់គ្រាន់។ R: អង្គចងចាំតូចពេកដើម្បីដំណើរការពាក្យបញ្ជានេះ។
C: ទូទៅ។ ឃ៖ ដំណើរការអស់ពេលហើយ។ R: ត្រលប់មកវិញបន្ទាប់ពីអស់ពេលផុតកំណត់។ ការអស់ពេលអាចជាពេលវេលាឆ្លើយតបរបស់ឧបករណ៍ ពេលវេលាដើម្បីទទួលបានការចែករំលែក ឬការប្រើប្រាស់ធនធានផ្តាច់មុខ ឬពេលវេលាដើម្បីប្តូររថយន្តក្រុង/ឧបករណ៍ទៅស្ថានភាពសមរម្យ។

6.28 NlcCallback

ថ្នាក់មេសម្រាប់ការហៅត្រឡប់មកវិញនេះមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម៖

callback() ResultVoid callback()

ត្រឡប់មកវិញ

លទ្ធផលគ្មានន័យ

6.29 NlcDataTransferCallback

ប្រើថ្នាក់ callback នេះសម្រាប់ការផ្ទេរទិន្នន័យ (ការធ្វើបច្ចុប្បន្នភាពកម្មវិធីបង្កប់ ការបង្ហោះ NanoJ ។ល។)។
1. សម្រាប់ការអាប់ឡូតកម្មវិធីបង្កប់៖ កំណត់ "ថ្នាក់រួម" ដែលពង្រីកវាជាមួយនឹងការអនុវត្តវិធីសាស្ត្រហៅត្រឡប់មកវិញផ្ទាល់ខ្លួន។
2. ប្រើវត្ថុ "សហថ្នាក់" នៅក្នុងការហៅទូរស័ព្ទ NanoLibAccessor.uploadFirmware () ។
ថ្នាក់មេខ្លួនឯងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោមៈ

callback () ResultVoid callback (DataTransferInfo info, int data)

ត្រឡប់មកវិញ

លទ្ធផលគ្មានន័យ

6.30 NlcScanBusCallback

ប្រើថ្នាក់ហៅត្រឡប់មកវិញនេះសម្រាប់ការស្កេនឡានក្រុង។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

45

6 ថ្នាក់/អនុគមន៍យោង

1. កំណត់ "ថ្នាក់សហ" ដែលពង្រីកវាជាមួយនឹងការអនុវត្តវិធីសាស្ត្រហៅត្រឡប់មកវិញផ្ទាល់ខ្លួន។ 2. ប្រើវត្ថុ "co-class's" ក្នុង NanoLibAccessor.scanDevices () calls ។ ថ្នាក់មេខ្លួនឯងមានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម។
ហៅ​មកវិញ ()
ResultVoid callback(ព័ត៌មាន BusScanInfo, DeviceIdVector devicesFound, int data)
ត្រឡប់លទ្ធផលVoid
6.31 NlcLoggingCallback
ប្រើថ្នាក់ callback នេះសម្រាប់កត់ត្រាការ callbacks។ 1. កំណត់ class ដែលពង្រីក class នេះជាមួយនឹងការអនុវត្តវិធី callback ផ្ទាល់ខ្លួន 2. ប្រើ pointer ទៅកាន់ instances របស់វា ដើម្បីកំណត់ callback ដោយ NanoLibAccessor >
setLoggingCallback (...) ។
ការហៅត្រឡប់ជាមោឃៈ (String payload_str, String formatted_str, String logger_name, long log_level, java.math.BigInteger time_since_epoch, long thread_id)

០៣ សamplerInterface
ប្រើថ្នាក់នេះដើម្បីកំណត់រចនាសម្ព័ន្ធ ចាប់ផ្តើម និងបញ្ឈប់ sampler ឬដើម្បីទទួលបាន sampដឹកនាំទិន្នន័យ និងយកជាampស្ថានភាពរបស់ ler ឬកំហុសចុងក្រោយ។ ថ្នាក់មានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម។

configure () កំណត់រចនាសម្ព័ន្ធដូចampឡឺ
ការកំណត់រចនាសម្ព័ន្ធ ResultVoid (DeviceHandle deviceHandle, SamplerConfiguration samplerConfiguration)

ប៉ារ៉ាម៉ែត្រ [in] deviceHandle [in] samplerConfiguration
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់ឧបករណ៍ណាដែលត្រូវកំណត់រចនាសម្ព័ន្ធ sampler សម្រាប់។ បញ្ជាក់តម្លៃនៃគុណលក្ខណៈកំណត់រចនាសម្ព័ន្ធ។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

getData() ទទួល sampទិន្នន័យដឹកនាំ។
លទ្ធផលampleDataArray getData (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រ [in] deviceHandle ត្រឡប់លទ្ធផលSampleDataArray

បញ្ជាក់ថាតើឧបករណ៍ណាដើម្បីទទួលបានទិន្នន័យសម្រាប់។
ផ្តល់សampដឹកនាំទិន្នន័យដែលអាចជាអារេទទេប្រសិនបើ samplerNotify គឺសកម្មនៅពេលចាប់ផ្តើម។

getLastError () Gets asampកំហុសចុងក្រោយរបស់ ler ។
ResultVoid getLastError (DeviceHandle deviceHandle)

ត្រឡប់លទ្ធផលVoid

បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

46

6 ថ្នាក់/អនុគមន៍យោង

getState () ទទួលបានជាampស្ថានភាពរបស់ ler ។
លទ្ធផលamplerState getState (DeviceHandle deviceHandle)

ត្រឡប់​លទ្ធផលSamplerState

ផ្តល់សampរដ្ឋ ler ។

start () ចាប់ផ្តើមដូចampឡឺ
ការចាប់ផ្តើមលទ្ធផលVoid (DeviceHandle deviceHandle, SamplerNotify samplerNotify, ទិន្នន័យកម្មវិធីវែង)

ប៉ារ៉ាម៉ែត្រ [ក្នុង] ឧបករណ៍Handle [ក្នុង] SamplerNotify [ក្នុង] ទិន្នន័យកម្មវិធី
ត្រឡប់លទ្ធផលVoid

បញ្ជាក់​ថា​ឧបករណ៍​ណា​ដែល​ត្រូវ​ចាប់​ផ្តើម sampler សម្រាប់។
បញ្ជាក់ព័ត៌មានជាជម្រើសដែលត្រូវរាយការណ៍ (អាចជា nullptr)។
ជម្រើស៖ បញ្ជូនទិន្នន័យដែលទាក់ទងនឹងកម្មវិធី (អារេ 8 ប៊ីតដែលកំណត់ដោយអ្នកប្រើប្រាស់នៃតម្លៃ / លេខសម្គាល់ឧបករណ៍ / លិបិក្រម ឬកាលបរិច្ឆេទកាលបរិច្ឆេទ ទ្រនិចរបស់អថេរ / មុខងារ។ល។) ទៅ samplerជូនដំណឹង។
បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

stop () ឈប់ដូចampឡឺ
លទ្ធផលឈប់ដំណើរការ (DeviceHandle deviceHandle)

ប៉ារ៉ាម៉ែត្រ [ក្នុង] deviceHandle ត្រឡប់ ResultVoid

បញ្ជាក់​ថា​ឧបករណ៍​ណា​ដែល​ត្រូវ​បញ្ឈប់ sampler សម្រាប់។ បញ្ជាក់ថាមុខងារចាត់ទុកជាមោឃៈបានដំណើរការ។

០៣ សamplerConfiguration struct

រចនាសម្ព័ន្ធនេះមានទិន្នន័យ sampជម្រើសកំណត់រចនាសម្ព័ន្ធរបស់ ler (ឋិតិវន្តឬអត់) ។

គុណលក្ខណៈសាធារណៈ

std:: វ៉ិចទ័រ អាសយដ្ឋានដែលបានតាមដាន

រហូតដល់ 12 OD addresses ទៅជា sampដឹកនាំ។

uint32_t

កំណែ

កំណែរចនាសម្ព័ន្ធ។

uint32_t

រយៈពេលមីលីវិនាទី

Sampរយៈពេល ling ក្នុង ms ពី 1 ដល់ 65535

uint16_t

រយៈពេលមីលីវិនាទី

Sampរយៈពេល ling ក្នុង ms ។

uint16_t

numberOfSamples

Sampចំនួន les ។

uint16_t

preTriggerNumberOfSamples

Samples បរិមាណមុនកេះ។

ប៊ូល។

ការប្រើប្រាស់កម្មវិធី ការអនុវត្ត

ប្រើការអនុវត្តកម្មវិធី។

ប៊ូល។

ដោយប្រើ NewFWSamplerImplementation ប្រើការអនុវត្ត FW សម្រាប់ឧបករណ៍ដែលមាន a

កំណែ FW v24xx ឬថ្មីជាងនេះ។

SamplerMode

របៀប

ធម្មតា, ដដែលៗ ឬបន្ត sampលិង។

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 = 0x14TC

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

47

6 ថ្នាក់/អនុគមន៍យោង

SamplerTrigger

SamplerTrigger

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, 0x1 TC_MULTI_EDGE, OV
កេះដើម្បីចាប់ផ្តើមជាampឡឺ?

លក្ខណៈសាធារណៈឋិតិវន្ត
ឋិតិវន្ត constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
០៣ សamplerជូនដំណឹង
ប្រើថ្នាក់នេះដើម្បីបើកដំណើរការ sampler ការជូនដំណឹងនៅពេលអ្នកចាប់ផ្តើមampឡឺ ថ្នាក់មានមុខងារសមាជិកសាធារណៈដូចខាងក្រោម។

notify () ផ្តល់ការជូនដំណឹង។
ការជូនដំណឹងជាមោឃៈ (ResultVoid LastError, SamplerState samplerState, SampleDataVector sampleDatas ទិន្នន័យកម្មវិធីវែង)

ប៉ារ៉ាម៉ែត្រ [ក្នុង] LastError [in] samplerState
[ក្នុង] sampleDatas [ក្នុង] applicationData

រាយការណ៍អំពីកំហុសចុងក្រោយបានកើតឡើងខណៈពេលដែល sampលីង រាយការណ៍ សampស្ថានភាព ler នៅពេលជូនដំណឹង៖ មិនបានកំណត់រចនាសម្ព័ន្ធ / កំណត់រចនាសម្ព័ន្ធ / រួចរាល់ / កំពុងដំណើរការ / បានបញ្ចប់ / បរាជ័យ / បោះបង់។ រាយការណ៍ សampអារេទិន្នន័យដឹកនាំ។ រាយការណ៍ទិន្នន័យជាក់លាក់នៃកម្មវិធី។

០៣ សampរចនាសម្ព័ន្ធ leData

រចនាសម្ព័ន្ធនេះមាន sampទិន្នន័យដឹកនាំ។

uin64_t លេខដដែល

ចាប់ផ្តើមនៅ 0 ហើយកើនឡើងតែក្នុងទម្រង់ដដែលៗប៉ុណ្ណោះ។

std::vector <SampledValues> មានអារេរបស់ sampតម្លៃដឹកនាំ។

០៣ សampរចនាសម្ព័ន្ធ ledValue

រចនាសម្ព័ន្ធនេះមាន sampតម្លៃដឹកនាំ។

in64_t តម្លៃ uin64_t CollectTimeMsec

មានតម្លៃនៃអាសយដ្ឋាន OD ដែលបានតាមដាន។
មាន​ពេលវេលា​ប្រមូល​ជា​មិល្លីវិនាទី ទាក់ទង​នឹង sampចាប់ផ្តើម។

០៣ សampរចនាសម្ព័ន្ធ lerTrigger

រចនាសម្ព័ន្ធនេះមានការកំណត់កេះនៃ sampឡឺ

Sampលក្ខខណ្ឌ lerTriggerCondition

លក្ខខណ្ឌគន្លឹះ៖ TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

48

6 ថ្នាក់/អនុគមន៍យោង

តម្លៃ OdIndex uin32_t

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_EQUAL = 0x1 TC_EQUAL = 0 = 1x0B TC_MULTI_EDGE = 1xXNUMXC
OdIndex របស់កេះ (អាសយដ្ឋាន)។
តម្លៃលក្ខខណ្ឌ ឬលេខប៊ីត (ចាប់ផ្តើមពីសូន្យប៊ីត)។

6.38 រចនាសម្ព័ន្ធសៀរៀល

ស្វែងរកជម្រើសទំនាក់ទំនងសៀរៀលរបស់អ្នក និងលក្ខណៈសាធារណៈខាងក្រោមនៅទីនេះ៖

៖ ខ្សែអក្សរ SerialBaudRate ខ្សែអក្សរ SerialParity

BAUD_RATE_OPTIONS_NAME = “អត្រា baud ស៊េរី” baudRate =SerialBaudRate struct PARITY_OPTIONS_NAME = “ភាពស្មើគ្នានៃស៊េរី” parity = រចនាសម្ព័ន្ធ SerialParity

6.39 រចនាសម្ព័ន្ធ SerialBaudRate

ស្វែងរកនៅទីនេះ អត្រា baud ទំនាក់ទំនងសៀរៀលរបស់អ្នក និងគុណលក្ខណៈសាធារណៈខាងក្រោម៖

ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ

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

6.40 រចនាសម្ព័ន្ធ SerialParity

ស្វែងរកនៅទីនេះ ជម្រើសសមភាពសៀរៀលរបស់អ្នក និងលក្ខណៈសាធារណៈខាងក្រោម៖

ខ្សែអក្សរ ខ្សែអក្សរ ខ្សែអក្សរ

NONE = “គ្មាន” ODD = “សេស” EVEN = “គូ” MARK = “សម្គាល់” SPACE = “ចន្លោះ”

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

49

អាជ្ញាប័ណ្ណ

7 អាជ្ញាប័ណ្ណ

ចំណុចប្រទាក់ NanoLib API និងឧampលេខកូដប្រភពត្រូវបានផ្តល់អាជ្ញាប័ណ្ណដោយ Nanotec Electronic GmbH & Co. KG ក្រោម Creative Commons Attribution 3.0 Unported License (CC BY)។ ផ្នែកបណ្ណាល័យដែលបានផ្តល់ជាទម្រង់គោលពីរ (បណ្ណាល័យទំនាក់ទំនងស្នូល និងវាល) ត្រូវបានផ្តល់អាជ្ញាប័ណ្ណក្រោម Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND)។

Creative Commons
សេចក្តីសង្ខេបដែលអាចអានដោយមនុស្សខាងក្រោមនឹងមិនជំនួសអាជ្ញាប័ណ្ណខ្លួនឯងបានទេ។ អ្នកអាចស្វែងរកអាជ្ញាប័ណ្ណរៀងៗខ្លួននៅ creativecommons.org ហើយភ្ជាប់ខាងក្រោម។ អ្នកមានសេរីភាពក្នុងការ៖

CC BY 3.0
ចែករំលែក៖ មើលត្រូវ។ សម្រប៖ Remix, បំប្លែង, និង​បង្កើត​ឡើង​លើ​
សម្ភារៈសម្រាប់គោលបំណងណាមួយ សូម្បីតែពាណិជ្ជកម្ម។

CC BY-ND 4.0
ចែករំលែក៖ ចម្លង និងចែកចាយឡើងវិញនូវសម្ភារៈក្នុងទម្រង់មធ្យម ឬទម្រង់ណាមួយ។

អាជ្ញាបណ្ណមិនអាចដកហូតសិទ្ធិសេរីភាពខាងលើបានទេ ដរាបណាអ្នកគោរពតាមលក្ខខណ្ឌអាជ្ញាប័ណ្ណខាងក្រោម៖

CC BY 3.0

CC BY-ND 4.0

គុណលក្ខណៈ៖ អ្នកត្រូវតែផ្តល់ឥណទានសមរម្យ គុណលក្ខណៈ៖ មើលខាងឆ្វេង។ ប៉ុន្តែ៖ ផ្តល់តំណទៅនេះ។

ផ្តល់តំណភ្ជាប់ទៅអាជ្ញាប័ណ្ណ ហើយចង្អុលបង្ហាញប្រសិនបើ

អាជ្ញាប័ណ្ណផ្សេងទៀត។

ការផ្លាស់ប្តូរត្រូវបានធ្វើឡើង។ អ្នកអាចធ្វើដូច្នេះនៅក្នុងណាមួយ។

គ្មាននិស្សន្ទវត្ថុ៖ ប្រសិនបើអ្នក Remix បំប្លែង ឬបង្កើត

របៀបសមហេតុផល ប៉ុន្តែមិនមែនតាមរបៀបណាក៏ដោយ

នៅលើសម្ភារៈ អ្នកមិនអាចចែកចាយបានទេ។

ផ្តល់ឱ្យអ្នកផ្តល់អាជ្ញាប័ណ្ណគាំទ្រអ្នកឬការប្រើប្រាស់របស់អ្នក។

សម្ភារៈដែលបានកែប្រែ។

គ្មានការរឹតបន្តឹងបន្ថែម៖ អ្នកមិនអាចអនុវត្តបានទេ គ្មានការរឹតបន្តឹងបន្ថែម៖ សូមមើលខាងឆ្វេង។ លក្ខខណ្ឌផ្លូវច្បាប់ ឬវិធានការបច្ចេកទេសដែលស្របច្បាប់

ដាក់កំហិតអ្នកផ្សេងទៀតពីការធ្វើអ្វីដែលមានអាជ្ញាប័ណ្ណ

អនុញ្ញាត។

ចំណាំ៖ អ្នកមិនត្រូវអនុវត្តតាមអាជ្ញាប័ណ្ណសម្រាប់ធាតុផ្សំនៃសម្ភារៈនៅក្នុងដែនសាធារណៈ ឬកន្លែងដែលការប្រើប្រាស់របស់អ្នកត្រូវបានអនុញ្ញាតដោយការលើកលែង ឬការកំណត់ដែលអាចអនុវត្តបាន។
ចំណាំ៖ មិនមានការធានាទេ។ អាជ្ញាប័ណ្ណប្រហែលជាមិនផ្តល់ឱ្យអ្នកនូវការអនុញ្ញាតទាំងអស់ដែលចាំបាច់សម្រាប់ការប្រើប្រាស់ដែលអ្នកចង់បាននោះទេ។ សម្រាប់អតីតample, សិទ្ធិផ្សេងទៀតដូចជាការផ្សព្វផ្សាយជាសាធារណៈ ភាពឯកជន ឬសិទ្ធិខាងសីលធម៌អាចកំណត់ពីរបៀបដែលអ្នកប្រើសម្ភារៈ។

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

50

8 បោះពុម្ព, ទំនាក់ទំនង, កំណែ

8 បោះពុម្ព, ទំនាក់ទំនង, កំណែ

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50info@nanotec.dewww.nanotec.comAll កំហុស ការធ្វេសប្រហែស ការផ្លាស់ប្តូរផ្នែកបច្ចេកទេស ឬខ្លឹមសារអាចធ្វើទៅបានដោយគ្មានការជូនដំណឹងជាមុន។ ម៉ាក/ផលិតផលដែលបានដកស្រង់ គឺជាពាណិជ្ជសញ្ញារបស់ម្ចាស់របស់ពួកគេ ហើយត្រូវចាត់ទុកដូចនោះ។ កំណែដើម។

ឯកសារ 1.0.2 2024.05
1.0.1 2024.04 1.0.0 2024.02

+ បានបន្ថែម > ផ្លាស់ប្តូរ # ជួសជុល
# Modbus RTU៖ បានដោះស្រាយបញ្ហាពេលវេលាជាមួយនឹងអត្រា baud ទាបកំឡុងពេលអាប់ដេតកម្មវិធីបង្កប់។ # RESTful៖ ការអាប់ឡូតកម្មវិធី NanoJ ថេរ។
# ម៉ូឌុល NanoLib Sampler: ការអានត្រឹមត្រូវនៃ sampតម្លៃប៊ូលីនដឹកនាំ។
+ Java 11 គាំទ្រសម្រាប់វេទិកាទាំងអស់។ + ការគាំទ្រ Python 3.11/3.12 សម្រាប់គ្រប់វេទិកាទាំងអស់។ + ចំណុចប្រទាក់ហៅត្រឡប់ចូលកំណត់ហេតុថ្មី (សូមមើលឧamples) + Callback លិចសម្រាប់ NanoLib Logger ។ > ធ្វើបច្ចុប្បន្នភាពអ្នកកាប់ឈើទៅកំណែ 1.12.0 ។ > ម៉ូឌុល NanoLib Sampler: គាំទ្រឥឡូវនេះសម្រាប់កម្មវិធីបង្កប់ឧបករណ៍បញ្ជា Nanotec v24xx ។ > ម៉ូឌុល NanoLib Sampler: ការផ្លាស់ប្តូររចនាសម្ព័ន្ធដែលប្រើសម្រាប់ sampការកំណត់រចនាសម្ព័ន្ធ ler ។ > ម៉ូឌុល NanoLib Sampler: របៀបបន្តគឺមានន័យដូចនឹងគ្មានទីបញ្ចប់។ លក្ខខណ្ឌកេះត្រូវបានពិនិត្យម្តង; ចំនួន samples ត្រូវតែជា 0. > NanoLib Modules Sampler៖ អាទិភាពធម្មតាសម្រាប់ខ្សែស្រឡាយដែលប្រមូលទិន្នន័យនៅក្នុងរបៀបកម្មវិធីបង្កប់។ > ម៉ូឌុល NanoLib Sampler៖ ក្បួនដោះស្រាយដែលសរសេរឡើងវិញដើម្បីរកមើលការផ្លាស់ប្តូររវាងស្ថានភាពរួចរាល់ និងកំពុងដំណើរការ។ # NanoLib Core៖ មិនមានការរំលោភលើការចូលប្រើទៀតទេ (0xC0000005) លើការបិទឧបករណ៍ 2 ឬច្រើនដោយប្រើផ្នែករឹងឡានក្រុងដូចគ្នា។ # NanoLib Core៖ មិនមានកំហុសផ្នែកការបែងចែកទៀតទេលើការភ្ជាប់អាដាប់ទ័រ PEAK នៅក្រោមលីនុច។ # ម៉ូឌុល NanoLib Sampler: ត្រឹមត្រូវ។ampការអានតម្លៃដឹកនាំនៅក្នុងរបៀបកម្មវិធីបង្កប់។ # ម៉ូឌុល NanoLib Sampler៖ ការកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវនៃ 502X:04 ។ # ម៉ូឌុល NanoLib Sampler៖ ការលាយត្រឹមត្រូវនៃសតិបណ្ដោះអាសន្នជាមួយឆានែល។ # NanoLib-Canopen៖ បង្កើនពេលវេលា CAN សម្រាប់ភាពរឹងមាំ និងការស្កេនត្រឹមត្រូវនៅកម្រិតទាប។ # NanoLib-Modbus៖ ក្បួនដោះស្រាយការរកឃើញ VCP សម្រាប់ឧបករណ៍ពិសេស (USB-DA-IO)។

ផលិតផល ២
៦៧ ៨

កំណែ៖ doc 1.0.2 / NanoLib 1.1.2

51

ឯកសារ/ធនធាន

ការរួមបញ្ចូល Nanotec NanoLib នៃ Controllers Drives Software [pdf] ការណែនាំអ្នកប្រើប្រាស់
ការរួមបញ្ចូល NanoLib នៃ Controllers Drives Software, NanoLib, ការរួមបញ្ចូលនៃ Controllers Drives Software, Controllers Drives Software, Drives Software, Software

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *