نانوٽڪ-لوگو

Nanotic NanoLib C++ پروگرامنگ

نانوٽڪ-نانوليب-سي++-پروگرامنگ-پروڊڪٽ

پيداوار جي ڄاڻ

وضاحتون

  • پيداوار جو نالو: نانو ليب
  • پروگرامنگ ٻولي: سي++
  • پيداوار نسخو: 1.3.0
  • استعمال ڪندڙ دستي نسخو: 1.4.2

نانو لِب لائبريري نانوٽيڪ ڪنٽرولرز لاءِ پروگرامنگ ڪنٽرول سافٽ ويئر لاءِ ٺهيل آهي. اهو ڪنٽرول ايپليڪيشنن جي ترقي کي آسان بڻائڻ لاءِ يوزر انٽرفيس، بنيادي ڪارڪردگي، ۽ ڪميونيڪيشن لائبريريون مهيا ڪري ٿو.

پيداوار جي استعمال جون هدايتون

  • شروع ڪرڻ کان اڳ:
    • پڪ ڪريو ته توهان جو سسٽم دستياب ۾ بيان ڪيل هارڊويئر گهرجن کي پورو ڪري ٿو. هن پراڊڪٽ لاءِ ارادو ڪيل سامعين ۾ ڊولپرز شامل آهن جيڪي نانوٽيڪ ڪنٽرولرز لاءِ ڪنٽرول سافٽ ويئر ٺاهڻ جي ڪوشش ڪري رهيا آهن.
  • شروع ڪرڻ:
    • نانو ليب استعمال ڪرڻ شروع ڪرڻ لاءِ، انهن قدمن تي عمل ڪريو:
    • پنهنجي منصوبي ۾ نانو لِب درآمد ڪندي شروع ڪريو.
    • ضرورت مطابق پنهنجي پروجيڪٽ سيٽنگون ترتيب ڏيو.
    • نانو لِب جي ڪارڪردگي کي شامل ڪرڻ لاءِ پنهنجو منصوبو ٺاهيو.
  • منصوبا ٺاهڻ:
    • توهان ونڊوز ۽ لينڪس ٻنهي ماحولن لاءِ پراجيڪٽ ٺاهي سگهو ٿا. هر پليٽ فارم لاءِ مينوئل ۾ ڏنل مخصوص هدايتن تي عمل ڪريو.
  • ڪلاس / ڪمن جو حوالو:
    • پروگرامنگ ڪنٽرول سافٽ ويئر لاءِ نانو ليب ۾ موجود ڪلاسز ۽ ڪمن بابت تفصيلي گائيڊ لاءِ يوزر مينوئل ڏسو.

FAQs

  • سوال: نانو لِب جو مقصد ڇا آهي؟
    • A: نانو لِب نانوٽيڪ ڪنٽرولرز لاءِ پروگرامنگ ڪنٽرول سافٽ ويئر لاءِ هڪ لائبريري آهي، جيڪا ضروري ڪارڪردگي ۽ مواصلاتي صلاحيتون فراهم ڪري ٿي.
  • سوال: مان نانو لِب سان ڪيئن شروعات ڪري سگهان ٿو؟
    • A: پنهنجي پروجيڪٽ ۾ NanoLib درآمد ڪندي، پروجيڪٽ سيٽنگون ترتيب ڏيڻ، ۽ NanoLib خاصيتن کي استعمال ڪرڻ لاءِ پنهنجو پروجيڪٽ ٺاهڻ سان شروع ڪريو.

“`

استعمال ڪندڙ دستي NanoLib
سي++

پراڊڪٽ ورزن 1.3.0 سان صحيح

يوزر مينوئل ورزن: 1.4.2

دستاويز جو مقصد ۽ ڪنوينشن

هي دستاويز بيان ڪري ٿو سيٽ اپ ۽ NanoLib لائبريري جي استعمال ۽ سڀني طبقن ۽ ڪمن جو حوالو شامل آهي نانوٽيڪ ڪنٽرولرز لاءِ توهان جي پنهنجي ڪنٽرول سافٽ ويئر پروگرام ڪرڻ لاءِ. اسان هيٺ ڏنل ٽائيپ فيڪس استعمال ڪندا آهيون:
هيٺ ڏنل متن هڪ ڪراس ريفرنس يا هائپر لنڪ جي نشاندهي ڪري ٿو.
Example 1: NanoLibAccessor تي صحيح هدايتون لاء، سيٽ اپ ڏسو. مثالampقدم 2: انسٽال ڪريو Ixxat ڊرائيور ۽ ڳنڍيو CAN-to-USB اڊاپٽر. اطالوي متن جو مطلب آهي: هي هڪ نالي وارو اعتراض آهي، هڪ مينيو رستو / شيون، هڪ ٽيب / file نالو يا (جيڪڏهن ضروري هجي) هڪ غير ملڪي ٻولي جو اظهار.
Exampلي 1: چونڊيو File > نئون > خالي دستاويز. کوليو ٽول ٽئب ۽ چونڊيو تبصرو. مثالample 2: هي دستاويز استعمال ڪندڙن کي ورهائي ٿو (= Nutzer؛ usuario؛ utente؛ utilisateur؛ utente وغيره) کان:
- ٽئين پارٽي استعمال ڪندڙ (= Drittnutzer؛ tercero usuario؛ terceiro utente؛ tiers utilisateur؛ terzo utente وغيره). - آخري استعمال ڪندڙ (= Endnutzer؛ usuario final؛ utente final؛ utilisateur final؛ utente finale وغيره).
ڪوريئر مارڪ ڪوڊ بلاڪ يا پروگرامنگ حڪم. مثالampلي 1: بش ذريعي، ڪال ڪريو سوڊو ٺاهيو شيئر ڪيل شيون ڪاپي ڪرڻ لاءِ انسٽال ڪريو؛ پوء ldconfig ڪال ڪريو. مثالampقدم 2: NanoLib ۾ لاگنگ ليول کي تبديل ڪرڻ لاءِ ھيٺ ڏنل NanoLibAccessor فنڪشن استعمال ڪريو:
// ***** سي ++ قسم *****
void setLoggingLevel(LogLevel level)؛
بولڊ ٽيڪسٽ نازڪ اهميت جي انفرادي لفظن تي زور ڏئي ٿو. متبادل طور تي، بریکٹ ٿيل عجب جا نشان نازڪ(!) اهميت تي زور ڏين ٿا.
Example 1: پنهنجو پاڻ کي، ٻين کي ۽ توهان جي سامان جي حفاظت ڪريو. اسان جي عام حفاظتي نوٽس تي عمل ڪريو جيڪي عام طور تي سڀني نانوٽيڪ پروڊڪٽس تي لاڳو ٿين ٿيون.
Example 2: توهان جي پنهنجي حفاظت لاءِ، پڻ پيروي ڪريو مخصوص حفاظتي نوٽس جيڪي هن مخصوص پراڊڪٽ تي لاڳو ٿين ٿا. ڪو-ڪلڪ ڪرڻ لاءِ فعل جو مطلب آهي ثانوي ماؤس جي ذريعي ڪلڪ ڪرڻ لاءِ ڪنٽيڪٽ مينيو وغيره کولڻ لاءِ.
Exampلي 1: تي ڪلڪ ڪريو file, منتخب ڪريو Rename , and rename the file. سابقample 2: پراپرٽيز چيڪ ڪرڻ لاءِ، تي ڪلڪ ڪريو file ۽ پراپرڪٽس چونڊيو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

4

توهان کان اڳ شروع

ان کان اڳ جو توهان NanoLib استعمال ڪرڻ شروع ڪريو، پنهنجو پي سي تيار ڪريو ۽ پاڻ کي ڄاڻ ڏيو ارادي جي استعمال ۽ لائبريري جي حدن بابت.
2.1 سسٽم ۽ هارڊويئر گهرجن

Nanotic-NanoLib-C++-Programming-FIG- (1)
نوٽيس 32-بٽ آپريشن يا بند ٿيل سسٽم مان خرابي! 64-بٽ سسٽم استعمال ڪريو، ۽ مسلسل برقرار رکو. OEM بندش ۽ ~ هدايتن تي عمل ڪريو.

NanoLib 1.3.0 سڀني Nanotec پراڊڪٽس کي CANopen، Modbus RTU (ورچوئل ڪام پورٽ تي USB پڻ)، Modbus TCP، EtherCat، ۽ Profinet سان سپورٽ ڪري ٿو. پراڻن NanoLibs لاءِ: امپرنٽ ۾ changelog ڏسو. صرف توهان جي خطري تي: ليگيسي-سسٽم استعمال. نوٽ: جيڪڏهن توهان کي FTDI-بنياد USB اڊاپٽر استعمال ڪرڻ وقت مسئلن کي منهن ڏيڻو پوي ٿو ته ممڪن حد تائين گهٽ ليٽنسي سيٽ ڪرڻ لاءِ صحيح OEM هدايتن تي عمل ڪريو.

گهربل (64-bit سسٽم لازمي)
ونڊوز 10 يا 11 ويزوئل اسٽوڊيو 2019 ورجن 16.8 يا بعد ۾ ۽ ونڊوز SDK 10.0.20348.0 (ورجن 2104) يا بعد ۾
C++ ٻيهر ورهائيندڙ 2017 يا وڌيڪ CANopen: Ixxat VCI يا PCAN بنيادي ڊرائيور (اختياري) EtherCat ماڊيول / Profinet DCP: Npcap يا WinPcap RESTful ماڊيول: Npcap، WinPcap، يا منتظم جي اجازت
ايٿرنيٽ بوٽ لوڊرز سان رابطو ڪريو
لينڪس Ubuntu 20.04 LTS کان 24 تائين (سڀ x64 ۽ arm64)
ڪرنل هيڊر ۽ libpopt-dev پيڪٽ Profinet DCP: CAP_NET_ADMIN ۽ CAP_NET_RAW ابلي-
ٽائيز CANopen: Ixxat ECI ڊرائيور يا Peak PCAN-USB اڊاپٽر EtherCat: CAP_NET_ADMIN، CAP_NET_RAW ۽
CAP_SYS_NICE صلاحيتون آرامده: CAP_NET_ADMIN صلاحيتون ايٿ سان رابطو ڪرڻ جي-
ernet بوٽ لوڊرز (پڻ سفارش ٿيل: CAP_NET_RAW)

ٻولي، فيلڊ بس اڊاپٽر، ڪيبل
سي++ جي سي سي 7 يا وڌيڪ (لينڪس)
ايٿرڪيٽ: ايٿرنيٽ ڪيبل وي سي پي / يو ايس بي حب: هاڻي يونيفارم يو ايس بي يو ايس بي ماس اسٽوريج: يو ايس بي ڪيبل ريسٽ: ايٿرنيٽ ڪيبل ڪينوپين: آئي ايڪس ايڪس اي ٽي يو ايس بي-ٽو-ڪي اين وي 2؛ نا-
notec ZK-USB-CAN-1، Peak PCANUSB اڊاپٽر arm64 تي Ubuntu لاءِ ڪابه Ixxat سپورٽ ناهي
موڊبس آر ٽي يو: نانوٽيڪ ZK-USB-RS485-1 يا برابر اڊاپٽر؛ ورچوئل ڪام پورٽ (VCP) تي USB ڪيبل
موڊبس ٽي سي پي: پراڊڪٽ ڊيٽا شيٽ جي مطابق ايٿرنيٽ ڪيبل

2.2 ارادو استعمال ۽ سامعين
NanoLib هڪ پروگرام لائبريري ۽ سافٽ ويئر جزو آهي جنهن جي آپريشن ۽ ڪميونيڪيشن لاءِ، Nanotec ڪنٽرولرز جي وسيع رينج ۾ صنعتي ايپليڪيشنن ۽ صرف ماهر پروگرامرز لاءِ.
ريئل ٽائيم ناڪام هارڊويئر (پي سي) ۽ آپريٽنگ سسٽم جي ڪري، نانو لِب انهن ايپليڪيشنن ۾ استعمال لاءِ ناهي جن کي هم وقت ساز ملٽي محور حرڪت جي ضرورت آهي يا عام طور تي وقت جي لحاظ کان حساس آهن.
ڪنهن به صورت ۾ توهان NanoLib کي ڪنهن پراڊڪٽ يا سسٽم ۾ حفاظتي جزو طور ضم نه ٿا ڪري سگهو. آخري استعمال ڪندڙن تائين پهچائڻ تي، توهان کي Nanotec پاران تيار ڪيل جزو سان هر پراڊڪٽ ۾ محفوظ استعمال ۽ محفوظ آپريشن لاءِ لاڳاپيل خبرداري نوٽيس ۽ هدايتون شامل ڪرڻ گهرجن. توهان کي سڀني Nanotec پاران جاري ڪيل خبرداري نوٽيسن کي سڌو سنئون آخري استعمال ڪندڙ تائين پهچائڻ گهرجي.
2.3 پهچائڻ ۽ وارنٽي جو دائرو
NanoLib اسان جي ڊائون لوڊ مان هڪ *.zip فولڊر جي طور تي اچي ٿو webسائيٽ يا ته EMEA / APAC يا آمريڪا لاءِ. ترتيب ڏيڻ کان پهريان توهان جي ڊائون لوڊ کي صحيح طور تي اسٽور ۽ ان زپ ڪريو. NanoLib پيڪيج تي مشتمل آهي:

نسخو: doc 1.4.2 / NanoLib 1.3.0

5

2 شروع ڪرڻ کان پهريان

انٽرفيس هيڊرز بطور سورس ڪوڊ (API)

بنيادي ڪم بائنري فارميٽ ۾ لائبريرين جي طور تي: نانو-

لائبريريون جيڪي رابطي کي آسان بڻائين ٿيون: nanolibm_ lib.dll

[yourfieldbus].dll وغيره.

Exampلي پروجيڪٽ: Example.sln (ويزوئل اسٽوڊيو)

منصوبو) ۽ اڳوڻيample.cpp (مکيه file)

وارنٽي جي دائري لاءِ، مھرباني ڪري ڏسو الف) EMEA / APAC يا AMERICA لاءِ اسان جا شرط ۽ ضابطا ۽ ب) سڀني لائسنس جي شرطن. نوٽ: نانوٽيڪ ٽئين پارٽي جي سامان جي ناقص يا غير مناسب معيار، هينڊلنگ، انسٽاليشن، آپريشن، استعمال ۽ سار سنڀال لاءِ ذميوار نه آهي! مناسب حفاظت لاءِ، هميشه صحيح OEM هدايتن تي عمل ڪريو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

6

NanoLib فن تعمير

NanoLib جي ماڊلر سافٽ ويئر جي جوڙجڪ توهان کي آزاد طور تي ترتيب ڏيڻ جي اجازت ڏئي ٿي حسب ضرورت موٽر ڪنٽرولر / فيلڊ بس ڪمن کي سختي سان اڳ ۾ ٺهيل ڪور جي چوڌاري. NanoLib ھيٺ ڏنل ماڊلز تي مشتمل آھي:

يوزر انٽرفيس (API)

NanoLib ڪور

انٽرفيس ۽ مددگار ڪلاس جيڪي لائبريريون جيڪي

ڪميونيڪيشن لائبريريون فيلڊ بس مخصوص لائبريريون جيڪي

توهان کي رسائي حاصل ڪريو توهان جي ڪنٽرولر کي لاڳو ڪرڻ API فنڪشنلٽي ڊاء انٽرفيس وچ ۾ NanoLib

OD (آبجیکٹ ڊڪشنري)

بس لائبريرين سان رابطو.

بنيادي ۽ بس هارڊويئر.

NanoLib بنيادي فنڪشن تي ٻڌل

قوميت.

3.1 يوزر انٽرفيس

يوزر انٽرفيس هيڊر انٽرفيس تي مشتمل آهي files جيڪي توهان ڪنٽرولر پيرا ميٽرز تائين رسائي حاصل ڪرڻ لاءِ استعمال ڪري سگهو ٿا. ڪلاسز / فنڪشن ريفرنس ۾ بيان ڪيل يوزر انٽرفيس ڪلاسز توهان کي اجازت ڏين ٿا:
هارڊويئر (فيلڊ بس اڊاپٽر) ۽ ڪنٽرولر ڊوائيس ٻنهي سان ڳنڍيو. ڪنٽرولر پيرا ميٽرز پڙهڻ/لکڻ لاءِ، ڊوائيس جي OD تائين رسائي حاصل ڪريو.

3.2 NanoLib ڪور

نانو لِب ڪور امپورٽ لائبريري nanolib.lib سان گڏ اچي ٿو. اهو يوزر انٽرفيس جي ڪارڪردگي کي لاڳو ڪري ٿو ۽ ذميوار آهي:
ڪميونيڪيشن لائبريريون لوڊ ڪرڻ ۽ منظم ڪرڻ. NanoLibAccessor ۾ يوزر انٽرفيس جون ڪارڪردگيون مهيا ڪرڻ. هي ڪميونيڪيشن انٽري پوائنٽ ڊي-
آپريشن جو هڪ سيٽ جرمانو ڪري ٿو جيڪو توهان NanoLib ڪور ۽ ڪميونيڪيشن لائبريرين تي عمل ڪري سگهو ٿا.

3.3 ڪميونيڪيشن لائبريريون

nanotec.services.nanolib.dll کان علاوه (توهان جي اختياري پلگ ۽ ڊرائيو اسٽوڊيو لاءِ ڪارآمد)، NanoLib هيٺيون ڪميونيڪيشن لائبريريون پيش ڪري ٿو:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

سڀ لائبريريون ڪور ۽ ڪنٽرولر جي وچ ۾ هارڊويئر تجريدي پرت رکي ٿي. ڪور ان کي شروع ڪرڻ تي نامزد ٿيل پروجيڪٽ فولڊر مان لوڊ ڪري ٿو ۽ ان کي استعمال ڪري ٿو ڪنٽرولر سان رابطي کي قائم ڪرڻ لاءِ لاڳاپيل پروٽوڪول ذريعي.

نسخو: doc 1.4.2 / NanoLib 1.3.0

7

شروع ٿيڻ

پڙهو ته توهان جي آپريٽنگ سسٽم لاءِ NanoLib ڪيئن سيٽ اپ ڪجي ۽ ضرورت مطابق هارڊويئر کي ڪيئن ڳنڍجي.
4.1 پنهنجو سسٽم تيار ڪريو
اڊاپٽر ڊرائيورز انسٽال ڪرڻ کان اڳ، پهريان پنهنجي پي سي کي آپريٽنگ سسٽم سان تيار ڪريو. پنهنجي ونڊوز او ايس سان گڏ پي سي تيار ڪرڻ لاءِ، سي ++ ايڪسٽينشن سان ايم ايس ويزوئل اسٽوڊيو انسٽال ڪريو. لينڪس بيش پاران ميڪ ۽ جي سي سي انسٽال ڪرڻ لاءِ، sudo apt انسٽال بلڊ-ايسنسلز کي ڪال ڪريو. پوءِ NanoLib استعمال ڪندڙ ايپليڪيشن لاءِ CAP_NET_ADMIN، CAP_NET_RAW، ۽ CAP_SYS_NICE صلاحيتن کي فعال ڪريو: 1. sudo setcap 'cap_net_admin،cap_net_raw،cap_sys_nice+eip' کي ڪال ڪريو.
نالو >. 2. صرف ان کان پوء، انسٽال ڪريو پنهنجا اڊاپٽر ڊرائيور.
4.2 ونڊوز لاءِ Ixxat اڊاپٽر ڊرائيور انسٽال ڪريو
صرف ڊرائيور جي انسٽاليشن کان پوءِ، توهان Ixxat جو USB-to-CAN V2 اڊاپٽر استعمال ڪري سگهو ٿا. ورچوئل ڪمپورٽ (VCP) کي ڪيئن چالو ڪجي اهو سکڻ لاءِ USB ڊرائيوز جو پراڊڪٽ مينوئل پڙهو. 1. ونڊوز لاءِ Ixxat جو VCI 4 ڊرائيور ڊائون لوڊ ۽ انسٽال ڪريو. www.ixxat.com2. Ixxat جي USB-to-CAN V2 ڪمپيڪٽ اڊاپٽر کي USB ذريعي پي سي سان ڳنڍيو. 3. ڊيوائس مئنيجر ذريعي: چيڪ ڪريو ته ڊرائيور ۽ اڊاپٽر ٻئي صحيح طور تي انسٽال ٿيل/سڃاتل آهن.
4.3 ونڊوز لاءِ پيڪ اڊاپٽر ڊرائيور انسٽال ڪريو
صرف ڊرائيور جي انسٽاليشن کان پوءِ، توهان پيڪ جي PCAN-USB اڊاپٽر استعمال ڪري سگهو ٿا. ورچوئل ڪمپورٽ (VCP) کي ڪيئن چالو ڪجي اهو سکڻ لاءِ USB ڊرائيوز جي پراڊڪٽ مينوئل کي پڙهو. 1. ونڊوز ڊيوائس ڊرائيور سيٽ اپ ڊائون لوڊ ۽ انسٽال ڪريو (= انسٽاليشن پيڪيج ڊيوائس ڊرائيورز، ٽولز، ۽
APIs) کان http://www.peak-system.com2. پيڪ جي PCAN-USB اڊاپٽر کي USB ذريعي پي سي سان ڳنڍيو. 3. ڊيوائس مئنيجر ذريعي: چيڪ ڪريو ته ڊرائيور ۽ اڊاپٽر ٻئي صحيح طور تي نصب ٿيل/سڃاتل آهن.
4.4 لينڪس لاءِ Ixxat اڊاپٽر ڊرائيور انسٽال ڪريو
صرف ڊرائيور جي انسٽاليشن کان پوءِ، توهان Ixxat جو USB-to-CAN V2 اڊاپٽر استعمال ڪري سگهو ٿا. نوٽ: ٻين سپورٽ ٿيل اڊاپٽرن کي sudo chmod +777/dev/ttyACM* (* ڊوائيس نمبر) ذريعي توهان جي اجازتن جي ضرورت آهي. ورچوئل ڪمپورٽ (VCP) کي ڪيئن چالو ڪجي اهو سکڻ لاءِ USB ڊرائيوز جو پراڊڪٽ مينوئل پڙهو. 1. ECI ڊرائيور ۽ ڊيمو ايپليڪيشن لاءِ گهربل سافٽ ويئر انسٽال ڪريو:
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 ڊرائيور ڊائون لوڊ ڪريو. ان کي ھيٺ ڏنل ذريعي ان زپ ڪريو:
eci_driver_linux_amd64.zip کي کوليو
3. ڊرائيور کي انسٽال ڪريو:
سي ڊي /EciLinux_amd/src/KernelModule sudo make install-usb
4. ڊيمو ايپليڪيشن کي مرتب ڪندي ۽ شروع ڪندي ڪامياب ڊرائيور انسٽاليشن جي جانچ ڪريو:
سي ڊي /EciLinux_amd/src/EciDemos/ sudo سي ڊي /EciLinux_amd/bin/release/ ./LinuxEciDemo ٺاهيو

نسخو: doc 1.4.2 / NanoLib 1.3.0

8

4 شروع ڪرڻ
4.5 لينڪس لاءِ پيڪ اڊاپٽر ڊرائيور انسٽال ڪريو
صرف ڊرائيور جي انسٽاليشن کان پوءِ، توهان پيڪ جو PCAN-USB اڊاپٽر استعمال ڪري سگهو ٿا. نوٽ: ٻين سپورٽ ٿيل اڊاپٽرن کي sudo chmod +777/dev/ttyACM* (* ڊوائيس نمبر) ذريعي توهان جي اجازتن جي ضرورت آهي. ورچوئل ڪمپورٽ (VCP) کي ڪيئن چالو ڪجي اهو سکڻ لاءِ USB ڊرائيوز جو پراڊڪٽ مينوئل پڙهو. 1. چيڪ ڪريو ته ڇا توهان جي لينڪس ۾ ڪرنل هيڊر آهن: ls /usr/src/linux-headers-`uname -r`. جيڪڏهن نه، انسٽال ڪريو
انهن کي: sudo apt-get install linux-headers-`uname -r` 2. صرف هاڻي، libpopt-dev پيڪٽ انسٽال ڪريو: sudo apt-get install libpopt-dev 3. گهربل ڊرائيور پيڪيج (peak-linux-driver-xxx.tar.gz) www.peak-system.com تان ڊائون لوڊ ڪريو. 4. ان کي کولڻ لاءِ، استعمال ڪريو: tar xzf peak-linux-driver-xxx.tar.gz 5. ان پيڪ ٿيل فولڊر ۾: ڊرائيور، PCAN بيس لائبريري، وغيره گڏ ڪريو ۽ انسٽال ڪريو: سڀ ٺاهيو
sudo make install 6. فنڪشن چيڪ ڪرڻ لاءِ، PCAN-USB اڊاپٽر کي پلگ ان ڪريو.
الف) ڪرنل ماڊيول چيڪ ڪريو:
lsmod | grep pcan b) ... ۽ شيئر ٿيل لائبريري:
ايل ايس - ايل / يو ايس آر / ليب / ليب پي ڪين *
نوٽ: جيڪڏهن USB3 مسئلا ٿين ٿا، ته USB2 پورٽ استعمال ڪريو.
4.6 پنهنجو هارڊويئر ڳنڍيو
NanoLib پروجيڪٽ هلائڻ لاءِ، پنهنجي اڊاپٽر استعمال ڪندي هڪ مطابقت رکندڙ Nanotec ڪنٽرولر کي پي سي سان ڳنڍيو. 1. هڪ مناسب ڪيبل ذريعي، پنهنجي اڊاپٽر کي ڪنٽرولر سان ڳنڍيو. 2. اڊاپٽر ڊيٽا شيٽ مطابق اڊاپٽر کي پي سي سان ڳنڍيو. 3. مناسب پاور سپلاءِ استعمال ڪندي ڪنٽرولر کي پاور آن ڪريو. 4. جيڪڏهن ضرورت هجي ته، Nanotec ڪنٽرولر جي ڪميونيڪيشن سيٽنگز کي ان جي پراڊڪٽ مينوئل ۾ ڏنل هدايتن مطابق تبديل ڪريو.
4.7 لوڊ ڪريو NanoLib
جلدي ۽ آسان بنيادي ڳالهين سان پهرين شروعات لاءِ، توهان استعمال ڪري سگهو ٿا (پر نه گهرجي) اسان جي اڳوڻيampلي پروجيڪٽ. 1. توهان جي علائقي تي منحصر آهي: ڊائون لوڊ ڪريو NanoLib اسان کان webسائيٽ يا ته EMEA / APAC يا آمريڪا لاءِ. 2. پيڪيج کي ان زپ ڪريو files / فولڊر ۽ ڪريو ھڪڙو اختيار چونڊيو: تڪڙي ۽ آسان بنيادي ڳالھين لاءِ: ڏسو شروعاتي شروعاتampلي پروجيڪٽ. ونڊوز ۾ ايڊوانسڊ ڪسٽمائيزنگ لاءِ: ڏسو پنهنجو ونڊوز پروجيڪٽ ٺاهڻ. لينڪس ۾ ايڊوانسڊ ڪسٽمائيزنگ لاءِ: ڏسو پنهنجو لينڪس پروجيڪٽ ٺاهڻ.

نسخو: doc 1.4.2 / NanoLib 1.3.0

9

اڳوڻي شروع ڪنديampلي پروجيڪٽ

NanoLib سان صحيح طور تي لوڊ ٿيل، اڳوڻيample پروجيڪٽ توهان کي ڏيکاري ٿو NanoLib استعمال ذريعي نانوٽيڪ ڪنٽرولر سان. نوٽ: هر قدم لاء، تبصرو مهيا ڪيل اڳ ۾ample ڪوڊ استعمال ٿيل افعال کي بيان ڪري ٿو. سابقampپروجيڪٽ تي مشتمل آهي: `*_functions_exampلي.*' files، جنهن ۾ NanoLib انٽرفيس لاءِ عملدرآمد شامل آهن `*_callback_exampلي.*' files، جنهن ۾ مختلف ڪال بيڪ (اسڪين، ڊيٽا ۽) لاءِ عملدرآمد شامل آهن.
لاگنگ) `مينيو_*.*' file، جنهن ۾ مينيو لاجڪ ۽ ڪوڊ Ex شامل آهيample.* file، جيڪو مکيه پروگرام آهي، مينيو ٺاهي ٿو ۽ سڀني استعمال ٿيل پيرا ميٽرز کي شروع ڪري ٿو Sampلير_ايڪسample.* file، جنهن ۾ اڳوڻي شامل آهيampايس لاءِ عمل درآمدampler استعمال. توهان وڌيڪ ڳولي سگهو ٿا examples، مختلف آپريشن موڊس لاءِ ڪجھ موشن ڪمانڊز سان، nanotec.com تي نالج بيس ۾. سڀئي ونڊوز يا لينڪس ۾ استعمال لائق آهن.
ونڊوز ۾ Visual Studio 1 سان. Ex کوليوample.sln file. 2. ايڪس کوليوample.cpp. 3. ايڪس کي مرتب ڪريو ۽ هلايوampڪوڊ.
لينڪس ۾ بيش ذريعي 1. سورس کي ان زپ ڪريو file، ان زپ ٿيل مواد سان فولڊر ڏانهن وڃو. مکيه file اڳوڻي لاءample آهي
example.cpp. 2. بيش ۾، ڪال ڪريو:
الف. شيئر ڪيل شين کي ڪاپي ڪرڻ لاءِ "sudo make install" ۽ ldconfig کي ڪال ڪريو. ب. ٽيسٽ ايگزيڪيوٽوبل ٺاهڻ لاءِ "make all". 3. بن فولڊر ۾ هڪ ايگزيڪيوٽوبل ايڪس شامل آهيample file. bash ذريعي: آئوٽ پُٽ فولڊر ڏانهن وڃو ۽ ./ex ٽائپ ڪريو.ample. جيڪڏهن ڪا غلطي نه ٿئي، ته توهان جون شيئر ڪيل شيون هاڻي صحيح طور تي انسٽال ٿيل آهن، ۽ توهان جي لائبريري استعمال لاءِ تيار آهي. جيڪڏهن غلطي ./ex پڙهي ٿي.ample: شيئر ڪيل لائبريريون لوڊ ڪرڻ دوران غلطي: libnanolib.so: شيئر ڪيل شئي نه ٿي کولي سگهجي. file: اهڙو ڪو نه file يا ڊاريڪٽري ۾، شيئر ڪيل شين جي انسٽاليشن ناڪام ٿي. هن صورت ۾، ايندڙ قدمن تي عمل ڪريو. 4. /usr/local/lib اندر هڪ نئون فولڊر ٺاهيو (ايڊمن حقن جي ضرورت آهي). بيش ۾، اهڙي طرح ٽائپ ڪريو:
سوڊو ايم ڪي ڊير / يو ايس آر / مقامي / لب / نانوٽيڪ
5. زپ مان سڀني شيئر ڪيل شين کي ڪاپي ڪريو fileجو lib فولڊر:
انسٽال ڪريو ./lib/*.so /usr/local/lib/nanotec/
6. ٽارگيٽ فولڊر جي مواد کي چيڪ ڪريو:
ايل ايس -ال / يو ايس آر / مقامي / لب / نانوٽيڪ /
ان ۾ شيئر ڪيل شئي جي فهرست هجڻ گهرجي filelib فولڊر مان s. 7. هن فولڊر تي ldconfig هلايو:
سوڊو ldconfig / يو ايس آر / مقامي / لب / نانوٽيڪ /
سابقample کي CLI ايپليڪيشن جي طور تي لاڳو ڪيو ويو آهي ۽ هڪ مينيو انٽرفيس مهيا ڪري ٿو. مينيو داخلائون تناظر تي ٻڌل آهن ۽ تناظر جي حالت تي منحصر ڪري فعال يا غير فعال ڪيون وينديون. اهي توهان کي ڪنٽرولر کي سنڀالڻ لاءِ عام ورڪ فلو جي پيروي ڪندي مختلف لائبريري ڪمن کي چونڊڻ ۽ عمل ڪرڻ جو امڪان پيش ڪن ٿا: 1. ڳنڍيل هارڊويئر (اڊاپٽر) لاءِ پي سي چيڪ ڪريو ۽ انهن کي لسٽ ڪريو. 2. هڪ اڊاپٽر سان ڪنيڪشن قائم ڪريو. 3. ڳنڍيل ڪنٽرولر ڊوائيسز لاءِ بس اسڪين ڪريو. 4. هڪ ڊوائيس سان ڪنيڪٽ ڪريو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

10

5 شروعاتي شروعاتampلي پروجيڪٽ
5. لائبريري جي هڪ يا وڌيڪ ڪمن جي جانچ ڪريو: ڪنٽرولر جي آبجيڪٽ ڊڪشنري مان پڙهو/لکيو، فرم ويئر کي اپڊيٽ ڪريو، نانو جي پروگرام اپلوڊ ڪريو ۽ هلايو، موٽر کي هلايو ۽ ان کي ٽيون ڪريو، لاگنگ/س کي ترتيب ڏيو ۽ استعمال ڪريو.ampليئر.
6. ڪنيڪشن بند ڪريو، پهرين ڊوائيس سان، پوءِ اڊاپٽر سان.

نسخو: doc 1.4.2 / NanoLib 1.3.0

11

پنهنجو ونڊوز پروجيڪٽ ٺاهڻ

NanoLib استعمال ڪرڻ لاءِ پنهنجو ونڊوز پروجيڪٽ ٺاهيو، مرتب ڪريو ۽ هلايو.
6.1 نانو لِب درآمد ڪريو
نانو ليب هيڊر درآمد ڪريو fileايم ايس ويزوئل اسٽوڊيو ذريعي فائلون ۽ لائبريريون.
1. Visual Studio کوليو. 2. نئون پروجيڪٽ ٺاهيو > ڪنسول ايپ C++ > اڳيون: پروجيڪٽ جو قسم چونڊيو. 3. Solution Explorer ۾ پروجيڪٽ فولڊر ٺاهڻ لاءِ پنهنجي پروجيڪٽ جو نالو ڏيو (هتي: NanolibTest). 4. Finish چونڊيو. 5. ونڊوز کوليو. file ايڪسپلورر کوليو ۽ نئين ٺاهيل پروجيڪٽ فولڊر ڏانهن وڃو. 6. ٻه نوان فولڊر ٺاهيو، inc ۽ lib. 7. NanoLib پيڪيج فولڊر کوليو. 8. اتان کان: هيڊر ڪاپي ڪريو fileشامل فولڊر مان توهان جي پروجيڪٽ فولڊر inc ۽ سڀني .lib ۽ .dll ۾ s
files کي پنھنجي نئين پروجيڪٽ فولڊر lib ۾ موڪليو. 9. پنھنجي پروجيڪٽ فولڊر کي ڊيو اسٽرڪچر لاءِ چيڪ ڪريو، مثال طورampاليزي:

Nanotic-NanoLib-C++-Programming-FIG- (2)ڊيو اسٽرڪچر لاءِ ect فولڊر:
. نانوليب ٽيسٽ انڪ ايڪسيسر_فيڪٽري.ايڇ پي پي بس_هارڊ ويئر_آئي ڊي.ايڇ پي پي … او ڊي_انڊيڪس.ايڇ پي پي نتيجو_او ڊي_انٽري.ايڇ پي پي لِب نانوليب ايم_ڪينوپين.ڊي ايل ايل … نانوليب.ليب نانوليب ٽيسٽ.سي پي پي نانوليب ٽيسٽ.وي سي ايڪس پروج نانوليب ٽيسٽ.وي سي ايڪس پروج.فيلٽر نانوليب ٽيسٽ.وي سي ايڪس پروج.يوزر نانوليب ٽيسٽ.ايس ايل اين
6.2 پنھنجي منصوبي کي ترتيب ڏيو
نانو لِب پروجيڪٽس سيٽ اپ ڪرڻ لاءِ ايم ايس ويزوئل اسٽوڊيو ۾ سوليوشن ايڪسپلورر استعمال ڪريو. نوٽ: صحيح نانو لِب آپريشن لاءِ، ويزوئل سي++ پروجيڪٽ سيٽنگز ۾ رليز (ڊيبگ نه!) ڪنفيگريشن چونڊيو؛ پوءِ پروجيڪٽ کي سي++ ري ڊسٽريبيوٽيبلز جي وي سي رن ٽائمز سان ٺاهيو ۽ ڳنڍيو [2022].
1. حل ايڪسپلورر ۾: پنهنجي پروجيڪٽ فولڊر ڏانهن وڃو (هتي: NanolibTest). 2. ڪنٽيڪسٽ مينيو کولڻ لاءِ فولڊر تي ڪو-ڪلڪ ڪريو. 3. پراپرٽيز چونڊيو. 4. سڀ ڪنفيگريشن ۽ سڀ پليٽ فارم فعال ڪريو. 5. C/C++ چونڊيو ۽ اضافي شامل ڊائريڪٽريز ڏانهن وڃو. 6. داخل ڪريو: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. لنڪر چونڊيو ۽ اضافي لائبريري ڊائريڪٽريز ڏانهن وڃو. 8. داخل ڪريو: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. لنڪر کي وڌايو ۽ ان پٽ چونڊيو. 10. اضافي انحصار ڏانهن وڃو ۽ داخل ڪريو: nanolib.lib;%(AdditionalDependencies) 11. OK ذريعي تصديق ڪريو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

12

6 پنهنجو ونڊوز پروجيڪٽ ٺاهڻ
12. Configuration > C++ > Language > Language Standard > ISO C++17 Standard ڏانهن وڃو ۽ ٻوليءَ جي معيار کي C++17 (/std:c++17) تي سيٽ ڪريو.
6.3 پنھنجو منصوبو ٺاھيو
ايم ايس ويزوئل اسٽوڊيو ۾ پنهنجو نانو لِب پروجيڪٽ ٺاهيو. 1. مکيه *.cpp کوليو. file (هتي: nanolib_example.cpp) ۽ جيڪڏهن ضرورت هجي ته ڪوڊ ايڊٽ ڪريو. 2. Build > Configuration Manager چونڊيو. 3. Active solution platforms کي x64 ۾ تبديل ڪريو. 4. Close ذريعي تصديق ڪريو. 5. Build > Build solution چونڊيو. 6. ڪا غلطي ناهي؟ چيڪ ڪريو ته ڇا توهان جو ڪمپائل آئوٽ پٽ صحيح طور تي رپورٽ ڪري ٿو:
1>—— صاف شروع ٿيو: منصوبو: نانوليب ٽيسٽ، ترتيب: ڊيبگ x64 —–=========== صاف: 1 ڪامياب ٿيو، 0 ناڪام ٿيو، 0 ڇڏي ويو ==========

نسخو: doc 1.4.2 / NanoLib 1.3.0

13

7 پنهنجو لينڪس پروجيڪٽ ٺاهڻ
7 پنهنجو لينڪس پروجيڪٽ ٺاهڻ
NanoLib استعمال ڪرڻ لاءِ پنهنجو لينڪس پروجيڪٽ ٺاهيو، مرتب ڪريو ۽ هلايو. 1. ان زپ ٿيل NanoLib انسٽاليشن ڪٽ ۾: کوليو /nanotec_nanolib. 2. tar.gz ۾ سڀ شيئر ڪيل شيون ڳوليو. file. 3. هڪ آپشن چونڊيو: هر ليب کي Make سان انسٽال ڪريوfile يا هٿ سان.
7.1 Make سان شيئر ڪيل شيون انسٽال ڪريوfile
ٺاهيو استعمال ڪريوfile لينڪس بيش سان سڀني ڊفالٽ *.so کي خودڪار طور تي انسٽال ڪرڻ لاءِ files. 1. بش ذريعي: ان فولڊر ڏانهن وڃو جنهن ۾ ميڪ آهيfile. 2. شيئر ڪيل شيون نقل ڪريو ذريعي:
sudo make install 3. تصديق ڪريو ذريعي:
ldconfig
7.2 هٿ سان شيئر ڪيل شيون انسٽال ڪريو
سڀني *.so کي انسٽال ڪرڻ لاءِ بيش استعمال ڪريو fileNanoLib جي دستي طور تي. 1. Bash ذريعي: /usr/local/lib اندر هڪ نئون فولڊر ٺاهيو. 2. انتظامي حقن جي ضرورت آهي! قسم:
sudo mkdir /usr/local/lib/nanotec 3. ان زپ ٿيل انسٽاليشن پيڪيج فولڊر ۾ تبديل ڪريو. 4. lib فولڊر مان سڀني شيئر ڪيل شين کي نقل ڪريو ذريعي:
انسٽال ڪريو ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. ٽارگيٽ فولڊر جي مواد کي هن ذريعي چيڪ ڪريو:
ls -al /usr/local/lib/nanotec/ 6. چيڪ ڪريو ته ڇا lib فولڊر مان سڀئي شيئر ڪيل شيون لسٽ ٿيل آهن. 7. هن فولڊر تي ldconfig کي هن ذريعي هلايو:
سوڊو ldconfig / يو ايس آر / مقامي / لب / نانوٽيڪ /
7.3 پنهنجو منصوبو ٺاهيو
توهان جي شيئر ڪيل شين کي انسٽال ڪرڻ سان: پنهنجي لينڪس نانو لِب لاءِ هڪ نئون پروجيڪٽ ٺاهيو. 1. بش ذريعي: هڪ نئون پروجيڪٽ فولڊر ٺاهيو (هتي: نانو لِب ٽيسٽ) ذريعي:
mkdir نانو لب ٽيسٽ سي ڊي نانو لب ٽيسٽ
2. هيڊر ڪاپي ڪريو files کي شامل ڪيل فولڊر ڏانهن (هتي: inc) ذريعي: mkdir inc cp / FILE آئي ايس>/نانوٽيڪ_نانوليب/انڪ/*.ايڇ پي پي انڪ
3. هڪ مکيه ٺاهيو file (NanoLibTest.cpp) ذريعي: #شامل ڪريو “accessor_factory.hpp” #شامل ڪريو

نسخو: doc 1.4.2 / NanoLib 1.3.0

14

7 پنهنجو لينڪس پروجيڪٽ ٺاهڻ
انٽ مين(){ اين ايل سي:: نانو ليب ايڪسيسر * رسائي ڪندڙ = نانو ليب ايڪسيسر حاصل ڪريو();
nlc::ResultBusHwIds نتيجو = رسائي ڏيندڙ->لسٽ موجود بس هارڊويئر();
جيڪڏهن (نتيجو.هيس ايرر()) { ايس ٽي ڊي::ڪائوٽ << نتيجو.گيٽ ايرر() << ايس ٽي ڊي::اينڊ ايل؛ }
ٻيو { std::cout << "ڪاميابي" << std::endl; }
رسائيندڙ کي ختم ڪريو؛ واپسي 0؛ }
4. پنهنجي پروجيڪٽ فولڊر کي مناسب جوڙجڪ لاءِ چيڪ ڪريو:

Nanotic-NanoLib-C++-Programming-FIG- (3)
. نانو لب ٽيسٽ
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 پنھنجي منصوبي کي مرتب ڪريو ۽ جانچ ڪريو
پنهنجي لينڪس نانو لِب کي بش ذريعي استعمال لاءِ تيار ڪريو.
1. بش ذريعي: مکيه کي مرتب ڪريو file ذريعي:
g++ -وال -ويڪسٽرا -پيڊنٽڪ -I./inc -c نانو ليب ٽيسٽ.cpp -o نانو ليب ٽيسٽ
2. ايگزيڪيوٽيبل کي هڪٻئي سان ڳنڍيو:
g++ -وال -ويڪسٽرا -پيڊنٽڪ -I./inc -o ٽيسٽ NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. ٽيسٽ پروگرام کي هن ذريعي هلايو:
./ٽيسٽ
4. چيڪ ڪريو ته ڇا توهان جو بش صحيح طور تي رپورٽ ڪري ٿو:
ڪاميابي

نسخو: doc 1.4.2 / NanoLib 1.3.0

15

8 طبقن / افعال جو حوالو

8 طبقن / افعال جو حوالو

هتي ڳوليو NanoLib جي يوزر انٽرفيس ڪلاسن ۽ انهن جي ميمبرن جي هڪ فهرست. هڪ فنڪشن جي عام وضاحت ۾ هڪ مختصر تعارف، فنڪشن جي تعريف ۽ هڪ پيٽرولر / واپسي جي فهرست شامل آهي:

ExampleFunction () توهان کي مختصر طور تي ٻڌائي ٿو ته فنڪشن ڇا ڪندو آهي.
ورچوئل خالي nlc::NanoLibAccessor::Exampلي فنڪشن (پرم_اي ڪانسٽ ۽ پرم_اي، پرم_بي ڪانسٽ ۽ پرم_بي)

پيرا ميٽرس param_a param_b
واپسي نتيجوVoid

اضافي تبصرو جيڪڏهن ضرورت هجي. اضافي تبصرو جيڪڏهن ضرورت هجي.

8.1 NanoLibAccessor

انٽرفيس ڪلاس داخل ٿيڻ واري پوائنٽ طور استعمال ڪيو ويو NanoLib ڏانهن. هڪ عام ڪم فلو هن طرح نظر اچي ٿو:
1. NanoLibAccessor.listAvailableBusHardware () سان هارڊويئر کي اسڪين ڪرڻ شروع ڪريو. 2. BusHardwareOptions () سان ڪميونيڪيشن سيٽنگون سيٽ ڪريو. 3. NanoLibAccessor.openBusHardwareWithProtocol () سان هارڊويئر ڪنيڪشن کوليو. 4. NanoLibAccessor.scanDevices () سان ڳنڍيل ڊوائيسز لاء بس اسڪين ڪريو. 5. NanoLibAccessor.addDevice () سان هڪ ڊوائيس شامل ڪريو. 6. NanoLibAccessor.connectDevice () سان ڊوائيس سان ڳنڍيو. 7. آپريشن کي ختم ڪرڻ کان پوء، ڊوائيس کي NanoLibAccessor.disconnectDevice (). 8. NanoLibAccessor.removeDevice () سان ڊوائيس کي هٽايو. 9. NanoLibAccessor.closeBusHardware () سان هارڊويئر ڪنيڪشن بند ڪريو.
NanoLibAccessor ھيٺ ڏنل عوامي ميمبر افعال آھن:

listAvailableBusHardware () هن فنڪشن کي استعمال ڪريو دستياب فيلڊ بس هارڊويئر کي لسٽ ڪرڻ لاءِ.
ورچوئل رزلٽ بس ايڇ ڊبليو آئي ڊيز اين ايل سي:: نانو ليب ايڪسيسر:: لسٽ موجود بس هارڊويئر ()

Returns ResultBusHwIds

مهيا ڪري ٿو هڪ فيلڊ بس ID صف.

openBusHardwareWithProtocol () بس هارڊويئر کي ڳنڍڻ لاءِ هي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اوپن بس هارڊ ويئر وِٿ پروٽوڪول (بس هارڊ ويئر آئي ڊي ڪانسٽ ۽ بس ايڇ ڊبليو آءِ ڊي، بس هارڊ ويئر آپشنز ڪانسٽ ۽ بس ايڇ ڊبليو او پي ٽي)

پيرا ميٽر busHwId busHwOpt
واپسي نتيجوVoid

کولڻ لاءِ فيلڊ بس جي وضاحت ڪري ٿي. فيلڊ بس کولڻ جا اختيار بيان ڪري ٿو. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

isBusHardwareOpen () هي فنڪشن استعمال ڪريو چيڪ ڪرڻ لاءِ ته ڇا توهان جو فيلڊ بس هارڊويئر ڪنيڪشن کليل آهي.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اوپن بس هارڊ ويئر وِٿ پروٽوڪول (ڪنسٽ بس هارڊ ويئر آئي ڊي ۽ بس ايڇ ڊبليو آءِ ڊي، ڪانسٽ بس هارڊ ويئر آپشنز ۽ بس ايڇ ڊبليو او پي ٽي)

نسخو: doc 1.4.2 / NanoLib 1.3.0

16

8 طبقن / افعال جو حوالو

پيرا ميٽرس BusHardwareId صحيح موٽائي ٿو
ڪوڙو

هر فيلڊ بس کي کولڻ لاءِ وضاحت ڪري ٿو. هارڊويئر کليل آهي. هارڊويئر بند آهي.

getProtocolSpecificAccessor () پروٽوڪول-مخصوص رسائيندڙ اعتراض حاصل ڪرڻ لاءِ ھي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ پروٽوڪول اسپيسيفڪ ايڪسيسر (بس هارڊ ويئر آئي ڊي ڪانسٽ ۽ بس ايڇ ڊبليو آئي ڊي)

پيرا ميٽرس busHwId ريٽرنس وائڊ

رسيسر حاصل ڪرڻ لاءِ فيلڊ بس جي وضاحت ڪري ٿي. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

getProfinetDCP () Profinet DCP انٽرفيس ڏانهن حوالو موٽڻ لاءِ هي فنڪشن استعمال ڪريو.
ورچوئل پروفينيٽ ڊي سي پي ۽ گيٽ پروفينيٽ ڊي سي پي ()

واپسي ProfinetDCP

حاصل ايسamplerInterface () s جو حوالو حاصل ڪرڻ لاءِ ھي فنڪشن استعمال ڪريوampler انٽرفيس.
ورچوئل ايسampلير انٽرفيس ۽ گيٽ ايسampلير انٽرفيس ()

واپسي Sampler انٽرفيس

ايس ڏانهن اشاروampler انٽرفيس ڪلاس.

setBusState () هن فنڪشن کي استعمال ڪريو بس-پروٽوڪول-مخصوص رياست قائم ڪرڻ لاءِ.
ورچوئل رزلٽ وائيڊ nlc::NanoLibAccessor::setBusState (const BusHardwareId ۽ busHwId، const std::string ۽ state)

پيٽرولر busHwId حالت
واپسي نتيجوVoid

کولڻ لاءِ فيلڊ بس جي وضاحت ڪري ٿي. بس مخصوص رياست کي اسٽرنگ ويليو طور مقرر ڪري ٿو. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

scanDevices () نيٽ ورڪ ۾ ڊوائيسز لاء اسڪين ڪرڻ لاء هي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ ڊيوائس آئي ڊيز اين ايل سي:: نانو ليب ايڪسيسر:: اسڪين ڊيوائسز (ڪنسٽ بس هارڊ ويئر آئي ڊي ۽ بس ايڇ ڊبليو آئي ڊي، اين ايل سي اسڪين بس ڪال بيڪ* ڪال بيڪ)

پيٽرولر busHwId ڪال بيڪ
Returns ResultDeviceIds IOError

اسڪين ڪرڻ لاءِ فيلڊ بس جي وضاحت ڪري ٿي. NlcScanBusCallback ترقي ٽريڪر. ڊيوائس جي سڃاڻپ جي صف کي پهچائي ٿو. خبر آهي ته هڪ ڊوائيس نه مليو آهي.

نسخو: doc 1.4.2 / NanoLib 1.3.0

17

8 طبقن / افعال جو حوالو

ڊيوائس شامل ڪريو ()
هن فنڪشن کي استعمال ڪندي deviceId پاران بيان ڪيل بس ڊيوائس کي NanoLib جي اندروني ڊيوائس لسٽ ۾ شامل ڪريو، ۽ ان لاءِ deviceHandle واپس ڪريو.
ورچوئل رزلٽ ڊيوائس هينڊل nlc::NanoLibAccessor::addDevice (ڊيوائس آئي ڊي ڪانسٽ ۽ ڊيوائس آئي ڊي)

پيراميٽر ڊيوائس آئي ڊي ريٽرنس ڊيوائس هينڊل

فهرست ۾ شامل ڪرڻ لاءِ ڊوائيس بيان ڪري ٿو. ڊيوائس هينڊل پهچائي ٿو.

connectDevice () هن فنڪشن کي استعمال ڪريو ڊوائيس هينڊل ذريعي ڊوائيس ڳنڍڻ لاءِ.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: ڪنيڪٽ ڊيوائس (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس وائڊ
IOError

وضاحت ڪري ٿي ته ڪهڙي بس ڊيوائس NanoLib سان ڳنڍي ٿي. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي. خبر آهي ته هڪ ڊوائيس نه مليو آهي.

getDeviceName () هن فنڪشن کي استعمال ڪريو ڊوائيس جو نالو حاصل ڪرڻ لاءِ deviceHandle ذريعي.
ورچوئل رزلٽ اسٽرنگ nlc::NanoLibAccessor::getDeviceName (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس ريسرچ اسٽرنگ

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib لاءِ نالو ملي ٿو. ڊوائيس جا نالا هڪ تار جي طور تي پهچائي ٿو.

getDeviceProductCode () هن فنڪشن کي استعمال ڪريو ڊوائيس جو پراڊڪٽ ڪوڊ حاصل ڪرڻ لاءِ ڊوائيس هينڊل ذريعي.
ورچوئل رزلٽ انٽ اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس پروڊڪٽ ڪوڊ (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيراميٽر ڊوائيس هينڊل واپسي نتيجا

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي پراڊڪٽ ڪوڊ لاءِ. پراڊڪٽ ڪوڊس کي انٽيجر طور پهچائي ٿو.

getDeviceVendorId () هن فنڪشن کي استعمال ڪريو ڊوائيس وينڊر جي سڃاڻپ حاصل ڪرڻ لاءِ ڊيوائس هينڊل ذريعي.
ورچوئل رزلٽ انٽ اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس وينڊور آئي ڊي (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيراميٽر ڊوائيس هينڊل واپسي نتيجا
وسيلا غير دستياب

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي وينڊر ID لاءِ. وينڊر جي ID کي انٽيجر طور پهچائي ٿو. ڄاڻايو ته ڪو به ڊيٽا نه مليو آهي.

نسخو: doc 1.4.2 / NanoLib 1.3.0

18

8 طبقن / افعال جو حوالو

getDeviceId () NanoLib اندروني لسٽ مان مخصوص ڊوائيس جي ID حاصل ڪرڻ لاء هي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ ڊيوائس آئي ڊي اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس آئي ڊي (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيراميٽر ڊيوائس هينڊل ريٽرنس ڊيوائس آئي ڊي

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي ڊوائيس ID لاءِ. ڊيوائس جي سڃاڻپ فراهم ڪري ٿي.

getDeviceIds () NanoLib اندروني لسٽ مان سڀني ڊوائيسز جي سڃاڻپ حاصل ڪرڻ لاء هي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ ڊيوائس آئي ڊيز اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس آئي ڊيز ()

Returns ResultDeviceIds

ڊيوائس جي سڃاڻپ لسٽ فراهم ڪري ٿي.

getDeviceUid () هن فنڪشن کي استعمال ڪريو ڊوائيس جي منفرد ID (96 بٽ / 12 بائيٽ) حاصل ڪرڻ لاءِ ڊيوائس هينڊل ذريعي.
ورچوئل رزلٽ ايري بائيٽ اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس يو آءِ ڊي (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس ريٽرنس آرري بائيٽ
وسيلا غير دستياب

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي منفرد ID لاءِ. هڪ بائيٽ صف جي طور تي منفرد ID فراهم ڪري ٿو. ڄاڻايو ته ڪو به ڊيٽا نه مليو آهي.

getDeviceSerialNumber () هن فنڪشن کي استعمال ڪريو ڊوائيس جو سيريل نمبر حاصل ڪرڻ لاءِ ڊوائيس هينڊل ذريعي.
ورچوئل رزلٽ اسٽرنگ نانوليب ايڪسيسر:: گيٽ ڊيوائس سيريل نمبر (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس ريسرچ اسٽرنگ
وسيلا غير دستياب

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي سيريل نمبر لاءِ. سيريل نمبرن کي اسٽرنگ طور پهچائي ٿو. ڄاڻايو ته ڪو به ڊيٽا نه مليو آهي.

getDeviceHardwareGroup () هن فنڪشن کي استعمال ڪريو بس ڊيوائس جي هارڊويئر گروپ کي deviceHandle ذريعي حاصل ڪرڻ لاءِ.
ورچوئل رزلٽ ڊيوائس آئي ڊي اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس هارڊ ويئر گروپ (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيراميٽر ڊوائيس هينڊل واپسي نتيجا

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي هارڊويئر گروپ لاءِ.
هارڊويئر گروپن کي انٽيجر طور پهچائي ٿو.

getDeviceHardwareVersion () هن فنڪشن کي استعمال ڪريو بس ڊيوائس جي هارڊويئر ورزن کي deviceHandle ذريعي حاصل ڪرڻ لاءِ.
ورچوئل رزلٽ ڊيوائس آئي ڊي اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس هارڊ ويئر ورزن (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

نسخو: doc 1.4.2 / NanoLib 1.3.0

19

8 طبقن / افعال جو حوالو

پيراميٽر ڊوائيس هينڊل

واپسي

ResultString Resource Unavailable

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي هارڊويئر ورزن لاءِ. ڊوائيس جا نالا هڪ تار جي طور تي پهچائي ٿو. ڄاڻايو ته ڪو به ڊيٽا نه مليو آهي.

getDeviceFirmwareBuildId () هن فنڪشن کي استعمال ڪريو بس ڊيوائس جي فرم ویئر بلڊ آئي ڊي حاصل ڪرڻ لاءِ ڊيوائس هينڊل ذريعي.
ورچوئل رزلٽ ڊيوائس آئي ڊي اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس فرم ويئر بلڊ آئي ڊي (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس ريسرچ اسٽرنگ

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي فرم ویئر بلڊ ID لاءِ.
ڊوائيس جا نالا هڪ تار جي طور تي پهچائي ٿو.

getDeviceBootloaderVersion () هن فنڪشن کي استعمال ڪريو بس ڊيوائس جي بوٽ لوڊر ورزن کي ڊيوائس هينڊل ذريعي حاصل ڪرڻ لاءِ.
ورچوئل رزلٽ انٽ اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ ڊيوائس بوٽ لوڊر ورزن (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيراميٽر ڊوائيس هينڊل

واپسي

ResultInt Resource Unavailable

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib بوٽ لوڊر ورزن لاءِ حاصل ڪري ٿي. بوٽ لوڊر ورزن کي انٽيجر طور پهچائي ٿو. ڄاڻايو ته ڪو به ڊيٽا نه مليو آهي.

getDeviceBootloaderBuildId () هن فنڪشن کي استعمال ڪريو بس ڊيوائس جي بوٽ لوڊر بلڊ آئي ڊي حاصل ڪرڻ لاءِ ڊيوائس هينڊل ذريعي.
ورچوئل رزلٽ ڊيوائس آئي ڊي اين ايل سي:: نانو ليب ايڪسيسر:: (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس ريسرچ اسٽرنگ

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي بوٽ لوڊر بلڊ ID لاءِ.
ڊوائيس جا نالا هڪ تار جي طور تي پهچائي ٿو.

rebootDevice () ڊوائيس هينڊل ذريعي ڊوائيس کي ريبوٽ ڪرڻ لاءِ هي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: ريبوٽ ڊيوائس (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس وائڊ

ريبوٽ ڪرڻ لاءِ فيلڊ بس کي بيان ڪري ٿو. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

getDeviceState () هن فنڪشن کي استعمال ڪريو ڊوائيس-پروٽوڪول-مخصوص رياست حاصل ڪرڻ لاءِ.
ورچوئل رزلٽ اسٽرنگ nlc::NanoLibAccessor::getDeviceState (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيراميٽر ڊوائيس هينڊل

وضاحت ڪري ٿو ته نانو لِب ڪهڙي بس ڊيوائس لاءِ حالت حاصل ڪري ٿو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

20

8 طبقن / افعال جو حوالو

Returns ResultString

ڊوائيس جا نالا هڪ تار جي طور تي پهچائي ٿو.

setDeviceState () هن فنڪشن کي استعمال ڪريو ڊوائيس-پروٽوڪول-مخصوص رياست قائم ڪرڻ لاء.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: سيٽ ڊيوائس اسٽيٽ (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ۽ اسٽيٽ)

پيرا ميٽرس ڊوائيس هينڊل اسٽيٽ
واپسي نتيجوVoid

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib رياست لاءِ سيٽ ڪري ٿي. بس مخصوص رياست کي اسٽرنگ ويليو طور مقرر ڪري ٿو. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

ڪنيڪشن اسٽيٽ حاصل ڪريو ()
deviceHandle (= ڊسڪنيڪٽ ٿيل، ڪنيڪٽ ٿيل، ڪنيڪٽ ٿيل بوٽ لوڊر) ذريعي ڪنهن مخصوص ڊوائيس جي آخري ڄاتل سڃاتل ڪنيڪشن اسٽيٽ حاصل ڪرڻ لاءِ هن فنڪشن کي استعمال ڪريو.
ورچوئل رزلٽ ڪنيڪشن اسٽيٽ nlc::NanoLibAccessor::getConnectionState (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل واپسي نتيجا ڪنيڪشن اسٽيٽ

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib لاءِ ڪنيڪشن اسٽيٽ حاصل ڪري ٿي.
ڪنيڪشن جي حالت فراهم ڪري ٿي (= منقطع، ڳنڍيل، ڳنڍيل بوٽ لوڊر).

چيڪ ڪنيڪشن اسٽيٽ ()
صرف ان صورت ۾ جڏهن آخري ڄاتل سڃاتل حالت ڊسڪنيڪٽ نه هئي: هن فنڪشن کي استعمال ڪريو ڊيوائس هينڊل ذريعي ۽ ڪيترن ئي موڊ-مخصوص آپريشنز جي جانچ ڪندي ڪنهن مخصوص ڊوائيس جي ڪنيڪشن اسٽيٽ کي چيڪ ڪرڻ ۽ ممڪن طور تي اپڊيٽ ڪرڻ لاءِ.
ورچوئل رزلٽ ڪنيڪشن اسٽيٽ nlc::NanoLibAccessor::CheckConnectionState (DeviceHandle const deviceHandle)

پيرا ميٽرس ڊيوائس هينڊل واپسي نتيجا ڪنيڪشن اسٽيٽ

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib ڪنيڪشن جي حالت جي جانچ ڪري ٿي.
ڪنيڪشن جي حالت پهچائي ٿو (= نه منقطع).

assignObjectDictionary () هن دستي فنڪشن کي استعمال ڪريو هڪ آبجیکٹ ڊڪشنري (OD) کي تفويض ڪرڻ لاءِ ڊوائيس هينڊل پاڻ تي.
ورچوئل رزلٽ آبجيڪٽ ڊڪشنري nlc::NanoLibAccessor::assignObjectDictionary (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل، آبجيڪٽ ڊڪشنري ڪانسٽ ۽ آبجيڪٽ ڊڪشنري)

پيراميٽر ڊوائيس هينڊل آبجیکٹ ڊڪشنري
واپسي ResultObjectDictionary

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib OD کي تفويض ڪري ٿو. هڪ اعتراض لغت جي خاصيتون ڏيکاري ٿو.

autoAssignObjectDictionary ()
هن آٽوميزم کي استعمال ڪريو NanoLib کي هڪ اعتراض ڊڪشنري (OD) کي ڊيوائس هينڊل کي تفويض ڪرڻ لاءِ. هڪ مناسب OD ڳولڻ ۽ لوڊ ڪرڻ تي، NanoLib خودڪار طريقي سان ان کي ڊوائيس تي تفويض ڪري ٿو. نوٽ: جيڪڏهن هڪ مطابقت رکندڙ OD اڳ ۾ ئي لوڊ ٿيل آهي اعتراض لائبريري ۾، NanoLib خودڪار طريقي سان استعمال ڪندو ان کي جمع ٿيل ڊاريڪٽري کي اسڪين ڪرڻ کان سواء.
ورچوئل رزلٽ آبجيڪٽ ڊڪشنري nlc::NanoLibAccessor::autoAssignObjectDictionary (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل، ڪانسٽ ايس ٽي ڊي::اسٽرنگ ۽ ڊڪشنريز لوڪيشن پاٿ)

نسخو: doc 1.4.2 / NanoLib 1.3.0

21

8 طبقن / افعال جو حوالو

پيراميٽر ڊوائيس هينڊل

واپسي

ڊڪشنري LocationPath ResultObject Dictionary

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس لاءِ NanoLib خودڪار طريقي سان مناسب OD لاءِ اسڪين ڪندو. OD ڊاريڪٽري ڏانهن رستو بيان ڪري ٿو. هڪ اعتراض لغت جي خاصيتن کي ڏيکاري ٿو.

مقرر ڪيل آبجیکٹ ڊڪشنري حاصل ڪريو ()
deviceHandle پاران ڪنهن به ڊوائيس کي تفويض ڪيل آبجيڪٽ ڊڪشنري حاصل ڪرڻ لاءِ هن فنڪشن کي استعمال ڪريو.
ورچوئل رزلٽ آبجيڪٽ ڊڪشنري nlc::NanoLibAccessor::getAssignedObjectDictionary (ڊيوائس هينڊل ڪانسٽ ڊيوائس
هٿ)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس ريزلٽآبجڪٽ ڊڪشنري

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib حاصل ڪري ٿي تفويض ڪيل OD لاءِ. هڪ اعتراض لغت جي خاصيتن کي ڏيکاري ٿو.

getObjectDictionaryLibrary () هي فنڪشن OdLibrary ريفرنس ڏي ٿو.
ورچوئل او ڊي لائبريري ۽ اين ايل سي:: نانو ليب ايڪسيسر:: گيٽ آبجيڪٽ ڊڪشنري لائبريري ()

واپسي OdLibrary

پوري OD لائبريري ۽ ان جي اعتراض ڊڪشنري کي کوليو.

setLoggingLevel () هن فنڪشن کي استعمال ڪريو گهربل لاگ تفصيل سيٽ ڪرڻ لاءِ (۽ لاگ file سائيز). ڊفالٽ سطح ڄاڻ آھي.
ورچوئل خالي nlc::NanoLibAccessor::setLoggingLevel (لاگ ليول ليول)

پيٽرولر جي سطح

هيٺ ڏنل لاگ تفصيلات ممڪن آهن:

0 = ٽريس 1 = ڊيبگ 2 = ڄاڻ 3 = خبردار 4 = غلطي 5 = نازڪ 6 = بند

گھٽ ۾ گھٽ سطح (سڀ کان وڏو لاگ file؛ ڪنهن به ممڪن تفصيل کي لاگ ان ڪري ٿو، گڏوگڏ سافٽ ويئر شروع / اسٽاپ. لاگ ڊيبگ ڄاڻ (= عبوري نتيجا، مواد موڪليو يا وصول ڪيو، وغيره) ڊفالٽ سطح؛ لاگ ان معلوماتي پيغام. لاگ ان مسئلا جيڪي ٿي چڪا آھن پر موجوده الگورتھم کي روڪي نه سگھندا. لاگ صرف سخت مصيبت جيڪا الگورتھم کي روڪيو. بلند ترين سطح (ننڍو لاگ file؛ لاگنگ بند ڪري ٿو؛ وڌيڪ لاگ ان ناهي. ڪا به لاگنگ ناهي.

لاگنگ ڪال بيڪ سيٽ ڪريو ()
هن فنڪشن کي استعمال ڪندي لاگنگ ڪال بيڪ پوائنٽر ۽ لاگ ماڊيول (= لائبريري) ان ڪال بيڪ لاءِ سيٽ ڪريو (خود لاگر لاءِ نه).
ورچوئل خالي nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* ڪال بيڪ، const nlc::LogModule ۽ logModule)

پيرا ميٽرز *ڪال بيڪ لاگ ماڊل

ڪال بيڪ پوائنٽر سيٽ ڪري ٿو. ڪال بيڪ کي (لاگر نه!) توهان جي لائبريري ۾ ٽيون ڪري ٿو.

0 = نانولب ڪور 1 = نانولب ڪي اوپن 2 = نانولب موڊبس 3 = نانولب ايٿر ڪيٽ

صرف NanoLib جي ڪور لاءِ ڪال بيڪ چالو ڪري ٿو. صرف CANopen ڪال بيڪ چالو ڪري ٿو. صرف Modbus ڪال بيڪ چالو ڪري ٿو. صرف EtherCAT ڪال بيڪ چالو ڪري ٿو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

22

8 طبقن / افعال جو حوالو

4 = نانوليب ريسٽ 5 = نانوليب يو ايس بي

صرف REST ڪال بيڪ کي چالو ڪري ٿو. صرف USB ڪال بيڪ کي چالو ڪري ٿو.

unsetLoggingCallback () لاگنگ ڪال بيڪ پوائنٽر کي منسوخ ڪرڻ لاءِ ھي فنڪشن استعمال ڪريو.
ورچوئل خالي nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () هن فنڪشن کي استعمال ڪريو اعتراض جي لغت مان عددي قدر پڙهڻ لاءِ.
ورچوئل رزلٽ انٽ اين ايل سي:: نانو ليب ايڪسيسر:: ريڊ نمبر (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، ڪانسٽ او ڊي انڊيڪس او ڊي انڊيڪس)

پيرا ميٽرس ڊوائيس هينڊل odIndex
واپسي جو نتيجو

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib مان پڙهي ٿي. بيان ڪري ٿو (ذيلي) انڊيڪس مان پڙهڻ لاءِ. هڪ غير تشريح ٿيل عددي قدر فراهم ڪري ٿو (سائنس ٿي سگهي ٿو، اڻ دستخط ٿيل، 16.16 بٽ ويلز کي درست ڪريو).

readNumberArray () هن فنڪشن کي استعمال ڪريو انگن اکرن کي پڙهڻ لاءِ اعتراض ڊڪشنري مان.
ورچوئل رزلٽ ايري انٽ اين ايل سي:: نانو ليب ايڪسيسر:: ريڊ نمبر ايري (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، ڪانسٽ يو آءِ ٽي 16_ ٽي انڊيڪس)

پيراميٽر ڊوائيس هينڊل انڊيڪس
واپسي ResultArrayInt

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib مان پڙهي ٿي. آري اعتراض انڊيڪس. انٽيجر ايري فراهم ڪري ٿو.

readBytes () هن فنڪشن کي استعمال ڪريو آربرٽري بائيٽس (ڊومين آبجیکٹ ڊيٽا) کي پڙهڻ لاءِ اعتراض ڊڪشنري مان.
ورچوئل رزلٽ ايري بائيٽ اين ايل سي:: نانو ليب ايڪسيسر:: ريڊ بائيٽس (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، ڪانسٽ او ڊي انڊيڪس او ڊي انڊيڪس)

پيرا ميٽرس ڊوائيس هينڊل odIndex
واپسي ResultArrayByte

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib مان پڙهي ٿي. بيان ڪري ٿو (ذيلي) انڊيڪس مان پڙهڻ لاءِ. هڪ بائيٽ صف پهچائي ٿو.

readString () هن فنڪشن کي استعمال ڪريو اعتراض ڊاريڪٽري مان اسٽرنگ پڙهڻ لاء.
ورچوئل رزلٽ اسٽرنگ nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle، const OdIndex odIndex)

پيرا ميٽرس ڊوائيس هينڊل odIndex
Returns ResultString

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib مان پڙهي ٿي. بيان ڪري ٿو (ذيلي) انڊيڪس مان پڙهڻ لاءِ. ڊوائيس جا نالا هڪ تار جي طور تي پهچائي ٿو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

23

8 طبقن / افعال جو حوالو

writeNumber () اعتراض ڊاريڪٽري ۾ عددي قدر لکڻ لاءِ هي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: لکڻ نمبر (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، انٽ 64_t ويليو، ڪانسٽ او ڊي انڊيڪس او ڊي انڊيڪس، غير دستخط ٿيل انٽ بٽ لينگٿ)

پيرا ميٽرس ڊيوائس هينڊل ويليو odIndex bitLength
واپسي نتيجوVoid

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib لکي ٿو. اڻڄاتل قدر (دستخط ٿي سگھي ٿو، غير دستخط ٿيل، درست ڪريو 16.16). بيان ڪري ٿو (ذيلي) انڊيڪس مان پڙهڻ لاءِ. ٿورڙي ۾ ڊگھائي. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

writeBytes () هي فنڪشن استعمال ڪريو آربرٽري بائيٽس (ڊومين آبجیکٹ ڊيٽا) کي آبجیکٹ ڊاريڪٽري ۾ لکڻ لاءِ.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: رائٽ بائيٽس (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، ڪانسٽ ايس ٽي ڊي:: ویکٹر ۽ ڊيٽا، ڪانسٽ او ڊي انڊيڪس او ڊي انڊيڪس)

پيرا ميٽرس ڊوائيس هينڊل ڊيٽا odIndex
واپسي نتيجوVoid

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib لکي ٿو. بائيٽ ویکٹر / صف. بيان ڪري ٿو (ذيلي) انڊيڪس مان پڙهڻ لاءِ. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

اپلوڊ فرم ويئر ()
پنھنجي ڪنٽرولر فرم ويئر کي اپڊيٽ ڪرڻ لاءِ ھن فنڪشن کي استعمال ڪريو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اپ لوڊ فرم ويئر (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، ڪانسٽ ايس ٽي ڊي:: ویکٹر ۽ fwData، NlcDataTransferCallback* ڪال بيڪ)

پيرا ميٽرس ڊيوائس هينڊل fwData NlcDataTransferCallback
واپسي نتيجوVoid

وضاحت ڪري ٿي ته ڪهڙي بس ڊيوائس NanoLib تازه ڪاري ڪري ٿي. فرم ویئر ڊيٽا تي مشتمل صف. ڊيٽا جي ترقيءَ جو ٽريسر. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

UploadFirmwareFromFile ()
هن فنڪشن کي استعمال ڪريو پنهنجي ڪنٽرولر فرم ويئر کي اپ لوڊ ڪندي اپڊيٽ ڪرڻ لاءِ file.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اپ لوڊ فرم ويئر کانFile (const DeviceHandle deviceHandle، const std::string ۽ absoluteFileرستو، اين ايل سي ڊيٽا ٽرانسفر ڪال بيڪ* ڪال بيڪ)

پيرا ميٽرس ڊوائيس هينڊل مطلقFileرستو NlcDataTransferCallback
واپسي نتيجوVoid

وضاحت ڪري ٿي ته ڪهڙي بس ڊيوائس NanoLib تازه ڪاري ڪري ٿي. ڏانهن رستو file فرم ويئر ڊيٽا تي مشتمل (std::string). هڪ ڊيٽا پروگريس ٽريسر. تصديق ڪري ٿو ته هڪ void فنڪشن هلي چڪو آهي.

نسخو: doc 1.4.2 / NanoLib 1.3.0

24

8 طبقن / افعال جو حوالو

اپلوڊ بوٽ لوڊر ()
پنهنجي ڪنٽرولر بوٽ لوڊر کي اپڊيٽ ڪرڻ لاءِ هن فنڪشن کي استعمال ڪريو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اپ لوڊ بوٽ لوڊر (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، ڪانسٽ ايس ٽي ڊي:: ویکٹر ۽ btData، NlcDataTransferCallback* ڪال بيڪ)

پيراميٽر ڊوائيس هينڊل btData NlcDataTransferCallback
واپسي نتيجوVoid

وضاحت ڪري ٿي ته ڪهڙي بس ڊيوائس NanoLib تازه ڪاري ڪري ٿي. بوٽ لوڊر ڊيٽا تي مشتمل صف. هڪ ڊيٽا جي ترقي ٽريڪٽر. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

بوٽ لوڊ ڪندڙ تان اپ لوڊ ڪريوFile ()
هن فنڪشن کي استعمال ڪندي پنهنجي ڪنٽرولر بوٽ لوڊر کي اپ لوڊ ڪندي اپڊيٽ ڪريو file.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اپ لوڊ بوٽ لوڊر کانFile (const DeviceHandle deviceHandle، const std::string ۽ bootloaderAbsolute)Fileرستو، اين ايل سي ڊيٽا ٽرانسفر ڪال بيڪ* ڪال بيڪ)

پيرا ميٽرس ڊيوائس هينڊل بوٽ لوڊر AbsoluteFileرستو NlcDataTransferCallback
واپسي نتيجوVoid

وضاحت ڪري ٿي ته ڪهڙي بس ڊيوائس NanoLib تازه ڪاري ڪري ٿي. ڏانهن رستو file بوٽ لوڊر ڊيٽا (std::string) تي مشتمل. هڪ ڊيٽا پروگريس ٽريسر. تصديق ڪري ٿو ته هڪ void فنڪشن هلي چڪو آهي.

اپلوڊ بوٽ لوڊر فرم ويئر ()
پنهنجي ڪنٽرولر بوٽ لوڊر ۽ فرم ويئر کي اپڊيٽ ڪرڻ لاءِ هن فنڪشن کي استعمال ڪريو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اپ لوڊ بوٽ لوڊر فرم ويئر (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل، ڪانسٽ ايس ٽي ڊي:: ویکٹر ۽ بي ٽي ڊيٽا، ڪانسٽ ايس ٽي ڊي:: ویکٹر ۽ fwData، NlcDataTransferCallback* ڪال بيڪ)

پيرا ميٽرس ڊيوائس هينڊل btData fwData NlcDataTransferCallback
واپسي نتيجوVoid

وضاحت ڪري ٿي ته ڪهڙي بس ڊيوائس NanoLib تازه ڪاري ڪري ٿي. بوٽ لوڊر ڊيٽا تي مشتمل صف. فرم ویئر ڊيٽا تي مشتمل صف. ڊيٽا جي ترقيءَ جو ٽريسر. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

اپ لوڊ ڪريو بوٽ لوڊر فرم ویئر تانFile ()
اپ لوڊ ڪندي پنهنجي ڪنٽرولر بوٽ لوڊر ۽ فرم ويئر کي اپڊيٽ ڪرڻ لاء هي فنڪشن استعمال ڪريو files.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اپ لوڊ بوٽ لوڊر فرم ويئر کانFile (const DeviceHandle deviceHandle، const std::string ۽ bootloaderAbsolute)Fileرستو، ڪانسٽ اسٽڊي:: اسٽرنگ ۽ ايبسولوٽFileرستو، اين ايل سي ڊيٽا ٽرانسفر ڪال بيڪ* ڪال بيڪ)

پيرا ميٽرس ڊيوائس هينڊل بوٽ لوڊر AbsoluteFileرستو مطلقFileرستو NlcDataTransferCallback
واپسي نتيجوVoid

وضاحت ڪري ٿي ته ڪهڙي بس ڊيوائس NanoLib تازه ڪاري ڪري ٿي. ڏانهن رستو file بوٽ لوڊر ڊيٽا (std::string) تي مشتمل آهي. ڏانهن رستو file فرم ویئر ڊيٽا تي مشتمل (uint8_t). هڪ ڊيٽا جي ترقي ٽريڪٽر. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

نسخو: doc 1.4.2 / NanoLib 1.3.0

25

8 طبقن / افعال جو حوالو

اپلوڊ نانو جي ()
نانو جي پروگرام کي پنهنجي ڪنٽرولر تي اپڊيٽ ڪرڻ لاءِ هن عوامي فنڪشن کي استعمال ڪريو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: اپ لوڊ نانو جي (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل، ايس ٽي ڊي:: ویکٹر ڪانسٽ ۽ وي ايم ايم ڊيٽا، اين ايل سي ڊيٽا ٽرانسفر ڪال بيڪ* ڪال بيڪ)

پيراميٽر ڊوائيس هينڊل vmmData NlcDataTransferCallback
واپسي نتيجوVoid

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib اپلوڊ ڪري ٿي. NanoJ ڊيٽا تي مشتمل صف. ڊيٽا جي ترقيءَ جو ٽريسر. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

UploadNanoJFromFile ()
هن عوامي فنڪشن کي استعمال ڪندي NanoJ پروگرام کي پنهنجي ڪنٽرولر تي اپ لوڊ ڪريو file.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب رسائي ڪندڙ:: اپ لوڊ نانو جي کانFile (const DeviceHandle deviceHandle، const std::string ۽ absoluteFileرستو، اين ايل سي ڊيٽا ٽرانسفر ڪال بيڪ* ڪال بيڪ)

پيرا ميٽرس ڊوائيس هينڊل مطلقFileرستو NlcDataTransferCallback
واپسي نتيجوVoid

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib اپلوڊ ڪري ٿي. ڏانهن رستو file NanoJ ڊيٽا تي مشتمل (std::string). هڪ ڊيٽا پروگريس ٽريسر. تصديق ڪري ٿو ته هڪ void فنڪشن هليو آهي.

disconnectDevice () هن فنڪشن کي استعمال ڪريو پنهنجي ڊوائيس کي ڊس ڪنيڪٽ ڪرڻ لاءِ ڊيوائس هينڊل.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: ڊسڪنيڪٽ ڊيوائس (ڊيوائس هينڊل ڪانسٽ ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس وائڊ

وضاحت ڪري ٿو ته ڪهڙي بس ڊيوائس NanoLib کان ڌار ٿي. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

removeDevice () هن فنڪشن کي استعمال ڪريو پنهنجي ڊوائيس کي NanoLib جي اندروني ڊوائيس لسٽ مان هٽائڻ لاء.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: ڊيوائس کي هٽايو (ڪنسٽ ڊيوائس هينڊل ڊيوائس هينڊل)

پيرا ميٽرس ڊيوائس هينڊل ريٽرنس وائڊ

وضاحت ڪري ٿي ته ڪهڙي بس ڊيوائس NanoLib ڊيسٽ ڪري ٿي. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

closeBusHardware () ھي فنڪشن استعمال ڪريو پنھنجي فيلڊ بس هارڊويئر کان ڌار ڪرڻ لاءِ.
ورچوئل رزلٽ وائيڊ اين ايل سي:: نانو ليب ايڪسيسر:: بند بس هارڊ ويئر (بس هارڊ ويئر آئي ڊي ڪانسٽ ۽ بس ايڇ ڊبليو آئي ڊي)

پيرا ميٽرس busHwId ريٽرنس وائڊ

بيان ڪري ٿو فيلڊ بس کان ڌار ٿيڻ لاءِ. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

نسخو: doc 1.4.2 / NanoLib 1.3.0

26

8 طبقن / افعال جو حوالو

8.2 بس هارڊويئر آئي ڊي
هي ڪلاس استعمال ڪريو بس هارڊويئر کي هڪ کان ٻئي جي سڃاڻپ ڪرڻ يا مختلف بس هارڊويئر کي هڪ ٻئي کان ڌار ڪرڻ لاءِ. هي طبقو (سيٽر جي ڪمن کان سواءِ تخليق ٿيڻ کان اڻ مٽ هجڻ) تي پڻ معلومات رکي ٿي:
هارڊويئر (= اڊاپٽر جو نالو، نيٽ ورڪ اڊاپٽر وغيره) استعمال ڪرڻ لاءِ پروٽوڪول (= Modbus TCP، CANopen وغيره) بس هارڊويئر اسپيسائيزر (= سيريل پورٽ جو نالو، MAC دوستانه نالو
پتو وغيره)

بس هارڊويئر آئي ڊي () [1/3] ٺاهيندڙ جيڪو هڪ نئون بس هارڊويئر آئي ڊي آبجيڪٽ ٺاهي ٿو.
nlc::BusHardwareId::BusHardwareId (ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ بس هارڊويئر_، ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ پروٽوڪول_، ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ هارڊويئر اسپيسيفائر_، ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ نالو_)

پيرا ميٽر بس هارڊ ويئر_ پروٽوڪول_ هارڊويئر بيان ڪندڙ_ اضافي هارڊويئر بيان ڪندڙ_ نالو_

هارڊويئر جو قسم (= ZK-USB-CAN-1 وغيره). بس ڪميونيڪيشن پروٽوڪول (= CANopen وغيره). هارڊويئر جي وضاحت ڪندڙ (= COM3 وغيره). هارڊويئر جو اضافي وضاحت ڪندڙ (چئو، USB هنڌ جي معلومات). هڪ دوستي نالو (= AdapterName (پورٽ) وغيره.

بس هارڊ ويئر آئي ڊي () [2/3] ڪنسٽرڪٽر جيڪو هڪ نئون بس هارڊويئر آئي ڊي آبجيڪٽ ٺاهي ٿو، هڪ اضافي هارڊويئر اسپيسيفائر جي آپشن سان.
nlc::BusHardwareId::BusHardwareId (ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ بس هارڊويئر_، ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ پروٽوڪول_، ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ هارڊويئر اسپيسيفائر_، ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ ايڪسٽرا هارڊويئر اسپيسيفائر_، ايس ٽي ڊي::ايس ٽي ڊي ڪانسٽ ۽ نالو_)

پيرا ميٽر بس هارڊ ويئر_ پروٽوڪول_ هارڊويئر بيان ڪندڙ_ اضافي هارڊويئر بيان ڪندڙ_ نالو_

هارڊويئر جو قسم (= ZK-USB-CAN-1 وغيره). بس ڪميونيڪيشن پروٽوڪول (= CANopen وغيره). هارڊويئر جي وضاحت ڪندڙ (= COM3 وغيره). هارڊويئر جو اضافي وضاحت ڪندڙ (چئو، USB هنڌ جي معلومات). هڪ دوستي نالو (= AdapterName (پورٽ) وغيره.

BusHardwareId () [3/3] ٺاھيندڙ جيڪو ھڪڙي موجوده busHardwareId کي نقل ڪري ٿو.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

پيٽرولر بس هارڊ ويئر آئي ڊي

نقل ڪرڻ لاءِ بس هارڊويئر ID جو نالو ڏيو.

برابر () نئين بس هارڊويئر ID کي موجوده وارن سان ڀيٽي ٿو.
bool nlc::BusHardwareId::equals (BusHardwareId const ۽ ٻيا) const

Parameters ٻيا واپسي سچا

ساڳئي ڪلاس جو ٻيو اعتراض. جيڪڏهن ٻئي سڀني قدرن ۾ برابر آهن.

نسخو: doc 1.4.2 / NanoLib 1.3.0

27

8 طبقن / افعال جو حوالو

ڪوڙو

جيڪڏهن قدر مختلف آهن.

getBusHardware () بس هارڊويئر اسٽرنگ کي پڙهي ٿو.
std::string nlc::BusHardwareId::getBusHardware () ڪانسٽ

واپسي تار

getHardwareSpecifier () بس هارڊويئر جي وضاحت ڪندڙ اسٽرنگ (= نيٽ ورڪ جو نالو وغيره) پڙهي ٿو.
std::string nlc::BusHardwareId::getHardwareSpecifier () ڪانسٽ

واپسي تار

getExtraHardwareSpecifier () بس جي اضافي هارڊويئر جي وضاحت ڪندڙ اسٽرنگ (= MAC ايڊريس وغيره) پڙهي ٿو.
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

واپسي تار

getName () بس هارڊويئر جو دوستانه نالو پڙهي ٿو.
std::string nlc::BusHardwareId::getName() ڪانسٽ

واپسي تار

getProtocol () بس پروٽوڪول اسٽرنگ پڙهي ٿو.
std::string nlc::BusHardwareId::getProtocol () ڪانسٽ

واپسي تار

toString () بس هارڊويئر ID کي اسٽرنگ جي طور تي واپس ڪري ٿو.
std::string nlc::BusHardwareId::toString () ڪانسٽ

واپسي تار
8.3 بس هارڊ ويئر جا اختيار
هن ڪلاس ۾، اسٽرنگ جي ڪي-ويليو لسٽ ۾، بس هارڊويئر کولڻ لاءِ گهربل سڀئي آپشن ڳوليو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

28

8 طبقن / افعال جو حوالو

بس هارڊ ويئر آپشنز () [1/2] هڪ نئون بس هارڊويئر آپشن آبجيڪٽ ٺاهي ٿو.
nlc::BusHardwareOptions::BusHardwareOptions () ڪي-ويليو جوڙو شامل ڪرڻ لاءِ فنڪشن addOption () استعمال ڪريو.

BusHardwareOptions () [2/2] نئين بس هارڊويئر آپشن شئي ٺاهي ٿي جنهن ۾ ڪي-ويليو نقشو اڳ ۾ ئي موجود آهي.
اين ايل سي:: بس هارڊ ويئر آپشنز:: بس هارڊ ويئر آپشنز (ايس ٽي ڊي:: نقشو (قسط ۽ اختيار)

پيرا ميٽرز جا اختيار

بس هارڊويئر کي هلائڻ لاءِ اختيارن سان گڏ هڪ نقشو.

addOption () اضافي ڪنجيون ۽ قدر ٺاهي ٿو.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

پيرا ميٽر جي اهم قدر

Example: BAUD_RATE_OPTIONS_NAME, ڏسو bus_hw_options_ defaults
Example: BAUD_RATE_1000K، ڏسو bus_hw_options_defaults

برابر () BusHardware Options کي موجوده اختيارن سان ڀيٽي ٿو.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const ۽ ٻيا) const

Parameters ٻيا واپسي سچا
ڪوڙو

ساڳئي طبقي جو ٻيو اعتراض. جيڪڏهن ٻئي اعتراض ۾ سڀ ساڳيا اختيار آهن. جيڪڏهن ٻيو اعتراض مختلف ڪنجيون يا قدر آهن.

getOptions () پڙهي ٿو سڀ شامل ڪيل اهم-قدر جوڙو.
ايس ٽي ڊي::نقشو اين ايل سي:: بس هارڊ ويئر آپشنز:: گيٽ آپشنز () ڪانسٽ

واپسي اسٽرنگ نقشو

toString () سڀ ڪيئي / ويلز کي اسٽرنگ طور واپس ڪري ٿو.
std::string nlc::BusHardwareId::toString () ڪانسٽ

واپسي تار
8.4 BusHwOptions Default
هي ڊفالٽ ترتيب واري آپشن ڪلاس ۾ هيٺيون عوامي خاصيتون آهن:

نسخو: doc 1.4.2 / NanoLib 1.3.0

29

8 طبقن / افعال جو حوالو

const CanBus const سيريل const RESTfulBus const EtherCATBus

canBus = CanBus () serial = سيريل () restfulBus = RESTfulBus () ethercatBus = EtherCATBus ()

8.5 CanBaudRate

ساخت جنهن ۾ CAN بس بيڊريٽ شامل آهن هيٺين عوامي خاصيتن ۾:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_RATE_100K = "100k" BAUD_50 " 50k" BAUD_RATE_20K = "20k" BAUD_RATE_10K = "10k" BAUD_RATE_5K = "5k"

8.6 ڪين بس

ڊفالٽ ٺاھ جوڙ جا اختيار ڪلاس ھيٺ ڏنل عوامي خاصيتن سان:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ڪين باؤڊ ريٽ ڪانسٽ آئيڪسيٽ

BAUD_RATE_OPTIONS_NAME = "ڪيئن اڊاپٽر بيڊ ريٽ" baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

NMT خدمت لاءِ، ھن جوڙجڪ ۾ CANopen NMT رياستون ھيٺ ڏنل عوامي خاصيتن ۾ اسٽرنگ ويلز شامل آھن:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

START = "START" STOP = "STOP" PRE_OPERATIONAL = "PRE_OPERATIONAL" RESET = "RESET" RESET_COMMUNICATION = "RESET_COMMUNICATION"

8.8 CanOpenNmtState

ھن جوڙجڪ ۾ CANopen NMT رياستون ھيٺ ڏنل عوامي خاصيتن ۾ اسٽرنگ ويلز شامل آھن:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

بند ٿيل = "روڪيو" اڳ_آپريشن = "اڳوڻي" آپريشنل = "آپريشنل" شروعاتي = "شروعاتي" اڻڄاتل = "اڻڄاڻ"

8.9 EtherCATBus struct

هي ڍانچي هيٺ ڏنل عوامي خاصيتن ۾ EtherCAT ڪميونيڪيشن جي ترتيب جا اختيار شامل آهن:

نسخو: doc 1.4.2 / NanoLib 1.3.0

30

8 طبقن / افعال جو حوالو

const std::string NETWORK_FIRMWARE_STATE_OP- نيٽ ورڪ اسٽيٽ کي فرم ويئر موڊ طور سمجهيو ويندو آهي. قابل قبول

TION_NAME = "نيٽ ورڪ فرم ويئر اسٽيٽ"

قدر (default = PRE_OPERATIONAL):

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

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڊيفالٽ_ نيٽ ورڪ_ فرم ويئر_ اسٽيٽ = "پري_آپريشنل"

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- خاص لاڪ آن حاصل ڪرڻ لاءِ ملي سيڪنڊن ۾ وقت ختم

TION_NAME = "شيئرڊ لاڪ ٽائم آئوٽ"

نيٽ ورڪ (ڊفالٽ = 500 ايم ايس).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"

const std::string SHARED_LOCK_TIMEOUT_OPTION_ ٽائيم آئوٽ ملي سيڪنڊن ۾ شيئر ٿيل لاڪ آن حاصل ڪرڻ لاءِ

NAME = "شيئرڊ لاڪ ٽائم آئوٽ"

نيٽ ورڪ (ڊفالٽ = 250 ايم ايس).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = "250"

const std::string READ_TIMEOUT_OPTION_NAME = پڙهڻ جي عمل لاءِ ملي سيڪنڊن ۾ وقت ختم (ڊفالٽ)

"پڙهڻ جو وقت ختم ٿيو"

= 700 ايم ايس).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = لکڻ جي عمل لاءِ ملي سيڪنڊن ۾ وقت ختم (ڊفالٽ)

"وقت ختم لکو"

= 200 ايم ايس).

const unsigned int DEFAULT_WRITE_TIMEOUT = "200"

const std::string READ_WRITE_ATTEMPTS_OPTION_ پڙهڻ يا لکڻ جي وڌ ۾ وڌ ڪوششون (غير صفر قدر)

نالو = "پڙهڻ/لکڻ جون ڪوششون"

صرف؛ ڊفالٽ = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = "5"

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "نيٽ ورڪ اسٽيٽ ڪوششون تبديل ڪريو"

نيٽ ورڪ اسٽيٽ کي تبديل ڪرڻ جي ڪوششن جو وڌ ۾ وڌ تعداد (صرف غير صفر قدر؛ ڊفالٽ = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"

const std::string PDO_IO_ENABLED_OPTION_NAME ڊجيٽل ان- / لاءِ PDO پروسيسنگ کي فعال يا غير فعال ڪري ٿو.

= "PDO IO فعال"

آئوٽ پُٽ (صرف "سچو" يا "غلط"؛ ڊفالٽ = "سچو").

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ DEFAULT_PDO_IO_ENABLED = "سچو"

8.10 EtherCATS اسٽيٽ struct

ھن جوڙجڪ ۾ شامل آھي EtherCAT غلام / نيٽ ورڪ رياستن کي ھيٺين عوامي خاصيتن ۾ اسٽرنگ ويلز طور. نوٽ: پاور تي ڊفالٽ حالت آهي PRE_OPERATIONAL؛ NanoLib غير حقيقي وقت آپريٽنگ سسٽم ۾ ڪو به قابل اعتماد "آپريشنل" رياست مهيا ڪري سگهي ٿو:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

ڪون = "ڪو به نه" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" آپريشنل = "آپريشنل"

نسخو: doc 1.4.2 / NanoLib 1.3.0

31

8 طبقن / افعال جو حوالو

8.11 ايڪسات

هي struct هيٺ ڏنل عوامي خاصيتن ۾ Ixxat usb-to-can لاءِ سڀ معلومات رکي ٿو:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “ixat اڊاپٽر بس نمبر”

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

هي struct هيٺ ڏنل عوامي خاصيتن ۾ Ixxat usb-to-can لاءِ بس نمبر رکي ٿو:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

بس_نمبر_0_ڊفالٽ = "0" بس_نمبر_1 = "1" بس_نمبر_2 = "2" بس_نمبر_3 = "3"

8.13 جي چوٽي

هي struct هيٺ ڏنل عوامي خاصيتن ۾ Peak usb-to-can لاءِ سڀ معلومات رکي ٿو:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "چوٽي اڊاپٽر بس نمبر"

ڪانسٽ پيڪ اڊاپٽر بس نمبر اڊاپٽر بس نمبر = پيڪ اڊاپٽر بس نمبر ()

8.14 پيڪ اڊاپٽر بس نمبر

هي اسٽرڪچر هيٺ ڏنل عوامي خاصيتن ۾ پيڪ يو ايس بي-ٽو-ڪين لاءِ بس نمبر رکي ٿو:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

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) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::to_string (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = اسٽڊي:: کان_اسٽرنگ (PCAN_USBBUS11) BUS_NUMBER_12 = اسٽڊي:: کان_اسٽرنگ (PCAN_USBBUS12) BUS_NUMBER_13 = اسٽڊي:: کان_اسٽرنگ (PCAN_USBBUS13) BUS_NUMBER_14 = اسٽڊي:: کان_اسٽرنگ (PCAN_USBBUS14) BUS_NUMBER_15 = اسٽڊي:: کان_اسٽرنگ (PCAN_USBBUS15) BUS_NUMBER_16 = اسٽڊي:: کان_اسٽرنگ (PCAN_USBBUS16)

8.15 ڊوائيس هينڊل
هي طبقو هڪ بس تي هڪ ڊوائيس کي ڪنٽرول ڪرڻ لاء هڪ هينڊل جي نمائندگي ڪري ٿو ۽ هيٺيان عوامي ميمبر افعال آهي.

ڊيوائس هينڊل () ڊيوائس هينڊل (uint32_t هينڊل)

نسخو: doc 1.4.2 / NanoLib 1.3.0

32

8 طبقن / افعال جو حوالو

equals () پاڻ کي ڏنل ڊيوائس هينڊل سان ڀيٽي ٿو.
bool برابر (DeviceHandle const other) const (uint32_t handle)

toString () ڊيوائس هينڊل جي اسٽرنگ جي نمائندگي ڪري ٿو.
std::string toString () const

get () ڊوائيس هينڊل واپس ڪري ٿو.
uint32_t حاصل ڪريو () تسلسل

8.16 ڊوائيس آئي ڊي
بس ۾ ڊوائيسز کي سڃاڻڻ ۽ فرق ڪرڻ لاءِ هي طبقو استعمال ڪريو (تخليق کان اڻ مٽ نه آهي)

هارڊويئر اڊاپٽر جي سڃاڻپ ڪندڙ

ڊوائيس جي سڃاڻپ ڪندڙ

وصف

ڊيوائس جي سڃاڻپ / وضاحت جي قدرن جو دارومدار بس تي منحصر آهي. مثال طورampلي، هڪ CAN بس انٽيجر ID استعمال ڪري سگھي ٿي.

DeviceId () [1/3] نئين ڊيوائس ID اعتراض ٺاهي ٿو.
nlc::DeviceId::DeviceId (بس هارڊ ويئر آئي ڊي ڪانسٽ ۽ بس هارڊ ويئر آئي ڊي_، غير دستخط ٿيل انٽ ڊيوائس آئي ڊي_، ايس ٽي ڊي::اسٽرنگ ڪانسٽ ۽ وضاحت_)

پيرا ميٽر بس هارڊ ويئر آئي ڊي_ ڊيوائس آئي ڊي_ بيان_

بس جي سڃاڻپ ڪندڙ. هڪ انگ اکر؛ بس جي تابع (= CANopen node ID وغيره). وضاحت (شايد خالي هجي)؛ بس جي تابع.

DeviceId () [2/3] وڌايل ID اختيارن سان هڪ نئون ڊوائيس ID اعتراض ٺاهي ٿو.
nlc::DeviceId::DeviceId (بس هارڊ ويئر آئي ڊي ڪانسٽ ۽ بس هارڊ ويئر آئي ڊي، غير دستخط ٿيل انٽ ڊيوائس آئي ڊي_، ايس ٽي ڊي::اسٽرنگ ڪانسٽ ۽ وضاحت_ ايس ٽي ڊي::ویکٹر ڪانسٽ ۽ ايڪسٽرا ائڊ_، ايس ٽي ڊي::اسٽرنگ ڪانسٽ ۽ ايڪسٽرا ائڊ_)

پيرا ميٽرز بس هارڊ ويئر آئي ڊي_ ڊيوائس آئي ڊي_ وضاحت_ اضافي آئي ڊي_ اضافي اسٽرنگ آئي ڊي_

بس جي سڃاڻپ ڪندڙ. هڪ انڊيڪس؛ بس جي تابع (= CANopen نوڊ ID وغيره). هڪ وضاحت (خالي ٿي سگهي ٿي)؛ بس جي تابع. هڪ اضافي ID (خالي ٿي سگهي ٿي)؛ مطلب بس تي منحصر آهي. اضافي اسٽرنگ ID (خالي ٿي سگهي ٿي)؛ مطلب بس تي منحصر آهي.

DeviceId () [3/3] هڪ ڊوائيس ID اعتراض جي ڪاپي ٺاهي ٿو.
nlc::DeviceId::DeviceId (ڊوائيس آئي ڊي ڪانسٽ ۽)

نسخو: doc 1.4.2 / NanoLib 1.3.0

33

8 طبقن / افعال جو حوالو

پيٽرولر ڊوائيسId_

نقل ڪرڻ لاءِ ڊوائيس ID.

equals () موجوده شين سان نئين جي ڀيٽ ڪري ٿو.
bool nlc::DeviceId::equals (DeviceId const ۽ other) const

بوليان ڏي ٿو

getBusHardwareId () بس هارڊويئر ID پڙهي ٿو.
بس هارڊ ويئر آئي ڊي اين ايل سي:: ڊيوائس آئي ڊي:: گيٽ بس هارڊ ويئر آئي ڊي () ڪانسٽ

واپسي BusHardwareId

getDescription () ڊوائيس جي تفصيل پڙهي ٿو (شايد غير استعمال ٿيل).
std::string nlc::DeviceId::getDescription () const

واپسي تار

getDeviceId () ڊيوائس جي سڃاڻپ پڙهي ٿو (شايد غير استعمال ٿيل).
غير دستخط ٿيل int nlc::DeviceId::GetDeviceId () const

واپسي غير دستخط ٿيل انٽ

toString () اعتراض کي اسٽرنگ طور واپس ڪري ٿو.
std::string nlc::DeviceId::toString () ڪانسٽ

واپسي تار

getExtraId () ڊوائيس جي اضافي ID کي پڙهي ٿو (شايد غير استعمال ٿيل هجي).
ڪانسٽ ايس ٽي ڊي::ویکٹر &getExtraId () ڪانسٽ

ویکٹر واپس ڪري ٿو

اضافي اضافي ID جي هڪ ویکٹر (خالي ٿي سگهي ٿو)؛ مطلب بس تي منحصر آهي.

getExtraStringId () ڊوائيس جي اضافي اسٽرنگ ID کي پڙهي ٿو (شايد غير استعمال ٿيل هجي).
std::string getExtraStringId () const

نسخو: doc 1.4.2 / NanoLib 1.3.0

34

8 طبقن / افعال جو حوالو

واپسي تار

اضافي اسٽرنگ ID (شايد خالي هجي)؛ مطلب بس تي منحصر آهي.

8.17 LogLevel Converter

هي ڪلاس توهان جي لاگ ليول کي اسٽرنگ جي طور تي واپس ڪري ٿو. جامد std::string toString (nlc::LogLevel logLevel)

8.18 لاگ ماڊيول ڪنورٽر

هي ڪلاس توهان جي لائبريري جي مخصوص لاگ ماڊيول سيٽ لاگنگ ليول () کي اسٽرنگ طور واپس ڪري ٿو.

جامد ايس ٽي ڊي:: اسٽرنگ

ٽو اسٽرنگ (اين ايل سي:: لاگ ماڊل لاگ ماڊل)

جامد std::string toString (nlc::LogModule logModule)

8.19 آبجیکٹ ڊڪشنري
هي ڪلاس هڪ ڪنٽرولر جي هڪ اعتراض لغت جي نمائندگي ڪري ٿو ۽ هيٺ ڏنل عوامي ميمبر افعال آهن: getDeviceHandle ()
ورچوئل رزلٽ ڊيوائس هينڊل getDeviceHandle () const رزلٽ ڊيوائس هينڊل واپس ڪري ٿو

getObject () ورچوئل ResultObjectSubEntry getObject (OdIndex const odIndex) ResultObjectSubEntry واپس ڪري ٿو

getObjectEntry () ورچوئل رزلٽ آبجیکٹ اينٽري getObjectEntry (uint16_t انڊيڪس)

ResultObjectEntry واپسي

ڪنهن شئي جي خاصيتن تي ڄاڻ ڏئي ٿي.

getXmlFileنالو () ورچوئل رزلٽ اسٽرنگ getXmlFileنالو () مستقل

Returns ResultString

واپسي XML file هڪ تار جو نالو.

readNumber () ورچوئل رزلٽ انٽ readNumber (OdIndex const odIndex) رزلٽ انٽ واپس ڪري ٿو
readNumberArray () ورچوئل رزلٽArrayInt readNumberArray (uint16_t ڪانسٽ انڊيڪس)

نسخو: doc 1.4.2 / NanoLib 1.3.0

35

8 طبقن / افعال جو حوالو
Returns ResultArrayInt readString ()
ورچوئل رزلٽ اسٽرنگ ريڊ اسٽرنگ (او ڊي انڊيڪس ڪانسٽ او ڊي انڊيڪس) رزلٽ اسٽرنگ ريڊ بائيٽس () ورچوئل رزلٽ ايري بائيٽ ريڊ بائيٽس (او ڊي انڊيڪس ڪانسٽ او ڊي انڊيڪس) رزلٽ ايري بائيٽ رائٽ نمبر () ورچوئل رزلٽ ويڊ رائٽ نمبر (او ڊي انڊيڪس ڪانسٽ او ڊي انڊيڪس، ڪانسٽ انٽي 64_t ويليو) رزلٽ ويڊ رائٽ بائيٽس () ورچوئل رزلٽ ويڊ رائٽ بائيٽس (او ڊي انڊيڪس ڪانسٽ او ڊي انڊيڪس، ايس ٽي ڊي:: ویکٹر واپس ڪري ٿو
const ۽ ڊيٽا) نتيجو باطل لاڳاپيل لنڪس واپس ڪري ٿو OdIndex
8.20 اعتراض داخل
هي ڪلاس آبجيڪٽ ڊڪشنري جي آبجيڪٽ انٽري جي نمائندگي ڪري ٿو، هيٺ ڏنل جامد محفوظ وصف ۽ عوامي ميمبر افعال آهن:
جامد اين ايل سي:: آبجيڪٽ سب انٽري غلط آبجيڪٽ
getName () اعتراض جي نالي کي اسٽرنگ طور پڙهي ٿو.
ورچوئل std::string getName () const
getPrivate () چيڪ ڪري ٿو ته اعتراض نجي آهي.
ورچوئل بُل getPrivate () ڪانسٽ
getIndex () اعتراض انڊيڪس جو پتو پڙهي ٿو.
ورچوئل uint16_t getIndex () ڪانسٽ

نسخو: doc 1.4.2 / NanoLib 1.3.0

36

8 طبقن / افعال جو حوالو

getDataType () اعتراض جي ڊيٽا جي قسم کي پڙهي ٿو.
ورچوئل اين ايل سي::آبجيڪٽ اينٽري ڊيٽا ٽائپ getDataType () ڪانسٽ

getObjectCode () اعتراض ڪوڊ پڙهي ٿو:

Null Deftype Defstruct Var Array رڪارڊ

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

ورچوئل اين ايل سي::آبجيڪٽ ڪوڊ getObjectCode () ڪانسٽ

getObjectSaveable () چيڪ ڪري ٿو ته ڇا اعتراض محفوظ آهي ۽ ان جي ڪيٽيگري آهي (وڌيڪ تفصيلن لاءِ پراڊڪٽ مينوئل ڏسو): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFYUNKVNLE, 1020
ورچوئل اين ايل سي::آبجيڪٽ سيو ايبل getObjectSaveable () ڪانسٽ

getMaxSubIndex () هن اعتراض جي حمايت ڪيل ذيلي انڊيڪس جو تعداد پڙهي ٿو.
ورچوئل uint8_t getMaxSubIndex () ڪانسٽ

getSubEntry () ورچوئل nlc::ObjectSubEntry ۽ getSubEntry (uint8_t subIndex)
پڻ ڏسو ObjectSubEntry.
8.21 ObjectSubEntry
هي طبقو اعتراض جي لغت جي ذيلي داخلا (سبائنڊڪس) جي نمائندگي ڪري ٿو ۽ هيٺيان عوامي ميمبر افعال آهن:
getName () اعتراض جي نالي کي اسٽرنگ طور پڙهي ٿو.
ورچوئل std::string getName () const

getSubIndex () سب انڊيڪس جو پتو پڙهي ٿو.
ورچوئل uint8_t getSubIndex () ڪانسٽ

نسخو: doc 1.4.2 / NanoLib 1.3.0

37

8 طبقن / افعال جو حوالو

getDataType () اعتراض جي ڊيٽا جي قسم کي پڙهي ٿو.
ورچوئل اين ايل سي::آبجيڪٽ اينٽري ڊيٽا ٽائپ getDataType () ڪانسٽ

getSdoAccess () چيڪ ڪري ٿو ته ذيلي انڊيڪس ايس ڊي او ذريعي رسائي لائق آهي:

صرف پڙهڻ

1

صرف لکڻ

2

پڙهو لکو

3

NoAccess

0

ورچوئل اين ايل سي::آبجيڪٽ ايس ڊو ايڪسيس ايٽريبيوٽ گيٽ ايس ڊو ايڪسيس () ڪانسٽ

getPdoAccess () چيڪ ڪري ٿو ته ڇا ذيلي انڊيڪس PDO ذريعي دستياب/ميپ لائق آهي:

Tx

1

Rx

2

TxRx

3

نه

0

ورچوئل اين ايل سي::آبجيڪٽ پي ڊو ايڪسيس ايٽريبيوٽ حاصل پي ڊو ايڪسيس () ڪانسٽ

getBitLength () subindex ڊگھائي چيڪ ڪري ٿو.
ورچوئل uint32_t getBitLength () ڪانسٽ

getDefaultValueAsNumeric () عددي ڊيٽا جي قسمن لاءِ ذيلي انڊيڪس جي ڊفالٽ قدر پڙهي ٿو.
ورچوئل رزلٽ انٽ getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () اسٽرنگ ڊيٽا جي قسمن لاءِ ذيلي انڊيڪس جي ڊفالٽ قيمت پڙهي ٿو.
ورچوئل رزلٽ اسٽرنگ getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() سب انڊيڪس جي ڊفالٽ ويلز کي پڙهي ٿو.
ورچوئل ايس ٽي ڊي::نقشو ڊفالٽ ويليوز () ڪانسٽ حاصل ڪريو

نسخو: doc 1.4.2 / NanoLib 1.3.0

38

8 طبقن / افعال جو حوالو

readNumber () سب انڊيڪس جي عددي حقيقي قيمت کي پڙهي ٿو.
ورچوئل رزلٽ انٽ ريڊ نمبر () ڪانسٽ

readString () سب انڊيڪس جي اسٽرنگ جي حقيقي قيمت کي پڙهي ٿو.
ورچوئل رزلٽ اسٽرنگ ريڊ اسٽرنگ () ڪانسٽ

readBytes () بائيٽس ۾ ذيلي انڊيڪس جي اصل قيمت پڙهي ٿو.
ورچوئل رزلٽ ايري بائيٽ ريڊ بائيٽس () ڪانسٽ

writeNumber () سب انڊيڪس ۾ عددي قدر لکي ٿو.
ورچوئل رزلٽ وائيڊ رائٽ نمبر (const int64_t ويليو) const

writeBytes () بائيٽ ۾ سب انڊيڪس ۾ هڪ قدر لکندو آهي.
ورچوئل رزلٽ وائيڊ رائٽ بائيٽس (ايس ٽي ڊي::ویکٹر) ڪانسٽ ۽ ڊيٽا) ڪانسٽ

8.22 OdIndex
آبجیکٹ ڊاريڪٽري انڊيڪس/ ذيلي انڊيڪس کي لڪائڻ ۽ ڳولڻ لاءِ هي ڪلاس استعمال ڪريو (تخليق کان اڻ مٽ). هڪ ڊوائيس جي OD ۾ 65535 (0xFFFF) قطارون ۽ 255 (0xFF) ڪالمن تائين؛ قطارن جي وچ ۾ وقفي سان. وڌيڪ تفصيل لاءِ CANopen معيار ۽ توھان جو پراڊڪٽ مينوئل ڏسو.
OdIndex () نئين OdIndex اعتراض ٺاهي ٿو.
اين ايل سي:: او ڊي انڊيڪس:: او ڊي انڊيڪس (uint16_t انڊيڪس، uint8_t ذيلي انڊيڪس)

پيرا ميٽر انڊيڪس سب انڊيڪس

0 کان 65535 (0xFFFF) سميت. 0 کان 255 (0xFF) سميت.

getIndex () انڊيڪس پڙهي ٿو (0x0000 کان 0xFFFF تائين).
uint16_t nlc::OdIndex::getIndex () ڪانسٽ

uint16_t واپس ڪري ٿو

getSubindex () پڙهي ٿو ذيلي انڊيڪس (0x00 کان 0xFF تائين)
uint8_t nlc::OdIndex::getSubIndex () ڪانسٽ

نسخو: doc 1.4.2 / NanoLib 1.3.0

39

8 طبقن / افعال جو حوالو

uint8_t واپس ڪري ٿو

toString () انڊيڪس ۽ سب انڊيڪس کي اسٽرنگ طور واپس ڪري ٿو. اسٽرنگ ڊفالٽ 0xIIII: 0xSS هن ريت پڙهي ٿو:

I = انڊيڪس 0x0000 کان 0xFFFF تائين

S = ذيلي انڊيڪس 0x00 کان 0xFF تائين

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

واپسي 0xIIII: 0xSS

ڊفالٽ اسٽرنگ جي نمائندگي

8.23 اوڊ لئبرري
XML مان ObjectDictionary ڪلاس جا مثال ٺاهڻ لاءِ هن پروگرامنگ انٽرفيس کي استعمال ڪريو. assignObjectDictionary ذريعي، توهان پوءِ هر هڪ مثال کي هڪ مخصوص ڊوائيس تي پابند ڪري سگهو ٿا ڇاڪاڻ ته هڪ منفرد ٺاهيل سڃاڻپ ڪندڙ. اهڙيءَ طرح ٺاهيل ObjectDictionary مثالن کي OdLibrary اعتراض ۾ محفوظ ڪيو وڃي ٿو ته جيئن انڊيڪس ذريعي رسائي سگهجي. ODLibrary ڪلاس مان ObjectDictionary شيون لوڊ ڪري ٿي file يا صف، انھن کي ذخيرو ڪري ٿو، ۽ ھيٺ ڏنل عوامي ميمبر افعال آھي:

getObjectDictionaryCount () ورچوئل uint32_t getObjectDictionaryCount () ڪانسٽ

getObjectDictionary () ورچوئل رزلٽ آبجیکٹ ڊڪشنري getObjectDictionary (uint32_t odIndex)

واپسي ResultObjectDictionary

AddObjectDictionaryFromFile ()
ورچوئل رزلٽ آبجیکٹ ڊڪشنري ايڊ آبجیکٹ ڊڪشنري فريمFile (اسٽڊي::اسٽرنگ ڪانسٽ ۽ ايبسولوٽ ايڪس ايم ايل)Fileرستو)

واپسي ResultObjectDictionary

آبجیکٹ ڊڪشنري شامل ڪريو ()
ورچوئل رزلٽ آبجيڪٽ ڊڪشنري ايڊ آبجيڪٽ ڊڪشنري (ايس ٽي ڊي::ویکٹر) ڪانسٽ ۽ او ڊي ايڪس ايم ايل ڊيٽا، ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ۽ ايڪس ايم ايلFileرستو = std::string ())

واپسي ResultObjectDictionary
8.24 OdTypesHelper
هيٺ ڏنل عوامي ميمبر ڪمن کان علاوه، هن ڪلاس ۾ ڪسٽم ڊيٽا ٽائپس شامل آهن. نوٽ: پنهنجي ڪسٽم ڊيٽا ٽائپس کي چيڪ ڪرڻ لاءِ، od_types.hpp ۾ enum ڪلاس ObjectEntryDataType ڳوليو.

uintToObjectCode () غير دستخط ٿيل عددن کي اعتراض ڪوڊ ۾ تبديل ڪري ٿو:

خالي ڊيف ٽائپ

0x00 0x05

نسخو: doc 1.4.2 / NanoLib 1.3.0

40

8 طبقن / افعال جو حوالو

ڊفريڪٽ وار ايري رڪارڊ

0x06 0x07 0x08 0x09

جامد آبجیکٹ ڪوڊ uintToObjectCode (غير دستخط ٿيل انٽ آبجیکٹ ڪوڊ)

isNumericDataType () ڄاڻائي ٿو ته ڊيٽا جو قسم عددي آهي يا نه.
جامد بُل عددي ڊيٽا ٽائپ آهي (آبجيڪٽ انٽري ڊيٽا ٽائپ ڊيٽا ٽائپ)

isDefstructIndex () ڄاڻائي ٿو ته هڪ اعتراض هڪ تعريف جي جوڙجڪ انڊيڪس آهي يا نه.
جامد bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () ڄاڻائي ٿو ته هڪ اعتراض هڪ تعريف واري قسم جي انڊيڪس آهي يا نه.
جامد bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () ڄاڻائي ٿو ته ڊيٽا جو قسم پيچيده آهي يا نه.
جامد بُل isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () غير دستخط ٿيل عددن کي OD ڊيٽا جي قسم ۾ تبديل ڪري ٿو.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () OD ڊيٽا جي قسم کي اسٽرنگ ۾ تبديل ڪري ٿو.
جامد std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () اسٽرنگ کي OD ڊيٽا جي قسم ۾ تبديل ڪري ٿو جيڪڏهن ممڪن هجي. ٻي صورت ۾، واپسي UNKNOWN_DATATYPE.
جامد آبجيڪٽ اينٽري ڊيٽا ٽائپ اسٽرنگ ٽو آبجيڪٽ اينٽري ڊيٽا ٽائپ (ايس ٽي ڊي::اسٽرنگ ڊيٽا ٽائپ اسٽرنگ)

نسخو: doc 1.4.2 / NanoLib 1.3.0

41

8 طبقن / افعال جو حوالو

ObjectEntryDataTypeBitLength () هڪ اعتراض داخل ٿيل ڊيٽا جي قسم جي بٽ ڊگھائي تي ڄاڻ ڏئي ٿو.
جامد uint32_t آبجيڪٽ انٽري ڊيٽا ٽائيپ بِٽ لينٿ (آبجيڪٽ انٽري ڊيٽا ٽائيپ ڪانسٽ ۽ ڊيٽا ٽائيپ)

8.25 RESTfulBus struct

هن جوڙجڪ ۾ RESTful انٽرفيس (ايٿرنيٽ مٿان) لاءِ ڪميونيڪيشن جي ترتيب جا اختيار شامل آهن. ان ۾ ھيٺيون عوامي خاصيتون شامل آھن:

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

CONNECT_TIMEOUT_OPTION_NAME = “RESTful Connect Timeout” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “RESTful Request timeout” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = RESPONSE_TIMEOUT_OPTION_NAME RESTful وقت ختم ٿيو 750

8.26 ProfinetDCP
لينڪس جي تحت، ڪالنگ ايپليڪيشن کي CAP_NET_ADMIN ۽ CAP_NET_RAW صلاحيتن جي ضرورت آهي. فعال ڪرڻ لاءِ: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. ونڊوز ۾، ProfinetDCP انٽرفيس WinPcap (ورجن 4.1.3 سان آزمايل) يا Npcap (ورجن 1.60 ۽ 1.30 سان آزمايل) استعمال ڪندو آهي. اهو اهڙيءَ طرح ڳولهي ٿو متحرڪ طور تي لوڊ ٿيل wpcap.dll لائبريري کي هيٺين ترتيب ۾ (نوٽ: موجوده Win10Pcap سپورٽ ناهي):
1. Nanolib.dll ڊاريڪٽري 2. ونڊوز سسٽم ڊاريڪٽري SystemRoot%System32 3. Npcap تنصيب ڊاريڪٽري SystemRoot%System32Npcap 4. ماحولياتي رستو
هي طبقو هڪ Profinet DCP انٽرفيس جي نمائندگي ڪري ٿو ۽ هيٺيان عوامي ميمبر افعال آهن:

getScanTimeout () ڊيوائس تي ڄاڻ ڏئي ٿو اسڪين ٽائم آئوٽ (ڊفالٽ = 2000 ايم ايس).
ورچوئل uint32_t nlc::ProfinetDCP::getScanTimeout () ڪانسٽ

setScanTimeout () ڊيوائس اسڪين جو وقت مقرر ڪري ٿو (ڊفالٽ = 2000 ms).
ورچوئل خالي nlc::setScanTimeout (uint32_t ٽائم آئوٽMsec)

getResponseTimeout () سيٽ اپ، ري سيٽ ۽ بلڪ آپريشنز لاءِ ڊيوائس جي جوابي وقت تي ڄاڻ ڏئي ٿو (ڊفالٽ = 1000 ايم ايس).
ورچوئل uint32_t nlc::ProfinetDCP::getResponseTimeout () ڪانسٽ

setResponseTimeout () سيٽ اپ، ري سيٽ ۽ بلڪ آپريشنز لاءِ ڊيوائس جي جوابي وقت تي ڄاڻ ڏئي ٿو (ڊفالٽ = 1000 ايم ايس).
ورچوئل خالي nlc::ProfinetDCP::setResponseTimeout (uint32_t ٽائم آئوٽMsec)

نسخو: doc 1.4.2 / NanoLib 1.3.0

42

8 طبقن / افعال جو حوالو

خدمت دستياب آهي ()
Profinet DCP سروس جي دستيابي کي جانچڻ لاءِ هي فنڪشن استعمال ڪريو.
نيٽ ورڪ اڊاپٽر جي صحيحيت / دستيابي ونڊوز: WinPcap / Npcap جي دستيابي لينڪس: CAP_NET_ADMIN / CAP_NET_RAW صلاحيتون
ورچوئل نتيجوVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

پيرا ميٽرس BusHardwareId صحيح موٽائي ٿو
ڪوڙو

Profinet DCP سروس جي هارڊويئر ID چيڪ ڪرڻ لاء. خدمت موجود آهي. خدمت دستياب ناهي.

scanProfinetDevices () Profinet ڊوائيسز جي موجودگي لاءِ هارڊويئر بس کي اسڪين ڪرڻ لاءِ هي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ پروفينيٽ ڊيوائسز اسڪين پروفينيٽ ڊيوائسز (ڪنسٽ بس هارڊ ويئر آئي ڊي ۽ بس هارڊ ويئر آئي ڊي)

پيرا ميٽرس BusHardwareId ريٽرنس ريسرٽProfinetDevices

هر فيلڊ بس کي کولڻ لاءِ وضاحت ڪري ٿو. هارڊويئر کليل آهي.

setupProfinetDevice () ھيٺ ڏنل ڊوائيس سيٽنگون قائم ڪري ٿو:

ڊوائيس جو نالو

IP پتو

نيٽ ورڪ ماسڪ

ڊفالٽ گيٽ وي

ورچوئل رزلٽ وائيڊ اين ايل سي:: سيٽ اپ پروفينيٽ ڊيوائس (ڪنسٽ بس هارڊ ويئر آئي ڊي ۽ بس هارڊ ويئر آئي ڊي، ڪانسٽ پروفينيٽ ڊيوائس اسٽرڪچر ۽ پروفينيٽ ڊيوائس، بُول سيو پرماننٽ)

resetProfinetDevice () ڊوائيس کي روڪي ٿو ۽ ان کي فيڪٽري ڊفالٽ تي ري سيٽ ڪري ٿو.
ورچوئل رزلٽ وائيڊ اين ايل سي:: ري سيٽ پروفينيٽ ڊيوائس (ڪنسٽ بس هارڊ ويئر آئي ڊي ۽ بس هارڊ ويئر آئي ڊي، ڪانسٽ پروفينيٽ ڊيوائس ۽ پروفينيٽ ڊيوائس)

blinkProfinetDevice () Profinet ڊيوائس کي حڪم ڏئي ٿو ته ان جي Profinet LED کي چمڪائڻ شروع ڪري.
ورچوئل رزلٽ وائيڊ اين ايل سي:: بلينڪ پروفينيٽ ڊيوائس (ڪنسٽ بس هارڊ ويئر آئي ڊي ۽ بس هارڊ ويئر آئي ڊي، ڪانسٽ پروفينيٽ ڊيوائس ۽ پروفينيٽ ڊيوائس)

validateProfinetDeviceIp () ڊوائيس جي IP پتي کي چيڪ ڪرڻ لاء هي فنڪشن استعمال ڪريو.
ورچوئل رزلٽ وائيڊ تصديق ڪندڙ پروفينيٽ ڊيوائس آئي پي (ڪنسٽ بس هارڊ ويئر آئي ڊي ۽ بس هارڊ ويئر آئي ڊي، ڪنسٽ پروفينيٽ ڊيوائس ۽ پروفينيٽ ڊيوائس)

پيرا ميٽرز BusHardwareId ProfinetDevice

چيڪ ڪرڻ لاءِ هارڊويئر ID بيان ڪري ٿو. تصديق ڪرڻ لاءِ Profinet ڊوائيس بيان ڪري ٿو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

43

8 طبقن / افعال جو حوالو

واپسي نتيجوVoid

8.27 ProfinetDevice struct

Profinet ڊوائيس ڊيٽا ھيٺ ڏنل عوامي خاصيتون آھن:

ايس ٽي ڊي:: اسٽرنگ ايس ٽي ڊي:: اسٽرنگ ايس ٽي ڊي:: صف < uint8_t, 6 > uint32_t uint32_t uint32_t

ڊوائس جو نالو ڊوائس وينڊر ميڪ ايڊريس آئي پي ايڊريس نيٽ ماسڪ ڊفالٽ گيٽ وي

MAC پتو مهيا ڪيو ويو آهي صف جي شڪل ۾ macAddress = {xx, xx, xx, xx, xx, xx}; جڏهن ته IP پتي، نيٽ ورڪ ماسڪ ۽ گيٽ وي سڀني وڏن آخرن جي هيڪس نمبرن جي طور تي تشريح ڪئي وئي آهي، جهڙوڪ:

IP پتو: 192.168.0.2 نيٽ ورڪ ماسڪ: 255.255.0.0 گيٽ وي: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 نتيجا ڪلاس

انهن طبقن جي "اختياري" واپسي جي قيمتن کي استعمال ڪريو چيڪ ڪرڻ لاء ته هڪ فنڪشن ڪال ڪامياب ٿي يا نه، ۽ ناڪامي سببن کي پڻ ڳولهيو. ڪاميابي تي، hasError () فنڪشن غلط موٽائي ٿو. GetResult () ذريعي، توھان پڙھي سگھوٿا نتيجو قدر في قسم جي مطابق (ResultInt وغيره). جيڪڏهن ڪال ناڪام ٿئي ٿي، ته توهان getError ().

محفوظ ڪيل خاصيتون

string NlcErrorCode uint32_t

errorString error Code exErrorCode

انهي سان گڏ، هن طبقي ۾ هيٺيان عوامي ميمبر افعال آهن:

hasError () هڪ فنڪشن ڪال جي ڪاميابي کي پڙهي ٿو.
bool nlc::نتيجو::hasError () مسلسل

واپسي

سچ ڪوڙ

ناڪام ڪال. استعمال ڪريو getError () قدر پڙهڻ لاءِ. ڪامياب ڪال. استعمال ڪريو getResult () قدر پڙهڻ لاءِ.

getError () پڙهو سبب ٻاهر جيڪڏھن ڪو فنڪشن ڪال ناڪام ٿئي.
ڪانسٽ ايس ٽي ڊي:: اسٽرنگ اين ايل سي:: نتيجو:: غلطي حاصل ڪريو () ڪانسٽ

واپسي const string

نسخو: doc 1.4.2 / NanoLib 1.3.0

44

8 طبقن / افعال جو حوالو
نتيجو () هيٺيان ڪم صحيح نتيجن کي بيان ڪرڻ ۾ مدد ڪن ٿا:
نتيجو (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
حاصل ڪريو ايڪس ايرر ڪوڊ () uint32_t حاصل ڪريو ايڪس ايرر ڪوڊ () ڪانسٽ
8.28.1 نتيجو باطل
NanoLib توهان کي هن طبقي جو هڪ مثال موڪلي ٿو جيڪڏهن فنڪشن واپسي باطل. ڪلاس کي وراثت ۾ ورثي ۾ ملي ٿو عوامي افعال ۽ محفوظ صفات نتيجن واري طبقي مان ۽ ھيٺيون عوامي ميمبر افعال آھن:
ResultVoid () ھيٺيون فنڪشن مدد ڪن ٿا صحيح باطل نتيجن کي بيان ڪرڻ ۾:
نتيجو باطل (std::string const &errorString_)
نتيجو باطل (NlcErrorCode const & errCode, std::string const & errorString_)
نتيجو باطل (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
نتيجو باطل (نتيجو تسلسل ۽ نتيجو)
8.28.2 نتيجو
NanoLib توهان کي هن طبقي جو هڪ مثال موڪلي ٿو جيڪڏهن فنڪشن هڪ انٽيجر واپس ڪري ٿو. ڪلاس کي وراثت ۾ ورثي ۾ ملي ٿو عوامي افعال/محفوظ صفات نتيجن جي طبقي مان ۽ ھيٺيون عوامي ميمبر افعال آھن:
getResult () انٽيجر جو نتيجو ڏئي ٿو جيڪڏهن ڪو فنڪشن ڪال ڪامياب هجي.
int64_t نتيجو حاصل ڪريو () مسلسل
int64_t واپس ڪري ٿو

نسخو: doc 1.4.2 / NanoLib 1.3.0

45

8 طبقن / افعال جو حوالو
ResultInt () ھيٺيون فنڪشن مدد ڪن ٿا درست عددي نتيجن جي وضاحت ڪرڻ ۾:
نتيجو انٽ (int64_t نتيجو_)
نتيجو انٽ (std::string const ۽ errorString_)
رزلٽ انٽ (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ انٽ (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يو آءِ ٽي 32_ ٽي ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
نتيجو انٽ (نتيجو تسلسل ۽ نتيجو)
8.28.3 نتيجا اسٽرنگ
NanoLib توهان کي هن طبقي جو هڪ مثال موڪلي ٿو جيڪڏهن فنڪشن هڪ اسٽرنگ موٽائي ٿو. ڪلاس کي وراثت ۾ ورثي ۾ ملي ٿو عوامي افعال/محفوظ صفات نتيجن جي طبقي مان ۽ ھيٺيون عوامي ميمبر افعال آھن:
getResult () پڙھندو آھي اسٽرنگ جو نتيجو جيڪڏھن ڪو فنڪشن ڪال ڪامياب ٿئي.
ڪانسٽ ايس ٽي ڊي:: اسٽرنگ اين ايل سي:: رزلٽ اسٽرنگ:: گيٽ ريزلٽ () ڪانسٽ
واپسي const string
ResultString () ھيٺيون ڪم صحيح اسٽرنگ جي نتيجن کي بيان ڪرڻ ۾ مدد ڪري ٿو:
رزلٽ اسٽرنگ (اسٽڊي::اسٽرنگ ڪانسٽ ۽ ميسيج، بُول ۾ غلطي آهي_)
رزلٽ اسٽرنگ (NlcErrorCode const & errCode, std::string const & errorString_)
رزلٽ اسٽرنگ (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
رزلٽ اسٽرنگ (نتيجو ڪانسٽ ۽ نتيجو)
8.28.4 ResultArrayByte
جيڪڏهن فنڪشن هڪ بائيٽ ايري واپس ڪري ٿو ته نانو ليب توهان کي هن ڪلاس جو هڪ مثال موڪليندو. ڪلاس نتيجو ڪلاس مان عوامي فنڪشن / محفوظ خاصيتون ورثي ۾ حاصل ڪري ٿو ۽ هيٺيان عوامي ميمبر فنڪشن آهن:
getResult () جيڪڏهن ڪو فنڪشن ڪال ڪامياب ٿئي ٿو ته بائيٽ ویکٹر پڙهي ٿو.
ڪانسٽ ايس ٽي ڊي::ویکٹر اين ايل سي:: رزلٽ ايري بائيٽ:: گيٽ ريزلٽ () ڪانسٽ
ڪانسٽ ویکٹر واپس ڪري ٿو

نسخو: doc 1.4.2 / NanoLib 1.3.0

46

8 طبقن / افعال جو حوالو
ResultArrayByte () ھيٺيون فنڪشن مدد ڪن ٿيون صحيح بائيٽ سرن جي نتيجن کي بيان ڪرڻ ۾:
رزلٽ ايري بائيٽ (ايس ٽي ڊي::ویکٹر) تسلسل ۽ نتيجو_)
رزلٽ ايري بائيٽ (ايس ٽي ڊي::اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ ايري بائيٽ (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ ايري بائيٽ (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يونٽ 32_ ٽي ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ ايري بائيٽ (نتيجو تسلسل ۽ نتيجو)
8.28.5 ResultArrayInt
جيڪڏهن فنڪشن هڪ انٽيجر ايري واپس ڪري ٿو ته نانو ليب توهان کي هن ڪلاس جو هڪ مثال موڪليندو. ڪلاس نتيجو ڪلاس مان عوامي فنڪشن / محفوظ خاصيتون ورثي ۾ حاصل ڪري ٿو ۽ هيٺيان عوامي ميمبر فنڪشن آهن:
getResult () جيڪڏهن ڪو فنڪشن ڪال ڪامياب ٿئي ٿو ته انٽيجر ویکٹر پڙهي ٿو.
ڪانسٽ ايس ٽي ڊي::ویکٹر nlc::resultArrayInt::getResult () مسلسل
ڪانسٽ ویکٹر واپس ڪري ٿو
ResultArrayInt () ھيٺيون فنڪشن مدد ڪن ٿا درست عددي صف جي نتيجن کي بيان ڪرڻ ۾:
نتيجو صفا (std::vector) تسلسل ۽ نتيجو_)
رزلٽ ايري انٽ (اسٽڊي::اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
رزلٽ ايري انٽ (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يونٽ 32_t ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
ResultArrayInt (نتيجو تسلسل ۽ نتيجو)
8.28.6 نتيجا بس ايڇ ڊيز
جيڪڏهن فنڪشن هڪ بس هارڊويئر ID صف واپس ڪري ٿو ته NanoLib توهان کي هن ڪلاس جو هڪ مثال موڪليندو. ڪلاس کي نتيجو ڪلاس مان عوامي فنڪشن / محفوظ خاصيتون ورثي ۾ ملنديون آهن ۽ هيٺيان عوامي ميمبر فنڪشن آهن:
getResult () جيڪڏهن ڪو فنڪشن ڪال ڪامياب ٿئي ٿو ته بس-هارڊويئر-ID ویکٹر پڙهي ٿو.
ڪانسٽ ايس ٽي ڊي::ویکٹر nlc::resultBusHwIds::getResult () مسلسل
پيرا ميٽرز const vector

نسخو: doc 1.4.2 / NanoLib 1.3.0

47

8 طبقن / افعال جو حوالو
ResultBusHwIds () ھيٺيون فنڪشن صحيح بس-هارڊويئر-ID-array نتيجن کي بيان ڪرڻ ۾ مدد ڪن ٿيون:
نتيجو بس ايڇ ڊبليو آئي ڊي (اسٽڊي::ویکٹر) تسلسل ۽ نتيجو_)
رزلٽ بس ايڇ ڊبليو آئي ڊيز (اسٽڊي::اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ بس ايڇ ڊبليو آئي ڊيز (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ بس ايڇ ڊبليو آئي ڊيز (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يونٽ 32_ ٽي ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ بس ايڇ ڊبليو آئي ڊيز (نتيجو ڪانسٽ ۽ نتيجو)
8.28.7 نتيجو ڊيوائس آئي ڊي
جيڪڏهن فنڪشن هڪ ڊوائيس ID واپس ڪري ٿو ته NanoLib توهان کي هن ڪلاس جو هڪ مثال موڪليندو. ڪلاس نتيجو ڪلاس مان عوامي فنڪشن / محفوظ خاصيتون ورثي ۾ حاصل ڪري ٿو ۽ هيٺيان عوامي ميمبر فنڪشن آهن:
getResult () ڊوائيس ID ویکٹر کي پڙهي ٿو جيڪڏهن فنڪشن ڪال ڪامياب ٿي.
ڊوائيس آئي ڊي اين ايل سي:: نتيجو ڊوائيس آئي ڊي:: حاصل ڪريو نتيجو () مسلسل
const vector ڏي ٿو
ResultDeviceId () ھيٺيون فنڪشن مدد ڪن ٿيون صحيح ڊيوائس جي سڃاڻپ جي نتيجن کي بيان ڪرڻ ۾:
نتيجو ڊيوائس آئي ڊي (ڊوائيس آئي ڊي ڪانسٽ ۽ نتيجو_)
رزلٽ ڊيوائس آئي ڊي (اسٽڊي::اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ ڊيوائس آئي ڊي (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ ڊيوائس آئي ڊي (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يونٽ 32_ ٽي ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ايرر اسٽرنگ_)
نتيجو ڊيوائس آئي ڊي (نتيجو تسلسل ۽ نتيجو)
8.28.8 نتيجا ڊيوائس آئي ڊيز
جيڪڏهن فنڪشن هڪ ڊوائيس ID صف واپس ڪري ٿو ته NanoLib توهان کي هن ڪلاس جو هڪ مثال موڪليندو. ڪلاس نتيجو ڪلاس مان عوامي فنڪشن / محفوظ خاصيتون ورثي ۾ حاصل ڪري ٿو ۽ هيٺيان عوامي ميمبر فنڪشن آهن:
getResult () جيڪڏهن ڪو فنڪشن ڪال ڪامياب ٿئي ٿو ته ڊوائيس ID ویکٹر واپس ڪري ٿو.
ڊوائيس آئي ڊي اين ايل سي:: نتيجو ڊيوائس آئي ڊي:: حاصل ڪريو نتيجو () مسلسل
const vector ڏي ٿو

نسخو: doc 1.4.2 / NanoLib 1.3.0

48

8 طبقن / افعال جو حوالو
ResultDeviceIds () ھيٺيون فنڪشن مدد ڪن ٿيون صحيح ڊيوائس-ID-array نتيجن کي بيان ڪرڻ ۾:
نتيجو ڊيوائس آئي ڊيز (اسٽڊي::ویکٹر) تسلسل ۽ نتيجو_)
رزلٽ ڊيوائس آئي ڊيز (اسٽڊي::اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ ڊيوائس آئي ڊيز (NlcErrorCode const & errCode, std::string const & errorString_)
رزلٽ ڊيوائس آئي ڊيز (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يونٽ 32_ ٽي ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ ڊيوائس آئي ڊيز (نتيجو ڪانسٽ ۽ نتيجو)
8.28.9 نتيجو ڊيوائس هينڊل
NanoLib توهان کي هن ڪلاس جو هڪ مثال موڪليندو جيڪڏهن فنڪشن هڪ ڊوائيس هينڊل جي قيمت واپس ڪري ٿو. ڪلاس کي نتيجو ڪلاس مان عوامي فنڪشن / محفوظ خاصيتون ورثي ۾ ملنديون آهن ۽ هيٺيان عوامي ميمبر فنڪشن آهن:
getResult () ڊيوائس هينڊل کي پڙهي ٿو جيڪڏهن فنڪشن ڪال ڪامياب ٿي.
ڊيوائس هينڊل اين ايل سي:: نتيجو ڊيوائس هينڊل:: حاصل ڪريو نتيجو () ڪانسٽ
DeviceHandle واپسي
ResultDeviceHandle () ھيٺيون فنڪشن مدد ڪن ٿيون صحيح ڊيوائس ھينڊل جي نتيجن کي بيان ڪرڻ ۾:
رزلٽ ڊيوائس هينڊل (ڊيوائس هينڊل ڪانسٽ ۽ نتيجو_)
رزلٽ ڊيوائس هينڊل (std::string const ۽ errorString_)
رزلٽ ڊيوائس هينڊل (NlcErrorCode const & errCode, std::string const & errorString_)
رزلٽ ڊيوائس هينڊل (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
رزلٽ ڊيوائس هينڊل (نتيجو ڪانسٽ ۽ نتيجو)
8.28.10 ResultObject Dictionary
NanoLib توهان کي هن طبقي جو هڪ مثال موڪلي ٿو جيڪڏهن فنڪشن هڪ اعتراض لغت جي مواد کي واپس ڪري ٿو. ڪلاس کي وراثت ۾ ورثي ۾ ملي ٿو عوامي افعال/محفوظ صفات نتيجن جي طبقي مان ۽ ھيٺيون عوامي ميمبر افعال آھن:
getResult () ڊوائيس ID ویکٹر کي پڙهي ٿو جيڪڏهن فنڪشن ڪال ڪامياب ٿي.
ڪانسٽ اين ايل سي::آبجيڪٽ ڊڪشنري ۽ اين ايل سي::رِزِلٽ آبجيڪٽ ڊڪشنري::گيٽ ريزلٽ () ڪانسٽ

نسخو: doc 1.4.2 / NanoLib 1.3.0

49

8 طبقن / افعال جو حوالو

واپسي

const vector

ResultObjectDictionary () هيٺيون فنڪشن مدد ڪن ٿا درست اعتراض لغت جي نتيجن کي بيان ڪرڻ ۾:
رزلٽ آبجيڪٽ ڊڪشنري (nlc::آبجيڪٽ ڊڪشنري ڪانسٽ ۽ نتيجو_)

رزلٽ آبجيڪٽ ڊڪشنري (std::string const ۽ errorString_)

رزلٽ آبجيڪٽ ڊڪشنري (NlcErrorCode const & errCode, std::string const & errorString_)

رزلٽ آبجيڪٽ ڊڪشنري (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)

ResultObjectDictionary (نتيجو ڪانسٽ ۽ نتيجو)

8.28.11 نتيجو ڪنيڪشن اسٽيٽ
NanoLib توهان کي هن طبقي جو هڪ مثال موڪلي ٿو جيڪڏهن فنڪشن هڪ ڊوائيس-ڪنيڪشن-رياست معلومات واپس ڪري ٿي. ڪلاس کي وراثت ۾ ورثي ۾ ملي ٿو عوامي افعال/محفوظ صفات نتيجن جي طبقي مان ۽ ھيٺيون عوامي ميمبر افعال آھن:
getResult () ڊيوائس هينڊل کي پڙهي ٿو جيڪڏهن فنڪشن ڪال ڪامياب ٿي.
ڊيوائس ڪنيڪشن اسٽيٽ انفو اين ايل سي:: رزلٽ ڪنيڪشن اسٽيٽ:: گيٽ ريزلٽ () ڪانسٽ

واپسي DeviceConnectionStateInfo Connected / Disconnected / Connected Bootloader

ResultConnectionState () ھيٺيون ڪم صحيح ڪنيڪشن رياست جي نتيجن کي بيان ڪرڻ ۾ مدد ڪري ٿو:
نتيجو ڪنيڪشن اسٽيٽ (ڊيوائس ڪنيڪشن اسٽيٽ انفو ڪانسٽ ۽ نتيجو_)

رزلٽ ڪنيڪشن اسٽيٽ (اسٽڊي::اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)

رزلٽ ڪنيڪشن اسٽيٽ (NlcErrorCode const & errCode, std::string const & errorString_)

رزلٽ ڪنيڪشن اسٽيٽ (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يونٽ 32_ ٽي ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)

نتيجو ڪنيڪشن اسٽيٽ (نتيجو تسلسل ۽ نتيجو)

8.28.12 نتيجو اعتراض داخل
جيڪڏهن فنڪشن ڪنهن اعتراض جي داخلا کي واپس ڪري ٿو ته NanoLib توهان کي هن ڪلاس جو هڪ مثال موڪليندو. ڪلاس کي نتيجو ڪلاس مان عوامي فنڪشن / محفوظ خاصيتون ورثي ۾ ملنديون آهن ۽ هيٺيان عوامي ميمبر فنڪشن آهن:

نسخو: doc 1.4.2 / NanoLib 1.3.0

50

8 طبقن / افعال جو حوالو
getResult () جيڪڏهن ڪو فنڪشن ڪال ڪامياب ٿئي ٿو ته ڊوائيس ID ویکٹر واپس ڪري ٿو.
اين ايل سي::آبجيڪٽ انٽري ڪانسٽ ۽ اين ايل سي::رِزُلٽ آبجيڪٽ انٽري::گيٽ ريزلٽ () ڪانسٽ
واپسي const ObjectEntry
ResultObjectEntry () هيٺيون فنڪشن مدد ڪن ٿيون صحيح اعتراض جي داخلا جي نتيجن کي بيان ڪرڻ ۾:
رزلٽ آبجيڪٽ انٽري (nlc::آبجيڪٽ انٽري ڪانسٽ ۽ نتيجو_)
رزلٽ آبجيڪٽ انٽري (std::string const ۽ errorString_)
رزلٽ آبجيڪٽ انٽري (NlcErrorCode const & errCode, std::string const & errorString_)
رزلٽ آبجيڪٽ انٽري (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يونٽ 32_ ٽي ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
نتيجو آبجيڪٽ داخلا (نتيجو تسلسل ۽ نتيجو)
8.28.13 نتيجو اعتراض مضمون داخل
جيڪڏهن فنڪشن ڪنهن آبجيڪٽ سب-انٽري کي واپس ڪري ٿو ته نانو لِب توهان کي هن ڪلاس جو هڪ مثال موڪليندو. ڪلاس کي رزلٽ ڪلاس مان پبلڪ فنڪشنز / محفوظ خاصيتون ورثي ۾ ملنديون آهن ۽ ان ۾ هيٺيان پبلڪ ميمبر فنڪشن هوندا آهن:
getResult () جيڪڏهن ڪو فنڪشن ڪال ڪامياب ٿئي ٿو ته ڊوائيس ID ویکٹر واپس ڪري ٿو.
اين ايل سي::آبجيڪٽ سب انٽري ڪانسٽ ۽ اين ايل سي::رِزُلٽ آبجيڪٽ سب انٽري::گيٽ ريزلٽ () ڪانسٽ
واپسي const ObjectSubEntry
ResultObjectSubEntry () هيٺيون فنڪشن مدد ڪن ٿا صحيح اعتراض جي ذيلي داخلا جي نتيجي کي بيان ڪرڻ ۾:
رزلٽ آبجيڪٽ سب انٽري (اين ايل سي::آبجيڪٽ انٽري ڪانسٽ ۽ نتيجو_)
رزلٽ آبجيڪٽ سب انٽري (اسٽڊي::اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ آبجيڪٽ سب انٽري (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
رزلٽ آبجيڪٽ سب انٽري (اين ايل سي ايرر ڪوڊ ڪانسٽ ۽ ايرر ڪوڊ، ڪانسٽ يونٽ 32_ ٽي ايڪس ايرر ڪوڊ، ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ۽ ايرر اسٽرنگ_)
نتيجو آبجيڪٽ سب انٽري (نتيجو تسلسل ۽ نتيجو)
8.28.14 نتيجا ProfinetDevices
NanoLib توهان کي هن طبقي جو هڪ مثال موڪلي ٿو جيڪڏهن فنڪشن واپسي هڪ Profinet ڊوائيس. ڪلاس کي وراثت ۾ ورثي ۾ ملي ٿو عوامي افعال/محفوظ صفات نتيجن جي طبقي مان ۽ ھيٺيون عوامي ميمبر افعال آھن:

نسخو: doc 1.4.2 / NanoLib 1.3.0

51

8 طبقن / افعال جو حوالو

getResult () پڙهي ٿو Profinet ڊيوائس ویکٹر جيڪڏهن ڪو فنڪشن ڪال ڪامياب ٿئي ها.
ڪانسٽ ايس ٽي ڊي::ویکٹر ۽ نتيجو حاصل ڪريو () مسلسل

ResultProfinetDevices () ھيٺ ڏنل ڪم صحيح Profinet ڊوائيسز جي وضاحت ڪرڻ ۾ مدد ڪن ٿا.
نتيجو پروفائنٽ ڊوائيسز (const std::vector) ۽ پروفائيل ڊوائيسز)
رزلٽ پروفائنٽ ڊيوائسز (مسلسل نتيجو ۽ نتيجو)
رزلٽ پروفائنٽ ڊيوائسز (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 نتيجاampleDataArray
NanoLib توهان کي هن طبقي جو هڪ مثال موڪلي ٿو جيڪڏهن فنڪشن واپس اچي ٿوample ڊيٽا صف. ڪلاس کي وراثت ۾ ورثي ۾ ملي ٿو عوامي افعال/محفوظ صفات نتيجن جي طبقي مان ۽ ھيٺيون عوامي ميمبر افعال آھن:
getResult () ڊيٽا صف کي پڙهي ٿو جيڪڏهن فنڪشن ڪال ڪامياب ٿي.
ڪانسٽ ايس ٽي ڊي:: ویکٹر < ايسampleData> ۽ getResult () مسلسل

نتيجا ايسampleDataArray () هيٺيون فنڪشن صحيح Profinet ڊوائيسز جي وضاحت ڪرڻ ۾ مدد ڪن ٿيون.
نتيجا ايسampلي ڊيٽا ايري (ڪانسٽيٽ اسٽيڊ:: ویکٹر < ايسampلي ڊيٽا> ۽ ڊيٽا ايري)

نتيجا ايسampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)

نتيجا ايسampleDataArray (مسلسل نتيجا ايس)ampلي ڊيٽا ايري ۽ ٻيا)

نتيجا ايسampleDataArray (مسلسل نتيجو ۽ نتيجو)

8.28.16 نتيجاampرياست
NanoLib توهان کي هن طبقي جو هڪ مثال موڪلي ٿو جيڪڏهن فنڪشن واپس اچي ٿوampler state.هي طبقو وراثت ۾ ورثي ۾ ملي ٿو عوامي افعال/محفوظ خاصيتون نتيجن واري طبقي مان ۽ هيٺيون عوامي ميمبر افعال آهن:

getResult () پڙهي ٿو sampler رياست ویکٹر جيڪڏهن هڪ فنڪشن ڪال ڪاميابي هئي.
SamplerState getResult () مسلسل

واپسي SamplerState >

غير ترتيب ڏنل / ترتيب ڏنل / تيار / هلندڙ / مڪمل / ناڪام / منسوخ

نسخو: doc 1.4.2 / NanoLib 1.3.0

52

8 طبقن / افعال جو حوالو

نتيجا ايسamplerState () هيٺيون فنڪشن صحيح s جي وضاحت ڪرڻ ۾ مدد ڪن ٿيونampler رياست.
نتيجا ايسamplerState (const S)amplerState)

نتيجا ايسamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
وڌايل غلطي ڪوڊ = 0)

نتيجا ايسamplerState (مسلسل نتيجا Samp(لير اسٽيٽ ۽ ٻيا)

نتيجا ايسamplerState (مسلسل نتيجو ۽ نتيجو)

8.29 NlcError Code

جيڪڏهن ڪجهه غلط ٿي وڃي، نتيجو طبقن هن ڳڻپ ۾ درج ٿيل غلطي ڪوڊ مان هڪ جي رپورٽ ڪن ٿا.

غلطي ڪوڊ ڪاميابي جنرل غلطي بس غير دستياب ڪميونيڪيشن غلطي پروٽوڪول غلطي
ODDoes موجود ناهي ODINnvalidAccess ODType بي ميچ آپريشن منسوخ ٿيل آپريشن سپورٽ نه ٿيل غلط آپريشن
InvalidArguments AccessDenied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError

C: Category D: وضاحت R: Reason C: None. ڊي: ڪا غلطي ناهي. آر: آپريشن ڪاميابيءَ سان مڪمل ٿيو.
ج: اڻ ڄاڻايل. D: اڻ ڄاڻايل غلطي. ر: ناڪامي جيڪا ڪنهن ٻئي درجي ۾ نه اچي.
ج: بس. D: هارڊويئر بس دستياب ناهي. ر: بس غير موجود، ڪٽ آف يا نقص.
ج: ڪميونيڪيشن. ڊي: ڪميونيڪيشن ناقابل اعتبار. R: اڻڄاتل ڊيٽا، غلط CRC، فريم يا برابري غلطيون، وغيره.
ج: پروٽوڪول. ڊي: پروٽوڪول جي غلطي. آر: غير معاون پروٽوڪول آپشن کان پوءِ جواب، ڊيوائس رپورٽ اڻ سڌريل پروٽوڪول، پروٽوڪول ۾ غلطي (چئو، ايس ڊي او سيگمينٽ سنڪ بٽ) وغيره. سيگمينٽ سنڪ بٽ) وغيره.
ج: آبجيڪٽ ڊڪشنري. د: او ڊي ايڊريس موجود ناهي. ر: آبجيڪٽ ڊڪشنري ۾ اهڙو ڪو به پتو ناهي.
ج: اعتراض لغت. D: OD پتي تائين پهچ غلط. ر: صرف پڙهڻ لاءِ لکڻ جي ڪوشش، يا صرف لکڻ لاءِ، ايڊريس کان پڙهڻ.
ج: اعتراض لغت. D: قسم بي ميل. R: قدر غير تبديل ٿيل مخصوص قسم ۾، چئو، ھڪڙي اسٽرنگ کي انگ جي طور تي علاج ڪرڻ جي ڪوشش ۾.
ج: درخواست. ڊي: عمل ختم ڪيو ويو. آر: ايپليڪيشن جي درخواست ذريعي پروسيس ڪٽي. واپسي صرف آپريشن مداخلت تي ڪال بڪ فنڪشن ذريعي، چئو، بس اسڪيننگ کان.
ج: عام. D: پروسيس غير معاون. ر: هارڊويئر بس/ڊوائيس سپورٽ ناهي.
ج: عام. D: موجوده حوالي سان عمل غلط، يا موجوده دليل سان غلط. ر: اڳ ۾ ئي ڳنڍيل بسين / ڊوائيسز کي ٻيهر ڳنڍڻ جي ڪوشش. ڪنيڪٽ ڪرڻ جي ڪوشش اڳ ۾ ئي ختم ٿيلن کي. هڪ بوٽ لوڊر آپريشن جي ڪوشش فرمائيندڙ موڊ ۾ يا ان جي برعڪس.
ج: عام. D: دليل غلط. ر: غلط منطق يا نحو.
ج: عام. ڊي: رسائي رد ڪئي وئي آهي. R: درخواست ڪيل آپريشن کي انجام ڏيڻ لاءِ حقن يا صلاحيتن جي کوٽ.
ج: عام. D: بيان ڪيل شيون نه مليون. آر: هارڊويئر بس، پروٽوڪول، ڊيوائس، ڊيوائس تي او ڊي ايڊريس، يا file نه مليو.
ج: عام. D: بيان ڪيل شيءِ نه ملي. ر: مصروف، غير موجود، ڪٽيل يا نقص.
ج: عام. D: ناکافي ياداشت. R: هن حڪم کي پروسيس ڪرڻ لاء تمام ٿوري ياداشت.
ج: عام. ڊي: عمل جو وقت ختم ٿي ويو. ر: وقت ختم ٿيڻ کان پوءِ واپسي. ٽائم آئوٽ ٿي سگھي ٿو ڊيوائس جي جوابي وقت، ھڪ وقت جو حصيداري يا خاص وسيلن جي رسائي حاصل ڪرڻ لاءِ، يا ھڪ وقت ٿي سگھي ٿو بس/ڊوائيس کي ھڪ موزون حالت ڏانھن مٽائڻ جو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

53

8 طبقن / افعال جو حوالو

8.30 اين ايل سي ڪال بيڪ
ڪال بيڪ لاءِ هن والدين ڪلاس ۾ هيٺ ڏنل عوامي ميمبر فنڪشن آهي: ڪال بيڪ ()
ورچوئل رزلٽ باطل ڪال بيڪ ()

واپسي

نتيجو باطل

8.31 NlcDataTransferCallback
ڊيٽا جي منتقلي لاءِ هن ڪال بيڪ ڪلاس کي استعمال ڪريو (فرم ويئر اپڊيٽ، نانو جي اپلوڊ وغيره). 1. فرم ويئر اپلوڊ لاءِ: هڪ "ڪو-ڪلاس" جي وضاحت ڪريو جيڪو هن کي ڪسٽم ڪال بيڪ طريقي سان وڌايو.
لاڳو ڪرڻ. 2. NanoLibAccessor.uploadFirmware () ڪالن ۾ "co-class's" مثالن کي استعمال ڪريو. مکيه ڪلاس ۾ پاڻ ۾ هيٺ ڏنل عوامي ميمبر فنڪشن آهي:

ڪال بيڪ () ورچوئل رزلٽ وائيڊ ڪال بيڪ (nlc::DataTransferInfo info، int32_t ڊيٽا)

واپسي

نتيجو باطل

8.32 NlcScanBusCallback
بس اسڪيننگ لاءِ هن ڪال بيڪ ڪلاس کي استعمال ڪريو. 1. هڪ "ڪو-ڪلاس" جي وضاحت ڪريو جيڪو هن کي ڪسٽم ڪال بيڪ طريقي جي عملدرآمد سان وڌايو وڃي. 2. NanoLibAccessor.scanDevices () ڪالن ۾ "ڪو-ڪلاس" جي مثالن کي استعمال ڪريو. مکيه ڪلاس ۾ پاڻ ۾ هيٺ ڏنل عوامي ميمبر فنڪشن آهي.

ڪال بڪ ()
ورچوئل رزلٽ وائيڊ ڪال بيڪ (nlc::BusScanInfo info, std::vector ڪانسٽ ۽ ڊوائيسز مليا، int32_t ڊيٽا)

واپسي نتيجوVoid
8.33 NlcLoggingCallback
ڪال بيڪ لاگنگ ڪرڻ لاءِ هي ڪال بڪ ڪلاس استعمال ڪريو. 1. ھڪڙي طبقي جي وضاحت ڪريو جيڪو ھن طبقي کي ھڪڙي ڪسٽم ڪال بيڪ طريقي سان لاڳو ڪرڻ سان وڌايو 2. NanoLibAccessor پاران ڪال بڪ سيٽ ڪرڻ لاء ان جي مثالن لاء پوائنٽر استعمال ڪريو >
setLoggingCallback (…).
ورچوئل وائيڊ ڪال بيڪ (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

8.34 ايسampler انٽرفيس
هن ڪلاس کي ترتيب ڏيڻ، شروع ڪرڻ ۽ بند ڪرڻ لاءِ استعمال ڪريوampler، يا حاصل ڪرڻ لاءampled ڊيٽا ۽ حاصل ڪريو جيئنampler جي حيثيت يا آخري غلطي. ڪلاس ۾ ھيٺيان عوامي ميمبر افعال آھن.

نسخو: doc 1.4.2 / NanoLib 1.3.0

54

8 طبقن / افعال جو حوالو

configure () ترتيب ڏئي ٿو جيئنampليئر.
ورچوئل رزلٽ وائيڊ اين ايل سي:: ايسamplerInterface::configure (const DeviceHandle deviceHandle، const S)ampلير ڪنفيگريشن ۽ ايسampler ترتيب)

پيرا ميٽرس [ان] ڊوائيس هينڊل [ان] ايسampler ترتيب
واپسي نتيجوVoid

وضاحت ڪري ٿو ته ڪهڙي ڊوائيس کي ترتيب ڏيڻ لاءampلاء. تشڪيل جي خاصيتن جا قدر بيان ڪري ٿو. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

getData () حاصل ڪري ٿو sampليڊ ڊيٽا.
ورچوئل نتيجا ايسampلي ڊيٽا ايري اين ايل سي:: ايسamplerInterface::getData (const DeviceHandle deviceHandle)

پيرا ميٽرس [ان ۾] ڊيوائس هينڊل ريٽرنس نتيجاampleDataArray

بيان ڪري ٿو ته ڪهڙي ڊوائيس لاءِ ڊيٽا حاصل ڪجي.
ايس کي پهچائي ٿوampled ڊيٽا، جيڪا هڪ خالي صف ٿي سگهي ٿي جيڪڏهن samplerNotify شروع تي فعال آهي.

getLastError () حاصل ٿئي ٿو جيئنampler جي آخري غلطي.
ورچوئل رزلٽ وائيڊ اين ايل سي:: ايسamplerInterface::getLastError (const DeviceHandle deviceHandle)

واپسي نتيجوVoid

تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

getState () حاصل ٿئي ٿو جيئنampليڊر جي حيثيت.
ورچوئل نتيجا ايسamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

واپسي جا نتيجا Sampرياست

ايس کي پهچائي ٿوampler رياست.

start () جيئن شروع ٿئي ٿوampليئر.
ورچوئل رزلٽ وائيڊ اين ايل سي:: ايسamplerInterface::start (const DeviceHandle deviceHandle, Sampنوٽيفاءِ ڪريو*amp(لير نوٽيفائي، انٽ 64_t ايپليڪيشن ڊيٽا)

پيرا ميٽرس [ان] ڊوائيس هينڊل [ان] ايسamplerNotify [in] applicationData
واپسي نتيجوVoid

بيان ڪري ٿو ته ڪهڙي ڊوائيس کي شروع ڪرڻ لاءampلاء.
بيان ڪري ٿو ته ڪهڙي اختياري ڄاڻ رپورٽ ڪجي (نالپٽر ٿي سگهي ٿي).
آپشن: ايپليڪيشن سان لاڳاپيل ڊيٽا (يوزر پاران بيان ڪيل 8-بٽ ايري آف ويليو / ڊيوائس آئي ڊي / انڊيڪس، يا هڪ تاريخ جو وقت، هڪ متغير جي / فنڪشن جي پوائنٽر، وغيره) ڏانهن.ampler اطلاع.
تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

نسخو: doc 1.4.2 / NanoLib 1.3.0

55

8 طبقن / افعال جو حوالو

اسٽاپ () اسٽاپ جيئنampليئر.
ورچوئل رزلٽ وائيڊ اين ايل سي:: ايسamplerInterface::stop (const DeviceHandle deviceHandle)

پيرا ميٽرس [ان ۾] ڊيوائس هينڊل واپسي نتيجا

وضاحت ڪري ٿو ته ڪهڙي ڊوائيس کي بند ڪرڻ لاءampلاء. تصديق ڪري ٿو ته هڪ باطل فنڪشن هليو ويو آهي.

8.35 ايسamplerConfiguration struct

ھن جوڙجڪ ۾ ڊيٽا شامل آھيampler جي ترتيب جا اختيار (جامد يا نه).

عوامي خاصيتون

std::vector ٽريڪ ٿيل ايڊريس

12 OD پتي تائين s ٿيڻ لاءampاڳواڻي ڪئي.

uint32_t

نسخو

ساخت جو نسخو.

uint32_t

مدت ملي سيڪنڊ

Sampling جي مدت ms ۾، 1 کان 65535 تائين

uint16_t

مدت ملي سيڪنڊ

Sampling جي مدت ۾ ms.

uint16_t

نمبر آف ايسamples

Sampگھٽ مقدار.

uint16_t

preTriggerNumberOfSamples

Samples اڳ-ٽريگر رقم.

بول

استعمال ڪندي سافٽ ويئر لاڳو ڪرڻ

سافٽ ويئر لاڳو ڪرڻ استعمال ڪريو.

بول

NewFWS استعمال ڪنديamplerImplementation استعمال ڪريو FW لاڳو ڪرڻ ڊوائيسز لاءِ a

FW نسخو v24xx يا نئون.

SamplerMode

موڊ

عام، بار بار يا مسلسل sampلنگهه.

SamplerTriggerCondition triggerCondition

شروعاتي ٽرگر حالتون: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C، OdIndex، ٽرگر ويليو

SamplerTrigger

SamplerTrigger

شروع ڪرڻ لاءِ هڪ محرڪ جيئنampler؟

جامد عوامي خاصيتون
جامد constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 مستحڪم constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 ايسampler اطلاع
s کي چالو ڪرڻ لاءِ ھي ڪلاس استعمال ڪريوampler نوٽيفڪيشن جڏهن توهان شروع ڪيوampلير ڪلاس ۾ ھيٺيون عوامي ميمبر فنڪشن آھي.

نسخو: doc 1.4.2 / NanoLib 1.3.0

56

8 طبقن / افعال جو حوالو

اطلاع ڏيو ()
هڪ نوٽيفڪيشن داخلا پهچائي ٿو.
ورچوئل خالي اين ايل سي:: ايسamplerNotify::notify (const ResultVoid & lastError, const S)amplerState sampلير اسٽيٽ، ڪانسٽ ايس ٽي ڊي:: ویکٹر < ايسampلي ڊيٽا> ۽ ايسampلي ڊيٽا، انٽ 64_ ٽي ايپليڪيشن ڊيٽا)

پيرا ميٽرس [۾] آخري غلطي [۾] ايسampرياست
[۾] سampleDatas [۾] ايپليڪيشن ڊيٽا

رپورٽ ڪري ٿو آخري غلطي واقع ٿي جڏهن sampلنگ رپورٽ ايسampنوٽيفڪيشن جي وقت تي ler حيثيت: غير ترتيب ڏنل / ترتيب ڏنل / تيار / هلندڙ / مڪمل / ناڪام / منسوخ ٿيل. رپورٽ ايسampled-data array. رپورٽ ايپليڪيشن-مخصوص ڊيٽا.

8.37 ايسampleData struct

هن جوڙجڪ تي مشتمل آهي sampليڊ ڊيٽا.

uin64_t تکرار نمبر

0 تي شروع ٿئي ٿو ۽ صرف ورجائي موڊ ۾ وڌائي ٿو.

std::vector<SampledValues> هن تي مشتمل آهي s جي صفampقدر جي اڳواڻي.

8.38 ايسampledValue struct

هن جوڙجڪ تي مشتمل آهي sampقدر جي اڳواڻي.

in64_t قدر uin64_t CollectTimeMsec

ٽريڪ ٿيل OD پتي جي قيمت تي مشتمل آهي.
ملائي سيڪنڊن ۾ گڏ ڪرڻ جو وقت شامل آهي، ايس جي نسبت سانampشروعات.

8.39 ايسamplerTrigger struct

ھن struct ۾ s جي ٽرگر سيٽنگون شامل آھنampليئر.

SamplerTriggerCondition حالت
OdIndex uin32_t قدر

ٽرگر حالت: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
ٽريگر جي OdIndex (ايڊريس).
شرط جي قيمت يا بٽ نمبر (شروع ٿيندڙ بٽ صفر کان).

8.40 سيريل ساخت

ھتي ڳولھيو پنھنجي سيريل ڪميونيڪيشن جا اختيار ۽ ھيٺيون عوامي خاصيتون:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ سيريل باڊ ريٽ

BAUD_RATE_OPTIONS_NAME = "سيريل باڊ ريٽ" baudRate = سيريل باڊ ريٽ اسٽرڪچر

نسخو: doc 1.4.2 / NanoLib 1.3.0

57

8 طبقن / افعال جو حوالو

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ سيريل پيرٽي

PARITY_OPTIONS_NAME = "سيريل برابري" برابري = سيريل برابري جو ڍانچو

8.41 SerialBaudRate struct

ھتي ڳولھيو توھان جي سيريل ڪميونيڪيشن بيڊ جي شرح ۽ ھيٺيون عوامي خاصيتون:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

BAUD_RATE_7200 = "7200" BAUD_RATE_9600 = "9600" BAUD_RATE_14400 = "14400" BAUD_RATE_19200 = "19200" BAUD_RATE_38400 = "38400" BAUD_RATE_56000 "AUD_RATE_56000" 57600 = "57600" BAUD_RATE_115200 = "115200" BAUD_RATE_128000 = "128000" BAUD_RATE_256000 = "256000"

8.42 SerialParity struct

هتي ڳولھيو پنھنجي سيريل برابري جا اختيار ۽ ھيٺيون عوامي خاصيتون:

ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ڪانسٽ ايس ٽي ڊي:: اسٽرنگ

ڪو به نه = "ڪو به نه" ODD = "عجيب" EVEN = "جيتوڻيڪ" نشان = "نشان" 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) تحت. بائنري فارميٽ ۾ مهيا ڪيل لائبريري جا حصا (ڪور ۽ فيلڊ بس ڪميونيڪيشن لائبريريون) Creative Commons AttributionNoDerivatives 4.0 انٽرنيشنل لائسنس (CC BY ND) تحت لائسنس يافته آهن.

Creative Commons
هيٺ ڏنل انساني-پڙهڻ لائق خلاصو پاڻ لائسنس (جي) کي متبادل نه ڪندو. توهان creativecommons.org تي لاڳاپيل لائسنس ڳولي سگهو ٿا ۽ هيٺ ڏنل ڳنڍيل آهي. توھان آزاد آھيو:

CC BY 3.0
حصيداري ڪريو: حق ڏسو. موافقت: ريمڪس، تبديل ڪريو، ۽ تعمير ڪريو
مواد ڪنهن به مقصد لاء، جيتوڻيڪ تجارتي طور تي.

CC BY-ND 4.0
حصيداري ڪريو: نقل ڪريو ۽ مواد کي ڪنهن به وچولي يا شڪل ۾ ورهايو.

لائسنس ڏيندڙ مٿين آزادين کي رد نٿو ڪري سگھي جيستائين توھان ھيٺ ڏنل لائسنس جي شرطن تي عمل ڪريو:

CC BY 3.0

CC BY-ND 4.0

انتساب: توهان کي مناسب ڪريڊٽ ڏيڻ گهرجي، انتساب: کاٻي پاسي ڏسو. پر: هن لاءِ لنڪ مهيا ڪريو

لائسنس جي لنڪ مهيا ڪريو، ۽ ظاهر ڪريو جيڪڏھن

ٻيو لائسنس.

تبديليون ڪيون ويون. توهان ڪنهن به صورت ۾ ائين ڪري سگهو ٿا

نڪو نڪتل: جيڪڏھن توھان ريمڪس ڪريو، تبديل ڪريو، يا ٺاھيو

مناسب طريقي سان، پر ڪنهن به طريقي سان نه

مواد تي، توهان تقسيم نه ڪري سگهو ٿا

اشارو ڏئي ٿو ته لائسنس ڏيندڙ توهان جي يا توهان جي استعمال جي تصديق ڪري ٿو.

تبديل ٿيل مواد.

ڪابه اضافي پابنديون نه آهن: توهان لاڳو نه ٿا ڪري سگهو اضافي پابنديون: کاٻي پاسي ڏسو. قانوني شرطن يا ٽيڪنالاجي قدمن جيڪي قانوني طور تي

ٻين کي اجازت ڏيڻ کان منع ڪريو

اجازتون.

نوٽ: توهان کي عوامي ڊومين ۾ مواد جي عناصر جي لائسنس جي تعميل ڪرڻ جي ضرورت ناهي يا جتي توهان جي استعمال جي اجازت ڏني وئي آهي قابل اطلاق استثنا يا حد.
نوٽ: ڪا به ضمانت نه ڏني وئي آهي. لائسنس شايد توهان کي توهان جي گهربل استعمال لاءِ گهربل سڀ اجازتون نه ڏئي سگهي. مثال لاءِampلي، ٻيا حق جيئن ته پبلسٹی، رازداري، يا اخلاقي حق محدود ٿي سگهن ٿا ته توهان ڪيئن مواد استعمال ڪندا آهيو.

نسخو: doc 1.4.2 / NanoLib 1.3.0

59

امپرنٽ، رابطو، نسخا

©2024 نانوٽيڪ اليڪٽرانڪ GmbH ۽ ڪمپني KGKapellenstr.685622 فيلڊڪرچنجرمني ٽيلي فون+49(0) 89 900 686-0فيڪس+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com سڀ حق محفوظ آهن. غلطي، غلطي، ٽيڪنيڪل يا مواد ۾ تبديلي بغير اطلاع جي ممڪن آهي. اقتباس ڪيل برانڊ/پروڊڪٽس انهن جي مالڪن جا ٽريڊ مارڪ آهن ۽ انهن کي اهڙو سمجهيو ويندو. اصل نسخو.

دستاويز 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08

+ شامل ڪيو ويو > تبديل ڪيو ويو # درست ڪيو ويو > مهيا ڪيل اڳوڻي جو ٻيهر ڪمamples.
+ نانو ليب موڊبس: موڊ بس وي سي پي لاءِ ڊيوائس لاڪنگ ميڪانيزم شامل ڪيو ويو. # نانو ليب ڪور: ڪنيڪشن اسٽيٽ چيڪ کي درست ڪيو ويو. # نانو ليب ڪوڊ: بس هارڊويئر ريفرنس کي درست ڪيو ويو.
+ NanoLib-CANopen: Peak PCAN-USB اڊاپٽر (IPEH-002021/002022) لاءِ سپورٽ.
> NanoLib ڪور: تبديل ٿيل لاگنگ ڪال بيڪ انٽرفيس (LogLevel کي LogModule سان تبديل ڪيو ويو). # NanoLib لاگر: ڪور ۽ ماڊلز جي وچ ۾ علحدگي کي درست ڪيو ويو آهي. # Modbus TCP: FW4 لاءِ فڪسڊ فرم ويئر اپڊيٽ. # EtherCAT: Core5 لاءِ فڪسڊ NanoJ پروگرام اپ لوڊ. # EtherCAT: Core5 لاءِ فڪسڊ فرم ويئر اپڊيٽ.
# Modbus RTU: مقرر ٿيل وقت جي مسئلن سان گھٽ بيڊ جي شرحن سان گڏ فرم ويئر اپڊيٽ دوران. # RESTful: فڪسڊ نانو جي پروگرام اپلوڊ.
# NanoLib ماڊلز Sampler: s جي صحيح پڙهڻampled boolean قدر.
+ جاوا 11 سپورٽ سڀني پليٽ فارمن لاءِ. + پٿون 3.11 / 3.12 سپورٽ سڀني پليٽ فارمن لاءِ. + نئون لاگنگ ڪال بڪ انٽرفيس (ڏسو مثالamples). + NanoLib Logger لاءِ ڪال بڪ sinks. > ورجن 1.12.0 تي لاگر کي اپڊيٽ ڪريو. > NanoLib ماڊلز Sampler: ھاڻي سپورٽ ڪريو Nanotec ڪنٽرولر فرم ویئر v24xx لاءِ. > NanoLib ماڊلز Sampler: s لاءِ استعمال ٿيل ساخت ۾ تبديليampler ترتيب. > NanoLib ماڊلز Sampler: مسلسل موڊ لامتناڪ سان مترادف آهي؛ ٽرڪ جي حالت هڪ ڀيرو چڪاس ڪئي وئي آهي؛ s جو تعدادamples هجڻ ضروري آهي 0. > NanoLib Modules Sampler: سلسلي لاءِ عام ترجيح جيڪا ڊيٽا گڏ ڪري ٿي فرم ویئر موڊ ۾. > NanoLib ماڊلز Sampler: تيار ۽ هلندڙ رياست جي وچ ۾ منتقلي کي ڳولڻ لاء ٻيهر لکيل الگورتھم. # NanoLib ڪور: ساڳي بس هارڊويئر استعمال ڪندي 0 يا وڌيڪ ڊوائيسز کي بند ڪرڻ تي وڌيڪ رسائي جي خلاف ورزي (0000005xC2) ناهي. # NanoLib ڪور: لينڪس جي تحت PEAK اڊاپٽر کي ڳنڍڻ تي وڌيڪ ڀاڱيداري غلطي ناهي. # NanoLib ماڊلز Sampler: صحيح ايسampled-values ​​پڙهڻ firmware mode ۾. # NanoLib ماڊلز Sampler: 502X جي صحيح ترتيب: 04. # NanoLib ماڊلز Sampler: چينلن سان بفر جو صحيح ميلاپ. # NanoLib-Canopen: وڌايل CAN ٽائم آئوٽ مضبوطيءَ لاءِ ۽ صحيح اسڪيننگ لوئر بيڊريٽس تي. # NanoLib-Modbus: خاص ڊوائيسز لاء VCP ڳولڻ وارو الگورتھم (USB-DA-IO).
+ ايٿرڪيٽ سپورٽ.
+ پنهنجي پروجيڪٽ کي ترتيب ڏيو ۾ VS پروجيڪٽ سيٽنگن تي نوٽ.
+ گيٽ ڊيوائس هارڊ ويئر گروپ (). + گيٽ پروفينيٽ ڊي سي پي (سروس موجود آهي). + گيٽ پروفينيٽ ڊي سي پي (پروفينيٽ ڊيوائس آئي پي جي تصديق ڪريو). + آٽو اسائن آبجيڪٽ ڊڪشنري (). + گيٽ ايڪس ايم ايلFileنالو (). + ڪانسٽ ايس ٽي ڊي:: اسٽرنگ ۽ ايڪس ايم ايلFileaddObjectDictionary () ۾ رستو. + getSampلير انٽرفيس ().

پيداوار 1.3.0 1.2.1 1.2.0 1.1.3
1.1.2 1.1.1 1.1.0
1.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)

نسخو: doc 1.4.2 / NanoLib 1.3.0

60

10 نشان، رابطو، نسخو

دستاويز
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05

+ شامل ڪيو ويو > تبديل ڪيو ويو # درست ڪيو ويو + ريبوٽ ڊيوائس (). + غلطي ڪوڊ ResourceUnavailable for getDeviceBootloaderVersion ()، ~VendorId ()، ~HardwareVersion ()، ~SerialNumber، ۽ ~Uid. > firmwareUploadFromFile هاڻي فرم ويئر اپلوڊ ڪريو کانFile (). > فرم ويئر اپ لوڊ () هاڻي اپ لوڊ ڪريو فرم ويئر (). > بوٽ لوڊ ڪندڙ اپ لوڊ ڪريوFile () هاڻي اپلوڊ ڪريو بوٽ لوڊ ڪندڙ کانFile (). > بوٽ لوڊ ڪندڙ اپ لوڊ () هاڻي اپلوڊ ڪريو بوٽ لوڊ ڪندڙ (). > بوٽ لوڊ ڪندڙ فرم ويئر اپ لوڊ ڪريوFile () اپلوڊ ڪرڻ لاءِبوٽ لوڊ ڪندڙفرم ويئر کانFile (). > بوٽ لوڊ ڪندڙ فرم ويئر اپ لوڊ () هاڻي اپلوڊ ڪريو بوٽ لوڊ ڪندڙ فرم ويئر (). > نانوج اپ لوڊ کانFile () هاڻي اپلوڊ ڪريو NanoJFromFile (). > nanojUpload () هاڻي uploadNanoJ (). > objectDictionaryLibrary () هاڻي getObjectDictionaryLibrary (). > String_String_Map هاڻي StringStringMap. > NanoLib-Common: Ixxat اڊاپٽر سان listAvailableBusHardware ۽ openBusHardwareWithProtocol جو تيز عمل. > NanoLib-CANopen: ڊفالٽ سيٽنگون استعمال ڪيون ويون (1000k baudrate، Ixxat بس نمبر 0) جيڪڏهن بس هارڊويئر آپشن خالي آهن. > NanoLib-RESTful: جيڪڏهن npcap / winpcap ڊرائيور موجود آهي ته ونڊوز جي تحت ايٿرنيٽ بوٽ لوڊرز سان رابطي لاءِ منتظم جي اجازت ختم ٿي وئي آهي. # NanoLib-CANopen: بس هارڊويئر هاڻي خالي اختيارن سان ڪريشليس کلي ٿو. # NanoLib-Common: openBusHardwareWithProtocol () هاڻي ڪو به ميموري ليڪ نه آهي.
+ لينڪس ARM64 سپورٽ. + USB ماس اسٽوريج / REST / Profinet DCP سپورٽ. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (NanotecExceptions کي تبديل ڪيو ويو). + NanoLib Modbus: VCP / USB حب USB سان متحد. > Modbus TCP اسڪيننگ نتيجا ڏئي ٿو. <Modbus TCP ڪميونيڪيشن ليٽيسي مستقل رهي ٿي.
+ وڌيڪ ObjectEntryDataType (پيچيده ۽ پرو)file-مخصوص). + جيڪڏهن ڪنيڪٽ ڊيوائس () ۽ اسڪين ڊيوائسز () ڪو به نه ڳولين ته IOE غلطي واپس اچي ٿي. + ڪين اوپن / موڊبس لاءِ صرف 100 ايم ايس نامياري وقت ختم.
+ موڊبس سپورٽ (پلس وي سي پي ذريعي يو ايس بي هب). + باب پنهنجو لينڪس پروجيڪٽ ٺاهڻ. + ايڪسٽرا هارڊ ويئر اسپيسيفائر کان بس هارڊ ويئر آئي ڊي (). + ايڪسٽرا آئي ڊي_ ۽ ايڪسٽرا اسٽرنگ آئي ڊي_ کان ڊيوائس آئي ڊي ().
+ سيٽ بس اسٽيٽ (). + گيٽ ڊيوائس بوٽ لوڊر بلڊ آئي ڊي (). + گيٽ ڊيوائس فرم ويئر بلڊ آئي ڊي (). + گيٽ ڊيوائس هارڊ ويئر ورزن (). # بگ فڪسس.
ايڊيشن.

پيداوار
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

نسخو: doc 1.4.2 / NanoLib 1.3.0

61

دستاويز / وسيلا

Nanotic NanoLib C++ پروگرامنگ [pdf] استعمال ڪندڙ دستياب
نانو لِب سي پروگرامنگ، سي پروگرامنگ، پروگرامنگ

حوالو

تبصرو ڇڏي ڏيو

توهان جو اي ميل پتو شايع نه ڪيو ويندو. گهربل فيلڊ نشان لڳل آهن *