Nanotic-LOGO

Nanotic NanoLib C++ प्रोग्रामिङ

Nanotic-NanoLib-C++-Programming-PRODUCT

उत्पादन जानकारी

निर्दिष्टीकरणहरू

  • उत्पादन नाम: NanoLib
  • प्रोग्रामिङ भाषा: C++
  • उत्पादन संस्करण: 1.3.0
  • प्रयोगकर्ता म्यानुअल संस्करण: 1.4.2

NanoLib पुस्तकालय Nanotec नियन्त्रकहरूको लागि प्रोग्रामिङ नियन्त्रण सफ्टवेयरको लागि डिजाइन गरिएको हो। यसले प्रयोगकर्ता इन्टरफेस, मुख्य कार्यक्षमताहरू, र संचार पुस्तकालयहरू नियन्त्रण अनुप्रयोगहरूको विकासको सुविधा प्रदान गर्दछ।

उत्पादन उपयोग निर्देशन

  • तपाईंले सुरु गर्नु अघि:
    • सुनिश्चित गर्नुहोस् कि तपाईको प्रणालीले म्यानुअलमा निर्दिष्ट हार्डवेयर आवश्यकताहरू पूरा गर्दछ। यस उत्पादनको लागि लक्षित दर्शकहरूमा नानोटेक नियन्त्रकहरूको लागि नियन्त्रण सफ्टवेयर सिर्जना गर्न खोज्ने विकासकर्ताहरू समावेश छन्।
  • सुरु गर्दै:
    • NanoLib प्रयोग गर्न सुरु गर्न, यी चरणहरू पालना गर्नुहोस्:
    • तपाईंको परियोजनामा ​​NanoLib आयात गरेर सुरू गर्नुहोस्।
    • आवश्यकता अनुसार आफ्नो परियोजना सेटिङहरू कन्फिगर गर्नुहोस्।
    • NanoLib कार्यक्षमताहरू समावेश गर्न आफ्नो परियोजना निर्माण गर्नुहोस्।
  • परियोजनाहरू सिर्जना गर्दै:
    • तपाइँ दुबै विन्डोज र लिनक्स वातावरणको लागि परियोजनाहरू सिर्जना गर्न सक्नुहुन्छ। प्रत्येक प्लेटफर्मको लागि म्यानुअलमा प्रदान गरिएका विशेष निर्देशनहरू पालना गर्नुहोस्।
  • वर्ग / कार्य सन्दर्भ:
    • प्रोग्रामिङ नियन्त्रण सफ्टवेयरको लागि NanoLib मा उपलब्ध कक्षाहरू र प्रकार्यहरूमा विस्तृत गाइडको लागि प्रयोगकर्ता पुस्तिकालाई सन्दर्भ गर्नुहोस्।

FAQs

  • प्रश्न: 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 आदि)।
कुरियरले कोड ब्लक वा प्रोग्रामिङ आदेशहरू चिन्ह लगाउँछ। उदाहरणample 1: Bash मार्फत, साझा वस्तुहरू प्रतिलिपि गर्न sudo make install कल गर्नुहोस्; त्यसपछि ldconfig कल गर्नुहोस्। उदाample 2: NanoLib मा लगिङ स्तर परिवर्तन गर्न निम्न NanoLibAccessor प्रकार्य प्रयोग गर्नुहोस्:
// ***** C++ संस्करण *****
void setLoggingLevel (LogLevel स्तर);
बोल्ड पाठले महत्वपूर्ण महत्वका व्यक्तिगत शब्दहरूलाई जोड दिन्छ। वैकल्पिक रूपमा, कोष्ठकमा लगाइएका विस्मयादिबोधक चिन्हहरूले महत्वपूर्ण(!) महत्त्वलाई जोड दिन्छ।
Example 1: आफूलाई, अरूलाई र आफ्नो उपकरणहरू जोगाउनुहोस्। हाम्रा सामान्य सुरक्षा नोटहरू पालना गर्नुहोस् जुन सामान्यतया सबै नानोटेक उत्पादनहरूमा लागू हुन्छ।
Example 2: तपाईंको आफ्नै सुरक्षाको लागि, यो विशेष उत्पादनमा लागू हुने विशेष सुरक्षा नोटहरू पनि पालना गर्नुहोस्। सह-क्लिक गर्ने क्रिया भनेको कन्टेक्स्ट मेनु आदि खोल्नको लागि माध्यमिक माउस कुञ्जी मार्फत क्लिक गर्नु हो।
Exampले 1: मा सह-क्लिक गर्नुहोस् file, पुन: नामाकरण चयन गर्नुहोस्, र पुन: नामाकरण गर्नुहोस् file। पूर्वample 2: गुणहरू जाँच गर्न, मा सह-क्लिक गर्नुहोस् file र गुणहरू चयन गर्नुहोस्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

4

तपाईंले सुरु गर्नु अघि

तपाईंले NanoLib प्रयोग गर्न सुरु गर्नु अघि, आफ्नो पीसी तयार गर्नुहोस् र इच्छित प्रयोग र पुस्तकालय सीमितताहरूको बारेमा आफैलाई जानकारी दिनुहोस्।
2.1 प्रणाली र हार्डवेयर आवश्यकताहरू

Nanotic-NanoLib-C++-Programming-FIG- (1)
नोटिस 32-बिट सञ्चालन वा बन्द प्रणालीबाट खराबी! 64-बिट प्रणाली प्रयोग गर्नुहोस्, र निरन्तर कायम राख्नुहोस्। OEM बन्द र ~ निर्देशनहरू अवलोकन गर्नुहोस्।

NanoLib 1.3.0 ले CANopen, Modbus RTU (भर्चुअल com पोर्टमा USB), Modbus TCP, EtherCat, र Profinet सँग सबै Nanotec उत्पादनहरूलाई समर्थन गर्दछ। पुरानो NanoLibs को लागि: छाप मा changelog हेर्नुहोस्। तपाईंको जोखिममा मात्र: लिगेसी-प्रणाली प्रयोग। नोट: यदि तपाईंले FTDI-आधारित USB एडाप्टर प्रयोग गर्दा समस्याहरू सामना गर्नुहुन्छ भने विलम्बतालाई सकेसम्म कम सेट गर्न वैध OEM निर्देशनहरू पालना गर्नुहोस्।

आवश्यकताहरू (64-बिट प्रणाली अनिवार्य)
Windows 10 वा 11 w/ Visual Studio 2019 संस्करण 16.8 वा पछिको र Windows SDK 10.0.20348.0 (संस्करण 2104) वा पछिको
C++ redistributables 2017 वा उच्च CANopen: Ixxat VCI वा PCAN आधारभूत चालक (वैकल्पिक) EtherCat मोड्युल / Profinet DCP: Npcap वा WinPcap RESTful मोड्युल: Npcap, WinPcap, वा प्रशासक अनुमति
इथरनेट बुटलोडरहरूसँग सञ्चार गर्नुहोस्
लिनक्स 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 क्षमता w/ Eth- सँग सञ्चार गर्ने क्षमता
ernet bootloaders (यो पनि सिफारिस गरिएको छ: CAP_NET_RAW)

भाषा, फिल्डबस एडेप्टर, केबलहरू
C++ GCC 7 वा उच्च (Linux)
EtherCAT: इथरनेट केबल VCP / USB हब: अब समान USB USB मास भण्डारण: USB केबल REST: इथरनेट केबल CANopen: Ixxat USB-to-CAN V2; ना-
notec ZK-USB-CAN-1, पीक PCANUSB एडाप्टर arm64 मा Ubuntu को लागि Ixxat समर्थन छैन
Modbus RTU: Nanotec ZK-USB-RS485-1 वा समकक्ष एडाप्टर; भर्चुअल कम पोर्टमा USB केबल (VCP)
Modbus TCP: उत्पादन डाटाशीट अनुसार इथरनेट केबल

2.2 अभिप्रेत प्रयोग र दर्शक
NanoLib एक प्रोग्राम लाइब्रेरी र सफ्टवेयर कम्पोनेन्ट हो जुन सञ्चालनको लागि, र Nanotec नियन्त्रकहरूसँग, औद्योगिक अनुप्रयोगहरूको विस्तृत दायरामा र विधिवत कुशल प्रोग्रामरहरूका लागि मात्र।
वास्तविक-समय असक्षम हार्डवेयर (PC) र अपरेटिङ सिस्टमको कारणले, NanoLib सिंक्रोनस बहु-अक्ष आन्दोलन चाहिने वा सामान्यतया समय-संवेदनशील अनुप्रयोगहरूमा प्रयोगको लागि होइन।
कुनै पनि अवस्थामा तपाईले NanoLib लाई उत्पादन वा प्रणालीमा सुरक्षा घटकको रूपमा एकीकृत गर्न सक्नुहुन्न। अन्तिम प्रयोगकर्ताहरूलाई डेलिभरीमा, तपाईंले Nanotec-निर्मित कम्पोनेन्टको साथ प्रत्येक उत्पादनमा सुरक्षित प्रयोग र सुरक्षित सञ्चालनको लागि सम्बन्धित चेतावनी सूचनाहरू र निर्देशनहरू थप्नु पर्छ। तपाईंले सबै Nanotec-जारी चेतावनी सूचनाहरू अन्तिम प्रयोगकर्तालाई पठाउनु पर्छ।
2.3 वितरण र वारेन्टी को दायरा
NanoLib हाम्रो डाउनलोडबाट *.zip फोल्डरको रूपमा आउँछ webEMEA / APAC वा AMERICA को लागि साइट। सेटअप अघि आफ्नो डाउनलोड विधिवत भण्डार गर्नुहोस् र अनजिप गर्नुहोस्। NanoLib प्याकेज समावेश छ:

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

5

१ सुरु गर्नु भन्दा पहिले

स्रोत कोड (API) को रूपमा इन्टरफेस हेडरहरू

बाइनरी ढाँचामा पुस्तकालयहरूको रूपमा कोर कार्यहरू: नैनो-

पुस्तकालयहरू जसले सञ्चारको सुविधा दिन्छ: nanolibm_ lib.dll

[yourfieldbus].dll आदि।

Exampले परियोजना: पूर्वample.sln (भिजुअल स्टुडियो

परियोजना) र पूर्वample.cpp (मुख्य file)

वारेन्टीको दायराको लागि, कृपया अवलोकन गर्नुहोस् a) हाम्रा सर्तहरू EMEA / APAC वा AMERICA र b) सबै इजाजतपत्र सर्तहरू। नोट: नानोटेक तेस्रो-पक्ष उपकरणहरूको दोषपूर्ण वा अनुचित गुणस्तर, ह्यान्डलिंग, स्थापना, सञ्चालन, प्रयोग, र मर्मतका लागि उत्तरदायी छैन! उचित सुरक्षाको लागि, सधैं मान्य OEM निर्देशनहरू पालना गर्नुहोस्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

6

NanoLib वास्तुकला

NanoLib को मोड्युलर सफ्टवेयर संरचनाले तपाईंलाई स्वतन्त्र रूपमा अनुकूलन योग्य मोटर कन्ट्रोलर / फिल्डबस प्रकार्यहरू कडा रूपमा पूर्व-निर्मित कोर वरिपरि व्यवस्थित गर्न दिन्छ। NanoLib ले निम्न मोड्युलहरू समावेश गर्दछ:

प्रयोगकर्ता इन्टरफेस (एपीआई)

NanoLib कोर

इन्टरफेस र सहायक वर्गहरू जुन पुस्तकालयहरू

सञ्चार पुस्तकालयहरू फिल्डबस-विशेष पुस्तकालयहरू जुन

NanoLib बीचको API कार्यक्षमता डो इन्टरफेसलाई तपाईंको नियन्त्रकको कार्यान्वयनमा पहुँच गर्नुहोस्

OD (वस्तु शब्दकोश)

बस पुस्तकालयहरु संग अन्तरक्रिया।

कोर र बस हार्डवेयर।

NanoLib कोर प्रकार्य मा आधार -

राष्ट्रियताहरू।

3.1 प्रयोगकर्ता इन्टरफेस

प्रयोगकर्ता इन्टरफेस हेडर इन्टरफेस समावेश गर्दछ files तपाईं नियन्त्रक प्यारामिटरहरू पहुँच गर्न प्रयोग गर्न सक्नुहुन्छ। वर्ग / प्रकार्य सन्दर्भमा वर्णन गरिए अनुसार प्रयोगकर्ता इन्टरफेस वर्गहरूले तपाईंलाई अनुमति दिन्छ:
दुबै हार्डवेयर (फिल्डबस एडाप्टर) र नियन्त्रक उपकरणमा जडान गर्नुहोस्। कन्ट्रोलर प्यारामिटरहरू पढ्न/लेख्नको लागि, यन्त्रको OD पहुँच गर्नुहोस्।

3.2 NanoLib कोर

NanoLib कोर आयात पुस्तकालय nanolib.lib संग आउँछ। यसले प्रयोगकर्ता इन्टरफेस कार्यक्षमता लागू गर्दछ र यसको लागि जिम्मेवार छ:
संचार पुस्तकालयहरू लोड र व्यवस्थापन। NanoLibAccessor मा प्रयोगकर्ता इन्टरफेस कार्यक्षमताहरू प्रदान गर्दै। यो संचार प्रवेश बिन्दु de-
तपाईंले 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

सबै पुस्तकालयहरूले कोर र नियन्त्रकको बीचमा हार्डवेयर अमूर्त तह राख्छन्। कोरले तिनीहरूलाई तोकिएको प्रोजेक्ट फोल्डरबाट स्टार्टअपमा लोड गर्दछ र तिनीहरूलाई सम्बन्धित प्रोटोकलद्वारा नियन्त्रकसँग सञ्चार स्थापना गर्न प्रयोग गर्दछ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

7

सुरु गर्दै

तपाईको अपरेटिङ सिस्टमको लागि NanoLib कसरी सेटअप गर्ने र आवश्यकता अनुसार हार्डवेयर कसरी जडान गर्ने भनेर पढ्नुहोस्।
4.1 आफ्नो प्रणाली तयार गर्नुहोस्
एडाप्टर ड्राइभरहरू स्थापना गर्नु अघि, पहिले अपरेटिङ सिस्टमको साथ आफ्नो पीसी तयार गर्नुहोस्। तपाइँको विन्डोज ओएस संग पीसी तयार गर्न को लागी, C++ विस्तार संग MS भिजुअल स्टुडियो स्थापना गर्नुहोस्। लिनक्स बास द्वारा मेक र जीसीसी स्थापना गर्न, 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 Windows को लागि Ixxat एडाप्टर ड्राइभर स्थापना गर्नुहोस्
कारण चालक स्थापना पछि मात्र, तपाईंले Ixxat को USB-to-CAN V2 एडाप्टर प्रयोग गर्न सक्नुहुन्छ। USB ड्राइभको उत्पादन पुस्तिका पढ्नुहोस्, यदि/कसरी भर्चुअल कम्पोर्ट (VCP) सक्रिय गर्ने भनेर जान्नको लागि। 1. विन्डोजको लागि Ixxat को VCI 4 ड्राइभर बाट डाउनलोड र स्थापना गर्नुहोस् www.ixxat.com। 2. Ixxat को USB-to-CAN V2 कम्प्याक्ट एडाप्टर USB मार्फत PC मा जडान गर्नुहोस्। 3. यन्त्र प्रबन्धक द्वारा: जाँच गर्नुहोस् कि चालक र एडाप्टर दुवै विधिवत रूपमा स्थापित/मान्यता छन्।
4.3 Windows को लागि पीक एडाप्टर ड्राइभर स्थापना गर्नुहोस्
कारण चालक स्थापना पछि मात्र, तपाईंले Peak को PCAN-USB एडाप्टर प्रयोग गर्न सक्नुहुन्छ। USB ड्राइभको उत्पादन पुस्तिका पढ्नुहोस्, यदि/कसरी भर्चुअल कम्पोर्ट (VCP) सक्रिय गर्ने भनेर जान्नको लागि। 1. विन्डोज उपकरण ड्राइभर सेटअप डाउनलोड र स्थापना गर्नुहोस् (= स्थापना प्याकेज w/ उपकरण ड्राइभरहरू, उपकरणहरू, र
APIs) बाट http://www.peak-system.com। 2. पीकको PCAN-USB एडाप्टर USB मार्फत PC मा जडान गर्नुहोस्। 3. यन्त्र प्रबन्धक द्वारा: जाँच गर्नुहोस् कि चालक र एडाप्टर दुवै विधिवत रूपमा स्थापित/मान्यता छन्।
4.4 Linux को लागि Ixxat एडाप्टर ड्राइभर स्थापना गर्नुहोस्
कारण चालक स्थापना पछि मात्र, तपाईंले Ixxat को USB-to-CAN V2 एडाप्टर प्रयोग गर्न सक्नुहुन्छ। नोट: अन्य समर्थित एडेप्टरहरूलाई sudo chmod +777/dev/ttyACM* (* उपकरण नम्बर) द्वारा तपाईंको अनुमति चाहिन्छ। USB ड्राइभको उत्पादन पुस्तिका पढ्नुहोस्, यदि/कसरी भर्चुअल कम्पोर्ट (VCP) सक्रिय गर्ने भनेर जान्नको लागि। 1. ECI ड्राइभर र डेमो अनुप्रयोगको लागि आवश्यक सफ्टवेयर स्थापना गर्नुहोस्:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. 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 मेक cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

8

4 सुरु गर्दै
4.5 लिनक्सको लागि पीक एडाप्टर ड्राइभर स्थापना गर्नुहोस्
कारण चालक स्थापना पछि मात्र, तपाईंले Peak को PCAN-USB एडाप्टर प्रयोग गर्न सक्नुहुन्छ। नोट: अन्य समर्थित एडेप्टरहरूलाई sudo chmod +777/dev/ttyACM* (* उपकरण नम्बर) द्वारा तपाईंको अनुमति चाहिन्छ। USB ड्राइभको उत्पादन पुस्तिका पढ्नुहोस्, यदि/कसरी भर्चुअल कम्पोर्ट (VCP) सक्रिय गर्ने भनेर जान्नको लागि। 1. तपाईको लिनक्समा कर्नेल हेडरहरू छन् कि छैनन् भनेर जाँच गर्नुहोस्: ls /usr/src/linux-headers-`uname -r`। यदि छैन भने, स्थापना गर्नुहोस्
तिनीहरूलाई: sudo apt-get install linux-headers-`uname -r` 2. अब मात्र, libpopt-dev प्याकेट स्थापना गर्नुहोस्: sudo apt-get install libpopt-dev 3. आवश्यक ड्राइभर प्याकेज डाउनलोड गर्नुहोस् (peak-linux-driver- xxx.tar.gz) www.peak-system.com बाट। 4. यसलाई अनप्याक गर्न, प्रयोग गर्नुहोस्: tar xzf peak-linux-driver-xxx.tar.gz 5. प्याक नगरिएको फोल्डरमा: ड्राइभरहरू, PCAN आधार पुस्तकालय, आदि कम्पाइल र स्थापना गर्नुहोस्: सबै बनाउनुहोस्।
sudo make install 6. प्रकार्य जाँच गर्न, PCAN-USB एडाप्टर प्लग इन गर्नुहोस्।
a) कर्नेल मोड्युल जाँच गर्नुहोस्:
lsmod | grep pcan b) ... र साझा पुस्तकालय:
ls -l /usr/lib/libpcan*
नोट: यदि USB3 समस्या उत्पन्न हुन्छ भने, USB2 पोर्ट प्रयोग गर्नुहोस्।
4.6 आफ्नो हार्डवेयर जडान गर्नुहोस्
NanoLib परियोजना चलाउन सक्षम हुनको लागि, तपाइँको एडाप्टर प्रयोग गरेर पीसीमा मिल्दो Nanotec नियन्त्रक जडान गर्नुहोस्। १. उपयुक्त केबलद्वारा, आफ्नो एडाप्टरलाई नियन्त्रकमा जडान गर्नुहोस्। 1. एडाप्टर डाटा पाना अनुसार पीसीमा एडाप्टर जडान गर्नुहोस्। 2. उपयुक्त बिजुली आपूर्ति प्रयोग गरेर नियन्त्रकमा पावर। 3. आवश्यक भएमा, यसको उत्पादन पुस्तिकामा निर्देशन अनुसार नैनोटेक नियन्त्रकको सञ्चार सेटिङहरू परिवर्तन गर्नुहोस्।
4.7 NanoLib लोड गर्नुहोस्
द्रुत-र-सजिलो आधारभूतहरूसँग पहिलो सुरुवातको लागि, तपाईंले हाम्रो पूर्व प्रयोग गर्न सक्नुहुन्छ (तर गर्नु हुँदैन)ampले परियोजना। 1. तपाईंको क्षेत्रको आधारमा: हाम्रो बाट NanoLib डाउनलोड गर्नुहोस् webEMEA / APAC वा AMERICA को लागि साइट। 2. प्याकेजको अनजिप गर्नुहोस् files / फोल्डरहरू र एउटा विकल्प चयन गर्नुहोस्: द्रुत र सजिलो आधारभूतहरूको लागि: पूर्व सुरु गर्दै हेर्नुहोस्ampले परियोजना। विन्डोजमा उन्नत अनुकूलनका लागि: तपाईंको आफ्नै विन्डोज परियोजना सिर्जना गर्दै हेर्नुहोस्। लिनक्समा उन्नत अनुकूलनका लागि: तपाईंको आफ्नै लिनक्स परियोजना सिर्जना गर्दै हेर्नुहोस्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

9

पूर्व सुरु गर्दैampले परियोजना

NanoLib विधिवत लोड संग, पूर्वampले प्रोजेक्टले तपाईंलाई नानोटेक नियन्त्रकको साथ NanoLib प्रयोग मार्फत देखाउँदछ। नोट: प्रत्येक चरणको लागि, प्रदान गरिएको पूर्वमा टिप्पणीहरूample कोडले प्रयोग गरिएका कार्यहरू व्याख्या गर्दछ। पूर्वample परियोजना समावेश छ: `*_functions_exampले।*' files, जसमा NanoLib इन्टरफेस प्रकार्यका लागि कार्यान्वयनहरू समावेश छन् `*_callback_exampले।*' files, जसमा विभिन्न कलब्याकहरू (स्क्यान, डाटा र
लगिङ) `मेनु_*।*' file, जसमा मेनु तर्क र कोड Ex लाई समावेश गर्दछampले।* file, जुन मुख्य कार्यक्रम हो, मेनु सिर्जना गर्दै र सबै प्रयोग गरिएका प्यारामिटरहरू सुरु गर्दै Sampler_exampले।* file, जसमा पूर्व समावेश छamps को लागि कार्यान्वयनampler प्रयोग। तपाईंले थप पूर्व फेला पार्न सक्नुहुन्छamples, nanotec.com मा ज्ञानको आधारमा विभिन्न अपरेशन मोडहरूका लागि केही गति आदेशहरू सहित। सबै Windows वा Linux मा प्रयोग गर्न योग्य छन्।
भिजुअल स्टुडियोको साथ विन्डोजमा १. पूर्व खोल्नुहोस्ample.sln file। 2. पूर्व खोल्नुहोस्ample.cpp 3. कम्पाइल र ex लाई चलाउनुहोस्ampकोड।
लिनक्समा बास १ मार्फत। स्रोत अनजिप गर्नुहोस् file, अनजिप गरिएको सामग्रीको साथ फोल्डरमा नेभिगेट गर्नुहोस्। मुख्य file पूर्व को लागीample छ
example.cpp 2. bash मा, कल गर्नुहोस्:
a साझा वस्तुहरू प्रतिलिपि गर्न र ldconfig कल गर्न "sudo make install" गर्नुहोस्। b परीक्षण कार्यान्वयनयोग्य निर्माण गर्न "सबै बनाउनुहोस्"। 3. बिन फोल्डरमा कार्यान्वयन योग्य पूर्व समावेश छample file। bash द्वारा: आउटपुट फोल्डरमा जानुहोस् र टाइप गर्नुहोस् ./example। यदि कुनै त्रुटि देखा पर्दैन भने, तपाइँका साझा वस्तुहरू अब विधिवत रूपमा स्थापित छन्, र तपाइँको पुस्तकालय प्रयोगको लागि तयार छ। यदि त्रुटि ./ex पढ्छample: साझा पुस्तकालयहरू लोड गर्दा त्रुटि: libnanolib.so: साझा वस्तु खोल्न सक्दैन file: त्यस्तो छैन file वा डाइरेक्टरी, साझा वस्तुहरूको स्थापना असफल भयो। यस अवस्थामा, अर्को चरणहरू पालना गर्नुहोस्। 4. /usr/local/lib भित्र एउटा नयाँ फोल्डर सिर्जना गर्नुहोस् (प्रशासक अधिकार आवश्यक छ)। ब्यासमा, यसरी टाइप गर्नुहोस्:
sudo mkdir /usr/local/lib/nanotec
5. zip बाट सबै साझा वस्तुहरू प्रतिलिपि गर्नुहोस् fileको lib फोल्डर:
स्थापना गर्नुहोस् ./lib/*.so /usr/local/lib/nanotec/
6. यससँग लक्षित फोल्डरको सामग्री जाँच गर्नुहोस्:
ls -al/usr/local/lib/nanotec/
यसले साझा वस्तु सूचीबद्ध गर्नुपर्छ files lib फोल्डरबाट। 7. यो फोल्डरमा ldconfig चलाउनुहोस्:
sudo ldconfig /usr/local/lib/nanotec/
पूर्वample एक CLI अनुप्रयोगको रूपमा लागू गरिएको छ र मेनु इन्टरफेस प्रदान गर्दछ। मेनु प्रविष्टिहरू सन्दर्भमा आधारित छन् र सन्दर्भ स्थितिमा निर्भर गर्दै सक्षम वा अक्षम गरिनेछ। तिनीहरूले तपाइँलाई नियन्त्रक ह्यान्डल गर्नको लागि विशिष्ट कार्यप्रवाह पछ्याउँदै विभिन्न पुस्तकालय प्रकार्यहरू चयन गर्ने र कार्यान्वयन गर्ने सम्भावना प्रदान गर्दछ: 1. जडान गरिएको हार्डवेयर (एडाप्टरहरू) को लागि पीसी जाँच गर्नुहोस् र तिनीहरूलाई सूचीबद्ध गर्नुहोस्। 2. एडाप्टरमा जडान स्थापना गर्नुहोस्। 3. जडान भएका नियन्त्रक उपकरणहरूको लागि बस स्क्यान गर्नुहोस्। 4. यन्त्रमा जडान गर्नुहोस्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

10

5 पूर्व सुरु गर्दैampले परियोजना
5. पुस्तकालय कार्यहरूको एक वा बढी परीक्षण गर्नुहोस्: नियन्त्रकको वस्तु शब्दकोशबाट/मा पढ्नुहोस्/लेख्नुहोस्, फर्मवेयर अपडेट गर्नुहोस्, NanoJ कार्यक्रम अपलोड गर्नुहोस् र चलाउनुहोस्, मोटर चलाउनुहोस् र यसलाई ट्युन गर्नुहोस्, कन्फिगर गर्नुहोस् र लगिङहरू प्रयोग गर्नुहोस्।ampलेर।
6. जडान बन्द गर्नुहोस्, पहिले उपकरणमा, त्यसपछि एडाप्टरमा।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

11

तपाईंको आफ्नै विन्डोज परियोजना सिर्जना गर्दै

NanoLib प्रयोग गर्नको लागि तपाईंको आफ्नै विन्डोज परियोजना सिर्जना गर्नुहोस्, कम्पाइल गर्नुहोस् र चलाउनुहोस्।
6.1 NanoLib आयात गर्नुहोस्
NanoLib हेडर आयात गर्नुहोस् files र पुस्तकालयहरू MS Visual Studio मार्फत।
१. भिजुअल स्टुडियो खोल्नुहोस्। 1. नयाँ परियोजना सिर्जना गर्नुहोस् > कन्सोल एप C++ > अर्को: परियोजना प्रकार चयन गर्नुहोस्। 2. समाधान एक्सप्लोररमा परियोजना फोल्डर सिर्जना गर्न आफ्नो परियोजनाको नाम (यहाँ: NanolibTest) राख्नुहोस्। 3. समाप्त चयन गर्नुहोस्। 4. विन्डोहरू खोल्नुहोस् file एक्सप्लोरर र नयाँ सिर्जना गरिएको परियोजना फोल्डरमा नेभिगेट गर्नुहोस्। 6. दुई नयाँ फोल्डरहरू, inc र lib सिर्जना गर्नुहोस्। 7. NanoLib प्याकेज फोल्डर खोल्नुहोस्। 8. त्यहाँबाट: हेडर प्रतिलिपि गर्नुहोस् fileतपाईंको प्रोजेक्ट फोल्डर inc र सबै .lib र .dll मा समावेश फोल्डरबाट s
fileतपाईंको नयाँ परियोजना फोल्डर lib मा। 9. पूर्वको लागि, कारण संरचनाको लागि आफ्नो परियोजना फोल्डर जाँच गर्नुहोस्ampLe:

Nanotic-NanoLib-C++-Programming-FIG- (2)कारण संरचनाको लागि ect फोल्डर:
। NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanclibTest। NanolibTest.vcxproj.user NanolibTest.sln
6.2 आफ्नो परियोजना कन्फिगर गर्नुहोस्
NanoLib परियोजनाहरू सेटअप गर्न MS Visual Studio मा समाधान एक्सप्लोरर प्रयोग गर्नुहोस्। नोट: सही NanoLib सञ्चालनको लागि, भिजुअल C++ परियोजना सेटिङहरूमा रिलीज (डिबग होइन!) कन्फिगरेसन चयन गर्नुहोस्; त्यसपछि C++ redistributables [2022] को VC रनटाइमसँग परियोजना निर्माण र लिङ्क गर्नुहोस्।
1. समाधान एक्सप्लोररमा: तपाईंको प्रोजेक्ट फोल्डरमा जानुहोस् (यहाँ: NanolibTest)। २. सन्दर्भ मेनु खोल्न फोल्डरमा सह-क्लिक गर्नुहोस्। 2. गुणहरू चयन गर्नुहोस्। 3. सबै कन्फिगरेसनहरू र सबै प्लेटफर्महरू सक्रिय गर्नुहोस्। 4. C/C++ चयन गर्नुहोस् र अतिरिक्त समावेश निर्देशिकाहरूमा जानुहोस्। 5. घुसाउनुहोस्: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 6. Linker चयन गर्नुहोस् र अतिरिक्त पुस्तकालय निर्देशिकाहरूमा जानुहोस्। 7. घुसाउनुहोस्: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 8. Linker विस्तार गर्नुहोस् र इनपुट चयन गर्नुहोस्। 9. अतिरिक्त निर्भरताहरूमा जानुहोस् र सम्मिलित गर्नुहोस्: nanolib.lib;% (अतिरिक्त निर्भरताहरू) 10. ठीक मार्फत पुष्टि गर्नुहोस्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

12

6 तपाईंको आफ्नै विन्डोज परियोजना सिर्जना गर्दै
12. कन्फिगरेसन > C++ > भाषा > भाषा मानक > ISO C++17 मानकमा जानुहोस् र भाषा मानकलाई C++17 (/std:c++17) मा सेट गर्नुहोस्।
6.3 आफ्नो परियोजना निर्माण गर्नुहोस्
एमएस भिजुअल स्टुडियोमा तपाईंको NanoLib परियोजना बनाउनुहोस्। 1. मुख्य *.cpp खोल्नुहोस् file (यहाँ: nanolib_example.cpp) र आवश्यक भएमा कोड सम्पादन गर्नुहोस्। 2. निर्माण > कन्फिगरेसन प्रबन्धक चयन गर्नुहोस्। 3. सक्रिय समाधान प्लेटफर्महरू x64 मा परिवर्तन गर्नुहोस्। 4. बन्द मार्फत पुष्टि गर्नुहोस्। ५. बिल्ड > बिल्ड समाधान चयन गर्नुहोस्। 5. कुनै त्रुटि छैन? यदि तपाइँको कम्पाइल आउटपुट विधिवत रिपोर्ट गर्छ भने जाँच गर्नुहोस्:
१>—— सफा सुरु भयो: परियोजना: नानोलिबटेस्ट, कन्फिगरेसन: डिबग x1 —–========== सफा: १ सफल, ० असफल, ० छोडियो ===========

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

13

7 तपाईंको आफ्नै लिनक्स परियोजना सिर्जना गर्दै
7 तपाईंको आफ्नै लिनक्स परियोजना सिर्जना गर्दै
NanoLib प्रयोग गर्न आफ्नो लिनक्स परियोजना सिर्जना, कम्पाइल र चलाउनुहोस्। 1. अनजिप गरिएको NanoLib स्थापना किटमा: खोल्नुहोस् /nanotec_nanolib। 2. tar.gz मा सबै साझा वस्तुहरू फेला पार्नुहोस् file। 3. एउटा विकल्प चयन गर्नुहोस्: प्रत्येक लिबलाई मेकको साथ स्थापना गर्नुहोस्file वा हातले।
7.1 मेकको साथ साझा वस्तुहरू स्थापना गर्नुहोस्file
मेक प्रयोग गर्नुहोस्file सबै पूर्वनिर्धारित *.so स्वतः स्थापना गर्न लिनक्स बासको साथ files 1. Bash मार्फत: मेक भएको फोल्डरमा जानुहोस्file। 2. साझा वस्तुहरू मार्फत प्रतिलिपि गर्नुहोस्:
sudo make install 3. मार्फत पुष्टि गर्नुहोस्:
ldconfig
7.2 हातले साझा वस्तुहरू स्थापना गर्नुहोस्
सबै *.so स्थापना गर्न Bash प्रयोग गर्नुहोस् fileम्यानुअल रूपमा NanoLib को। 1. Bash मार्फत: /usr/local/lib भित्र नयाँ फोल्डर सिर्जना गर्नुहोस्। 2. प्रशासक अधिकार आवश्यक छ! प्रकार:
sudo mkdir /usr/local/lib/nanotec 3. अनजिप गरिएको स्थापना प्याकेज फोल्डरमा परिवर्तन गर्नुहोस्। 4. lib फोल्डरबाट सबै साझा वस्तुहरू मार्फत प्रतिलिपि गर्नुहोस्:
स्थापना गर्नुहोस् ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. मार्फत लक्षित फोल्डरको सामग्री जाँच गर्नुहोस्:
ls -al /usr/local/lib/nanotec/ 6. जाँच गर्नुहोस् कि lib फोल्डरबाट सबै साझा वस्तुहरू सूचीबद्ध छन्। 7. यस फोल्डरमा ldconfig चलाउनुहोस्:
sudo ldconfig /usr/local/lib/nanotec/
7.3 आफ्नो परियोजना सिर्जना गर्नुहोस्
तपाइँको साझा वस्तुहरु स्थापना संग: तपाइँको लिनक्स NanoLib को लागी नयाँ परियोजना सिर्जना गर्नुहोस्। 1. Bash मार्फत: नयाँ परियोजना फोल्डर सिर्जना गर्नुहोस् (यहाँ: NanoLibTest) मार्फत:
mkdir NanoLibTest cd NanoLibTest
2. हेडर प्रतिलिपि गर्नुहोस् files एउटा समावेश फोल्डरमा (यहाँ: inc) मार्फत: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. मुख्य बनाउनुहोस् file (NanoLibTest.cpp) मार्फत: #include "accessor_factory.hpp" #include

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

14

7 तपाईंको आफ्नै लिनक्स परियोजना सिर्जना गर्दै
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds परिणाम = एक्सेसर->सूची उपलब्धबसहार्डवेयर();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << "सफलता" << std::endl; }
एक्सेसर मेटाउनुहोस्; फिर्ता ०; }
4. कारण संरचनाको लागि आफ्नो परियोजना फोल्डर जाँच गर्नुहोस्:

Nanotic-NanoLib-C++-Programming-FIG- (3)
। NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 कम्पाइल र आफ्नो परियोजना परीक्षण
आफ्नो लिनक्स NanoLib Bash मार्फत प्रयोगको लागि तयार बनाउनुहोस्।
1. Bash मार्फत: मुख्य कम्पाइल गर्नुहोस् file मार्फत:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. कार्यान्वयन योग्यलाई सँगै लिङ्क गर्नुहोस्:
g++ -Wall -Wextra -pedantic -I./inc -o परीक्षण NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. मार्फत परीक्षण कार्यक्रम चलाउनुहोस्:
./परीक्षण
4. जाँच गर्नुहोस् कि यदि तपाइँको Bash विधिवत रिपोर्ट गर्दछ:
सफलता

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

15

8 वर्ग / प्रकार्य सन्दर्भ

8 वर्ग / प्रकार्य सन्दर्भ

यहाँ NanoLib को प्रयोगकर्ता इन्टरफेस वर्ग र तिनीहरूको सदस्य कार्यहरूको सूची फेला पार्नुहोस्। प्रकार्यको विशिष्ट विवरणमा छोटो परिचय, प्रकार्य परिभाषा र प्यारामिटर / फिर्ता सूची समावेश छ:

ExampleFunction () तपाईंलाई संक्षिप्त रूपमा प्रकार्यले के गर्छ भनेर बताउँछ।
भर्चुअल शून्य nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)

प्यारामिटरहरू param_a param_b
ResultVoid फर्काउँछ

यदि आवश्यक छ भने अतिरिक्त टिप्पणी। यदि आवश्यक छ भने अतिरिक्त टिप्पणी।

8.1 NanoLibAccessor

NanoLib मा प्रवेश बिन्दु रूपमा प्रयोग इन्टरफेस वर्ग। एक सामान्य कार्यप्रवाह यस्तो देखिन्छ:
1. NanoLibAccessor.listAvailableBusHardware () को साथ हार्डवेयरको लागि स्क्यान गरेर सुरु गर्नुहोस्। 2. BusHardwareOptions () को साथ संचार सेटिङहरू सेट गर्नुहोस्। 3. NanoLibAccessor.openBusHardwareWithProtocol () को साथ हार्डवेयर जडान खोल्नुहोस्। 4. NanoLibAccessor.scanDevices () को साथ जडान गरिएका उपकरणहरूको लागि बस स्क्यान गर्नुहोस्। 5. NanoLibAccessor.addDevice () को साथ यन्त्र थप्नुहोस्। 6. NanoLibAccessor.connectDevice () को साथ यन्त्रमा जडान गर्नुहोस्। 7. सञ्चालन समाप्त गरेपछि, NanoLibAccessor.disconnectDevice () को साथ यन्त्र विच्छेद गर्नुहोस्। 8. NanoLibAccessor.removeDevice () को साथ यन्त्र हटाउनुहोस्। 9. NanoLibAccessor.closeBusHardware () को साथ हार्डवेयर जडान बन्द गर्नुहोस्।
NanoLibAccessor सँग निम्न सार्वजनिक सदस्य कार्यहरू छन्:

listAvailableBusHardware () उपलब्ध फिल्डबस हार्डवेयर सूचीबद्ध गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

ResultBusHwIds फर्काउँछ

फिल्डबस आईडी एरे प्रदान गर्दछ।

openBusHardwareWithProtocol () बस हार्डवेयर जडान गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const र busHwId, BusHardwareOptions const र busHwOpt)

प्यारामिटरहरू busHwId busHwOpt
ResultVoid फर्काउँछ

खोल्नको लागि फिल्डबस निर्दिष्ट गर्दछ। फिल्डबस खोल्ने विकल्पहरू निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

isBusHardwareOpen () तपाईको फिल्डबस हार्डवेयर जडान खुला छ कि छैन भनेर जाँच गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId र busHwId, const BusHardwareOptions र busHwOpt)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

16

8 वर्ग / प्रकार्य सन्दर्भ

प्यारामिटरहरू BusHardwareId सही फर्काउँछ
गलत

खोल्नका लागि प्रत्येक फिल्डबस निर्दिष्ट गर्दछ। हार्डवेयर खुला छ। हार्डवेयर बन्द छ।

getProtocolSpecificAccessor () प्रोटोकल-विशेष एक्सेसर वस्तु प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const र busHwId)

प्यारामिटरहरू busHwId परिणामVoid फर्काउँछ

पहुँचकर्ता प्राप्त गर्नको लागि फिल्डबस निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

getProfinetDCP () Profinet DCP इन्टरफेसमा सन्दर्भ फर्काउन यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ProfinetDCP र getProfinetDCP ()

ProfinetDCP फर्काउँछ

getSamplerInterface () s को सन्दर्भ प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्ampler इन्टरफेस।
भर्चुअल एसamplerइन्टरफेस र getSamplerInterface ()

एस फर्काउँछamplerइन्टरफेस

s लाई बुझाउँछampler इन्टरफेस वर्ग।

setBusState () बस-प्रोटोकल-विशिष्ट अवस्था सेट गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId र busHwId, const std::string & state)

प्यारामिटरहरू busHwId स्थिति
ResultVoid फर्काउँछ

खोल्नको लागि फिल्डबस निर्दिष्ट गर्दछ। स्ट्रिङ मानको रूपमा बस-विशेष अवस्था तोक्छ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

scanDevices () नेटवर्कमा यन्त्रहरू स्क्यान गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId र busHwId, NlcScanBusCallback* कलब्याक)

प्यारामिटरहरू busHwId कलब्याक
ResultDeviceIds IOError फर्काउँछ

स्क्यान गर्नको लागि फिल्डबस निर्दिष्ट गर्दछ। NlcScanBusCallback प्रगति ट्रेसर। यन्त्र ID array प्रदान गर्दछ। उपकरण फेला परेन भनेर जानकारी गराउँछ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

17

8 वर्ग / प्रकार्य सन्दर्भ

यन्त्र जोड्नुहोस् ()
NanoLib को आन्तरिक यन्त्र सूचीमा deviceId द्वारा वर्णन गरिएको बस यन्त्र थप्न र यसको लागि deviceHandle फर्काउन यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल रिजल्ट डिभाइस ह्यान्डल nlc::NanoLibAccessor::addDevice (DeviceId const र deviceId)

प्यारामिटरहरू डिभाइसआईडीले परिणाम डिभाइस ह्यान्डल फर्काउँछ

सूचीमा थप्न उपकरण निर्दिष्ट गर्दछ। उपकरण ह्यान्डल प्रदान गर्दछ।

connectDevice () deviceHandle द्वारा यन्त्र जडान गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

प्यारामिटरहरू डिभाइस ह्यान्डलले नतिजा फर्काउँछVoid
IOError

NanoLib कुन बस यन्त्रमा जडान हुन्छ निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ। उपकरण फेला परेन भनेर जानकारी गराउँदछ।

getDeviceName () deviceHandle द्वारा यन्त्रको नाम प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामस्ट्रिङ nlc::NanoLibAccessor::getDeviceName (डिभाइस ह्यान्डल कन्स्ट डिभाइस ह्यान्डल)

प्यारामिटरहरू डिभाइस ह्यान्डलले ResultString फर्काउँछ

NanoLib ले कुन बस यन्त्रको नाम प्राप्त गर्छ निर्दिष्ट गर्दछ। स्ट्रिङको रूपमा उपकरण नामहरू प्रदान गर्दछ।

getDeviceProductCode () deviceHandle द्वारा यन्त्रको उत्पादन कोड प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल रिजल्टइन्ट nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

प्यारामिटर उपकरणह्यान्डल रिटर्न रिटर्नइन्ट

NanoLib ले कुन बस उपकरणको लागि उत्पादन कोड प्राप्त गर्छ निर्दिष्ट गर्दछ। पूर्णांकको रूपमा उत्पादन कोडहरू प्रदान गर्दछ।

getDeviceVendorId () deviceHandle द्वारा यन्त्र विक्रेता ID प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामइन्ट nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

प्यारामिटर उपकरणह्यान्डल रिटर्न रिटर्नइन्ट
संसाधन उपलब्ध छैन

कुन बस यन्त्र NanoLib ले विक्रेता ID प्राप्त गर्छ निर्दिष्ट गर्दछ। एक पूर्णांकको रूपमा विक्रेता ID को डेलिभर गर्दछ। कुनै तथ्याङ्क नभेटिएको जानकारी गराउँछ ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

18

8 वर्ग / प्रकार्य सन्दर्भ

getDeviceId () NanoLib आन्तरिक सूचीबाट विशिष्ट यन्त्रको ID प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामडिभाइसआईडी nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

प्यारामिटरहरू डिभाइस ह्यान्डलले नतिजा डिभाइसआईडी फर्काउँछ

NanoLib ले कुन बस यन्त्रको लागि यन्त्र ID प्राप्त गर्छ निर्दिष्ट गर्दछ। यन्त्र ID प्रदान गर्दछ।

getDeviceIds () NanoLib आन्तरिक सूचीबाट सबै यन्त्रहरूको ID प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल नतिजा डिभाइसआईड्स nlc::NanoLibAccessor::getDeviceIds ()

ResultDeviceIds फर्काउँछ

यन्त्र ID सूची प्रदान गर्दछ।

getDeviceUid () डिभाइस ह्यान्डलद्वारा यन्त्रको अद्वितीय ID (९६ बिट / १२ बाइट्स) प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

प्यारामिटरहरू उपकरणह्यान्डलले नतिजाArrayByte फर्काउँछ
संसाधन उपलब्ध छैन

NanoLib ले कुन बस यन्त्रको लागि अद्वितीय ID प्राप्त गर्छ निर्दिष्ट गर्दछ। बाइट एरेको रूपमा अद्वितीय आईडीहरू प्रदान गर्दछ। कुनै तथ्याङ्क नभेटिएको जानकारी गराउँछ ।

getDeviceSerialNumber () deviceHandle द्वारा यन्त्रको क्रम संख्या प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामस्ट्रिङ NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

प्यारामिटरहरू डिभाइस ह्यान्डलले ResultString फर्काउँछ
संसाधन उपलब्ध छैन

NanoLib ले कुन बस यन्त्रको लागि सिरियल नम्बर प्राप्त गर्छ निर्दिष्ट गर्दछ। स्ट्रिङको रूपमा क्रम संख्याहरू प्रदान गर्दछ। कुनै तथ्याङ्क नभेटिएको जानकारी गराउँछ ।

getDeviceHardwareGroup () यन्त्र ह्यान्डलद्वारा बस उपकरणको हार्डवेयर समूह प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामडिभाइसआईडी nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

प्यारामिटर उपकरणह्यान्डल रिटर्न रिटर्नइन्ट

NanoLib ले हार्डवेयर समूहको लागि कुन बस यन्त्र प्राप्त गर्छ निर्दिष्ट गर्दछ।
हार्डवेयर समूहहरूलाई पूर्णांकको रूपमा डेलिभर गर्छ।

getDeviceHardwareVersion () deviceHandle द्वारा बस उपकरणको हार्डवेयर संस्करण प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

19

8 वर्ग / प्रकार्य सन्दर्भ

प्यारामिटर उपकरण ह्यान्डल

फर्काउँछ

ResultString संसाधन अनुपलब्ध

NanoLib ले कुन बस यन्त्रको लागि हार्डवेयर संस्करण प्राप्त गर्छ निर्दिष्ट गर्दछ। स्ट्रिङको रूपमा उपकरण नामहरू प्रदान गर्दछ। कुनै तथ्याङ्क नभेटिएको जानकारी गराउँछ ।

getDeviceFirmwareBuildId () deviceHandle द्वारा बस उपकरणको फर्मवेयर निर्माण ID प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

प्यारामिटरहरू डिभाइस ह्यान्डलले ResultString फर्काउँछ

कुन बस यन्त्र NanoLib ले फर्मवेयर निर्माण ID को लागि प्राप्त गर्छ निर्दिष्ट गर्दछ।
स्ट्रिङको रूपमा उपकरण नामहरू प्रदान गर्दछ।

getDeviceBootloaderVersion () यन्त्र ह्यान्डलद्वारा बस उपकरणको बुटलोडर संस्करण प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल रिजल्टइन्ट nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

प्यारामिटर उपकरण ह्यान्डल

फर्काउँछ

ResultInt संसाधन अनुपलब्ध

NanoLib ले कुन बस यन्त्रको लागि बुटलोडर संस्करण प्राप्त गर्छ निर्दिष्ट गर्दछ। पूर्णांकको रूपमा बुटलोडर संस्करणहरू प्रदान गर्दछ। कुनै तथ्याङ्क नभेटिएको जानकारी गराउँछ ।

getDeviceBootloaderBuildId () यन्त्र ह्यान्डलद्वारा बस यन्त्रको बुटलोडर निर्माण ID प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामडिभाइसआईडी nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

प्यारामिटरहरू डिभाइस ह्यान्डलले ResultString फर्काउँछ

कुन बस यन्त्र NanoLib ले बुटलोडर निर्माण ID को लागि प्राप्त गर्छ निर्दिष्ट गर्दछ।
स्ट्रिङको रूपमा उपकरण नामहरू प्रदान गर्दछ।

rebootDevice () deviceHandle द्वारा यन्त्र रिबुट गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

प्यारामिटरहरू डिभाइस ह्यान्डलले नतिजा फर्काउँछVoid

रिबुट गर्न फिल्डबस निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

getDeviceState () यन्त्र-प्रोटोकल-विशिष्ट अवस्था प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामस्ट्रिङ nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

प्यारामिटर उपकरण ह्यान्डल

NanoLib ले कुन बस यन्त्रको लागि राज्य प्राप्त गर्छ निर्दिष्ट गर्दछ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

20

8 वर्ग / प्रकार्य सन्दर्भ

ResultString फर्काउँछ

स्ट्रिङको रूपमा उपकरण नामहरू प्रदान गर्दछ।

setDeviceState () यन्त्र-प्रोटोकल-विशिष्ट अवस्था सेट गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

प्यारामिटरहरू उपकरण ह्यान्डल स्थिति
ResultVoid फर्काउँछ

NanoLib ले कुन बस यन्त्रको लागि राज्य सेट गर्छ निर्दिष्ट गर्दछ। स्ट्रिङ मानको रूपमा बस-विशिष्ट अवस्था तोक्छ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

getConnectionState ()
डिभाइस ह्यान्डल (= डिस्कनेक्ट गरिएको, जडित, जडान गरिएको बुटलोडर) द्वारा निर्दिष्ट उपकरणको अन्तिम ज्ञात जडान अवस्था प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणाम जडान राज्य nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

प्यारामिटरहरू उपकरणह्यान्डल परिणाम जडान राज्य फर्काउँछ

NanoLib ले कुन बस उपकरणको लागि जडान अवस्था प्राप्त गर्छ निर्दिष्ट गर्दछ।
जडान स्थिति प्रदान गर्दछ (= विच्छेद, जडान, जडान गरिएको बुटलोडर)।

जडान राज्य जाँच गर्नुहोस् ()
यदि अन्तिम ज्ञात अवस्था विच्छेदन गरिएको थिएन भने मात्र: यो प्रकार्य प्रयोग गर्नुहोस् जाँच गर्न र सम्भावित रूपमा उपकरण ह्यान्डल द्वारा र धेरै मोड-विशिष्ट कार्यहरू परीक्षण गरेर एक विशेष उपकरणको जडान स्थिति अद्यावधिक गर्न।
भर्चुअल परिणाम जडान राज्य nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

प्यारामिटरहरू उपकरणह्यान्डल परिणाम जडान राज्य फर्काउँछ

कुन बस यन्त्र NanoLib ले जडान अवस्था जाँच गर्छ निर्दिष्ट गर्दछ।
जडान स्थिति प्रदान गर्दछ (= विच्छेदन गरिएको छैन)।

assignObjectDictionary () यो म्यानुअल प्रकार्य प्रयोग गर्नुहोस् एउटा वस्तु शब्दकोश (OD) लाई डिभाइस ह्यान्डलमा तोक्न आफ्नै हातमा।
भर्चुअल ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const र objectDictionary)

प्यारामिटरहरू उपकरण ह्यान्डल वस्तु शब्दकोष
ResultObjectDictionary फर्काउँछ

NanoLib ले OD लाई कुन बस यन्त्र नियुक्त गर्दछ निर्दिष्ट गर्दछ। वस्तु शब्दकोशको गुणहरू देखाउँछ।

autoAssignObjectDictionary ()
NanoLib लाई डिभाइस ह्यान्डलमा वस्तु शब्दकोश (OD) असाइन गर्नको लागि यो अटोमेटिज्म प्रयोग गर्नुहोस्। उपयुक्त OD फेला पार्न र लोड गर्दा, NanoLib ले स्वचालित रूपमा यन्त्रमा नियुक्त गर्दछ। नोट: यदि एक मिल्दो OD पहिले नै वस्तु पुस्तकालयमा लोड गरिएको छ भने, NanoLib ले पेश गरिएको डाइरेक्टरी स्क्यान नगरी स्वचालित रूपमा प्रयोग गर्नेछ।
भर्चुअल ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & DictionaryLocationPath)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

21

8 वर्ग / प्रकार्य सन्दर्भ

प्यारामिटर उपकरण ह्यान्डल

फर्काउँछ

शब्दकोशLocationPath ResultObjectDictionary

कुन बस यन्त्रको लागि NanoLib ले उपयुक्त OD को लागि स्वचालित रूपमा स्क्यान गर्नेछ निर्दिष्ट गर्दछ। OD डाइरेक्टरीमा मार्ग निर्दिष्ट गर्दछ। वस्तु शब्दकोशको गुणहरू देखाउँछ।

getAssignedObjectDictionary ()
यन्त्र ह्यान्डलद्वारा यन्त्रमा तोकिएको वस्तु शब्दकोश प्राप्त गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const यन्त्र
ह्यान्डल)

प्यारामिटरहरू डिभाइस ह्यान्डलले ResultObjectDictionary फर्काउँछ

NanoLib ले कुन बस यन्त्रको लागि तोकिएको OD प्राप्त गर्छ निर्दिष्ट गर्दछ। वस्तु शब्दकोशको गुणहरू देखाउँछ।

getObjectDictionaryLibrary () यो प्रकार्यले OdLibrary सन्दर्भ फर्काउँछ।
भर्चुअल OdLibrary&nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

ओडलाइब्रेरी फर्काउँछ

सम्पूर्ण OD पुस्तकालय र यसको वस्तु शब्दकोशहरू खोल्छ।

setLoggingLevel () आवश्यक लग विवरण सेट गर्न यो प्रकार्य प्रयोग गर्नुहोस् (र लग file आकार)। पूर्वनिर्धारित स्तर जानकारी हो।
भर्चुअल शून्य nlc::NanoLibAccessor::setLoggingLevel (LogLevel स्तर)

प्यारामिटर स्तर

निम्न लग विवरणहरू सम्भव छन्:

0 = ट्रेस १ = डिबग २ = जानकारी ३ = चेतावनी ४ = त्रुटि ५ = महत्वपूर्ण ६ = बन्द

तल्लो तह (सबैभन्दा ठूलो लग file); कुनै पनि सम्भाव्य विवरण लग गर्दछ, साथै सफ्टवेयर सुरु / रोक्नुहोस्। लग डिबग जानकारी (= अन्तरिम परिणाम, सामग्री पठाइयो वा प्राप्त, आदि) पूर्वनिर्धारित स्तर; सूचना सन्देशहरू लग। लग समस्याहरू देखा परेका छन् तर हालको एल्गोरिदमलाई रोक्दैन। लगहरू मात्र गम्भीर समस्या जसले एल्गोरिदम रोक्यो। उच्चतम स्तर (सबैभन्दा सानो लग file); लगिङ बन्द हुन्छ; कुनै पनि थप लग छैन। कुनै लगिङ छैन।

setLoggingCallback ()
त्यो कलब्याकको लागि लगिङ कलब्याक सूचक र लग मोड्युल (= पुस्तकालय) सेट गर्न यो प्रकार्य प्रयोग गर्नुहोस् (लगरको लागि होइन)।
भर्चुअल शून्य nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* कलब्याक, const nlc::LogModule र logModule)

प्यारामिटरहरू *कलब्याक लग मोड्युल

कलब्याक सूचक सेट गर्दछ। तपाईंको पुस्तकालयमा कलब्याक ट्युन गर्नुहोस् (लगर होइन!)।

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

NanoLib को कोरको लागि मात्र कलब्याक सक्रिय गर्दछ। CANopen-मात्र कलब्याक सक्रिय गर्दछ। Modbus-मात्र कलब्याक सक्रिय गर्दछ। EtherCAT-मात्र कलब्याक सक्रिय गर्दछ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

22

8 वर्ग / प्रकार्य सन्दर्भ

4 = NanolibRest 5 = NanolibUSB

REST-मात्र कलब्याक सक्रिय गर्दछ। USB-मात्र कलब्याक सक्रिय गर्दछ।

unsetLoggingCallback () लगिङ कलब्याक सूचक रद्द गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल शून्य nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () वस्तु शब्दकोशबाट संख्यात्मक मान पढ्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल रिजल्टइन्ट nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

प्यारामिटरहरू उपकरण ह्यान्डल odIndex
ResultInt फर्काउँछ

NanoLib कुन बस यन्त्रबाट पढ्छ निर्दिष्ट गर्दछ। पढ्नको लागि (उप-) अनुक्रमणिका निर्दिष्ट गर्दछ। व्याख्या नगरिएको संख्यात्मक मान डेलिभर गर्दछ (हस्ताक्षरित, अहस्ताक्षरित, 16.16 बिट मानहरू ठीक गर्न सकिन्छ)।

readNumberArray () वस्तु शब्दकोशबाट संख्यात्मक एरेहरू पढ्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t अनुक्रमणिका)

प्यारामिटरहरू उपकरण ह्यान्डल अनुक्रमणिका
ResultArrayInt फर्काउँछ

NanoLib कुन बस यन्त्रबाट पढ्छ निर्दिष्ट गर्दछ। एरे वस्तु अनुक्रमणिका। एक पूर्णांक एरे प्रदान गर्दछ।

readBytes () वस्तु शब्दकोशबाट स्वेच्छाचारी बाइटहरू (डोमेन वस्तु डेटा) पढ्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामArrayByte 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 कुन बस यन्त्रबाट पढ्छ निर्दिष्ट गर्दछ। पढ्नको लागि (उप-) अनुक्रमणिका निर्दिष्ट गर्दछ। स्ट्रिङको रूपमा उपकरण नामहरू प्रदान गर्दछ।

संस्करण: कागजात 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 ले कुन बस यन्त्रमा लेख्छ निर्दिष्ट गर्दछ। व्याख्या नगरिएको मान (हस्ताक्षर गर्न सकिन्छ, अहस्ताक्षरित, फिक्स १६.१६)। पढ्नको लागि (उप-) अनुक्रमणिका निर्दिष्ट गर्दछ। बिट मा लम्बाइ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

writeBytes () वस्तु डाइरेक्टरीमा स्वेच्छाचारी बाइटहरू (डोमेन वस्तु डेटा) लेख्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector र डाटा, const OdIndex odIndex)

प्यारामिटरहरू उपकरण ह्यान्डल डाटा odIndex
ResultVoid फर्काउँछ

NanoLib ले कुन बस यन्त्रमा लेख्छ निर्दिष्ट गर्दछ। बाइट भेक्टर / एरे। पढ्नको लागि (उप-) अनुक्रमणिका निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

फर्मवेयर अपलोड गर्नुहोस् ()
आफ्नो नियन्त्रक फर्मवेयर अद्यावधिक गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* कलब्याक)

प्यारामिटरहरू उपकरण ह्यान्डल fwData NlcDataTransferCallback
ResultVoid फर्काउँछ

कुन बस यन्त्र NanoLib अद्यावधिक गर्छ निर्दिष्ट गर्दछ। फर्मवेयर डेटा समावेश एरे। डाटा प्रगति ट्रेसर। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

फर्मवेयरबाट अपलोड गर्नुहोस्File ()
यसलाई अपलोड गरेर आफ्नो नियन्त्रक फर्मवेयर अद्यावधिक गर्न यो प्रकार्य प्रयोग गर्नुहोस् file.
भर्चुअल ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileपथ, NlcDataTransferCallback* कलब्याक)

प्यारामिटरहरू उपकरण ह्यान्डल निरपेक्षFileपथ NlcDataTransferCallback
ResultVoid फर्काउँछ

कुन बस यन्त्र NanoLib अद्यावधिक गर्छ निर्दिष्ट गर्दछ। जाने बाटो file फर्मवेयर डाटा समावेश (std::string)। डाटा प्रगति ट्रेसर। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

24

8 वर्ग / प्रकार्य सन्दर्भ

बूटलोडर अपलोड गर्नुहोस् ()
आफ्नो नियन्त्रक बुटलोडर अपडेट गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* कलब्याक)

प्यारामिटरहरू उपकरण ह्यान्डल btData NlcDataTransferCallback
ResultVoid फर्काउँछ

कुन बस यन्त्र NanoLib अद्यावधिक गर्छ निर्दिष्ट गर्दछ। बुटलोडर डेटा समावेश गर्ने एरे। डाटा प्रगति ट्रेसर। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

बुटलोडरबाट अपलोड गर्नुहोस्File ()
यसलाई अपलोड गरेर आफ्नो नियन्त्रक बुटलोडर अपडेट गर्न यो प्रकार्य प्रयोग गर्नुहोस् file.
भर्चुअल ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std:: string & bootloaderAbsoluteFileपथ, NlcDataTransferCallback* कलब्याक)

प्यारामिटरहरू उपकरण ह्यान्डल बूटलोडर निरपेक्षFileपथ NlcDataTransferCallback
ResultVoid फर्काउँछ

कुन बस यन्त्र NanoLib अद्यावधिक गर्छ निर्दिष्ट गर्दछ। जाने बाटो file बुटलोडर डाटा (std::string) समावेश गर्दछ। डाटा प्रगति ट्रेसर। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

बूटलोडर फर्मवेयर अपलोड गर्नुहोस् ()
आफ्नो नियन्त्रक बुटलोडर र फर्मवेयर अद्यावधिक गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* कलब्याक)

प्यारामिटरहरू उपकरण ह्यान्डल btData fwData NlcDataTransferCallback
ResultVoid फर्काउँछ

कुन बस यन्त्र NanoLib अद्यावधिक गर्छ निर्दिष्ट गर्दछ। बुटलोडर डेटा समावेश गर्ने एरे। फर्मवेयर डेटा समावेश एरे। डाटा प्रगति ट्रेसर। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

बुटलोडर फर्मवेयरबाट अपलोड गर्नुहोस्File ()
अपलोड गरेर आफ्नो नियन्त्रक बुटलोडर र फर्मवेयर अद्यावधिक गर्न यो प्रकार्य प्रयोग गर्नुहोस् files.
भर्चुअल ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std:: string & bootloaderAbsoluteFileपथ, const std::string & absoluteFileपथ, NlcDataTransferCallback* कलब्याक)

प्यारामिटरहरू उपकरण ह्यान्डल बूटलोडर निरपेक्षFileमार्ग निरपेक्षFileपथ NlcDataTransferCallback
ResultVoid फर्काउँछ

कुन बस यन्त्र NanoLib अद्यावधिक गर्छ निर्दिष्ट गर्दछ। जाने बाटो file बुटलोडर डाटा (std::string) समावेश गर्दछ। जाने बाटो file फर्मवेयर डाटा (uint8_t) समावेश गर्दछ। डाटा प्रगति ट्रेसर। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

25

8 वर्ग / प्रकार्य सन्दर्भ

अपलोड NanoJ ()
तपाईंको नियन्त्रकमा NanoJ कार्यक्रम अपलोड गर्न यो सार्वजनिक प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::uploadNanoJ (डिभाइस ह्यान्डल कन्स्ट डिभाइस ह्यान्डल, std:: भेक्टर const & vmmData, NlcDataTransferCallback* कलब्याक)

प्यारामिटरहरू उपकरण ह्यान्डल vmmData NlcDataTransferCallback
ResultVoid फर्काउँछ

NanoLib कुन बस यन्त्रमा अपलोड गर्छ निर्दिष्ट गर्दछ। NanoJ डेटा समावेश गर्ने एरे। डाटा प्रगति ट्रेसर। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

NanoJFrom अपलोड गर्नुहोस्File ()
अपलोड गरेर आफ्नो नियन्त्रकमा NanoJ कार्यक्रम अपलोड गर्न यो सार्वजनिक प्रकार्य प्रयोग गर्नुहोस् file.
भर्चुअल परिणामVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileपथ, NlcDataTransferCallback* कलब्याक)

प्यारामिटरहरू उपकरण ह्यान्डल निरपेक्षFileपथ NlcDataTransferCallback
ResultVoid फर्काउँछ

NanoLib कुन बस यन्त्रमा अपलोड गर्छ निर्दिष्ट गर्दछ। जाने बाटो file NanoJ डाटा (std::string) समावेश गर्दछ। डाटा प्रगति ट्रेसर। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

disconnectDevice () deviceHandle द्वारा आफ्नो उपकरण विच्छेद गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor:: DisconnectDevice (DeviceHandle const deviceHandle)

प्यारामिटरहरू डिभाइस ह्यान्डलले नतिजा फर्काउँछVoid

NanoLib कुन बस यन्त्रबाट विच्छेद हुन्छ निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

removeDevice () NanoLib को आन्तरिक उपकरण सूचीबाट आफ्नो उपकरण हटाउन यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

प्यारामिटरहरू डिभाइस ह्यान्डलले नतिजा फर्काउँछVoid

NanoLib लाई डिलिस्ट गर्ने बस यन्त्र निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

closeBusHardware () तपाईंको फिल्डबस हार्डवेयरबाट विच्छेदन गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const र busHwId)

प्यारामिटरहरू busHwId परिणामVoid फर्काउँछ

विच्छेदन गर्नको लागि फिल्डबस निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

26

8 वर्ग / प्रकार्य सन्दर्भ

8.2 BusHardwareId
एक-एक-एक बस हार्डवेयर पहिचान गर्न वा विभिन्न बस हार्डवेयर एकअर्काबाट छुट्याउन यो कक्षा प्रयोग गर्नुहोस्। यो वर्ग (सृष्टिबाट अपरिवर्तनीय हुन सेटर प्रकार्यहरू बिना) मा पनि जानकारी राख्छ:
हार्डवेयर (= एडाप्टर नाम, नेटवर्क एडाप्टर आदि) प्रयोग गर्नको लागि प्रोटोकल (= Modbus TCP, CANopen आदि) बस हार्डवेयर निर्दिष्टकर्ता (= क्रमिक पोर्ट नाम, MAC अनुकूल नाम
ठेगाना आदि)

BusHardwareId () [1/3] कन्स्ट्रक्टर जसले नयाँ बस हार्डवेयर ID वस्तु सिर्जना गर्दछ।
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

प्यारामिटरहरू बसहार्डवेयर_प्रोटोकल_हार्डवेयरस्पेसिफायर_ एक्स्ट्राहार्डवेयरस्पेसिफायर_नाम_

हार्डवेयर प्रकार (= ZK-USB-CAN-1 आदि)। बस संचार प्रोटोकल (= CANopen आदि)। हार्डवेयरको निर्दिष्टकर्ता (= COM3 आदि)। हार्डवेयरको अतिरिक्त निर्दिष्टकर्ता (भन्नुहोस्, USB स्थान जानकारी)। एक अनुकूल नाम (= AdapterName (पोर्ट) आदि)।

BusHardwareId () [2/3] कन्स्ट्रक्टर जसले नयाँ बस हार्डवेयर ID वस्तु सिर्जना गर्दछ, अतिरिक्त हार्डवेयर स्पिकिफायरको विकल्पको साथ।
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const र extraHardwareSpecifier_, std::string name & string const_)

प्यारामिटरहरू बसहार्डवेयर_प्रोटोकल_हार्डवेयरस्पेसिफायर_ एक्स्ट्राहार्डवेयरस्पेसिफायर_नाम_

हार्डवेयर प्रकार (= ZK-USB-CAN-1 आदि)। बस संचार प्रोटोकल (= CANopen आदि)। हार्डवेयरको निर्दिष्टकर्ता (= COM3 आदि)। हार्डवेयरको अतिरिक्त निर्दिष्टकर्ता (भन्नुहोस्, USB स्थान जानकारी)। एक अनुकूल नाम (= AdapterName (पोर्ट) आदि)।

BusHardwareId () [3/3] कन्स्ट्रक्टर जसले अवस्थित busHardwareId प्रतिलिपि गर्दछ।
nlc::BusHardwareId::BusHardwareId (BusHardwareId const र)

nlc::BusHardwareId::BusHardwareId (BusHardwareId const र)

प्यारामिटरहरू बसहार्डवेयरआईडी

प्रतिलिपि गर्नका लागि बस हार्डवेयर ID लाई नाम दिन्छ।

बराबर () नयाँ बस हार्डवेयर ID लाई अवस्थितसँग तुलना गर्दछ।
bool nlc::BusHardwareId::equals (BusHardwareId const र अन्य) const

प्यारामिटरहरू अन्य रिटर्न सही

एउटै कक्षाको अर्को वस्तु। यदि दुबै सबै मानहरूमा बराबर छन्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

27

8 वर्ग / प्रकार्य सन्दर्भ

गलत

यदि मानहरू फरक छन्।

getBusHardware () बस हार्डवेयर स्ट्रिङ पढ्छ।
std::string nlc::BusHardwareId::getBusHardware () const

स्ट्रिङ फर्काउँछ

getHardwareSpecifier () बस हार्डवेयरको निर्दिष्टकर्ता स्ट्रिङ (= नेटवर्क नाम आदि) पढ्छ।
std::string nlc::BusHardwareId::getHardwareSpecifier () const

स्ट्रिङ फर्काउँछ

getExtraHardwareSpecifier () बस अतिरिक्त हार्डवेयर निर्दिष्टकर्ता स्ट्रिङ (= MAC ठेगाना आदि) पढ्छ।
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

स्ट्रिङ फर्काउँछ

getName () बस हार्डवेयरको अनुकूल नाम पढ्छ।
std::string nlc::BusHardwareId::getName () const

स्ट्रिङ फर्काउँछ

getProtocol () बस प्रोटोकल स्ट्रिङ पढ्छ।
std::string nlc::BusHardwareId::getProtocol () const

स्ट्रिङ फर्काउँछ

toString () स्ट्रिङको रूपमा बस हार्डवेयर ID फर्काउँछ।
std::string nlc::BusHardwareId::toString () const

स्ट्रिङ फर्काउँछ
8.3 BusHardware Options
यो कक्षामा, स्ट्रिङको कुञ्जी-मान सूचीमा, बस हार्डवेयर खोल्न आवश्यक सबै विकल्पहरू फेला पार्नुहोस्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

28

8 वर्ग / प्रकार्य सन्दर्भ

BusHardwareOptions () [1/2] नयाँ बस हार्डवेयर विकल्प वस्तु निर्माण गर्दछ।
nlc::BusHardwareOptions::BusHardwareOptions () प्रकार्य addOption () कुञ्जी-मान जोडी थप्न प्रयोग गर्नुहोस्।

BusHardwareOptions () [2/2] पहिले नै अवस्थित कुञ्जी-मान नक्साको साथ नयाँ बस हार्डवेयर विकल्प वस्तु निर्माण गर्दछ।
nlc::BusHardwareOptions::BusHardwareOptions (std::map const र विकल्प)

प्यारामिटर विकल्प

बस हार्डवेयर सञ्चालन गर्न विकल्पहरू सहितको नक्सा।

addOption () थप कुञ्जी र मानहरू सिर्जना गर्दछ।
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

प्यारामिटर कुञ्जी मान

Example: BAUD_RATE_OPTIONS_NAME, बस_hw_options_ पूर्वनिर्धारित हेर्नुहोस्
Example: BAUD_RATE_1000K, bus_hw_options_defaults हेर्नुहोस्

बराबर () अवस्थित भएकाहरूसँग BusHardwareOptions तुलना गर्दछ।
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const र अन्य) const

प्यारामिटरहरू अन्य रिटर्न सही
गलत

एउटै कक्षाको अर्को वस्तु। यदि अर्को वस्तुमा सबै ठीक उस्तै विकल्पहरू छन्। यदि अर्को वस्तुमा फरक कुञ्जी वा मानहरू छन्।

getOptions () सबै थपिएको कुञ्जी-मान जोडीहरू पढ्छ।
std::नक्सा nlc::BusHardwareOptions::getOptions () const

स्ट्रिङ नक्सा फर्काउँछ

toString () string को रूपमा सबै कुञ्जीहरू / मानहरू फर्काउँछ।
std::string nlc::BusHardwareId::toString () const

स्ट्रिङ फर्काउँछ
8.4 BusHwOptions पूर्वनिर्धारित
यो पूर्वनिर्धारित कन्फिगरेसन विकल्प वर्गमा निम्न सार्वजनिक विशेषताहरू छन्:

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

29

8 वर्ग / प्रकार्य सन्दर्भ

const CanBus const सिरियल 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 = "BAUD_RATE_100K" = AUD_RATE_50K" 50k" BAUD_RATE_20K = "20k" BAUD_RATE_10K = "10k" BAUD_RATE_5K = "5k"

६.६ क्यानबस

निम्न सार्वजनिक विशेषताहरूसँग पूर्वनिर्धारित कन्फिगरेसन विकल्प वर्ग:

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"

६.८ CanOpenNmtState

यस संरचनाले निम्न सार्वजनिक विशेषताहरूमा स्ट्रिङ मानहरूको रूपमा CANopen NMT राज्यहरू समावेश गर्दछ:

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

रोकिएको = "रोकिएको" पूर्व_कार्यकारी = "पूर्व_अपरेशनल" अपरेशनल = "अपरेशनल" प्रारम्भिक = "सुरुवात" अज्ञात = "अज्ञात"

8.9 EtherCATBus संरचना

यस संरचनाले निम्न सार्वजनिक विशेषताहरूमा EtherCAT सञ्चार कन्फिगरेसन विकल्पहरू समावेश गर्दछ:

संस्करण: कागजात 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 ms)।

const अहस्ताक्षरित int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = "500"

const std::string SHARED_LOCK_TIMEOUT_OPTION_ मिलिसेकेन्डमा टाइमआउट साझा लक प्राप्त गर्न

NAME = "साझा लक टाइमआउट"

नेटवर्क (पूर्वनिर्धारित = 250 ms)।

const अहस्ताक्षरित int DEFAULT_SHARED_LOCK_TIMEOUT = "250"

const std::string READ_TIMEOUT_OPTION_NAME = टाइमआउट मिलिसेकेन्डमा पढ्ने सञ्चालनको लागि (पूर्वनिर्धारित

"टाइमआउट पढ्नुहोस्"

= 700 ms)।

const अहस्ताक्षरित int DEFAULT_READ_TIMEOUT = "700"

const std::string WRITE_TIMEOUT_OPTION_NAME = टाइमआउट मिलिसेकेन्डमा लेख्ने कार्यको लागि (पूर्वनिर्धारित

"टाइमआउट लेख्नुहोस्"

= 200 ms)।

const अहस्ताक्षरित int DEFAULT_WRITE_TIMEOUT = "200"

const std::string READ_WRITE_ATTEMPTS_OPTION_ अधिकतम पढ्न वा लेख्ने प्रयासहरू (गैर-शून्य मानहरू

NAME = "पढ्ने/लेख्ने प्रयासहरू"

मात्र; पूर्वनिर्धारित = 5)।

const अहस्ताक्षरित int DEFAULT_READ_WRITE_ATTEMPTS = "5"

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = "नेटवर्क स्टेट प्रयासहरू परिवर्तन गर्नुहोस्"

नेटवर्क स्थिति परिवर्तन गर्न प्रयासहरूको अधिकतम संख्या (गैर-शून्य मान मात्र; पूर्वनिर्धारित = 10)।

const अहस्ताक्षरित int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = "१०"

const std::string PDO_IO_ENABLED_OPTION_NAME डिजिटल इन- / को लागि PDO प्रशोधन सक्षम वा असक्षम पार्छ

= "PDO IO सक्षम"

आउटपुट ("True" वा "False" मात्र; पूर्वनिर्धारित = "True")।

const std::string DEFAULT_PDO_IO_ENABLED = "सत्य"

8.10 EtherCATSstate संरचना

यस संरचनाले निम्न सार्वजनिक विशेषताहरूमा स्ट्रिङ मानहरूको रूपमा 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" अपरेशनल = "अपरेशनल"

संस्करण: कागजात 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 ()

६.१२ 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"

२०१ Pe पीक

यस संरचनाले निम्न सार्वजनिक विशेषताहरूमा पीक यूएसबी-टु-क्यानको लागि सबै जानकारी राख्छ:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "पीक एडाप्टर बस नम्बर"

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

यस संरचनाले निम्न सार्वजनिक विशेषताहरूमा पीक यूएसबी-टु-क्यानको लागि बस नम्बर राख्छ:

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

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_BUS4 (BUS_NUMBER_5 = std::PCAN_BUS = BCAN_BUS5) 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=bstring BUS_NUMBER_9: (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS12 = std::to_string) BUS_NUMBER_13 = std: (PCAN_USBBUS13) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS14) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS15) BUS_NUMBER_16 = std::to_string (PCAN_USBBUS16)

६.१३ यन्त्र ह्यान्डल
यो वर्गले बसमा यन्त्र नियन्त्रण गर्ने ह्यान्डललाई प्रतिनिधित्व गर्दछ र निम्न सार्वजनिक सदस्य कार्यहरू छन्।

DeviceHandle () DeviceHandle (uint32_t ह्यान्डल)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

32

8 वर्ग / प्रकार्य सन्दर्भ

बराबर () आफूलाई दिइएको यन्त्र ह्यान्डलसँग तुलना गर्दछ।
bool equals (DeviceHandle const other) const (uint32_t ह्यान्डल)

toString () यन्त्र ह्यान्डलको स्ट्रिङ प्रतिनिधित्व फर्काउँछ।
std::string toString () const

प्राप्त () यन्त्र ह्यान्डल फर्काउँछ।
uint32_t प्राप्त () const

६.१४ यन्त्रको आईडी
बसमा यन्त्रहरू पहिचान गर्न र छुट्याउन यो वर्ग (सृष्टिमा अपरिवर्तनीय छैन) प्रयोग गर्नुहोस्:

हार्डवेयर एडाप्टर पहिचानकर्ता

यन्त्र पहिचानकर्ता

विवरण

यन्त्र ID / वर्णन मानहरूको अर्थ बसमा निर्भर गर्दछ। पूर्वका लागिample, एक CAN बसले पूर्णांक ID प्रयोग गर्न सक्छ।

DeviceId () [1/3] नयाँ यन्त्र ID वस्तु निर्माण गर्छ।
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)

प्यारामिटरहरू busHardwareId_ deviceId_ description_

बसको पहिचानकर्ता। एक सूचकांक; बसको अधीनमा (= CANopen नोड आईडी आदि)। एक विवरण (खाली हुन सक्छ); बसको अधीनमा।

DeviceId () [2/3] विस्तारित ID विकल्पहरूसँग नयाँ यन्त्र ID वस्तु निर्माण गर्छ।
nlc::DeviceId::DeviceId (BusHardwareId const र busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std:: string const & extraStringId_)

प्यारामिटरहरू busHardwareId_ deviceId_ description_ extraId_ extraStringId_

बसको पहिचानकर्ता। एक सूचकांक; बसको अधीनमा (= CANopen नोड आईडी आदि)। एक विवरण (खाली हुन सक्छ); बसको अधीनमा। एक अतिरिक्त ID (खाली हुन सक्छ); अर्थ बस मा निर्भर गर्दछ। अतिरिक्त स्ट्रिङ ID (खाली हुन सक्छ); अर्थ बस मा निर्भर गर्दछ।

DeviceId () [3/3] यन्त्र ID वस्तुको प्रतिलिपि बनाउँछ।
nlc::DeviceId::DeviceId (DeviceId const &)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

33

8 वर्ग / प्रकार्य सन्दर्भ

प्यारामिटरहरू deviceId_

बाट प्रतिलिपि गर्न यन्त्र ID।

बराबर () अवस्थित वस्तुहरूसँग नयाँ तुलना गर्दछ।
bool nlc::DeviceId::equals (DeviceId const र अन्य) const

बुलियन फर्काउँछ

getBusHardwareId () बस हार्डवेयर ID पढ्छ।
BusHardwareId nlc::DeviceId::getBusHardwareId () const

BusHardwareId फर्काउँछ

getDescription () उपकरण विवरण पढ्छ (सायद प्रयोग नगरिएको)।
std::string nlc::DeviceId::getDescription () const

स्ट्रिङ फर्काउँछ

getDeviceId () यन्त्र ID पढ्छ (सायद प्रयोग नगरिएको)।
हस्ताक्षर नगरिएको int nlc::DeviceId::getDeviceId () const

हस्ताक्षर नगरिएको इन्ट फर्काउँछ

toString () वस्तुलाई string को रूपमा फर्काउँछ।
std::string nlc::DeviceId::toString () const

स्ट्रिङ फर्काउँछ

getExtraId () यन्त्रको अतिरिक्त ID पढ्छ (प्रयोग नगरिएको हुन सक्छ)।
const std::vector &getExtraId () const

भेक्टर फर्काउँछ

अतिरिक्त अतिरिक्त ID को एक भेक्टर (खाली हुन सक्छ); अर्थ बस मा निर्भर गर्दछ।

getExtraStringId () यन्त्रको अतिरिक्त स्ट्रिङ ID पढ्छ (प्रयोग नगरिएको हुन सक्छ)।
std::string getExtraStringId () const

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

34

8 वर्ग / प्रकार्य सन्दर्भ

स्ट्रिङ फर्काउँछ

अतिरिक्त स्ट्रिङ ID (खाली हुन सक्छ); अर्थ बस मा निर्भर गर्दछ।

8.17 LogLevelConverter

यो वर्गले तपाईंको लग स्तरलाई स्ट्रिङको रूपमा फर्काउँछ। स्थिर std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

यो वर्गले तपाईंको पुस्तकालय-विशिष्ट लग मोड्युलसेटLoggingLevel () लाई स्ट्रिङको रूपमा फर्काउँछ।

स्थिर std:: string

toString (nlc::LogModule logModule)

स्थिर std::string toString (nlc::LogModule logModule)

६.१६ वस्तुशब्दकोश
यो वर्ग एक नियन्त्रक को एक वस्तु शब्दकोश को प्रतिनिधित्व गर्दछ र निम्न सार्वजनिक सदस्य कार्यहरु छ: getDeviceHandle ()
भर्चुअल रिजल्ट डिभाइस ह्यान्डल getDeviceHandle () const नतिजा डिभाइस ह्यान्डल फर्काउँछ

getObject () भर्चुअल ResultObjectSubEntry getObject (OdIndex const odIndex) ResultObjectSubEntry फर्काउँछ

getObjectEntry () भर्चुअल ResultObjectEntry getObjectEntry (uint16_t अनुक्रमणिका)

ResultObjectEntry फर्काउँछ

वस्तुको गुणहरू बारे जानकारी दिन्छ।

getXmlFileनाम () भर्चुअल ResultString getXmlFileनाम () const

ResultString फर्काउँछ

XML फर्काउँछ file स्ट्रिङको रूपमा नाम।

readNumber () virtual ResultInt readNumber (OdIndex const odIndex) रिटर्न रिजल्टइन्ट
readNumberArray () भर्चुअल ResultArrayInt readNumberArray (uint16_t const अनुक्रमणिका)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

35

8 वर्ग / प्रकार्य सन्दर्भ
ResultArrayInt readString () फर्काउँछ
virtual ResultString readString (OdIndex const odIndex) ResultString readBytes () भर्चुअल ResultArrayByte readBytes (OdIndex const odIndex) रिटर्न ResultArrayByte writeNumber () भर्चुअल ResultVoid writeNumber (OdIndex const 64 Result_Value) writeBytes () भर्चुअल परिणामVoid writeBytes (OdIndex const OdIndex, std::vector
const र डेटा) रिटर्न रिटर्न रिटर्भस सम्बन्धित लिङ्कहरू OdIndex
६.१७ वस्तु प्रविष्टि
यो वर्गले वस्तु शब्दकोशको वस्तु प्रविष्टि प्रतिनिधित्व गर्दछ, निम्न स्थिर सुरक्षित विशेषता र सार्वजनिक सदस्य कार्यहरू छन्:
स्थिर nlc::ObjectSubEntry invalidObject
getName () ले वस्तुको नामलाई स्ट्रिङको रूपमा पढ्छ।
भर्चुअल std::string getName () const
getPrivate () वस्तु निजी छ भने जाँच गर्दछ।
भर्चुअल bool getPrivate () const
getIndex () वस्तु सूचकांकको ठेगाना पढ्छ।
भर्चुअल uint16_t getIndex () const

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

36

8 वर्ग / प्रकार्य सन्दर्भ

getDataType () वस्तुको डेटा प्रकार पढ्छ।
भर्चुअल nlc::ObjectEntryDataType getDataType () const

getObjectCode () वस्तुको कोड पढ्छ:

Null Deftype Defstruct Var Array रेकर्ड

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

भर्चुअल nlc::ObjectCode getObjectCode () const

getObjectSaveable () वस्तु बचत गर्न योग्य छ कि छैन र यो कोटी हो भनेर जाँच गर्दछ (थप विवरणहरूको लागि उत्पादन पुस्तिका हेर्नुहोस्): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFYUNKT, CANOPEN, VERIFYUNKT, 1020
भर्चुअल nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () यस वस्तुद्वारा समर्थित उप-सूचकहरूको संख्या पढ्छ।
भर्चुअल uint8_t getMaxSubIndex () const

getSubEntry () भर्चुअल nlc::ObjectSubEntry र getSubEntry (uint8_t subIndex)
ObjectSubEntry पनि हेर्नुहोस्।
8.21 ObjectSubEntry
यो वर्गले वस्तु शब्दकोशको वस्तु उप-प्रविष्टि (सबइन्डेक्स) प्रतिनिधित्व गर्दछ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getName () ले वस्तुको नामलाई स्ट्रिङको रूपमा पढ्छ।
भर्चुअल std::string getName () const

getSubIndex () subindex को ठेगाना पढ्छ।
भर्चुअल uint8_t getSubIndex () const

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

37

8 वर्ग / प्रकार्य सन्दर्भ

getDataType () वस्तुको डेटा प्रकार पढ्छ।
भर्चुअल nlc::ObjectEntryDataType getDataType () const

getSdoAccess () SDO मार्फत subindex पहुँचयोग्य छ कि छैन जाँच गर्दछ:

पढ्ने मात्र

1

मात्र लेख्नुहोस्

2

पढ्नुहोस्

3

पहुँच छैन

0

भर्चुअल nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () PDO मार्फत subindex पहुँचयोग्य/नक्सायोग्य छ कि छैन जाँच गर्दछ:

Tx

1

Rx

2

TxRx

3

छैन

0

भर्चुअल nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () subindex लम्बाइ जाँच गर्दछ।
भर्चुअल uint32_t getBitLength () const

getDefaultValueAsNumeric () सांख्यिक डेटा प्रकारहरूको लागि सबइन्डेक्सको पूर्वनिर्धारित मान पढ्छ।
भर्चुअल परिणामइन्ट getDefaultValueAsNumeric (std::string const र key) const

getDefaultValueAsString () स्ट्रिङ डेटा प्रकारहरूको लागि सबइन्डेक्सको पूर्वनिर्धारित मान पढ्छ।
भर्चुअल ResultString getDefaultValueAsString (std::string const र key) const

getDefaultValues ​​() subindex को पूर्वनिर्धारित मानहरू पढ्छ।
भर्चुअल std::नक्सा getDefaultValues ​​() const

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

38

8 वर्ग / प्रकार्य सन्दर्भ

readNumber () subindex को संख्यात्मक वास्तविक मान पढ्छ।
भर्चुअल रिजल्टइन्ट पढ्ने संख्या () const

readString () subindex को string वास्तविक मान पढ्छ।
भर्चुअल ResultString readString () const

readBytes () बाइटमा सबइन्डेक्सको वास्तविक मान पढ्छ।
भर्चुअल परिणामArrayByte readBytes () const

writeNumber () subindex मा संख्यात्मक मान लेख्छ।
भर्चुअल ResultVoid writeNumber (const int64_t मान) const

writeBytes () subindex मा बाइट मा मान लेख्छ।
भर्चुअल परिणामVoid writeBytes (std::vector const र डेटा) const

8.22 OdIndex
वस्तु डाइरेक्टरी सूचकाङ्कहरू / उप-सूचकाङ्कहरू र्‍याप गर्न र पत्ता लगाउन यो वर्ग (सृष्टिबाट अपरिवर्तनीय) प्रयोग गर्नुहोस्। यन्त्रको OD मा 65535 (0xFFFF) पङ्क्तिहरू र 255 (0xFF) स्तम्भहरू हुन्छन्; विच्छेदन पङ्क्तिहरू बीचको अन्तराल संग। थप विवरणहरूको लागि CANopen मानक र तपाईंको उत्पादन पुस्तिका हेर्नुहोस्।
OdIndex () नयाँ OdIndex वस्तु निर्माण गर्दछ।
nlc::OdIndex::OdIndex (uint16_t index, uint8_t subIndex)

प्यारामिटर सूचकांक उपसूचक

0 देखि 65535 सम्म (0xFFFF) सम्मिलित। 0 देखि 255 सम्म (0xFF) सम्मिलित।

getIndex () सूचकांक पढ्छ (0x0000 देखि 0xFFFF सम्म)।
uint16_t nlc::OdIndex::getIndex () const

uint16_t फर्काउँछ

getSubindex () उप-सूचकाङ्क पढ्छ (0x00 देखि 0xFF सम्म)
uint8_t nlc::OdIndex::getSubIndex () const

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

39

8 वर्ग / प्रकार्य सन्दर्भ

uint8_t फर्काउँछ

toString () index र subindex लाई string को रूपमा फर्काउँछ। स्ट्रिङ पूर्वनिर्धारित 0xIIII: 0xSS निम्नानुसार पढ्छ:

I = अनुक्रमणिका 0x0000 देखि 0xFFFF सम्म

S = उप-सूचकांक 0x00 देखि 0xFF सम्म

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

0xIIII: 0xSS फर्काउँछ

पूर्वनिर्धारित स्ट्रिङ प्रतिनिधित्व

६.२१ ओडलाइब्रेरी
XML बाट ObjectDictionary वर्गको उदाहरणहरू सिर्जना गर्न यो प्रोग्रामिङ इन्टरफेस प्रयोग गर्नुहोस्। assignObjectDictionary द्वारा, तपाईले प्रत्येक उदाहरणलाई एक विशिष्ट यन्त्रमा बाँध्न सक्नुहुन्छ अद्वितीय रूपमा सिर्जना गरिएको पहिचानकर्ताको कारणले। यसरी सिर्जना गरिएको वस्तु शब्दकोश उदाहरणहरू अनुक्रमणिकाद्वारा पहुँच गर्नको लागि OdLibrary वस्तुमा भण्डारण गरिन्छ। ODLibrary वर्गले ObjectDictionary वस्तुहरू बाट लोड गर्छ file वा एरे, तिनीहरूलाई भण्डारण गर्दछ, र निम्न सार्वजनिक सदस्य कार्यहरू छन्:

getObjectDictionaryCount () भर्चुअल uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

ResultObjectDictionary फर्काउँछ

AddObjectDictionaryFromFile ()
भर्चुअल ResultObjectDictionary addObjectDictionaryFromFile (std:: string const र absoluteXmlFileबाटो)

ResultObjectDictionary फर्काउँछ

वस्तु शब्दकोष add()
भर्चुअल ResultObjectDictionary addObjectDictionary (std::vector const र odXmlData, const std::string &xmlFileपथ = std :: string ())

ResultObjectDictionary फर्काउँछ
8.24 OdTypesHelper
निम्न सार्वजनिक सदस्य कार्यहरु को अतिरिक्त, यो वर्ग अनुकूलन डेटा प्रकार समावेश गर्दछ। नोट: आफ्नो अनुकूल डेटा प्रकारहरू जाँच गर्न, od_types.hpp मा enum वर्ग ObjectEntryDataType खोज्नुहोस्।

uintToObjectCode () अहस्ताक्षरित पूर्णांकहरूलाई वस्तु कोडमा रूपान्तरण गर्दछ:

शून्य Deftype

0x00 0x05

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

40

8 वर्ग / प्रकार्य सन्दर्भ

Defstruct Var Array रेकर्ड

0x06 0x07 0x08 0x09

स्थिर वस्तुकोड uintToObjectCode (अहस्ताक्षरित int वस्तुकोड)

isNumericDataType () डेटा प्रकार संख्यात्मक छ वा छैन भनेर जानकारी दिन्छ।
स्थिर bool isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () यदि कुनै वस्तु परिभाषा संरचना सूचकांक हो वा होइन भन्ने जानकारी दिन्छ।
स्थिर bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () यदि कुनै वस्तु परिभाषा प्रकारको अनुक्रमणिका हो वा होइन भन्ने जानकारी दिन्छ।
स्थिर bool isDeftypeIndex (uint16_t typeNum)

isComplexDataType () यदि कुनै डाटा प्रकार जटिल छ वा छैन भन्ने जानकारी दिन्छ।
स्थैतिक बूल हो कम्प्लेक्सडाटा टाइप (वस्तुप्रविष्ट डेटा प्रकार डेटा प्रकार)

uintToObjectEntryDataType () अहस्ताक्षरित पूर्णांकहरूलाई OD डाटा प्रकारमा रूपान्तरण गर्दछ।
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () OD डेटा प्रकारलाई स्ट्रिङमा रूपान्तरण गर्छ।
स्थिर std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () सम्भव भएमा स्ट्रिङलाई OD डेटा प्रकारमा रूपान्तरण गर्छ। अन्यथा, UNKNOWN_DATATYPE फर्काउँछ।
स्थिर ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

41

8 वर्ग / प्रकार्य सन्दर्भ

objectEntryDataTypeBitLength () वस्तु प्रविष्टि डेटा प्रकारको बिट लम्बाइमा सूचित गर्दछ।
स्थिर uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const र dataType)

8.25 RESTfulBus संरचना

यो संरचनाले RESTful इन्टरफेस (ईथरनेट माथि) को लागि संचार कन्फिगरेसन विकल्पहरू समावेश गर्दछ। यसले निम्न सार्वजनिक विशेषताहरू समावेश गर्दछ:

const std:: string const अहस्ताक्षरित लामो const std:: string const अहस्ताक्षरित लामो const std:: string const अहस्ताक्षरित लामो

CONNECT_TIMEOUT_OPTION_NAME = "RESTful जडान टाइमआउट" DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = "RESTful अनुरोध टाइमआउट" DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = RESPONSE_TIMEOUT_OPTION_NAME "RESTful टाइमआउट" ७५०

8.26 ProfinetDCP
Linux अन्तर्गत, कलिङ एपलाई CAP_NET_ADMIN र CAP_NET_RAW क्षमताहरू चाहिन्छ। सक्षम गर्न: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable। Windows मा, ProfinetDCP इन्टरफेसले WinPcap (संस्करण 4.1.3 सँग परीक्षण गरिएको) वा Npcap (संस्करण 1.60 र 1.30 सँग परीक्षण गरिएको) प्रयोग गर्दछ। यसले निम्न क्रममा गतिशील रूपमा लोड गरिएको wpcap.dll पुस्तकालय खोज्छ (नोट: हालको Win10Pcap समर्थन छैन):
1. Nanolib.dll निर्देशिका 2. विन्डोज प्रणाली निर्देशिका SystemRoot% System32 3. Npcap स्थापना निर्देशिका SystemRoot% System32Npcap 4. वातावरण मार्ग
यो वर्गले Profinet DCP इन्टरफेस प्रतिनिधित्व गर्दछ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:

getScanTimeout () यन्त्र स्क्यान टाइमआउटमा जानकारी दिन्छ (पूर्वनिर्धारित = 2000 ms)।
भर्चुअल uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () उपकरण स्क्यान टाइमआउट सेट गर्दछ (पूर्वनिर्धारित = 2000 ms)।
भर्चुअल शून्य nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () सेटअप, रिसेट र ब्लिंक अपरेसनहरू (पूर्वनिर्धारित = 1000 ms) को लागि उपकरण प्रतिक्रिया समय समाप्तिमा सूचित गर्दछ।
भर्चुअल uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () सेटअप, रिसेट र ब्लिङ्क अपरेसनहरू (पूर्वनिर्धारित = 1000 ms) को लागि उपकरण प्रतिक्रिया समय समाप्तिमा सूचित गर्दछ।
भर्चुअल शून्य nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

42

8 वर्ग / प्रकार्य सन्दर्भ

isServiceउपलब्ध ()
Profinet DCP सेवा उपलब्धता जाँच गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
नेटवर्क एडाप्टर वैधता / उपलब्धता Windows: WinPcap / Npcap उपलब्धता लिनक्स: CAP_NET_ADMIN / CAP_NET_RAW क्षमताहरू
भर्चुअल ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId र busHardwareId)

प्यारामिटरहरू BusHardwareId सही फर्काउँछ
गलत

Profinet DCP सेवाको हार्डवेयर आईडी जाँच गर्न। सेवा उपलब्ध छ। सेवा उपलब्ध छैन।

scanProfinetDevices () Profinet उपकरणहरूको उपस्थितिको लागि हार्डवेयर बस स्क्यान गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामप्रोफाइनेट उपकरणहरू स्क्यान प्रोफाइनेट उपकरणहरू (const BusHardwareId र busHardwareId)

प्यारामिटरहरू BusHardwareId ले ResultProfinetDevices फर्काउँछ

खोल्नका लागि प्रत्येक फिल्डबस निर्दिष्ट गर्दछ। हार्डवेयर खुला छ।

setupProfinetDevice () ले निम्न उपकरण सेटिङहरू स्थापना गर्दछ:

यन्त्रको नाम

IP ठेगाना

नेटवर्क मास्क

पूर्वनिर्धारित गेटवे

भर्चुअल ResultVoid nlc::setupProfinetDevice (const BusHardwareId र busHardwareId, const ProfinetDevice संरचना र profinetDevice, bool savePermanent)

resetProfinetDevice () यन्त्रलाई रोक्छ र यसलाई कारखाना पूर्वनिर्धारितहरूमा रिसेट गर्दछ।
भर्चुअल ResultVoid nlc::resetProfinetDevice (const BusHardwareId र busHardwareId, const ProfinetDevice र profinetDevice)

blinkProfinetDevice () Profinet यन्त्रलाई यसको Profinet LED झिम्काउन सुरु गर्न आदेश दिन्छ।
भर्चुअल ResultVoid nlc::blinkProfinetDevice (const BusHardwareId र busHardwareId, const ProfinetDevice र profinetDevice)

validateProfinetDeviceIp () उपकरणको IP ठेगाना जाँच गर्न यो प्रकार्य प्रयोग गर्नुहोस्।
भर्चुअल परिणामVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice र profinetDevice)

प्यारामिटरहरू BusHardwareId ProfinetDevice

जाँच गर्न हार्डवेयर ID निर्दिष्ट गर्दछ। प्रमाणित गर्न Profinet उपकरण निर्दिष्ट गर्दछ।

संस्करण: कागजात 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 ठेगाना ढाँचामा array को रूपमा प्रदान गरिएको छ macAddress = {xx, xx, xx, xx, xx, xx}; जबकि IP ठेगाना, नेटवर्क मास्क र गेटवे सबै ठूला एन्डियन हेक्स नम्बरहरूको रूपमा व्याख्या गरिन्छ, जस्तै:

IP ठेगाना: 192.168.0.2 नेटवर्क मास्क: 255.255.0.0 गेटवे: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

६.२६ नतिजा कक्षाहरू

प्रकार्य कल सफल भयो वा भएन भनेर जाँच गर्न यी कक्षाहरूको "वैकल्पिक" फिर्ता मानहरू प्रयोग गर्नुहोस्, र असफल कारणहरू पनि पत्ता लगाउनुहोस्। सफलतामा, 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 string फर्काउँछ

संस्करण: कागजात 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
६.२६.१ परिणाम शून्य
यदि प्रकार्य शून्य फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले सार्वजनिक कार्यहरू र परिणाम वर्गबाट ​​सुरक्षित विशेषताहरू प्राप्त गर्दछ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
ResultVoid () निम्न प्रकार्यहरूले सही शून्य परिणाम परिभाषित गर्न मद्दत गर्दछ:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (नतिजा const र परिणाम)
६.२६.२ परिणाम
यदि प्रकार्यले पूर्णांक फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि कुनै प्रकार्य कल सफल भयो भने पूर्णांक परिणाम फर्काउँछ।
int64_t getResult () const
int64_t फर्काउँछ

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

45

8 वर्ग / प्रकार्य सन्दर्भ
ResultInt () सही पूर्णांक परिणाम परिभाषित गर्न निम्न प्रकार्यहरूले मद्दत गर्दछ:
ResultInt (int64_t result_)
ResultInt (std::string const र errorString_)
ResultInt (NlcErrorCode const र errCode, std::string const र errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (नतिजा const र परिणाम)
8.28.3 ResultString
यदि प्रकार्यले स्ट्रिङ फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि फंक्शन कल सफल भयो भने स्ट्रिङ परिणाम पढ्छ।
const std::string nlc::ResultString::getResult () const
const string फर्काउँछ
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_)
ResultString (नतिजा const र परिणाम)
8.28.4 ResultArrayByte
यदि प्रकार्यले बाइट एरे फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि फंक्शन कल सफल भयो भने बाइट भेक्टर पढ्छ।
const std::vector nlc::ResultArrayByte::getResult () const
const भेक्टर फर्काउँछ

संस्करण: कागजात 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 र त्रुटि String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (परिणाम const र परिणाम)
६.२६.५ ResultArrayInt
यदि प्रकार्यले पूर्णांक एरे फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि फंक्शन कल सफल भयो भने पूर्णांक भेक्टर पढ्छ।
const std::vector nlc::ResultArrayInt::getResult () const
const भेक्टर फर्काउँछ
ResultArrayInt () सही पूर्णांक एरे परिणाम परिभाषित गर्न निम्न प्रकार्यहरूले मद्दत गर्दछ:
ResultArrayInt (std::vector const र परिणाम_)
ResultArrayInt (std::string const र errorString_)
ResultArrayInt (NlcErrorCode const र errCode, std::string const र त्रुटि String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (नतिजा const र परिणाम)
8.28.6 ResultBusHwIds
यदि प्रकार्यले बस हार्डवेयर आईडी एरे फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () ले बस-हार्डवेयर-आईडी भेक्टर पढ्छ यदि फंक्शन कल सफल भयो।
const std::vector nlc::ResultBusHwIds::getResult () const
प्यारामिटरहरू const भेक्टर

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

47

8 वर्ग / प्रकार्य सन्दर्भ
ResultBusHwIds () ठ्याक्कै बस-हार्डवेयर-आईडी-एरे परिणाम परिभाषित गर्न निम्न प्रकार्यहरूले मद्दत गर्दछ:
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 (नतिजा const र परिणाम)
8.28.7 ResultDeviceId
यदि प्रकार्यले यन्त्र ID फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि कुनै प्रकार्य कल सफल भयो भने यन्त्र ID भेक्टर पढ्छ।
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 (नतिजा const र परिणाम)
8.28.8 ResultDeviceIds
यदि प्रकार्यले यन्त्र ID array फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि प्रकार्य कल सफल भयो भने यन्त्र ID भेक्टर फर्काउँछ।
DeviceId nlc::ResultDeviceIds::getResult () const
const भेक्टर फर्काउँछ

संस्करण: कागजात 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 (नतिजा const र परिणाम)
६.२६.९ परिणाम यन्त्र ह्यान्डल
यदि प्रकार्यले यन्त्र ह्यान्डलको मान फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि फंक्शन कल सफल भयो भने उपकरण ह्यान्डल पढ्छ।
DeviceHandle nlc::ResultDeviceHandle::getResult () const
DeviceHandle फर्काउँछ
ResultDeviceHandle () निम्न प्रकार्यहरूले सही उपकरण ह्यान्डल परिणाम परिभाषित गर्न मद्दत गर्दछ:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const र errorString_)
ResultDeviceHandle (NlcErrorCode const र errCode, std::string const र errorString_)
ResultDeviceHandle (NlcErrorCode const र errCode, const uint32_t exErrCode, std::string const र errorString_)
ResultDeviceHandle (नतिजा const र परिणाम)
8.28.10 ResultObjectDictionary
यदि प्रकार्यले वस्तु शब्दकोशको सामग्री फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि कुनै प्रकार्य कल सफल भयो भने यन्त्र ID भेक्टर पढ्छ।
const nlc::ObjectDictionary र nlc::ResultObjectDictionary::getResult () const

संस्करण: कागजात 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 (नतिजा const र परिणाम)

8.28.11 परिणाम जडान राज्य
यदि प्रकार्यले यन्त्र-जडान-राज्य जानकारी फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:
getResult () यदि फंक्शन कल सफल भयो भने उपकरण ह्यान्डल पढ्छ।
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

DeviceConnectionStateInfo जडित / विच्छेदन / ConnectedBootloader फर्काउँछ

ResultConnectionState () सही जडान अवस्था परिणाम परिभाषित गर्न निम्न प्रकार्यहरूले मद्दत गर्दछ:
ResultConnectionState (DeviceConnectionStateInfo const & result_)

ResultConnectionState (std::string const र errorString_)

ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)

ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)

ResultConnectionState (नतिजा const र परिणाम)

8.28.12 ResultObjectEntry
यदि प्रकार्यले वस्तु प्रविष्टि फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:

संस्करण: कागजात 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 (नतिजा const र परिणाम)
8.28.13 ResultObjectSubEntry
यदि प्रकार्यले वस्तु उप-प्रविष्टि फर्काउँछ भने 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 (नतिजा const र परिणाम)
६.२६.१४ परिणामप्रोफाइनेट यन्त्रहरू
यदि प्रकार्यले Profinet यन्त्र फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछ। वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

51

8 वर्ग / प्रकार्य सन्दर्भ

getResult () यदि फंक्शन कल सफल भयो भने Profinet उपकरण भेक्टर पढ्छ।
const std::vector & getResult () const

ResultProfinetDevices () निम्न प्रकार्यहरूले सही Profinet उपकरणहरू परिभाषित गर्न मद्दत गर्दछ।
ResultProfinetDevices (const std::vector र profinet उपकरणहरू)
ResultProfinetDevices (const परिणाम र परिणाम)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
६.२६.१५ परिणाम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 ResultSampleDataArray र अन्य)

परिणामहरूampleDataArray (const परिणाम र परिणाम)

६.२६.१५ परिणामamplerराज्य
यदि प्रकार्य यस रूपमा फर्काउँछ भने NanoLib ले तपाईंलाई यो वर्गको उदाहरण पठाउँछampler राज्य।यस वर्गले परिणाम वर्गबाट ​​सार्वजनिक कार्यहरू / सुरक्षित विशेषताहरू इनहेरिट गर्छ र निम्न सार्वजनिक सदस्य कार्यहरू छन्:

getResult () s पढ्छampler राज्य भेक्टर यदि एक प्रकार्य कल सफल भयो।
SamplerState getResult () const

एस फर्काउँछamplerState>

कन्फिगर नगरिएको / कन्फिगर गरिएको / तयार / चलिरहेको / पूरा / असफल / रद्द

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

52

8 वर्ग / प्रकार्य सन्दर्भ

परिणामहरूamplerState () निम्न प्रकार्यहरूले सही s परिभाषित गर्न मद्दत गर्दछampler राज्य।
परिणामहरूamplerState (const Samplerराज्य राज्य)

परिणामहरूamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
विस्तारित त्रुटि कोड = ०)

परिणामहरूamplerState (const ResultSampराज्य र अन्य)

परिणामहरूamplerState (const परिणाम र परिणाम)

8.29 NlcErrorCode

यदि केहि गलत भयो भने, परिणाम वर्गहरूले यो गणनामा सूचीबद्ध त्रुटि कोडहरू मध्ये एउटा रिपोर्ट गर्दछ।

त्रुटि कोड सफलता सामान्य त्रुटि बस अनुपलब्ध संचार त्रुटि प्रोटोकल त्रुटि
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments Access Denied ResourceNotFound ResourceUvailable OutOfMemory TimeOutError

C: श्रेणी D: विवरण R: कारण C: कुनै पनि छैन। D: कुनै त्रुटि छैन। R: सञ्चालन सफलतापूर्वक सम्पन्न भयो।
C: निर्दिष्ट नगरिएको। D: निर्दिष्ट नगरिएको त्रुटि। R: कुनै अन्य श्रेणीमा फिट नहुने असफलता।
C: बस। 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: समयावधि समाप्त भएपछि फर्कनुहोस्। टाइमआउट यन्त्र प्रतिक्रिया समय, साझा वा विशेष स्रोत पहुँच प्राप्त गर्ने समय, वा बस / उपकरणलाई उपयुक्त अवस्थामा स्विच गर्ने समय हुन सक्छ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

53

8 वर्ग / प्रकार्य सन्दर्भ

६.२८ NlcCallback
कलब्याकहरूको लागि यो अभिभावक वर्गमा निम्न सार्वजनिक सदस्य प्रकार्य छ: कलब्याक ()
भर्चुअल नतिजा शून्य कलब्याक ()

फर्काउँछ

नतिजा शून्य

६.२९ NlcDataTransferCallback
डाटा स्थानान्तरण (फर्मवेयर अपडेट, NanoJ अपलोड आदि) को लागि यो कलब्याक वर्ग प्रयोग गर्नुहोस्। 1. फर्मवेयर अपलोडको लागि: अनुकूलन कलब्याक विधिको साथ यसलाई विस्तार गर्ने "सह-वर्ग" परिभाषित गर्नुहोस्
कार्यान्वयन। 2. NanoLibAccessor.uploadFirmware () कलहरूमा "सह-वर्गको" उदाहरणहरू प्रयोग गर्नुहोस्। मुख्य वर्गमा निम्न सार्वजनिक सदस्य कार्यहरू छन्:

कलब्याक () भर्चुअल नतिजाVoid कलब्याक (nlc::DataTransferInfo जानकारी, int32_t डाटा)

फर्काउँछ

नतिजा शून्य

8.32 NlcScanBusCallback
बस स्क्यानिङको लागि यो कलब्याक कक्षा प्रयोग गर्नुहोस्। 1. अनुकूलन कलब्याक विधि कार्यान्वयनको साथ यसलाई विस्तार गर्ने "सह-वर्ग" परिभाषित गर्नुहोस्। 2. NanoLibAccessor.scanDevices () कलहरूमा "सह-वर्गको" उदाहरणहरू प्रयोग गर्नुहोस्। मुख्य वर्गमा निम्न सार्वजनिक सदस्य कार्यहरू छन्।

संदेश फर्काउनु ()
भर्चुअल परिणामVoid कलब्याक (nlc::BusScanInfo जानकारी, std::vector const & devicesFound, int32_t डाटा)

ResultVoid फर्काउँछ
६.३१ NlcLoggingCallback
कलब्याक लगिङका लागि यो कलब्याक क्लास प्रयोग गर्नुहोस्। 1. अनुकूलन कलब्याक विधि कार्यान्वयनको साथ यो कक्षा विस्तार गर्ने वर्ग परिभाषित गर्नुहोस् 2. NanoLibAccessor द्वारा कलब्याक सेट गर्नको लागि यसको उदाहरणहरूमा एक सूचक प्रयोग गर्नुहोस् >
setLoggingCallback (...)।
भर्चुअल शून्य कलब्याक (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

१० एसamplerइन्टरफेस
s लाई कन्फिगर गर्न, सुरु गर्न र रोक्न यो कक्षा प्रयोग गर्नुहोस्ampler, वा s प्राप्त गर्नampनेतृत्व डाटा र रूपमा ल्याउनampler को स्थिति वा अन्तिम त्रुटि। वर्गमा निम्न सार्वजनिक सदस्य कार्यहरू छन्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

54

8 वर्ग / प्रकार्य सन्दर्भ

कन्फिगर () को रूपमा कन्फिगर गर्दछampलेर।
भर्चुअल परिणामVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const Samplerकन्फिगरेसन र samplerकन्फिगरेसन)

प्यारामिटरहरू [इन] यन्त्र ह्यान्डल [इन] sampler कन्फिगरेसन
ResultVoid फर्काउँछ

s कन्फिगर गर्ने यन्त्र निर्दिष्ट गर्दछampler को लागि। कन्फिगरेसन विशेषताहरूको मानहरू निर्दिष्ट गर्दछ। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

getData () s प्राप्त गर्दछampनेतृत्व डाटा।
भर्चुअल परिणामampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

प्यारामिटरहरू [इन] यन्त्र ह्यान्डल परिणामहरू फर्काउँछampleDataArray

कुन यन्त्रको लागि डाटा प्राप्त गर्ने निर्दिष्ट गर्दछ।
एस प्रदान गर्दछampled डाटा, जुन खाली एरे हुन सक्छ यदि samplerNotify सुरुमा सक्रिय छ।

getLastError () को रूपमा प्राप्त हुन्छampलेरको अन्तिम त्रुटि।
भर्चुअल परिणामVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

ResultVoid फर्काउँछ

शून्य प्रकार्य चलेको पुष्टि गर्दछ।

getState () को रूपमा प्राप्त हुन्छampler को स्थिति।
भर्चुअल परिणामamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

परिणामहरू फर्काउँछamplerराज्य

एस प्रदान गर्दछampler राज्य।

start () को रूपमा सुरु हुन्छampलेर।
भर्चुअल परिणामVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify*samplerNotify, int64_t applicationData)

प्यारामिटरहरू [इन] डिभाइस ह्यान्डल [इन] एसamplerNotify [in] applicationdata
ResultVoid फर्काउँछ

s सुरु गर्ने यन्त्र निर्दिष्ट गर्दछampler को लागी।
रिपोर्ट गर्ने वैकल्पिक जानकारी निर्दिष्ट गर्दछ (nullptr हुन सक्छ)।
विकल्प: एप्लिकेसन-सम्बन्धित डाटा (प्रयोगकर्ता-परिभाषित 8-बिट एरेको मान / उपकरण आईडी / अनुक्रमणिका, वा मिति समय, एक चलको / प्रकार्यको सूचक, आदि) लाई s मा फर्वार्ड गर्दछ।amplerसूचना गर्नुहोस्।
शून्य प्रकार्य चलेको पुष्टि गर्दछ।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

55

8 वर्ग / प्रकार्य सन्दर्भ

stop () को रूपमा रोकिन्छampलेर।
भर्चुअल परिणामVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

प्यारामिटरहरू [इन] यन्त्र ह्यान्डलले नतिजा फर्काउँछVoid

s लाई रोक्न कुन यन्त्र निर्दिष्ट गर्दछampler को लागि। शून्य प्रकार्य चलेको पुष्टि गर्दछ।

१० एसamplerकन्फिगरेसन संरचना

यस संरचनाले डाटा समावेश गर्दछampler कन्फिगरेसन विकल्पहरू (स्थिर वा होइन)।

सार्वजनिक विशेषताहरू

std::vector ट्र्याक गरिएका ठेगानाहरू

12 OD ठेगानाहरू सम्म s हुनampलिड।

uint32_t

संस्करण

संरचनाको संस्करण।

uint32_t

अवधि मिलिसेकेन्ड

Sampling अवधि ms मा, 1 देखि 65535 सम्म

uint16_t

अवधि मिलिसेकेन्ड

Sampling अवधि एमएस मा।

uint16_t

नम्बरOfSampलेस

Sampलेस रकम।

uint16_t

preTriggerNumberOfSampलेस

Samples पूर्व ट्रिगर रकम।

bool

सफ्टवेयर कार्यान्वयन प्रयोग गर्दै

सफ्टवेयर कार्यान्वयन प्रयोग गर्नुहोस्।

bool

NewFWS प्रयोग गर्दैamplerImplementation को साथ यन्त्रहरूको लागि FW कार्यान्वयन प्रयोग गर्नुहोस्

FW संस्करण v24xx वा नयाँ।

SamplerMode

मोड

सामान्य, दोहोरिने वा निरन्तर sampलिंग

SamplerTriggerCondition ट्रिगर कन्डिशन

ट्रिगर सर्तहरू सुरु गर्नुहोस्: 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 GREA0 TC_GREATER_OR_EQUAL = 16x0 TC_LESS = 17x0 TC_LESS_OR_EQUAL = 18x0 TC_EQUAL = 19x0 TC_NOT_EQUAL = 1x0A TC_ONE_EDGE = 1x0B TC_MULTIx, ट्राइगर =CVEDGE,OD1al

SamplerTrigger

SamplerTrigger

को रूपमा सुरू गर्न ट्रिगरampler?

स्थिर सार्वजनिक विशेषताहरू
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
१० एसamplerसूचना गर्नुहोस्
s सक्रिय गर्न यो कक्षा प्रयोग गर्नुहोस्ampler अधिसूचनाहरू जब तपाइँ सुरु गर्नुहुन्छampler वर्गमा निम्न सार्वजनिक सदस्य कार्यहरू छन्।

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

56

8 वर्ग / प्रकार्य सन्दर्भ

सूचित गर्नुहोस् ()
सूचना प्रविष्टि प्रदान गर्दछ।
भर्चुअल शून्य nlc::SamplerNotify::notify (const ResultVoid & lastError, const Samplerराज्य samplerState, const std::vector <SampleData> र sampleDatas, int64_t applicationData)

प्यारामिटरहरू [in] lastError [in] samplerराज्य
[मा] सेampleDatas [in] applicationdata

पछिल्लो त्रुटि भएको रिपोर्ट गर्दछ जबकि sampling एस रिपोर्ट गर्दछampअधिसूचनाको समयमा ler स्थिति: कन्फिगर गरिएको / कन्फिगर गरिएको / तयार / चलिरहेको / पूरा / असफल / रद्द। एस रिपोर्ट गर्दछampनेतृत्व-डेटा एरे। अनुप्रयोग-विशेष डेटा रिपोर्ट गर्दछ।

१० एसampleData संरचना

यस संरचनाले s समावेश गर्दछampनेतृत्व डाटा।

uin64_t पुनरावृत्ति नम्बर

० मा सुरु हुन्छ र दोहोरिने मोडमा मात्र बढ्छ।

std::vector<SampledValues> s को he array समावेश गर्दछampनेतृत्व मूल्यहरू।

१० एसampledValue संरचना

यस संरचनाले s समावेश गर्दछampनेतृत्व मूल्यहरू।

in64_t मान uin64_t CollectTimeMsec

ट्र्याक गरिएको OD ठेगानाको मान समावेश गर्दछ।
सङ्कलन समय मिलिसेकेन्डमा समावेश गर्दछ, s सापेक्षampसुरुवात।

१० एसamplerTrigger संरचना

यो संरचनाले s को ट्रिगर सेटिङहरू समावेश गर्दछampलेर।

SamplerTriggerCondition अवस्था
OdIndex uin32_t मान

ट्रिगर अवस्था:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 = GRTC_0 TC_GREATER_OR_EQUAL = 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_1B =C_MULTI_0
ट्रिगरको OdIndex (ठेगाना)।
सर्त मान वा बिट नम्बर (बिट शून्यबाट सुरु हुँदै)।

8.40 क्रमिक संरचना

यहाँ आफ्नो धारावाहिक संचार विकल्पहरू र निम्न सार्वजनिक विशेषताहरू फेला पार्नुहोस्:

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = "सीरियल बाउड रेट" बाउडरेट = सिरियल बाउडरेट संरचना

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

57

8 वर्ग / प्रकार्य सन्दर्भ

const std::string const SerialParity

PARITY_OPTIONS_NAME = "सीरियल समानता" समानता = क्रमिक समानता संरचना

8.41 SerialBaudRate संरचना

यहाँ आफ्नो सीरियल संचार बाउड दर र निम्न सार्वजनिक विशेषताहरू फेला पार्नुहोस्:

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 "BAUD_RATE_56000" 57600 = "57600" BAUD_RATE_115200 = "115200" BAUD_RATE_128000 = "128000" BAUD_RATE_256000 = "256000"

8.42 SerialParity संरचना

यहाँ आफ्नो क्रमिक समानता विकल्पहरू र निम्न सार्वजनिक विशेषताहरू फेला पार्नुहोस्:

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

NONE = "कुनै पनि" ODD = "विचित्र" EVEN = "सम" मार्क = "चिह्न" स्पेस = "स्पेस"

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

58

२.२.१ इजाजतपत्रहरू

२.२.१ इजाजतपत्रहरू

NanoLib API इन्टरफेस हेडर र पूर्वample स्रोत कोड क्रिएटिभ कमन्स एट्रिब्युसन 3.0 अनपोर्टेड लाइसेन्स (CC BY) अन्तर्गत Nanotec Electronic GmbH & Co. KG द्वारा इजाजतपत्र प्राप्त गरिएको छ। बाइनरी ढाँचामा उपलब्ध गराइएका पुस्तकालयका भागहरू (कोर र फिल्डबस सञ्चार पुस्तकालयहरू) क्रिएटिभ कमन्स एट्रिब्युशननोडेरिभेटिभ 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

एट्रिब्युसन: तपाईंले उपयुक्त क्रेडिट दिनै पर्छ, एट्रिब्युशन: बाँया हेर्नुहोस्। तर: यसको लिङ्क प्रदान गर्नुहोस्

इजाजतपत्रको लिङ्क प्रदान गर्नुहोस्, र यदि संकेत गर्नुहोस्

अन्य इजाजतपत्र।

परिवर्तनहरू गरियो। तपाईं कुनै पनि मा यो गर्न सक्नुहुन्छ

कुनै डेरिभेटिभ छैन: यदि तपाइँ रिमिक्स, रूपान्तरण, वा निर्माण गर्नुहुन्छ

उचित तरिकाले, तर कुनै पनि तरिकाले सुझाव दिदैन-

सामग्रीमा, तपाईंले वितरण गर्न सक्नुहुन्न

इजाजतपत्रदाताले तपाईंलाई वा तपाईंको प्रयोगलाई समर्थन गर्छ भन्ने संकेत गर्छ।

परिमार्जित सामग्री।

कुनै अतिरिक्त प्रतिबन्धहरू छैनन्: तपाईंले लागू गर्न सक्नुहुन्न कुनै अतिरिक्त प्रतिबन्धहरू छैनन्: बाँया हेर्नुहोस्। कानूनी सर्तहरू वा प्राविधिक उपायहरू जुन कानुनी रूपमा

अरूलाई लाइसेन्स गर्नबाट रोक्नुहोस्

अनुमति दिन्छ।

नोट: तपाईंले सार्वजनिक डोमेनमा वा तपाईंको प्रयोगलाई लागू अपवाद वा सीमाद्वारा अनुमति दिइएको सामग्रीको तत्वहरूको लागि इजाजतपत्रको पालना गर्नुपर्दैन।
नोट: कुनै वारेन्टी दिइएको छैन। इजाजतपत्रले तपाइँलाई तपाइँको अभिप्रेत प्रयोगको लागि आवश्यक सबै अनुमतिहरू नदिन सक्छ। पूर्वका लागिample, अन्य अधिकारहरू जस्तै प्रचार, गोपनीयता, वा नैतिक अधिकारहरूले तपाईंले सामग्री प्रयोग गर्ने तरिकालाई सीमित गर्न सक्छ।

संस्करण: कागजात 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

+ थपियो > परिवर्तन गरिएको # निश्चित > प्रदान गरिएको पूर्वको पुन: कार्यampलेस।
+ NanoLib Modbus: Modbus VCP को लागि यन्त्र लक गर्ने संयन्त्र थपियो। # NanoLib कोर: निश्चित जडान स्थिति जाँच। # NanoLib कोड: बस हार्डवेयर सन्दर्भ हटाउने सही।
+ NanoLib-CANopen: Peak PCAN-USB एडाप्टर (IPEH-002021/002022) को लागि समर्थन।
> NanoLib कोर: लगिङ कलब्याक इन्टरफेस परिवर्तन गरियो (LogLevel LogModule द्वारा प्रतिस्थापित)। # NanoLib Logger: कोर र मोड्युलहरू बीचको विभाजन सच्याइयो। # Modbus TCP: FW4 को लागि निश्चित फर्मवेयर अपडेट। # EtherCAT: Core5 को लागि निश्चित NanoJ कार्यक्रम अपलोड। # EtherCAT: Core5 को लागि निश्चित फर्मवेयर अपडेट।
# Modbus RTU: फर्मवेयर अपडेटको बखत कम बाउड दरहरूको साथ निश्चित समय समस्याहरू। # आरामदायी: स्थिर NanoJ कार्यक्रम अपलोड।
# NanoLib मोड्युल एसampler: s को सही पठनampनेतृत्व बुलियन मानहरू।
+ जाभा ११ सबै प्लेटफर्महरूको लागि समर्थन। + पाइथन 11/3.11 सबै प्लेटफर्महरूको लागि समर्थन। + नयाँ लगिङ कलब्याक इन्टरफेस (पूर्व हेर्नुहोस्ampलेस)। + NanoLib Logger को लागि कलब्याक सिंक। > संस्करण १.१२.० मा लगर अपडेट गर्नुहोस्। > NanoLib मोड्युल एसampler: Nanotec नियन्त्रक फर्मवेयर v24xx को लागी अब समर्थन गर्नुहोस्। > NanoLib मोड्युल एसampler: s को लागि प्रयोग गरिएको संरचनामा परिवर्तनampler कन्फिगरेसन। > NanoLib मोड्युल एसampler: निरन्तर मोड अनन्तको पर्यायवाची हो; ट्रिगर अवस्था एक पटक जाँच गरिएको छ; s को संख्याamples 0 हुनुपर्छ। > NanoLib Modules Sampler: फर्मवेयर मोडमा डाटा सङ्कलन गर्ने थ्रेडको लागि सामान्य प्राथमिकता। > NanoLib मोड्युल एसampler: तयार र चलिरहेको अवस्था बीच संक्रमण पत्ता लगाउन पुन: लेखिएको एल्गोरिदम। # NanoLib कोर: उही बस हार्डवेयर प्रयोग गरेर 0 वा बढी यन्त्रहरू बन्द गर्दा थप पहुँच उल्लङ्घन (0000005xC2) छैन। # NanoLib कोर: लिनक्स अन्तर्गत PEAK एडेप्टर संलग्न गर्नमा थप विभाजन दोष छैन। # NanoLib मोड्युल एसampler: सही sampफर्मवेयर मोडमा नेतृत्व-मानहरू पढ्दै। # NanoLib मोड्युल एसampler: 502X:04 को सही कन्फिगरेसन। # NanoLib मोड्युल एसampler: च्यानलहरूसँग बफरहरूको सही मिश्रण। # NanoLib-Canopen: बलियोता र तल्लो बाउड्रेट्समा सही स्क्यानिङको लागि CAN टाइमआउट बढाइएको छ। # NanoLib-Modbus: विशेष उपकरणहरूको लागि VCP पत्ता लगाउने एल्गोरिथ्म (USB-DA-IO)।
+ EtherCAT समर्थन।
+ तपाईंको परियोजना कन्फिगरमा VS परियोजना सेटिङहरूमा नोट गर्नुहोस्।
+ getDeviceHardwareGroup ()। + getProfinetDCP (isServiceAvailable)। + getProfinetDCP (प्रमाणीकरण ProfinetDeviceIp)। + autoAssignObjectDictionary ()। + getXmlFileनाम ()। + const std::string र xmlFileAddObjectDictionary () मा पथ + getSamplerInterface ()।

उत्पादन 1.3.0 1.2.1 1.2.0 1.1.3
१३०० ५५६ ८१६
1.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

60

10 छाप, सम्पर्क, संस्करणहरू

कागजात
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05

+ थपियो > परिवर्तन # स्थिर + rebootDevice ()। + त्रुटि कोड संसाधन getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, र ~Uid को लागि उपलब्ध छैन। > फर्मवेयरअपलोडबाटFile अब FirmwareFrom अपलोड गर्नुहोस्File () > फर्मवेयरअपलोड () अब फर्मवेयर () अपलोड गर्नुहोस्। > bootloaderUploadFromFile () अब बुटलोडरबाट अपलोड गर्नुहोस्File () > बूटलोडरअपलोड () अब अपलोड गर्नुहोस्बुटलोडर ()। > bootloaderFirmwareUploadFromFile () बूटलोडर फर्मवेयरबाट अपलोड गर्नFile () > bootloaderFirmwareUpload () अब अपलोड गर्नुहोस्BootloaderFirmware ()। > nanojUploadFromFile () अब अपलोड गर्नुहोस् NanoJFromFile () > nanojUpload () अब अपलोड गर्नुहोस्NanoJ ()। > objectDictionaryLibrary () अब प्राप्त गर्नुहोस्ObjectDictionaryLibrary ()। > String_String_Map अब StringStringMap। > NanoLib-Common: Ixxat एडाप्टरको साथ listAvailableBusHardware र openBusHardwareWithProtocol को छिटो कार्यान्वयन। > NanoLib-CANopen: पूर्वनिर्धारित सेटिङहरू प्रयोग गरिन्छ (1000k baudrate, Ixxat बस नम्बर 0) यदि बस हार्डवेयर विकल्पहरू खाली छन्। > NanoLib-RESTful: यदि npcap / winpcap चालक उपलब्ध छ भने Windows अन्तर्गत इथरनेट बुटलोडरहरूसँग सञ्चारको लागि प्रशासक अनुमति अप्रचलित छ। # NanoLib-CANopen: बस हार्डवेयर अब खाली विकल्पहरूको साथ क्र्याशलेस खोल्छ। # NanoLib-Common: openBusHardwareWithProtocol () अब कुनै मेमोरी लीक बिना।
+ लिनक्स ARM64 समर्थन। + USB मास भण्डारण / REST / Profinet DCP समर्थन। + जडान राज्य () जाँच गर्नुहोस्। + getDeviceBootloaderVersion ()। + ResultProfinetDevices। + NlcErrorCode (NanotecExceptions प्रतिस्थापित)। + NanoLib Modbus: VCP / USB हब USB मा एकीकृत। > Modbus TCP स्क्यानिङ परिणामहरू फर्काउँछ। < Modbus TCP संचार विलम्बता स्थिर रहन्छ।
+ अधिक ObjectEntryDataType (जटिल र प्रोfile-विशिष्ट)। + IOError फिर्ता यदि connectDevice () र scanDevices () कुनै पनि फेला पर्दैन। + CanOpen / Modbus को लागि केवल 100 ms नाममात्र टाइमआउट।
+ Modbus समर्थन (प्लस USB हब VCP मार्फत)। + अध्याय तपाईंको आफ्नै लिनक्स परियोजना सिर्जना गर्दै। + extraHardwareSpecifier को BusHardwareId ()। + extraId_ र extraStringId_ लाई DeviceId () मा।
+ setBusState ()। + getDeviceBootloaderBuildId ()। + getDeviceFirmwareBuildId ()। + getDeviceHardwareVersion ()। # बग फिक्सहरू।
संस्करण।

उत्पादन
५४ ५६.२५ ६७.५ ११२.५ १३५

संस्करण: कागजात 1.4.2 / NanoLib 1.3.0

61

कागजातहरू / स्रोतहरू

Nanotic NanoLib C++ प्रोग्रामिङ [pdf] प्रयोगकर्ता पुस्तिका
NanoLib C प्रोग्रामिंग, C प्रोग्रामिंग, प्रोग्रामिंग

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *