နာနို-လိုဂို

Nanotic NanoLib C++ ပရိုဂရမ်းမင်း

Nanotic-NanoLib-C++-Programming-PRODUCT

ထုတ်ကုန်အချက်အလက်

သတ်မှတ်ချက်များ

  • ထုတ်ကုန်အမည်- NanoLib
  • ပရိုဂရမ်ရေးခြင်း။ ဘာသာစကား- C++
  • ထုတ်ကုန်ဗားရှင်း 1.3.0
  • အသုံးပြုသူလက်စွဲ ဗားရှင်း- 1.4.2

NanoLib စာကြည့်တိုက်သည် Nanotec controllers အတွက် ပရိုဂရမ်းမင်း ထိန်းချုပ်ဆော့ဖ်ဝဲအတွက် ဒီဇိုင်းထုတ်ထားသည်။ ၎င်းသည် ထိန်းချုပ်မှုအပလီကေးရှင်းများ ဖွံ့ဖြိုးတိုးတက်လာစေရန် လွယ်ကူချောမွေ့စေရန် အသုံးပြုသူမျက်နှာပြင်၊ အဓိကလုပ်ဆောင်နိုင်စွမ်းများနှင့် ဆက်သွယ်ရေးစာကြည့်တိုက်များကို ထောက်ပံ့ပေးသည်။

ထုတ်ကုန်အသုံးပြုမှု ညွှန်ကြားချက်များ

  • သင်မစတင်မီ-
    • သင့်စနစ်သည် လက်စွဲတွင်ဖော်ပြထားသည့် ဟာ့ဒ်ဝဲလိုအပ်ချက်များနှင့် ကိုက်ညီကြောင်း သေချာပါစေ။ ဤထုတ်ကုန်အတွက် ရည်ရွယ်ထားသော ပရိသတ်တွင် Nanotec controllers အတွက် ထိန်းချုပ်ဆော့ဖ်ဝဲကို ဖန်တီးလိုသည့် developer များ ပါဝင်သည်။
  • စတင်အသုံးပြုခြင်း:
    • NanoLib ကို စတင်အသုံးပြုရန် အောက်ပါအဆင့်များကို လိုက်နာပါ ။
    • သင့်ပရောဂျက်သို့ NanoLib ကို ထည့်သွင်းခြင်းဖြင့် စတင်ပါ။
    • လိုအပ်သလို သင့်ပရောဂျက်ဆက်တင်များကို ပြင်ဆင်ပါ။
    • NanoLib လုပ်ဆောင်ချက်များကို ထည့်သွင်းရန် သင့်ပရောဂျက်ကို တည်ဆောက်ပါ။
  • ပရောဂျက်များ ဖန်တီးနေသည်-
    • Windows နှင့် Linux ပတ်ဝန်းကျင်နှစ်ခုလုံးအတွက် ပရောဂျက်များကို သင်ဖန်တီးနိုင်သည်။ ပလက်ဖောင်းတစ်ခုစီအတွက် လက်စွဲတွင် ပေးထားသည့် သီးခြားညွှန်ကြားချက်များကို လိုက်နာပါ။
  • အတန်းများ / Functions အကိုးအကား-
    • ပရိုဂရမ်းမင်း ထိန်းချုပ်ဆော့ဖ်ဝဲလ်အတွက် NanoLib တွင် ရရှိနိုင်သော အတန်းများနှင့် လုပ်ဆောင်ချက်များကို အသေးစိတ်လမ်းညွှန်အတွက် အသုံးပြုသူလက်စွဲကို ကိုးကားပါ။

အမေးအဖြေများ

  • မေး- NanoLib ရဲ့ရည်ရွယ်ချက်ကဘာလဲ။
    • A: NanoLib သည် မရှိမဖြစ်လုပ်ဆောင်နိုင်စွမ်းများနှင့် ဆက်သွယ်ရေးစွမ်းရည်များကို ပံ့ပိုးပေးသည့် Nanotec controllers အတွက် ပရိုဂရမ်းမင်းထိန်းချုပ်ဆော့ဖ်ဝဲအတွက် စာကြည့်တိုက်တစ်ခုဖြစ်သည်။
  • မေး- NanoLib ကို ဘယ်လိုစတင်နိုင်မလဲ။
    • A: သင့်ပရောဂျက်သို့ NanoLib ကို ထည့်သွင်းခြင်းဖြင့် စတင်ပါ၊ ပရောဂျက်ဆက်တင်များကို ပြင်ဆင်ခြင်းနှင့် NanoLib အင်္ဂါရပ်များကို အသုံးပြုရန် သင့်ပရောဂျက်ကို တည်ဆောက်ခြင်းဖြင့် စတင်ပါ။

“`

အသုံးပြုသူလက်စွဲ NanoLib
C++

ထုတ်ကုန်ဗားရှင်း 1.3.0 နှင့် အကျုံးဝင်သည်။

အသုံးပြုသူလက်စွဲ ဗားရှင်း- ၄

စာရွက်စာတမ်းရည်ရွယ်ချက်နှင့် သဘောတူညီချက်များ

ဤစာတမ်းတွင် NanoLib စာကြည့်တိုက်၏ တပ်ဆင်မှုနှင့် အသုံးပြုမှုကို ဖော်ပြထားပြီး Nanotec controllers အတွက် သင့်ကိုယ်ပိုင် ထိန်းချုပ်ဆော့ဖ်ဝဲကို ပရိုဂရမ်ပြုလုပ်ရန်အတွက် အတန်းများနှင့် လုပ်ဆောင်ချက်များကို ရည်ညွှန်းချက်ပါရှိသည်။ ကျွန်ုပ်တို့သည် အောက်ပါ စာလုံးပုံစံများကို အသုံးပြုသည်-
မျဉ်းသားထားသော စာသားသည် လက်ဝါးကပ်တိုင်အကိုးအကား သို့မဟုတ် ဟိုက်ပါလင့်ခ်ကို အမှတ်အသားပြုသည်။
Example 1- NanoLibAccessor ရှိ တိကျသောညွှန်ကြားချက်များအတွက်၊ Setup ကိုကြည့်ပါ။ ထွample 2- Ixxat driver ကို install လုပ်ပြီး CAN-to-USB adapter ကို ချိတ်ဆက်ပါ။ Italic စာသားကို ဆိုလိုသည်- ဤအရာသည် အမည်ရှိ အရာဝတ္ထုတစ်ခု၊ မီနူးလမ်းကြောင်း / အရာတစ်ခု၊ တက်ဘ်တစ်ခု / တစ်ခုဖြစ်သည်။ file အမည် သို့မဟုတ် (လိုအပ်ပါက) နိုင်ငံခြားဘာသာစကားအသုံးအနှုန်း။
Example 1- ရွေးပါ။ File > အသစ် > ဗလာစာရွက်စာတမ်း။ Tool tab ကိုဖွင့်ပြီး Comment ကိုရွေးချယ်ပါ။ ထွample 2- ဤစာရွက်စာတမ်းသည် အသုံးပြုသူများကို (= Nutzer; usuario; utente; utilisateur; utente စသည်) မှ ပိုင်းခြားထားသည်-
- ပြင်ပအသုံးပြုသူ (= Drittnutzer; tercero usuario; terceiro utente; အဆင့် utilisateur; terzo utente စသည်)။ - အသုံးပြုသူ (= Endnutzer; usuario နောက်ဆုံး၊ utente နောက်ဆုံး၊ utilisateur နောက်ဆုံး၊ utente အပြီးသတ် စသည်ဖြင့်)။
Courier သည် ကုဒ်တုံးများ သို့မဟုတ် ပရိုဂရမ်းမင်း အမိန့်ပေးချက်များကို အမှတ်အသားပြုသည်။ ထွample 1- Bash မှတဆင့်၊ sudo ကိုခေါ်ဆို၍ မျှဝေထားသော အရာဝတ္ထုများကို ကူးယူရန် install လုပ်ပါ။ ထို့နောက် ldconfig ကိုခေါ်ပါ။ ထွample 2- NanoLib ရှိ မှတ်တမ်းအဆင့်ကို ပြောင်းလဲရန် အောက်ပါ NanoLibAccessor လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
// ***** C++ မူကွဲ *****
ပျက်ပြယ်သော setLoggingLevel(LogLevel အဆင့်);
ရဲရင့်သောစာသားသည် တစ်ဦးချင်းအရေးပါသော စကားလုံးများကို အလေးပေးဖော်ပြသည်။ တနည်းအားဖြင့်၊ ကွင်းဆက်ထားသော အာမေဋိတ်အမှတ်အသားများသည် အရေးကြီးသော (!) အရေးပါမှုကို အလေးပေးသည်။
Example 1- သင့်ကိုယ်သင်၊ အခြားသူများနှင့် သင့်စက်ပစ္စည်းများကို ကာကွယ်ပါ။ Nanotec ထုတ်ကုန်အားလုံးနှင့် ယေဘုယျအားဖြင့် သက်ဆိုင်သည့် ကျွန်ုပ်တို့၏ ယေဘူယျဘေးကင်းရေးမှတ်စုများကို လိုက်နာပါ။
Example 2- သင့်ကိုယ်ပိုင်အကာအကွယ်အတွက်၊ ဤသတ်မှတ်ထုတ်ကုန်နှင့်သက်ဆိုင်သည့် သီးခြားလုံခြုံရေးမှတ်စုများကိုလည်း လိုက်နာပါ။ ပူးတွဲနှိပ်ရန်ကြိယာဆိုသည်မှာ ဆက်စပ်မီနူးစသည်တို့ကိုဖွင့်ရန် ဒုတိယမောက်စ်ခလုတ်မှတစ်ဆင့် ကလစ်ကို ဆိုလိုသည်။
Example 1: ပေါ်တွင် ပူးတွဲနှိပ်ပါ။ fileRename ကိုရွေးချယ်ပြီး အမည်ပြောင်းပါ။ fileမရ။ ထွample 2: Properties ကိုစစ်ဆေးရန်၊ ပေါ်တွင် ပူးတွဲနှိပ်ပါ။ file Properties ကိုရွေးချယ်ပါ။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

4

မစတင်မီ

NanoLib ကို သင်မစတင်မီ သင့် PC ကို ပြင်ဆင်ပြီး ရည်ရွယ်ထားသည့် အသုံးပြုမှုနှင့် စာကြည့်တိုက် ကန့်သတ်ချက်များအကြောင်း သင့်ကိုယ်သင် အသိပေးပါ။
2.1 စနစ်နှင့် ဟာ့ဒ်ဝဲလိုအပ်ချက်များ

Nanotic-NanoLib-C++-Programming-FIG- (1)
32-bit လည်ပတ်မှု သို့မဟုတ် ရပ်ဆိုင်းထားသော စနစ်မှ ချွတ်ယွင်းချက်ကို သတိပြုပါ။ 64-bit စနစ်အား အသုံးပြု၍ တသမတ်တည်း ထိန်းသိမ်းပါ။ OEM ရပ်ဆိုင်းခြင်းနှင့် ~ ညွှန်ကြားချက်များကို စောင့်ကြည့်ပါ။

NanoLib 1.3.0 သည် CANopen၊ Modbus RTU ( virtual com port တွင်လည်း USB )၊ Modbus TCP၊ EtherCat နှင့် Profinet တို့ဖြင့် Nanotec ထုတ်ကုန်အားလုံးကို ပံ့ပိုးပေးပါသည်။ NanoLibs အဟောင်းများအတွက်- imprint တွင် changelog ကိုကြည့်ပါ။ သင်၏အန္တရာယ်အတွက်သာ- အမွေအနှစ်-စနစ်အသုံးပြုမှု။ မှတ်ချက်- FTDI-အခြေခံ USB အဒက်တာအသုံးပြုသောအခါ ပြဿနာများကြုံရပါက latency ကို တတ်နိုင်သမျှနည်းအောင် သတ်မှတ်ရန် မှန်ကန်သော OEM ညွှန်ကြားချက်များကို လိုက်နာပါ။

လိုအပ်ချက်များ (64-bit စနစ်မဖြစ်မနေ)
Windows 10 သို့မဟုတ် 11 w/ Visual Studio 2019 ဗားရှင်း 16.8 နှင့် အထက် နှင့် Windows SDK 10.0.20348.0 (ဗားရှင်း 2104) သို့မဟုတ် နောက်ပိုင်း
C++ ပြန်လည်ဖြန့်ဖြူးနိုင်သော 2017 သို့မဟုတ် ထို့ထက် ပိုမြင့်သော CANopen- Ixxat VCI သို့မဟုတ် PCAN အခြေခံ ဒရိုက်ဘာ (ချန်လှပ်ထားနိုင်သည်) EtherCat မော်ဂျူး / Profinet DCP: Npcap သို့မဟုတ် WinPcap RESTful module- Npcap၊ WinPcap သို့မဟုတ် စီမံခန့်ခွဲရန် ခွင့်ပြုချက်
Ethernet bootloaders များနှင့် ဆက်သွယ်ပါ။
Linux w/ Ubuntu 20.04 LTS မှ 24 အထိ (x64 နှင့် arm64 အားလုံး)
Kernel ခေါင်းစီးများနှင့် libpopt-dev packet Profinet DCP- CAP_NET_ADMIN နှင့် CAP_NET_RAW abili-
CANopen ချိတ်ဆက်မှု- Ixxat ECI ဒရိုက်ဘာ သို့မဟုတ် Peak PCAN-USB အဒက်တာ EtherCat- CAP_NET_ADMIN၊ CAP_NET_RAW နှင့်
CAP_SYS_NICE စွမ်းရည်များ RESTful- CAP_NET_ADMIN နှင့် Eth- ဆက်သွယ်ပြောဆိုနိုင်မှု
ernet bootloaders (အကြံပြုထားသည်- CAP_NET_RAW)

ဘာသာစကား၊ fieldbus အဒက်တာများ၊ ကေဘယ်များ
C++ GCC 7 နှင့်အထက် (Linux)
EtherCAT- အီသာနက်ကြိုး VCP/USB ဗဟိုချက်- ယခု ယူနီဖောင်း USB USB အစုလိုက်အပြုံလိုက် သိုလှောင်မှု- USB ကြိုး REST- အီသာနက်ကြိုး CANopen- Ixxat USB-to-CAN V2; နာ-
notec ZK-USB-CAN-1၊ Peak PCANUSB adapter No Ixxat ကို arm64 ရှိ Ubuntu အတွက် ပံ့ပိုးမှု
Modbus RTU- Nanotec ZK-USB-RS485-1 သို့မဟုတ် ညီမျှသော ဒက်တာ; virtual com port (VCP) ရှိ USB ကြိုး
Modbus TCP- ထုတ်ကုန်ဒေတာစာရွက်အတိုင်း အီသာနက်ကြိုး

2.2 ရည်ရွယ်အသုံးပြုမှုနှင့် ပရိသတ်
NanoLib သည် စက်မှုလုပ်ငန်းသုံး အပလီကေးရှင်းများစွာတွင်သာမက ကျွမ်းကျင်သော ပရိုဂရမ်မာများအတွက်သာ လုပ်ဆောင်ရန်နှင့် ဆက်သွယ်ရေးအတွက်၊ NanoLib နှင့် ဆက်သွယ်ရန်အတွက် ပရိုဂရမ်စာကြည့်တိုက်နှင့် ဆော့ဖ်ဝဲအစိတ်အပိုင်းတစ်ခုဖြစ်သည်။
အချိန်နှင့်တစ်ပြေးညီ မစွမ်းဆောင်နိုင်သော ဟာ့ဒ်ဝဲ (PC) နှင့် လည်ပတ်မှုစနစ်ကြောင့် NanoLib သည် တစ်ပြိုင်တည်း ဝင်ရိုးပေါင်းစုံ လှုပ်ရှားမှု လိုအပ်သော သို့မဟုတ် ယေဘုယျအားဖြင့် အချိန်အတိုင်းအတာအထိ အာရုံခံနိုင်သော အပလီကေးရှင်းများတွင် အသုံးပြုရန်မဟုတ်ပါ။
မည်သည့်အခြေအနေတွင်မဆို သင်သည် NanoLib ကို ထုတ်ကုန်တစ်ခု သို့မဟုတ် စနစ်တစ်ခုတွင် ဘေးကင်းလုံခြုံရေးအစိတ်အပိုင်းတစ်ခုအဖြစ် ပေါင်းစည်းနိုင်မည်ဖြစ်သည်။ သုံးစွဲသူများထံ ပေးပို့ရာတွင်၊ သင်သည် ထုတ်ကုန်တစ်ခုစီတွင် လုံခြုံစွာအသုံးပြုမှုနှင့် ဘေးကင်းလုံခြုံသောလည်ပတ်မှုအတွက် သက်ဆိုင်ရာသတိပေးချက်များနှင့် ညွှန်ကြားချက်များကို Nanotec မှထုတ်လုပ်သည့်အစိတ်အပိုင်းတစ်ခုဖြင့် ထည့်သွင်းရမည်ဖြစ်သည်။ သင်သည် Nanotec မှထုတ်ပေးသောသတိပေးချက်အားလုံးကို နောက်ဆုံးအသုံးပြုသူထံသို့ ပေးပို့ရပါမည်။
2.3 ပေးပို့မှုနှင့် အာမခံ အတိုင်းအတာ
NanoLib သည် ကျွန်ုပ်တို့၏ဒေါင်းလုဒ်မှ *.zip ဖိုင်တွဲအဖြစ် လာပါသည်။ webEMEA / APAC သို့မဟုတ် AMERICA အတွက်ဆိုဒ်။ စနစ်ထည့်သွင်းခြင်းမပြုမီ သင့်ဒေါင်းလုဒ်ကို သေချာသိမ်းဆည်းပြီး ဇစ်ဖွင့်ပါ။ NanoLib အထုပ်တွင်-

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

5

2 သင်မစတင်မှီ

အရင်းအမြစ်ကုဒ် (API) အဖြစ် အင်တာဖေ့စ် ခေါင်းစီးများ

ဒွိဖော်မတ်ဖြင့် စာကြည့်တိုက်များအဖြစ် Core လုပ်ဆောင်ချက်များ- nano-

ဆက်သွယ်ရေးလွယ်ကူချောမွေ့သောစာကြည့်တိုက်များ- nanolibm_ lib.dll

[yourfieldbus].dll စသည်တို့

Example ပရောဂျက်- Example.sln (Visual Studio

ပရောဂျက်) နှင့် ဥပမာample.cpp (အဓိက file)

အာမခံ အတိုင်းအတာအတွက် ကျေးဇူးပြု၍ ကျေးဇူးပြု၍ က) EMEA / APAC သို့မဟုတ် AMERICA အတွက် ကျွန်ုပ်တို့၏ စည်းကမ်းသတ်မှတ်ချက်များနှင့် b) လိုင်စင်စည်းကမ်းချက်များအားလုံးကို ကြည့်ရှုပါ။ မှတ်ချက်- Nanotec သည် ပြင်ပမှ စက်ကိရိယာများ၏ အရည်အသွေး၊ ကိုင်တွယ်မှု၊ တပ်ဆင်မှု၊ လည်ပတ်မှု၊ အသုံးပြုမှုနှင့် ပြုပြင်ထိန်းသိမ်းမှုများအတွက် အမှားအယွင်း သို့မဟုတ် လွန်ကဲသော အရည်အသွေးများအတွက် တာဝန်မကင်းပါ။ လုံခြုံရေးအရ၊ တရားဝင် OEM ညွှန်ကြားချက်များကို အမြဲလိုက်နာပါ။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

6

NanoLib ဗိသုကာလက်ရာ

NanoLib ၏ မော်ဂျူလာဆော့ဖ်ဝဲလ်ဖွဲ့စည်းပုံသည် တင်းကြပ်စွာကြိုတင်တည်ဆောက်ထားသော အူတိုင်တစ်ဝိုက်တွင် လွတ်လပ်စွာစိတ်ကြိုက်ပြင်ဆင်နိုင်သော မော်တာထိန်းချုပ်ကိရိယာ/ fieldbus လုပ်ဆောင်ချက်များကို စီစဉ်နိုင်စေပါသည်။ NanoLib တွင်အောက်ပါ module များပါရှိသည်။

အသုံးပြုသူ အင်တာဖေ့စ် (API)

NanoLib အူတိုင်

Interface နှင့် helper classes ဖြစ်သည့် Libraries များ

ဆက်သွယ်ရေး စာကြည့်တိုက်များ Fieldbus-specific စာကြည့်တိုက်များ

သင်၏ထိန်းချုပ်သူ၏ API လုပ်ဆောင်နိုင်စွမ်းကို NanoLib ကြားရှိ အင်တာဖေ့စ်ကို အကောင်အထည်ဖော်ရန် သင့်ထံဝင်ရောက်ပါ။

OD (အရာဝတ္ထုအဘိဓာန်)

ဘတ်စ်ကား စာကြည့်တိုက်များနှင့် ထိတွေ့ဆက်ဆံပါ။

core နှင့် bus hardware များ။

NanoLib core function- ကိုအခြေခံပြီး၊

မျိုးကွဲများ

3.1 အသုံးပြုသူ အင်တာဖေ့စ်

အသုံးပြုသူ အင်တာဖေ့စ်တွင် header interface ပါဝင်ပါသည်။ files controller parameters များကိုဝင်ရောက်ရန်သင်သုံးနိုင်သည်။ Classes/functions reference တွင်ဖော်ပြထားသည့်အတိုင်း user interface အတန်းများသည် သင့်အား ခွင့်ပြုသည်-
ဟာ့ဒ်ဝဲ (fieldbus adapter) နှင့် ထိန်းချုပ်ကိရိယာ နှစ်ခုလုံးကို ချိတ်ဆက်ပါ။ controller parameters များကိုဖတ်/ရေးရန်၊ စက်၏ OD ကိုဝင်ရောက်ပါ။

3.2 NanoLib core

NanoLib core သည် သွင်းကုန်စာကြည့်တိုက် nanolib.lib ပါ၀င်သည်။ ၎င်းသည် အသုံးပြုသူ အင်တာဖေ့စ် လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ပြီး တာဝန်ယူသည်-
ဆက်သွယ်ရေးစာကြည့်တိုက်များကို ဖွင့်ခြင်းနှင့် စီမံခန့်ခွဲခြင်း။ NanoLibAccessor တွင် အသုံးပြုသူကြားခံလုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးသည်။ ဤဆက်သွယ်ရေး ဝင်ပေါက်အချက်မှာ-
NanoLib core နှင့် communication libraries များတွင် သင်လုပ်ဆောင်နိုင်သော လုပ်ဆောင်ချက်အစုံကို ဒဏ်ငွေရိုက်ပါ။

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

စာကြည့်တိုက်များအားလုံးသည် core နှင့် controller ကြားတွင် hardware abstraction layer ကို ချထားပါသည်။ core သည် သတ်မှတ်ထားသော ပရောဂျက်ဖိုင်တွဲမှ စတင်ချိန်တွင် ၎င်းတို့ကို တင်ပေးပြီး သက်ဆိုင်ရာ protocol ဖြင့် controller နှင့် ဆက်သွယ်မှုကို တည်ဆောက်ရန် ၎င်းတို့ကို အသုံးပြုသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

7

စတင်အသုံးပြုခြင်း

သင့်လည်ပတ်မှုစနစ်အတွက် NanoLib ကို စနစ်တကျသတ်မှတ်ပုံနှင့် လိုအပ်သလို ဟာ့ဒ်ဝဲချိတ်ဆက်နည်းကို ဖတ်ပါ။
4.1 သင့်စနစ်ကို ပြင်ဆင်ပါ။
အဒက်တာဒရိုက်ဗာများကိုမတပ်ဆင်မီ၊ သင်၏ PC ကိုလည်ပတ်မှုစနစ်တစ်လျှောက်တွင် ဦးစွာပြင်ဆင်ပါ။ သင်၏ Windows OS တစ်လျှောက် PC ကို ပြင်ဆင်ရန်၊ C++ တိုးချဲ့မှုများဖြင့် MS Visual Studio ကို ထည့်သွင်းပါ။ Linux Bash မှ make နှင့် gcc ကိုထည့်သွင်းရန် sudo apt install build-essentials ကိုခေါ်ဆိုပါ။ ထို့နောက် NanoLib ကို အသုံးပြုသည့် အပလီကေးရှင်းအတွက် CAP_NET_ADMIN၊ CAP_NET_RAW နှင့် CAP_SYS_NICE စွမ်းရည်များကို ဖွင့်ပါ- 1. sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip' ကို ခေါ်ပါ
နာမည်>။ 2. သို့မှသာ၊ သင်၏ adapter drivers ကို install လုပ်ပါ။
4.2 Windows အတွက် Ixxat adapter driver ကို ထည့်သွင်းပါ။
ယာဉ်မောင်းအား ထည့်သွင်းပြီးနောက်မှသာ၊ သင်သည် Ixxat ၏ USB-to-CAN V2 adapter ကို အသုံးပြုနိုင်သည်။ Virtual Comport (VCP) ကို ဘယ်လိုဖွင့်ရမလဲဆိုတာ လေ့လာဖို့အတွက် USB drives ရဲ့ ထုတ်ကုန်လက်စွဲကို ဖတ်ပါ။ 1. Windows အတွက် Ixxat ၏ VCI 4 driver ကိုဒေါင်းလုဒ်လုပ်ပြီး install လုပ်ပါ။ www.ixxat.com ဖြစ်သည်. 2. Ixxat ၏ USB-to-CAN V2 compact adapter ကို USB မှတစ်ဆင့် PC သို့ ချိတ်ဆက်ပါ။ 3. စက်ပစ္စည်းမန်နေဂျာအားဖြင့်- ဒရိုက်ဗာနှင့် အဒက်တာနှစ်ခုစလုံးကို မှန်ကန်စွာထည့်သွင်းခြင်း/အသိအမှတ်ပြုခြင်း ရှိ၊ မရှိ စစ်ဆေးပါ။
4.3 Windows အတွက် Peak adapter driver ကို ထည့်သွင်းပါ။
ယာဉ်မောင်းအား တပ်ဆင်ပြီးနောက်မှသာ Peak ၏ PCAN-USB adapter ကို အသုံးပြုနိုင်သည်။ Virtual Comport (VCP) ကို ဘယ်လိုဖွင့်ရမလဲဆိုတာ လေ့လာဖို့အတွက် USB drives ရဲ့ ထုတ်ကုန်လက်စွဲကို ဖတ်ပါ။ 1. Windows device driver setup ကို ဒေါင်းလုဒ်လုပ်ပြီး တပ်ဆင်ပါ (= တပ်ဆင်မှု ပက်ကေ့ချ် w/ device drivers, tools, and
APIs) မှ http://www.peak-system.com. 2. Peak ၏ PCAN-USB adapter ကို USB မှတစ်ဆင့် PC သို့ ချိတ်ဆက်ပါ။ 3. စက်ပစ္စည်းမန်နေဂျာအားဖြင့်- ဒရိုက်ဗာနှင့် အဒက်တာနှစ်ခုစလုံးကို မှန်ကန်စွာထည့်သွင်းခြင်း/အသိအမှတ်ပြုခြင်း ရှိ၊ မရှိ စစ်ဆေးပါ။
4.4 Linux အတွက် Ixxat adapter driver ကို ထည့်သွင်းပါ။
ယာဉ်မောင်းအား ထည့်သွင်းပြီးနောက်မှသာ၊ သင်သည် Ixxat ၏ USB-to-CAN V2 adapter ကို အသုံးပြုနိုင်သည်။ မှတ်ချက်- အခြားပံ့ပိုးပေးထားသော အဒက်တာများသည် sudo chmod +777/dev/ttyACM* (* စက်နံပါတ်) ဖြင့် သင်၏ခွင့်ပြုချက်များကို လိုအပ်ပါသည်။ Virtual Comport (VCP) ကို ဘယ်လိုဖွင့်ရမလဲဆိုတာ လေ့လာဖို့အတွက် USB drives ရဲ့ ထုတ်ကုန်လက်စွဲကို ဖတ်ပါ။ 1. ECI driver နှင့် demo application အတွက် လိုအပ်သော software ကို ထည့်သွင်းပါ-
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. www.ixxat.com မှ ECI-for-Linux driver ကို ဒေါင်းလုဒ်လုပ်ပါ။ ၎င်းကို ဇစ်ဖွင့်ရန်-
eci_driver_linux_amd64.zip ကိုဖြည်ပါ။
3. မှတဆင့် driver ကို install လုပ်ပါ-
cd /EciLinux_amd/src/KernelModule sudo ကို install-usb ပြုလုပ်ရန်
4. ဒီမိုအပလီကေးရှင်းကို စုစည်းပြီး စတင်ခြင်းဖြင့် အောင်မြင်သော ဒရိုင်ဘာတပ်ဆင်ခြင်းအတွက် စစ်ဆေးပါ-
cd /EciLinux_amd/src/EciDemos/ sudo လုပ်ရန် cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

8

4 စတင်ခြင်း။
4.5 Linux အတွက် Peak adapter driver ကို ထည့်သွင်းပါ။
ယာဉ်မောင်းအား တပ်ဆင်ပြီးနောက်မှသာ Peak ၏ PCAN-USB adapter ကို အသုံးပြုနိုင်သည်။ မှတ်ချက်- အခြားပံ့ပိုးပေးထားသော အဒက်တာများသည် sudo chmod +777/dev/ttyACM* (* စက်နံပါတ်) ဖြင့် သင်၏ခွင့်ပြုချက်များကို လိုအပ်ပါသည်။ Virtual Comport (VCP) ကို ဘယ်လိုဖွင့်ရမလဲဆိုတာ လေ့လာဖို့အတွက် USB drives ရဲ့ ထုတ်ကုန်လက်စွဲကို ဖတ်ပါ။ 1. သင့် Linux တွင် kernel ခေါင်းစီးများ ရှိမရှိ စစ်ဆေးပါ- ls /usr/src/linux-headers-`uname -r`။ မဟုတ်ပါက install လုပ်ပါ။
၎င်းတို့- sudo apt-get install linux-headers-`uname -r` 2. ယခုသာလျှင်၊ libpopt-dev packet ကို ထည့်သွင်းပါ- sudo apt-get install libpopt-dev 3. လိုအပ်သော driver package (peak-linux-driver-xxx.tar.gz) ကို www.peak-system.com မှ ဒေါင်းလုဒ်လုပ်ပါ။ 4. ၎င်းကို ထုပ်ပိုးရန်၊ အသုံးပြုပါ- tar xzf peak-linux-driver-xxx.tar.gz 5. ထုပ်ပိုးထားသော ဖိုင်တွဲတွင်- ဒရိုက်ဗာများကို စုစည်းပြီး ထည့်သွင်းပါ၊ PCAN အခြေခံ စာကြည့်တိုက် စသည်ဖြင့်- အားလုံးကို ပြုလုပ်ပါ။
sudo ကို install လုပ်ပါ 6. လုပ်ဆောင်ချက်ကို စစ်ဆေးရန်အတွက် PCAN-USB adapter ကို ပလပ်ထိုးပါ။
က) kernel module ကိုစစ်ဆေးပါ-
lsmod | grep pcan b) … နှင့် မျှဝေထားသော စာကြည့်တိုက်-
ls -l /usr/lib/libpcan*
မှတ်ချက်- USB3 ပြဿနာများ ဖြစ်ပွားပါက USB2 အပေါက်ကို အသုံးပြုပါ။
4.6 သင်၏ ဟာ့ဒ်ဝဲကို ချိတ်ဆက်ပါ။
NanoLib ပရောဂျက်ကို လုပ်ဆောင်နိုင်ရန်၊ သင်၏ adapter ကို အသုံးပြု၍ တွဲဖက်သုံးနိုင်သော Nanotec ထိန်းချုပ်ကိရိယာကို PC သို့ ချိတ်ဆက်ပါ။ 1. သင့်လျော်သောကြိုးဖြင့်၊ သင်၏ adapter ကို controller သို့ ချိတ်ဆက်ပါ။ 2. adapter data sheet အရ adapter ကို PC နှင့် ချိတ်ဆက်ပါ။ 3. သင့်လျော်သော ပါဝါထောက်ပံ့မှုကို အသုံးပြု၍ ထိန်းချုပ်ကိရိယာကို ပါဝါဖွင့်ပါ။ 4. လိုအပ်ပါက၊ ၎င်း၏ထုတ်ကုန်လက်စွဲတွင်ဖော်ပြထားသည့်အတိုင်း Nanotec ထိန်းချုပ်ကိရိယာ၏ ဆက်သွယ်ရေးဆက်တင်များကို ပြောင်းလဲပါ။
4.7 NanoLib ကို တင်ပါ။
လျင်မြန်လွယ်ကူသော အခြေခံအချက်များဖြင့် ပထမဆုံးစတင်ရန်အတွက် သင်သည် ကျွန်ုပ်တို့၏ ဟောင်းကို (သို့သော် မပြုလုပ်ရ) အသုံးပြုနိုင်ပါသည်။ample စီမံကိန်း။ 1. သင့်ဒေသပေါ်မူတည်၍ NanoLib ကို ကျွန်ုပ်တို့ထံမှ ဒေါင်းလုဒ်လုပ်ပါ။ webEMEA / APAC သို့မဟုတ် AMERICA အတွက်ဆိုဒ်။ 2. အထုပ်ကို ဇစ်ဖွင့်ပါ။ files/ folders နှင့် ရွေးချယ်မှုတစ်ခုကို ရွေးချယ်ပါ- မြန်ဆန်လွယ်ကူသော အခြေခံအချက်များ အတွက်- ဟောင်းကို စတင်ခြင်းကို ကြည့်ပါ။ample စီမံကိန်း။ Windows တွင် အဆင့်မြင့် စိတ်ကြိုက်ပြင်ဆင်ခြင်းအတွက်- သင့်ကိုယ်ပိုင် Windows ပရောဂျက်ကို ဖန်တီးခြင်းကို ကြည့်ပါ။ Linux တွင် အဆင့်မြင့် စိတ်ကြိုက်ပြင်ဆင်မှုအတွက်- သင်၏ကိုယ်ပိုင် Linux ပရောဂျက်ကို ဖန်တီးခြင်းကို ကြည့်ပါ။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

9

ရည်းစားဟောင်းကို စတင်ပါ။ample စီမံကိန်း

NanoLib ကို မှန်ကန်စွာ loaded တွေဆိုရင်၊ample ပရောဂျက်သည် သင့်အား NanoLib အသုံးပြုမှုအား Nanotec ထိန်းချုပ်ကိရိယာဖြင့် ပြသသည်။ မှတ်ချက်- အဆင့်တစ်ခုစီအတွက်၊ ပေးထားသော ex တွင် မှတ်ချက်များampကုဒ်အသုံးပြုသောလုပ်ဆောင်ချက်များကိုရှင်းပြပါ။ ရည်းစားဟောင်းample ပရောဂျက်တွင်- `*_functions_ex ပါဝင်သည်။ample.*' files၊ NanoLib interface အတွက် အကောင်အထည်ဖော်မှုများပါရှိသော `*_callback_ex ကို လုပ်ဆောင်သည်။ample.*' files၊ အမျိုးမျိုးသော callbacks (စကင်န်၊ ဒေတာနှင့်
မှတ်တမ်း) `menu_*.*' fileမီနူးလော့ဂျစ်နှင့် Ex ကို ကုဒ်များပါရှိသည်။ample ။* fileပင်မပရိုဂရမ်ဖြစ်သည့်၊ မီနူးကိုဖန်တီးကာ S ကို အသုံးပြုထားသော ကန့်သတ်ဘောင်များအားလုံးကို အစပြုခြင်း။ampler_example ။* fileex ပါ၀င်သော၊amps ကိုအကောင်အထည်ဖော်ပါ။ampအသုံးပြုမှု။ နောက်ထပ် ex ကို ရှာလို့ ရပါတယ်ampnanotec.com ရှိ Knowledge Base တွင် အမျိုးမျိုးသော လုပ်ဆောင်ချက်မုဒ်များအတွက် ရွေ့လျားမှုဆိုင်ရာ ညွှန်ကြားချက်အချို့နှင့် les၊ အားလုံးကို Windows သို့မဟုတ် Linux တွင် အသုံးပြုနိုင်သည်။
Visual Studio 1 ဖြင့် Windows တွင် Ex ကိုဖွင့်ပါ။ample.sln file. 2. ex ကိုဖွင့်ပါ။ample.cpp။ 3. compile လုပ်ပြီး ex ကို run ပါ။ample ကုဒ်
Bash 1 မှတစ်ဆင့် Linux တွင်၊ အရင်းအမြစ်ကို ဇစ်ဖွင့်ပါ။ fileဇစ်ဖွင့်ထားသော အကြောင်းအရာဖြင့် ဖိုင်တွဲသို့ သွားပါ။ အဓိက file ဟောင်းအတွက်ample is
example.cpp။ 2. bash တွင်၊ ဖုန်းခေါ်ဆိုပါ။
a မျှဝေထားသောအရာဝတ္ထုများကိုကူးယူပြီး ldconfig ကိုခေါ်ဆိုရန် "sudo make install" ။ ခ စမ်းသပ်မှုကို အကောင်အထည်ဖော်ရန် "အားလုံးလုပ်ပါ"။ 3. Bin folder တွင် executable execute ပါရှိသည်။ample file. bash အားဖြင့်- အထွက်ဖိုင်တွဲသို့သွားပြီး ./ex ကို ရိုက်ထည့်ပါ။ampလဲ့ အမှားအယွင်းတစ်စုံတစ်ရာမဖြစ်ပေါ်ပါက၊ သင်၏မျှဝေထားသောအရာဝတ္ထုများကို ယခုစနစ်တကျထည့်သွင်းထားပြီး၊ သင်၏ဒစ်ဂျစ်တိုက်သည် အသုံးပြုရန်အဆင်သင့်ဖြစ်နေပါပြီ။ error သည် ./example- မျှဝေထားသော ဒစ်ဂျစ်တိုက်များကို တင်နေစဉ် အမှား- libnanolib.so: မျှဝေထားသော အရာဝတ္တုကို ဖွင့်၍မရပါ။ file: မဟုတ်ဘူးဗျ။ file သို့မဟုတ် လမ်းညွှန်၊ မျှဝေထားသော အရာများ၏ ထည့်သွင်းမှု မအောင်မြင်ပါ။ ဤကိစ္စတွင်၊ နောက်အဆင့်များကိုလိုက်နာပါ။ 4. /usr/local/lib (admin လုပ်ပိုင်ခွင့်များ လိုအပ်သည်) အတွင်း ဖိုင်တွဲအသစ်တစ်ခု ဖန်တီးပါ။ bash တွင်၊ ဤသို့ရိုက်ထည့်ပါ။
sudo mkdir /usr/local/lib/nanotec
5. ဇစ်မှ မျှဝေထားသော အရာများအားလုံးကို ကူးယူပါ။ file၏ lib ဖိုင်တွဲ-
./lib/*.so /usr/local/lib/nanotec/ ကို ထည့်သွင်းပါ။
6. ပစ်မှတ်ဖိုင်တွဲ၏ အကြောင်းအရာကို စစ်ဆေးပါ-
ls -al /usr/local/lib/nanotec/
မျှဝေထားသော အရာဝတ္ထုကို စာရင်းပြုစုထားသင့်သည်။ filelib ဖိုဒါမှ s ။ 7. ဤဖိုင်တွဲတွင် ldconfig ကိုဖွင့်ပါ-
sudo ldconfig /usr/local/lib/nanotec/
ရည်းစားဟောင်းample ကို CLI အပလီကေးရှင်းတစ်ခုအနေဖြင့်အကောင်အထည်ဖော်ပြီး menu interface ကိုထောက်ပံ့ပေးသည်။ မီနူးထည့်သွင်းမှုများသည် အကြောင်းအရာကိုအခြေခံပြီး ဆက်စပ်အခြေအနေပေါ် မူတည်၍ ဖွင့်ပါ သို့မဟုတ် ပိတ်ပါမည်။ ၎င်းတို့သည် သင့်အား ထိန်းချုပ်ကိရိယာကို ကိုင်တွယ်ရန်အတွက် ပုံမှန်အလုပ်အသွားအလာအတိုင်း အမျိုးမျိုးသော စာကြည့်တိုက်လုပ်ဆောင်ချက်များကို ရွေးချယ်ပြီး လုပ်ဆောင်ရန် ဖြစ်နိုင်ချေကို ပေးဆောင်နိုင်သည်- 1. ချိတ်ဆက်ထားသော ဟာ့ဒ်ဝဲ (Adapters) အတွက် PC ကို စစ်ဆေးပြီး ၎င်းတို့ကို စာရင်းပြုစုပါ။ 2. အဒက်တာတစ်ခုသို့ ချိတ်ဆက်မှုပြုလုပ်ပါ။ 3. ချိတ်ဆက်ထားသော ထိန်းချုပ်ကိရိယာ ကိရိယာများအတွက် ဘတ်စ်ကားကို စကန်ဖတ်ပါ။ 4. စက်ပစ္စည်းတစ်ခုသို့ ချိတ်ဆက်ပါ။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

10

5 ex ကိုစတင်ပါ။ample စီမံကိန်း
5. တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော စာကြည့်တိုက်လုပ်ဆောင်ချက်များကို စမ်းသပ်ပါ- ထိန်းချုပ်ကိရိယာ၏ အရာဝတ္ထုအဘိဓာန်ကို ဖတ်/ရေး/ရေးပါ၊ ဖာမ်းဝဲလ်ကို အပ်ဒိတ်လုပ်ပါ၊ NanoJ ပရိုဂရမ်တစ်ခုကို အပ်လုဒ်လုပ်ကာ လုပ်ဆောင်ပါ၊ မော်တာလည်ပတ်ပြီး ၎င်းကို ချိန်ညှိပါ၊ ပြင်ဆင်သတ်မှတ်ပြီး မှတ်တမ်းကို အသုံးပြုပါ။ampler ။
6. ချိတ်ဆက်မှုကို ပိတ်ပါ၊ ဦးစွာ စက်သို့၊ ထို့နောက် အဒက်တာသို့ သွားပါ။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

11

သင်၏ကိုယ်ပိုင် Windows ပရောဂျက်ကိုဖန်တီးခြင်း။

NanoLib ကို အသုံးပြုရန် သင့်ကိုယ်ပိုင် Windows ပရောဂျက်ကို ဖန်တီး၊ စုစည်းပြီး လုပ်ဆောင်ပါ။
6.1 NanoLib ကို တင်သွင်းပါ။
NanoLib ခေါင်းစီးကို တင်သွင်းပါ။ fileMS Visual Studio မှတဆင့် s နှင့် စာကြည့်တိုက်များ။
1. Visual Studio ကိုဖွင့်ပါ။ 2. ပရောဂျက်အသစ် ဖန်တီးခြင်း > Console App C++ > နောက်တစ်ခု- ပရောဂျက်အမျိုးအစားကို ရွေးချယ်ပါ။ 3. Solution Explorer တွင် ပရောဂျက်ဖိုင်တွဲတစ်ခုဖန်တီးရန် သင့်ပရောဂျက်ကို (ဤနေရာတွင်- NanolibTest) အမည်ပေးပါ။ 4. Finish ကို ရွေးပါ။ 5. ပြတင်းပေါက်များကိုဖွင့်ပါ။ file ရှာဖွေသူနှင့် ဖန်တီးထားသော ပရောဂျက်ဖိုင်တွဲအသစ်သို့ သွားပါ။ 6. ဖိုင်တွဲအသစ်နှစ်ခု၊ inc နှင့် lib ကိုဖန်တီးပါ။ 7. NanoLib package folder ကိုဖွင့်ပါ။ 8. ထိုမှနေ၍ ခေါင်းစီးကို ကော်ပီကူးပါ။ files သည် သင့်ပရောဂျက်ဖိုင်တွဲ inc နှင့် .lib နှင့် .dll အားလုံးကို ပေါင်းထည့်သည့်ဖိုဒါမှဖြစ်သည်။
fileသင့်ပရောဂျက်သစ်ဖိုဒါ lib သို့ s ။ 9. ဥပမာအားဖြင့် သင့်ပရောဂျက်ဖိုင်တွဲကို စစ်ဆေးပါ။ample-

Nanotic-NanoLib-C++-Programming-FIG- (2)ဖွဲ့စည်းပုံအတွက် 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 Nanolibx.Test.vcx NanolibTest.sln
6.2 သင့်ပရောဂျက်ကို စီစဉ်သတ်မှတ်ပါ။
NanoLib ပရောဂျက်များကို စနစ်ထည့်သွင်းရန် MS Visual Studio တွင် Solution Explorer ကို အသုံးပြုပါ။ မှတ်ချက်- မှန်ကန်သော NanoLib လုပ်ဆောင်ချက်အတွက် Visual C++ ပရောဂျက်ဆက်တင်များတွင် ထုတ်ဝေမှု (အမှားအယွင်းမဟုတ်ပါ) ဖွဲ့စည်းမှုပုံစံကို ရွေးချယ်ပါ။ ထို့နောက် ပရောဂျက်ကို တည်ဆောက်ပြီး C++ ပြန်လည်ဖြန့်ဖြူးနိုင်သော VC runtimes [2022] နှင့် ချိတ်ဆက်ပါ။
1. Solution Explorer တွင်- သင့်ပရောဂျက်ဖိုင်တွဲသို့ သွားပါ (ဤနေရာ- NanolibTest)။ 2. ဆက်စပ်မီနူးကိုဖွင့်ရန် ဖိုဒါကို တွဲနှိပ်ပါ။ 3. Properties ကို ရွေးပါ။ 4. ဖွဲ့စည်းမှုအားလုံးနှင့် ပလပ်ဖောင်းအားလုံးကို အသက်သွင်းပါ။ 5. C/C++ ကိုရွေးချယ်ပြီး Additional Include Directories သို့သွားပါ။ 6. ထည့်သွင်းပါ- $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Linker ကိုရွေးချယ်ပြီး အပိုဆောင်းစာကြည့်တိုက်လမ်းညွှန်များသို့ သွားပါ။ 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 သင့်ပရောဂျက်ကို တည်ဆောက်ပါ။
MS Visual Studio တွင် သင်၏ NanoLib ပရောဂျက်ကို တည်ဆောက်ပါ။ 1. ပင်မ *.cpp ကိုဖွင့်ပါ။ file (ဒီမှာ- nanolib_example.cpp) လိုအပ်ပါက ကုဒ်ကို တည်းဖြတ်ပါ။ 2. Build > Configuration Manager ကို ရွေးပါ။ 3. Active ဖြေရှင်းချက်ပလက်ဖောင်းများကို x64 သို့ပြောင်းပါ။ 4. Close မှတဆင့် အတည်ပြုပါ။ 5. Build > Build solution ကိုရွေးချယ်ပါ။ 6. အမှားအယွင်းမရှိ? သင့် output အစီရင်ခံစာများကို စုစည်းထားခြင်းရှိမရှိ စစ်ဆေးပါ။
1>—— စတင်ရှင်းလင်းခြင်း- ပရောဂျက်- NanolibTest၊ ဖွဲ့စည်းမှု- Debug x64 —–========== သန့်ရှင်းမှု- 1 အောင်မြင်ပြီး 0 မအောင်မြင်၊ 0 ကျော်သွားသည် ==========

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

13

7 သင့်ကိုယ်ပိုင် Linux ပရောဂျက်ကို ဖန်တီးခြင်း။
7 သင့်ကိုယ်ပိုင် Linux ပရောဂျက်ကို ဖန်တီးခြင်း။
NanoLib ကို အသုံးပြုရန် သင့်ကိုယ်ပိုင် Linux ပရောဂျက်ကို ဖန်တီး၊ စုစည်းပြီး လုပ်ဆောင်ပါ။ 1. ဇစ်ဖွင့်ထားသော NanoLib တပ်ဆင်မှုအစုံတွင်- ဖွင့်ပါ။ /nanotec_nanolib။ 2. tar.gz တွင် မျှဝေထားသော အရာအားလုံးကို ရှာပါ။ file. 3. ရွေးချယ်ခွင့်တစ်ခုကို ရွေးပါ- Lib တစ်ခုစီကို Make တစ်ခုဖြင့်ဖြစ်စေ ထည့်သွင်းပါ။file သို့မဟုတ် လက်ဖြင့်။
7.1 Make ဖြင့် မျှဝေထားသော အရာများကို ထည့်သွင်းပါ။file
Make ကိုသုံးပါ။file ပုံသေ *.so အားလုံးကို အလိုအလျောက်ထည့်သွင်းရန် Linux Bash နှင့် file၎။ 1. Bash မှတဆင့်- make ပါရှိသော folder သို့သွားပါ။file. 2. မျှဝေထားသော အရာဝတ္ထုများကို ကူးယူပါ-
sudo ကို install လုပ်ပါ 3. မှတဆင့်အတည်ပြုပါ-
ldconfig
7.2 မျှဝေထားသော အရာဝတ္ထုများကို လက်ဖြင့် တပ်ဆင်ပါ။
*.so အားလုံးကို ထည့်သွင်းရန် Bash ကိုသုံးပါ။ 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 ပါဝင်သည့်ဖိုဒါတစ်ခုသို့ (ဤနေရာတွင်: 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();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << “အောင်မြင်မှု” << std::endl; }
accessor ကိုဖျက်ပစ်; 0 ပြန်လာ; }
4. သင့်ပရောဂျက်ဖိုင်တွဲကို သင့်လျော်သောဖွဲ့စည်းပုံအတွက် စစ်ဆေးပါ-

Nanotic-NanoLib-C++-Programming-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp ရလဒ်.hpp NanoLibTest.cpp
7.4 သင်၏ပရောဂျက်ကို စုစည်းပြီး စမ်းသပ်ပါ။
Bash မှတစ်ဆင့် သင်၏ Linux NanoLib ကို အဆင်သင့်ဖြစ်စေပါ။
1. Bash မှတဆင့်- ပင်မကို စုစည်းပါ။ file မှတဆင့်:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. အကောင်အထည်ဖော်နိုင်သည့်အရာအား အတူတကွချိတ်ဆက်ပါ-
g++ -Wall -Wextra -pedantic -I./inc -o စမ်းသပ်မှု NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. စမ်းသပ်မှုပရိုဂရမ်ကို လုပ်ဆောင်ပါ-
./test
4. သင်၏ Bash သည် မှန်မှန်ကန်ကန် အစီရင်ခံခြင်း ရှိမရှိ စစ်ဆေးပါ-
အောင်မြင်မှု

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

15

8 Classes/functions များကို ကိုးကားခြင်း။

8 Classes/functions များကို ကိုးကားခြင်း။

NanoLib ၏ user interface အတန်းများနှင့် ၎င်းတို့၏ အဖွဲ့ဝင်လုပ်ဆောင်ချက်များစာရင်းကို ဤနေရာတွင် ရှာပါ။ လုပ်ဆောင်ချက်တစ်ခု၏ ပုံမှန်ဖော်ပြချက်တွင် တိုတောင်းသော နိဒါန်းတစ်ခု၊ လုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက်နှင့် ကန့်သတ်ချက် / ပြန်ပေးမည့်စာရင်း ပါဝင်သည်-

ExampleFunction() သည် သင့်အား လုပ်ဆောင်ချက်ကို အတိုချုံးပြောပြသည်။
virtual void nlc::NanoLibAccessor::ဥပမာampleFunction (Param_a const & param_a၊ Param_b const & param_B)

ကန့်သတ်ချက်များ param_a param_b
ResultVoid ကို ပြန်ပေးပါတယ်။

လိုအပ်ပါက ထပ်လောင်းမှတ်ချက်ပေးပါ။ လိုအပ်ပါက ထပ်လောင်းမှတ်ချက်ပေးပါ။

8.1 NanoLibAccessor

NanoLib သို့ entry point အဖြစ် အသုံးပြုသော အင်တာဖေ့စ်အတန်း။ ပုံမှန်အလုပ်အသွားအလာသည် ဤကဲ့သို့ဖြစ်သည်-
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 ဟာ့ဒ်ဝဲကို စာရင်းပြုစုရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

ResultBusHwIds ကို ပြန်ပေးသည်။

fieldbus ID အခင်းအကျင်းတစ်ခုကို ပေးဆောင်သည်။

openBusHardwareWithProtocol () ဘတ်စ်ကား ဟာ့ဒ်ဝဲကို ချိတ်ဆက်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId၊ BusHardwareOptions const & busHwOpt)

ကန့်သတ်ချက်များ busHwId busHwOpt
ResultVoid ကို ပြန်ပေးပါတယ်။

ဖွင့်ရန် fieldbus ကို သတ်မှတ်သည်။ fieldbus အဖွင့်ရွေးချယ်စရာများကို သတ်မှတ်ပေးသည်။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

isBusHardwareOpen () သင့် fieldbus ဟာ့ဒ်ဝဲချိတ်ဆက်မှုကို ဖွင့်ထားခြင်းရှိမရှိ စစ်ဆေးရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId၊ const BusHardwareOptions & busHwOpt)

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

16

8 Classes/functions များကို ကိုးကားခြင်း။

ကန့်သတ်ချက်များ BusHardwareId သည် မှန်ပါသည်။
အတုအယောင်

ဖွင့်ရန် အကွက်တစ်ခုစီကို သတ်မှတ်သည်။ ဟာ့ဒ်ဝဲဖွင့်ထားသည်။ Hardware ပိတ်ထားသည်

getProtocolSpecificAccessor () ပရိုတိုကော-သတ်သတ်မှတ်မှတ် ဝင်ရောက်အသုံးပြုသူ အရာဝတ္တုကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

ကန့်သတ်ချက်များ busHwId သည် ResultVoid ကို ပြန်ပေးသည်။

ဆက်စပ်ကိရိယာကို ရယူရန် fieldbus ကို သတ်မှတ်သည်။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

getProfinetDCP () Profinet DCP အင်တာဖေ့စ်ကို ရည်ညွှန်းချက်ကို ပြန်ပေးရန်အတွက် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
ပကတိ ProfinetDCP နှင့် getProfinetDCP ()

ProfinetDCP ကို ​​ပြန်ပေးသည်။

getSamplerInterface() s ကိုရည်ညွှန်းရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ampler ကြားခံ။
virtual SamplerInterface & getSamplerInterface ()

S ပြန်ပို့သည်amplerInterface

s ကိုရည်ညွှန်းသည်။ampler interface အတန်း။

setBusState () bus-protocol-specific state ကို သတ်မှတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId၊ const std::string & state)

ကန့်သတ်ချက်များ busHwId အခြေအနေ
ResultVoid ကို ပြန်ပေးပါတယ်။

ဖွင့်ရန် fieldbus ကို သတ်မှတ်သည်။ လိုင်းတန်ဖိုးအဖြစ် ဘတ်စ်ကား-သက်ဆိုင်ရာပြည်နယ်ကို သတ်မှတ်ပေးသည်။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

scanDevices () ကွန်ရက်အတွင်းရှိ စက်ပစ္စည်းများကို စကင်န်ဖတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId၊ NlcScanBusCallback* callback)

ကန့်သတ်ချက်များ busHwId ခေါ်ဆိုမှု
ResultDeviceIds IOError ပြန်ပေးသည်။

စကင်န်ဖတ်ရန် fieldbus ကို သတ်မှတ်သည်။ NlcScanBusCallback တိုးတက်မှု ခြေရာခံ။ စက်ပစ္စည်း ID အခင်းအကျင်းတစ်ခုကို ပေးဆောင်သည်။ စက်ပစ္စည်းတစ်ခုကို ရှာမတွေ့ကြောင်း အသိပေးအပ်ပါသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

17

8 Classes/functions များကို ကိုးကားခြင်း။

addDevice ()
NanoLib ၏အတွင်းပိုင်းစက်ပစ္စည်းစာရင်းသို့ deviceId မှဖော်ပြထားသောဘတ်စ်ကားစက်ကိုထည့်ရန်နှင့်၎င်းအတွက် deviceHandle ကိုပြန်ပေးရန်ဤလုပ်ဆောင်ချက်ကိုအသုံးပြုပါ။
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

ကန့်သတ်ချက်များ deviceId သည် ResultDeviceHandle ကို ပြန်ပေးသည်။

စာရင်းသို့ထည့်ရန် စက်ပစ္စည်းကို သတ်မှတ်သည်။ စက်လက်ကိုင်တစ်ခု ပေးဆောင်သည်။

connectDevice () deviceHandle ဖြင့် စက်ပစ္စည်းတစ်ခုကို ချိတ်ဆက်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::ချိတ်ဆက်ကိရိယာ (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle သည် ResultVoid ကို ပြန်ပေးသည်။
IOError

NanoLib ချိတ်ဆက်သည့်ဘတ်စ်ကားစက်ကို သတ်မှတ်ပါ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။ စက်ပစ္စည်းတစ်ခုကို ရှာမတွေ့ကြောင်း အသိပေးအပ်ပါသည်။

getDeviceName () deviceHandle အားဖြင့် စက်၏အမည်ကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle Returns ResultString

NanoLib သည် မည်သည့်ဘတ်စ်ကားစက်ပစ္စည်းအမည်အတွက် ရရှိသည်ကို သတ်မှတ်ပေးသည်။ စက်အမည်များကို စာတန်းတစ်ခုအဖြစ် ပေးဆောင်သည်။

getDeviceProductCode () deviceHandle အားဖြင့် စက်၏ထုတ်ကုန်ကုဒ်ကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle Returns ResultInt

ဘတ်စ်ကားစက် NanoLib သည် ထုတ်ကုန်ကုဒ်အတွက် မည်သည့်ဘတ်စ်ကားကို ရရှိသည်ကို သတ်မှတ်ဖော်ပြသည်။ ထုတ်ကုန်ကုဒ်များကို ကိန်းပြည့်အဖြစ် ပေးဆောင်သည်။

getDeviceVendorId () deviceHandle အားဖြင့် စက်ပစ္စည်းရောင်းချသူ 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 Classes/functions များကို ကိုးကားခြင်း။

getDeviceId () NanoLib အတွင်းပိုင်းစာရင်းမှ သီးခြားစက်ပစ္စည်း၏ ID တစ်ခုကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle သည် ResultDeviceId ကို ပြန်ပေးသည်။

ဘတ်စ်ကားစက်ပစ္စည်း NanoLib သည် စက်ပစ္စည်း ID အတွက် မည်သည့်ဘတ်စ်ကားကို ရရှိသည်ကို သတ်မှတ်ဖော်ပြသည်။ စက်ပစ္စည်း ID ကို ပေးဆောင်သည်။

getDeviceIds () NanoLib အတွင်းပိုင်းစာရင်းမှ စက်အားလုံး၏ ID ကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

ResultDeviceIds ကို ပြန်ပေးသည်။

စက်ပစ္စည်း ID စာရင်းကို ပေးဆောင်သည်။

getDeviceUid () deviceHandle အားဖြင့် စက်၏ထူးခြားသော ID (96 bit / 12 bytes) ကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle သည် ResultArrayByte ကို ပြန်ပေးသည်။
အရင်းအမြစ်မရရှိနိုင်ပါ။

NanoLib သည် သီးသန့် ID အတွက် မည်သည့်ဘတ်စ်ကားစက်ပစ္စည်းကို ရရှိသည်ကို သတ်မှတ်ဖော်ပြသည်။ သီးသန့် ID များကို byte အခင်းအကျင်းတစ်ခုအနေဖြင့် ပေးဆောင်သည်။ အချက်အလက် မတွေ့ကြောင်း အသိပေးအပ်ပါသည်။

getDeviceSerialNumber () deviceHandle အားဖြင့် စက်၏ အမှတ်စဉ်နံပါတ်ကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle Returns ResultString
အရင်းအမြစ်မရရှိနိုင်ပါ။

ဘယ်ဘတ်စ်ကားစက်ပစ္စည်း NanoLib သည် အမှတ်စဉ်နံပါတ်ကို ရရှိသည်ကို သတ်မှတ်ပေးသည်။ အမှတ်စဉ်နံပါတ်များကို စာတန်းတစ်ခုအဖြစ် ပေးဆောင်သည်။ အချက်အလက် မတွေ့ကြောင်း အသိပေးအပ်ပါသည်။

getDeviceHardwareGroup () deviceHardle ဖြင့် ဘတ်စ်ကားကိရိယာ၏ ဟာ့ဒ်ဝဲအုပ်စုကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle Returns ResultInt

ဘတ်စ်ကားစက် NanoLib သည် ဟာ့ဒ်ဝဲအဖွဲ့အတွက် မည်သည့်ဘတ်စ်ကားကို ရရှိသည်ကို သတ်မှတ်ဖော်ပြသည်။
ဟာ့ဒ်ဝဲအုပ်စုများကို ကိန်းပြည့်အဖြစ် ပေးဆောင်သည်။

getDeviceHardwareVersion () deviceHardle ဖြင့် ဘတ်စ်ကားကိရိယာ၏ ဟာ့ဒ်ဝဲဗားရှင်းကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

19

8 Classes/functions များကို ကိုးကားခြင်း။

ကန့်သတ်ချက်များ deviceHandle

ပြန်လာသည်

ResultString အရင်းအမြစ်မရရှိနိုင်ပါ။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib သည် ဟာ့ဒ်ဝဲဗားရှင်းအတွက် ရရှိသည်ကို သတ်မှတ်ပေးသည်။ စက်အမည်များကို စာတန်းတစ်ခုအဖြစ် ပေးဆောင်သည်။ အချက်အလက် မတွေ့ကြောင်း အသိပေးအပ်ပါသည်။

getDeviceFirmwareBuildId () deviceHandle ဖြင့် bus စက်၏ firmware build ID ကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle Returns ResultString

ဘယ်ဘတ်စ်ကားစက် NanoLib သည် ဖာမ်းဝဲတည်ဆောက်မှု ID အတွက် မည်သည့်ဘတ်စ်ကားကိရိယာမှ ရရှိသည်ကို သတ်မှတ်ပါ။
စက်အမည်များကို စာတန်းတစ်ခုအဖြစ် ပေးဆောင်သည်။

getDeviceBootloaderVersion () deviceHandle ဖြင့် ဘတ်စ်ကားကိရိယာ၏ bootloader ဗားရှင်းကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle

ပြန်လာသည်

ResultInt အရင်းအမြစ်မရရှိနိုင်ပါ။

ဘယ်ဘတ်စ်ကားစက် NanoLib သည် bootloader ဗားရှင်းအတွက် ရရှိသည်ကို သတ်မှတ်ပေးသည်။ bootloader ဗားရှင်းများကို ကိန်းပြည့်အဖြစ် ပေးဆောင်သည်။ အချက်အလက် မတွေ့ကြောင်း အသိပေးအပ်ပါသည်။

getDeviceBootloaderBuildId () deviceHandle အားဖြင့် ဘတ်စ်ကားကိရိယာ၏ bootloader တည်ဆောက်မှု ID ကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle Returns ResultString

ဘယ်ဘတ်စ်ကားစက် NanoLib သည် bootloader တည်ဆောက် ID အတွက် မည်သည့်ဘတ်စ်ကားကို ရရှိသည်ကို သတ်မှတ်ဖော်ပြသည်။
စက်အမည်များကို စာတန်းတစ်ခုအဖြစ် ပေးဆောင်သည်။

rebootDevice () deviceHandle ဖြင့် စက်ပစ္စည်းကို ပြန်လည်စတင်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

ကန့်သတ်ချက်များ deviceHandle သည် ResultVoid ကို ပြန်ပေးသည်။

ပြန်လည်စတင်ရန် fieldbus ကို သတ်မှတ်သည်။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

getDeviceState () စက်ပစ္စည်း-ပရိုတိုကော- သီးခြားအခြေအနေရရှိရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle

ဘတ်စ်ကားစက် NanoLib သည် မည်သည့်အခြေအနေအတွက် ရရှိသည်ကို သတ်မှတ်ပါ။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

20

8 Classes/functions များကို ကိုးကားခြင်း။

ResultString ကို ပြန်ပေးသည်။

စက်အမည်များကို စာတန်းတစ်ခုအဖြစ် ပေးဆောင်သည်။

setDeviceState () device-protocol-specific state ကို သတ်မှတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle၊ const std::string & state)

ကန့်သတ်ချက်များ deviceHandle အခြေအနေ
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကား ကိရိယာ NanoLib သည် အခြေအနေအတွက် သတ်မှတ်ပေးသည် ကို သတ်မှတ်ပါ။ လိုင်းတန်ဖိုးအဖြစ် ဘတ်စ်ကား-သက်ဆိုင်ရာပြည်နယ်ကို သတ်မှတ်ပေးသည်။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

getConnectionState ()
deviceHandle (= Disconnected, Connected, ConnectedBootloader) ဖြင့် သီးခြားစက်ပစ္စည်း၏ နောက်ဆုံးသိထားသော ချိတ်ဆက်မှုအခြေအနေကို ရရှိရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle သည် ResultConnectionState ကို ပြန်ပေးသည်။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib သည် ချိတ်ဆက်မှုအခြေအနေအတွက် ရရှိသည်ကို သတ်မှတ်ပါ။
ချိတ်ဆက်မှုအခြေအနေ (= Disconnected၊ Connected၊ ConnectedBootloader) ကို ပေးဆောင်သည်။

ချိတ်ဆက်မှုအခြေအနေ (စစ်ဆေးရန်)
နောက်ဆုံးသိထားသော အခြေအနေသည် ချိတ်ဆက်မှု ဖြတ်တောက်ခြင်း မရှိလျှင်သာ- deviceHandle ဖြင့် သီးခြားစက်ပစ္စည်း၏ ချိတ်ဆက်မှုအခြေအနေကို စစ်ဆေးရန်နှင့် အပ်ဒိတ်လုပ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပြီး မုဒ်အလိုက် သီးခြားလုပ်ဆောင်မှုများကို စမ်းသပ်ခြင်းဖြင့်။
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle သည် ResultConnectionState ကို ပြန်ပေးသည်။

ဘယ်ဘတ်စ်ကား ကိရိယာ NanoLib သည် ချိတ်ဆက်မှုအခြေအနေအတွက် စစ်ဆေးသည်ကို သတ်မှတ်သည်။
ချိတ်ဆက်မှုအခြေအနေ (= အဆက်ဖြတ်ခြင်းမဟုတ်ပါ)။

assignObjectDictionary () အရာဝတ္ထုအဘိဓာန် (OD) ကို သင့်ကိုယ်ပိုင် Handle သို့ သတ်မှတ်ရန် ဤလက်စွဲလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle၊ ObjectDictionary const & objectDictionary)

ကန့်သတ်ချက်များ deviceHandle objectDictionary
ResultObjectDictionary ကို ပြန်ပေးသည်။

NanoLib မှ OD အား သတ်မှတ်ပေးသည့် ဘတ်စ်ကား ကိရိယာကို သတ်မှတ်ပေးသည်။ အရာဝတ္ထုအဘိဓာန်၏ ဂုဏ်သတ္တိများကို ပြသည်။

autoAssignObjectDictionary ()
NanoLib ကို deviceHandle တွင် အရာဝတ္ထုအဘိဓာန် (OD) ကို သတ်မှတ်ခွင့်ပြုရန် ဤအလိုအလျောက်လုပ်ဆောင်မှုကို အသုံးပြုပါ။ သင့်လျော်သော 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 Classes/functions များကို ကိုးကားခြင်း။

ကန့်သတ်ချက်များ deviceHandle

ပြန်လာသည်

အဘိဓာန်များLocationPath ResultObjectDictionary

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib သည် သင့်လျော်သော OD များကို အလိုအလျောက် စကန်ဖတ်မည်ကို သတ်မှတ်သည်။ OD လမ်းညွှန်သို့ လမ်းကြောင်းကို သတ်မှတ်ပေးသည်။ အရာဝတ္ထုအဘိဓာန်၏ ဂုဏ်သတ္တိများကို ပြသည်။

getAssignedObjectDictionary ()
deviceHandle မှ စက်ပစ္စည်းတစ်ခုသို့ သတ်မှတ်ပေးထားသော အရာဝတ္ထုအဘိဓာန်ကို ရယူရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
လက်ကိုင်)

ကန့်သတ်ချက်များ deviceHandle သည် ResultObjectDictionary ကို ပြန်ပေးသည်။

NanoLib သည် သတ်မှတ်ပေးထားသည့် OD အတွက် မည်သည့်ဘတ်စ်ကားကိရိယာမှ ရရှိသည်ကို သတ်မှတ်ဖော်ပြသည်။ အရာဝတ္ထုအဘိဓာန်၏ ဂုဏ်သတ္တိများကို ပြသည်။

getObjectDictionaryLibrary () ဤလုပ်ဆောင်ချက်သည် OdLibrary ရည်ညွှန်းချက်ကို ပြန်ပေးသည်။
virtual OdLibrary&nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

OdLibrary ကို ပြန်ပို့သည်&

OD စာကြည့်တိုက်တစ်ခုလုံးနှင့် ၎င်း၏အရာဝတ္ထုအဘိဓာန်များကို ဖွင့်ပါ။

setLoggingLevel () လိုအပ်သော မှတ်တမ်းအသေးစိတ် (နှင့် မှတ်တမ်းကို သတ်မှတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ file အရွယ်အစား)။ မူရင်းအဆင့်မှာ အချက်အလက်ဖြစ်သည်။
virtual void nlc::NanoLibAccessor::setLoggingLevel (မှတ်တမ်းအဆင့်အဆင့်)

ကန့်သတ်ချက်များအဆင့်

အောက်ပါမှတ်တမ်းအသေးစိတ်အချက်အလက်များ ဖြစ်နိုင်သည်-

0 = Trace 1 = Debug 2 = Info 3 = Warn 4 = Error 5 = Critical 6 = Off

အနိမ့်ဆုံးအဆင့် (အကြီးဆုံးမှတ်တမ်း file); ဖြစ်နိုင်ချေရှိသောအသေးစိတ်အချက်အလက်များအပြင် ဆော့ဖ်ဝဲလ်စတင်ခြင်း/ရပ်တန့်ခြင်းတို့ကို မှတ်တမ်းတင်ထားသည်။ အမှားရှာမှတ်တမ်းများ အချက်အလက်များ (= ကြားဖြတ်ရလဒ်များ၊ ပေးပို့သော သို့မဟုတ် လက်ခံရရှိသည့် အကြောင်းအရာ စသည်) မူရင်းအဆင့်၊ အချက်အလက်ဆိုင်ရာ မက်ဆေ့ဂျ်များကို မှတ်တမ်းတင်သည်။ ဖြစ်ပေါ်လာသော ပြဿနာများကို မှတ်တမ်းတင်ထားသော်လည်း လက်ရှိ အယ်လဂိုရီသမ်ကို ရပ်တန့်မည်မဟုတ်ပါ။ အယ်လဂိုရီသမ်ကို ရပ်တန့်စေသည့် ပြင်းထန်သော ပြဿနာတစ်ခုမျှသာ ဖြစ်သည်။ အမြင့်ဆုံးအဆင့် (အသေးဆုံးမှတ်တမ်း file); အကောင့်ပိတ်သည် နောက်ထပ် မှတ်တမ်းလုံးဝမရှိပါ။ မှတ်တမ်းလုံးဝမရှိပါ။

setLoggingCallback()
မှတ်တမ်းပြန်ခေါ်ရန် ညွှန်တံနှင့် မှတ်တမ်း module (= စာကြည့်တိုက်) ကို သတ်မှတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ ( logger ကိုယ်တိုင်အတွက်မဟုတ်) ။
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback၊ const nlc::LogModule & logModule)

ကန့်သတ်ချက်များ * ပြန်ခေါ်ခြင်း logModule

ပြန်ခေါ်ရန်ညွှန်ပြချက်ကို သတ်မှတ်သည်။ ဖုန်းပြန်ခေါ်ခြင်း (မှတ်တမ်းမှတ်ရာမဟုတ်ပါ!) ကို သင်၏ဒစ်ဂျစ်တိုက်သို့ ချိန်ညှိပါ။

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

NanoLib ၏ core အတွက်သာ ပြန်လည်ခေါ်ဆိုမှုကို အသက်သွင်းသည်။ CANopen-only callback ကို အသက်သွင်းသည်။ Modbus သီးသန့်ခေါ်ဆိုမှုအား အသက်သွင်းသည်။ EtherCAT သီးသန့်ပြန်ခေါ်မှုကို အသက်သွင်းသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

22

8 Classes/functions များကို ကိုးကားခြင်း။

4 = NanolibRest 5 = NanolibUSB

REST သီးသန့်ပြန်ခေါ်ခြင်းကို အသက်သွင်းသည်။ USB သီးသန့်ပြန်ခေါ်ခြင်းကို အသက်သွင်းသည်။

unsetLoggingCallback () မှတ်တမ်းခေါ်ဆိုမှု ညွှန်ပြချက်ကို ပယ်ဖျက်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () အရာဝတ္ထုအဘိဓာန်မှ ဂဏန်းတန်ဖိုးကို ဖတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle၊ const OdIndex odIndex)

ကန့်သတ်ချက်များ deviceHandle odIndex
ResultInt ကို ပြန်ပေးသည်။

ဘတ်စ်ကားစက် NanoLib မှဖတ်သည့်အရာကို သတ်မှတ်ပေးသည်။ မှဖတ်ရန် (sub-) အညွှန်းကို သတ်မှတ်သည်။ အဓိပ္ပါယ်မဖော်နိုင်သော ကိန်းဂဏာန်းတန်ဖိုးများ (လက်မှတ်ထိုးနိုင်သည်၊ လက်မှတ်မထိုးနိုင်သော၊ fix16.16 ဘစ်တန်ဖိုးများ) ကို ပေးဆောင်သည်။

readNumberArray () အရာဝတ္ထုအဘိဓာန်မှ ဂဏန်းအခင်းအကျင်းများကို ဖတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle၊ const uint16_t အညွှန်း)

ကန့်သတ်ချက်များ deviceHandle အညွှန်း
ResultArrayInt ကို ပြန်ပေးသည်။

ဘတ်စ်ကားစက် NanoLib မှဖတ်သည့်အရာကို သတ်မှတ်ပေးသည်။ Array အရာဝတ္ထု အညွှန်း ကိန်းပြည့် ခင်းကျင်းတစ်ခုကို ပေးဆောင်သည်။

readBytes () အရာဝတ္ထုအဘိဓာန်မှ မထင်သလို ဘိုက်များ (ဒိုမိန်းအရာဝတ္ထုဒေတာ) ကို ဖတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle၊ const OdIndex odIndex)

ကန့်သတ်ချက်များ deviceHandle odIndex
ResultArrayByte ကို ပြန်ပေးသည်။

ဘတ်စ်ကားစက် NanoLib မှဖတ်သည့်အရာကို သတ်မှတ်ပေးသည်။ မှဖတ်ရန် (sub-) အညွှန်းကို သတ်မှတ်သည်။ byte array တစ်ခုကို ပေးဆောင်သည်။

readString() object directory မှ စာကြောင်းများကို ဖတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle၊ const OdIndex odIndex)

ကန့်သတ်ချက်များ deviceHandle odIndex
ResultString ကို ပြန်ပေးသည်။

ဘတ်စ်ကားစက် NanoLib မှဖတ်သည့်အရာကို သတ်မှတ်ပေးသည်။ မှဖတ်ရန် (sub-) အညွှန်းကို သတ်မှတ်သည်။ စက်အမည်များကို စာတန်းတစ်ခုအဖြစ် ပေးဆောင်သည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

23

8 Classes/functions များကို ကိုးကားခြင်း။

writeNumber () အရာဝတ္ထုလမ်းညွှန်တွင် ဂဏန်းတန်ဖိုးများရေးရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle၊ int64_t တန်ဖိုး၊ const OdIndex odIndex၊ လက်မှတ်မထိုးထားသော int bitLength)

ကန့်သတ်ချက်များ deviceHandle တန်ဖိုး odIndex bitLength
ResultVoid ကို ပြန်ပေးပါတယ်။

NanoLib မှ ဘတ်စ်ကား စက်ပစ္စည်းကို ရေးလိုက်သည်တို့ကို သတ်မှတ်ပေးသည်။ အဓိပ္ပာယ်မဖော်သောတန်ဖိုး (လက်မှတ်ထိုးနိုင်သည်၊ လက်မှတ်မထိုးနိုင်၊ ပြင်ဆင်ရန် 16.16)။ မှဖတ်ရန် (sub-) အညွှန်းကို သတ်မှတ်သည်။ အရှည်နည်းနည်း။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

writeBytes () အရာဝတ္ထုလမ်းညွှန်သို့ မထင်သလို ဘိုက်များ (ဒိုမိန်းအရာဝတ္ထုဒေတာ) ရေးရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle၊ const std::vector & data၊ const OdIndex odIndex)

ကန့်သတ်ချက်များ deviceHandle data odIndex
ResultVoid ကို ပြန်ပေးပါတယ်။

NanoLib မှ ဘတ်စ်ကား စက်ပစ္စည်းကို ရေးလိုက်သည်တို့ကို သတ်မှတ်ပေးသည်။ Byte vector/array. မှဖတ်ရန် (sub-) အညွှန်းကို သတ်မှတ်သည်။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

ဖိုင်တင်ခြင်း ()
သင့် controller firmware ကို အပ်ဒိတ်လုပ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle၊ const std::vector & fwData၊ NlcDataTransferCallback* ပြန်ခေါ်ခြင်း)

ကန့်သတ်ချက်များ deviceHandle fwData NlcDataTransferCallback
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib အပ်ဒိတ်များကို သတ်မှတ်ပေးသည် ။ Firmware ဒေတာပါဝင်သည့် အခင်းအကျင်း။ ဒေတာတိုးတက်မှု ခြေရာခံ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

uploadFirmwareFromFile ()
၎င်းကို အပ်လုဒ်တင်ခြင်းဖြင့် သင်၏ controller firmware ကို အပ်လုဒ်လုပ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle၊ const std::string & absoluteFileလမ်းကြောင်း၊ NlcDataTransferCallback* ပြန်ခေါ်ခြင်း)

ကန့်သတ်ချက်များ deviceHandle အကြွင်းမဲ့FileNlcDataTransferCallback လမ်းကြောင်း
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib အပ်ဒိတ်များကို သတ်မှတ်ပေးသည် ။ လမ်းကြောင်း file Firmware ဒေတာ (std::string) ပါရှိသည်။ ဒေတာတိုးတက်မှု ခြေရာခံ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

24

8 Classes/functions များကို ကိုးကားခြင်း။

uploadBootloader ()
သင်၏ controller bootloader ကို အပ်ဒိတ်လုပ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle၊ const std::vector & btData၊ NlcDataTransferCallback* ပြန်ခေါ်ခြင်း)

ကန့်သတ်ချက်များ စက်ပစ္စည်းကိုင်တွယ်ရန် btData NlcDataTransferCallback
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib အပ်ဒိတ်များကို သတ်မှတ်ပေးသည် ။ bootloader data ပါရှိသော အခင်း။ ဒေတာတိုးတက်မှု ခြေရာခံ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

uploadBootloaderFromFile ()
၎င်းကို အပ်လုဒ်တင်ခြင်းဖြင့် သင်၏ controller bootloader ကို အပ်လုဒ်လုပ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle၊ const std::string & bootloaderAbsoluteFileလမ်းကြောင်း၊ NlcDataTransferCallback* ပြန်ခေါ်ခြင်း)

ကန့်သတ်ချက်များ deviceHandle bootloaderAbsoluteFileNlcDataTransferCallback လမ်းကြောင်း
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib အပ်ဒိတ်များကို သတ်မှတ်ပေးသည် ။ လမ်းကြောင်း file bootloader data (std::string) ပါရှိသည်။ ဒေတာတိုးတက်မှု ခြေရာခံ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

uploadBootloaderFirmware ()
သင်၏ controller bootloader နှင့် firmware ကို update လုပ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle၊ const std::vector &btData၊ const std::vector & fwData၊ NlcDataTransferCallback* ပြန်ခေါ်ခြင်း)

ကန့်သတ်ချက်များ စက်ပစ္စည်းကိုင်တွယ်ရန် btData fwData NlcDataTransferCallback
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib အပ်ဒိတ်များကို သတ်မှတ်ပေးသည် ။ bootloader data ပါရှိသော အခင်း။ Firmware ဒေတာပါဝင်သည့် အခင်းအကျင်း။ ဒေတာတိုးတက်မှု ခြေရာခံ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

uploadBootloaderFirmwareFromFile ()
သင်၏ controller bootloader နှင့် firmware ကို အပ်လုဒ်တင်ခြင်းဖြင့် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle၊ const std::string & bootloaderAbsoluteFileလမ်းကြောင်း၊ const std::string & absoluteFileလမ်းကြောင်း၊ NlcDataTransferCallback* ပြန်ခေါ်ခြင်း)

ကန့်သတ်ချက်များ deviceHandle bootloaderAbsoluteFileမဂ်ပကတိFileNlcDataTransferCallback လမ်းကြောင်း
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib အပ်ဒိတ်များကို သတ်မှတ်ပေးသည် ။ လမ်းကြောင်း file bootloader data (std::string) ပါရှိသည်။ လမ်းကြောင်း file Firmware ဒေတာ (uint8_t) ပါရှိသည်။ ဒေတာတိုးတက်မှု ခြေရာခံ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

25

8 Classes/functions များကို ကိုးကားခြင်း။

အပ်လုဒ်နနိုဂျေ ()
NanoJ ပရိုဂရမ်ကို သင်၏ထိန်းချုပ်ကိရိယာသို့ အပ်လုဒ်လုပ်ရန် ဤအများပြည်သူဆိုင်ရာလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle၊ std::vector const & vmmData၊ NlcDataTransferCallback* ပြန်ခေါ်ခြင်း)

ကန့်သတ်ချက်များ deviceHandle vmmData NlcDataTransferCallback
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကားစက် NanoLib အပ်လုဒ်လုပ်သည်ကို သတ်မှတ်ပါ။ NanoJ ဒေတာပါဝင်သည့် အခင်းအကျင်း။ ဒေတာတိုးတက်မှု ခြေရာခံ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

NanoJFrom တင်ပါ။File ()
NanoJ ပရိုဂရမ်ကို သင်၏ထိန်းချုပ်ကိရိယာသို့ အပ်လုဒ်တင်ခြင်းဖြင့် ဤအများပြည်သူဆိုင်ရာလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle၊ const std::string & absoluteFileလမ်းကြောင်း၊ NlcDataTransferCallback* ပြန်ခေါ်ခြင်း)

ကန့်သတ်ချက်များ deviceHandle အကြွင်းမဲ့FileNlcDataTransferCallback လမ်းကြောင်း
ResultVoid ကို ပြန်ပေးပါတယ်။

ဘယ်ဘတ်စ်ကားစက် NanoLib အပ်လုဒ်လုပ်သည်ကို သတ်မှတ်ပါ။ လမ်းကြောင်း file NanoJ ဒေတာ (std::string) ပါဝင်သည်။ ဒေတာတိုးတက်မှု ခြေရာခံ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

disconnectDevice () deviceHandle ဖြင့် သင့်စက်ပစ္စည်းကို ချိတ်ဆက်မှုဖြုတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

ကန့်သတ်ချက်များ deviceHandle သည် ResultVoid ကို ပြန်ပေးသည်။

ဘတ်စ်ကား စက်ပစ္စည်း NanoLib မှ ချိတ်ဆက်မှုကို ဖြတ်တောက်မည်ကို သတ်မှတ်ပါ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

removeDevice () NanoLib ၏ စက်တွင်းစက်ပစ္စည်းစာရင်းမှ သင့်စက်ပစ္စည်းကို ဖယ်ရှားရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

ကန့်သတ်ချက်များ deviceHandle သည် ResultVoid ကို ပြန်ပေးသည်။

ဘယ်ဘတ်စ်ကား စက်ပစ္စည်း NanoLib ကို ဖယ်ထုတ်ထားသည်ကို သတ်မှတ်ပါ။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

closeBusHardware () သင်၏ fieldbus ဟာ့ဒ်ဝဲမှ ချိတ်ဆက်မှုကို ဖြတ်တောက်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

ကန့်သတ်ချက်များ busHwId သည် ResultVoid ကို ပြန်ပေးသည်။

ချိတ်ဆက်မှုဖြတ်ရန် fieldbus ကို သတ်မှတ်သည်။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

26

8 Classes/functions များကို ကိုးကားခြင်း။

8.2 BusHardwareId
ဘတ်စ်ကား ဟာ့ဒ်ဝဲတစ်ခုကို တစ်လုံးချင်း ခွဲခြားသတ်မှတ်ရန် သို့မဟုတ် မတူညီသော ဘတ်စ်ကား ဟာ့ဒ်ဝဲတစ်ခုကို တစ်ခုနှင့်တစ်ခု ခွဲခြားရန် ဤအတန်းအစားကို အသုံးပြုပါ။ ဤအတန်းသည် (ဖန်တီးမှုမှ မပြောင်းလဲနိုင်သော setter လုပ်ဆောင်ချက်များမပါဘဲ) တွင်လည်း အချက်အလက်များကို သိမ်းဆည်းထားသည်-
ဟာ့ဒ်ဝဲ (= အဒက်တာအမည်၊ ကွန်ရက် အဒက်တာ စသည်ဖြင့်) အသုံးပြုရန် ပရိုတိုကော (= 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 ကို အမည်ပေးသည်။

equals () ဘတ်စ်ကား ဟာ့ဒ်ဝဲ ID အသစ်တစ်ခုကို ရှိပြီးသားအရာများနှင့် နှိုင်းယှဉ်သည်။
bool nlc::BusHardwareId::equals (BusHardwareId const & other) const

Parameters များသည် အခြားသော Returns များ အမှန်ဖြစ်သည်။

တူညီသောအတန်း၏အခြားအရာ။ နှစ်ခုလုံးသည် တန်ဖိုးအားလုံး ညီလျှင်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

27

8 Classes/functions များကို ကိုးကားခြင်း။

အတုအယောင်

တန်ဖိုးတွေ ကွာခြားရင်

getBusHardware () bus hardware string ကိုဖတ်သည်။
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 () bus protocol string ကိုဖတ်သည်။
std::string nlc::BusHardwareId::getProtocol() const

စာကြောင်းပြန်ပေးသည်။

toString() bus hardware ID ကို string တစ်ခုအဖြစ် ပြန်ပေးသည်။
std::string nlc::BusHardwareId::toString() const

စာကြောင်းပြန်ပေးသည်။
8.3 BusHardwareOptions
ဘတ်စ်ကား ဟာ့ဒ်ဝဲကိုဖွင့်ရန် လိုအပ်သော ရွေးချယ်စရာများအားလုံးကို ဤအတန်းတွင်၊ သော့တန်ဖိုးစာရင်းတွင် ရှာဖွေပါ။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

28

8 Classes/functions များကို ကိုးကားခြင်း။

BusHardwareOptions () [1/2] bus hardware option object အသစ်တစ်ခုကို တည်ဆောက်သည်။
nlc::BusHardwareOptions::BusHardwareOptions () သော့တန်ဖိုးအတွဲများကိုပေါင်းထည့်ရန် လုပ်ဆောင်ချက် addOption () ကိုသုံးပါ။

BusHardwareOptions () [2/2] သော့တန်ဖိုးမြေပုံနှင့်အတူ ဘတ်စ်ကား ဟာ့ဒ်ဝဲရွေးချယ်စရာများ အရာဝတ္ထုအသစ်တစ်ခုကို တည်ဆောက်သည်။
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & options)

ကန့်သတ်ချက်များ ရွေးချယ်မှုများ

ဘတ်စ်ကား ဟာ့ဒ်ဝဲလည်ပတ်ရန် ရွေးချယ်စရာများပါသည့် မြေပုံ။

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 ကိုကြည့်ပါ။

equals () BusHardwareOptions ကို လက်ရှိအရာများနှင့် နှိုင်းယှဉ်သည်။
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & other) const

Parameters များသည် အခြားသော Returns များ အမှန်ဖြစ်သည်။
အတုအယောင်

တူညီသောအတန်း၏အခြားအရာ။ အကယ်၍ အခြားအရာဝတ္တုတွင် တူညီသောရွေးချယ်စရာများအားလုံးရှိသည်။ အခြားအရာဝတ္ထုတွင် မတူညီသောသော့များ သို့မဟုတ် တန်ဖိုးများရှိပါက။

getOptions () ပေါင်းထည့်ထားသော သော့တန်ဖိုးအတွဲများကို ဖတ်သည်။
std::မြေပုံ nlc::BusHardwareOptions::getOptions() const

စာကြောင်းမြေပုံကို ပြန်ပေးသည်။

toString() သော့/တန်ဖိုးများအားလုံးကို စာကြောင်းတစ်ခုအဖြစ် ပြန်ပေးသည်။
std::string nlc::BusHardwareId::toString() const

စာကြောင်းပြန်ပေးသည်။
8.4 BusHwOptionsDefault
ဤမူလဖွဲ့စည်းပုံပြင်ဆင်မှုရွေးချယ်မှုများအတန်းတွင် အောက်ပါအများပြည်သူဆိုင်ရာ ရည်ညွှန်းချက်များပါရှိသည်-

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

29

8 Classes/functions များကို ကိုးကားခြင်း။

const CanBus const Serial const RESTfulBus const EtherCATBus

canBus = CanBus () အမှတ်စဉ် = အမှတ်စဉ် () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()

8.5 CanBaudRate

အောက်ဖော်ပြပါ အများသူငှာ ရည်ညွှန်းချက်များတွင် CAN bus baudrates ပါ၀င်သော ဖွဲ့စည်းပုံ

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

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

8.6 CanBus

အောက်ဖော်ပြပါ အများသူငှာ ရည်ညွှန်းချက်များဖြင့် ပုံသေဖွဲ့စည်းပုံရွေးချယ်မှု အတန်းအစား

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = “ဒက်တာ baud နှုန်းကို လုပ်နိုင်သည်” 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 = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

ဤဖွဲ့စည်းပုံတွင် CANopen NMT ပြည်နယ်များကို အောက်ပါ အများသူငှာ ရည်ညွှန်းချက်များတွင် string တန်ဖိုးများအဖြစ် ပါရှိသည်။

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

STOPPED = “STOPPED” PRE_OPERATIONAL = “PRE_OPERATIONAL” လည်ပတ်မှု = “လုပ်ငန်းလည်ပတ်မှု” စတင်ခြင်း = “အစပြုခြင်း” UnkNOWN = “မသိရသေး”

8.9 EtherCATBus တည်ဆောက်ပုံ

ဤဖွဲ့စည်းပုံတွင် အောက်ဖော်ပြပါ အများသူငှာ ရည်ညွှန်းချက်များတွင် EtherCAT ဆက်သွယ်ရေး ဖွဲ့စည်းမှုပုံစံ ရွေးချယ်စရာများ ပါရှိသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

30

8 Classes/functions များကို ကိုးကားခြင်း။

const std::string NETWORK_FIRMWARE_STATE_OP- ကွန်ရက်အခြေအနေကို firmware မုဒ်အဖြစ် သတ်မှတ်သည်။ လက်ခံနိုင်သော

TION_NAME = “ကွန်ရက်ဖမ်ဝဲအခြေအနေ”

တန်ဖိုးများ (မူလ = PRE_OPERATIONAL):

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

const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- သီးသန့်လော့ခ်ကိုရယူရန် မီလီစက္ကန့်အတွင်း အချိန်ကုန်သွားသည်

TION_NAME = “မျှဝေထားသော လော့ခ်ချချိန်ကုန်ခြင်း”

ကွန်ရက် (မူလ = 500 ms)။

const တွင် လက်မှတ်မထိုးရသေးသော DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ မျှဝေထားသောလော့ခ်ကိုရယူရန် မီလီစက္ကန့်အတွင်း အချိန်ကုန်သွားသည်

NAME = “မျှဝေထားသော လော့ခ်ကျချိန်ကုန်ဆုံးခြင်း”

ကွန်ရက် (မူလ = 250 ms)။

const int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = ဖတ်ရှုသည့် လုပ်ဆောင်ချက်အတွက် မီလီစက္ကန့်အတွင်း အချိန်ကုန်သွားသည် (မူလ

“ဖတ်ရန် အချိန်ကုန်”

= 700 ms)။

const int တွင် DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = ရေးရန် လုပ်ဆောင်ချက်အတွက် မီလီစက္ကန့်အတွင်း အချိန်ကုန်သွားသည် (မူလ

“အချိန်ကုန်အောင်ရေးပါ”

= 200 ms)။

const int DEFAULT_WRITE_TIMEOUT = “200”

const std::string READ_WRITE_ATTEMPTS_OPTION_ အများဆုံး ဖတ်ရန် သို့မဟုတ် ရေးရန် ကြိုးပမ်းမှုများ (သုညမဟုတ်သော တန်ဖိုးများ

NAME = “ဖတ်ရန်/စာရေးရန် ကြိုးစားမှုများ”

သာလျှင်; မူရင်း = ၅)။

const int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "ကွန်ရက်အခြေအနေ ပြောင်းလဲရန် ကြိုးစားမှု"

ကွန်ရက်အခြေအနေကို ပြောင်းလဲရန် ကြိုးပမ်းမှု အများဆုံးအကြိမ်အရေအတွက် (သုညမဟုတ်သော တန်ဖိုးများသာ; ပုံသေ = 10)။

const တွင် လက်မှတ်မထိုးရသေးသော DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME ဒစ်ဂျစ်တယ် in- / အတွက် PDO လုပ်ဆောင်ခြင်းကို ဖွင့်ပါ သို့မဟုတ် ပိတ်ပါ

= "PDO IO ကို ဖွင့်ထားသည်"

အထွက်များ (“True” သို့မဟုတ် “False” သာ; မူရင်း = “True”)။

const std::string DEFAULT_PDO_IO_ENABLED = "မှန်"

8.10 EtherCATSstate တည်ဆောက်ပုံ

ဤဖွဲ့စည်းပုံတွင် အောက်ပါ အများသူငှာ ရည်ညွှန်းချက်များတွင် စာကြောင်းတန်ဖိုးများအဖြစ် EtherCAT slave/network states များ ပါရှိသည်။ မှတ်ချက်- ပါဝါဖွင့်ရာတွင် မူလအခြေအနေသည် PRE_OPERATIONAL ဖြစ်သည်။ NanoLib သည် လက်ရှိအချိန်မဟုတ်သော လည်ပတ်မှုစနစ်တွင် ယုံကြည်စိတ်ချရသော “OPERATIONAL” အခြေအနေအား မပေးနိုင်ပါ။

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

NONE = “NONE” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” လည်ပတ်မှု = “လုပ်ငန်းလည်ပတ်မှု”

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

31

8 Classes/functions များကို ကိုးကားခြင်း။

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 const std::string const std::string const std::string const std:

BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS4 =BUSBBUS5) (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::toBB_string (PCAN_NUMBER_USBUS9) (PCAN_USBBUS10) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS13) BUS_NUMBER_13 =std:14_USBBUS14 =stringPC15_USBBUS15 std::to_string (PCAN_USBBUS16) BUS_NUMBER_16 = std::to_string (PCAN_USBBUSXNUMX)

8.15 DeviceHandle
ဤအတန်းသည် ဘတ်စ်ကားပေါ်တွင် စက်ပစ္စည်းတစ်ခုကို ထိန်းချုပ်ရန်အတွက် လက်ကိုင်တစ်ခုကို ကိုယ်စားပြုပြီး အောက်ဖော်ပြပါ အများသူငှာ အဖွဲ့ဝင်လုပ်ဆောင်ချက်များပါရှိသည်။

DeviceHandle () DeviceHandle (uint32_t လက်ကိုင်)

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

32

8 Classes/functions များကို ကိုးကားခြင်း။

equals () သူ့ကိုယ်သူ ပေးထားသည့် စက်လက်ကိုင်တစ်ခုနှင့် နှိုင်းယှဉ်သည်။
bool သည် ညီမျှသည် (DeviceHandle const other) const (uint32_t handle)

toString() ကိရိယာလက်ကိုင်၏ ကြိုးတန်းကိုယ်စားပြုမှုကို ပြန်ပေးသည်။
std::string toString() const

get() ကိရိယာလက်ကိုင်ကို ပြန်ပေးသည်။
uint32_t get() const

8.16 စက်ပစ္စည်း ID
ဘတ်စ်ကားပေါ်တွင် စက်ပစ္စည်းများကို ခွဲခြားခွဲခြားသိမြင်နိုင်ရန် ဤအတန်းအစား (ဖန်တီးမှုမှ မပြောင်းလဲနိုင်သော) ကို အသုံးပြုပါ-

ဟာ့ဒ်ဝဲ အဒက်တာ အမှတ်အသား

စက်ပစ္စည်း အမှတ်အသား

ဖော်ပြချက်

စက်ပစ္စည်း ID/ ဖော်ပြချက်တန်ဖိုးများ၏ အဓိပ္ပာယ်သည် ဘတ်စ်ကားပေါ်တွင် မူတည်သည်။ ဟောင်းအတွက်ampထို့ကြောင့်၊ CAN ဘတ်စ်ကားသည် ကိန်းပြည့် ID ကို အသုံးပြုနိုင်သည်။

DeviceId () [1/3] စက်ပစ္စည်း ID အရာဝတ္တုအသစ်တစ်ခုကို တည်ဆောက်သည်။
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_၊ လက်မှတ်မထိုးထားသည့် int deviceId_၊ std::string const & description_)

ကန့်သတ်ချက်များ busHardwareId_ deviceId_ ဖော်ပြချက်_

ဘတ်စ်ကား၏အမှတ်အသား။ အညွှန်းတစ်ခု; ဘတ်စ် (=CANopen node ID စသည်ဖြင့်)။ ဖော်ပြချက် (အလွတ်ဖြစ်နိုင်သည်); ဘတ်စ်ကား။

DeviceId () [2/3] တိုးချဲ့ ID ရွေးစရာများဖြင့် စက်ပစ္စည်း ID အသစ်တစ်ခုကို တည်ဆောက်သည်။
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId၊ လက်မှတ်မထိုးထားသော int deviceId_၊ std::string const & description_ std::vector const & extraId_၊ std::string const & extraStringId_)

ကန့်သတ်ချက်များ busHardwareId_ deviceId_ ဖော်ပြချက်_ extraId_ extraStringId_

ဘတ်စ်ကား၏အမှတ်အသား။ အညွှန်းတစ်ခု; ဘတ်စ် (=CANopen node ID စသည်ဖြင့်)။ ဖော်ပြချက် (အလွတ်ဖြစ်နိုင်သည်); ဘတ်စ်ကား။ နောက်ထပ် ID တစ်ခု (ဗလာဖြစ်နိုင်သည်); အဓိပ္ပာယ်က ဘတ်စ်ကားပေါ်မှာ မူတည်တယ်။ နောက်ထပ် string ID (ဗလာဖြစ်နိုင်သည်); အဓိပ္ပာယ်က ဘတ်စ်ကားပေါ်မှာ မူတည်တယ်။

DeviceId () [3/3] စက်ပစ္စည်း ID အရာဝတ္ထုတစ်ခု၏ မိတ္တူကို တည်ဆောက်သည်။
nlc::DeviceId::DeviceId (DeviceId const &)

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

33

8 Classes/functions များကို ကိုးကားခြင်း။

ကန့်သတ်ချက်များ deviceId_

မှကူးယူရန် စက်ပစ္စည်း ID။

equals () အသစ်သည် ရှိပြီးသား အရာဝတ္ထုများနှင့် နှိုင်းယှဉ်သည်။
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 ကို လက်မှတ်မထိုးပါ။

လက်မှတ်မထိုးထားသော int ကို ပြန်ပေးသည်။

toString() အရာဝတ္တုအား string အဖြစ် ပြန်ပေးသည်။
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 Classes/functions များကို ကိုးကားခြင်း။

စာကြောင်းပြန်ပေးသည်။

နောက်ထပ် string ID (ဗလာဖြစ်နိုင်သည်); အဓိပ္ပာယ်က ဘတ်စ်ကားပေါ်မှာ မူတည်တယ်။

8.17 LogLevelConverter

ဤအတန်းသည် သင့်မှတ်တမ်းအဆင့်ကို စာကြောင်းတစ်ခုအဖြစ် ပြန်ပေးသည်။ static std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

ဤအတန်းသည် သင်၏ စာကြည့်တိုက်အလိုက် မှတ်တမ်း modulesetLoggingLevel () ကို စာကြောင်းတစ်ခုအဖြစ် ပြန်ပေးသည်။

static std::string

toString (nlc::LogModule logModule)

static std::string toString (nlc::LogModule logModule)

8.19 ObjectDictionary
ဤအတန်းသည် ထိန်းချုပ်ကိရိယာတစ်ခု၏ အရာဝတ္ထုအဘိဓာန်ကို ကိုယ်စားပြုပြီး အောက်ပါအများပြည်သူအသင်းဝင်လုပ်ဆောင်ချက်များပါရှိသည်- getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const Returns ResultDeviceHandle

getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) ရလဒ်ObjectSubEntry ကို ပြန်ပေးသည်

getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t အညွှန်း)

ResultObjectEntry ကို ပြန်ပေးသည်။

အရာဝတ္ထုတစ်ခု၏ ဂုဏ်သတ္တိများကို အသိပေးသည်။

getXmlFileအမည် () virtual ResultString getXmlFileအမည် () const

ResultString ကို ပြန်ပေးသည်။

XML ကို ပြန်ပေးသည်။ file string အဖြစ် အမည်ပေးသည်။

readNumber () virtual ResultInt readNumber (OdIndex const odIndex) ရလဒ်Int ကို ပြန်ပေးသည်
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const အညွှန်း)

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

35

8 Classes/functions များကို ကိုးကားခြင်း။
ResultArrayInt readString() ကို ပြန်ပေးသည်
virtual ResultString readString (OdIndex const odIndex) Returns ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) Returns ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex၊ const ရလဒ်) virtual writeBytes (ရလဒ်) writeBytes (OdIndex const OdIndex၊ std::vector
const & data) ResultVoid ဆက်စပ်လင့်ခ်များကို OdIndex ပြန်ပေးသည်။
8.20 ObjectEntry
ဤအတန်းသည် အရာဝတ္ထုအဘိဓာန်၏ အရာဝတ္တုတစ်ခု ဝင်ရောက်မှုကို ကိုယ်စားပြုသည်၊ အောက်ပါ ပုံသဏ္ဍာန်ဖြင့် ကာကွယ်ထားသော အရည်အချင်းနှင့် အများသူငှာ အဖွဲ့ဝင်လုပ်ဆောင်ချက်များ ပါရှိသည်။
static nlc::ObjectSubEntry invalidObject
getName() သည် အရာဝတ္ထု၏အမည်ကို string တစ်ခုအနေဖြင့်ဖတ်သည်။
virtual std::string getName() const
getPrivate() အရာဝတ္ထုသည် သီးသန့်ရှိမရှိ စစ်ဆေးသည်။
virtual bool getPrivate() const
getIndex() object index ၏ လိပ်စာကို ဖတ်သည်။
virtual uint16_t getIndex() const

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

36

8 Classes/functions များကို ကိုးကားခြင်း။

getDataType() အရာဝတ္ထု၏ ဒေတာအမျိုးအစားကို ဖတ်သည်။
virtual nlc::ObjectEntryDataType getDataType() const

getObjectCode () အရာဝတ္ထုကုဒ်ကိုဖတ်သည်-

Null Deftype Defstruct Var Array မှတ်တမ်း

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

virtual nlc::ObjectCode getObjectCode() const

getObjectSaveable () အရာဝတ္တုအား သိမ်းဆည်း၍မရ၊ ၎င်း၏ အမျိုးအစားကို စစ်ဆေးသည် (အသေးစိတ်အချက်အလက်များအတွက် ထုတ်ကုန်လက်စွဲကို ကြည့်ပါ- APPLICATION၊ ဆက်သွယ်ရေး၊ DRIVE၊ MISC_CONFIG၊ MODBUS_RTU၊ NO၊ TUNING၊ CUSTOMER၊ ETHERNET၊ CANOPEN၊ VERIFY1020၊ UNKNOWN_SAVE
virtual nlc::ObjectSaveable getObjectSaveable() const

getMaxSubIndex () ဤအရာဝတ္ထုမှပံ့ပိုးပေးသော subindices အရေအတွက်ကိုဖတ်သည်။
virtual uint8_t getMaxSubIndex() const

getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
ObjectSubEntry ကိုလည်းကြည့်ပါ။
8.21 ObjectSubEntry
ဤအတန်းသည် အရာဝတ္ထုအဘိဓာန်၏ အရာဝတ္တုခွဲခွဲထည့်သွင်းမှု (အညွှန်းခွဲ) ကိုကိုယ်စားပြုပြီး အောက်ပါအများပြည်သူအသင်းဝင်လုပ်ဆောင်ချက်များပါရှိသည်။
getName() သည် အရာဝတ္ထု၏အမည်ကို string တစ်ခုအနေဖြင့်ဖတ်သည်။
virtual std::string getName() const

getSubIndex() အညွှန်းခွဲ၏လိပ်စာကိုဖတ်သည်။
virtual uint8_t getSubIndex() const

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

37

8 Classes/functions များကို ကိုးကားခြင်း။

getDataType() အရာဝတ္ထု၏ ဒေတာအမျိုးအစားကို ဖတ်သည်။
virtual nlc::ObjectEntryDataType getDataType() const

getSdoAccess () အညွှန်းခွဲကို SDO မှတစ်ဆင့် ဝင်ရောက်နိုင်၊ မရှိ စစ်ဆေးသည်-

ဖတ်ရန်သာ

1

ရေးရန်သာ

2

ReadWrite

3

NoAccess

0

virtual nlc::ObjectSdoAccessAttribute getSdoAccess() const

getPdoAccess () သည် PDO မှတစ်ဆင့် ညွှန်းကိန်းခွဲများကို အသုံးပြု၍ရနိုင်/မြေပုံထုတ်ခြင်း ရှိ၊ မရှိ စစ်ဆေးသည်-

Tx

1

Rx

2

TxRx

3

မရှိ

0

virtual nlc::ObjectPdoAccessAttribute getPdoAccess() const

getBitLength () အညွှန်းခွဲအရှည်ကို စစ်ဆေးသည်။
virtual uint32_t getBitLength() const

getDefaultValueAsNumeric () ကိန်းဂဏာန်းဒေတာအမျိုးအစားများအတွက် အညွှန်းခွဲ၏ မူရင်းတန်ဖိုးကို ဖတ်သည်။
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () string data အမျိုးအစားများအတွက် အညွှန်းခွဲ၏ မူရင်းတန်ဖိုးကို ဖတ်သည်။
virtual ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() အညွှန်းခွဲ၏ မူရင်းတန်ဖိုးများကို ဖတ်သည်။
virtual std::မြေပုံ getDefaultValues() const

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

38

8 Classes/functions များကို ကိုးကားခြင်း။

readNumber () အညွှန်းခွဲ၏ ကိန်းဂဏာန်းအမှန်တကယ်တန်ဖိုးကို ဖတ်သည်။
virtual ResultInt readNumber() const

readString() အညွှန်းခွဲ၏ string အမှန်တကယ်တန်ဖိုးကို ဖတ်သည်။
virtual ResultString readString() const

readBytes () bytes ဖြင့် subindex ၏အမှန်တကယ်တန်ဖိုးကိုဖတ်သည်။
virtual ResultArrayByte readBytes() const

writeNumber () ညွှန်းကိန်းခွဲတွင် ဂဏန်းတန်ဖိုးတစ်ခုရေးပါ။
virtual ResultVoid writeNumber (const int64_t တန်ဖိုး) const

writeBytes () သည် bytes ဖြင့် subindex တွင်တန်ဖိုးတစ်ခုရေးသည်။
virtual ResultVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Object directory indices/sub-indices များကို ချုပ်ပြီး ရှာဖွေရန် ဤအတန်းအစား (ဖန်တီးမှုမှ မပြောင်းလဲနိုင်သော) ကိုသုံးပါ။ စက်ပစ္စည်းတစ်ခု၏ 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 Classes/functions များကို ကိုးကားခြင်း။

uint8_t ကို ပြန်ပေးသည်။

toString() သည် အညွှန်းနှင့် အညွှန်းခွဲကို စာကြောင်းတစ်ခုအဖြစ် ပြန်ပေးသည်။ မူရင်း 0xIIII:0xSS သည် အောက်ပါအတိုင်း ဖတ်သည်။

I = အညွှန်းကိန်း 0x0000 မှ 0xFFFF

S = 0x00 မှ 0xFF အထိ အညွှန်းခွဲ

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

0xIII:0xSS ကို ပြန်ပေးသည်။

ပုံသေ စာကြောင်း ကိုယ်စားပြုမှု

8.23 OdLibrary
XML မှ ObjectDictionary class ၏ဥပမာများကိုဖန်တီးရန် ဤ programming interface ကိုသုံးပါ။ assignObjectDictionary အားဖြင့်၊ သင်သည် ထူးခြားစွာဖန်တီးထားသော အမှတ်အသားတစ်ခုကြောင့် ဖြစ်ရပ်တစ်ခုစီကို သီးခြားစက်ပစ္စည်းတစ်ခုနှင့် ချိတ်နိုင်သည်။ ဖန်တီးထားသော ObjectDictionary instance များကို အညွှန်းဖြင့်ဝင်ရောက်ကြည့်ရှုရန် OdLibrary object တွင် သိမ်းဆည်းထားသည်။ ODLibrary class သည် ObjectDictionary items များမှ load လုပ်သည်။ file သို့မဟုတ် array၊ ၎င်းတို့ကို သိမ်းဆည်းထားပြီး အောက်ပါ အများသူငှာ အဖွဲ့ဝင်လုပ်ဆောင်ချက်များ ပါရှိသည်။

getObjectDictionaryCount() virtual uint32_t getObjectDictionaryCount() const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

ResultObjectDictionary ကို ပြန်ပေးသည်။

addObjectDictionaryFromFile ()
virtual ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileမဂ်)

ResultObjectDictionary ကို ပြန်ပေးသည်။

addObjectDictionary ()
virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData၊ const std::string &xmlFileလမ်းကြောင်း = std::string ())

ResultObjectDictionary ကို ပြန်ပေးသည်။
8.24 OdTypesHelper
အောက်ပါအများပြည်သူအသင်းဝင်လုပ်ဆောင်ချက်များအပြင်၊ ဤအတန်းတွင် စိတ်ကြိုက်ဒေတာအမျိုးအစားများပါရှိသည်။ မှတ်ချက်- သင်၏စိတ်ကြိုက်ဒေတာအမျိုးအစားများကိုစစ်ဆေးရန် od_types.hpp ရှိ enum class ObjectEntryDataType ကိုရှာပါ။

uintToObjectCode () လက်မှတ်မထိုးထားသော ကိန်းပြည့်များကို အရာဝတ္ထုကုဒ်အဖြစ် ပြောင်းပေးသည်-

Null Deftype

0x00 0x05

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

40

8 Classes/functions များကို ကိုးကားခြင်း။

Var Array Record ကို Defstruct လုပ်ပါ။

0x06 0x07 0x08 0x09

static ObjectCode uintToObjectCode (လက်မှတ်မထိုးထားသော int objectCode)

isNumericDataType () သည် ဒေတာအမျိုးအစားသည် ကိန်းဂဏာန်းဟုတ်မဟုတ် အကြောင်းကြားသည်။
static bool သည်NumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () အရာဝတ္ထုတစ်ခုသည် အဓိပ္ပါယ်ဖွင့်ဆိုချက်အညွှန်း သို့မဟုတ် မဟုတ်ပါက အသိပေးသည်။
static bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex() အရာဝတ္ထုတစ်ခုသည် အဓိပ္ပါယ်ဖွင့်ဆိုချက် အမျိုးအစားအညွှန်း ဟုတ်မဟုတ်ကို အသိပေးသည်။
static bool သည်DeftypeIndex (uint16_t typeNum)

isComplexDataType () သည် ဒေတာအမျိုးအစားသည် ရှုပ်ထွေးမှုရှိမရှိကို အသိပေးသည်။
static bool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () လက်မှတ်မထိုးထားသော ကိန်းပြည့်များကို OD ဒေတာအမျိုးအစားသို့ ပြောင်းပေးသည်။
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString() OD data type ကို string အဖြစ်ပြောင်းသည်။
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () ဖြစ်နိုင်ပါက string ကို OD ဒေတာအမျိုးအစားသို့ ပြောင်းပေးသည်။ မဟုတ်ပါက UNKNOWN_DATATYPE ကို ပြန်ပေးသည်။
static ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

41

8 Classes/functions များကို ကိုးကားခြင်း။

objectEntryDataTypeBitLength () သည် အရာဝတ္ထုတစ်ခု၏ ထည့်သွင်းမှုဒေတာအမျိုးအစား၏ ဘစ်အရှည်ပေါ်တွင် အသိပေးသည်။
static 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_IMAT_IMAT_OPT_OPT_OPT_OPT_OPT_NAME = "REATELEST CONESTEROOT_TIOUT_OPT_OPT_OPT_OPT_OPT_OPT_OPT_OPT_OPT_OPT_OOT_TOOT_TOOPT_OOPT_OOPT_OOPT_OOPT_OOT_TOOT =" REATESTER REATESTER TIMED "= 200

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)။
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () စက်ပစ္စည်းစကင်န်အချိန်ကုန်ဆုံးမှုကို သတ်မှတ်သည် (မူလ = 2000 ms)။
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () စနစ်ထည့်သွင်းခြင်း၊ ပြန်လည်သတ်မှတ်ခြင်းနှင့် မျက်တောင်ခတ်ခြင်းဆိုင်ရာ လုပ်ဆောင်ချက်များအတွက် စက်၏တုံ့ပြန်မှုအချိန်ကုန်ဆုံးမှုတွင် အသိပေးသည် (မူလ = 1000 ms)။
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () စနစ်ထည့်သွင်းခြင်း၊ ပြန်လည်သတ်မှတ်ခြင်းနှင့် မျက်တောင်ခတ်ခြင်းဆိုင်ရာ လုပ်ဆောင်ချက်များအတွက် စက်၏တုံ့ပြန်မှုအချိန်ကုန်ဆုံးမှုတွင် အသိပေးသည် (မူလ = 1000 ms)။
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

42

8 Classes/functions များကို ကိုးကားခြင်း။

isServiceAvailable ()
Profinet DCP ဝန်ဆောင်မှုရရှိနိုင်မှုကို စစ်ဆေးရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
ကွန်ရက်အဒက်တာ တရားဝင်မှု/ရရှိနိုင်မှု Windows- WinPcap/Npcap ရရှိနိုင်မှု Linux- CAP_NET_ADMIN / CAP_NET_RAW စွမ်းရည်များ
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

ကန့်သတ်ချက်များ BusHardwareId သည် မှန်ပါသည်။
အတုအယောင်

စစ်ဆေးရန် Profinet DCP ဝန်ဆောင်မှု၏ ဟာ့ဒ်ဝဲ ID။ ဝန်ဆောင်မှု ရရှိနိုင်ပါပြီ။ ဝန်ဆောင်မှု မရနိုင်ပါ။

scanProfinetDevices () Profinet ကိရိယာများ ရှိနေခြင်းအတွက် ဟာ့ဒ်ဝဲဘတ်စ်ကို စကင်န်ဖတ်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
virtual ResultProfinetDevices scanProfinetDevices (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 LED မှိတ်တုတ်မှိတ်တုတ်စတင်ရန် Profinet စက်ပစ္စည်းအား အမိန့်ပေးသည်။
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 Classes/functions များကို ကိုးကားခြင်း။

ResultVoid ကို ပြန်ပေးပါတယ်။

8.27 ProfinetDevice တည်ဆောက်ပုံ

Profinet စက်ပစ္စည်းဒေတာတွင် အောက်ပါ အများသူငှာ ရည်ညွှန်းချက်များ ရှိသည်-

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

deviceName deviceVendor macAddress ipAddress netMask defaultGateway

MAC လိပ်စာကို macAddress = {xx, xx, xx, xx, xx, xx} ဖော်မတ်အဖြစ် ခင်းကျင်းပြသထားသည်။ IP လိပ်စာ၊ ကွန်ရက်မျက်နှာဖုံးနှင့် ဂိတ်ဝေးအားလုံးကို ကြီးမားသော endian hex နံပါတ်များအဖြစ် အဓိပ္ပာယ်ဖွင့်ဆိုထားသော်လည်း၊

IP လိပ်စာ: 192.168.0.2 ကွန်ရက်မျက်နှာဖုံး: 255.255.0.0 ဂိတ်ဝေး: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 ရလဒ်အတန်းများ

လုပ်ဆောင်ချက်ခေါ်ဆိုမှုတစ်ခု အောင်မြင်မှု ရှိ၊ မရှိ စစ်ဆေးရန်နှင့် ပျက်ကွက်ရသည့် အကြောင်းရင်းများကို ရှာဖွေရန် ဤအတန်းများ၏ "ချန်လှပ်ထားနိုင်သော" တန်ဘိုးများကို အသုံးပြုပါ။ အောင်မြင်သောအခါတွင် hasError() function သည် false ကို ပြန်ပေးသည်။ getResult () အားဖြင့် သင်သည် အမျိုးအစားအလိုက် ရလဒ်တန်ဖိုး (ResultInt စသည်ဖြင့်) ကို ဖတ်နိုင်သည်။ ဖုန်းခေါ်ဆိုမှုအဆင်မပြေပါက getError() ဖြင့် အကြောင်းပြချက်ကို သင်ဖတ်ပါ။

ကာကွယ်ထားသော ဂုဏ်တော်များ

string NlcErrorCode uint32_t

errorString errorCode exErrorCode

ထို့အပြင်၊ ဤအတန်းတွင် အောက်ပါ အများသူငှာ အဖွဲ့ဝင်လုပ်ဆောင်ချက်များ ပါရှိသည်။

hasError () function call ၏အောင်မြင်မှုကိုဖတ်သည်။
bool nlc::Result::hasError() const

ပြန်လာသည်

true false

ခေါ်ဆိုမှု မအောင်မြင်ပါ။ တန်ဖိုးကိုဖတ်ရန် getError () ကိုသုံးပါ။ အောင်မြင်သောခေါ်ဆိုမှု။ တန်ဖိုးကိုဖတ်ရန် getResult() ကိုသုံးပါ။

getError () လုပ်ဆောင်ချက်ခေါ်ဆိုမှု ပျက်ကွက်ပါက အကြောင်းရင်းကို ဖတ်ပါ။
const std::string nlc::Result::getError () const

const string ကို ပြန်ပေးသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

44

8 Classes/functions များကို ကိုးကားခြင်း။
ရလဒ် () အောက်ပါလုပ်ဆောင်ချက်များသည် တိကျသောရလဒ်များကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
ရလဒ် (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 ResultVoid
လုပ်ဆောင်ချက်ပျက်ပြယ်သွားပါက 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 ResultInt
လုပ်ဆောင်ချက်သည် ကိန်းပြည့်ကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှု အောင်မြင်ပါက ကိန်းပြည့်ရလဒ်ကို ပြန်ပေးသည်။
int64_t getResult() const
int64_t ကို ပြန်ပေးသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

45

8 Classes/functions များကို ကိုးကားခြင်း။
ResultInt () အောက်ပါလုပ်ဆောင်ချက်များသည် ကိန်းပြည့်ရလဒ်အတိအကျကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
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
Function သည် string တစ်ခုပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှုအောင်မြင်ပါက string ရလဒ်ကိုဖတ်ပါ။
const std::string nlc::ResultString::getResult() const
const string ကို ပြန်ပေးသည်။
ResultString () အောက်ပါလုပ်ဆောင်ချက်များသည် string ရလဒ်အတိအကျကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
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
Function သည် byte array ကိုပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () function call တစ်ခုအောင်မြင်ပါက byte vector ကိုဖတ်သည်။
const std::vector nlc::ResultArrayByte::getResult() const
const vector ကို ပြန်ပေးသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

46

8 Classes/functions များကို ကိုးကားခြင်း။
ResultArrayByte () အောက်ပါလုပ်ဆောင်ချက်များသည် အတိအကျ byte array ရလဒ်ကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
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 (ရလဒ် const & ရလဒ်)
8.28.5 ResultArrayInt
Function သည် integer array ကို return ပြန်ပါက NanoLib သည် သင့်အား ဤ class ၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှုအောင်မြင်ပါက ကိန်းပြည့် vector ကိုဖတ်သည်။
const std::vector nlc::ResultArrayInt::getResult() const
const vector ကို ပြန်ပေးသည်။
ResultArrayInt () အောက်ပါလုပ်ဆောင်ချက်များသည် ကိန်းပြည့် array ရလဒ်အတိအကျကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
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 ရလဒ်BusHwIds
လုပ်ဆောင်ချက်သည် ဘတ်စ်ကား ဟာ့ဒ်ဝဲ ID အခင်းအကျင်းကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှုအောင်မြင်ပါက bus-hardware-ID vector ကိုဖတ်ပါ။
const std::vector nlc::ResultBusHwIds::getResult() const
ဘောင်များ const vector

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

47

8 Classes/functions များကို ကိုးကားခြင်း။
ResultBusHwIds () အောက်ပါလုပ်ဆောင်ချက်များသည် bus-hardware-ID-array ရလဒ်အတိအကျကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
ရလဒ်BusHwIds (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 ရလဒ်DeviceId
လုပ်ဆောင်ချက်သည် စက် ID ကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှုတစ်ခုအောင်မြင်ပါက device ID vector ကိုဖတ်ပါ။
DeviceId nlc::ResultDeviceId::getResult() const
const vector ကို ပြန်ပေးသည်။
ResultDeviceId () အောက်ပါလုပ်ဆောင်ချက်များသည် စက်ပစ္စည်း ID ရလဒ်အတိအကျကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode၊ std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode၊ const uint32_t exErrCode၊ std::string errorString_)
ResultDeviceId (ရလဒ်နှင့်ရလဒ်)
8.28.8 ရလဒ်DeviceIds
လုပ်ဆောင်ချက်သည် စက်ပစ္စည်း ID အခင်းအကျင်းကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှု အောင်မြင်ပါက စက် ID ကွက်လပ်ကို ပြန်ပေးသည်။
DeviceId nlc::ResultDeviceIds::getResult() const
const vector ကို ပြန်ပေးသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

48

8 Classes/functions များကို ကိုးကားခြင်း။
ResultDeviceIds () အောက်ပါလုပ်ဆောင်ချက်များသည် device-ID-array ရလဒ်အတိအကျကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
ResultDeviceIds (std::vector const & result_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode၊ std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode၊ const uint32_t exErrCode၊ std::string const & errorString_)
ResultDeviceIds (ရလဒ်နှင့်ရလဒ်)
8.28.9 ရလဒ်DeviceHandle
လုပ်ဆောင်ချက်သည် စက်လက်ကိုင်၏တန်ဖိုးကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
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 (ရလဒ် const & ရလဒ်)
8.28.10 ResultObjectDictionary
လုပ်ဆောင်ချက်သည် အရာဝတ္ထုအဘိဓာန်၏ အကြောင်းအရာကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှုတစ်ခုအောင်မြင်ပါက device ID vector ကိုဖတ်ပါ။
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

49

8 Classes/functions များကို ကိုးကားခြင်း။

ပြန်လာသည်

const vector ပါ။

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 ရလဒ်ConnectionState
လုပ်ဆောင်ချက်သည် စက်ပစ္စည်းချိတ်ဆက်မှုအခြေအနေ အချက်အလက်ကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့ပါသည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှု အောင်မြင်ပါက စက်ပစ္စည်းကိုင်တွယ်မှုကို ဖတ်သည်။
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader ကို ပြန်ပေးသည်။

ResultConnectionState () အောက်ပါလုပ်ဆောင်ချက်များသည် တိကျသောချိတ်ဆက်မှုအခြေအနေရလဒ်ကို သတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်-
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
Function သည် object entry ကို return ပြန်ပါက NanoLib သည် သင့်အား ဤ class ၏ ဥပမာတစ်ခု ပေးပို့ပါသည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

50

8 Classes/functions များကို ကိုးကားခြင်း။
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 ရလဒ်ObjectSubEntry
Function သည် Object sub-entry ကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤ class ၏ ဥပမာတစ်ခု ပေးပို့ပါသည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
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 ရလဒ်ProfinetDevices
လုပ်ဆောင်ချက်သည် Profinet စက်ပစ္စည်းကို ပြန်ပေးမည်ဆိုပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

51

8 Classes/functions များကို ကိုးကားခြင်း။

getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှုအောင်မြင်ပါက Profinet စက်ပစ္စည်း vector ကိုဖတ်ပါ။
const std::vector & getResult() const

ResultProfinetDevices () အောက်ပါလုပ်ဆောင်ချက်များသည် Profinet ကိရိယာများကို အတိအကျသတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေပါသည်။
ResultProfinetDevices (const std::vector & ProfinetDevices)
ResultProfinetDevices (const Result & result)
ResultProfinetDevices (const std::string &errorText၊ NlcErrorCode errorCode = NlcErrorCode::GeneralError၊ uint32_t extendedErrorCode = 0)
8.28.15 ရလဒ်များampleDataArray
Function အတိုင်းပြန်လာပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ample data array။ class သည် public functions/protected attributes များကို result class မှ အမွေဆက်ခံပြီး အောက်ပါ public member functions များပါရှိသည်-
getResult () လုပ်ဆောင်ချက်ခေါ်ဆိုမှု အောင်မြင်ပါက ဒေတာခင်းကျင်းမှုကို ဖတ်သည်။
const std::vector <SampleData> & getResult() const

ရလဒ်များampleDataArray () အောက်ပါလုပ်ဆောင်ချက်များသည် Profinet ကိရိယာများကို အတိအကျသတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်။
ရလဒ်များampleDataArray (const std::vector <SampleData> & dataArray)

ရလဒ်များampleDataArray (const std::string &errorDesc၊ const NlcErrorCode errorCode = NlcErrorCode::GeneralError၊ const uint32_t extendedErrorCode = 0)

ရလဒ်များampleDataArray (const ResultSampleDataArray နှင့် အခြား)

ရလဒ်များampleDataArray (const ရလဒ်နှင့်ရလဒ်)

8.28.16 ရလဒ်များamplerState
Function အတိုင်းပြန်လာပါက NanoLib သည် သင့်အား ဤအတန်း၏ ဥပမာတစ်ခု ပေးပို့သည်။ampler state.ဤအတန်းသည် ရလဒ်အတန်းမှ အများသူငှာ လုပ်ဆောင်ချက်များ / ကာကွယ်ထားသော အရည်အချင်းများကို အမွေဆက်ခံပြီး အောက်ပါ အများသူငှာ အဖွဲ့ဝင်လုပ်ဆောင်ချက်များ ပါရှိသည်။

getResult() s ကိုဖတ်သည်။ampလုပ်ဆောင်ချက်ခေါ်ဆိုမှုအောင်မြင်ပါက ler state vector
SamplerState getResult() const

S ပြန်ပို့သည်amplerState>

ပြုပြင်မထားသော / ပြင်ဆင်ထားသည် / အဆင်သင့် / လုပ်ဆောင်နေသည် / အပြီးသတ် / မအောင်မြင် / ပယ်ဖျက်ထားသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

52

8 Classes/functions များကို ကိုးကားခြင်း။

ရလဒ်များamplerState() သည် အောက်ပါလုပ်ဆောင်ချက်များကို အတိအကျသတ်မှတ်ရာတွင် အထောက်အကူဖြစ်စေသည်။ampler ပြည်နယ်။
ရလဒ်များamplerState (const SamplerState ပြည်နယ်)

ရလဒ်များamplerState (const std::string & errorDesc၊ const NlcErrorCode errorCode = NlcErrorCode::အထွေထွေအမှား၊ const uint32_t
extendedErrorCode = 0)

ရလဒ်များamplerState (const ရလဒ်SamplerState နှင့် အခြား)

ရလဒ်များamplerState (const ရလဒ်နှင့်ရလဒ်)

8.29 NlcErrorCode

တစ်ခုခု မှားသွားပါက၊ ရလဒ်အတန်းများသည် ဤစာရင်းကောက်မှုတွင် ဖော်ပြထားသော အမှားကုဒ်များထဲမှ တစ်ခုကို အစီရင်ခံပါသည်။

အမှားကုဒ် အောင်မြင်ခြင်း GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNot Supported InvalidOperation
InvalidArguments AccessDenied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError

C: Category D: ဖော်ပြချက် R: Reason C: မရှိပါ။ D: အမှားအယွင်းမရှိပါ။ R- လုပ်ဆောင်ချက် အောင်မြင်စွာပြီးမြောက်ခဲ့သည်။
C: သတ်မှတ်မထားသော။ D- သတ်မှတ်မထားသော အမှား။ R- အခြားအမျိုးအစားနှင့် မကိုက်ညီသော ပျက်ကွက်မှု။
C: ဘတ်စ်ကား။ D- ဟာ့ဒ်ဝဲဘတ်စ် မရနိုင်ပါ။ R- ဘတ်စ်ကားမရှိ၊ ဖြတ်တောက်ခြင်း သို့မဟုတ် ချွတ်ယွင်းချက်။
C: ဆက်သွယ်ရေး။ D: ဆက်သွယ်ရေး စိတ်မချရဘူး။ R- မျှော်လင့်မထားသောဒေတာ၊ မှားယွင်းသော CRC၊ frame သို့မဟုတ် parity အမှားများ စသဖြင့်။
C: ပရိုတိုကော။ D- ပရိုတိုကော အမှား။ R- ပံ့ပိုးမထားသော ပရိုတိုကော ရွေးချယ်မှုပြီးနောက် တုံ့ပြန်မှု၊ ပံ့ပိုးမထားသော ပရိုတိုကော ကိရိယာ အစီရင်ခံစာ၊ ပရိုတိုကောတွင် အမှားအယွင်းများ (ဆိုပါစို့၊ SDO အပိုင်း စင့်ခ်ဘစ်) စသည် segment sync bit) စသည်တို့။ R- ပံ့ပိုးမထားသော ပရိုတိုကော (ရွေးချယ်စရာများ) သို့မဟုတ် ပရိုတိုကောတွင် အမှားအယွင်းများ (ပြောပါ၊ SDO အပိုင်း စင့်ခ်ဘစ်) စသည်တို့။
C: Object အဘိဓာန်။ D: OD လိပ်စာမရှိပါ။ R- အရာဝတ္ထုအဘိဓာန်တွင် ထိုသို့သောလိပ်စာမရှိပါ။
C: Object အဘိဓာန်။ D- OD လိပ်စာသို့ ဝင်ရောက်ခွင့် မမှန်ကန်ပါ။ R- ဖတ်ရန်သာ ရေးရန် ကြိုးစားခြင်း သို့မဟုတ် ရေးရန်သာ လိပ်စာတစ်ခုမှ ဖတ်ရန် ကြိုးစားခြင်း။
C: Object အဘိဓာန်။ D- မတိုက်ဆိုင်ဟု ရိုက်ထည့်ပါ။ R- တန်ဖိုးကို သတ်မှတ်ထားသော အမျိုးအစားသို့ မပြောင်းဘဲ၊ စာကြောင်းတစ်ခုအား နံပါတ်တစ်ခုအဖြစ် သတ်မှတ်ရန် ကြိုးပမ်းမှုတွင် ပြောပါ။
C: လျှောက်လွှာ။ D- လုပ်ငန်းစဉ်ကို ဖျက်သိမ်းထားသည်။ R- လျှောက်လွှာတောင်းဆိုမှုဖြင့် လုပ်ငန်းစဉ်ဖြတ်တောက်ခြင်း။ ဘတ်စ်ကား-စကင်န်ဖတ်ခြင်းမှ ပြန်ခေါ်သည့် လုပ်ဆောင်ချက်ဖြင့် အနှောင့်အယှက်ပေးသည့် လည်ပတ်မှုတွင်သာ ပြန်ပေးသည်။
C: အဖြစ်များတယ်။ D- လုပ်ငန်းစဉ်ကို ပံ့ပိုးမထားပါ။ R- ဟာ့ဒ်ဝဲဘတ်စ်/စက် ပံ့ပိုးမှု မရှိပါ။
C: အဖြစ်များတယ်။ D- လုပ်ငန်းစဉ်သည် လက်ရှိအခြေအနေတွင် မမှန်ကန်ပါ သို့မဟုတ် လက်ရှိ အကြောင်းပြချက်ဖြင့် မမှန်ကန်ပါ။ R- ချိတ်ဆက်ပြီးသား ဘတ်စ်ကား/စက်ပစ္စည်းများကို ပြန်လည်ချိတ်ဆက်ရန် ကြိုးပမ်းမှု။ ချိတ်ဆက်ပြီးသားတွေကို ဖြတ်ဖို့ ကြိုးစားမှု။ firmware မုဒ်တွင် 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 Classes/functions များကို ကိုးကားခြင်း။

8.30 NlcCallback
ပြန်လည်ခေါ်ဆိုမှုအတွက် ဤမိဘအတန်းအစားတွင် အောက်ပါအများပြည်သူအသင်းဝင်လုပ်ဆောင်ချက်ပါရှိသည်- callback ()
virtual ResultVoid ပြန်ခေါ်ခြင်း ()

ပြန်လာသည်

ရလဒ်Void

8.31 NlcDataTransferCallback
ဒေတာလွှဲပြောင်းမှုများအတွက် ဤခေါ်ဆိုမှုအတန်းအစား (Firmware အပ်ဒိတ်၊ NanoJ အပ်လုဒ်လုပ်ခြင်း စသည်) ကို အသုံးပြုပါ။ 1. Firmware အပ်လုဒ်တင်ခြင်းအတွက်- ဤတစ်ခုကို စိတ်ကြိုက်ပြန်ခေါ်သည့်နည်းလမ်းဖြင့် ဤအရာကို တိုးချဲ့ထားသည့် "co-class" ကို သတ်မှတ်ပါ။
အကောင်အထည်ဖော်ခြင်း။ 2. NanoLibAccessor.uploadFirmware () ခေါ်ဆိုမှုများတွင် “co-class's” instances ကိုသုံးပါ။ ပင်မအတန်းတွင် အောက်ပါအများပြည်သူအသင်းဝင်လုပ်ဆောင်ချက်ပါရှိသည်။

callback () virtual ResultVoid callback (nlc::DataTransferInfo အချက်အလက်၊ int32_t ဒေတာ)

ပြန်လာသည်

ရလဒ်Void

8.32 NlcScanBusCallback
ဘတ်စ်ကားစကင်န်ဖတ်ရန်အတွက် ဤခေါ်ဆိုမှုအတန်းအစားကို အသုံးပြုပါ။ 1. ဤတစ်ခုကို စိတ်ကြိုက်ပြန်ခေါ်သည့်နည်းလမ်းအကောင်အထည်ဖော်မှုဖြင့် ဤတစ်ခုကို တိုးချဲ့ထားသည့် "တွဲတန်း" ကို သတ်မှတ်ပါ။ 2. NanoLibAccessor.scanDevices () ခေါ်ဆိုမှုများတွင် “co-class's” instances ကိုသုံးပါ။ ပင်မအတန်းတွင် အောက်ပါအများပြည်သူအသင်းဝင်လုပ်ဆောင်ချက်ပါရှိသည်။

ပြန်ခေါ်ပါ ()
virtual ResultVoid ပြန်ခေါ်ခြင်း (nlc::BusScanInfo အချက်အလက်၊ std::vector const & devices များတွေ့ရှိသည်၊ int32_t ဒေတာ)

ResultVoid ကို ပြန်ပေးပါတယ်။
8.33 NlcLoggingCallback
ခေါ်ဆိုမှုများအား မှတ်တမ်းတင်ရန်အတွက် ဤခေါ်ဆိုမှုအတန်းအစားကို အသုံးပြုပါ။ 1. စိတ်ကြိုက်ပြန်လည်ခေါ်ဆိုမှုနည်းလမ်းအကောင်အထည်ဖော်မှုဖြင့် ဤအတန်းကို တိုးချဲ့သည့်အတန်းကို သတ်မှတ်ခြင်း 2. NanoLibAccessor မှ ပြန်လည်ခေါ်ဆိုမှုကို သတ်မှတ်ရန်အတွက် ၎င်း၏ဥပမာများသို့ ညွှန်ပြချက်ကို အသုံးပြုပါ။
setLoggingCallback (…)။
virtual void callback (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

8.34 SamplerInterface
s ကို configure လုပ်ရန်၊ စတင်ရန်နှင့်ရပ်တန့်ရန် ဤအတန်းကိုသုံးပါ။ampler သို့မဟုတ် s ရယူရန်ampdata နှင့် fetch as တို့ကို ဦးဆောင်ခဲ့သည်။ampler ၏အခြေအနေ သို့မဟုတ် နောက်ဆုံးအမှား။ အတန်းတွင် အောက်ပါ အများသူငှာ အဖွဲ့ဝင်လုပ်ဆောင်ချက်များ ရှိသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

54

8 Classes/functions များကို ကိုးကားခြင်း။

configure() အဖြစ် သတ်မှတ်သည်။ampler ။
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle၊ const SamplerConfiguration & samperConfiguration)

ကန့်သတ်ချက်များ [in] deviceHandle [in] samplerConfiguration
ResultVoid ကို ပြန်ပေးပါတယ်။

s ကို configure လုပ်ရန် မည်သည့် device ကို သတ်မှတ်သည်ampler for. ဖွဲ့စည်းမှုဆိုင်ရာ ရည်ညွှန်းချက်များ၏ တန်ဖိုးများကို သတ်မှတ်ပေးသည်။ ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

getData() s ကိုရယူသည်။ampဒေတာကို ဦး ဆောင်ခဲ့သည်။
virtual ရလဒ်များampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

ကန့်သတ်ချက်များ [in] deviceHandle မှ ရလဒ်များကို ပြန်ပေးသည်။ampleDataArray

ဒေတာရယူရန် မည်သည့်စက်ပစ္စည်းကို သတ်မှတ်ပါ။
၎ampled data သည် ဗလာအခင်းဖြစ်လျှင် s ဖြစ်နိုင်သည်။amplerNotify သည် စတင်ချိန်တွင် အသက်ဝင်ပါသည်။

getLastError() အဖြစ် ရယူသည်။ampler ၏နောက်ဆုံးအမှား။
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

ResultVoid ကို ပြန်ပေးပါတယ်။

ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

getState() အဖြစ် ရယူသည်။ampလာ၏ အဆင့်အတန်း။
virtual ရလဒ်များamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

ရလဒ်များကို ပြန်ပေးသည်။amplerState

၎ampler ပြည်နယ်။

start() အဖြစ် စတင်သည်။ampler ။
virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle၊ Sampler Notify* samplerNotify၊ int64_t applicationData)

ကန့်သတ်ချက်များ [in] deviceHandle [in] Sampler Notify [in] applicationData
ResultVoid ကို ပြန်ပေးပါတယ်။

s ကိုစတင်ရန်မည်သည့်စက်ပစ္စည်းကိုသတ်မှတ်ပါ။ampler for.
အစီရင်ခံရန် ရွေးချယ်နိုင်သော အချက်အလက်ကို သတ်မှတ်ပေးသည် ( nullptr ဖြစ်နိုင်သည်)။
ရွေးချယ်မှု- အပလီကေးရှင်းနှင့်ဆိုင်သောဒေတာ (အသုံးပြုသူသတ်မှတ်ထားသော 8-bit array တစ်ခု၏တန်ဖိုး / စက် ID / အညွှန်း၊ သို့မဟုတ် ရက်စွဲအချိန်၊ ပြောင်းလဲမှု၏ / function ၏ညွှန်ပြချက် စသည်ဖြင့်) ကို s သို့ ပေးပို့ပါ။ampအသိပေးပါ။
ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

55

8 Classes/functions များကို ကိုးကားခြင်း။

stop ( ) ရပ်သည်ampler ။
virtual ResultVoid nlc::SamplerInterface::stop (စက်ကိရိယာလက်ကိုင်ကိရိယာလက်ကိုင်)

ကန့်သတ်ချက်များ [in] deviceHandle သည် ResultVoid ကို ပြန်ပေးသည်။

s ကိုရပ်တန့်ရန်မည်သည့်ကိရိယာကိုသတ်မှတ်ပါ။ampler for. ပျက်ပြယ်သော လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်နေကြောင်း အတည်ပြုသည်။

8.35 SamplerConfiguration struct

ဤဖွဲ့စည်းပုံတွင် အချက်အလက် s ပါရှိသည်။ampler ၏ configuration options (static သို့မဟုတ် not)။

အများသူငှာ ဂုဏ်ရည်

std::vector ခြေရာခံလိပ်စာများ

s ဖြစ်ရန် OD လိပ်စာ 12 ခုအထိampအယ်လ်အီးဒီ။

uint32_t

ဗားရှင်း

ဖွဲ့စည်းပုံဗားရှင်း။

uint32_t

ကြာချိန် မီလီစက္ကန့်

Sampကြာချိန်သည် ms တွင် 1 မှ 65535 ဖြစ်သည်။

uint16_t

ကာလမီလီစက္ကန့်

Sampms တွင် ling period

uint16_t

နံပါတ်amples

Sampပမာဏ။

uint16_t

preTriggerNumberOfSamples

Samples pre-trigger ပမာဏ။

ဘူလ်

SoftwareImplementation ကိုအသုံးပြုခြင်း။

ဆော့ဖ်ဝဲလ် အကောင်အထည်ဖော်မှုကို အသုံးပြုပါ။

ဘူလ်

NewFWS ကို အသုံးပြုamplerImplementation A ဖြင့် စက်များအတွက် FW အကောင်အထည်ဖော်မှုကို အသုံးပြုပါ။

FW ဗားရှင်း v24xx နှင့်အထက်။

SamplerMode

မုဒ်

ပုံမှန်၊ ထပ်တလဲလဲ သို့မဟုတ် ဆက်တိုက် sampling ။

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 TC_GREATER_OR_EQUAL = 0x15 TC_LESS = 0x16 TC_LESS_OR_EQUAL = 0x17 TC_EQUAL = 0x18 TC_NOT_EQUAL = 0x19A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE၊ OV

SamplerTrigger

SamplerTrigger

အဖြစ်စတင်ရန်အစပျိုးampလေလား?

အထဲမှာလည်း အများသူငှာ ဂုဏ်ရည်
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 Sampအသိပေးပါ။
s ကိုအသက်သွင်းရန်ဤအတန်းကိုသုံးပါ။ampသင်အဖြစ်စတင်သည့်အခါ ler အသိပေးချက်များampler အတန်းတွင် အောက်ပါ အများသူငှာ အဖွဲ့ဝင် လုပ်ဆောင်ချက် ပါရှိသည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

56

8 Classes/functions များကို ကိုးကားခြင်း။

အကြောင်းကြားရန် ()
အကြောင်းကြားချက်တစ်ခု ပေးပို့သည်။
virtual void nlc::SamplerNotify::notify (const ResultVoid & lastError၊ const SamplerState samplerState၊ const std::vector <SampleData>&sampleDatas၊ int64_t applicationData)

ကန့်သတ်ချက်များ [in] lastError [in] samplerState
[in] sampleDatas [in] applicationData

s နေစဉ်နောက်ဆုံးဖြစ်ပေါ်ခဲ့သောအမှားအစီရင်ခံသည်။ampလင်း ၎ampအကြောင်းကြားချက်အချိန်ရှိ အခြေအနေ- သတ်မှတ်မထားသော / စီစဉ်သတ်မှတ်ထားသော / အဆင်သင့် / လုပ်ဆောင်နေသည် / ပြီးမြောက်သည် / မအောင်မြင်သည် / ပယ်ဖျက်ထားသည်။ ၎ampled-ဒေတာခင်းကျင်း။ အပလီကေးရှင်းအလိုက် အချက်အလက်များကို အစီရင်ခံသည်။

8.37 SampleData struct

ဤဖွဲ့စည်းပုံတွင် s ပါရှိသည်။ampဒေတာကို ဦး ဆောင်ခဲ့သည်။

uin64_t iterationNumber

0 တွင် စတင်ပြီး ထပ်တလဲလဲ မုဒ်တွင်သာ တိုးသည်။

std::vector<SampledValues> သူ့တွင် array ၏ s ပါရှိသည်။ampဦးဆောင်တန်ဖိုးများ။

8.38 SampledValue struct

ဤဖွဲ့စည်းပုံတွင် s ပါရှိသည်။ampဦးဆောင်တန်ဖိုးများ။

in64_t တန်ဖိုး uin64_t CollectTimeMsec

ခြေရာခံထားသော OD လိပ်စာ၏တန်ဖိုးပါရှိသည်။
စုဆောင်းချိန်သည် မီလီစက္ကန့်များဖြစ်ပြီး၊ s နှင့် ဆက်စပ်သည်။ample အစ

8.39 SamplerTrigger struct

ဤဖွဲ့စည်းပုံတွင် s ၏အစပျိုးဆက်တင်များပါရှိသည်။ampler ။

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 = 0x14x0 TC_EDGE TC_GREATER_OR_EQUAL = 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1
အစပျိုး၏ OdIndex (လိပ်စာ)။
အခြေအနေတန်ဖိုး သို့မဟုတ် ဘစ်နံပါတ် (ဘစ်သုညမှ စတင်သည်)။

8.40 အမှတ်စဉ်တည်ဆောက်ပုံ

သင်၏ အမှတ်စဉ် ဆက်သွယ်ရေး ရွေးချယ်စရာများနှင့် အောက်ပါ အများသူငှာ အရည်အချင်းများကို ဤနေရာတွင် ရှာပါ-

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = “စီးရီး baud နှုန်း” baudRate =SerialBaudRate တည်ဆောက်ပုံ

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

57

8 Classes/functions များကို ကိုးကားခြင်း။

const std::string const SerialParity

PARITY_OPTIONS_NAME = “အမှတ်စဉ်တန်းတူ” parity = SerialParity တည်ဆောက်ပုံ

8.41 SerialBaudRate တည်ဆောက်ပုံ

သင်၏ အမှတ်စဉ် ဆက်သွယ်မှု baud နှုန်းနှင့် အောက်ပါ အများသူငှာ ရည်ညွှန်းချက်များကို ဤနေရာတွင် ရှာပါ-

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

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

8.42 SerialParity တည်ဆောက်ပုံ

သင်၏ အမှတ်စဉ်တန်းတူ ရွေးချယ်စရာများနှင့် အောက်ပါ အများသူငှာ ဂုဏ်ရည်များကို ဤနေရာတွင် ရှာပါ-

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

NONE = “မရှိ” ODD = “ထူးဆန်း” EVEN = “တောင်” MARK = “အမှတ်အသား” SPACE = “အာကာသ”

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

58

9 လိုင်စင်များ

9 လိုင်စင်များ

NanoLib API အင်တာဖေ့စ်ခေါင်းစီးများနှင့် ဥပမာample ရင်းမြစ်ကုဒ်ကို Nanotec Electronic GmbH & Co. KG မှ Creative Commons Attribution 3.0 Unported License (CC BY) အောက်တွင် လိုင်စင်ရထားသည်။ ဒွိဖော်မတ်ဖြင့် ပေးထားသည့် စာကြည့်တိုက် အစိတ်အပိုင်းများ (core နှင့် fieldbus ဆက်သွယ်ရေး စာကြည့်တိုက်များ) ကို Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND) အောက်တွင် လိုင်စင်ရထားသည်။

Creative Commons
အောက်ပါ လူသားဖတ်နိုင်သော အနှစ်ချုပ်သည် လိုင်စင်(များ) ကိုယ်တိုင် အစားထိုးမည်မဟုတ်ပါ။ သင်သည် သက်ဆိုင်ရာ လိုင်စင်ကို creativecommons.org တွင် ရှာဖွေနိုင်ပြီး အောက်တွင် လင့်ခ်ချိတ်ထားသည်။ သင်သည် အခမဲ့ဖြစ်သည်-

CC BY 3.0
Share: ညာဘက်ကိုကြည့်ပါ။ လိုက်လျောညီထွေ- Remix၊ အသွင်ပြောင်း၊ နှင့်တည်ဆောက်မှုအပေါ်၌
မည်သည့်ရည်ရွယ်ချက်အတွက်မဆို စီးပွားရေးအရပင်။

CC BY-ND 4.0
မျှဝေပါ- အကြောင်းအရာကို မည်သည့် ကြားခံ သို့မဟုတ် ဖော်မတ်ဖြင့်မဆို ကူးယူပြီး ပြန်လည်ဖြန့်ဝေပါ။

အောက်ပါလိုင်စင်စည်းကမ်းချက်များကို သင်လိုက်နာသရွေ့ အထက်ဖော်ပြပါ လွတ်လပ်ခွင့်များကို လိုင်စင်ရှိသူမှ ရုပ်သိမ်း၍မရပါ။

CC BY 3.0

CC BY-ND 4.0

ရည်ညွှန်းချက်- သင့်လျော်သော ခရက်ဒစ်ပေးရမည်၊ ရည်ညွှန်းချက်- ဘယ်ဘက်တွင်ကြည့်ပါ။ သို့သော်- ဤလင့်ခ်ကို ပေးပါ။

လိုင်စင်သို့ လင့်ခ်တစ်ခု ပေး၍ ရှိပါက ညွှန်ပြပါ။

အခြားလိုင်စင်။

ပြောင်းလဲမှုများ ပြုလုပ်ခဲ့သည်။ မည်သည့်အတွက်မဆို သင်ပြုလုပ်နိုင်ပါသည်။

ဆင်းသက်လာခြင်းမရှိပါ- သင် ရောနှော၊ အသွင်ပြောင်း သို့မဟုတ် တည်ဆောက်ပါက

ကျိုးကြောင်းဆီလျော်သောနည်းဖြင့် အကြံပြုသော်လည်း၊

ပစ္စည်းပေါ်တွင် ဖြန့်ဝေခြင်းမပြုရပါ။

သင် သို့မဟုတ် သင့်အသုံးပြုမှုကို လိုင်စင်ရှိသူက ထောက်ခံသည်။

ပြုပြင်ထားသောပစ္စည်း။

နောက်ထပ်ကန့်သတ်ချက်များမရှိပါ- သင်သည် အပိုကန့်သတ်ချက်များကို ကျင့်သုံးမည်မဟုတ်ပါ- ဘယ်ဘက်တွင်ကြည့်ပါ။ တရားဝင်စည်းကမ်းချက်များ သို့မဟုတ် နည်းပညာပိုင်းဆိုင်ရာ တိုင်းတာမှုများ

လိုင်စင်ကို အခြားသူများအား မည်သည့်အရာမှ မလုပ်ရန် တားမြစ်ထားသည်။

ပါမစ်။

မှတ်ချက်- အများသူငှာ ဒိုမိန်းရှိ ပစ္စည်းအစိတ်အပိုင်းများ သို့မဟုတ် သက်ဆိုင်ရာ ခြွင်းချက် သို့မဟုတ် ကန့်သတ်ချက်ဖြင့် သင့်အသုံးပြုမှုကို ခွင့်ပြုသည့်နေရာတွင် လိုင်စင်ကို သင်လိုက်နာရန် မလိုအပ်ပါ။
မှတ်ချက်- အာမခံမပေးပါဘူး။ လိုင်စင်သည် သင့်ရည်ရွယ်အသုံးပြုမှုအတွက် လိုအပ်သော ခွင့်ပြုချက်အားလုံးကို သင့်အား ပေးမည်မဟုတ်ပါ။ ဟောင်းအတွက်ample၊ လူသိရှင်ကြား၊ ကိုယ်ရေးကိုယ်တာ သို့မဟုတ် ကိုယ်ကျင့်တရားဆိုင်ရာအခွင့်အရေးများကဲ့သို့သော အခြားအခွင့်အရေးများသည် သင်ပစ္စည်းကိုအသုံးပြုပုံကို ကန့်သတ်နိုင်သည်။

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

59

ပုံနှိပ်ခြင်း၊ အဆက်အသွယ်၊ ဗားရှင်းများ

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com မူပိုင်ခွင့်ကိုလက်ဝယ်ထားသည်။ အမှားအယွင်း၊ ပျက်ကွက်မှု၊ နည်းပညာဆိုင်ရာ သို့မဟုတ် အကြောင်းအရာကို အသိပေးခြင်းမရှိဘဲ ဖြစ်နိုင်သည်။ ကိုးကားထားသော ကုန်အမှတ်တံဆိပ်/ထုတ်ကုန်များသည် ၎င်းတို့၏ပိုင်ရှင်များ၏ ကုန်အမှတ်တံဆိပ်များဖြစ်ပြီး ယင်းကဲ့သို့ ဆက်ဆံခံရမည်ဖြစ်သည်။ မူရင်းဗားရှင်း။

စာရွက်စာတမ်း 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
၄ ၆ ၀၂ ၅၆ ၀ ၀
၄ ၆ ၀၂ ၅၆ ၀ ၀

+ Added > Changed # Fixed > ပေးထားသည့် ex ၏ ပြန်လည်လုပ်ဆောင်မှုamples
+ NanoLib Modbus- Modbus VCP အတွက် စက်လော့ခ်ချသည့် ယန္တရားကို ထပ်ထည့်ထားသည်။ # NanoLib Core- ပုံသေချိတ်ဆက်မှုအခြေအနေစစ်ဆေးပါ။ # NanoLib ကုဒ်- ပြုပြင်ထားသော ဘတ်စ်ကား ဟာ့ဒ်ဝဲရည်ညွှန်းချက်ကို ဖယ်ရှားခြင်း။
+ NanoLib-CANopen- Peak PCAN-USB adapter (IPEPH-002021/002022) အတွက် ပံ့ပိုးမှု။
> NanoLib Core- မှတ်တမ်းပြန်ခေါ်ခြင်း အင်တာဖေ့စ်ကို ပြောင်းထားသည် (LogLevel ကို LogModule ဖြင့် အစားထိုးသည်)။ # NanoLib Logger- core နှင့် modules များကြား ပိုင်းခြားခြင်းကို ပြုပြင်ပြီးဖြစ်သည်။ # Modbus TCP- FW4 အတွက် ပုံသေအပ်ဒိတ်။ # EtherCAT- Core5 အတွက် ပုံသေ NanoJ ပရိုဂရမ် အပ်လုဒ်လုပ်ခြင်း။ # EtherCAT- Core5 အတွက် ပုံသေအပ်ဒိတ်။
# Modbus RTU- firmware အပ်ဒိတ်လုပ်နေစဉ်အတွင်း baud နှုန်းနည်းပါးသော အချိန်ကိုက်ပြဿနာများကို ဖြေရှင်းပေးသည်။ # RESTful- ပုံသေ NanoJ ပရိုဂရမ် အပ်လုဒ်လုပ်ခြင်း။
# NanoLib Modules Sampler: s ကိုမှန်ကန်စွာဖတ်ခြင်း။ampboolean တန်ဖိုးများကို ဦးဆောင်သည်။
+ ပလက်ဖောင်းအားလုံးအတွက် Java 11 ပံ့ပိုးမှု။ + ပလက်ဖောင်းအားလုံးအတွက် Python 3.11/3.12 ပံ့ပိုးမှု။ + မှတ်တမ်းပြန်ခေါ်ခြင်း အင်တာဖေ့စ်အသစ် (ဥပမာကိုကြည့်ပါ။amples)။ + NanoLib Logger အတွက် ပြန်ခေါ်ခြင်း နစ်သွားသည် ။ > logger ကို ဗားရှင်း 1.12.0 သို့ အပ်ဒိတ်လုပ်ပါ။ > NanoLib Modules Sampler- Nanotec controller firmware v24xx အတွက် ယခု ပံ့ပိုးမှု။ > NanoLib Modules Sampler- s အတွက်အသုံးပြုသော ဖွဲ့စည်းပုံပြောင်းလဲမှုampler configuration ။ > NanoLib Modules Sampler- စဉ်ဆက်မပြတ်မုဒ်သည် အဆုံးမဲ့နှင့် အဓိပ္ပါယ်တူသည်။ trigger condition ကို တစ်ကြိမ် စစ်ဆေးပြီး၊ s ၏နံပါတ်amples သည် 0 ဖြစ်ရပါမည်။ > NanoLib Modules Sampler- Firmware မုဒ်တွင် ဒေတာစုဆောင်းသည့် thread အတွက် ပုံမှန်ဦးစားပေးဖြစ်သည်။ > NanoLib Modules Sampler- Ready နှင့် Running အခြေအနေကြား အကူးအပြောင်းကို ရှာဖွေရန် ပြန်လည်ရေးသားထားသော အယ်လဂိုရီသမ်။ # NanoLib Core- တူညီသောဘတ်စ်ကား ဟာ့ဒ်ဝဲကို အသုံးပြုသည့် စက် 0 ခု သို့မဟုတ် ထို့ထက်ပိုသော စက်များကို ပိတ်ရာတွင် ဝင်ရောက်ခြင်း ချိုးဖောက်ခြင်း (0000005xC2) မရှိတော့ပါ။ # NanoLib Core- Linux အောက်တွင် PEAK အဒက်တာကို ပူးတွဲထည့်သွင်းခြင်းအတွက် ခွဲထွက်မှု အမှားအယွင်း မရှိတော့ပါ။ # NanoLib Modules Sampler: မှန်တယ် sampfirmware မုဒ်တွင် led-values ​​များကိုဖတ်ခြင်း။ # NanoLib Modules Sampler- 502X:04 ၏ မှန်ကန်သော ဖွဲ့စည်းမှု။ # NanoLib Modules Sampler- ချန်နယ်များနှင့် ကြားခံများ မှန်ကန်စွာ ရောစပ်ခြင်း။ # NanoLib-Canopen- အောက်ပိုင်း baudrates များတွင် ကြံ့ခိုင်မှုနှင့် မှန်ကန်သောစကင်န်ဖတ်ခြင်းအတွက် အချိန်ပိုပေးနိုင်သည်။ # NanoLib-Modbus- အထူးကိရိယာများ (USB-DA-IO) အတွက် VCP ထောက်လှမ်းမှု အယ်လဂိုရီသမ်။
+ EtherCAT ပံ့ပိုးမှု။
+ သင့်ပရောဂျက်ကို Configure ရှိ 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.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

60

10 Imprint, contact, ဗားရှင်းများ

စာရွက်စာတမ်း
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

+ Added > Changed # Fixed + rebootDevice ()။ + getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, နှင့် ~Uid အတွက် အမှားအယွင်းကုဒ် ResourceUnavailable ။ > firmwareUploadFromFile ယခု FirmwareFrom ကို တင်ပါ။File ()။ > firmwareUpload() ယခု uploadFirmware(). > bootloaderUploadFromFile () ယခု uploadBootloaderFromFile ()။ > bootloaderUpload() ယခု uploadBootloader()။ > bootloaderFirmwareUploadFromFile () မှ uploadBootloaderFirmwareFromFile ()။ > bootloaderFirmwareUpload() ယခု uploadBootloaderFirmware()။ > nanojUploadFromFile () ယခု NanoJFrom ကို တင်ပါ။File ()။ > nanojUpload() ယခု uploadNanoJ()။ > objectDictionaryLibrary() ယခု getObjectDictionaryLibrary()။ > String_String_Map ယခု StringStringMap ။ > NanoLib-Common- Ixxat adapter ဖြင့် listAvailableBusHardware နှင့် openBusHardwareWithProtocol ကို ပိုမိုမြန်ဆန်စွာ လုပ်ဆောင်ခြင်း။ > NanoLib-CANopen- ဘတ်စ်ကား ဟာ့ဒ်ဝဲ ရွေးချယ်စရာများ ဗလာဖြစ်နေလျှင် (1000k baudrate၊ Ixxat ဘတ်စ်ကားနံပါတ် 0) ကို အသုံးပြုထားသော မူရင်းဆက်တင်များ။ > NanoLib-RESTful- npcap/winpcap ဒရိုက်ဘာကိုရနိုင်လျှင် Windows အောက်တွင် Ethernet bootloaders များနှင့် ဆက်သွယ်မှုအတွက် အက်မင်ခွင့်ပြုချက် မရှိတော့ပြီ။ # NanoLib-CANopen- ဘတ်စ်ကား ဟာ့ဒ်ဝဲသည် အချည်းနှီးသော ရွေးချယ်စရာများဖြင့် အပျက်အစီးမရှိဘဲ ဖွင့်လိုက်ပါပြီ။ # NanoLib-Common- ယခု memory ပေါက်ကြားခြင်းမရှိသော openBusHardwareWithProtocol ()။
+ Linux ARM64 ပံ့ပိုးမှု။ + USB အစုလိုက်အပြုံလိုက် သိုလှောင်မှု / REST / Profinet DCP ပံ့ပိုးမှု။ +ConnectionState () ကိုစစ်ဆေးပါ။ + getDeviceBootloaderVersion ()။ + ResultProfinetDevices။ + NlcErrorCode (NanotecExceptions များကို အစားထိုးထားသည်)။ + NanoLib Modbus- VCP / USB hub ကို USB သို့ ပေါင်းစည်းထားသည်။ > Modbus TCP စကင်န်ဖတ်ခြင်းသည် ရလဒ်များကို ပြန်ပေးသည်။ < Modbus TCP ဆက်သွယ်ရေး latency သည် မမြဲပါ။
+ နောက်ထပ် ObjectEntryDataType (ရှုပ်ထွေးပြီး လိုလားသည်။file- အတိအကျ)။ + IOError သည် connectDevice () နှင့် scanDevices () မတွေ့ပါက ပြန်သွားပါသည်။ + CanOpen / Modbus အတွက် 100 ms အမည်ခံ အချိန်ကုန်ရုံသာ။
+ Modbus ပံ့ပိုးမှု (အပြင် VCP မှတစ်ဆင့် USB Hub)။ + သင့်ကိုယ်ပိုင် Linux ပရောဂျက်ကို ဖန်တီးခြင်း အခန်း။ + BusHardwareId () သို့ extraHardwareSpecifier။ + extraId_ နှင့် extraStringId_ တို့အား DeviceId ()။
+setBusState()။ + getDeviceBootloaderBuildId ()။ + getDeviceFirmwareBuildId ()။ + getDeviceHardwareVersion ()။ # အမှားပြင်ဆင်မှုများ။
စော။

ထုတ်ကုန်
၁၉၅၁ ၅ ၇၁၂ ၂ ၄

ဗားရှင်း- doc 1.4.2 / NanoLib 1.3.0

61

စာရွက်စာတမ်းများ / အရင်းအမြစ်များ

Nanotic NanoLib C++ ပရိုဂရမ်းမင်း [pdf] အသုံးပြုသူလက်စွဲ
NanoLib C Programming၊ C Programming၊ ပရိုဂရမ်မင်း

ကိုးကား

မှတ်ချက်တစ်ခုချန်ထားပါ။

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ လိုအပ်သောအကွက်များကို အမှတ်အသားပြုထားသည်။ *