Nanotic NanoLib C++ پروگرامنگ
پروڈکٹ کی معلومات
وضاحتیں
- پروڈکٹ کا نام: نانو لیب
- پروگرامنگ زبان: C++
- پروڈکٹ ورژن: 1.3.0
- یوزر مینوئل ورژن: 1.4.2
NanoLib لائبریری کو Nanotec کنٹرولرز کے لیے پروگرامنگ کنٹرول سافٹ ویئر کے لیے ڈیزائن کیا گیا ہے۔ یہ کنٹرول ایپلی کیشنز کی ترقی کو آسان بنانے کے لیے صارف انٹرفیس، بنیادی افعال، اور مواصلاتی لائبریریاں فراہم کرتا ہے۔
مصنوعات کے استعمال کی ہدایات
- شروع کرنے سے پہلے:
- یقینی بنائیں کہ آپ کا سسٹم دستی میں بیان کردہ ہارڈ ویئر کی ضروریات کو پورا کرتا ہے۔ اس پروڈکٹ کے مطلوبہ سامعین میں وہ ڈویلپر شامل ہیں جو Nanotec کنٹرولرز کے لیے کنٹرول سافٹ ویئر بنانا چاہتے ہیں۔
- شروع کرنا:
- NanoLib کا استعمال شروع کرنے کے لیے، ان مراحل پر عمل کریں:
- اپنے پروجیکٹ میں NanoLib درآمد کرکے شروع کریں۔
- ضرورت کے مطابق اپنے پروجیکٹ کی ترتیبات کو ترتیب دیں۔
- NanoLib فنکشنلٹیز کو شامل کرنے کے لیے اپنا پروجیکٹ بنائیں۔
- منصوبے بنانا:
- آپ ونڈوز اور لینکس دونوں ماحول کے لیے پروجیکٹ بنا سکتے ہیں۔ ہر پلیٹ فارم کے لیے دستی میں فراہم کردہ مخصوص ہدایات پر عمل کریں۔
- کلاسز/فنکشنز کا حوالہ:
- پروگرامنگ کنٹرول سافٹ ویئر کے لیے NanoLib میں دستیاب کلاسز اور فنکشنز کے بارے میں تفصیلی گائیڈ کے لیے صارف دستی سے رجوع کریں۔
اکثر پوچھے گئے سوالات
- س: نانو لیب کا مقصد کیا ہے؟
- A: NanoLib Nanotec کنٹرولرز کے لیے پروگرامنگ کنٹرول سافٹ ویئر کی ایک لائبریری ہے، جو ضروری افعال اور مواصلاتی صلاحیتیں فراہم کرتی ہے۔
- سوال: میں NanoLib کے ساتھ کیسے شروع کر سکتا ہوں؟
- A: NanoLib کو اپنے پروجیکٹ میں درآمد کرکے، پروجیکٹ کی ترتیبات کو ترتیب دے کر، اور NanoLib کی خصوصیات کو استعمال کرنے کے لیے اپنا پروجیکٹ بنا کر شروع کریں۔
''
صارف دستی NanoLib
C++
پروڈکٹ ورژن 1.3.0 کے ساتھ درست
یوزر مینوئل ورژن: 1.4.2
دستاویز کا مقصد اور کنونشنز
یہ دستاویز NanoLib لائبریری کے سیٹ اپ اور استعمال کی وضاحت کرتی ہے اور Nanotec کنٹرولرز کے لیے آپ کے اپنے کنٹرول سافٹ ویئر کو پروگرام کرنے کے لیے تمام کلاسز اور فنکشنز کا حوالہ رکھتی ہے۔ ہم مندرجہ ذیل ٹائپ فاسس استعمال کرتے ہیں:
خط کشیدہ متن کراس حوالہ یا ہائپر لنک کو نشان زد کرتا ہے۔
Exampمرحلہ 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 فنکشن کا استعمال کریں:
// ***** C++ ویرینٹ *****
باطل سیٹ لاگنگ لیول (لاگ لیول لیول)؛
بولڈ متن اہم اہمیت کے انفرادی الفاظ پر زور دیتا ہے۔ متبادل طور پر، بریکٹ شدہ فجائیہ نشانات اہم(!) اہمیت پر زور دیتے ہیں۔
Example 1: اپنے آپ کو، دوسروں کو اور اپنے سامان کی حفاظت کریں۔ ہمارے عمومی حفاظتی نوٹوں پر عمل کریں جو عام طور پر تمام Nanotec مصنوعات پر لاگو ہوتے ہیں۔
Exampمرحلہ 2: اپنے تحفظ کے لیے، مخصوص حفاظتی نوٹوں پر بھی عمل کریں جو اس مخصوص پروڈکٹ پر لاگو ہوتے ہیں۔ کو-کلِک کرنے کے فعل کا مطلب ہے سیاق و سباق کے مینو وغیرہ کو کھولنے کے لیے سیکنڈری ماؤس کی کے ذریعے کلک کرنا۔
Exampلی 1: پر کلک کریں۔ fileمنتخب کریں نام تبدیل کریں، اور نام تبدیل کریں۔ file. سابقample 2: پراپرٹیز کو چیک کرنے کے لیے، پر کلک کریں۔ file اور پراپرٹیز منتخب کریں۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
4
اس سے پہلے کہ آپ شروع کریں۔
اس سے پہلے کہ آپ NanoLib کا استعمال شروع کریں، اپنے کمپیوٹر کو تیار کریں اور اپنے آپ کو مطلوبہ استعمال اور لائبریری کی حدود سے آگاہ کریں۔
2.1 سسٹم اور ہارڈ ویئر کی ضروریات
نوٹس 32 بٹ آپریشن یا منقطع سسٹم سے خرابی! 64 بٹ سسٹم کا استعمال کریں اور اسے مستقل طور پر برقرار رکھیں۔ OEM کی بندش اور ~ ہدایات کا مشاہدہ کریں۔
NanoLib 1.3.0 CANopen، Modbus RTU (ورچوئل کام پورٹ پر USB بھی)، Modbus TCP، EtherCat، اور Profinet کے ساتھ تمام Nanotec مصنوعات کو سپورٹ کرتا ہے۔ پرانے NanoLibs کے لیے: امپرنٹ میں چینج لاگ دیکھیں۔ صرف آپ کے خطرے پر: میراثی نظام کا استعمال۔ نوٹ: FTDI پر مبنی USB اڈاپٹر استعمال کرتے وقت اگر آپ کو مسائل کا سامنا کرنا پڑتا ہے تو لیٹنسی کو کم سے کم رکھنے کے لیے درست OEM ہدایات پر عمل کریں۔
تقاضے (64 بٹ سسٹم لازمی)
Windows 10 یا 11 w/ Visual Studio 2019 ورژن 16.8 یا بعد کا اور Windows SDK 10.0.20348.0 (ورژن 2104) یا بعد کا
C++ redistributables 2017 or higher CANopen: Ixxat VCI or PCAN basic driver (optional) EtherCat module / Profinet DCP: Npcap or WinPcap RESTful module: Npcap, WinPcap, or admin permission to
ایتھرنیٹ بوٹ لوڈرز کے ساتھ بات چیت کریں۔
لینکس W/ 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)
زبان، فیلڈ بس اڈاپٹر، کیبلز
C++ GCC 7 یا اس سے زیادہ (Linux)
EtherCAT: Ethernet cable VCP / USB hub: now uniform USB USB mass storage: USB cable REST: Ethernet cable CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1، چوٹی PCANUSB اڈاپٹر arm64 پر Ubuntu کے لیے Ixxat سپورٹ نہیں
Modbus RTU: Nanotec ZK-USB-RS485-1 یا مساوی اڈاپٹر؛ ورچوئل کام پورٹ پر USB کیبل (VCP)
موڈبس ٹی سی پی: پروڈکٹ ڈیٹا شیٹ کے مطابق ایتھرنیٹ کیبل
2.2 مطلوبہ استعمال اور سامعین
NanoLib صنعتی ایپلی کیشنز کی ایک وسیع رینج میں Nanotec کنٹرولرز کے آپریشن اور ان کے ساتھ بات چیت کے لیے ایک پروگرام لائبریری اور سافٹ ویئر کا جزو ہے اور صرف ہنر مند پروگرامرز کے لیے۔
ریئل ٹائم انکیپبل ہارڈ ویئر (PC) اور آپریٹنگ سسٹم کی وجہ سے، NanoLib ان ایپلی کیشنز میں استعمال کے لیے نہیں ہے جن کو ہم وقت ساز ملٹی ایکسس موومنٹ کی ضرورت ہوتی ہے یا وہ عام طور پر وقت کے لحاظ سے حساس ہوتے ہیں۔
کسی بھی صورت میں آپ NanoLib کو کسی پروڈکٹ یا سسٹم میں حفاظتی جزو کے طور پر ضم نہیں کر سکتے۔ آخری صارفین کو ڈیلیوری پر، آپ کو نانوٹیک کے تیار کردہ جزو کے ساتھ ہر پروڈکٹ میں محفوظ استعمال اور محفوظ آپریشن کے لیے متعلقہ انتباہی نوٹس اور ہدایات شامل کرنا ہوں گی۔ آپ کو نانوٹیک کے جاری کردہ تمام انتباہی نوٹس کو آخری صارف تک پہنچانا چاہیے۔
2.3 ترسیل اور وارنٹی کا دائرہ کار
NanoLib ہمارے ڈاؤن لوڈ سے ایک *.zip فولڈر کے طور پر آتا ہے۔ webEMEA/APAC یا AMERICA کے لیے سائٹ۔ سیٹ اپ سے پہلے اپنے ڈاؤن لوڈ کو صحیح طریقے سے اسٹور اور ان زپ کریں۔ NanoLib پیکیج پر مشتمل ہے:
ورژن: doc 1.4.2 / NanoLib 1.3.0
5
2 شروع کرنے سے پہلے
انٹرفیس ہیڈر بطور سورس کوڈ (API)
بائنری فارمیٹ میں لائبریریوں کے طور پر بنیادی افعال: نینو-
لائبریریاں جو مواصلات کی سہولت فراہم کرتی ہیں: nanolibm_ lib.dll
[yourfieldbus].dll وغیرہExample پروجیکٹ: سابقample.sln (بصری اسٹوڈیو
پروجیکٹ) اور سابقample.cpp (main file)
وارنٹی کے دائرہ کار کے لیے، براہ کرم ملاحظہ کریں a) EMEA/APAC یا AMERICA کے لیے ہماری شرائط و ضوابط اور ب) لائسنس کی تمام شرائط۔ نوٹ: ناقص یا غیر مناسب معیار، ہینڈلنگ، انسٹالیشن، آپریشن، استعمال، اور تھرڈ پارٹی آلات کی دیکھ بھال کے لیے Nanotec ذمہ دار نہیں ہے! مناسب حفاظت کے لیے، ہمیشہ درست OEM ہدایات پر عمل کریں۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
6
نانو لیب فن تعمیر
NanoLib کا ماڈیولر سافٹ ویئر ڈھانچہ آپ کو پہلے سے تعمیر شدہ کور کے ارد گرد آزادانہ طور پر مرضی کے مطابق موٹر کنٹرولر / فیلڈ بس فنکشنز کا بندوبست کرنے دیتا ہے۔ NanoLib مندرجہ ذیل ماڈیولز پر مشتمل ہے:
یوزر انٹرفیس (API)
نینو لیب کور
انٹرفیس اور مددگار کلاسز کون سی لائبریریاں جو
کمیونیکیشن لائبریریاں فیلڈ بس مخصوص لائبریریاں جو
NanoLib کے درمیان API کی فعالیت کے ڈو انٹرفیس کو نافذ کرنے والے اپنے کنٹرولر تک رسائی حاصل کریں۔
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 اپنے سسٹم کو تیار کریں۔
اڈاپٹر ڈرائیوروں کو انسٹال کرنے سے پہلے، پہلے آپریٹنگ سسٹم کے ساتھ اپنے کمپیوٹر کو تیار کریں۔ اپنے Windows OS کے ساتھ پی سی کو تیار کرنے کے لیے، C++ ایکسٹینشن کے ساتھ MS Visual Studio انسٹال کریں۔ لینکس باش کے ذریعے میک اور جی سی سی کو انسٹال کرنے کے لیے، sudo apt install build-essentials کو کال کریں۔ پھر NanoLib استعمال کرنے والی ایپلیکیشن کے لیے CAP_NET_ADMIN، CAP_NET_RAW، اور CAP_SYS_NICE صلاحیتوں کو فعال کریں: 1. sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip' کو کال کریں۔
نام>۔ 2. تب ہی، اپنے اڈاپٹر ڈرائیورز کو انسٹال کریں۔
4.2 ونڈوز کے لیے Ixxat اڈاپٹر ڈرائیور انسٹال کریں۔
ڈرائیور کی مقررہ تنصیب کے بعد ہی، آپ Ixxat کا USB-to-CAN V2 اڈاپٹر استعمال کر سکتے ہیں۔ ورچوئل کامپورٹ (VCP) کو چالو کرنے کا طریقہ جاننے کے لیے USB ڈرائیوز کا پروڈکٹ مینوئل پڑھیں۔ 1. سے ونڈوز کے لیے Ixxat کا VCI 4 ڈرائیور ڈاؤن لوڈ اور انسٹال کریں۔ www.ixxat.com. 2. Ixxat کے USB-to-CAN V2 کمپیکٹ اڈاپٹر کو USB کے ذریعے PC سے جوڑیں۔ 3. ڈیوائس مینیجر کے ذریعے: چیک کریں کہ آیا ڈرائیور اور اڈاپٹر دونوں صحیح طریقے سے انسٹال/ پہچانے گئے ہیں۔
4.3 ونڈوز کے لیے پیک اڈاپٹر ڈرائیور انسٹال کریں۔
ڈرائیور کی مقررہ تنصیب کے بعد ہی، آپ Peak کا PCAN-USB اڈاپٹر استعمال کر سکتے ہیں۔ ورچوئل کامپورٹ (VCP) کو چالو کرنے کا طریقہ جاننے کے لیے USB ڈرائیوز کا پروڈکٹ مینوئل پڑھیں۔ 1. ونڈوز ڈیوائس ڈرائیور سیٹ اپ ڈاؤن لوڈ اور انسٹال کریں (= انسٹالیشن پیکج w/ ڈیوائس ڈرائیورز، ٹولز، اور
APIs) سے http://www.peak-system.com. 2. Connect Peak’s PCAN-USB adapter to the PC via USB. 3. By Device Manager: Check if both driver and adapter are duly installed/recognized.
4.4 لینکس کے لیے Ixxat اڈاپٹر ڈرائیور انسٹال کریں۔
Only after due driver installation, you may use Ixxat’s USB-to-CAN V2 adapter. Note: Other supported adapters need your permissions by sudo chmod +777/dev/ttyACM* (* device number). Read the USB drives’ product manual, to learn if / how to activate the virtual comport (VCP). 1. Install the software needed for the ECI driver and demo application:
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. ڈرائیور کو بذریعہ انسٹال کریں:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. ڈیمو ایپلیکیشن کو مرتب کرکے اور شروع کرکے ڈرائیور کی کامیاب تنصیب کی جانچ کریں:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
ورژن: doc 1.4.2 / NanoLib 1.3.0
8
4 شروع کرنا
4.5 لینکس کے لیے پیک اڈاپٹر ڈرائیور انسٹال کریں۔
ڈرائیور کی مقررہ تنصیب کے بعد ہی، آپ Peak کا 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. www.peak-system سے مطلوبہ ڈرائیور پیکج (peak-linux-driver-xxx.tar.gz) ڈاؤن لوڈ کریں۔ 4. اسے پیک کھولنے کے لیے، استعمال کریں: tar xzf peak-linux-driver-xxx.tar.gz 5. پیک کیے ہوئے فولڈر میں: ڈرائیورز، PCAN بیس لائبریری وغیرہ کو مرتب اور انسٹال کریں: تمام بنائیں
sudo make install 6. فنکشن کو چیک کرنے کے لیے، PCAN-USB اڈاپٹر کو پلگ ان کریں۔
a) کرنل ماڈیول چیک کریں:
lsmod | grep pcan b) … اور مشترکہ لائبریری:
ls -l /usr/lib/libpcan*
نوٹ: اگر USB3 مسائل پیش آتے ہیں، تو USB2 پورٹ استعمال کریں۔
4.6 اپنے ہارڈ ویئر کو جوڑیں۔
To be able to run a NanoLib project, connect a compatible Nanotec controller to the PC using your adapter. 1. By a suitable cable, connect your adapter to the controller. 2. Connect the adapter to the PC according to the adapter data sheet. 3. Power on the controller using a suitable power supply. 4. If needed, change the Nanotec controller’s communication settings as instructed in its product manual.
4.7 NanoLib لوڈ کریں۔
فوری اور آسان بنیادی باتوں کے ساتھ پہلی شروعات کے لیے، آپ ہمارے سابق کو استعمال کر سکتے ہیں (لیکن نہیں کرنا چاہیے)ampلی پروجیکٹ. 1. آپ کے علاقے پر منحصر ہے: ہمارے سے NanoLib ڈاؤن لوڈ کریں۔ webEMEA/APAC یا AMERICA کے لیے سائٹ۔ 2. پیکج کو ان زپ کریں۔ files / فولڈرز اور ایک آپشن کو منتخب کریں: فوری اور آسان بنیادی باتوں کے لیے: سابقہ شروع کرنا دیکھیںampلی پروجیکٹ. ونڈوز میں جدید تخصیص کے لیے: اپنا ونڈوز پروجیکٹ بنانا دیکھیں۔ لینکس میں جدید تخصیص کے لیے: اپنا اپنا لینکس پروجیکٹ بنانا دیکھیں۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
9
سابق شروع کر رہا ہےampلی پروجیکٹ
NanoLib کے ساتھ مناسب طریقے سے بھری ہوئی، سابقہample پروجیکٹ آپ کو نانوٹیک کنٹرولر کے ساتھ NanoLib استعمال کے ذریعے دکھاتا ہے۔ نوٹ: ہر قدم کے لیے، فراہم کردہ سابق میں تبصرےample کوڈ استعمال شدہ افعال کی وضاحت کرتا ہے۔ سابقample پروجیکٹ پر مشتمل ہے: `*_functions_example.*' files، جس میں NanoLib انٹرفیس کے لیے نفاذ پر مشتمل ہے `*_callback_example.*' files، جس میں مختلف کال بیکس (اسکین، ڈیٹا اور
لاگنگ) `مینو_*.*' file، جس میں مینو منطق اور کوڈ Exampلی.* file، جو کہ مرکزی پروگرام ہے، مینو بنانا اور تمام استعمال شدہ پیرامیٹرز کو شروع کرنا Sampler_exampلی.* file، جس میں سابق پر مشتمل ہے۔amps کے لئے le نفاذampزیادہ استعمال. آپ مزید سابقہ تلاش کر سکتے ہیں۔amples، nanotec.com پر نالج بیس میں مختلف آپریشن موڈز کے لیے کچھ موشن کمانڈز کے ساتھ۔ سبھی ونڈوز یا لینکس میں قابل استعمال ہیں۔
وژوئل اسٹوڈیو کے ساتھ ونڈوز میں 1۔ سابق کو کھولیں۔ample.sln file. 2. Open the example.cpp 3. سابق کو مرتب اور چلائیں۔ampلی کوڈ
In Linux via Bash 1. Unzip the source file، غیر زپ شدہ مواد کے ساتھ فولڈر میں جائیں۔ اہم file سابق کے لیےample ہے
example.cpp 2. باش میں، کال کریں:
a مشترکہ اشیاء کو کاپی کرنے اور ldconfig کو کال کرنے کے لیے "sudo make install" کریں۔ ب ٹیسٹ کو قابل عمل بنانے کے لیے "سب بنائیں"۔ 3. بن فولڈر میں ایک قابل عمل سابق شامل ہے۔ample file. بذریعہ bash: آؤٹ پٹ فولڈر میں جائیں اور ./ex ٹائپ کریں۔ample اگر کوئی خرابی واقع نہیں ہوتی ہے تو، آپ کی مشترکہ اشیاء اب مناسب طریقے سے انسٹال ہو چکی ہیں، اور آپ کی لائبریری استعمال کے لیے تیار ہے۔ اگر غلطی ./ex پڑھتی ہے۔ample: مشترکہ لائبریریوں کو لوڈ کرتے وقت خرابی: libnanolib.so: مشترکہ آبجیکٹ نہیں کھول سکتا file: ایسی نہیں۔ file یا ڈائریکٹری، مشترکہ اشیاء کی تنصیب ناکام ہوگئی۔ اس صورت میں، اگلے مراحل پر عمل کریں۔ 4. /usr/local/lib کے اندر ایک نیا فولڈر بنائیں (ایڈمن کے حقوق درکار ہیں)۔ bash میں، اس طرح ٹائپ کریں:
sudo mkdir /usr/local/lib/nanotec
5. Copy all shared objects from the zip fileکا lib فولڈر:
انسٹال کریں ./lib/*.so /usr/local/lib/nanotec/
6. ہدف والے فولڈر کے مواد کو اس کے ساتھ چیک کریں:
ls -al/usr/local/lib/nanotec/
It should list the shared object files lib فولڈر سے۔ 7. اس فولڈر پر ldconfig چلائیں:
sudo ldconfig /usr/local/lib/nanotec/
سابقample is implemented as a CLI application and provides a menu interface. The menu entries are context based and will be enabled or disabled, depending on the context state. They offer you the possibility to select and execute various library functions following the typical workflow for handling a controller: 1. Check the PC for connected hardware (adapters) and list them. 2. Establish connection to an adapter. 3. Scan the bus for connected controller devices. 4. Connect to a device.
ورژن: doc 1.4.2 / NanoLib 1.3.0
10
5 سابقہ شروع کرناampلی پروجیکٹ
5. لائبریری کے ایک یا زیادہ فنکشنز کی جانچ کریں: کنٹرولر کی آبجیکٹ لغت کو پڑھیں/لکھیں، فرم ویئر کو اپ ڈیٹ کریں، NanoJ پروگرام اپ لوڈ کریں اور چلائیں، موٹر کو چلائیں اور اسے ٹیون کریں، لاگنگ/s کو ترتیب دیں اور استعمال کریں۔ampلیر
6. کنکشن بند کریں، پہلے ڈیوائس سے، پھر اڈاپٹر سے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
11
اپنا ونڈوز پروجیکٹ بنانا
NanoLib استعمال کرنے کے لیے اپنا ونڈوز پروجیکٹ بنائیں، مرتب کریں اور چلائیں۔
6.1 NanoLib درآمد کریں۔
NanoLib ہیڈر درآمد کریں۔ files اور لائبریریاں بذریعہ MS Visual Studio۔
1. بصری اسٹوڈیو کھولیں۔ 2. نیا پروجیکٹ بنائیں > کنسول ایپ C++ > اگلا: پروجیکٹ کی قسم منتخب کریں۔ 3. حل ایکسپلورر میں پروجیکٹ فولڈر بنانے کے لیے اپنے پروجیکٹ کا نام (یہاں: NanolibTest) رکھیں۔ 4. ختم کو منتخب کریں۔ 5. کھڑکیاں کھولیں۔ file ایکسپلورر پر جائیں اور نئے بنائے گئے پروجیکٹ فولڈر میں جائیں۔ 6. دو نئے فولڈرز، inc اور lib بنائیں۔ 7. NanoLib پیکیج فولڈر کھولیں۔ 8. وہاں سے: ہیڈر کاپی کریں۔ files شامل فولڈر سے اپنے پروجیکٹ فولڈر inc اور تمام .lib اور .dll میں شامل کریں۔
files آپ کے نئے پروجیکٹ فولڈر lib میں۔ 9. اپنے پراجیکٹ فولڈر کو مناسب ساخت کے لیے چیک کریں، سابق کے لیےampلی:
واجبی ساخت کے لیے ect فولڈر:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj NanolibTest. NanolibTest.vcxproj.user NanolibTest.sln
6.2 اپنے پروجیکٹ کو ترتیب دیں۔
NanoLib پروجیکٹس ترتیب دینے کے لیے MS Visual Studio میں Solution Explorer کا استعمال کریں۔ نوٹ: درست NanoLib آپریشن کے لیے، Visual C++ پروجیکٹ سیٹنگز میں ریلیز (ڈیبگ نہیں!) کنفیگریشن کو منتخب کریں۔ پھر پروجیکٹ کو C++ دوبارہ تقسیم کرنے والے [2022] کے VC رن ٹائم کے ساتھ بنائیں اور لنک کریں۔
1. حل ایکسپلورر میں: اپنے پروجیکٹ فولڈر میں جائیں (یہاں: NanolibTest)۔ 2. سیاق و سباق کے مینو کو کھولنے کے لیے فولڈر پر کلک کریں۔ 3. پراپرٹیز منتخب کریں۔ 4. تمام کنفیگریشنز اور تمام پلیٹ فارمز کو فعال کریں۔ 5. C/C++ کو منتخب کریں اور ایڈیشنل انکلوڈ ڈائریکٹریز پر جائیں۔ 6. داخل کریں: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Linker منتخب کریں اور ایڈیشنل لائبریری ڈائریکٹریز پر جائیں۔ 8. داخل کریں: $(ProjectDir)Nanolib؛%(AdditionalLibraryDirectories) 9. Linker کو بڑھائیں اور ان پٹ کو منتخب کریں۔ 10. اضافی انحصار پر جائیں اور داخل کریں: nanolib.lib؛٪ (اضافی انحصار) 11. ٹھیک ہے کے ذریعے تصدیق کریں۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
12
6 اپنا ونڈوز پروجیکٹ بنانا
12. کنفیگریشن > C++ > Language > Language Standard > ISO C++17 سٹینڈرڈ پر جائیں اور زبان کا معیار C++17 (/std:c++17) پر سیٹ کریں۔
6.3 Build your project
MS Visual Studio میں اپنا NanoLib پروجیکٹ بنائیں۔ 1. مرکزی *.cpp کھولیں۔ file (یہاں: nanolib_example.cpp) اور کوڈ میں ترمیم کریں، اگر ضرورت ہو۔ 2. تعمیر > کنفیگریشن مینیجر کو منتخب کریں۔ 3. فعال حل پلیٹ فارمز کو x64 میں تبدیل کریں۔ 4. بند کے ذریعے تصدیق کریں۔ 5. تعمیر کریں > حل بنائیں کو منتخب کریں۔ 6. کوئی غلطی نہیں؟ چیک کریں کہ آیا آپ کا مرتب آؤٹ پٹ صحیح طور پر رپورٹ کرتا ہے:
1>—— کلین اسٹارٹ: پروجیکٹ: NanolibTest، کنفیگریشن: ڈیبگ x64 —–========== کلین: 1 کامیاب، 0 ناکام، 0 چھوڑا ===========
ورژن: doc 1.4.2 / NanoLib 1.3.0
13
7 Creating your own Linux project
7 Creating your own Linux project
NanoLib استعمال کرنے کے لیے اپنا لینکس پروجیکٹ بنائیں، مرتب کریں اور چلائیں۔ 1. ان زپ شدہ NanoLib انسٹالیشن کٹ میں: کھولیں۔ /nanotec_nanolib. 2. tar.gz میں تمام مشترکہ اشیاء تلاش کریں۔ file. 3. ایک آپشن منتخب کریں: ہر lib یا تو میک کے ساتھ انسٹال کریں۔file یا ہاتھ سے.
7.1 میک کے ساتھ مشترکہ اشیاء کو انسٹال کریں۔file
میک استعمال کریں۔file تمام ڈیفالٹ *.so کو آٹو انسٹال کرنے کے لیے لینکس باش کے ساتھ files 1. باش کے ذریعے: میک پر مشتمل فولڈر میں جائیں۔file. 2. مشترکہ اشیاء کو بذریعہ کاپی کریں:
sudo make install 3. تصدیق کریں بذریعہ:
ldconfig
7.2 مشترکہ اشیاء کو ہاتھ سے انسٹال کریں۔
تمام *.so کو انسٹال کرنے کے لیے Bash کا استعمال کریں۔ files of NanoLib manually. 1. Via Bash: Create a new folder within /usr/local/lib. 2. Admin rights needed! Type:
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 چلائیں بذریعہ:
sudo ldconfig /usr/local/lib/nanotec/
7.3 اپنا پروجیکٹ بنائیں
آپ کی مشترکہ اشیاء کو انسٹال کرنے کے ساتھ: اپنے Linux NanoLib کے لیے ایک نیا پروجیکٹ بنائیں۔ 1. Bash کے ذریعے: ایک نیا پروجیکٹ فولڈر بنائیں (یہاں: NanoLibTest) بذریعہ:
mkdir NanoLibTest cd NanoLibTest
2. ہیڈر کاپی کریں۔ fileشامل فولڈر میں (یہاں: inc) بذریعہ: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. ایک مین بنائیں file (NanoLibTest.cpp) via: #include “accessor_factory.hpp” #include <iostream>
ورژن: doc 1.4.2 / NanoLib 1.3.0
14
7 Creating your own Linux project
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds نتیجہ = رسائی کنندہ->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << "کامیابی" << std::endl; }
رسائی کو حذف کریں؛ واپسی 0؛ }
4. اپنے پراجیکٹ فولڈر کو مناسب ساخت کے لیے چیک کریں:
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp نتیجہ.hpp NanoLibTest.cpp
7.4 اپنے پروجیکٹ کو مرتب کریں اور جانچیں۔
Make your Linux NanoLib ready for use via Bash.
1. باش کے ذریعے: مین کو مرتب کریں۔ file بذریعہ:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. قابل عمل کو ایک ساتھ جوڑیں بذریعہ:
g++ -Wall -Wextra -pedantic -I./inc -o ٹیسٹ NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. ٹیسٹ پروگرام کو بذریعہ چلائیں:
./ٹیسٹ
4. چیک کریں کہ آیا آپ کا باش صحیح طور پر رپورٹ کرتا ہے:
کامیابی
ورژن: doc 1.4.2 / NanoLib 1.3.0
15
8 کلاسز/فنکشنز کا حوالہ
8 کلاسز/فنکشنز کا حوالہ
یہاں NanoLib کی یوزر انٹرفیس کلاسز اور ان کے ممبر فنکشنز کی فہرست تلاش کریں۔ فنکشن کی عام وضاحت میں ایک مختصر تعارف، فنکشن کی تعریف اور پیرامیٹر / واپسی کی فہرست شامل ہے:
ExampleFunction () آپ کو مختصراً بتاتا ہے کہ فنکشن کیا کرتا ہے۔
ورچوئل void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)
پیرامیٹرز param_a param_b
ResultVoid واپس کرتا ہے۔
اگر ضرورت ہو تو اضافی تبصرہ۔ اگر ضرورت ہو تو اضافی تبصرہ۔
8.1 NanoLibAccessor
انٹرفیس کلاس NanoLib میں انٹری پوائنٹ کے طور پر استعمال ہوتی ہے۔ ایک عام ورک فلو اس طرح لگتا ہے:
1. NanoLibAccessor.listAvailableBusHardware () کے ساتھ ہارڈ ویئر کے لیے اسکین کرکے شروع کریں۔ 2. BusHardwareOptions () کے ساتھ کمیونیکیشن سیٹنگز سیٹ کریں۔ 3. NanoLibAccessor.openBusHardwareWithProtocol () کے ساتھ ہارڈویئر کنکشن کھولیں۔ 4. NanoLibAccessor.scanDevices () سے منسلک آلات کے لیے بس کو اسکین کریں۔ 5. NanoLibAccessor.addDevice () کے ساتھ ایک ڈیوائس شامل کریں۔ 6. NanoLibAccessor.connectDevice () کے ساتھ ڈیوائس سے جڑیں۔ 7. آپریشن مکمل کرنے کے بعد، NanoLibAccessor.disconnectDevice () کے ساتھ ڈیوائس کو منقطع کریں۔ 8. NanoLibAccessor.removeDevice () کے ساتھ ڈیوائس کو ہٹا دیں۔ 9. NanoLibAccessor.closeBusHardware () کے ساتھ ہارڈویئر کنکشن بند کریں۔
NanoLibAccessor کے پاس مندرجہ ذیل عوامی ممبر افعال ہیں:
listAvailableBusHardware () دستیاب فیلڈ بس ہارڈویئر کی فہرست بنانے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ بس ایچ ڈبلیو آئی ڈیز nlc::NanoLibAccessor::listAvailableBusHardware ()
ResultBusHwIds واپس کرتا ہے۔
ایک فیلڈ بس ID سرنی فراہم کرتا ہے۔
openBusHardwareWithProtocol () بس ہارڈویئر کو جوڑنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
پیرامیٹرز busHwId busHwOpt
ResultVoid واپس کرتا ہے۔
کھولنے کے لیے فیلڈ بس کی وضاحت کرتا ہے۔ فیلڈ بس کھولنے کے اختیارات کی وضاحت کرتا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
isBusHardwareOpen () اس فنکشن کو یہ چیک کرنے کے لیے استعمال کریں کہ آیا آپ کا فیلڈ بس ہارڈویئر کنکشن کھلا ہے۔
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)
ورژن: doc 1.4.2 / NanoLib 1.3.0
16
8 کلاسز/فنکشنز کا حوالہ
پیرامیٹرز BusHardwareId درست لوٹتا ہے۔
جھوٹا
کھولنے کے لیے ہر ایک فیلڈ بس کی وضاحت کرتا ہے۔ ہارڈ ویئر کھلا ہے۔ ہارڈ ویئر بند ہے۔
getProtocolSpecificAccessor () اس فنکشن کا استعمال پروٹوکول سے متعلق ایکسیسر آبجیکٹ حاصل کرنے کے لیے کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
پیرامیٹرز busHwId نتیجہ واپس کرتا ہے۔
ایکسیسر حاصل کرنے کے لیے فیلڈ بس کی وضاحت کرتا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
getProfinetDCP () Profinet DCP انٹرفیس کا حوالہ واپس کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل ProfinetDCP اور getProfinetDCP ()
ProfinetDCP لوٹاتا ہے۔
getSamplerInterface () s کا حوالہ حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔ampler انٹرفیس.
ورچوئل ایسamplerInterface & getSamplerInterface ()
واپسی Sampler انٹرفیس
ایس کا حوالہ دیتا ہے۔ampler انٹرفیس کلاس.
setBusState () بس پروٹوکول کی مخصوص حالت کو سیٹ کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId، const std::string & state)
پیرامیٹرز busHwId حالت
ResultVoid واپس کرتا ہے۔
کھولنے کے لیے فیلڈ بس کی وضاحت کرتا ہے۔ سٹرنگ ویلیو کے طور پر بس کے لیے مخصوص حالت کو تفویض کرتا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
scanDevices () نیٹ ورک میں موجود آلات کو اسکین کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ڈیوائس آئیڈز nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId، NlcScanBusCallback* کال بیک)
پیرامیٹرز busHwId کال بیک
ResultDeviceIds IOError لوٹاتا ہے۔
اسکین کرنے کے لیے فیلڈ بس کی وضاحت کرتا ہے۔ NlcScanBusCallback پروگریس ٹریسر۔ ایک آلہ ID سرنی فراہم کرتا ہے۔ مطلع کرتا ہے کہ کوئی آلہ نہیں ملا۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
17
8 کلاسز/فنکشنز کا حوالہ
ڈیوائس شامل کریں ()
NanoLib کی اندرونی ڈیوائس لسٹ میں deviceId کے ذریعے بیان کردہ بس ڈیوائس کو شامل کرنے اور اس کے لیے ڈیوائس ہینڈل واپس کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ڈیوائس ہینڈل nlc::NanoLibAccessor::addDevice (DeviceId const اور deviceId)
پیرامیٹرز deviceId کا نتیجہ DeviceHandle واپس کرتا ہے۔
فہرست میں شامل کرنے کے لیے آلہ کی وضاحت کرتا ہے۔ ڈیوائس ہینڈل فراہم کرتا ہے۔
connectDevice () ڈیوائس ہینڈل کے ذریعے کسی ڈیوائس کو جوڑنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ واپس کرتا ہے
IOError
وضاحت کرتا ہے کہ NanoLib کس بس ڈیوائس سے جڑتا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔ مطلع کرتا ہے کہ کوئی آلہ نہیں ملا۔
getDeviceName () ڈیوائس ہینڈل کے ذریعہ ڈیوائس کا نام حاصل کرنے کے لئے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ سٹرنگ nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ سٹرنگ واپس کرتا ہے۔
یہ بتاتا ہے کہ NanoLib کو کس بس ڈیوائس کا نام ملتا ہے۔ آلہ کے نام بطور تار فراہم کرتا ہے۔
getDeviceProductCode () ڈیوائس ہینڈل کے ذریعے ڈیوائس کا پروڈکٹ کوڈ حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ انٹ nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل ریٹرن نتیجہ
بتاتا ہے کہ کس بس ڈیوائس NanoLib کو پروڈکٹ کوڈ ملتا ہے۔ پروڈکٹ کوڈز بطور عدد فراہم کرتا ہے۔
getDeviceVendorId () ڈیوائس ہینڈل کے ذریعے ڈیوائس وینڈر آئی ڈی حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ انٹ nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل ریٹرن نتیجہ
وسیلہ دستیاب نہیں ہے۔
وضاحت کرتا ہے کہ کس بس ڈیوائس NanoLib کو وینڈر ID ملتی ہے۔ وینڈر ID کو ایک عدد کے طور پر فراہم کرتا ہے۔ مطلع کرتا ہے کہ کوئی ڈیٹا نہیں ملا۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
18
8 کلاسز/فنکشنز کا حوالہ
getDeviceId () NanoLib اندرونی فہرست سے مخصوص ڈیوائس کی ID حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل کا نتیجہ ڈیوائس آئی ڈی واپس کرتا ہے۔
بتاتا ہے کہ کس بس ڈیوائس NanoLib کو ڈیوائس کی ID ملتی ہے۔ آلہ کی شناخت فراہم کرتا ہے۔
getDeviceIds () NanoLib اندرونی فہرست سے تمام آلات کی ID حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ڈیوائس آئیڈز nlc::NanoLibAccessor::getDeviceIds ()
ResultDeviceIds واپس کرتا ہے۔
ڈیوائس ID کی فہرست فراہم کرتا ہے۔
getDeviceUid () ڈیوائس ہینڈل کے ذریعے ڈیوائس کی منفرد ID (96 بٹ / 12 بائٹس) حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ آری بائٹ nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل کا نتیجہ آری بائٹ واپس کرتا ہے۔
وسیلہ دستیاب نہیں ہے۔
بتاتا ہے کہ کس بس ڈیوائس NanoLib کو منفرد ID ملتی ہے۔ بائٹ سرنی کے طور پر منفرد ID فراہم کرتا ہے۔ مطلع کرتا ہے کہ کوئی ڈیٹا نہیں ملا۔
getDeviceSerialNumber () ڈیوائس ہینڈل کے ذریعے ڈیوائس کا سیریل نمبر حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ سٹرنگ نانولیب ایکسسر::گیٹ ڈیوائس سیریل نمبر (ڈیوائس ہینڈل کانسٹ ڈیوائس ہینڈل)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ سٹرنگ واپس کرتا ہے۔
وسیلہ دستیاب نہیں ہے۔
بتاتا ہے کہ کس بس ڈیوائس NanoLib کو سیریل نمبر ملتا ہے۔ سٹرنگ کے طور پر سیریل نمبر فراہم کرتا ہے۔ مطلع کرتا ہے کہ کوئی ڈیٹا نہیں ملا۔
getDeviceHardwareGroup () بس ڈیوائس کا ہارڈویئر گروپ بذریعہ deviceHandle حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل ریٹرن نتیجہ
وضاحت کرتا ہے کہ کس بس ڈیوائس NanoLib کو ہارڈ ویئر گروپ ملتا ہے۔
ایک عدد کے طور پر ہارڈ ویئر گروپس فراہم کرتا ہے۔
getDeviceHardwareVersion () بس ڈیوائس کا ہارڈویئر ورژن بذریعہ deviceHandle حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
ورژن: doc 1.4.2 / NanoLib 1.3.0
19
8 کلاسز/فنکشنز کا حوالہ
پیرامیٹرز ڈیوائس ہینڈل
واپسی
ResultString وسائل دستیاب نہیں ہیں۔
بتاتا ہے کہ کس بس ڈیوائس NanoLib کو ہارڈ ویئر ورژن ملتا ہے۔ آلہ کے نام بطور تار فراہم کرتا ہے۔ مطلع کرتا ہے کہ کوئی ڈیٹا نہیں ملا۔
getDeviceFirmwareBuildId () ڈیوائس ہینڈل کے ذریعے بس ڈیوائس کی فرم ویئر بلڈ آئی ڈی حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ سٹرنگ واپس کرتا ہے۔
وضاحت کرتا ہے کہ کس بس ڈیوائس NanoLib کو فرم ویئر کی تعمیر کی ID ملتی ہے۔
آلہ کے نام بطور تار فراہم کرتا ہے۔
getDeviceBootloaderVersion () ڈیوائس ہینڈل کے ذریعے بس ڈیوائس کا بوٹ لوڈر ورژن حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ انٹ nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل
واپسی
ResultInt وسائل دستیاب نہیں ہیں۔
وضاحت کرتا ہے کہ کس بس ڈیوائس NanoLib کو بوٹ لوڈر ورژن ملتا ہے۔ ایک عدد کے طور پر بوٹ لوڈر ورژن فراہم کرتا ہے۔ مطلع کرتا ہے کہ کوئی ڈیٹا نہیں ملا۔
getDeviceBootloaderBuildId () ڈیوائس ہینڈل کے ذریعے بس ڈیوائس کی بوٹ لوڈر بلڈ آئی ڈی حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ سٹرنگ واپس کرتا ہے۔
وضاحت کرتا ہے کہ کس بس ڈیوائس NanoLib کو بوٹ لوڈر کی تعمیر کی ID ملتی ہے۔
آلہ کے نام بطور تار فراہم کرتا ہے۔
rebootDevice () اس فنکشن کو ڈیوائس ہینڈل کے ذریعے ڈیوائس کو ریبوٹ کرنے کے لیے استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ واپس کرتا ہے
ریبوٹ کرنے کے لیے فیلڈ بس کی وضاحت کرتا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
getDeviceState () اس فنکشن کو آلہ کے پروٹوکول سے متعلق مخصوص حالت حاصل کرنے کے لیے استعمال کریں۔
ورچوئل رزلٹ سٹرنگ nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل
وضاحت کرتا ہے کہ کس بس ڈیوائس NanoLib کو ریاست ملتی ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
20
8 کلاسز/فنکشنز کا حوالہ
ResultString واپس کرتا ہے۔
آلہ کے نام بطور تار فراہم کرتا ہے۔
setDeviceState () اس فنکشن کو آلہ کے پروٹوکول کے ساتھ مخصوص حالت سیٹ کرنے کے لیے استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle، const std::string & state)
پیرامیٹرز ڈیوائس ہینڈل کی حالت
ResultVoid واپس کرتا ہے۔
وضاحت کرتا ہے کہ کس بس ڈیوائس NanoLib ریاست کے لیے سیٹ کرتی ہے۔ سٹرنگ ویلیو کے طور پر بس کے لیے مخصوص حالت کو تفویض کرتا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
getConnectionState ()
ڈیوائس ہینڈل (= منقطع، منسلک، کنیکٹڈ بوٹ لوڈر) کے ذریعے مخصوص ڈیوائس کی آخری معلوم کنکشن کی حالت حاصل کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ کنکشن اسٹیٹ nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ کنکشن اسٹیٹ کو لوٹاتا ہے۔
بتاتا ہے کہ کس بس ڈیوائس NanoLib کو کنکشن کی حالت ملتی ہے۔
کنکشن کی حالت فراہم کرتا ہے (= منقطع، منسلک، منسلک بوٹ لوڈر)۔
چیک کنکشن اسٹیٹ ()
Only if the last known state was not Disconnected: Use this function to check and possibly update a specific device’s connection state by deviceHandle and by testing several mode-specific operations.
ورچوئل رزلٹ کنکشن اسٹیٹ nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ کنکشن اسٹیٹ کو لوٹاتا ہے۔
وضاحت کرتا ہے کہ کس بس ڈیوائس NanoLib کنکشن کی حالت کو چیک کرتی ہے۔
کنکشن کی حالت فراہم کرتا ہے (= منقطع نہیں)۔
assignObjectDictionary () اپنے طور پر ڈیوائس ہینڈل کو آبجیکٹ لغت (OD) تفویض کرنے کے لیے اس دستی فنکشن کا استعمال کریں۔
ورچوئل رزلٹ آبجیکٹ ڈیکشنری nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle، ObjectDictionary const اور objectDictionary)
پیرامیٹرز ڈیوائس ہینڈل آبجیکٹ ڈکشنری
ResultObjectDictionary لوٹاتا ہے۔
وضاحت کرتا ہے کہ NanoLib کس بس ڈیوائس کو OD تفویض کرتا ہے۔ آبجیکٹ لغت کی خصوصیات دکھاتا ہے۔
autoAssignObjectDictionary ()
NanoLib کو ڈیوائس ہینڈل کو ایک آبجیکٹ لغت (OD) تفویض کرنے کے لیے اس خود کار طریقے کا استعمال کریں۔ مناسب OD تلاش کرنے اور لوڈ کرنے پر، NanoLib خود بخود اسے ڈیوائس کو تفویض کر دیتا ہے۔ نوٹ: اگر ایک مطابقت پذیر OD پہلے سے ہی آبجیکٹ لائبریری میں لوڈ ہے، NanoLib جمع کرائی گئی ڈائرکٹری کو اسکین کیے بغیر اسے خود بخود استعمال کرے گا۔
ورچوئل رزلٹ آبجیکٹ ڈیکشنری nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle، const std::string & dictionaryLocationPath)
ورژن: doc 1.4.2 / NanoLib 1.3.0
21
8 کلاسز/فنکشنز کا حوالہ
پیرامیٹرز ڈیوائس ہینڈل
واپسی
ڈکشنری لوکیشن پاتھ رزلٹ آبجیکٹ ڈکشنری
یہ بتاتا ہے کہ کس بس ڈیوائس کے لیے NanoLib مناسب OD کے لیے خود بخود اسکین کرے گا۔ OD ڈائریکٹری کا راستہ بتاتا ہے۔ آبجیکٹ لغت کی خصوصیات دکھاتا ہے۔
getAssignedObjectDictionary ()
ڈیوائس ہینڈل کے ذریعہ کسی ڈیوائس کو تفویض کردہ آبجیکٹ لغت حاصل کرنے کے لئے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ آبجیکٹ ڈیکشنری nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const ڈیوائس
ہینڈل)
پیرامیٹرز ڈیوائس ہینڈل کا نتیجہ آبجیکٹ ڈیکشنری لوٹاتا ہے۔
بتاتا ہے کہ کس بس ڈیوائس NanoLib کو تفویض کردہ OD ملتا ہے۔ آبجیکٹ لغت کی خصوصیات دکھاتا ہے۔
getObjectDictionaryLibrary () یہ فنکشن OdLibrary حوالہ واپس کرتا ہے۔
ورچوئل OdLibrary&nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
OdLibrary واپس کرتا ہے
پوری OD لائبریری اور اس کے آبجیکٹ لغات کو کھولتا ہے۔
setLoggingLevel () ضروری لاگ ڈیٹیلنگ (اور log file سائز)۔ پہلے سے طے شدہ سطح معلومات ہے۔
virtual void nlc::NanoLibAccessor::setLoggingLevel (LogLevel level)
پیرامیٹرز کی سطح
درج ذیل لاگ کی تفصیلات ممکن ہیں:
0 = ٹریس 1 = ڈیبگ 2 = معلومات 3 = وارننگ 4 = خرابی 5 = نازک 6 = آف
نچلی سطح (سب سے بڑا لاگ file); کسی بھی قابل عمل تفصیلات کے علاوہ سافٹ ویئر اسٹارٹ/اسٹاپ کو لاگ کرتا ہے۔ لاگز ڈیبگ معلومات (= عبوری نتائج، مواد بھیجا یا موصول، وغیرہ) پہلے سے طے شدہ سطح؛ معلوماتی پیغامات کو لاگ کرتا ہے۔ لاگ ان مسائل جو پیش آئے لیکن موجودہ الگورتھم کو نہیں روکیں گے۔ لاگز صرف شدید پریشانی جس نے الگورتھم کو روک دیا۔ اعلی ترین سطح (سب سے چھوٹا لاگ file); لاگنگ آف کر دیتا ہے؛ مزید لاگ ان بالکل نہیں. لاگنگ بالکل نہیں۔
setLoggingCallback ()
اس کال بیک کے لیے لاگنگ کال بیک پوائنٹر اور لاگ ماڈیول (= لائبریری) سیٹ کرنے کے لیے اس فنکشن کا استعمال کریں (خود لاگر کے لیے نہیں)۔
ورچوئل void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* کال بیک، const nlc::LogModule & logModule)
پیرامیٹرز *کال بیک لاگ موڈیول
کال بیک پوائنٹر سیٹ کرتا ہے۔ کال بیک (لاگر نہیں!) کو اپنی لائبریری میں ٹیون کریں۔
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
صرف NanoLib کے کور کے لیے کال بیک کو فعال کرتا ہے۔ صرف CANopen کال بیک کو فعال کرتا ہے۔ صرف Modbus کال بیک کو چالو کرتا ہے۔ EtherCAT صرف کال بیک کو چالو کرتا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
22
8 کلاسز/فنکشنز کا حوالہ
4 = NanolibRest 5 = NanolibUSB
صرف REST کال بیک کو فعال کرتا ہے۔ صرف USB کال بیک کو چالو کرتا ہے۔
unsetLoggingCallback () لاگنگ کال بیک پوائنٹر کو منسوخ کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () آبجیکٹ لغت سے عددی قدر پڑھنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ انٹ nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle، const OdIndex odIndex)
پیرامیٹرز ڈیوائس ہینڈل odIndex
نتیجہ واپس کرتا ہے۔
وضاحت کرتا ہے کہ بس ڈیوائس NanoLib کس سے پڑھتا ہے۔ (ذیلی) انڈیکس کی وضاحت کرتا ہے جس سے پڑھنا ہے۔ ایک غیر تشریح شدہ عددی قدر فراہم کرتا ہے (دستخط کی جا سکتی ہے، غیر دستخط شدہ، ٹھیک 16.16 بٹ اقدار)۔
readNumberArray () آبجیکٹ ڈکشنری سے عددی صفوں کو پڑھنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle، const uint16_t انڈیکس)
پیرامیٹرز ڈیوائس ہینڈل انڈیکس
ResultArrayInt لوٹاتا ہے۔
وضاحت کرتا ہے کہ بس ڈیوائس NanoLib کس سے پڑھتا ہے۔ سرنی آبجیکٹ انڈیکس۔ ایک عددی صف فراہم کرتا ہے۔
readBytes () آبجیکٹ لغت سے صوابدیدی بائٹس (ڈومین آبجیکٹ ڈیٹا) کو پڑھنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ آری بائٹ nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle، const OdIndex odIndex)
پیرامیٹرز ڈیوائس ہینڈل odIndex
ResultArrayByte واپس کرتا ہے۔
وضاحت کرتا ہے کہ بس ڈیوائس NanoLib کس سے پڑھتا ہے۔ (ذیلی) انڈیکس کی وضاحت کرتا ہے جس سے پڑھنا ہے۔ بائٹ سرنی فراہم کرتا ہے۔
readString () آبجیکٹ ڈائرکٹری سے سٹرنگز پڑھنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ سٹرنگ nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle، const OdIndex odIndex)
پیرامیٹرز ڈیوائس ہینڈل odIndex
ResultString واپس کرتا ہے۔
وضاحت کرتا ہے کہ بس ڈیوائس NanoLib کس سے پڑھتا ہے۔ (ذیلی) انڈیکس کی وضاحت کرتا ہے جس سے پڑھنا ہے۔ آلہ کے نام بطور تار فراہم کرتا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
23
8 کلاسز/فنکشنز کا حوالہ
writeNumber () آبجیکٹ ڈائریکٹری میں عددی اقدار لکھنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle، int64_t قدر، const OdIndex odIndex، غیر دستخط شدہ int bitLength)
پیرامیٹرز ڈیوائس ہینڈل ویلیو odIndex bitLength
ResultVoid واپس کرتا ہے۔
وضاحت کرتا ہے کہ کس بس ڈیوائس کو NanoLib لکھتا ہے۔ غیر تشریح شدہ قدر (دستخط کی جا سکتی ہے، غیر دستخط شدہ، ٹھیک 16.16)۔ (ذیلی) انڈیکس کی وضاحت کرتا ہے جس سے پڑھنا ہے۔ تھوڑا سا میں لمبائی. تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
writeBytes () اس فنکشن کو آبجیکٹ ڈائرکٹری میں صوابدیدی بائٹس (ڈومین آبجیکٹ ڈیٹا) لکھنے کے لیے استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle، const std::vector اور ڈیٹا، const OdIndex odIndex)
پیرامیٹرز ڈیوائس ہینڈل ڈیٹا odIndex
ResultVoid واپس کرتا ہے۔
وضاحت کرتا ہے کہ کس بس ڈیوائس کو NanoLib لکھتا ہے۔ بائٹ ویکٹر / صف۔ (ذیلی) انڈیکس کی وضاحت کرتا ہے جس سے پڑھنا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
اپ لوڈ فرم ویئر ()
اپنے کنٹرولر فرم ویئر کو اپ ڈیٹ کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle، const std::vector & fwData، NlcDataTransferCallback* کال بیک)
پیرامیٹرز ڈیوائس ہینڈل fwData NlcDataTransferCallback
ResultVoid واپس کرتا ہے۔
بتاتا ہے کہ کون سا بس ڈیوائس NanoLib اپ ڈیٹ کرتا ہے۔ فرم ویئر ڈیٹا پر مشتمل صف۔ ڈیٹا پروگریس ٹریسر۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
FirmwareFrom اپ لوڈ کریں۔File ()
اپنے کنٹرولر فرم ویئر کو اپ لوڈ کرکے اپ ڈیٹ کرنے کے لیے اس فنکشن کا استعمال کریں۔ file.
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle، const std::string & absoluteFileپاتھ، NlcDataTransferCallback* کال بیک)
پیرامیٹرز ڈیوائس ہینڈل مطلقFileNlcDataTransferCallback کا راستہ
ResultVoid واپس کرتا ہے۔
بتاتا ہے کہ کون سا بس ڈیوائس NanoLib اپ ڈیٹ کرتا ہے۔ کا راستہ file فرم ویئر ڈیٹا پر مشتمل (std::string)۔ ڈیٹا پروگریس ٹریسر۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
24
8 کلاسز/فنکشنز کا حوالہ
اپ لوڈ بوٹ لوڈر ()
اپنے کنٹرولر بوٹ لوڈر کو اپ ڈیٹ کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle، const std::vector & btData, NlcDataTransferCallback* کال بیک)
پیرامیٹرز ڈیوائس ہینڈل btData NlcDataTransferCallback
ResultVoid واپس کرتا ہے۔
بتاتا ہے کہ کون سا بس ڈیوائس NanoLib اپ ڈیٹ کرتا ہے۔ بوٹ لوڈر ڈیٹا پر مشتمل صف۔ ڈیٹا پروگریس ٹریسر۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
بوٹ لوڈر سے اپ لوڈ کریں۔File ()
اپنے کنٹرولر بوٹ لوڈر کو اپ لوڈ کرکے اپ ڈیٹ کرنے کے لیے اس فنکشن کا استعمال کریں۔ file.
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle، const std::string & bootloaderAbsoluteFileپاتھ، NlcDataTransferCallback* کال بیک)
پیرامیٹرز ڈیوائس ہینڈل بوٹ لوڈر مطلقFileNlcDataTransferCallback کا راستہ
ResultVoid واپس کرتا ہے۔
بتاتا ہے کہ کون سا بس ڈیوائس NanoLib اپ ڈیٹ کرتا ہے۔ کا راستہ file بوٹ لوڈر ڈیٹا پر مشتمل (std::string)۔ ڈیٹا پروگریس ٹریسر۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
اپ لوڈ بوٹ لوڈر فرم ویئر ()
اپنے کنٹرولر بوٹ لوڈر اور فرم ویئر کو اپ ڈیٹ کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle، const std::vector & btData، const std::vector & fwData، NlcDataTransferCallback* کال بیک)
پیرامیٹرز ڈیوائس ہینڈل btData fwData NlcDataTransferCallback
ResultVoid واپس کرتا ہے۔
بتاتا ہے کہ کون سا بس ڈیوائس NanoLib اپ ڈیٹ کرتا ہے۔ بوٹ لوڈر ڈیٹا پر مشتمل صف۔ فرم ویئر ڈیٹا پر مشتمل صف۔ ڈیٹا پروگریس ٹریسر۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
بوٹ لوڈر فرم ویئر سے اپ لوڈ کریں۔File ()
اپ لوڈ کرکے اپنے کنٹرولر بوٹ لوڈر اور فرم ویئر کو اپ ڈیٹ کرنے کے لیے اس فنکشن کا استعمال کریں۔ files.
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle، const std::string & bootloaderAbsoluteFileپاتھ، const std::string & absoluteFileپاتھ، NlcDataTransferCallback* کال بیک)
پیرامیٹرز ڈیوائس ہینڈل بوٹ لوڈر مطلقFileراستہ مطلقFileNlcDataTransferCallback کا راستہ
ResultVoid واپس کرتا ہے۔
بتاتا ہے کہ کون سا بس ڈیوائس NanoLib اپ ڈیٹ کرتا ہے۔ کا راستہ file بوٹ لوڈر ڈیٹا پر مشتمل (std::string)۔ کا راستہ file فرم ویئر ڈیٹا (uint8_t) پر مشتمل ہے۔ ڈیٹا پروگریس ٹریسر۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
25
8 کلاسز/فنکشنز کا حوالہ
uploadNanoJ ()
NanoJ پروگرام کو اپنے کنٹرولر پر اپ لوڈ کرنے کے لیے اس عوامی فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle، std::vector const اور vmmData، NlcDataTransferCallback* کال بیک)
پیرامیٹر ڈیوائس ہینڈل vmmData NlcDataTransferCallback
ResultVoid واپس کرتا ہے۔
وضاحت کرتا ہے کہ NanoLib کس بس ڈیوائس پر اپ لوڈ کرتا ہے۔ NanoJ ڈیٹا پر مشتمل صف۔ ڈیٹا پروگریس ٹریسر۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
NanoJFrom اپ لوڈ کریں۔File ()
NanoJ پروگرام کو اپ لوڈ کرکے اپنے کنٹرولر پر اپ لوڈ کرنے کے لیے اس عوامی فنکشن کا استعمال کریں۔ file.
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle، const std::string & absoluteFileپاتھ، NlcDataTransferCallback* کال بیک)
پیرامیٹرز ڈیوائس ہینڈل مطلقFileNlcDataTransferCallback کا راستہ
ResultVoid واپس کرتا ہے۔
وضاحت کرتا ہے کہ NanoLib کس بس ڈیوائس پر اپ لوڈ کرتا ہے۔ کا راستہ file containing NanoJ data (std::string). A data progress tracer. Confirms that a void function has run.
disconnectDevice () اپنے آلے کو ڈیوائس ہینڈل کے ذریعے منقطع کرنے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::DisconnectDevice (DeviceHandle const deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ واپس کرتا ہے
وضاحت کرتا ہے کہ NanoLib کس بس ڈیوائس سے منقطع ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
removeDevice () NanoLib کی اندرونی ڈیوائس کی فہرست سے اپنے آلے کو ہٹانے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
پیرامیٹرز ڈیوائس ہینڈل نتیجہ واپس کرتا ہے
بتاتا ہے کہ کون سا بس ڈیوائس NanoLib ڈیلسٹس کرتا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
closeBusHardware () اپنے فیلڈ بس ہارڈویئر سے منقطع ہونے کے لیے اس فنکشن کا استعمال کریں۔
ورچوئل رزلٹ ویوڈ nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
پیرامیٹرز busHwId نتیجہ واپس کرتا ہے۔
فیلڈ بس کی وضاحت کرتا ہے جس سے منقطع ہونا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
26
8 کلاسز/فنکشنز کا حوالہ
8.2 BusHardwareId
اس کلاس کا استعمال بس ہارڈویئر کو ایک دوسرے سے پہچاننے کے لیے یا مختلف بس ہارڈویئر کو ایک دوسرے سے ممتاز کرنے کے لیے استعمال کریں۔ یہ کلاس (سیٹر فنکشنز کے بغیر تخلیق سے ناقابل تغیر ہے) اس پر بھی معلومات رکھتا ہے:
ہارڈ ویئر (= اڈاپٹر کا نام، نیٹ ورک اڈاپٹر وغیرہ) استعمال کرنے کے لیے پروٹوکول (= Modbus TCP، CANopen وغیرہ) بس ہارڈویئر اسپیفائر (= سیریل پورٹ کا نام، میک فرینڈلی نام
پتہ وغیرہ)
BusHardwareId () [1/3]
Constructor that creates a new bus hardware ID object.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
پیرامیٹرز بس ہارڈ ویئر_ پروٹوکول_ ہارڈ ویئر اسپیسیفائر_ ایکسٹرا ہارڈ ویئر اسپیسیفائر_ نام_
ہارڈ ویئر کی قسم (= ZK-USB-CAN-1 وغیرہ)۔ بس مواصلاتی پروٹوکول (= CANopen وغیرہ)۔ ہارڈ ویئر کا وضاحت کنندہ (= COM3 وغیرہ)۔ ہارڈ ویئر کا اضافی وضاحت کنندہ (کہیں، USB مقام کی معلومات)۔ ایک دوستانہ نام (= اڈاپٹر نام (پورٹ) وغیرہ)۔
BusHardwareId () [2/3] کنسٹرکٹر جو ایک نیا بس ہارڈویئر آئی ڈی آبجیکٹ بناتا ہے، جس میں ایک اضافی ہارڈویئر اسپیسیفائر کا اختیار ہے۔
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::_st name & const)
پیرامیٹرز بس ہارڈ ویئر_ پروٹوکول_ ہارڈ ویئر اسپیسیفائر_ ایکسٹرا ہارڈ ویئر اسپیسیفائر_ نام_
ہارڈ ویئر کی قسم (= ZK-USB-CAN-1 وغیرہ)۔ بس مواصلاتی پروٹوکول (= CANopen وغیرہ)۔ ہارڈ ویئر کا وضاحت کنندہ (= COM3 وغیرہ)۔ ہارڈ ویئر کا اضافی وضاحت کنندہ (کہیں، USB مقام کی معلومات)۔ ایک دوستانہ نام (= اڈاپٹر نام (پورٹ) وغیرہ)۔
BusHardwareId () [3/3] کنسٹرکٹر جو موجودہ busHardwareId کو کاپی کرتا ہے۔
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
پیرامیٹرز busHardwareId
کاپی کرنے کے لیے بس ہارڈویئر ID کو نام دیتا ہے۔
برابر () نئے بس ہارڈویئر ID کا موجودہ سے موازنہ کرتا ہے۔
bool nlc::BusHardwareId:: equals (BusHardwareId const اور دیگر) const
پیرامیٹرز دوسرے ریٹرن درست
اسی کلاس کا ایک اور اعتراض۔ اگر دونوں تمام اقدار میں برابر ہیں۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
27
8 کلاسز/فنکشنز کا حوالہ
جھوٹا
اگر اقدار مختلف ہوں۔
getBusHardware () بس ہارڈویئر سٹرنگ پڑھتا ہے۔
std::string nlc::BusHardwareId::getBusHardware () const
سٹرنگ لوٹاتا ہے۔
getHardwareSpecifier () بس ہارڈ ویئر کی مخصوص سٹرنگ (= نیٹ ورک کا نام وغیرہ) پڑھتا ہے۔
std::string nlc::BusHardwareId::getHardwareSpecifier () const
سٹرنگ لوٹاتا ہے۔
getExtraHardwareSpecifier () بس ایکسٹرا ہارڈویئر کی سپیفائر سٹرنگ (= MAC ایڈریس وغیرہ) پڑھتا ہے۔
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
سٹرنگ لوٹاتا ہے۔
getName () بس ہارڈویئر کے دوستانہ نام کو پڑھتا ہے۔
std::string nlc::BusHardwareId::getName () const
سٹرنگ لوٹاتا ہے۔
getProtocol () بس پروٹوکول سٹرنگ پڑھتا ہے۔
std::string nlc::BusHardwareId::getProtocol () const
سٹرنگ لوٹاتا ہے۔
toString () بس ہارڈویئر ID کو سٹرنگ کے طور پر لوٹاتا ہے۔
std::string nlc::BusHardwareId::toString () const
سٹرنگ لوٹاتا ہے۔
8.3 بس ہارڈ ویئر کے اختیارات
اس کلاس میں، سٹرنگز کی کلیدی قدر کی فہرست میں، بس ہارڈویئر کو کھولنے کے لیے درکار تمام اختیارات تلاش کریں۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
28
8 کلاسز/فنکشنز کا حوالہ
BusHardwareOptions () [1/2] ایک نیا بس ہارڈویئر آپشن آبجیکٹ بناتا ہے۔
nlc::BusHardwareOptions::BusHardwareOptions () کلیدی قدر کے جوڑے شامل کرنے کے لیے فنکشن addOption () کا استعمال کریں۔
BusHardwareOptions () [2/2] ایک نیا بس ہارڈویئر آپشن آبجیکٹ بناتا ہے جس میں کلیدی قدر کے نقشے پہلے سے موجود ہیں۔
nlc::BusHardwareOptions::BusHardwareOptions (std::map <std::string, std::string> const & options)
پیرامیٹرز کے اختیارات
ایک نقشہ جس میں بس ہارڈویئر کو چلانے کے اختیارات ہیں۔
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
پیرامیٹرز دوسرے ریٹرن درست
جھوٹا
اسی کلاس کا ایک اور اعتراض۔ اگر دوسرے آبجیکٹ کے پاس بالکل وہی اختیارات ہیں۔ اگر دوسری شے میں مختلف کلیدیں یا قدریں ہیں۔
getOptions () تمام شامل کردہ کلیدی قدر کے جوڑوں کو پڑھتا ہے۔
std :: نقشہ nlc::BusHardwareOptions::getOptions () const
سٹرنگ کا نقشہ لوٹاتا ہے۔
toString () تمام کلیدیں / قدریں بطور سٹرنگ لوٹاتا ہے۔
std::string nlc::BusHardwareId::toString () const
سٹرنگ لوٹاتا ہے۔
8.4 BusHwOptionsDefault
اس ڈیفالٹ کنفیگریشن آپشن کلاس میں درج ذیل عوامی صفات ہیں:
ورژن: doc 1.4.2 / NanoLib 1.3.0
29
8 کلاسز/فنکشنز کا حوالہ
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () سیریل = سیریل () restfulBus = RESTfulBus () ethercatBus = EtherCATBus ()
8.5 CanBaudRate
ڈھانچہ جس میں درج ذیل عوامی صفات میں CAN بس باؤڈریٹس شامل ہیں:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_RATE_100K = "100k" BAUD_RATE_50K = "AUD_RATE_50K" 20k" BAUD_RATE_20K = "10k" BAUD_RATE_10K = "5k" BAUD_RATE_5K = "XNUMXk"
8.6 کین بس
درج ذیل عوامی صفات کے ساتھ طے شدہ ترتیب کے اختیارات کی کلاس:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = "کین اڈاپٹر بوڈ ریٹ" baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
NMT سروس کے لیے، اس ڈھانچے میں درج ذیل عوامی صفات میں سٹرنگ ویلیو کے طور پر CANopen NMT ریاستیں شامل ہیں:
const std::string const std::string const std::string const std::string const std::string
START = "START" STOP = "STOP" PRE_OPERATIONAL = "PRE_OPERATIONAL" RESET = "RESET" RESET_COMMUNICATION = "RESET_COMMUNICATION"
8.8 CanOpenNmtState
یہ ڈھانچہ CANopen NMT ریاستوں کو درج ذیل عوامی صفات میں سٹرنگ ویلیو کے طور پر رکھتا ہے:
const std::string const std::string const std::string const std::string const std::string
روکا ہوا = "روکا ہوا" پری_آپریشنل = "پیش_آپریشنل" آپریشنل = "آپریشنل" ابتداء = "شروع" نامعلوم = "نامعلوم"
8.9 EtherCATBus ڈھانچہ
یہ ڈھانچہ درج ذیل عوامی صفات میں EtherCAT کمیونیکیشن کنفیگریشن کے اختیارات پر مشتمل ہے:
ورژن: doc 1.4.2 / NanoLib 1.3.0
30
8 کلاسز/فنکشنز کا حوالہ
const std::string NETWORK_FIRMWARE_STATE_OP- نیٹ ورک کی حالت کو فرم ویئر موڈ کے طور پر سمجھا جاتا ہے۔ قابل قبول
TION_NAME = "نیٹ ورک فرم ویئر اسٹیٹ"
اقدار (پہلے سے طے شدہ = PRE_OPERATIONAL):
EtherCATSstate::PRE_OPERATIONAL EtherCATSstate::SAFE_OPERATIONAL EtherCATSstate::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = "PRE_OPERATIONAL"
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- خصوصی لاک حاصل کرنے کے لیے ملی سیکنڈ میں ٹائم آؤٹ
TION_NAME = "مشترکہ لاک ٹائم آؤٹ"
نیٹ ورک (ڈیفالٹ = 500 ایم ایس)۔
const غیر دستخط شدہ انٹ DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"
const std::string SHARED_LOCK_TIMEOUT_OPTION_ ٹائم آؤٹ ملی سیکنڈ میں مشترکہ لاک کو حاصل کرنے کے لیے
NAME = "مشترکہ لاک ٹائم آؤٹ"
نیٹ ورک (ڈیفالٹ = 250 ایم ایس)۔
const غیر دستخط شدہ انٹ DEFAULT_SHARED_LOCK_TIMEOUT = "250"
const std::string READ_TIMEOUT_OPTION_NAME = ٹائم آؤٹ ملی سیکنڈ میں پڑھنے کے آپریشن کے لیے (پہلے سے طے شدہ
"پڑھنے کا ٹائم آؤٹ"
= 700 ایم ایس)۔
const غیر دستخط شدہ انٹ DEFAULT_READ_TIMEOUT = "700"
const std::string WRITE_TIMEOUT_OPTION_NAME = رائٹ آپریشن کے لیے ملی سیکنڈ میں ٹائم آؤٹ (پہلے سے طے شدہ
"ٹائم آؤٹ لکھیں"
= 200 ایم ایس)۔
const غیر دستخط شدہ int DEFAULT_WRITE_TIMEOUT = "200"
const std::string READ_WRITE_ATTEMPTS_OPTION_ زیادہ سے زیادہ پڑھنے یا لکھنے کی کوششیں (غیر صفر اقدار
NAME = "پڑھنے/لکھنے کی کوششیں"
صرف؛ ڈیفالٹ = 5)۔
const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = "5"
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "نیٹ ورک اسٹیٹ کی کوششیں تبدیل کریں"
نیٹ ورک کی حالت کو تبدیل کرنے کی کوششوں کی زیادہ سے زیادہ تعداد (صرف غیر صفر اقدار؛ ڈیفالٹ = 10)۔
const غیر دستخط شدہ انٹ DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "10"
const std::string PDO_IO_ENABLED_OPTION_NAME ڈیجیٹل ان کے لیے PDO پروسیسنگ کو فعال یا غیر فعال کرتا ہے۔
= "PDO IO فعال"
آؤٹ پٹس (صرف "True" یا "False"؛ ڈیفالٹ = "True")۔
const std::string DEFAULT_PDO_IO_ENABLED = "سچ"
8.10 ایتھرکیٹ اسٹیٹ ڈھانچہ
اس ڈھانچے میں درج ذیل عوامی صفات میں سٹرنگ ویلیو کے طور پر EtherCAT غلام/نیٹ ورک سٹیٹس شامل ہیں۔ نوٹ: پاور آن پر ڈیفالٹ حالت PRE_OPERATIONAL ہے؛ NanoLib غیر حقیقی آپریٹنگ سسٹم میں کوئی قابل اعتماد "آپریشنل" حالت فراہم نہیں کر سکتا:
const std::string const std::string const std::string const std::string const std::string const std::string
NONE = "NONE" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" آپریشنل = "آپریشنل"
ورژن: doc 1.4.2 / NanoLib 1.3.0
31
8 کلاسز/فنکشنز کا حوالہ
8.11 Ixxat
اس ڈھانچے میں درج ذیل عوامی خصوصیات میں Ixxat usb-to-can کے لیے تمام معلومات موجود ہیں:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "ixxat اڈاپٹر بس نمبر"
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
یہ ڈھانچہ درج ذیل عوامی خصوصیات میں Ixxat usb-to-can کے لیے بس نمبر رکھتا ہے:
const std::string const std::string const std::string const std::string
BUS_NUMBER_0_DEFAULT = "0" BUS_NUMBER_1 = "1" BUS_NUMBER_2 = "2" BUS_NUMBER_3 = "3"
8.13 چوٹی
یہ ڈھانچہ مندرجہ ذیل عوامی خصوصیات میں Peak usb-to-can کے لیے تمام معلومات رکھتا ہے:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = "چوٹی اڈاپٹر بس نمبر"
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
یہ ڈھانچہ درج ذیل عوامی خصوصیات میں Peak usb-to-can کے لیے بس نمبر رکھتا ہے:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::strt: const std: string const std::string const std::string
BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_SBBUS = BUS_NUMBER_4 = std::PCAN_BUS = 5_5) std::to_string (PCAN_USBBUS6) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_8 = std::to_string (PCAN_USBBUSd = 9_9) (PCAN_USBBUS10) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS13 = std::to_string) BUS_NUMBER_13 = 14 (PCAN_USBBUS14) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS15) BUS_NUMBER_16 = std::to_string (PCAN_USBBUS16) BUS_NUMBER_XNUMX = std::to_string (PCAN_USBBUSXNUMX)
8.15 ڈیوائس ہینڈل
یہ کلاس بس پر کسی ڈیوائس کو کنٹرول کرنے کے لیے ایک ہینڈل کی نمائندگی کرتی ہے اور اس میں درج ذیل عوامی ممبر کے افعال ہوتے ہیں۔
ڈیوائس ہینڈل () ڈیوائس ہینڈل (uint32_t ہینڈل)
ورژن: doc 1.4.2 / NanoLib 1.3.0
32
8 کلاسز/فنکشنز کا حوالہ
برابر () اپنے آپ کو دیے گئے ڈیوائس ہینڈل سے موازنہ کرتا ہے۔
bool equals (DeviceHandle const other) const (uint32_t ہینڈل)
toString () ڈیوائس ہینڈل کی سٹرنگ کی نمائندگی کرتا ہے۔
std::string toString () const
get () ڈیوائس ہینڈل لوٹاتا ہے۔
uint32_t get () const
8.16 ڈیوائس آئی ڈی
بس میں آلات کی شناخت اور تمیز کرنے کے لیے اس کلاس کا استعمال کریں (تخلیق سے ناقابل تبدیلی)
ہارڈ ویئر اڈاپٹر شناخت کنندہ
آلہ شناخت کنندہ
تفصیل
ڈیوائس ID/تفصیل کی قدروں کا مطلب بس پر منحصر ہے۔ سابق کے لیےampلی، ایک CAN بس عددی ID استعمال کر سکتی ہے۔
DeviceId () [1/3] ایک نیا ڈیوائس آئی ڈی آبجیکٹ بناتا ہے۔
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_، غیر دستخط شدہ int deviceId_، std::string const & description_)
پیرامیٹرز busHardwareId_ deviceId_ description_
بس کا شناخت کنندہ۔ ایک انڈیکس؛ بس کے تابع (= CANopen نوڈ ID وغیرہ)۔ ایک تفصیل (خالی ہو سکتی ہے)؛ بس کے تابع
DeviceId () [2/3] توسیعی ID کے اختیارات کے ساتھ ایک نیا آلہ ID آبجیکٹ بناتا ہے۔
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId، غیر دستخط شدہ int deviceId_، std::string const & description_ std::vector const اور extraId_، std::string const اور extraStringId_)
پیرامیٹرز busHardwareId_ deviceId_ description_ extraId_ extraStringId_
بس کا شناخت کنندہ۔ ایک انڈیکس؛ بس کے تابع (= CANopen نوڈ ID وغیرہ)۔ ایک تفصیل (خالی ہو سکتی ہے)؛ بس کے تابع ایک اضافی ID (خالی ہو سکتا ہے)؛ مطلب بس پر منحصر ہے۔ اضافی سٹرنگ ID (خالی ہو سکتا ہے)؛ مطلب بس پر منحصر ہے۔
DeviceId () [3/3] ڈیوائس آئی ڈی آبجیکٹ کی ایک کاپی بناتا ہے۔
nlc::DeviceId::DeviceId (DeviceId const &)
ورژن: doc 1.4.2 / NanoLib 1.3.0
33
8 کلاسز/فنکشنز کا حوالہ
پیرامیٹرز deviceId_
ڈیوائس کی شناخت جس سے کاپی کرنا ہے۔
برابر () موجودہ اشیاء سے نئے کا موازنہ کرتا ہے۔
bool nlc::DeviceId::equals (DeviceId const & other) const
بولین لوٹاتا ہے۔
getBusHardwareId () بس ہارڈویئر ID پڑھتا ہے۔
BusHardwareId nlc::DeviceId::getBusHardwareId () const
BusHardwareId لوٹاتا ہے۔
getDescription () ڈیوائس کی تفصیل پڑھتا ہے (شاید غیر استعمال شدہ)۔
std::string nlc::DeviceId::getDescription () const
سٹرنگ لوٹاتا ہے۔
getDeviceId () ڈیوائس کی شناخت پڑھتا ہے (شاید غیر استعمال شدہ)۔
غیر دستخط شدہ int nlc::DeviceId::getDeviceId () const
غیر دستخط شدہ int لوٹاتا ہے۔
toString () آبجیکٹ کو بطور سٹرنگ لوٹاتا ہے۔
std::string nlc::DeviceId::toString () const
سٹرنگ لوٹاتا ہے۔
getExtraId () ڈیوائس کی اضافی ID پڑھتا ہے (غیر استعمال شدہ ہوسکتا ہے)۔
const std::vector &getExtraId () const
Returns vector<uint8_t>
اضافی اضافی ID کا ایک ویکٹر (خالی ہو سکتا ہے)؛ مطلب بس پر منحصر ہے۔
getExtraStringId () ڈیوائس کی اضافی سٹرنگ ID پڑھتا ہے (غیر استعمال شدہ ہوسکتا ہے)۔
std::string getExtraStringId () const
ورژن: doc 1.4.2 / NanoLib 1.3.0
34
8 کلاسز/فنکشنز کا حوالہ
سٹرنگ لوٹاتا ہے۔
اضافی سٹرنگ ID (خالی ہو سکتا ہے)؛ مطلب بس پر منحصر ہے۔
8.17 لاگ لیول کنورٹر
یہ کلاس آپ کے لاگ لیول کو سٹرنگ کے طور پر واپس کرتی ہے۔ static std::string toString (nlc::LogLevel logLevel)
8.18 LogModuleConverter
یہ کلاس آپ کی لائبریری کے لیے مخصوص لاگ ماڈیول سیٹلاگنگ لیول () کو بطور سٹرنگ واپس کرتی ہے۔
static std::string
toString (nlc::LogModule logModule)
static std::string toString (nlc::LogModule logModule)
8.19 آبجیکٹ ڈکشنری
یہ کلاس کنٹرولر کی آبجیکٹ لغت کی نمائندگی کرتی ہے اور اس میں درج ذیل پبلک ممبر فنکشنز ہیں: getDeviceHandle ()
ورچوئل رزلٹ ڈیوائس ہینڈل getDeviceHandle () const نتیجہ ڈیوائس ہینڈل لوٹاتا ہے
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) Returns ResultObjectSubEntry
getObjectEntry () ورچوئل نتیجہObjectEntry getObjectEntry (uint16_t انڈیکس)
ResultObjectEntry لوٹاتا ہے۔
کسی چیز کی خصوصیات پر مطلع کرتا ہے۔
getXmlFileنام () ورچوئل رزلٹ سٹرنگ getXmlFileنام () const
ResultString واپس کرتا ہے۔
XML لوٹاتا ہے۔ file ایک تار کے طور پر نام.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) نتیجہ واپس کرتا ہے
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t کانسٹ انڈیکس)
ورژن: doc 1.4.2 / NanoLib 1.3.0
35
8 کلاسز/فنکشنز کا حوالہ
ResultArrayInt readString () لوٹاتا ہے
ورچوئل رزلٹ سٹرنگ ریڈ سٹرنگ (OdIndex const odIndex) Returs ResultString readBytes () ورچوئل ResultArrayByte readBytes (OdIndex const odIndex) ResultArrayByte writeNumber () ورچوئل ResultVoid writeNumber (OdIndex consttoid، 64 ریزلٹ ویلیو) writeBytes () ورچوئل نتیجہVoid writeBytes (OdIndex const OdIndex، std::vector
const اور ڈیٹا) رزلٹ وائڈ متعلقہ لنکس OdIndex واپس کرتا ہے۔
8.20 آبجیکٹ اینٹری
یہ کلاس آبجیکٹ لغت کے آبجیکٹ اندراج کی نمائندگی کرتی ہے، اس میں درج ذیل مستحکم محفوظ وصف اور عوامی رکن کے افعال ہیں:
static nlc::ObjectSubEntry invalidObject
getName () سٹرنگ کے طور پر آبجیکٹ کے نام کو پڑھتا ہے۔
ورچوئل std::string getName () const
getPrivate () چیک کرتا ہے کہ آیا اعتراض نجی ہے۔
ورچوئل bool getPrivate () const
getIndex () آبجیکٹ انڈیکس کا پتہ پڑھتا ہے۔
virtual uint16_t getIndex () const
ورژن: doc 1.4.2 / NanoLib 1.3.0
36
8 کلاسز/فنکشنز کا حوالہ
getDataType () آبجیکٹ کے ڈیٹا کی قسم کو پڑھتا ہے۔
ورچوئل nlc::ObjectEntryDataType getDataType () const
getObjectCode () آبجیکٹ کوڈ پڑھتا ہے:
Null Deftype Defstruct Var Array Record
0x00 0x05 0x06 0x07 0x08 0x09
ورچوئل این ایل سی:: آبجیکٹ کوڈ getObjectCode () const
getObjectSaveable () چیک کرتا ہے کہ آیا آبجیکٹ قابل محفوظ ہے اور اس کا زمرہ ہے (مزید تفصیلات کے لیے پروڈکٹ مینوئل دیکھیں): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFYUNKVY,1020
ورچوئل nlc::ObjectSaveable getObjectSaveable () const
getMaxSubIndex () اس آبجیکٹ کے ذریعہ تعاون یافتہ ذیلی انڈیکس کی تعداد کو پڑھتا ہے۔
ورچوئل uint8_t getMaxSubIndex () const
getSubEntry () ورچوئل nlc::ObjectSubEntry اور getSubEntry (uint8_t سب انڈیکس)
آبجیکٹ سب اینٹری بھی دیکھیں۔
8.21 آبجیکٹ سب اینٹری
یہ کلاس آبجیکٹ لغت کی ایک آبجیکٹ ذیلی اندراج (سبائنڈیکس) کی نمائندگی کرتی ہے اور اس میں درج ذیل عوامی رکن افعال ہیں:
getName () سٹرنگ کے طور پر آبجیکٹ کے نام کو پڑھتا ہے۔
ورچوئل std::string getName () const
getSubIndex () سب انڈیکس کا پتہ پڑھتا ہے۔
ورچوئل uint8_t getSubIndex () const
ورژن: doc 1.4.2 / NanoLib 1.3.0
37
8 کلاسز/فنکشنز کا حوالہ
getDataType () آبجیکٹ کے ڈیٹا کی قسم کو پڑھتا ہے۔
ورچوئل nlc::ObjectEntryDataType getDataType () const
getSdoAccess () چیک کرتا ہے کہ آیا سب انڈیکس SDO کے ذریعے قابل رسائی ہے:
صرف پڑھنے کے لیے
1
صرف لکھیں۔
2
ریڈ رائٹ
3
داخلہ ممنوع ہے
0
ورچوئل nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () چیک کرتا ہے کہ آیا سب انڈیکس PDO کے ذریعے قابل رسائی/میپ قابل ہے:
Tx
1
Rx
2
TxRx
3
نہیں
0
ورچوئل nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () سب انڈیکس کی لمبائی کو چیک کرتا ہے۔
ورچوئل uint32_t getBitLength () const
getDefaultValueAsNumeric () عددی ڈیٹا کی اقسام کے لیے ذیلی انڈیکس کی ڈیفالٹ قدر پڑھتا ہے۔
ورچوئل رزلٹ انٹ getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () سٹرنگ ڈیٹا کی اقسام کے لیے سب انڈیکس کی ڈیفالٹ ویلیو کو پڑھتا ہے۔
ورچوئل رزلٹ سٹرنگ getDefaultValueAsString (std::string const & key) const
getDefaultValues () سب انڈیکس کی ڈیفالٹ اقدار کو پڑھتا ہے۔
ورچوئل std::map getDefaultValues () const
ورژن: doc 1.4.2 / NanoLib 1.3.0
38
8 کلاسز/فنکشنز کا حوالہ
readNumber () ذیلی انڈیکس کی عددی اصل قدر کو پڑھتا ہے۔
ورچوئل رزلٹ انٹ ریڈ نمبر () کانسٹی
readString () سب انڈیکس کی سٹرنگ کی اصل قدر کو پڑھتا ہے۔
ورچوئل رزلٹ سٹرنگ readString () const
readBytes () سب انڈیکس کی اصل قدر بائٹس میں پڑھتا ہے۔
ورچوئل رزلٹ ارری بائٹ ریڈ بائٹ () کانسٹ
writeNumber () سب انڈیکس میں عددی قدر لکھتا ہے۔
virtual ResultVoid writeNumber (const int64_t قدر) const
writeBytes () سب انڈیکس میں ایک قدر بائٹس میں لکھتا ہے۔
ورچوئل رزلٹ وائڈ رائٹ بائٹس (std::vector const اور ڈیٹا) const
8.22 اوڈ انڈیکس
آبجیکٹ ڈائرکٹری اشاریہ جات / ذیلی اشاریہ جات کو لپیٹنے اور تلاش کرنے کے لیے اس کلاس (تخلیق سے ناقابل تغیر) کا استعمال کریں۔ ایک ڈیوائس کے OD میں 65535 (0xFFFF) قطاریں اور 255 (0xFF) کالم ہوتے ہیں۔ منقطع قطاروں کے درمیان فرق کے ساتھ۔ مزید تفصیل کے لیے CANopen اسٹینڈرڈ اور اپنے پروڈکٹ کا مینوئل دیکھیں۔
OdIndex () ایک نیا OdIndex آبجیکٹ بناتا ہے۔
nlc::OdIndex::OdIndex (uint16_t انڈیکس، uint8_t سب انڈیکس)
پیرامیٹرز انڈیکس سب انڈیکس
0 سے 65535 (0xFFFF) بشمول۔ 0 سے 255 (0xFF) بشمول۔
getIndex () انڈیکس پڑھتا ہے (0x0000 سے 0xFFFF تک)۔
uint16_t nlc::OdIndex::getIndex () const
Returns uint16_t
getSubindex () ذیلی اشاریہ پڑھتا ہے (0x00 سے 0xFF تک)
uint8_t nlc::OdIndex::getSubIndex () const
ورژن: doc 1.4.2 / NanoLib 1.3.0
39
8 کلاسز/فنکشنز کا حوالہ
Returns 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 () virtual uint32_t getObjectDictionaryCount () const
getObjectDictionary () ورچوئل رزلٹ آبجیکٹ ڈیکشنری getObjectDictionary (uint32_t odIndex)
ResultObjectDictionary لوٹاتا ہے۔
AddObjectDictionaryFromFile ()
ورچوئل رزلٹ آبجیکٹ ڈیکشنری ایڈ آبجیکٹ ڈیکشنری فرمFile (std::string const اور absoluteXmlFileراستہ)
ResultObjectDictionary لوٹاتا ہے۔
AddObjectDictionary ()
ورچوئل رزلٹ آبجیکٹ لغت addObjectDictionary (std::vector const اور odXmlData، const std::string &xmlFileراستہ = std::string ())
ResultObjectDictionary لوٹاتا ہے۔
8.24 OdTypesHelper
درج ذیل پبلک ممبر فنکشنز کے علاوہ، اس کلاس میں حسب ضرورت ڈیٹا کی اقسام شامل ہیں۔ نوٹ: اپنی مرضی کے مطابق ڈیٹا کی اقسام کو چیک کرنے کے لیے، od_types.hpp میں enum کلاس ObjectEntryDataType کو تلاش کریں۔
uintToObjectCode () غیر دستخط شدہ عدد کو آبجیکٹ کوڈ میں تبدیل کرتا ہے:
Null Deftype
0x00 0x05
ورژن: doc 1.4.2 / NanoLib 1.3.0
40
8 کلاسز/فنکشنز کا حوالہ
ڈیفسٹریکٹ Var Array ریکارڈ
0x06 0x07 0x08 0x09
جامد آبجیکٹ کوڈ uintToObjectCode (غیر دستخط شدہ int آبجیکٹ کوڈ)
isNumericDataType () بتاتا ہے کہ آیا ڈیٹا کی قسم عددی ہے یا نہیں۔
static bool isNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () مطلع کرتا ہے کہ آیا کوئی چیز ڈیفینیشن سٹرکچر انڈیکس ہے یا نہیں۔
static bool isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () مطلع کرتا ہے کہ آیا کوئی چیز ڈیفینیشن ٹائپ انڈیکس ہے یا نہیں۔
static bool isDeftypeIndex (uint16_t typeNum)
isComplexDataType () بتاتا ہے کہ آیا ڈیٹا کی قسم پیچیدہ ہے یا نہیں۔
static bool isComplexDataType (Object EntryDataType dataType)
uintToObjectEntryDataType () غیر دستخط شدہ عدد کو OD ڈیٹا کی قسم میں تبدیل کرتا ہے۔
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t ObjectDataType)
objectEntryDataTypeToString () OD ڈیٹا کی قسم کو سٹرنگ میں تبدیل کرتا ہے۔
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () اگر ممکن ہو تو سٹرنگ کو OD ڈیٹا کی قسم میں تبدیل کرتا ہے۔ بصورت دیگر، UNKNOWN_DATATYPE لوٹاتا ہے۔
جامد ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
ورژن: doc 1.4.2 / NanoLib 1.3.0
41
8 کلاسز/فنکشنز کا حوالہ
objectEntryDataTypeBitLength () کسی آبجیکٹ انٹری ڈیٹا کی قسم کی بٹ لمبائی پر مطلع کرتا ہے۔
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const اور dataType)
8.25 RESTfulBus ڈھانچہ
یہ ڈھانچہ RESTful انٹرفیس (ایتھرنیٹ پر) کے لیے مواصلاتی ترتیب کے اختیارات پر مشتمل ہے۔ اس میں درج ذیل عوامی صفات شامل ہیں:
const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long
CONNECT_TIMEOUT_OPTION_NAME = "RESTful کنیکٹ ٹائم آؤٹ" DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = "RESTful Request timeout" DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = RESPONSE_TIMEOUT_OPTION_NAME "RESTful timeout" 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 () const
setScanTimeout () ایک ڈیوائس اسکین ٹائم آؤٹ سیٹ کرتا ہے (ڈیفالٹ = 2000 ms)۔
ورچوئل void nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () سیٹ اپ، ری سیٹ اور پلک جھپکنے کے آپریشنز (ڈیفالٹ = 1000 ms) کے لیے ڈیوائس کے رسپانس ٹائم آؤٹ پر مطلع کرتا ہے۔
ورچوئل uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () سیٹ اپ، دوبارہ ترتیب دینے اور پلک جھپکنے کے آپریشنز (ڈیفالٹ = 1000 ایم ایس) کے لیے ڈیوائس کے رسپانس ٹائم آؤٹ پر مطلع کرتا ہے۔
ورچوئل void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
ورژن: doc 1.4.2 / NanoLib 1.3.0
42
8 کلاسز/فنکشنز کا حوالہ
isService دستیاب ہے ()
Profinet DCP سروس کی دستیابی چیک کرنے کے لیے اس فنکشن کا استعمال کریں۔
نیٹ ورک اڈاپٹر کی درستگی / دستیابی ونڈوز: WinPcap / Npcap دستیابی لینکس: CAP_NET_ADMIN / CAP_NET_RAW صلاحیتیں
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId اور busHardwareId)
پیرامیٹرز BusHardwareId درست لوٹتا ہے۔
جھوٹا
چیک کرنے کے لیے Profinet DCP سروس کی ہارڈ ویئر ID۔ سروس دستیاب ہے۔ سروس دستیاب نہیں ہے۔
scanProfinetDevices () Profinet ڈیوائسز کی موجودگی کے لیے ہارڈویئر بس کو اسکین کرنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)
پیرامیٹرز BusHardwareId Returns ResultProfinetDevices
کھولنے کے لیے ہر ایک فیلڈ بس کی وضاحت کرتا ہے۔ ہارڈ ویئر کھلا ہے۔
setupProfinetDevice () مندرجہ ذیل ڈیوائس کی ترتیبات کو قائم کرتا ہے:
ڈیوائس کا نام
آئی پی ایڈریس
نیٹ ورک ماسک
ڈیفالٹ گیٹ وے
virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId اور busHardwareId، const ProfinetDevice ساخت اور profinetDevice، bool savePermanent)
resetProfinetDevice () ڈیوائس کو روکتا ہے اور اسے فیکٹری ڈیفالٹس پر دوبارہ سیٹ کرتا ہے۔
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () Profinet ڈیوائس کو اپنے Profinet LED کو جھپکنا شروع کرنے کا حکم دیتا ہے۔
ورچوئل رزلٹ ویوڈ nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)
validateProfinetDeviceIp () ڈیوائس کا IP ایڈریس چیک کرنے کے لیے اس فنکشن کا استعمال کریں۔
virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)
پیرامیٹرز BusHardwareId ProfinetDevice
چیک کرنے کے لیے ہارڈویئر ID کی وضاحت کرتا ہے۔ توثیق کرنے کے لیے Profinet ڈیوائس کی وضاحت کرتا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
43
8 کلاسز/فنکشنز کا حوالہ
ResultVoid واپس کرتا ہے۔
8.27 ProfinetDevice ڈھانچہ
Profinet ڈیوائس ڈیٹا میں درج ذیل عوامی خصوصیات ہیں:
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
deviceName deviceVendor macAddress ipAddress netMask ڈیفالٹ گیٹ وے
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 errorCode exErrorCode
اس کے علاوہ، اس کلاس میں مندرجہ ذیل عوامی اراکین کے افعال ہیں:
hasError () فنکشن کال کی کامیابی کو پڑھتا ہے۔
bool nlc::Result::hasError () const
واپسی
سچ جھوٹ
ناکام کال۔ قدر کو پڑھنے کے لیے getError () کا استعمال کریں۔ کامیاب کال۔ قدر کو پڑھنے کے لیے getResult () کا استعمال کریں۔
getError () فنکشن کال ناکام ہونے کی وجہ کو پڑھتا ہے۔
const std::string nlc::Result::getError () const
const سٹرنگ لوٹاتا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
44
8 کلاسز/فنکشنز کا حوالہ
نتیجہ () درج ذیل افعال درست نتائج کی وضاحت میں مدد کرتے ہیں:
نتیجہ (std::string const اور errorString_)
نتیجہ (NlcErrorCode const اور errCode، std::string const اور errorString_)
نتیجہ (NlcErrorCode const & errCode، const uint32_t exErrCode، std::string const & errorString_)
نتیجہ (نتیجہ کا نتیجہ اور نتیجہ)
getErrorCode () NlcErrorCode پڑھیں۔
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 نتیجہ باطل
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن باطل لوٹتا ہے۔ کلاس کو رزلٹ کلاس سے عوامی افعال اور محفوظ صفات وراثت میں ملتی ہیں اور اس کے درج ذیل پبلک ممبر فنکشن ہوتے ہیں:
ResultVoid () درج ذیل افعال درست باطل نتیجہ کی وضاحت میں مدد کرتے ہیں:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const اور errCode، std::string const اور errorString_)
ResultVoid (NlcErrorCode const & errCode، const uint32_t exErrCode، std:: string const & errorString_)
رزلٹ ویوڈ (نتیجہ کانسٹی اور نتیجہ)
8.28.2 نتیجہ
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن ایک عدد کو لوٹاتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو عددی نتیجہ لوٹاتا ہے۔
int64_t getResult () const
int64_t لوٹاتا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
45
8 کلاسز/فنکشنز کا حوالہ
ResultInt () درج ذیل افعال صحیح عددی نتیجہ کی وضاحت میں مدد کرتے ہیں:
ResultInt (int64_t نتیجہ_)
نتیجہ (std::string const اور errorString_)
ResultInt (NlcErrorCode const اور errCode، std::string const اور errorString_)
رزلٹ انٹ (NlcErrorCode const & errCode، const uint32_t exErrCode، std::string const & errorString_)
رزلٹ انٹ (رزلٹ کانسٹ اور نتیجہ)
8.28.3 رزلٹ سٹرنگ
اگر فنکشن سٹرنگ لوٹاتا ہے تو NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () سٹرنگ کا نتیجہ پڑھتا ہے اگر کسی فنکشن کال میں کامیابی ہوتی ہے۔
const std::string nlc::ResultString::getResult () const
const سٹرنگ لوٹاتا ہے۔
ResultString () درج ذیل فنکشنز سٹرنگ کے درست نتیجے کی وضاحت میں مدد کرتے ہیں۔
ResultString (std::string const اور پیغام، bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode، const uint32_t exErrCode، std:: string const & errorString_)
رزلٹ سٹرنگ (نتیجہ کنسٹ اور نتیجہ)
8.28.4 ResultArrayByte
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن بائٹ سرنی لوٹاتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () بائٹ ویکٹر کو پڑھتا ہے اگر کسی فنکشن کال میں کامیابی ہوتی ہے۔
const std::vector nlc::ResultArrayByte::getResult () const
Returns const vector<uint8_t>
ورژن: doc 1.4.2 / NanoLib 1.3.0
46
8 کلاسز/فنکشنز کا حوالہ
ResultArrayByte () درج ذیل فنکشنز درست بائٹ سرنی نتیجہ کی وضاحت میں مدد کرتے ہیں:
ResultArrayByte (std::vector const اور نتیجہ_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode، std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (نتیجہ کا نتیجہ اور نتیجہ)
8.28.5 ResultArrayInt
NanoLib sends you an instance of this class if the function returns an integer array. The class inherits the public functions / protected attributes from the result class and has the following public member functions:
getResult () انٹیجر ویکٹر کو پڑھتا ہے اگر کسی فنکشن کال میں کامیابی ہوتی ہے۔
const std::vector nlc::ResultArrayInt::getResult () const
Returns const vector<uint64_t>
ResultArrayInt () درج ذیل فنکشنز صحیح عددی سرنی نتیجہ کی وضاحت میں مدد کرتے ہیں:
ResultArrayInt (std::vector const اور نتیجہ_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const اور errCode، std::string const اور error String_)
ResultArrayInt (NlcErrorCode const & errCode، const uint32_t exErrCode، std:: string const & errorString_)
ResultArrayInt (نتیجہ کا نتیجہ اور نتیجہ)
8.28.6 ResultBusHwIds
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن ایک بس ہارڈویئر ID سرنی واپس کرتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () بس-ہارڈویئر-ID ویکٹر کو پڑھتا ہے اگر فنکشن کال کامیاب ہوتی ہے۔
const std::vector nlc::ResultBusHwIds::getResult () const
پیرامیٹرز const ویکٹر
ورژن: doc 1.4.2 / NanoLib 1.3.0
47
8 کلاسز/فنکشنز کا حوالہ
ResultBusHwIds () درج ذیل فنکشنز صحیح بس-ہارڈ ویئر-ID-array نتیجہ کی وضاحت میں مدد کرتے ہیں:
ResultBusHwIds (std::vector const اور نتیجہ_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode، const uint32_t exErrCode، std::string const & errorString_)
ResultBusHwIds (نتیجہ کا نتیجہ اور نتیجہ)
8.28.7 نتیجہ ڈیوائس آئی ڈی
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن ڈیوائس ID واپس کرتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو ڈیوائس آئی ڈی ویکٹر کو پڑھتا ہے۔
DeviceId nlc::ResultDeviceId::getResult () const
const ویکٹر لوٹاتا ہے۔
ResultDeviceId () درج ذیل فنکشنز درست ڈیوائس ID نتیجہ کی وضاحت میں مدد کرتے ہیں:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const اور errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode، const uint32_t exErrCode، std::string errorString_)
ResultDeviceId (نتیجہ کا نتیجہ اور نتیجہ)
8.28.8 ResultDeviceIds
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن ڈیوائس آئی ڈی سرنی واپس کرتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو آلہ ID ویکٹر لوٹاتا ہے۔
DeviceId nlc::ResultDeviceIds::getResult () const
const ویکٹر لوٹاتا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
48
8 کلاسز/فنکشنز کا حوالہ
ResultDeviceIds () درج ذیل فنکشنز درست ڈیوائس-ID-array نتیجہ کی وضاحت میں مدد کرتے ہیں:
ResultDeviceIds (std::vector const اور نتیجہ_)
ResultDeviceIds (std::string const اور errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode، const uint32_t exErrCode، std::string const اور errorString_)
ResultDeviceIds (نتیجہ کا نتیجہ اور نتیجہ)
8.28.9 نتیجہ ڈیوائس ہینڈل
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن ڈیوائس ہینڈل کی قدر واپس کرتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو ڈیوائس ہینڈل کو پڑھتا ہے۔
DeviceHandle nlc::ResultDeviceHandle::getResult () const
ڈیوائس ہینڈل لوٹاتا ہے۔
ResultDeviceHandle () درج ذیل فنکشنز درست ڈیوائس ہینڈل کے نتیجے کی وضاحت کرنے میں مدد کرتے ہیں:
ResultDeviceHandle (DeviceHandle const & result_)
رزلٹ ڈیوائس ہینڈل (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 نتیجہ آبجیکٹ لغت
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن کسی آبجیکٹ لغت کا مواد واپس کرتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو ڈیوائس آئی ڈی ویکٹر کو پڑھتا ہے۔
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
ورژن: doc 1.4.2 / NanoLib 1.3.0
49
8 کلاسز/فنکشنز کا حوالہ
واپسی
const ویکٹر
ResultObjectDictionary () مندرجہ ذیل افعال عین آبجیکٹ لغت کے نتیجے کی وضاحت میں مدد کرتے ہیں:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)
ResultObjectDictionary (std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const اور errCode، std::string const اور errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectDictionary (نتائج کا نتیجہ اور نتیجہ)
8.28.11 نتیجہ کنکشن اسٹیٹ
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن ڈیوائس-کنکشن-اسٹیٹ کی معلومات واپس کرتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو ڈیوائس ہینڈل کو پڑھتا ہے۔
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
DeviceConnectionStateInfo منسلک / منقطع / جڑا ہوا بوٹ لوڈر لوٹاتا ہے
ResultConnectionState () درج ذیل فنکشنز درست کنکشن اسٹیٹ کے نتیجے کی وضاحت کرنے میں مدد کرتے ہیں:
نتیجہ کنکشن اسٹیٹ (DeviceConnectionStateInfo const & result_)
نتیجہ کنکشن اسٹیٹ (std::string const اور errorString_)
نتیجہ کنکشن اسٹیٹ (NlcErrorCode const اور errCode، std::string const اور errorString_)
نتیجہ کنکشن اسٹیٹ (NlcErrorCode const & errCode، const uint32_t exErrCode، std::string const اور errorString_)
رزلٹ کنکشن اسٹیٹ (نتیجہ کانسٹیٹ اور نتیجہ)
8.28.12 نتیجہ آبجیکٹ اینٹری
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن کسی آبجیکٹ کے اندراج کو لوٹاتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
ورژن: doc 1.4.2 / NanoLib 1.3.0
50
8 کلاسز/فنکشنز کا حوالہ
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو آلہ ID ویکٹر لوٹاتا ہے۔
nlc::ObjectEntry const&nlc::ResultObjectEntry::getResult () const
const ObjectEntry لوٹاتا ہے۔
ResultObjectEntry () مندرجہ ذیل فنکشنز عین اعتراض کے اندراج کے نتیجے کی وضاحت میں مدد کرتے ہیں:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const اور errCode، std::string const اور errorString_)
ResultObjectEntry (NlcErrorCode const & errCode، const uint32_t exErrCode، std::string const اور errorString_)
ResultObjectEntry (نتیجہ کا نتیجہ اور نتیجہ)
8.28.13 نتیجہ آبجیکٹ سب اینٹری
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن کسی آبجیکٹ کی ذیلی اندراج کو لوٹاتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو آلہ ID ویکٹر لوٹاتا ہے۔
nlc::ObjectSubEntry const اور nlc::ResultObjectSubEntry::getResult () const
const ObjectSubEntry لوٹاتا ہے۔
ResultObjectSubEntry () مندرجہ ذیل افعال عین آبجیکٹ ذیلی اندراج کے نتیجے کی وضاحت میں مدد کرتے ہیں:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const اور errCode، std::string const اور errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode، const uint32_t exErrCode، std::string const & errorString_)
ResultObjectSubEntry (Result const & result)
8.28.14 ResultProfinetDevices
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن Profinet ڈیوائس واپس کرتا ہے۔ کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
ورژن: doc 1.4.2 / NanoLib 1.3.0
51
8 کلاسز/فنکشنز کا حوالہ
getResult () Profinet ڈیوائس ویکٹر کو پڑھتا ہے اگر کسی فنکشن کال میں کامیابی ہوتی ہے۔
const std::vector & getResult () const
ResultProfinetDevices () درج ذیل فنکشنز درست Profinet ڈیوائسز کی وضاحت میں مدد کرتے ہیں۔
ResultProfinetDevices (const std::vector اور profinetDevices)
ResultProfinetDevices (const نتیجہ اور نتیجہ)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 نتائجampleDataArray
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن بطور لوٹتا ہے۔ampلی ڈیٹا سرنی. کلاس کو رزلٹ کلاس سے پبلک فنکشنز/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () اگر کسی فنکشن کال میں کامیابی ہوتی ہے تو ڈیٹا اری کو پڑھتا ہے۔
const std::vector <SampleData> & getResult () const
نتائجampleDataArray () درج ذیل فنکشنز درست Profinet ڈیوائسز کی وضاحت میں مدد کرتے ہیں۔
نتائجampleDataArray (const std::vector <SampleData> & dataArray)
نتائجampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
نتائجampleDataArray (const نتائجampleDataArray اور دیگر)
نتائجampleDataArray (const نتیجہ اور نتیجہ)
8.28.16 نتائجamplerState
NanoLib آپ کو اس کلاس کی ایک مثال بھیجتا ہے اگر فنکشن بطور لوٹتا ہے۔ampler state.اس کلاس کو رزلٹ کلاس سے عوامی افعال/محفوظ صفات وراثت میں ملتی ہیں اور اس میں درج ذیل پبلک ممبر فنکشنز ہوتے ہیں:
getResult () s کو پڑھتا ہے۔ampler state ویکٹر اگر کسی فنکشن کال میں کامیابی ہوتی ہے۔
SamplerState getResult () const
واپسی SamplerState>
غیر تشکیل شدہ / ترتیب شدہ / تیار / چل رہا / مکمل / ناکام / منسوخ
ورژن: doc 1.4.2 / NanoLib 1.3.0
52
8 کلاسز/فنکشنز کا حوالہ
نتائجamplerState () درج ذیل افعال عین مطابق s کی وضاحت میں مدد کرتے ہیں۔ampler ریاست.
نتائجamplerState (const SamplerState)
نتائجamplerState (const std::string & errorDesc، const NlcErrorCode errorCode = NlcErrorCode::GeneralError، const uint32_t
توسیع شدہ ایرر کوڈ = 0)
نتائجamplerState (const نتائجampریاست اور دیگر)
نتائجamplerState (const نتیجہ اور نتیجہ)
8.29 NlcErrorCode
اگر کچھ غلط ہو جاتا ہے تو، نتائج کی کلاسیں اس شمار میں درج غلطی کوڈز میں سے ایک کی اطلاع دیتی ہیں۔
ایرر کوڈ کامیابی عمومی ایرر بس غیر دستیاب کمیونیکیشن ایرر پروٹوکول ایرر
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments Access Denied ResourceNotFound ResourceUnailable OutOfMemory TimeOutError
C: زمرہ D: تفصیل R: وجہ C: کوئی نہیں۔ D: کوئی غلطی نہیں۔ R: آپریشن کامیابی سے مکمل ہوا۔
ج: غیر متعین۔ D: غیر متعین غلطی۔ R: ناکامی جو کسی دوسرے زمرے میں نہیں آتی۔
ج: بس۔ D: ہارڈ ویئر بس دستیاب نہیں ہے۔ R: بس غیر موجود، کٹ آف یا خرابی۔
C: مواصلات۔ D: مواصلات ناقابل اعتبار۔ R: غیر متوقع ڈیٹا، غلط CRC، فریم یا برابری کی خرابیاں، وغیرہ۔
C: پروٹوکول۔ D: پروٹوکول کی خرابی۔ R: غیر تعاون یافتہ پروٹوکول آپشن کے بعد ردعمل، ڈیوائس کی رپورٹ غیر تعاون یافتہ پروٹوکول، پروٹوکول میں خرابی (کہیں، SDO سیگمنٹ سنک بٹ) وغیرہ۔ سیگمنٹ سنک بٹ) وغیرہ۔
C: آبجیکٹ لغت۔ D: OD پتہ غیر موجود ہے۔ R: اعتراض کی لغت میں ایسا کوئی پتہ نہیں ہے۔
C: آبجیکٹ لغت۔ D: OD ایڈریس تک رسائی غلط ہے۔ R: صرف پڑھنے کے لیے لکھنے کی کوشش کریں، یا صرف لکھنے والے ایڈریس سے پڑھنے کی کوشش کریں۔
C: آبجیکٹ لغت۔ D: قسم کی مماثلت نہیں ہے۔ R: قدر کو غیر تبدیل شدہ مخصوص قسم میں تبدیل نہیں کیا گیا، یوں کہئے، ایک سٹرنگ کو نمبر کے طور پر ماننے کی کوشش میں۔
C: درخواست۔ D: عمل ختم کر دیا گیا۔ R: درخواست کی درخواست کے ذریعے کٹوتی کا عمل۔ بس اسکیننگ سے کال بیک فنکشن کے ذریعے آپریشن میں مداخلت پر ہی واپسی ہوتی ہے۔
C: عام۔ D: عمل غیر تعاون یافتہ۔ R: کوئی ہارڈ ویئر بس / ڈیوائس سپورٹ نہیں ہے۔
C: عام۔ D: موجودہ سیاق و سباق میں عمل غلط ہے، یا موجودہ دلیل کے ساتھ غلط ہے۔ R: پہلے سے منسلک بسوں/آلات کو دوبارہ جوڑنے کی کوشش۔ پہلے سے منقطع لوگوں سے رابطہ منقطع کرنے کی کوشش۔ فرم ویئر موڈ میں بوٹ لوڈر آپریشن کی کوشش یا اس کے برعکس۔
C: عام۔ D: دلیل غلط ہے۔ R: غلط منطق یا نحو۔
C: عام۔ D: رسائی سے انکار کر دیا گیا ہے۔ R: درخواست کردہ آپریشن کو انجام دینے کے لیے حقوق یا صلاحیتوں کی کمی۔
C: عام۔ D: مخصوص چیز نہیں ملی۔ R: ہارڈ ویئر بس، پروٹوکول، ڈیوائس، ڈیوائس پر OD ایڈریس، یا file نہیں ملا.
C: عام۔ D: مخصوص چیز نہیں ملی۔ R: مصروف، غیر موجود، کٹ آف یا خرابی۔
C: عام۔ D: ناکافی میموری۔ R: اس کمانڈ پر کارروائی کرنے کے لیے میموری بہت کم ہے۔
C: عام۔ D: عمل کا وقت ختم ہو گیا۔ R: وقت ختم ہونے کے بعد واپسی ٹائم آؤٹ آلہ کے ردعمل کا وقت، مشترکہ یا خصوصی وسائل تک رسائی حاصل کرنے کا وقت، یا بس/آلہ کو مناسب حالت میں تبدیل کرنے کا وقت ہو سکتا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
53
8 کلاسز/فنکشنز کا حوالہ
8.30 NlcCallback
This parent class for callbacks has the following public member function: callback ()
ورچوئل نتیجہ کالعدم کال بیک ()
واپسی
نتیجہ باطل
8.31 NlcDataTransferCallback
ڈیٹا کی منتقلی (فرم ویئر اپ ڈیٹ، نینو جے اپ لوڈ وغیرہ) کے لیے اس کال بیک کلاس کا استعمال کریں۔ 1. ایک فرم ویئر اپ لوڈ کے لیے: ایک "کو-کلاس" کی وضاحت کریں جو اسے حسب ضرورت کال بیک طریقہ کے ساتھ بڑھاتا ہو
نفاذ 2. NanoLibAccessor.uploadFirmware () کالز میں "کو-کلاس" کی مثالیں استعمال کریں۔ مین کلاس میں خود مندرجہ ذیل پبلک ممبر فنکشن ہوتا ہے:
کال بیک () ورچوئل رزلٹ ویوڈ کال بیک (nlc::DataTransferInfo info, int32_t ڈیٹا)
واپسی
نتیجہ باطل
8.32 NlcScanBusCallback
بس اسکیننگ کے لیے اس کال بیک کلاس کا استعمال کریں۔ 1. اپنی مرضی کے مطابق کال بیک طریقہ کے نفاذ کے ساتھ اس کی توسیع کرنے والی "کو-کلاس" کی وضاحت کریں۔ 2. NanoLibAccessor.scanDevices () کالز میں "کو-کلاس" کی مثالیں استعمال کریں۔ مین کلاس میں ہی درج ذیل پبلک ممبر فنکشن ہوتا ہے۔
کال بیک ()
ورچوئل رزلٹ وائیڈ کال بیک (nlc::BusScanInfo info, std::vector const & devicesFound, int32_t ڈیٹا)
ResultVoid واپس کرتا ہے۔
8.33 NlcLoggingCallback
کال بیکس کو لاگ کرنے کے لیے اس کال بیک کلاس کا استعمال کریں۔ 1. ایک کلاس کی وضاحت کریں جو اس کلاس کو حسب ضرورت کال بیک طریقہ کے نفاذ کے ساتھ بڑھاتا ہے 2. NanoLibAccessor کے ذریعے کال بیک سیٹ کرنے کے لیے اس کی مثالوں کے لیے ایک پوائنٹر استعمال کریں
سیٹ لاگنگ کال بیک (…)۔
ورچوئل وائیڈ کال بیک (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، یا s حاصل کرنے کے لئےampلیڈ ڈیٹا اور بازیافت کریں بطورampler کی حیثیت یا آخری غلطی۔ کلاس میں درج ذیل عوامی ممبر کے کام ہوتے ہیں۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
54
8 کلاسز/فنکشنز کا حوالہ
configure () کے طور پر تشکیل دیتا ہےampلیر
ورچوئل رزلٹ ویوڈ این ایل سی:: ایسamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerکنفیگریشن)
پیرامیٹرز [ان] ڈیوائس ہینڈل [ان] ایسampler کنفیگریشن
ResultVoid واپس کرتا ہے۔
بتاتا ہے کہ کون سا آلہ s کو کنفیگر کرنا ہے۔ampler کے لئے. کنفیگریشن کے اوصاف کی قدروں کی وضاحت کرتا ہے۔ تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
getData () s حاصل کرتا ہے۔ampلیڈ ڈیٹا
ورچوئل نتائجampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
پیرامیٹرز [میں] ڈیوائس ہینڈل کے نتائج واپس کرتا ہے۔ampleDataArray
یہ بتاتا ہے کہ کس ڈیوائس کے لیے ڈیٹا حاصل کرنا ہے۔
ایس کو فراہم کرتا ہے۔ampلیڈ ڈیٹا، جو ایک خالی صف ہو سکتی ہے اگر samplerNotify شروع ہونے پر فعال ہے۔
getLastError () اس طرح ملتا ہے۔ampلیر کی آخری غلطی۔
ورچوئل رزلٹ ویوڈ این ایل سی:: ایسamplerInterface::getLastError (const DeviceHandle deviceHandle)
ResultVoid واپس کرتا ہے۔
تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
getState () کے طور پر ملتا ہے۔ampler کی حیثیت.
ورچوئل نتائجamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
نتائج واپس کرتا ہے۔amplerState
ایس کو فراہم کرتا ہے۔ampler ریاست.
start () کے طور پر شروع ہوتا ہے۔ampلیر
ورچوئل رزلٹ ویوڈ این ایل سی:: ایسamplerInterface::start (const DeviceHandle deviceHandle، SamplerNotify*samplerNotify، int64_t applicationData)
پیرامیٹرز [ان] ڈیوائس ہینڈل [ان] ایسamplerNotify [in] application Data
ResultVoid واپس کرتا ہے۔
بتاتا ہے کہ کون سا آلہ s شروع کرنا ہے۔ampler کے لئے.
بتاتا ہے کہ کس اختیاری معلومات کو رپورٹ کرنا ہے (nullptr ہو سکتا ہے)۔
آپشن: ایپلیکیشن سے متعلقہ ڈیٹا (یوزر کی طرف سے بیان کردہ 8 بٹ کی قدر / ڈیوائس آئی ڈی / انڈیکس، یا ڈیٹ ٹائم، ایک متغیر کا / فنکشن کا پوائنٹر، وغیرہ) کو s پر بھیجیں۔amplerNotify
تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
55
8 کلاسز/فنکشنز کا حوالہ
stop () کے طور پر رک جاتا ہے۔ampلیر
ورچوئل رزلٹ ویوڈ این ایل سی:: ایسamplerInterface::stop (const DeviceHandle deviceHandle)
پیرامیٹرز [ان میں] ڈیوائس ہینڈل نتیجہ واپس کرتا ہے۔
بتاتا ہے کہ کون سا آلہ s کو روکنا ہے۔ampler کے لئے. تصدیق کرتا ہے کہ ایک باطل فنکشن چل گیا ہے۔
8.35 ایسamplerکنفیگریشن کا ڈھانچہ
یہ ڈھانچہ ڈیٹا پر مشتمل ہے۔ampler کی ترتیب کے اختیارات (جامد یا نہیں)۔
عوامی صفات
std :: ویکٹر ٹریک کردہ پتے
12 OD پتے s ہونے کے لیےampایل. ای. ڈی.
uint32_t
ورژن
ڈھانچے کا ورژن۔
uint32_t
دورانیہ ملی سیکنڈز
Sampling کا دورانیہ ms میں، 1 سے 65535 تک
uint16_t
مدت ملی سیکنڈ
Sampling مدت ms میں
uint16_t
نمبر آف ایسamples
Sampکم مقدار.
uint16_t
preTriggerNumberOfSamples
Samples پری ٹرگر رقم.
bool
سافٹ ویئر کے نفاذ کا استعمال کرتے ہوئے
سافٹ ویئر کے نفاذ کا استعمال کریں۔
bool
نیو ایف ڈبلیو ایس کا استعمال کرتے ہوئےamplerImplementation کے ساتھ آلات کے لیے FW نفاذ کا استعمال کریں۔
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_BIT_TOGGLE = 0x15 GREA 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_MULTIX، ٹرائی جی ای ڈی جی ای = 0x1B
SamplerTrigger
SamplerTrigger
کے طور پر شروع کرنے کے لئے ایک ٹرگرampler
جامد عوامی صفات
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 ایسamplerNotify
s کو چالو کرنے کے لیے اس کلاس کا استعمال کریں۔ampجب آپ کے طور پر شروع کرتے ہیں تو ler اطلاعاتampلیر کلاس میں درج ذیل پبلک ممبر فنکشن ہوتا ہے۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
56
8 کلاسز/فنکشنز کا حوالہ
مطلع کریں ()
اطلاع کا اندراج فراہم کرتا ہے۔
مجازی باطل nlc::SamplerNotify::notify (const ResultVoid & lastError، const SamplerState samplerState، const std::vector <SampleData> & sampleDatas, int64_t applicationData)
پیرامیٹرز [in] lastError [in] samplerState
ے میںampleDatas [میں] ایپلیکیشن ڈیٹا
رپورٹ کرتا ہے کہ آخری خرابی واقع ہوئی جبکہ sampلنگ ایس کی رپورٹampنوٹیفکیشن کے وقت ler اسٹیٹس: غیر کنفیگرڈ / کنفیگرڈ / تیار / چل رہا / مکمل / ناکام / منسوخ۔ ایس کی رپورٹampلیڈ ڈیٹا سرنی. درخواست کے مخصوص ڈیٹا کی رپورٹ کرتا ہے۔
8.37 ایسampلی ڈیٹا ڈھانچہ
یہ ڈھانچہ s پر مشتمل ہے۔ampلیڈ ڈیٹا
uin64_t تکرار نمبر
0 سے شروع ہوتا ہے اور صرف تکرار موڈ میں بڑھتا ہے۔
std::vector<SampledValues> وہ s کی صف پر مشتمل ہے۔ampقیادت کی اقدار.
8.38 ایسampledValue struct
یہ ڈھانچہ s پر مشتمل ہے۔ampقیادت کی اقدار.
in64_t قدر uin64_t CollectTimeMsec
ٹریک کردہ OD ایڈریس کی قدر پر مشتمل ہے۔
s کی نسبت، ملی سیکنڈ میں جمع کرنے کا وقت شامل ہے۔ample شروع.
8.39 ایسamplerTrigger ساخت
یہ ڈھانچہ s کی ٹرگر سیٹنگز پر مشتمل ہے۔ampلیر
SamplerTriggerCondition کی حالت
OdIndex uin32_t قدر
The trigger condition:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
ٹرگر کا OdIndex (پتہ)۔
شرط کی قدر یا بٹ نمبر (بٹ صفر سے شروع ہوتا ہے)۔
8.40 سیریل ڈھانچہ
یہاں اپنے سیریل مواصلات کے اختیارات اور درج ذیل عوامی صفات تلاش کریں:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = "سیریل بوڈ ریٹ" baudRate =SerialBaudRate ڈھانچہ
ورژن: doc 1.4.2 / NanoLib 1.3.0
57
8 کلاسز/فنکشنز کا حوالہ
const std::string const SerialParity
PARITY_OPTIONS_NAME = "سیریل برابری" برابری = سیریل پیریٹی ڈھانچہ
8.41 سیریل باڈ ریٹ ڈھانچہ
یہاں اپنی سیریل کمیونیکیشن بوڈ ریٹ اور درج ذیل عوامی صفات تلاش کریں:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_7200 = "7200" BAUD_RATE_9600 = "9600" BAUD_RATE_14400 = "14400" BAUD_RATE_19200 = "19200" BAUD_RATE_38400 = "38400" BAUD_RATE_56000 "AUD_RATE_56000" 57600 = "57600" BAUD_RATE_115200 = "115200" BAUD_RATE_128000 = "128000" BAUD_RATE_256000 = "256000"
8.42 سیریل پیریٹی ڈھانچہ
یہاں اپنے سیریل برابری کے اختیارات اور درج ذیل عوامی صفات تلاش کریں:
const std::string const std::string const std::string const std::string const std::string
NONE = "none" ODD = "odd" EVEN = "even" MARK = "mark" SPACE = "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) کے تحت لائسنس یافتہ ہیں۔
تخلیقی العام
مندرجہ ذیل انسانی پڑھنے کے قابل خلاصہ خود لائسنس (زبانیں) کی جگہ نہیں لے گا۔ آپ متعلقہ لائسنس creativecommons.org پر تلاش کر سکتے ہیں اور نیچے لنک کیا گیا ہے۔ آپ آزاد ہیں:
CC BY 3.0
شیئر کریں: دائیں دیکھیں۔ اپنائیں: ریمکس، تبدیل، اور اس پر تعمیر کریں۔
کسی بھی مقصد کے لیے مواد، یہاں تک کہ تجارتی طور پر۔
CC BY-ND 4.0
شیئر کریں: مواد کو کسی بھی میڈیم یا فارمیٹ میں کاپی اور دوبارہ تقسیم کریں۔
لائسنس دہندہ مندرجہ بالا آزادیوں کو منسوخ نہیں کر سکتا جب تک کہ آپ درج ذیل لائسنس کی شرائط پر عمل کریں:
CC BY 3.0
CC BY-ND 4.0
انتساب: آپ کو مناسب کریڈٹ دینا ہوگا، انتساب: بائیں دیکھیں۔ لیکن: اس کا لنک فراہم کریں۔
لائسنس کا لنک فراہم کریں، اور اس بات کی نشاندہی کریں کہ آیا
دوسرے لائسنس.
تبدیلیاں کی گئیں. آپ کسی میں بھی ایسا کر سکتے ہیں۔
کوئی مشتق نہیں: اگر آپ دوبارہ مکس کرتے ہیں، تبدیل کرتے ہیں یا بناتے ہیں۔
مناسب طریقے سے، لیکن کسی بھی طرح سے نہیں
مواد پر، آپ تقسیم نہیں کر سکتے ہیں
یہ اشارہ کرتا ہے کہ لائسنس دہندہ آپ کی یا آپ کے استعمال کی توثیق کرتا ہے۔
ترمیم شدہ مواد.
کوئی اضافی پابندیاں نہیں: آپ لاگو نہیں کر سکتے ہیں کوئی اضافی پابندی نہیں: بائیں دیکھیں۔ قانونی شرائط یا تکنیکی اقدامات جو قانونی طور پر
دوسروں کو لائسنس کے کچھ بھی کرنے سے روکیں۔
اجازت دیتا ہے
نوٹ: آپ کو عوامی ڈومین میں مواد کے عناصر کے لائسنس کی تعمیل کرنے کی ضرورت نہیں ہے یا جہاں آپ کے استعمال کی اجازت کسی قابل اطلاق استثناء یا حد سے ہے۔
نوٹ: کوئی وارنٹی نہیں دی گئی۔ لائسنس آپ کو آپ کے مطلوبہ استعمال کے لیے ضروری تمام اجازتیں نہیں دے سکتا۔ سابق کے لیےampدوسرے حقوق جیسے کہ تشہیر، رازداری، یا اخلاقی حقوق آپ کے مواد کو استعمال کرنے کے طریقے کو محدود کر سکتے ہیں۔
ورژن: doc 1.4.2 / NanoLib 1.3.0
59
امپرنٹ، رابطہ، ورژن
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com جملہ حقوق محفوظ ہیں۔ غلطی، کوتاہی، تکنیکی یا مواد کی تبدیلی بغیر اطلاع کے ممکن ہے۔ حوالہ کردہ برانڈز/مصنوعات ان کے مالکان کے ٹریڈ مارک ہیں اور ان کے ساتھ ایسا سلوک کیا جانا چاہیے۔ اصل ورژن۔
دستاویز 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
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 Modbus: Added device locking mechanism for Modbus VCP. # NanoLib Core: Fixed connection state check. # NanoLib Code: Corrected bus hardware reference removal.
+ NanoLib-CANopen: Peak PCAN-USB اڈاپٹر (IPEH-002021/002022) کے لیے سپورٹ۔
> NanoLib Core: تبدیل شدہ لاگنگ کال بیک انٹرفیس (LogLevel کو LogModule سے بدل دیا گیا)۔ # NanoLib Logger: کور اور ماڈیولز کے درمیان علیحدگی کو درست کر دیا گیا ہے۔ # Modbus TCP: FW4 کے لیے فکسڈ فرم ویئر اپ ڈیٹ۔ # EtherCAT: Core5 کے لیے فکسڈ NanoJ پروگرام اپ لوڈ۔ # EtherCAT: Core5 کے لیے فکسڈ فرم ویئر اپ ڈیٹ۔
# Modbus RTU: فرم ویئر اپ ڈیٹ کے دوران کم بوڈ ریٹ کے ساتھ مقررہ وقت کے مسائل۔ # آرام دہ: فکسڈ نینو جے پروگرام اپ لوڈ۔
# NanoLib Modules Sampler: s کا درست پڑھناampلیڈ بولین اقدار۔
+ تمام پلیٹ فارمز کے لیے جاوا 11 سپورٹ۔ تمام پلیٹ فارمز کے لیے + ازگر 3.11/3.12 سپورٹ۔ + نیا لاگنگ کال بیک انٹرفیس (مثال کے طور پر دیکھیںamples)۔ + NanoLib Logger کے لیے کال بیک ڈوب جاتا ہے۔ > لاگر کو ورژن 1.12.0 میں اپ ڈیٹ کریں۔ > NanoLib Modules Sampler: Nanotec کنٹرولر فرم ویئر v24xx کے لیے اب سپورٹ کریں۔ > NanoLib Modules Sampler: ساخت میں تبدیلی s کے لیے استعمال ہوتی ہے۔ampler ترتیب. > NanoLib Modules Sampler: مسلسل موڈ لامتناہی کا مترادف ہے۔ ٹرگر کی حالت ایک بار چیک کی جاتی ہے؛ s کی تعدادamples 0 ہونا چاہیے۔ > NanoLib Modules Sampler: اس تھریڈ کے لیے عمومی ترجیح جو فرم ویئر موڈ میں ڈیٹا اکٹھا کرتی ہے۔ > NanoLib Modules Sampler: ریڈی اور رننگ حالت کے درمیان منتقلی کا پتہ لگانے کے لیے دوبارہ لکھا گیا الگورتھم۔ # NanoLib Core: ایک ہی بس ہارڈ ویئر کا استعمال کرتے ہوئے 0 یا زیادہ آلات کو بند کرنے پر مزید رسائی کی خلاف ورزی نہیں (0000005xC2)۔ # NanoLib Core: Linux کے تحت PEAK اڈاپٹر کو منسلک کرنے پر مزید سیگمنٹیشن کی غلطی نہیں ہے۔ # NanoLib Modules Sampler: درست sampفرم ویئر موڈ میں لیڈ ویلیوز پڑھنا۔ # NanoLib Modules Sampler: 502X:04 کی درست ترتیب۔ # NanoLib Modules Sampler: چینلز کے ساتھ بفروں کا درست اختلاط۔ # NanoLib-Canopen: نچلے باؤڈریٹس پر مضبوطی اور درست اسکیننگ کے لیے CAN ٹائم آؤٹ میں اضافہ۔ # NanoLib-Modbus: خصوصی آلات (USB-DA-IO) کے لیے VCP پتہ لگانے کا الگورتھم۔
+ ایتھرکیٹ سپورٹ۔
+ اپنے پروجیکٹ کی تشکیل میں VS پروجیکٹ کی ترتیبات پر نوٹ کریں۔
+ getDeviceHardwareGroup ()۔ + getProfinetDCP (isServiceAvailable)۔ + getProfinetDCP (validateProfinetDeviceIp)۔ + autoAssignObjectDictionary ()۔ + getXmlFileنام ()۔ + const std::string & xmlFileaddObjectDictionary () میں راستہ + getSamplerInterface ()۔
پروڈکٹ 1.3.0 1.2.1 1.2.0 1.1.3
1.1.2 1.1.1 1.1.0
1.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)
ورژن: doc 1.4.2 / NanoLib 1.3.0
60
10 امپرنٹ، رابطہ، ورژن
دستاویز
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05
+ شامل کیا گیا > تبدیل شدہ # فکسڈ + ریبوٹ ڈیوائس ()۔ + خرابی کا کوڈ وسائل getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber، اور ~Uid کے لیے دستیاب نہیں ہے۔ > firmwareUploadFromFile اب FirmwareFrom اپ لوڈ کریں۔File () > فرم ویئر اپ لوڈ () اب اپ لوڈ فرم ویئر ()۔ > bootloaderUploadFromFile () اب بوٹ لوڈر سے اپ لوڈ کریں۔File () > بوٹ لوڈر اپ لوڈ () اب اپ لوڈ بوٹ لوڈر ()۔ > bootloaderFirmwareUploadFromFile () BootloaderFirmwareFrom اپ لوڈ کرنے کے لیےFile () > بوٹ لوڈر فرم ویئر اپ لوڈ () اب اپ لوڈ بوٹ لوڈر فرم ویئر ()۔ > nanojUploadFromFile () اب NanoJFrom اپ لوڈ کریں۔File () > nanojUpload () اب NanoJ () کو اپ لوڈ کریں۔ > objectDictionaryLibrary () اب حاصل کریںObjectDictionaryLibrary ()۔ > 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 سپورٹ۔ + چیک کنکشن اسٹیٹ ()۔ + getDeviceBootloaderVersion ()۔ + رزلٹپروفینیٹ ڈیوائسز۔ + NlcErrorCode (NanotecExceptions کو تبدیل کیا گیا)۔ + NanoLib Modbus: VCP/USB ہب کو یو ایس بی سے متحد کیا گیا۔ > Modbus TCP سکیننگ نتائج واپس کرتی ہے۔ < Modbus TCP کمیونیکیشن لیٹنسی مستقل رہتی ہے۔
+ مزید ObjectEntryDataType (پیچیدہ اور پروfileمخصوص)۔ + IOError واپسی اگر connectDevice () اور scanDevices () کو کوئی نہیں ملتا ہے۔ + CanOpen / Modbus کے لیے صرف 100 ms برائے نام ٹائم آؤٹ۔
+ Modbus support (plus USB Hub via VCP). + Chapter Creating your own Linux project. + extraHardwareSpecifier to BusHardwareId (). + extraId_ and extraStringId_ to DeviceId ().
+ setBusState ()۔ + getDeviceBootloaderBuildId ()۔ + getDeviceFirmwareBuildId ()۔ + getDeviceHardwareVersion ()۔ # بگ فکسز۔
ایڈیشن
پروڈکٹ
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
ورژن: doc 1.4.2 / NanoLib 1.3.0
61
دستاویزات / وسائل
![]() |
Nanotic NanoLib C++ پروگرامنگ [پی ڈی ایف] یوزر مینوئل NanoLib C Programming, C Programming, Programming |