నానోటిక్-లోగో

నానోటిక్ నానోలిబ్ C++ ప్రోగ్రామింగ్

నానోటిక్-నానోలిబ్-C++-ప్రోగ్రామింగ్-PRODUCT

ఉత్పత్తి సమాచారం

స్పెసిఫికేషన్లు

  • ఉత్పత్తి పేరు: నానోలిబ్
  • ప్రోగ్రామింగ్ భాష: C++
  • ఉత్పత్తి వెర్షన్: 1.3.0
  • వినియోగదారు మాన్యువల్ వెర్షన్: 1.4.2

నానోటెక్ కంట్రోలర్‌ల కోసం ప్రోగ్రామింగ్ కంట్రోల్ సాఫ్ట్‌వేర్ కోసం నానోలిబ్ లైబ్రరీ రూపొందించబడింది. ఇది నియంత్రణ అప్లికేషన్‌ల అభివృద్ధిని సులభతరం చేయడానికి వినియోగదారు ఇంటర్‌ఫేస్, కోర్ కార్యాచరణలు మరియు కమ్యూనికేషన్ లైబ్రరీలను అందిస్తుంది.

ఉత్పత్తి వినియోగ సూచనలు

  • మీరు ప్రారంభించడానికి ముందు:
    • మీ సిస్టమ్ మాన్యువల్‌లో పేర్కొన్న హార్డ్‌వేర్ అవసరాలకు అనుగుణంగా ఉందని నిర్ధారించుకోండి. ఈ ఉత్పత్తి కోసం ఉద్దేశించిన ప్రేక్షకులలో నానోటెక్ కంట్రోలర్‌ల కోసం నియంత్రణ సాఫ్ట్‌వేర్‌ను రూపొందించాలని చూస్తున్న డెవలపర్‌లు ఉన్నారు.
  • ప్రారంభించడం:
    • నానోలిబ్ ఉపయోగించడం ప్రారంభించడానికి, ఈ దశలను అనుసరించండి:
    • మీ ప్రాజెక్ట్‌లోకి నానోలిబ్‌ను దిగుమతి చేసుకోవడం ద్వారా ప్రారంభించండి.
    • మీ ప్రాజెక్ట్ సెట్టింగ్‌లను అవసరమైన విధంగా కాన్ఫిగర్ చేయండి.
    • నానోలిబ్ కార్యాచరణలను చేర్చడానికి మీ ప్రాజెక్ట్‌ను రూపొందించండి.
  • ప్రాజెక్టులను సృష్టించడం:
    • మీరు Windows మరియు Linux వాతావరణాల కోసం ప్రాజెక్టులను సృష్టించవచ్చు. ప్రతి ప్లాట్‌ఫామ్ కోసం మాన్యువల్‌లో అందించిన నిర్దిష్ట సూచనలను అనుసరించండి.
  • తరగతులు / విధులు సూచన:
    • ప్రోగ్రామింగ్ కంట్రోల్ సాఫ్ట్‌వేర్ కోసం నానోలిబ్‌లో అందుబాటులో ఉన్న తరగతులు మరియు ఫంక్షన్‌లపై వివరణాత్మక గైడ్ కోసం యూజర్ మాన్యువల్‌ని చూడండి.

తరచుగా అడిగే ప్రశ్నలు

  • ప్ర: నానోలిబ్ యొక్క ఉద్దేశ్యం ఏమిటి?
    • A: నానోలిబ్ అనేది నానోటెక్ కంట్రోలర్‌ల కోసం ప్రోగ్రామింగ్ కంట్రోల్ సాఫ్ట్‌వేర్ కోసం ఒక లైబ్రరీ, ఇది అవసరమైన కార్యాచరణలు మరియు కమ్యూనికేషన్ సామర్థ్యాలను అందిస్తుంది.
  • ప్ర: నేను నానోలిబ్‌తో ఎలా ప్రారంభించగలను?
    • A: మీ ప్రాజెక్ట్‌లోకి నానోలిబ్‌ను దిగుమతి చేసుకోవడం, ప్రాజెక్ట్ సెట్టింగ్‌లను కాన్ఫిగర్ చేయడం మరియు నానోలిబ్ లక్షణాలను ఉపయోగించుకునేలా మీ ప్రాజెక్ట్‌ను నిర్మించడం ద్వారా ప్రారంభించండి.

"`

వినియోగదారు మాన్యువల్ నానోలిబ్
C++

ఉత్పత్తి వెర్షన్ 1.3.0తో చెల్లుబాటు అవుతుంది

వినియోగదారు మాన్యువల్ వెర్షన్: 1.4.2

డాక్యుమెంట్ లక్ష్యం మరియు సమావేశాలు

ఈ పత్రం నానోలిబ్ లైబ్రరీ యొక్క సెటప్ మరియు వినియోగాన్ని వివరిస్తుంది మరియు నానోటెక్ కంట్రోలర్‌ల కోసం మీ స్వంత నియంత్రణ సాఫ్ట్‌వేర్‌ను ప్రోగ్రామింగ్ చేయడానికి అన్ని తరగతులు మరియు ఫంక్షన్‌లకు సూచనను కలిగి ఉంటుంది. మేము ఈ క్రింది టైప్‌ఫేస్‌లను ఉపయోగిస్తాము:
అండర్‌లైన్ చేసిన వచనం క్రాస్ రిఫరెన్స్ లేదా హైపర్‌లింక్‌ను సూచిస్తుంది.
Example 1: NanoLibAccessor పై ఖచ్చితమైన సూచనల కోసం, సెటప్ చూడండి. ఉదాample 2: Ixxat డ్రైవర్‌ను ఇన్‌స్టాల్ చేయండి మరియు CAN-to-USB అడాప్టర్‌ను కనెక్ట్ చేయండి. ఇటాలిక్ టెక్స్ట్ అంటే: ఇది పేరు పెట్టబడిన వస్తువు, మెను పాత్ / ఐటెమ్, ట్యాబ్ / file పేరు లేదా (అవసరమైతే) విదేశీ భాషా వ్యక్తీకరణ.
Example 1: ఎంచుకోండి File > కొత్త > ఖాళీ పత్రం. టూల్ ట్యాబ్‌ని తెరిచి, వ్యాఖ్యను ఎంచుకోండి. ఉదాample 2: ఈ పత్రం వినియోగదారులను (= నట్జర్; usuario; utente; utilisateur; utente మొదలైనవి) నుండి విభజిస్తుంది:
– థర్డ్-పార్టీ యూజర్ (= డ్రిట్‌నట్జర్; టెర్సెరో యుసువారియో; టెర్సీరో యుటెంటే; టైర్స్ యుటిలిసేచర్; టెర్జో ఉటెంటే మొదలైనవి). – తుది వినియోగదారు (= Endnutzer; usuario final; utente final; utilisateur final; utente finale etc.).
కొరియర్ కోడ్ బ్లాక్‌లు లేదా ప్రోగ్రామింగ్ ఆదేశాలను సూచిస్తుంది. ఉదాample 1: బాష్ ద్వారా, భాగస్వామ్య వస్తువులను కాపీ చేయడానికి ఇన్‌స్టాల్ చేయడానికి కాల్ చేయండి; అప్పుడు ldconfig కాల్ చేయండి. ఉదాample 2: NanoLibలో లాగింగ్ స్థాయిని మార్చడానికి క్రింది NanoLibAccessor ఫంక్షన్‌ని ఉపయోగించండి:
// ***** C++ వేరియంట్ *****
శూన్యమైన సెట్ లాగింగ్ లెవెల్ (లాగ్ లెవెల్ స్థాయి);
బోల్డ్ టెక్స్ట్ క్లిష్టమైన ప్రాముఖ్యత కలిగిన వ్యక్తిగత పదాలను నొక్కి చెబుతుంది. ప్రత్యామ్నాయంగా, బ్రాకెట్ చేసిన ఆశ్చర్యార్థక గుర్తులు క్లిష్టమైన(!) ప్రాముఖ్యతను నొక్కి చెబుతాయి.
Example 1: మిమ్మల్ని, ఇతరులను మరియు మీ పరికరాలను రక్షించుకోండి. అన్ని నానోటెక్ ఉత్పత్తులకు సాధారణంగా వర్తించే మా సాధారణ భద్రతా గమనికలను అనుసరించండి.
Example 2: మీ స్వంత రక్షణ కోసం, ఈ నిర్దిష్ట ఉత్పత్తికి వర్తించే నిర్దిష్ట భద్రతా గమనికలను కూడా అనుసరించండి. సహ-క్లిక్ చేయడానికి క్రియ అంటే సందర్భ మెనుని తెరవడానికి ద్వితీయ మౌస్ కీ ద్వారా క్లిక్ చేయడం మొదలైనవి.
Example 1: పై సహ-క్లిక్ చేయండి file, పేరు మార్చు ఎంచుకోండి మరియు పేరు మార్చండి file. ఉదాample 2: లక్షణాలను తనిఖీ చేయడానికి, దానిపై సహ-క్లిక్ చేయండి file మరియు ఎంచుకోండి గుణాలు.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

4

మీరు ప్రారంభించడానికి ముందు

మీరు నానోలిబ్‌ని ఉపయోగించడం ప్రారంభించే ముందు, మీ PCని సిద్ధం చేసుకోండి మరియు ఉద్దేశించిన ఉపయోగం మరియు లైబ్రరీ పరిమితుల గురించి మీకు తెలియజేయండి.
2.1 సిస్టమ్ మరియు హార్డ్‌వేర్ అవసరాలు

నానోటిక్-నానోలిబ్-సి++-ప్రోగ్రామింగ్-FIG- (1)
32-బిట్ ఆపరేషన్ లేదా నిలిపివేయబడిన సిస్టమ్ నుండి పనిచేయకపోవడం గమనించండి! 64-బిట్ సిస్టమ్‌ను ఉపయోగించండి మరియు స్థిరంగా నిర్వహించండి. OEM నిలిపివేతలు మరియు ~సూచనలను గమనించండి.

NanoLib 1.3.0 CANopen, Modbus RTU (వర్చువల్ com పోర్ట్‌లో USB కూడా), Modbus TCP, EtherCat మరియు Profinetతో కూడిన అన్ని Nanotec ఉత్పత్తులకు మద్దతు ఇస్తుంది. పాత NanoLibs కోసం: ఇంప్రింట్‌లో చేంజ్‌లాగ్‌ను చూడండి. మీ ప్రమాదంలో మాత్రమే: లెగసీ-సిస్టమ్ ఉపయోగం. గమనిక: FTDI-ఆధారిత USB అడాప్టర్‌ను ఉపయోగిస్తున్నప్పుడు మీరు సమస్యలను ఎదుర్కొంటే జాప్యాన్ని వీలైనంత తక్కువగా సెట్ చేయడానికి చెల్లుబాటు అయ్యే OEM సూచనలను అనుసరించండి.

అవసరాలు (64-బిట్ సిస్టమ్ తప్పనిసరి)
Windows 10 లేదా 11 w/ Visual Studio 2019 వెర్షన్ 16.8 లేదా తరువాత మరియు Windows SDK 10.0.20348.0 (వెర్షన్ 2104) లేదా తరువాత
C++ పునఃపంపిణీలు 2017 లేదా అంతకంటే ఎక్కువ CANopen: Ixxat VCI లేదా PCAN ప్రాథమిక డ్రైవర్ (ఐచ్ఛికం) EtherCat మాడ్యూల్ / Profinet DCP: Npcap లేదా WinPcap RESTful మాడ్యూల్: Npcap, WinPcap, లేదా నిర్వాహక అనుమతి
ఈథర్నెట్ బూట్‌లోడర్‌లతో కమ్యూనికేట్ చేయండి
ఉబుంటు 20.04 LTS నుండి 24 వరకు Linux (అన్నీ x64 మరియు arm64)
కెర్నల్ హెడర్లు మరియు libpopt-dev ప్యాకెట్ Profinet DCP: CAP_NET_ADMIN మరియు CAP_NET_RAW సామర్థ్యం-
టైస్ CANopen: Ixxat ECI డ్రైవర్ లేదా పీక్ PCAN-USB అడాప్టర్ EtherCat: CAP_NET_ADMIN, CAP_NET_RAW మరియు
CAP_SYS_NICE సామర్థ్యాలు RESTful: CAP_NET_ADMIN Eth- తో కమ్యూనికేట్ చేయగల సామర్థ్యం.
ernet బూట్‌లోడర్లు (ఇవి కూడా సిఫార్సు చేయబడ్డాయి: CAP_NET_RAW)

భాష, ఫీల్డ్‌బస్ అడాప్టర్లు, కేబుల్స్
C++ GCC 7 లేదా అంతకంటే ఎక్కువ (Linux)
ఈథర్‌కాట్: ఈథర్‌నెట్ కేబుల్ VCP / USB హబ్: ఇప్పుడు యూనిఫాం USB USB మాస్ స్టోరేజ్: USB కేబుల్ REST: ఈథర్‌నెట్ కేబుల్ CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, పీక్ PCANUSB అడాప్టర్ arm64 లో ఉబుంటుకు Ixxat మద్దతు లేదు
మోడ్‌బస్ RTU: నానోటెక్ ZK-USB-RS485-1 లేదా సమానమైన అడాప్టర్; వర్చువల్ కామ్ పోర్ట్ (VCP) పై USB కేబుల్
మోడ్‌బస్ TCP: ఉత్పత్తి డేటాషీట్ ప్రకారం ఈథర్నెట్ కేబుల్

2.2 ఉద్దేశించిన ఉపయోగం మరియు ప్రేక్షకులు
NanoLib అనేది విస్తృత శ్రేణి పారిశ్రామిక అనువర్తనాల్లో మరియు తగిన నైపుణ్యం కలిగిన ప్రోగ్రామర్‌ల కోసం మాత్రమే నానోటెక్ కంట్రోలర్‌ల నిర్వహణ మరియు కమ్యూనికేషన్ కోసం ప్రోగ్రామ్ లైబ్రరీ మరియు సాఫ్ట్‌వేర్ భాగం.
రియల్-టైమ్ అసమర్థ హార్డ్‌వేర్ (PC) మరియు ఆపరేటింగ్ సిస్టమ్ కారణంగా, సింక్రోనస్ మల్టీ-యాక్సిస్ కదలిక అవసరమయ్యే లేదా సాధారణంగా సమయ-సున్నితంగా ఉండే అప్లికేషన్‌లలో నానోలిబ్ ఉపయోగించడానికి అనుకూలంగా ఉండదు.
ఎట్టి పరిస్థితుల్లోనూ మీరు నానోలిబ్‌ను ఒక ఉత్పత్తి లేదా వ్యవస్థలో భద్రతా భాగంగా అనుసంధానించకూడదు. తుది వినియోగదారులకు డెలివరీ చేసేటప్పుడు, మీరు నానోటెక్ తయారు చేసిన భాగంతో ప్రతి ఉత్పత్తికి సురక్షితమైన ఉపయోగం మరియు సురక్షితమైన ఆపరేషన్ కోసం సంబంధిత హెచ్చరిక నోటీసులు మరియు సూచనలను జోడించాలి. మీరు నానోటెక్ జారీ చేసిన అన్ని హెచ్చరిక నోటీసులను తుది వినియోగదారుకు పంపాలి.
2.3 డెలివరీ మరియు వారంటీ యొక్క పరిధి
NanoLib మన డౌన్‌లోడ్ నుండి *.zip ఫోల్డర్‌గా వస్తుంది webEMEA / APAC లేదా AMERICA కోసం సైట్. సెటప్ చేయడానికి ముందు మీ డౌన్‌లోడ్‌ని సరిగ్గా నిల్వ చేయండి మరియు అన్జిప్ చేయండి. నానోలిబ్ ప్యాకేజీ వీటిని కలిగి ఉంటుంది:

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

5

2 మీరు ప్రారంభించడానికి ముందు

సోర్స్ కోడ్ (API) గా ఇంటర్‌ఫేస్ హెడర్‌లు

బైనరీ ఫార్మాట్‌లో లైబ్రరీలుగా కోర్ విధులు: నానో-

కమ్యూనికేషన్‌ను సులభతరం చేసే లైబ్రరీలు: nanolibm_ lib.dll

[మీఫీల్డ్‌బస్].dll మొదలైనవి.

Exampప్రాజెక్ట్: ఉదాample.sln (విజువల్ స్టూడియో)

ప్రాజెక్ట్) మరియు ఉదాample.cpp (ప్రధాన file)

వారంటీ పరిధి కోసం, దయచేసి a) EMEA / APAC లేదా AMERICA కోసం మా నిబంధనలు మరియు షరతులను మరియు b) అన్ని లైసెన్స్ నిబంధనలను గమనించండి. గమనిక: మూడవ పక్ష పరికరాల లోపభూయిష్ట లేదా అనుచిత నాణ్యత, నిర్వహణ, సంస్థాపన, ఆపరేషన్, ఉపయోగం మరియు నిర్వహణకు నానోటెక్ బాధ్యత వహించదు! తగిన భద్రత కోసం, ఎల్లప్పుడూ చెల్లుబాటు అయ్యే OEM సూచనలను అనుసరించండి.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

6

నానోలిబ్ ఆర్కిటెక్చర్

నానోలిబ్ యొక్క మాడ్యులర్ సాఫ్ట్‌వేర్ నిర్మాణం మీరు ఖచ్చితంగా ముందుగా నిర్మించిన కోర్ చుట్టూ ఉచితంగా అనుకూలీకరించదగిన మోటార్ కంట్రోలర్ / ఫీల్డ్‌బస్ ఫంక్షన్‌లను ఏర్పాటు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. NanoLib కింది మాడ్యూళ్లను కలిగి ఉంది:

వినియోగదారు ఇంటర్‌ఫేస్ (API)

నానోలిబ్ కోర్

ఇంటర్ఫేస్ మరియు సహాయక తరగతులు ఏ లైబ్రరీలు

కమ్యూనికేషన్ లైబ్రరీలు ఫీల్డ్‌బస్-నిర్దిష్ట లైబ్రరీలు

NanoLib మధ్య API ఫంక్షనాలిటీ డూ ఇంటర్‌ఫేస్‌ను మీ కంట్రోలర్‌ను అమలు చేయడానికి మిమ్మల్ని యాక్సెస్ చేస్తుంది

OD (వస్తువు నిఘంటువు)

బస్ లైబ్రరీలతో సంభాషించండి.

కోర్ మరియు బస్ హార్డ్‌వేర్.

నానోలిబ్ కోర్ ఫంక్ ఆధారంగా-

జాతీయతలు.

3.1 వినియోగదారు ఇంటర్‌ఫేస్

వినియోగదారు ఇంటర్‌ఫేస్ హెడర్ ఇంటర్‌ఫేస్‌ను కలిగి ఉంటుంది fileకంట్రోలర్ పారామితులను యాక్సెస్ చేయడానికి మీరు ఉపయోగించవచ్చు. క్లాసులు / ఫంక్షన్ల సూచనలో వివరించిన విధంగా యూజర్ ఇంటర్‌ఫేస్ తరగతులు మిమ్మల్ని వీటిని అనుమతిస్తాయి:
హార్డ్‌వేర్ (ఫీల్డ్‌బస్ అడాప్టర్) మరియు కంట్రోలర్ పరికరం రెండింటికీ కనెక్ట్ చేయండి. కంట్రోలర్ పారామితులను చదవడానికి/వ్రాయడానికి పరికరం యొక్క ODని యాక్సెస్ చేయండి.

3.2 నానోలిబ్ కోర్

నానోలిబ్ కోర్ ఇంపోర్ట్ లైబ్రరీ nanolib.lib తో వస్తుంది. ఇది యూజర్ ఇంటర్‌ఫేస్ కార్యాచరణను అమలు చేస్తుంది మరియు దీనికి బాధ్యత వహిస్తుంది:
కమ్యూనికేషన్ లైబ్రరీలను లోడ్ చేయడం మరియు నిర్వహించడం. నానోలిబ్యాక్సెసర్‌లో యూజర్ ఇంటర్‌ఫేస్ కార్యాచరణలను అందించడం. ఈ కమ్యూనికేషన్ ఎంట్రీ పాయింట్ డి-
NanoLib కోర్ మరియు కమ్యూనికేషన్ లైబ్రరీలలో మీరు అమలు చేయగల కార్యకలాపాల సమితికి జరిమానా విధించబడుతుంది.

3.3 కమ్యూనికేషన్ లైబ్రరీలు

nanotec.services.nanolib.dllతో పాటు (మీ ఐచ్ఛిక ప్లగ్ & డ్రైవ్ స్టూడియోకి ఉపయోగపడుతుంది), NanoLib కింది కమ్యూనికేషన్ లైబ్రరీలను అందిస్తుంది:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

నానోలిబ్మ్_usbmmsc.dll నానోలిబ్మ్_ప్రొఫైనెట్.డిఎల్

అన్ని లైబ్రరీలు కోర్ మరియు కంట్రోలర్ మధ్య హార్డ్‌వేర్ సంగ్రహణ పొరను వేస్తాయి. కోర్ వాటిని నియమించబడిన ప్రాజెక్ట్ ఫోల్డర్ నుండి ప్రారంభంలో లోడ్ చేస్తుంది మరియు సంబంధిత ప్రోటోకాల్ ద్వారా కంట్రోలర్‌తో కమ్యూనికేషన్‌ను ఏర్పాటు చేయడానికి వాటిని ఉపయోగిస్తుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

7

ప్రారంభించడం

మీ ఆపరేటింగ్ సిస్టమ్ కోసం నానోలిబ్‌ని ఎలా సెటప్ చేయాలి మరియు అవసరమైన విధంగా హార్డ్‌వేర్‌ను ఎలా కనెక్ట్ చేయాలో చదవండి.
4.1 మీ సిస్టమ్‌ను సిద్ధం చేయండి
అడాప్టర్ డ్రైవర్లను ఇన్‌స్టాల్ చేసే ముందు, ముందుగా మీ PCని ఆపరేటింగ్ సిస్టమ్‌తో పాటు సిద్ధం చేసుకోండి. మీ Windows OSతో పాటు PCని సిద్ధం చేయడానికి, C++ ఎక్స్‌టెన్షన్‌లతో MS విజువల్ స్టూడియోని ఇన్‌స్టాల్ చేయండి. Linux Bash ద్వారా make మరియు gccని ఇన్‌స్టాల్ చేయడానికి, sudo apt ఇన్‌స్టాల్ బిల్డ్-ఎసెన్షియల్స్‌కు కాల్ చేయండి. ఆపై NanoLibని ఉపయోగించే అప్లికేషన్ కోసం CAP_NET_ADMIN, CAP_NET_RAW మరియు CAP_SYS_NICE సామర్థ్యాలను ప్రారంభించండి: 1. sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'కి కాల్ చేయండి.
పేరు>. 2. అప్పుడు మాత్రమే, మీ అడాప్టర్ డ్రైవర్‌లను ఇన్‌స్టాల్ చేయండి.
4.2 Windows కోసం Ixxat అడాప్టర్ డ్రైవర్‌ను ఇన్‌స్టాల్ చేయండి
డ్రైవర్ ఇన్‌స్టాలేషన్ తర్వాత మాత్రమే, మీరు Ixxat యొక్క USB-to-CAN V2 అడాప్టర్‌ను ఉపయోగించవచ్చు. వర్చువల్ కంపోర్ట్ (VCP)ని ఎలా యాక్టివేట్ చేయాలో తెలుసుకోవడానికి USB డ్రైవ్‌ల ఉత్పత్తి మాన్యువల్‌ని చదవండి. 1. Windows కోసం Ixxat యొక్క VCI 4 డ్రైవర్‌ను డౌన్‌లోడ్ చేసి ఇన్‌స్టాల్ చేయండి www.ixxat.com. 2. Ixxat యొక్క USB-to-CAN V2 కాంపాక్ట్ అడాప్టర్‌ను USB ద్వారా PCకి కనెక్ట్ చేయండి. 3. పరికర నిర్వాహకుడి ద్వారా: డ్రైవర్ మరియు అడాప్టర్ రెండూ సరిగ్గా ఇన్‌స్టాల్ చేయబడ్డాయా/గుర్తించబడ్డాయా అని తనిఖీ చేయండి.
4.3 Windows కోసం పీక్ అడాప్టర్ డ్రైవర్‌ను ఇన్‌స్టాల్ చేయండి
డ్రైవర్ ఇన్‌స్టాలేషన్ తర్వాత మాత్రమే, మీరు పీక్ యొక్క PCAN-USB అడాప్టర్‌ను ఉపయోగించవచ్చు. వర్చువల్ కంపోర్ట్ (VCP)ని ఎలా యాక్టివేట్ చేయాలో తెలుసుకోవడానికి USB డ్రైవ్‌ల ఉత్పత్తి మాన్యువల్‌ని చదవండి. 1. Windows పరికర డ్రైవర్ సెటప్‌ను డౌన్‌లోడ్ చేసి ఇన్‌స్టాల్ చేయండి (= పరికర డ్రైవర్లు, సాధనాలు మరియు
APIలు) నుండి 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* (* పరికర సంఖ్య) ద్వారా మీ అనుమతులు అవసరం. వర్చువల్ కంపోర్ట్ (VCP)ని ఎలా యాక్టివేట్ చేయాలో తెలుసుకోవడానికి USB డ్రైవ్‌ల ఉత్పత్తి మాన్యువల్‌ని చదవండి. 1. ECI డ్రైవర్ మరియు డెమో అప్లికేషన్‌కు అవసరమైన సాఫ్ట్‌వేర్‌ను ఇన్‌స్టాల్ చేయండి:
sudo apt-get update apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. www.ixxat.com నుండి ECI-for-Linux డ్రైవర్‌ను డౌన్‌లోడ్ చేసుకోండి. దానిని ఈ క్రింది విధంగా అన్జిప్ చేయండి:
eci_driver_linux_amd64.zip ని అన్జిప్ చేయండి
3. డ్రైవర్‌ను దీని ద్వారా ఇన్‌స్టాల్ చేయండి:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. డెమో అప్లికేషన్‌ను కంపైల్ చేసి ప్రారంభించడం ద్వారా విజయవంతమైన డ్రైవర్ ఇన్‌స్టాలేషన్ కోసం తనిఖీ చేయండి:
cd /EciLinux_amd/src/EciDemos/ sudo మేక్ cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

8

4 ప్రారంభించడం
4.5 Linux కోసం పీక్ అడాప్టర్ డ్రైవర్‌ను ఇన్‌స్టాల్ చేయండి
డ్రైవర్ ఇన్‌స్టాలేషన్ తర్వాత మాత్రమే, మీరు పీక్ యొక్క PCAN-USB అడాప్టర్‌ను ఉపయోగించవచ్చు. గమనిక: ఇతర మద్దతు ఉన్న అడాప్టర్‌లకు sudo chmod +777/dev/ttyACM* (* పరికర సంఖ్య) ద్వారా మీ అనుమతులు అవసరం. వర్చువల్ కంపోర్ట్ (VCP)ని ఎలా యాక్టివేట్ చేయాలో తెలుసుకోవడానికి USB డ్రైవ్‌ల ఉత్పత్తి మాన్యువల్‌ని చదవండి. 1. మీ Linuxలో కెర్నల్ హెడర్‌లు ఉన్నాయో లేదో తనిఖీ చేయండి: ls /usr/src/linux-headers-`uname -r`. లేకపోతే, ఇన్‌స్టాల్ చేయండి
అవి: sudo apt-get install linux-headers-`uname -r` 2. ఇప్పుడే, libpopt-dev ప్యాకెట్‌ను ఇన్‌స్టాల్ చేయండి: sudo apt-get install libpopt-dev 3. www.peak-system.com నుండి అవసరమైన డ్రైవర్ ప్యాకేజీని (peak-linux-driver-xxx.tar.gz) డౌన్‌లోడ్ చేసుకోండి. 4. దాన్ని అన్‌ప్యాక్ చేయడానికి, వీటిని ఉపయోగించండి: tar xzf peak-linux-driver-xxx.tar.gz 5. అన్‌ప్యాక్ చేయబడిన ఫోల్డర్‌లో: డ్రైవర్లు, PCAN బేస్ లైబ్రరీ మొదలైన వాటిని కంపైల్ చేసి ఇన్‌స్టాల్ చేయండి: అన్నీ తయారు చేయండి
sudo make install 6. ఫంక్షన్‌ను తనిఖీ చేయడానికి, PCAN-USB అడాప్టర్‌ను ప్లగ్ చేయండి.
a) కెర్నల్ మాడ్యూల్‌ను తనిఖీ చేయండి:
lsmod | grep pcan b) … మరియు షేర్డ్ లైబ్రరీ:
ls -l /usr/lib/libpcan*
గమనిక: USB3 సమస్యలు ఎదురైతే, USB2 పోర్ట్‌ని ఉపయోగించండి.
4.6 మీ హార్డ్‌వేర్‌ను కనెక్ట్ చేయండి
నానోలిబ్ ప్రాజెక్ట్‌ను అమలు చేయడానికి, మీ అడాప్టర్‌ని ఉపయోగించి అనుకూలమైన నానోటెక్ కంట్రోలర్‌ను PCకి కనెక్ట్ చేయండి. 1. తగిన కేబుల్ ద్వారా, మీ అడాప్టర్‌ను కంట్రోలర్‌కు కనెక్ట్ చేయండి. 2. అడాప్టర్ డేటా షీట్ ప్రకారం అడాప్టర్‌ను PCకి కనెక్ట్ చేయండి. 3. తగిన విద్యుత్ సరఫరాను ఉపయోగించి కంట్రోలర్‌ను ఆన్ చేయండి. 4. అవసరమైతే, దాని ఉత్పత్తి మాన్యువల్‌లో సూచించిన విధంగా నానోటెక్ కంట్రోలర్ యొక్క కమ్యూనికేషన్ సెట్టింగ్‌లను మార్చండి.
4.7 నానోలిబ్‌ని లోడ్ చేయండి
త్వరిత మరియు సులభమైన ప్రాథమిక అంశాలతో మొదటి ప్రారంభం కోసం, మీరు మా మాజీని ఉపయోగించవచ్చు (కాని చేయకూడదు).ampలే ప్రాజెక్ట్. 1. మీ ప్రాంతాన్ని బట్టి: మా నుండి నానోలిబ్‌ని డౌన్‌లోడ్ చేసుకోండి webEMEA / APAC లేదా AMERICA కోసం సైట్. 2. ప్యాకేజీని అన్జిప్ చేయండి files / ఫోల్డర్‌లు మరియు ఒక ఎంపికను ఎంచుకోండి: శీఘ్ర మరియు సులభమైన ప్రాథమిక విషయాల కోసం: మాజీని ప్రారంభించడం చూడండిample ప్రాజెక్ట్. Windows లో అధునాతన అనుకూలీకరణ కోసం: మీ స్వంత Windows ప్రాజెక్ట్‌ను సృష్టించడం చూడండి. Linux లో అధునాతన అనుకూలీకరణ కోసం: మీ స్వంత Linux ప్రాజెక్ట్‌ను సృష్టించడం చూడండి.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

9

మాజీని ప్రారంభిస్తోందిampలే ప్రాజెక్ట్

NanoLib సక్రమంగా లోడ్ చేయడంతో, మాజీampనానోటెక్ కంట్రోలర్‌తో నానోలిబ్ వినియోగం ద్వారా le ప్రాజెక్ట్ మీకు చూపుతుంది. గమనిక: ప్రతి దశకు, అందించిన మాజీలో వ్యాఖ్యలుample కోడ్ ఉపయోగించిన విధులను వివరిస్తుంది. మాజీample ప్రాజెక్ట్ వీటిని కలిగి ఉంటుంది: `*_functions_exampలె.*' files, ఇది NanoLib ఇంటర్‌ఫేస్ ఫంక్షన్‌ల కోసం అమలులను కలిగి ఉంటుంది `*_callback_exampలె.*' files, ఇది వివిధ కాల్‌బ్యాక్‌ల (స్కాన్, డేటా మరియు
లాగింగ్) `మెనూ_*.*' file, ఇది మెనూ లాజిక్‌ను కలిగి ఉంటుంది మరియు Ex కోడ్‌ను కలిగి ఉంటుందిampలే.* file, ఇది ప్రధాన ప్రోగ్రామ్, మెనూను సృష్టించడం మరియు ఉపయోగించిన అన్ని పారామితులను ప్రారంభించడం Sampలెర్_ఎక్స్ampలే.* file, దీనిలో ex ఉంటుందిamps కోసం le అమలుampవాడుక వివరాలు. మీరు మరిన్ని మాజీలను కనుగొనవచ్చుampnanotec.com లోని నాలెడ్జ్ బేస్‌లో వివిధ ఆపరేషన్ మోడ్‌ల కోసం కొన్ని మోషన్ కమాండ్‌లతో les. అన్నీ Windows లేదా Linuxలో ఉపయోగించదగినవి.
విజువల్ స్టూడియో 1 తో విండోస్‌లో. Ex ని తెరవండిample.sln file2. ఎక్స్ తెరవండిample.cpp. 3. ex ని కంపైల్ చేసి రన్ చేయండిampలే కోడ్.
బాష్ 1 ద్వారా Linuxలో. మూలాన్ని అన్జిప్ చేయండి file, అన్జిప్ చేయబడిన కంటెంట్ ఉన్న ఫోల్డర్‌కు నావిగేట్ చేయండి. ప్రధానమైనది file మాజీ కోసంampలే ఉంది
example.cpp. 2. బాష్‌లో, కాల్ చేయండి:
a. షేర్డ్ ఆబ్జెక్ట్‌లను కాపీ చేసి ldconfig కి కాల్ చేయడానికి “sudo make install”. b. టెస్ట్ ఎక్జిక్యూటబుల్‌ను నిర్మించడానికి “make all”. 3. బిన్ ఫోల్డర్‌లో ఎక్జిక్యూటబుల్ ex ఉంటుంది.ample fileబాష్ ద్వారా: అవుట్‌పుట్ ఫోల్డర్‌కి వెళ్లి ./ex అని టైప్ చేయండిample. ఎటువంటి లోపం జరగకపోతే, మీ షేర్డ్ ఆబ్జెక్ట్‌లు ఇప్పుడు సరిగ్గా ఇన్‌స్టాల్ చేయబడ్డాయి మరియు మీ లైబ్రరీ ఉపయోగం కోసం సిద్ధంగా ఉంది. లోపం ./ex అని చదివితేample: షేర్డ్ లైబ్రరీలను లోడ్ చేస్తున్నప్పుడు లోపం: libnanolib.so: షేర్డ్ ఆబ్జెక్ట్‌ను తెరవలేరు file: అలాంటిది కాదు file లేదా డైరెక్టరీలో, షేర్డ్ ఆబ్జెక్ట్‌ల ఇన్‌స్టాలేషన్ విఫలమైంది. ఈ సందర్భంలో, తదుపరి దశలను అనుసరించండి. 4. /usr/local/lib లోపల కొత్త ఫోల్డర్‌ను సృష్టించండి (అడ్మిన్ హక్కులు అవసరం). బాష్‌లోకి, ఇలా టైప్ చేయండి:
సుడో mkdir /usr/local/lib/nanotec
5. జిప్ నుండి అన్ని షేర్డ్ ఆబ్జెక్ట్‌లను కాపీ చేయండి fileయొక్క లిబ్ ఫోల్డర్:
./lib/*.so /usr/local/lib/nanotec/ ని ఇన్‌స్టాల్ చేయండి.
6. లక్ష్య ఫోల్డర్ యొక్క కంటెంట్‌ను దీనితో తనిఖీ చేయండి:
ls -al /usr/local/lib/nanotec/
ఇది షేర్డ్ ఆబ్జెక్ట్‌ను జాబితా చేయాలి filelib ఫోల్డర్ నుండి s. 7. ఈ ఫోల్డర్‌లో ldconfig ని అమలు చేయండి:
సుడో ldconfig /usr/local/lib/nanotec/
మాజీample అనేది CLI అప్లికేషన్‌గా అమలు చేయబడుతుంది మరియు మెనూ ఇంటర్‌ఫేస్‌ను అందిస్తుంది. మెనూ ఎంట్రీలు సందర్భోచితంగా ఉంటాయి మరియు సందర్భ స్థితిని బట్టి ప్రారంభించబడతాయి లేదా నిలిపివేయబడతాయి. కంట్రోలర్‌ను నిర్వహించడానికి సాధారణ వర్క్‌ఫ్లోను అనుసరించి వివిధ లైబ్రరీ ఫంక్షన్‌లను ఎంచుకుని అమలు చేసే అవకాశాన్ని అవి మీకు అందిస్తాయి: 1. కనెక్ట్ చేయబడిన హార్డ్‌వేర్ (అడాప్టర్లు) కోసం PCని తనిఖీ చేయండి మరియు వాటిని జాబితా చేయండి. 2. అడాప్టర్‌కు కనెక్షన్‌ను ఏర్పాటు చేయండి. 3. కనెక్ట్ చేయబడిన కంట్రోలర్ పరికరాల కోసం బస్సును స్కాన్ చేయండి. 4. పరికరానికి కనెక్ట్ చేయండి.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

10

5 మాజీని ప్రారంభించడంampలే ప్రాజెక్ట్
5. ఒకటి లేదా అంతకంటే ఎక్కువ లైబ్రరీ ఫంక్షన్‌లను పరీక్షించండి: కంట్రోలర్ యొక్క ఆబ్జెక్ట్ డిక్షనరీ నుండి/కు చదవడం/వ్రాయడం, ఫర్మ్‌వేర్‌ను నవీకరించడం, నానోజె ప్రోగ్రామ్‌ను అప్‌లోడ్ చేయడం మరియు అమలు చేయడం, మోటారును అమలు చేయడం మరియు దానిని ట్యూన్ చేయడం, లాగింగ్/లను కాన్ఫిగర్ చేయడం మరియు ఉపయోగించడం.ampలెర్.
6. కనెక్షన్‌ను మూసివేయండి, మొదట పరికరానికి, తరువాత అడాప్టర్‌కు.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

11

మీ స్వంత విండోస్ ప్రాజెక్ట్‌ను సృష్టించడం

నానోలిబ్‌ను ఉపయోగించడానికి మీ స్వంత విండోస్ ప్రాజెక్ట్‌ను సృష్టించండి, కంపైల్ చేయండి మరియు అమలు చేయండి.
6.1 నానోలిబ్‌ను దిగుమతి చేయండి
నానోలిబ్ హెడర్‌ను దిగుమతి చేయండి fileMS విజువల్ స్టూడియో ద్వారా లు మరియు లైబ్రరీలు.
1. విజువల్ స్టూడియోని తెరవండి. 2. కొత్త ప్రాజెక్ట్‌ను సృష్టించండి > కన్సోల్ యాప్ C++ > ద్వారా తదుపరి: ప్రాజెక్ట్ రకాన్ని ఎంచుకోండి. 3. సొల్యూషన్ ఎక్స్‌ప్లోరర్‌లో ప్రాజెక్ట్ ఫోల్డర్‌ను సృష్టించడానికి మీ ప్రాజెక్ట్‌కు పేరు పెట్టండి (ఇక్కడ: నానోలిబ్‌టెస్ట్). 4. ముగించు ఎంచుకోండి. 5. విండోలను తెరవండి file ఎక్స్‌ప్లోరర్‌ని తెరిచి, కొత్తగా సృష్టించబడిన ప్రాజెక్ట్ ఫోల్డర్‌కి నావిగేట్ చేయండి. 6. ఇంక్ మరియు లిబ్ అనే రెండు కొత్త ఫోల్డర్‌లను సృష్టించండి. 7. నానోలిబ్ ప్యాకేజీ ఫోల్డర్‌ను తెరవండి. 8. అక్కడి నుండి: హెడర్‌ను కాపీ చేయండి. fileinclude ఫోల్డర్ నుండి s ని మీ ప్రాజెక్ట్ ఫోల్డర్ inc మరియు అన్నీ .lib మరియు .dll లోకి జమ చేయండి.
fileమీ కొత్త ప్రాజెక్ట్ ఫోల్డర్ lib కు s ని జోడించండి. 9. మీ ప్రాజెక్ట్ ఫోల్డర్ యొక్క నిర్మాణం సరిగ్గా ఉందో లేదో తనిఖీ చేయండి, ఉదాహరణకుampలే:

నానోటిక్-నానోలిబ్-సి++-ప్రోగ్రామింగ్-FIG- (2)సరైన నిర్మాణం కోసం ect ఫోల్డర్:
. నానోలిబ్ టెస్ట్ ఇంక్ accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib నానోలిబ్ టెస్ట్.cpp నానోలిబ్ టెస్ట్.vcxproj నానోలిబ్ టెస్ట్.vcxproj.ఫిల్టర్లు నానోలిబ్ టెస్ట్.vcxproj.యూజర్ నానోలిబ్ టెస్ట్.sln
6.2 మీ ప్రాజెక్ట్‌ను కాన్ఫిగర్ చేయండి
నానోలిబ్ ప్రాజెక్టులను సెటప్ చేయడానికి MS విజువల్ స్టూడియోలోని సొల్యూషన్ ఎక్స్‌ప్లోరర్‌ను ఉపయోగించండి. గమనిక: సరైన నానోలిబ్ ఆపరేషన్ కోసం, విజువల్ C++ ప్రాజెక్ట్ సెట్టింగ్‌లలో విడుదల (డీబగ్ కాదు!) కాన్ఫిగరేషన్‌ను ఎంచుకోండి; ఆపై ప్రాజెక్ట్‌ను C++ పునఃపంపిణీ చేయగల VC రన్‌టైమ్‌లతో నిర్మించి లింక్ చేయండి [2022].
1. సొల్యూషన్ ఎక్స్‌ప్లోరర్‌లో: మీ ప్రాజెక్ట్ ఫోల్డర్‌కి వెళ్లండి (ఇక్కడ: నానోలిబ్‌టెస్ట్). 2. కాంటెక్స్ట్ మెనూని తెరవడానికి ఫోల్డర్‌పై కో-క్లిక్ చేయండి. 3. ప్రాపర్టీస్ ఎంచుకోండి. 4. అన్ని కాన్ఫిగరేషన్‌లు మరియు అన్ని ప్లాట్‌ఫారమ్‌లను యాక్టివేట్ చేయండి. 5. C/C++ ఎంచుకుని, అదనపు ఇన్‌క్లూడ్ డైరెక్టరీలకు వెళ్లండి. 6. ఇన్‌సర్ట్: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. లింకర్‌ను ఎంచుకుని, అదనపు లైబ్రరీ డైరెక్టరీలకు వెళ్లండి. 8. ఇన్‌సర్ట్: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. లింకర్‌ను ఎక్స్‌టెండ్ చేసి, ఇన్‌పుట్‌ను ఎంచుకోండి. 10. అదనపు డిపెండెన్సీలకు వెళ్లి, ఇన్‌సర్ట్ చేయండి: nanolib.lib;%(AdditionalDependencies) 11.OK ద్వారా నిర్ధారించండి.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

12

6 మీ స్వంత విండోస్ ప్రాజెక్ట్‌ను సృష్టించడం
12. కాన్ఫిగరేషన్ > C++ > లాంగ్వేజ్ > లాంగ్వేజ్ స్టాండర్డ్ > ISO C++17 స్టాండర్డ్ కు వెళ్లి లాంగ్వేజ్ స్టాండర్డ్ ను C++17 (/std:c++17) కు సెట్ చేయండి.
6.3 మీ ప్రాజెక్ట్‌ను నిర్మించండి
MS విజువల్ స్టూడియోలో మీ నానోలిబ్ ప్రాజెక్ట్‌ను నిర్మించండి. 1. ప్రధాన *.cppని తెరవండి file (ఇక్కడ: నానోలిబ్_ఎక్స్ample.cpp) ఎంచుకోండి మరియు అవసరమైతే కోడ్‌ను సవరించండి. 2. బిల్డ్ > కాన్ఫిగరేషన్ మేనేజర్‌ను ఎంచుకోండి. 3. యాక్టివ్ సొల్యూషన్ ప్లాట్‌ఫామ్‌లను x64కి మార్చండి. 4. క్లోజ్ ద్వారా నిర్ధారించండి. 5. బిల్డ్ > బిల్డ్ సొల్యూషన్‌ను ఎంచుకోండి. 6. లోపం లేదా? మీ కంపైల్ అవుట్‌పుట్ సరిగ్గా నివేదిస్తుందో లేదో తనిఖీ చేయండి:
1>—— క్లీన్ స్టార్ట్ చేయబడింది: ప్రాజెక్ట్: నానోలిబ్‌టెస్ట్, కాన్ఫిగరేషన్: డీబగ్ x64 —–=========== క్లీన్: 1 విజయవంతమైంది, 0 విఫలమైంది, 0 దాటవేయబడింది ==========

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

13

7 మీ స్వంత Linux ప్రాజెక్ట్‌ను సృష్టించడం
7 మీ స్వంత Linux ప్రాజెక్ట్‌ను సృష్టించడం
నానోలిబ్‌ను ఉపయోగించడానికి మీ స్వంత లైనక్స్ ప్రాజెక్ట్‌ను సృష్టించండి, కంపైల్ చేయండి మరియు అమలు చేయండి. 1. అన్జిప్ చేయబడిన నానోలిబ్ ఇన్‌స్టాలేషన్ కిట్‌లో: తెరవండి /nanotec_nanolib. 2. tar.gz లో అన్ని షేర్డ్ ఆబ్జెక్ట్‌లను కనుగొనండి. file. 3. ఒక ఎంపికను ఎంచుకోండి: ప్రతి లిబ్‌ను లేదా మేక్‌తో ఇన్‌స్టాల్ చేయండిfile లేదా చేతితో.
7.1 షేర్డ్ ఆబ్జెక్ట్‌లను మేక్‌తో ఇన్‌స్టాల్ చేయండిfile
మేక్ ఉపయోగించండిfile అన్ని డిఫాల్ట్‌లను ఆటో-ఇన్‌స్టాల్ చేయడానికి Linux Bash తో *.so file1. బాష్ ద్వారా: మేక్ ఉన్న ఫోల్డర్‌కి వెళ్లండిfile. 2. షేర్డ్ ఆబ్జెక్ట్‌లను దీని ద్వారా కాపీ చేయండి:
sudo make install 3. దీని ద్వారా నిర్ధారించండి:
ldconfig
7.2 షేర్డ్ ఆబ్జెక్ట్‌లను చేతితో ఇన్‌స్టాల్ చేయండి
అన్నీ *.so ఇన్‌స్టాల్ చేయడానికి బాష్‌ని ఉపయోగించండి fileNanoLib యొక్క s ను మాన్యువల్‌గా సృష్టించండి. 1. బాష్ ద్వారా: /usr/local/lib లోపల కొత్త ఫోల్డర్‌ను సృష్టించండి. 2. నిర్వాహక హక్కులు అవసరం! టైప్ చేయండి:
sudo mkdir /usr/local/lib/nanotec 3. అన్జిప్ చేయబడిన ఇన్‌స్టాలేషన్ ప్యాకేజీ ఫోల్డర్‌కు మార్చండి. 4. లిబ్ ఫోల్డర్ నుండి అన్ని షేర్డ్ ఆబ్జెక్ట్‌లను దీని ద్వారా కాపీ చేయండి:
install ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. లక్ష్య ఫోల్డర్ యొక్క కంటెంట్‌ను దీని ద్వారా తనిఖీ చేయండి:
ls -al /usr/local/lib/nanotec/ 6. లిబ్ ఫోల్డర్ నుండి అన్ని షేర్డ్ ఆబ్జెక్ట్‌లు జాబితా చేయబడ్డాయో లేదో తనిఖీ చేయండి. 7. ఈ ఫోల్డర్‌లో ldconfig ను దీని ద్వారా అమలు చేయండి:
సుడో ldconfig /usr/local/lib/nanotec/
7.3 మీ ప్రాజెక్ట్‌ను సృష్టించండి
మీ షేర్డ్ ఆబ్జెక్ట్‌లను ఇన్‌స్టాల్ చేసిన తర్వాత: మీ Linux NanoLib కోసం కొత్త ప్రాజెక్ట్‌ను సృష్టించండి. 1. బాష్ ద్వారా: కొత్త ప్రాజెక్ట్ ఫోల్డర్‌ను సృష్టించండి (ఇక్కడ: NanoLibTest):
mkdir నానోలిబ్ టెస్ట్ cd నానోలిబ్ టెస్ట్
2. హెడర్‌ను కాపీ చేయండి files ని ఇన్‌క్లూడ్ ఫోల్డర్‌కి (ఇక్కడ: inc) mkdir inc cp / ద్వారా పంపండి. FILE IS>/నానోటెక్_నానోలిబ్/ఇంక్/*.హెచ్‌పిపి ఇంక్
3. ప్రధానమైనదాన్ని సృష్టించండి file (NanoLibTest.cpp) ద్వారా: #include “accessor_factory.hpp” #include

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

14

7 మీ స్వంత Linux ప్రాజెక్ట్‌ను సృష్టించడం
int main(){ nlc::నానోలిబ్యాక్సెసర్ *యాక్సెసర్ = getNanoLibయాక్సెసర్();
nlc::ResultBusHwIds ఫలితం = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
లేకపోతే{ std::cout << “విజయం” << std::endl; }
యాక్సెసర్‌ను తొలగించండి; 0 ని తిరిగి ఇవ్వండి; }
4. మీ ప్రాజెక్ట్ ఫోల్డర్‌లో సరైన నిర్మాణం ఉందో లేదో తనిఖీ చేయండి:

నానోటిక్-నానోలిబ్-సి++-ప్రోగ్రామింగ్-FIG- (3)
నానోలిబ్ టెస్ట్
ఇంక్ accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 మీ ప్రాజెక్ట్‌ను కంపైల్ చేసి పరీక్షించండి
బాష్ ద్వారా మీ Linux NanoLib ని ఉపయోగించడానికి సిద్ధంగా ఉంచండి.
1. బాష్ ద్వారా: ప్రధానమైనదాన్ని కంపైల్ చేయండి file ద్వారా:
g++ -వాల్ -వెక్స్ట్రా -పెడాంటిక్ -I./inc -c నానోలిబ్‌టెస్ట్.cpp -o నానోలిబ్‌టెస్ట్
2. ఎక్జిక్యూటబుల్‌ను దీని ద్వారా లింక్ చేయండి:
g++ -వాల్ -వెక్స్ట్రా -పెడాంటిక్ -I./inc -o టెస్ట్ NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. పరీక్ష ప్రోగ్రామ్‌ను దీని ద్వారా అమలు చేయండి:
./పరీక్ష
4. మీ బాష్ సరిగ్గా నివేదిస్తుందో లేదో తనిఖీ చేయండి:
విజయం

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

15

8 తరగతులు / ఫంక్షన్ల సూచన

8 తరగతులు / ఫంక్షన్ల సూచన

నానోలిబ్ యొక్క వినియోగదారు ఇంటర్‌ఫేస్ తరగతులు మరియు వాటి సభ్యుల విధుల జాబితాను ఇక్కడ కనుగొనండి. ఫంక్షన్ యొక్క సాధారణ వివరణలో చిన్న పరిచయం, ఫంక్షన్ నిర్వచనం మరియు పరామితి / రిటర్న్ జాబితా ఉన్నాయి:

ExampleFunction () ఫంక్షన్ ఏమి చేస్తుందో క్లుప్తంగా మీకు తెలియజేస్తుంది.
వర్చువల్ వాయిడ్ nlc::NanoLibయాక్సెసర్::Exampలెఫంక్షన్ (పరం_ఎ కాన్స్ట్ & పారం_ఎ, పరం_బి కాన్స్ట్ & పారం_బి)

పారామితులు param_a param_b
ResultVoidని అందిస్తుంది

అవసరమైతే అదనపు వ్యాఖ్య. అవసరమైతే అదనపు వ్యాఖ్య.

8.1 నానోలిబ్ యాక్సెసర్

ఇంటర్‌ఫేస్ క్లాస్ నానోలిబ్‌కు ఎంట్రీ పాయింట్‌గా ఉపయోగించబడుతుంది. సాధారణ వర్క్‌ఫ్లో ఇలా కనిపిస్తుంది:
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ని అందిస్తుంది

ఫీల్డ్‌బస్ ID శ్రేణిని అందిస్తుంది.

openBusHardwareWithProtocol () బస్ హార్డ్‌వేర్‌ను కనెక్ట్ చేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ వాయిడ్ nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

పారామితులు busHwId busHwOpt
ResultVoidని అందిస్తుంది

తెరవాల్సిన ఫీల్డ్‌బస్‌ను పేర్కొంటుంది. ఫీల్డ్‌బస్ ప్రారంభ ఎంపికలను పేర్కొంటుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

isBusHardwareOpen () మీ ఫీల్డ్‌బస్ హార్డ్‌వేర్ కనెక్షన్ తెరిచి ఉందో లేదో తనిఖీ చేయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibAccessor::openBusHardwareWithProtocol (కాన్స్ట్ బస్‌హార్డ్‌వేర్ ఐడి & బస్‌హెచ్‌డబ్ల్యుఐడి, కాన్స్ట్ బస్‌హార్డ్‌వేర్ ఆప్షన్స్ & బస్‌హెచ్‌డబ్ల్యుఆప్ట్)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

16

8 తరగతులు / ఫంక్షన్ల సూచన

పరామితులు BusHardwareId నిజమని చూపుతుంది
తప్పుడు

తెరవడానికి ప్రతి ఫీల్డ్‌బస్‌ను పేర్కొంటుంది. హార్డ్‌వేర్ తెరిచి ఉంది. హార్డ్‌వేర్ మూసివేయబడింది.

getProtocolSpecificAccessor () ప్రోటోకాల్-నిర్దిష్ట యాక్సెసర్ ఆబ్జెక్ట్‌ని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibAccessor::getProtocolSpecificAccessor (బస్‌హార్డ్‌వేర్‌ఐడి కాన్స్ట్ & బస్‌హెచ్‌డబ్ల్యూఐడి)

పరామితులు busHwId రిటర్న్స్ ఫలితం శూన్యం

యాక్సెసర్‌ని పొందడానికి ఫీల్డ్‌బస్‌ను పేర్కొంటుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

getProfinetDCP () Profinet DCP ఇంటర్‌ఫేస్‌కి సూచనను అందించడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ProfinetDCP & getProfinetDCP ()

ProfinetDCPని అందిస్తుంది

పొందండిSamplerInterface () sకి సూచనను పొందడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండిampler ఇంటర్ఫేస్.
వర్చువల్ Sampలెర్ఇంటర్‌ఫేస్ & గెట్స్amplerఇంటర్ఫేస్ ()

రిటర్న్స్ Sampler ఇంటర్ఫేస్

లను సూచిస్తుందిampler ఇంటర్ఫేస్ తరగతి.

setBusState () బస్-ప్రోటోకాల్-నిర్దిష్ట స్థితిని సెట్ చేయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ రిజల్ట్ వాయిడ్ nlc::NanoLibAccessor::setBusState (కాన్స్ట్ బస్ హార్డ్‌వేర్ ఐడి & బస్‌హెచ్‌డబ్ల్యూఐడి, కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ & స్టేట్)

పారామితులు busHwId స్థితి
ResultVoidని అందిస్తుంది

తెరవాల్సిన ఫీల్డ్‌బస్‌ను పేర్కొంటుంది. బస్-నిర్దిష్ట స్థితిని స్ట్రింగ్ విలువగా కేటాయిస్తుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

scanDevices () నెట్‌వర్క్‌లోని పరికరాల కోసం స్కాన్ చేయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)

పారామితులు busHwId కాల్‌బ్యాక్
ResultDeviceIds IOErrorని అందిస్తుంది

స్కాన్ చేయడానికి ఫీల్డ్‌బస్‌ను నిర్దేశిస్తుంది. NlcScanBusCallback ప్రోగ్రెస్ ట్రేసర్. పరికర ID శ్రేణిని అందిస్తుంది. పరికరం కనుగొనబడలేదని తెలియజేస్తుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

17

8 తరగతులు / ఫంక్షన్ల సూచన

పరికరాన్ని జోడించండి ()
deviceId వివరించిన బస్ పరికరాన్ని NanoLib యొక్క అంతర్గత పరికర జాబితాకు జోడించడానికి మరియు దాని కోసం deviceHandleని తిరిగి ఇవ్వడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ రిజల్ట్ డివైస్ హ్యాండిల్ nlc::NanoLibAccessor::addDevice (డివైస్ ఐడి కాన్స్ట్ & డివైస్ ఐడి)

పరామితులు deviceId ResultDeviceHandleని అందిస్తుంది

జాబితాకు జోడించాల్సిన పరికరాన్ని నిర్దేశిస్తుంది. పరికర హ్యాండిల్‌ను అందిస్తుంది.

connectDevice () పరికరం హ్యాండిల్ ద్వారా పరికరాన్ని కనెక్ట్ చేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::connectDevice (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు పరికరం హ్యాండిల్ రిటర్న్స్ రిజల్ట్‌వాయిడ్
IOError

నానోలిబ్ ఏ బస్సు పరికరానికి కనెక్ట్ చేస్తుందో నిర్దేశిస్తుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది. పరికరం కనుగొనబడలేదని తెలియజేస్తుంది.

getDeviceName () deviceHandle ద్వారా పరికరం పేరు పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ స్ట్రింగ్ nlc::NanoLibAccessor::getDeviceName (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు deviceHandle Returns ResultString

NanoLib ఏ బస్ పరికరానికి పేరు పెట్టబడిందో నిర్దేశిస్తుంది. పరికర పేర్లను స్ట్రింగ్‌గా అందజేస్తుంది.

getDeviceProductCode () deviceHandle ద్వారా పరికర ఉత్పత్తి కోడ్‌ని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ఇంట్ nlc::NanoLibయాక్సెసర్::getDeviceProductCode (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు పరికరం హ్యాండిల్ రిటర్న్స్ ResultInt

NanoLib ఏ బస్సు పరికరం కోసం ఉత్పత్తి కోడ్‌ను పొందుతుందో నిర్దేశిస్తుంది. ఉత్పత్తి కోడ్‌లను పూర్ణాంకం వలె అందిస్తుంది.

getDeviceVendorId () deviceHandle ద్వారా పరికర విక్రేత IDని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ఇంట్ nlc::NanoLibయాక్సెసర్::getDeviceVendorId (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు పరికరం హ్యాండిల్ రిటర్న్స్ ResultInt
వనరు అందుబాటులో లేదు

NanoLib ఏ బస్సు పరికరం కోసం విక్రేత IDని పొందుతుందో నిర్దేశిస్తుంది. విక్రేత IDలను పూర్ణాంకం వలె బట్వాడా చేస్తుంది. డేటా ఏదీ కనుగొనబడలేదని సమాచారం.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

18

8 తరగతులు / ఫంక్షన్ల సూచన

getDeviceId () NanoLib అంతర్గత జాబితా నుండి నిర్దిష్ట పరికరం యొక్క IDని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ డివైస్ ఐడి nlc::NanoLibయాక్సెసర్::getDeviceId (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు deviceHandle ResultDeviceIdని అందిస్తుంది

నానోలిబ్ ఏ బస్సు పరికరం కోసం పరికర IDని పొందుతుందో పేర్కొంటుంది. పరికర IDని అందజేస్తుంది.

getDeviceIds () NanoLib అంతర్గత జాబితా నుండి అన్ని పరికరాల IDని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

ResultDeviceIdsని అందిస్తుంది

పరికర ID జాబితాను అందిస్తుంది.

getDeviceUid () deviceHandle ద్వారా పరికరం యొక్క ప్రత్యేక ID (96 బిట్ / 12 బైట్లు) పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

పరామితులు deviceHandle ResultArrayByte రిటర్న్స్
వనరు అందుబాటులో లేదు

NanoLib ఏ బస్సు పరికరం కోసం ప్రత్యేక IDని పొందుతుందో పేర్కొంటుంది. ప్రత్యేక IDలను బైట్ శ్రేణిగా బట్వాడా చేస్తుంది. డేటా ఏదీ కనుగొనబడలేదని సమాచారం.

getDeviceSerialNumber () deviceHandle ద్వారా పరికరం యొక్క క్రమ సంఖ్యను పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ స్ట్రింగ్ నానోలిబ్ యాక్సెసర్::getDeviceSerialNumber (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు deviceHandle Returns ResultString
వనరు అందుబాటులో లేదు

నానోలిబ్ ఏ బస్సు పరికరం కోసం క్రమ సంఖ్యను పొందుతుందో నిర్దేశిస్తుంది. క్రమ సంఖ్యలను స్ట్రింగ్‌గా బట్వాడా చేస్తుంది. డేటా ఏదీ కనుగొనబడలేదని సమాచారం.

getDeviceHardwareGroup () deviceHandle ద్వారా బస్ పరికరం యొక్క హార్డ్‌వేర్ సమూహాన్ని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ డివైస్ ఐడి nlc::NanoLibయాక్సెసర్::getDeviceHardwareGroup (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు పరికరం హ్యాండిల్ రిటర్న్స్ ResultInt

NanoLib ఏ బస్ పరికరం కోసం హార్డ్‌వేర్ సమూహాన్ని పొందుతుందో నిర్దేశిస్తుంది.
హార్డ్‌వేర్ సమూహాలను పూర్ణాంకం వలె అందిస్తుంది.

getDeviceHardwareVersion () deviceHandle ద్వారా బస్ పరికరం యొక్క హార్డ్‌వేర్ వెర్షన్‌ని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ డివైస్ ఐడి nlc::NanoLibయాక్సెసర్::getDeviceHardwareVersion (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

19

8 తరగతులు / ఫంక్షన్ల సూచన

పారామితులు పరికరం హ్యాండిల్

తిరిగి వస్తుంది

ResultString వనరు అందుబాటులో లేదు

NanoLib ఏ బస్ పరికరం కోసం హార్డ్‌వేర్ వెర్షన్‌ను పొందుతుందో నిర్దేశిస్తుంది. పరికర పేర్లను స్ట్రింగ్‌గా అందజేస్తుంది. డేటా ఏదీ కనుగొనబడలేదని సమాచారం.

getDeviceFirmwareBuildId () deviceHandle ద్వారా బస్ పరికరం యొక్క ఫర్మ్‌వేర్ బిల్డ్ IDని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ డివైస్ ఐడి nlc::NanoLibయాక్సెసర్::getDeviceFirmwareBuildId (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు deviceHandle Returns ResultString

NanoLib ఏ బస్సు పరికరం కోసం ఫర్మ్‌వేర్ బిల్డ్ IDని పొందుతుందో పేర్కొంటుంది.
పరికర పేర్లను స్ట్రింగ్‌గా అందజేస్తుంది.

getDeviceBootloaderVersion () deviceHandle ద్వారా బస్ పరికరం యొక్క బూట్‌లోడర్ వెర్షన్‌ను పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ఇంట్ nlc::NanoLibయాక్సెసర్::getDeviceBootloaderVersion (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పారామితులు పరికరం హ్యాండిల్

తిరిగి వస్తుంది

ResultInt Resource అందుబాటులో లేదు

నానోలిబ్ ఏ బస్సు పరికరం కోసం బూట్‌లోడర్ వెర్షన్‌ను పొందుతుందో నిర్దేశిస్తుంది. పూర్ణాంకం వలె బూట్‌లోడర్ సంస్కరణలను అందిస్తుంది. డేటా ఏదీ కనుగొనబడలేదని సమాచారం.

getDeviceBootloaderBuildId () deviceHandle ద్వారా బస్ పరికరం యొక్క బూట్‌లోడర్ బిల్డ్ IDని పొందడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ డివైస్ ఐడి nlc::నానోలిబ్ యాక్సెసర్:: (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు deviceHandle Returns ResultString

NanoLib ఏ బస్సు పరికరం కోసం బూట్‌లోడర్ బిల్డ్ IDని పొందుతుందో నిర్దేశిస్తుంది.
పరికర పేర్లను స్ట్రింగ్‌గా అందజేస్తుంది.

rebootDevice () deviceHandle ద్వారా పరికరాన్ని రీబూట్ చేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::rebootDevice (const DeviceHandle deviceHandle)

పరామితులు పరికరం హ్యాండిల్ రిటర్న్స్ రిజల్ట్‌వాయిడ్

రీబూట్ చేయవలసిన ఫీల్డ్‌బస్‌ను నిర్దేశిస్తుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

getDeviceState () పరికరం-ప్రోటోకాల్-నిర్దిష్ట స్థితిని పొందడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ రిజల్ట్ స్ట్రింగ్ nlc::NanoLibAccessor::getDeviceState (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పారామితులు పరికరం హ్యాండిల్

నానోలిబ్ ఏ బస్సు పరికరానికి రాష్ట్రాన్ని పొందుతుందో పేర్కొంటుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

20

8 తరగతులు / ఫంక్షన్ల సూచన

ResultStringని అందిస్తుంది

పరికర పేర్లను స్ట్రింగ్‌గా అందజేస్తుంది.

setDeviceState () పరికరం-ప్రోటోకాల్-నిర్దిష్ట స్థితిని సెట్ చేయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibAccessor::setDeviceState (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ & స్టేట్)

పారామితులు పరికరం హ్యాండిల్ స్థితి
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరం కోసం రాష్ట్రాన్ని సెట్ చేస్తుందో పేర్కొంటుంది. బస్-నిర్దిష్ట స్థితిని స్ట్రింగ్ విలువగా కేటాయిస్తుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

కనెక్షన్ స్టేట్ పొందండి ()
deviceHandle (= డిస్‌కనెక్ట్ చేయబడింది, కనెక్ట్ చేయబడింది, కనెక్ట్ చేయబడిన బూట్‌లోడర్) ద్వారా నిర్దిష్ట పరికరం యొక్క చివరిగా తెలిసిన కనెక్షన్ స్థితిని పొందడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

పరామితులు డివైజ్‌హ్యాండిల్ రిటర్న్స్ రిజల్ట్ కనెక్షన్ స్టేట్

NanoLib ఏ బస్సు పరికరం కోసం కనెక్షన్ స్థితిని పొందుతుందో నిర్దేశిస్తుంది.
కనెక్షన్ స్థితిని అందజేస్తుంది (= డిస్‌కనెక్ట్ చేయబడింది, కనెక్ట్ చేయబడింది, కనెక్ట్ చేయబడిన బూట్‌లోడర్).

చెక్‌కనెక్షన్ స్టేట్ ()
చివరిగా తెలిసిన స్థితి డిస్‌కనెక్ట్ కాకపోతే మాత్రమే: deviceHandle ద్వారా మరియు అనేక మోడ్-నిర్దిష్ట ఆపరేషన్‌లను పరీక్షించడం ద్వారా నిర్దిష్ట పరికరం యొక్క కనెక్షన్ స్థితిని తనిఖీ చేయడానికి మరియు బహుశా నవీకరించడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ రిజల్ట్ కనెక్షన్ స్టేట్ nlc::NanoLibAccessor::checkConnectionState (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు డివైజ్‌హ్యాండిల్ రిటర్న్స్ రిజల్ట్ కనెక్షన్ స్టేట్

NanoLib ఏ బస్సు పరికరం కోసం కనెక్షన్ స్థితిని తనిఖీ చేస్తుందో పేర్కొంటుంది.
కనెక్షన్ స్థితిని అందిస్తుంది (= డిస్‌కనెక్ట్ కాలేదు).

assignObjectDictionary () మీ స్వంతంగా deviceHandleకి ఆబ్జెక్ట్ నిఘంటువు (OD)ని కేటాయించడానికి ఈ మాన్యువల్ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

పరామితులు పరికరం హ్యాండిల్ ఆబ్జెక్ట్ డిక్షనరీ
ResultObjectDictionaryని అందిస్తుంది

NanoLib ఏ బస్ పరికరానికి ODని కేటాయించాలో పేర్కొంటుంది. వస్తువు నిఘంటువు యొక్క లక్షణాలను చూపుతుంది.

autoAssignObjectDictionary ()
నానోలిబ్ డివైజ్‌హ్యాండిల్‌కి ఆబ్జెక్ట్ డిక్షనరీ (OD)ని కేటాయించడానికి ఈ ఆటోమేటిజమ్‌ని ఉపయోగించండి. తగిన ODని కనుగొని, లోడ్ చేసినప్పుడు, నానోలిబ్ దాన్ని స్వయంచాలకంగా పరికరానికి కేటాయిస్తుంది. గమనిక: ఆబ్జెక్ట్ లైబ్రరీలో అనుకూలమైన OD ఇప్పటికే లోడ్ చేయబడి ఉంటే, సమర్పించిన డైరెక్టరీని స్కాన్ చేయకుండా NanoLib స్వయంచాలకంగా దాన్ని ఉపయోగిస్తుంది.
వర్చువల్ ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionarysLocationPath)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

21

8 తరగతులు / ఫంక్షన్ల సూచన

పారామితులు పరికరం హ్యాండిల్

తిరిగి వస్తుంది

నిఘంటువులొకేషన్‌పాత్ ఫలితం ఆబ్జెక్ట్ నిఘంటువు

NanoLib ఏ బస్సు పరికరం కోసం తగిన ODల కోసం స్వయంచాలకంగా స్కాన్ చేస్తుందో పేర్కొంటుంది. OD డైరెక్టరీకి మార్గాన్ని నిర్దేశిస్తుంది. వస్తువు నిఘంటువు యొక్క లక్షణాలను చూపుతుంది.

getAssignedObjectDictionary ()
deviceHandle ద్వారా పరికరానికి ఆబ్జెక్ట్ నిఘంటువును కేటాయించడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
హ్యాండిల్)

పరామితులు deviceHandle ResultObjectDictionaryని అందిస్తుంది

NanoLib ఏ బస్ పరికరం కోసం కేటాయించిన ODని పొందుతుందో పేర్కొంటుంది. వస్తువు నిఘంటువు యొక్క లక్షణాలను చూపుతుంది.

getObjectDictionaryLibrary () ఈ ఫంక్షన్ OdLibrary సూచనను అందిస్తుంది.
వర్చువల్ OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

OdLibrary&

మొత్తం OD లైబ్రరీని మరియు దాని ఆబ్జెక్ట్ నిఘంటువులను తెరుస్తుంది.

setLoggingLevel () అవసరమైన లాగ్ వివరాలను సెట్ చేయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి (మరియు లాగ్ file పరిమాణం). డిఫాల్ట్ స్థాయి సమాచారం.
వర్చువల్ వాయిడ్ nlc::NanoLibAccessor::setLoggingLevel (లాగ్ లెవెల్ స్థాయి)

పారామితులు స్థాయి

కింది లాగ్ వివరాలు సాధ్యమే:

0 = ట్రేస్ 1 = డీబగ్ 2 = సమాచారం 3 = వార్న్ 4 = ఎర్రర్ 5 = క్లిష్టమైన 6 = ఆఫ్

అత్యల్ప స్థాయి (అతిపెద్ద లాగ్ file); ఏదైనా సాధ్యమయ్యే వివరాలను, అలాగే సాఫ్ట్‌వేర్ ప్రారంభం / ఆపివేస్తుంది. లాగ్స్ డీబగ్ సమాచారం (= మధ్యంతర ఫలితాలు, పంపిన లేదా స్వీకరించిన కంటెంట్ మొదలైనవి) డిఫాల్ట్ స్థాయి; సమాచార సందేశాలను లాగ్ చేస్తుంది. సంభవించిన సమస్యలను లాగ్ చేస్తుంది కానీ ప్రస్తుత అల్గారిథమ్‌ని ఆపదు. అల్గారిథమ్‌ను నిలిపివేసిన తీవ్రమైన సమస్య లాగ్‌లు. అత్యధిక స్థాయి (చిన్న లాగ్ file); లాగింగ్ ఆఫ్ అవుతుంది; తదుపరి లాగ్ అస్సలు లేదు. లాగింగ్ అస్సలు లేదు.

సెట్ లాగింగ్ కాల్‌బ్యాక్ ()
ఆ కాల్‌బ్యాక్ కోసం లాగింగ్ కాల్‌బ్యాక్ పాయింటర్ మరియు లాగ్ మాడ్యూల్ (= లైబ్రరీ) సెట్ చేయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి (లాగర్ కోసం కాదు).
వర్చువల్ వాయిడ్ nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)

పారామితులు *కాల్‌బ్యాక్ లాగ్ మాడ్యూల్

కాల్‌బ్యాక్ పాయింటర్‌ను సెట్ చేస్తుంది. మీ లైబ్రరీకి కాల్‌బ్యాక్‌ను (లాగర్ కాదు!) ట్యూన్ చేస్తుంది.

0 = నానోలిబ్‌కోర్ 1 = నానోలిబ్‌కానోపెన్ 2 = నానోలిబ్‌మోడ్‌బస్ 3 = నానోలిబ్‌ఈథర్‌కాట్

NanoLib యొక్క కోర్ కోసం మాత్రమే కాల్‌బ్యాక్‌ను సక్రియం చేస్తుంది. CANopen-మాత్రమే కాల్‌బ్యాక్‌ను సక్రియం చేస్తుంది. Modbus-మాత్రమే కాల్‌బ్యాక్‌ను సక్రియం చేస్తుంది. EtherCAT-మాత్రమే కాల్‌బ్యాక్‌ను సక్రియం చేస్తుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

22

8 తరగతులు / ఫంక్షన్ల సూచన

4 = నానోలిబ్‌రెస్ట్ 5 = నానోలిబ్‌యుఎస్‌బి

REST-మాత్రమే కాల్‌బ్యాక్‌ను సక్రియం చేస్తుంది. USB-మాత్రమే కాల్‌బ్యాక్‌ను సక్రియం చేస్తుంది.

unsetLoggingCallback () లాగింగ్ కాల్‌బ్యాక్ పాయింటర్‌ను రద్దు చేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ వాయిడ్ nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () ఆబ్జెక్ట్ డిక్షనరీ నుండి సంఖ్యా విలువను చదవడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ఇంట్ nlc::NanoLibAccessor::readNumber (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ ఓడిఇండెక్స్ ఓడిఇండెక్స్)

పారామితులు పరికరం హ్యాండిల్ odIndex
ResultIntని అందిస్తుంది

నానోలిబ్ ఏ బస్సు పరికరం నుండి చదవాలో నిర్దేశిస్తుంది. చదవాల్సిన (ఉప-) సూచికను పేర్కొంటుంది. అన్వయించని సంఖ్యా విలువను అందజేస్తుంది (సంతకం చేయవచ్చు, సంతకం చేయబడదు, పరిష్కరించవచ్చు16.16 బిట్ విలువలు).

readNumberArray () ఆబ్జెక్ట్ డిక్షనరీ నుండి సంఖ్యా శ్రేణులను చదవడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ResultArrayInt nlc::NanoLibAccessor::readNumberArray (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ uint16_t ఇండెక్స్)

పారామితులు పరికరం హ్యాండిల్ సూచిక
ResultArrayIntని అందిస్తుంది

నానోలిబ్ ఏ బస్సు పరికరం నుండి చదవాలో నిర్దేశిస్తుంది. అర్రే ఆబ్జెక్ట్ ఇండెక్స్. పూర్ణాంక శ్రేణిని అందిస్తుంది.

readBytes () ఆబ్జెక్ట్ డిక్షనరీ నుండి ఏకపక్ష బైట్‌లను (డొమైన్ ఆబ్జెక్ట్ డేటా) చదవడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ResultArrayByte nlc::NanoLibAccessor::readBytes (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ ఓడిఇండెక్స్ ఓడిఇండెక్స్)

పారామితులు పరికరం హ్యాండిల్ odIndex
ResultArrayByteని అందిస్తుంది

నానోలిబ్ ఏ బస్సు పరికరం నుండి చదవాలో నిర్దేశిస్తుంది. చదవాల్సిన (ఉప-) సూచికను పేర్కొంటుంది. బైట్ శ్రేణిని అందిస్తుంది.

readString () ఆబ్జెక్ట్ డైరెక్టరీ నుండి స్ట్రింగ్‌లను చదవడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ రిజల్ట్ స్ట్రింగ్ nlc::NanoLibAccessor::readString (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ ఓడిఇండెక్స్ ఓడిఇండెక్స్)

పారామితులు పరికరం హ్యాండిల్ odIndex
ResultStringని అందిస్తుంది

నానోలిబ్ ఏ బస్సు పరికరం నుండి చదవాలో నిర్దేశిస్తుంది. చదవాల్సిన (ఉప-) సూచికను పేర్కొంటుంది. పరికర పేర్లను స్ట్రింగ్‌గా అందజేస్తుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

23

8 తరగతులు / ఫంక్షన్ల సూచన

writeNumber () ఆబ్జెక్ట్ డైరెక్టరీకి సంఖ్యా విలువలను వ్రాయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ రిజల్ట్ వాయిడ్ nlc::NanoLibAccessor::writeNumber (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, int64_t విలువ, కాన్స్ట్ ఓడిఇండెక్స్ ఓడిఇండెక్స్, సంతకం చేయని ఇంట్ బిట్ పొడవు)

పరామితులు పరికరం హ్యాండిల్ విలువ odIndex బిట్ పొడవు
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్ పరికరానికి వ్రాయాలో నిర్దేశిస్తుంది. అన్వయించని విలువ (సంతకం చేయవచ్చు, సంతకం చేయబడదు, పరిష్కరించవచ్చు 16.16). చదవాల్సిన (ఉప-) సూచికను పేర్కొంటుంది. బిట్‌లో పొడవు. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

writeBytes () ఆబ్జెక్ట్ డైరెక్టరీకి ఏకపక్ష బైట్‌లను (డొమైన్ ఆబ్జెక్ట్ డేటా) వ్రాయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & డేటా, కాన్స్ట్ OdIndex odIndex)

పారామితులు పరికరం హ్యాండిల్ డేటా odIndex
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్ పరికరానికి వ్రాయాలో నిర్దేశిస్తుంది. బైట్ వెక్టర్ / అర్రే. చదవాల్సిన (ఉప-) సూచికను పేర్కొంటుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

ఫర్మ్‌వేర్‌ను అప్‌లోడ్ చేయండి ()
మీ కంట్రోలర్ ఫర్మ్‌వేర్‌ను నవీకరించడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* కాల్‌బ్యాక్)

పరామితులు పరికరం హ్యాండిల్ fwData NlcDataTransferCallback
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరాన్ని అప్‌డేట్ చేస్తుందో పేర్కొంటుంది. ఫర్మ్‌వేర్ డేటాను కలిగి ఉన్న అర్రే. డేటా ప్రోగ్రెస్ ట్రేసర్. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

ఫర్మ్‌వేర్ నుండి అప్‌లోడ్ చేయండిFile ()
మీ కంట్రోలర్ ఫర్మ్‌వేర్‌ను అప్‌లోడ్ చేయడం ద్వారా దాన్ని నవీకరించడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి file.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::uploadFirmwareFromFile (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ & అబ్సొల్యూట్Fileపాత్, NlcDataTransferCallback* కాల్‌బ్యాక్)

పారామితులు పరికరం హ్యాండిల్ సంపూర్ణFileమార్గం NlcDataTransferCallback
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరాన్ని అప్‌డేట్ చేస్తుందో పేర్కొంటుంది. మార్గం file ఫర్మ్‌వేర్ డేటాను కలిగి ఉంటుంది (std::string). డేటా ప్రోగ్రెస్ ట్రేసర్. ఒక శూన్య ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

24

8 తరగతులు / ఫంక్షన్ల సూచన

అప్‌లోడ్ బూట్‌లోడర్ ()
మీ కంట్రోలర్ బూట్‌లోడర్‌ను నవీకరించడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::uploadBootloader (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ స్టాండర్డ్::వెక్టర్ & btData, NlcDataTransferCallback* కాల్‌బ్యాక్)

పరామితులు పరికరం హ్యాండిల్ btData NlcDataTransferCallback
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరాన్ని అప్‌డేట్ చేస్తుందో పేర్కొంటుంది. బూట్‌లోడర్ డేటాను కలిగి ఉన్న అర్రే. డేటా ప్రోగ్రెస్ ట్రేసర్. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

బూట్‌లోడర్ నుండి అప్‌లోడ్ చేయండిFile ()
మీ కంట్రోలర్ బూట్‌లోడర్‌ను అప్‌లోడ్ చేయడం ద్వారా దాన్ని నవీకరించడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి file.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::uploadBootloaderFromFile (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ & బూట్‌లోడర్అబ్సొల్యూట్Fileపాత్, NlcDataTransferCallback* కాల్‌బ్యాక్)

పారామితులు పరికరం హ్యాండిల్ బూట్‌లోడర్ సంపూర్ణFileమార్గం NlcDataTransferCallback
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరాన్ని అప్‌డేట్ చేస్తుందో పేర్కొంటుంది. మార్గం file బూట్‌లోడర్ డేటాను కలిగి ఉంది (std::string). డేటా ప్రోగ్రెస్ ట్రేసర్. ఒక శూన్య ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

అప్‌లోడ్ బూట్‌లోడర్ ఫర్మ్‌వేర్ ()
మీ కంట్రోలర్ బూట్‌లోడర్ మరియు ఫర్మ్‌వేర్‌ను నవీకరించడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::వెక్టర్ & fwData, NlcDataTransferCallback* కాల్‌బ్యాక్)

పరామితులు పరికరం హ్యాండిల్ btData fwData NlcDataTransferCallback
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరాన్ని అప్‌డేట్ చేస్తుందో పేర్కొంటుంది. బూట్‌లోడర్ డేటాను కలిగి ఉన్న అర్రే. ఫర్మ్‌వేర్ డేటాను కలిగి ఉన్న అర్రే. డేటా ప్రోగ్రెస్ ట్రేసర్. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

అప్‌లోడ్ బూట్‌లోడర్ ఫర్మ్‌వేర్ నుండిFile ()
అప్‌లోడ్ చేయడం ద్వారా మీ కంట్రోలర్ బూట్‌లోడర్ మరియు ఫర్మ్‌వేర్‌ను అప్‌డేట్ చేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి files.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::uploadBootloaderFirmwareFromFile (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ & బూట్‌లోడర్అబ్సొల్యూట్Fileపాత్, కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ & అబ్సొల్యూట్Fileపాత్, NlcDataTransferCallback* కాల్‌బ్యాక్)

పారామితులు పరికరం హ్యాండిల్ బూట్‌లోడర్ సంపూర్ణFileమార్గం సంపూర్ణమైనదిFileమార్గం NlcDataTransferCallback
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరాన్ని అప్‌డేట్ చేస్తుందో పేర్కొంటుంది. మార్గం file బూట్‌లోడర్ డేటాను కలిగి ఉంది (std::string). కు మార్గం file ఫర్మ్‌వేర్ డేటాను కలిగి ఉంది (uint8_t). డేటా ప్రోగ్రెస్ ట్రేసర్. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

25

8 తరగతులు / ఫంక్షన్ల సూచన

అప్‌లోడ్ నానోజె ()
మీ కంట్రోలర్‌కు నానోజె ప్రోగ్రామ్‌ను అప్‌గ్రేడ్ చేయడానికి ఈ పబ్లిక్ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్యం nlc::NanoLibయాక్సెసర్::uploadNanoJ (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్, std::వెక్టర్ కాన్స్ట్ & vmmData, NlcDataTransferCallback* కాల్‌బ్యాక్)

పరామితులు పరికరం హ్యాండిల్ vmmData NlcDataTransferCallback
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరాన్ని అప్‌లోడ్ చేస్తుందో పేర్కొంటుంది. NanoJ డేటాను కలిగి ఉన్న అర్రే. డేటా ప్రోగ్రెస్ ట్రేసర్. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

నానోజె నుండి అప్‌లోడ్ చేయండిFile ()
అప్‌లోడ్ చేయడం ద్వారా నానోజె ప్రోగ్రామ్‌ను మీ కంట్రోలర్‌కు అప్‌లోడ్ చేయడానికి ఈ పబ్లిక్ ఫంక్షన్‌ను ఉపయోగించండి file.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::uploadNanoJFromFile (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ & అబ్సొల్యూట్Fileపాత్, NlcDataTransferCallback* కాల్‌బ్యాక్)

పారామితులు పరికరం హ్యాండిల్ సంపూర్ణFileమార్గం NlcDataTransferCallback
ResultVoidని అందిస్తుంది

NanoLib ఏ బస్సు పరికరాన్ని అప్‌లోడ్ చేస్తుందో పేర్కొంటుంది. మార్గం file NanoJ డేటాను కలిగి ఉంటుంది (std::string). డేటా ప్రోగ్రెస్ ట్రేసర్. ఒక శూన్య ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

disconnectDevice () deviceHandle ద్వారా మీ పరికరాన్ని డిస్‌కనెక్ట్ చేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::డిస్‌కనెక్ట్ డివైస్ (డివైస్ హ్యాండిల్ కాన్స్ట్ డివైస్ హ్యాండిల్)

పరామితులు పరికరం హ్యాండిల్ రిటర్న్స్ రిజల్ట్‌వాయిడ్

NanoLib ఏ బస్సు పరికరం నుండి డిస్‌కనెక్ట్ చేస్తుందో పేర్కొంటుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

removeDevice () NanoLib యొక్క అంతర్గత పరికర జాబితా నుండి మీ పరికరాన్ని తీసివేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibయాక్సెసర్::removeDevice (const DeviceHandle deviceHandle)

పరామితులు పరికరం హ్యాండిల్ రిటర్న్స్ రిజల్ట్‌వాయిడ్

NanoLib ఏ బస్సు పరికరాన్ని తొలగించాలో పేర్కొంటుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

closeBusHardware () మీ ఫీల్డ్‌బస్ హార్డ్‌వేర్ నుండి డిస్‌కనెక్ట్ చేయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం శూన్య nlc::NanoLibAccessor::closeBusHardware (BusHardwareId కాన్స్ట్ & busHwId)

పరామితులు busHwId రిటర్న్స్ ఫలితం శూన్యం

డిస్‌కనెక్ట్ చేయాల్సిన ఫీల్డ్‌బస్‌ను పేర్కొంటుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

26

8 తరగతులు / ఫంక్షన్ల సూచన

8.2 BusHardwareId
బస్ హార్డ్‌వేర్‌ను ఒకదానికొకటి గుర్తించడానికి లేదా విభిన్న బస్ హార్డ్‌వేర్‌లను ఒకదానికొకటి వేరు చేయడానికి ఈ తరగతిని ఉపయోగించండి. ఈ తరగతి (సృష్టి నుండి మారకుండా ఉండేలా సెట్టర్ ఫంక్షన్‌లు లేకుండా) కూడా వీటిపై సమాచారాన్ని కలిగి ఉంది:
హార్డ్‌వేర్ (= అడాప్టర్ పేరు, నెట్‌వర్క్ అడాప్టర్ మొదలైనవి) ఉపయోగించడానికి ప్రోటోకాల్ (= మోడ్‌బస్ TCP, CANopen మొదలైనవి) బస్ హార్డ్‌వేర్ స్పెసిఫైయర్ (= సీరియల్ పోర్ట్ పేరు, MAC స్నేహపూర్వక పేరు
చిరునామా మొదలైనవి)

BusHardwareId () [1/3] కొత్త బస్ హార్డ్‌వేర్ ID ఆబ్జెక్ట్‌ను సృష్టించే కన్స్ట్రక్టర్.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

పారామితులు busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

హార్డ్‌వేర్ రకం (= ZK-USB-CAN-1 మొదలైనవి). బస్ కమ్యూనికేషన్ ప్రోటోకాల్ (= CANOpen మొదలైనవి). హార్డ్‌వేర్ స్పెసిఫైయర్ (= COM3 మొదలైనవి). హార్డ్‌వేర్ యొక్క అదనపు స్పెసిఫైయర్ (చెప్పండి, USB స్థాన సమాచారం). స్నేహపూర్వక పేరు (= AdapterName (Port) etc. ).

BusHardwareId () [2/3] అదనపు హార్డ్‌వేర్ స్పెసిఫైయర్ ఎంపికతో కొత్త బస్ హార్డ్‌వేర్ ID ఆబ్జెక్ట్‌ను సృష్టించే కన్స్ట్రక్టర్.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)

పారామితులు busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

హార్డ్‌వేర్ రకం (= ZK-USB-CAN-1 మొదలైనవి). బస్ కమ్యూనికేషన్ ప్రోటోకాల్ (= CANOpen మొదలైనవి). హార్డ్‌వేర్ స్పెసిఫైయర్ (= COM3 మొదలైనవి). హార్డ్‌వేర్ యొక్క అదనపు స్పెసిఫైయర్ (చెప్పండి, USB స్థాన సమాచారం). స్నేహపూర్వక పేరు (= AdapterName (Port) etc. ).

BusHardwareId () [3/3] ఇప్పటికే ఉన్న busHardwareIdని కాపీ చేసే కన్స్ట్రక్టర్.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

పారామితులు busHardwareId

కాపీ చేయడానికి బస్ హార్డ్‌వేర్ IDకి పేరు పెట్టండి.

సమానం () కొత్త బస్ హార్డ్‌వేర్ IDని ఇప్పటికే ఉన్న వాటితో పోలుస్తుంది.
bool nlc::BusHardwareId::equals (BusHardwareId const & ఇతర) const

ఇతర పారామీటర్‌లు నిజమని రిటర్న్‌లు

ఒకే తరగతికి చెందిన మరొక వస్తువు. రెండూ అన్ని విలువలలో సమానంగా ఉంటే.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

27

8 తరగతులు / ఫంక్షన్ల సూచన

తప్పుడు

విలువలు భిన్నంగా ఉంటే.

getBusHardware () బస్ హార్డ్‌వేర్ స్ట్రింగ్‌ను చదువుతుంది.
std::string nlc::BusHardwareId::getBusHardware () const

రిటర్న్స్ స్ట్రింగ్

getHardwareSpecifier () బస్ హార్డ్‌వేర్ యొక్క స్పెసిఫైయర్ స్ట్రింగ్‌ను చదువుతుంది (= నెట్‌వర్క్ పేరు మొదలైనవి).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

రిటర్న్స్ స్ట్రింగ్

getExtraHardwareSpecifier () బస్ అదనపు హార్డ్‌వేర్ యొక్క స్పెసిఫైయర్ స్ట్రింగ్‌ను చదువుతుంది (= MAC చిరునామా మొదలైనవి).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

రిటర్న్స్ స్ట్రింగ్

getName () బస్ హార్డ్‌వేర్ యొక్క స్నేహపూర్వక పేరును చదువుతుంది.
std::string nlc::BusHardwareId::getName() const

రిటర్న్స్ స్ట్రింగ్

getProtocol () బస్ ప్రోటోకాల్ స్ట్రింగ్‌ను చదువుతుంది.
std::string nlc::BusHardwareId::getProtocol () కాన్స్ట్

రిటర్న్స్ స్ట్రింగ్

toString () బస్ హార్డ్‌వేర్ IDని స్ట్రింగ్‌గా అందిస్తుంది.
std::string nlc::BusHardwareId::toString () కాన్స్ట్

రిటర్న్స్ స్ట్రింగ్
8.3 బస్ హార్డ్‌వేర్ ఎంపికలు
ఈ తరగతిలో, కీ-విలువ స్ట్రింగ్‌ల జాబితాలో, బస్ హార్డ్‌వేర్‌ను తెరవడానికి అవసరమైన అన్ని ఎంపికలను కనుగొనండి.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

28

8 తరగతులు / ఫంక్షన్ల సూచన

BusHardwareOptions () [1/2] కొత్త బస్ హార్డ్‌వేర్ ఆప్షన్ ఆబ్జెక్ట్‌ను నిర్మిస్తుంది.
nlc::BusHardwareOptions::BusHardwareOptions () కీ-విలువ జతలను జోడించడానికి addOption () ఫంక్షన్‌ను ఉపయోగించండి.

BusHardwareOptions () [2/2] ఇప్పటికే ఉన్న కీ-విలువ మ్యాప్‌తో కొత్త బస్ హార్డ్‌వేర్ ఎంపికల వస్తువును నిర్మిస్తుంది.
nlc::BusHardwareOptions::BusHardwareOptions (std::map) కాన్స్ట్ & ఆప్షన్స్)

పారామితులు ఎంపికలు

బస్ హార్డ్‌వేర్ ఆపరేట్ చేయడానికి ఎంపికలతో కూడిన మ్యాప్.

addOption () అదనపు కీలు మరియు విలువలను సృష్టిస్తుంది.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

పారామితుల కీ విలువ

Example: BAUD_RATE_OPTIONS_NAME, bus_hw_options_ డిఫాల్ట్‌లను చూడండి
Example: BAUD_RATE_1000K, bus_hw_options_defaults చూడండి

సమానం () ఇప్పటికే ఉన్న వాటితో BusHardwareOptionsని పోలుస్తుంది.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & ఇతర) const

ఇతర పారామీటర్‌లు నిజమని రిటర్న్‌లు
తప్పుడు

అదే తరగతికి చెందిన మరో వస్తువు. ఇతర ఆబ్జెక్ట్‌లో అన్ని ఖచ్చితమైన ఎంపికలు ఉంటే. ఇతర వస్తువు వేర్వేరు కీలు లేదా విలువలను కలిగి ఉంటే.

getOptions () జోడించిన అన్ని కీ-విలువ జతలను చదువుతుంది.
స్టాండర్డ్::మ్యాప్ nlc::BusHardwareOptions::getOptions () కాన్స్ట్

స్ట్రింగ్ మ్యాప్‌ను అందిస్తుంది

toString () అన్ని కీలు / విలువలను స్ట్రింగ్‌గా చూపుతుంది.
std::string nlc::BusHardwareId::toString () కాన్స్ట్

రిటర్న్స్ స్ట్రింగ్
8.4 BusHwOptionsDefault
ఈ డిఫాల్ట్ కాన్ఫిగరేషన్ ఎంపికల తరగతి క్రింది పబ్లిక్ లక్షణాలను కలిగి ఉంది:

వెర్షన్: doc 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 బస్ బాడ్రేట్‌లను కలిగి ఉన్న నిర్మాణం:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

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

8.6 CanBus

కింది పబ్లిక్ అట్రిబ్యూట్‌లతో డిఫాల్ట్ కాన్ఫిగరేషన్ ఎంపికల తరగతి:

కాన్స్ట్ std::స్ట్రింగ్ కాన్స్ట్ కాన్‌బాడ్ రేట్ కాన్స్ట్ ఇక్సాట్

BAUD_RATE_OPTIONS_NAME = “కెన్ అడాప్టర్ బాడ్ రేట్” baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

NMT సేవ కోసం, ఈ నిర్మాణం క్రింది పబ్లిక్ అట్రిబ్యూట్‌లలో స్ట్రింగ్ విలువలుగా CANOpen NMT స్థితులను కలిగి ఉంది:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

START = “START” STOP = “STOP” PRE_OPERATIONAL = “PRE_OPERATIONAL” రీసెట్ = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

ఈ నిర్మాణం క్రింది పబ్లిక్ లక్షణాలలో స్ట్రింగ్ విలువలుగా CANOpen NMT స్థితులను కలిగి ఉంది:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

STOPPED = "ఆపివేయబడింది" PRE_OPERATIONAL = "PRE_OPERATIONAL" OPERATIONAL = "ఆపరేషనల్" INITIALIZATION = "ప్రారంభం" UNKNOWN = "తెలియనిది"

8.9 EtherCATBus నిర్మాణం

ఈ నిర్మాణం క్రింది పబ్లిక్ అట్రిబ్యూట్‌లలో EtherCAT కమ్యూనికేషన్ కాన్ఫిగరేషన్ ఎంపికలను కలిగి ఉంది:

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

30

8 తరగతులు / ఫంక్షన్ల సూచన

const std::string NETWORK_FIRMWARE_STATE_OP- నెట్‌వర్క్ స్థితి ఫర్మ్‌వేర్ మోడ్‌గా పరిగణించబడుతుంది. ఆమోదయోగ్యమైనది

TION_NAME = “నెట్‌వర్క్ ఫర్మ్‌వేర్ స్థితి”

విలువలు (డిఫాల్ట్ = PRE_OPERATIONAL):

ఈథర్‌క్యాట్‌స్టేట్::PRE_OPERATIONAL ఈథర్‌క్యాట్‌స్టేట్::SAFE_OPERATIONAL ఈథర్‌క్యాట్‌స్టేట్::OPERATIONAL

const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- ఎక్స్‌క్లూజివ్ లాక్ ఆన్‌ను పొందడానికి మిల్లీసెకన్లలో గడువు ముగిసింది

TION_NAME = “షేర్డ్ లాక్ గడువు ముగిసింది”

నెట్‌వర్క్ (డిఫాల్ట్ = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ షేర్డ్ లాక్ ఆన్ పొందడానికి మిల్లీసెకన్లలో గడువు ముగిసింది

NAME = “షేర్డ్ లాక్ టైమ్ అవుట్”

నెట్‌వర్క్ (డిఫాల్ట్ = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = రీడ్ ఆపరేషన్ కోసం మిల్లీసెకన్లలో సమయం ముగిసింది (డిఫాల్ట్

“చదవడానికి సమయం ముగిసింది”

= 700 ఎంఎస్‌లు).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = రైట్ ఆపరేషన్ కోసం మిల్లీసెకన్లలో సమయం ముగిసింది (డిఫాల్ట్

"వ్రాసే సమయం ముగిసింది"

= 200 ఎంఎస్‌లు).

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

const std::string READ_WRITE_ATTEMPTS_OPTION_ గరిష్ట చదవడానికి లేదా వ్రాయడానికి ప్రయత్నాలు (సున్నా కాని విలువలు

NAME = “చదవడానికి/వ్రాయడానికి ప్రయత్నాలు”

మాత్రమే; డిఫాల్ట్ = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “నెట్‌వర్క్ స్థితి ప్రయత్నాలను మార్చండి”

నెట్‌వర్క్ స్థితిని మార్చడానికి గరిష్ట ప్రయత్నాల సంఖ్య (సున్నా కాని విలువలు మాత్రమే; డిఫాల్ట్ = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME డిజిటల్ ఇన్- / కోసం PDO ప్రాసెసింగ్‌ను ప్రారంభిస్తుంది లేదా నిలిపివేస్తుంది.

= “PDO IO ప్రారంభించబడింది”

అవుట్‌పుట్‌లు (“ట్రూ” లేదా “ఫాల్స్” మాత్రమే; డిఫాల్ట్ = “ట్రూ”).

const std::string DEFAULT_PDO_IO_ENABLED = “నిజం”

8.10 ఈథర్‌క్యాట్‌స్టేట్ నిర్మాణం

ఈ నిర్మాణం క్రింది పబ్లిక్ అట్రిబ్యూట్‌లలో స్ట్రింగ్ విలువలుగా EtherCAT స్లేవ్ / నెట్‌వర్క్ స్టేట్‌లను కలిగి ఉంది. గమనిక: పవర్ ఆన్‌లో డిఫాల్ట్ స్థితి PRE_OPERATIONAL; నానోలిబ్ రియల్ టైమ్ కాని ఆపరేటింగ్ సిస్టమ్‌లో నమ్మకమైన “ఆపరేషనల్” స్థితిని అందించదు:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

NONE = "NONE" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" OPERATIONAL = "ఆపరేషనల్"

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

31

8 తరగతులు / ఫంక్షన్ల సూచన

8.11 Ixxat

ఈ నిర్మాణం Ixxat usb-to-can కోసం అన్ని సమాచారాన్ని క్రింది పబ్లిక్ లక్షణాలలో కలిగి ఉంది:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “ixxat అడాప్టర్ బస్ నంబర్”

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

ఈ నిర్మాణం Ixxat usb-to-can కోసం బస్ నంబర్‌ను క్రింది పబ్లిక్ లక్షణాలలో కలిగి ఉంది:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

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

8.13 శిఖరం

ఈ నిర్మాణం కింది పబ్లిక్ లక్షణాలలో పీక్ యుఎస్‌బి-టు-క్యాన్ కోసం అన్ని సమాచారాన్ని కలిగి ఉంది:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “పీక్ అడాప్టర్ బస్ నంబర్”

const PeakAdapterBusNumber అడాప్టర్BusNumber = PeakAdapterBusNumber ()

8.14 పీక్‌అడాప్టర్‌బస్‌నంబర్

ఈ నిర్మాణం కింది పబ్లిక్ లక్షణాలలో పీక్ యుఎస్‌బి-టు-క్యాన్ కోసం బస్ నంబర్‌ను కలిగి ఉంది:

కాన్స్ట్ std::స్ట్రింగ్

BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS4) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_9 = std::to_string (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_13 = std::to_string (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)

8.15 పరికర హ్యాండిల్
ఈ తరగతి బస్సులో పరికరాన్ని నియంత్రించే హ్యాండిల్‌ను సూచిస్తుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది.

డివైస్ హ్యాండిల్ () డివైస్ హ్యాండిల్ (uint32_t హ్యాండిల్)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

32

8 తరగతులు / ఫంక్షన్ల సూచన

సమానం () ఇచ్చిన పరికర హ్యాండిల్‌తో పోల్చబడుతుంది.
బూల్ ఈక్వల్స్ (డివైస్ హ్యాండిల్ కాన్స్ట్ అదర్) కాన్స్ట్ (uint32_t హ్యాండిల్)

toString () పరికరం హ్యాండిల్ యొక్క స్ట్రింగ్ ప్రాతినిధ్యాన్ని అందిస్తుంది.
std::string toString () కాన్స్ట్

get () పరికర హ్యాండిల్‌ను అందిస్తుంది.
uint32_t పొందండి () కాన్స్ట్

8.16 డివైజ్ ఐడి
బస్సులో పరికరాలను గుర్తించడానికి మరియు వేరు చేయడానికి ఈ తరగతిని (సృష్టి నుండి మార్చలేనిది కాదు) ఉపయోగించండి:

హార్డ్‌వేర్ అడాప్టర్ ఐడెంటిఫైయర్

పరికర ఐడెంటిఫైయర్

వివరణ

పరికరం ID / వివరణ విలువల అర్థం బస్సుపై ఆధారపడి ఉంటుంది. ఉదాహరణకుample, CAN బస్ పూర్ణాంక IDని ఉపయోగించవచ్చు.

DeviceId () [1/3] కొత్త పరికర ID ఆబ్జెక్ట్‌ని నిర్మిస్తుంది.
nlc::DeviceId::DeviceId (బస్‌హార్డ్‌వేర్‌ఐడి కాన్స్ట్ & బస్‌హార్డ్‌వేర్‌ఐడి_, సంతకం చేయని ఇంట్ డివైస్ ఐడి_, స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ & వివరణ_)

పారామితులు busHardwareId_ deviceId_ description_

బస్సు యొక్క ఐడెంటిఫైయర్. ఒక సూచిక; బస్సుకు లోబడి ఉంటుంది (= CANOpen నోడ్ ID మొదలైనవి). వివరణ (ఖాళీగా ఉండవచ్చు); బస్సుకు లోబడి.

DeviceId () [2/3] పొడిగించిన ID ఎంపికలతో కొత్త పరికర ID వస్తువును నిర్మిస్తుంది.
nlc::DeviceId::DeviceId (బస్‌హార్డ్‌వేర్‌ఐడి కాన్స్ట్ & బస్‌హార్డ్‌వేర్‌ఐడి, సంతకం చేయని ఇంట్ డివైస్ ఐడి_, స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ & వివరణ_ స్టాండర్డ్::వెక్టర్ const & extraId_, std::string const & extraStringId_)

పారామితులు busHardwareId_ deviceId_ description_ extraId_ extraStringId_

బస్సు యొక్క ఐడెంటిఫైయర్. ఒక సూచిక; బస్సుకు లోబడి ఉంటుంది (= CAN ఓపెన్ నోడ్ ID మొదలైనవి). వివరణ (ఖాళీగా ఉండవచ్చు); బస్సుకు లోబడి ఉంటుంది. అదనపు ID (ఖాళీగా ఉండవచ్చు); అర్థం బస్సుపై ఆధారపడి ఉంటుంది. అదనపు స్ట్రింగ్ ID (ఖాళీగా ఉండవచ్చు); అర్థం బస్సుపై ఆధారపడి ఉంటుంది.

DeviceId () [3/3] పరికర ID ఆబ్జెక్ట్ కాపీని నిర్మిస్తుంది.
nlc::DeviceId::DeviceId (డివైస్ ఐడి కాన్స్ట్ &)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

33

8 తరగతులు / ఫంక్షన్ల సూచన

పారామీటర్లు deviceId_

దీని నుండి కాపీ చేయడానికి పరికర ID.

సమానం () ఇప్పటికే ఉన్న వస్తువులతో కొత్తదాన్ని పోలుస్తుంది.
bool nlc::DeviceId::equals (DeviceId కాన్స్ట్ & ఇతర) కాన్స్ట్

బూలియన్ తిరిగి వస్తుంది

getBusHardwareId () బస్ హార్డ్‌వేర్ IDని చదువుతుంది.
బస్‌హార్డ్‌వేర్ ఐడి nlc::డివైస్ ఐడి::గెట్‌బస్‌హార్డ్‌వేర్ ఐడి () కాన్స్ట్

BusHardwareIdని అందిస్తుంది

getDescription () పరికర వివరణను చదువుతుంది (బహుశా ఉపయోగించనిది కావచ్చు).
std::string nlc::DeviceId::getDescription () const

రిటర్న్స్ స్ట్రింగ్

getDeviceId () పరికర IDని చదువుతుంది (బహుశా ఉపయోగించనిది కావచ్చు).
సంతకం చేయని int nlc::DeviceId::getDeviceId () const

సంతకం చేయని పూర్ణాన్ని చూపుతుంది

toString () వస్తువును స్ట్రింగ్‌గా చూపుతుంది.
std::string nlc::DeviceId::toString () కాన్స్ట్

రిటర్న్స్ స్ట్రింగ్

getExtraId () పరికరం యొక్క అదనపు IDని చదువుతుంది (ఉపయోగించబడకపోవచ్చు).
కాన్స్ట్ స్టాండర్డ్::వెక్టర్ &getExtraId () కాన్స్ట్

వెక్టర్‌ను తిరిగి ఇస్తుంది

అదనపు అదనపు ID యొక్క వెక్టర్ (ఖాళీగా ఉండవచ్చు); అర్థం బస్సు మీద ఆధారపడి ఉంటుంది.

getExtraStringId () పరికరం యొక్క అదనపు స్ట్రింగ్ IDని చదువుతుంది (ఉపయోగించనిది కావచ్చు).
std::string getExtraStringId () const

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

34

8 తరగతులు / ఫంక్షన్ల సూచన

రిటర్న్స్ స్ట్రింగ్

అదనపు స్ట్రింగ్ ID (ఖాళీగా ఉండవచ్చు); అర్థం బస్సు మీద ఆధారపడి ఉంటుంది.

8.17 LogLevelConverter

ఈ తరగతి మీ లాగ్ స్థాయిని స్ట్రింగ్‌గా అందిస్తుంది. స్టాటిక్ std::string toString (nlc::LogLevel logLevel)

8.18 లాగ్‌మాడ్యూల్ కన్వర్టర్

ఈ తరగతి మీ లైబ్రరీ-నిర్దిష్ట లాగ్ modulesetLoggingLevel ()ని స్ట్రింగ్‌గా అందిస్తుంది.

స్టాటిక్ std::స్ట్రింగ్

toString (nlc::లాగ్ మాడ్యూల్ లాగ్‌మాడ్యూల్)

స్టాటిక్ std::string toString (nlc::LogModule logModule)

8.19 ఆబ్జెక్ట్ డిక్షనరీ
ఈ తరగతి కంట్రోలర్ యొక్క ఆబ్జెక్ట్ డిక్షనరీని సూచిస్తుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంది: getDeviceHandle ()
వర్చువల్ ResultDeviceHandle getDeviceHandle () const ResultDeviceHandleని అందిస్తుంది

getObject () వర్చువల్ ResultObjectSubEntry getObject (OdIndex const odIndex) ResultObjectSubEntry ని అందిస్తుంది

getObjectEntry () వర్చువల్ ResultObjectEntry getObjectEntry (uint16_t సూచిక)

ResultObjectEntryని అందిస్తుంది

వస్తువు యొక్క లక్షణాలపై తెలియజేస్తుంది.

getXmlFileపేరు () వర్చువల్ రిజల్ట్ స్ట్రింగ్ getXmlFileపేరు () స్థిరాంకం

ResultStringని అందిస్తుంది

XMLని అందిస్తుంది file స్ట్రింగ్‌గా పేరు పెట్టండి.

readNumber () వర్చువల్ ResultInt readNumber (OdIndex const odIndex) ResultInt ని అందిస్తుంది
readNumberArray () వర్చువల్ ResultArrayInt readNumberArray (uint16_t కాన్స్ట్ ఇండెక్స్)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

35

8 తరగతులు / ఫంక్షన్ల సూచన
ResultArrayInt readString ()ని అందిస్తుంది
వర్చువల్ రిజల్ట్ స్ట్రింగ్ రీడ్ స్ట్రింగ్ (OdIndex const odIndex) రిజల్ట్ స్ట్రింగ్ రీడ్ బైట్స్ () వర్చువల్ రిజల్ట్ అర్రేబైట్ రీడ్ బైట్స్ (OdIndex const odIndex) రిజల్ట్ అర్రేబైట్ రైట్ నంబర్ () వర్చువల్ రిజల్ట్ వాయిడ్ రైట్ నంబర్ (OdIndex const odIndex, const int64_t విలువ) రిజల్ట్ వాయిడ్ రైట్ బైట్స్ () వర్చువల్ రిజల్ట్ వాయిడ్ రైట్ బైట్స్ (OdIndex const OdIndex, std::vector ను రిటర్న్ చేస్తుంది.
const & data) రిటర్న్స్ ఫలితం Void సంబంధిత లింకులు OdIndex
8.20 ఆబ్జెక్ట్ ఎంట్రీ
ఈ తరగతి ఆబ్జెక్ట్ నిఘంటువు యొక్క ఆబ్జెక్ట్ ఎంట్రీని సూచిస్తుంది, కింది స్టాటిక్ ప్రొటెక్టెడ్ లక్షణం మరియు పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:
స్టాటిక్ nlc::ObjectSubEntry invalidObject
getName () వస్తువు పేరును స్ట్రింగ్‌గా చదువుతుంది.
వర్చువల్ std::string getName() const
getPrivate () వస్తువు ప్రైవేట్‌గా ఉందో లేదో తనిఖీ చేస్తుంది.
వర్చువల్ బూల్ getPrivate () const
getIndex () ఆబ్జెక్ట్ ఇండెక్స్ చిరునామాను చదువుతుంది.
వర్చువల్ uint16_t getIndex () కాన్స్ట్

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

36

8 తరగతులు / ఫంక్షన్ల సూచన

getDataType () ఆబ్జెక్ట్ యొక్క డేటా రకాన్ని చదువుతుంది.
వర్చువల్ nlc::ObjectEntryDataType getDataType () const

getObjectCode () ఆబ్జెక్ట్ కోడ్‌ను చదువుతుంది:

నల్ డెఫ్టైప్ డిఫ్‌స్ట్రక్ట్ వర్ అర్రే రికార్డ్

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

వర్చువల్ nlc::ఆబ్జెక్ట్ కోడ్ getObjectCode () const

getObjectSaveable () ఆబ్జెక్ట్ సేవ్ చేయగలదా మరియు దాని కేటగిరీని తనిఖీ చేస్తుంది (మరిన్ని వివరాల కోసం ఉత్పత్తి మాన్యువల్‌ని చూడండి): అప్లికేషన్, కమ్యూనికేషన్, డ్రైవ్, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFYUN_1020KOWLEXNUMX
వర్చువల్ nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () ఈ ఆబ్జెక్ట్ ద్వారా మద్దతిచ్చే ఉప సూచికల సంఖ్యను చదువుతుంది.
వర్చువల్ uint8_t getMaxSubIndex () కాన్స్ట్

getSubEntry() వర్చువల్ nlc::ObjectSubEntry & getSubEntry (uint8_t సబ్‌ఇండెక్స్)
ObjectSubEntry కూడా చూడండి.
8.21 ఆబ్జెక్ట్ సబ్‌ఎంట్రీ
ఈ తరగతి ఆబ్జెక్ట్ డిక్షనరీ యొక్క ఆబ్జెక్ట్ సబ్-ఎంట్రీ (సబిండెక్స్)ని సూచిస్తుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:
getName () వస్తువు పేరును స్ట్రింగ్‌గా చదువుతుంది.
వర్చువల్ std::string getName() const

getSubIndex () ఉప సూచిక చిరునామాను చదువుతుంది.
వర్చువల్ uint8_t getSubIndex () కాన్స్ట్

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

37

8 తరగతులు / ఫంక్షన్ల సూచన

getDataType () ఆబ్జెక్ట్ యొక్క డేటా రకాన్ని చదువుతుంది.
వర్చువల్ nlc::ObjectEntryDataType getDataType () const

getSdoAccess () SDO ద్వారా సబ్‌ఇండెక్స్ యాక్సెస్ చేయబడుతుందో లేదో తనిఖీ చేస్తుంది:

చదవడానికి మాత్రమే

1

వ్రాయడం మాత్రమే

2

చదవండి

3

అనుమతి లేదు

0

వర్చువల్ nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () PDO ద్వారా సబ్‌ఇండెక్స్ యాక్సెస్ చేయగలదా/మ్యాప్ చేయగలదా అని తనిఖీ చేస్తుంది:

Tx

1

Rx

2

TxRx

3

నం

0

వర్చువల్ nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () ఉప సూచిక పొడవును తనిఖీ చేస్తుంది.
వర్చువల్ uint32_t getBitLength () కాన్స్ట్

getDefaultValueAsNumeric () సంఖ్యా డేటా రకాల కోసం ఉప సూచిక యొక్క డిఫాల్ట్ విలువను చదువుతుంది.
వర్చువల్ రిజల్ట్ఇంట్ getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () స్ట్రింగ్ డేటా రకాల కోసం ఉప సూచిక యొక్క డిఫాల్ట్ విలువను చదువుతుంది.
వర్చువల్ రిజల్ట్ స్ట్రింగ్ getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() ఉప సూచిక యొక్క డిఫాల్ట్ విలువలను చదువుతుంది.
వర్చువల్ std::map getDefaultValues ​​() కాన్స్ట్

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

38

8 తరగతులు / ఫంక్షన్ల సూచన

readNumber () ఉప సూచిక యొక్క సంఖ్యా వాస్తవ విలువను చదువుతుంది.
వర్చువల్ రిజల్ట్ఇంట్ రీడ్ నంబర్ () కాన్స్ట్

readString () ఉప సూచిక యొక్క స్ట్రింగ్ వాస్తవ విలువను చదువుతుంది.
వర్చువల్ రిజల్ట్ స్ట్రింగ్ రీడ్ స్ట్రింగ్ () కాన్స్ట్

readBytes () ఉప సూచిక యొక్క వాస్తవ విలువను బైట్‌లలో చదువుతుంది.
వర్చువల్ ResultArrayByte readBytes () const

writeNumber () ఉప సూచికలో సంఖ్యా విలువను వ్రాస్తుంది.
వర్చువల్ ఫలితం శూన్య రచన సంఖ్య (const int64_t విలువ) const

writeBytes () ఉప సూచికలో విలువను బైట్‌లలో వ్రాస్తుంది.
వర్చువల్ ఫలితం శూన్య రైట్బైట్స్ (std::వెక్టర్ కాన్స్ట్ & డేటా) కాన్స్ట్

8.22 ఓడిఇండెక్స్
ఆబ్జెక్ట్ డైరెక్టరీ సూచికలు / ఉప సూచికలను చుట్టడానికి మరియు గుర్తించడానికి ఈ తరగతిని (సృష్టి నుండి మార్చలేనిది) ఉపయోగించండి. పరికరం యొక్క OD గరిష్టంగా 65535 (0xFFFF) అడ్డు వరుసలు మరియు 255 (0xFF) నిలువు వరుసలను కలిగి ఉంటుంది; నిరంతర వరుసల మధ్య ఖాళీలతో. మరిన్ని వివరాల కోసం Canopen ప్రమాణం మరియు మీ ఉత్పత్తి మాన్యువల్‌ని చూడండి.
OdIndex () కొత్త OdIndex వస్తువును నిర్మిస్తుంది.
nlc::OdIndex::OdIndex (uint16_t సూచిక, uint8_t ఉప సూచిక)

పారామితులు సూచిక ఉప సూచిక

0 నుండి 65535 (0xFFFF) వరకు. 0 నుండి 255 (0xFF) వరకు.

getIndex () సూచికను చదువుతుంది (0x0000 నుండి 0xFFFF వరకు).
uint16_t nlc::OdIndex::getIndex () కాన్స్ట్

uint16_t ని తిరిగి ఇస్తుంది

getSubindex () ఉప-సూచికను చదువుతుంది (0x00 నుండి 0xFF వరకు)
uint8_t nlc::OdIndex::getSubIndex () కాన్స్ట్

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

39

8 తరగతులు / ఫంక్షన్ల సూచన

uint8_t ని తిరిగి ఇస్తుంది

toString () సూచిక మరియు ఉప సూచికను స్ట్రింగ్‌గా చూపుతుంది. స్ట్రింగ్ డిఫాల్ట్ 0xIIII:0xSS క్రింది విధంగా చదవబడుతుంది:

I = సూచిక 0x0000 నుండి 0xFFFF వరకు

S = 0x00 నుండి 0xFF వరకు ఉప-సూచిక

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

రిటర్న్స్ 0xIIII:0xSS

డిఫాల్ట్ స్ట్రింగ్ ప్రాతినిధ్యం

8.23 ఓడ్ లైబ్రరీ
XML నుండి ఆబ్జెక్ట్ డిక్షనరీ క్లాస్ యొక్క ఉదాహరణలను సృష్టించడానికి ఈ ప్రోగ్రామింగ్ ఇంటర్‌ఫేస్‌ని ఉపయోగించండి. assignObjectDictionary ద్వారా, మీరు ప్రత్యేకంగా రూపొందించిన ఐడెంటిఫైయర్ కారణంగా ప్రతి సందర్భాన్ని నిర్దిష్ట పరికరానికి బంధించవచ్చు. ఈ విధంగా సృష్టించబడిన ఆబ్జెక్ట్ డిక్షనరీ ఉదంతాలు ఇండెక్స్ ద్వారా యాక్సెస్ చేయడానికి OdLibrary ఆబ్జెక్ట్‌లో నిల్వ చేయబడతాయి. ODLibrary క్లాస్ ఆబ్జెక్ట్ డిక్షనరీ ఐటెమ్‌లను లోడ్ చేస్తుంది file లేదా శ్రేణి, వాటిని నిల్వ చేస్తుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:

getObjectDictionaryCount () వర్చువల్ uint32_t getObjectDictionaryCount () కాన్స్ట్

getObjectDictionary () వర్చువల్ ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

ResultObjectDictionaryని అందిస్తుంది

addObjectDictionary నుండిFile ()
వర్చువల్ ResultObjectDictionary addObjectDictionaryFromFile (std::స్ట్రింగ్ కాన్స్ట్ & అబ్సొల్యూట్ఎక్స్ఎమ్ఎల్Fileమార్గం)

ResultObjectDictionaryని అందిస్తుంది

యాడ్ ఆబ్జెక్ట్ డిక్షనరీ ()
వర్చువల్ రిజల్ట్ ఆబ్జెక్ట్ డిక్షనరీ యాడ్ ఆబ్జెక్ట్ డిక్షనరీ (std:: వెక్టర్ const & odXmlData, const std::string &xmlFileమార్గం = std::string ())

ResultObjectDictionaryని అందిస్తుంది
8.24 OdTypesHelper
కింది పబ్లిక్ మెంబర్ ఫంక్షన్లతో పాటు, ఈ క్లాస్ కస్టమ్ డేటా రకాలను కలిగి ఉంటుంది. గమనిక: మీ కస్టమ్ డేటా రకాలను తనిఖీ చేయడానికి, od_types.hppలో enum క్లాస్ ObjectEntryDataType కోసం చూడండి.

uintToObjectCode () సంతకం చేయని పూర్ణాంకాలను ఆబ్జెక్ట్ కోడ్‌గా మారుస్తుంది:

శూన్య డెఫ్టైప్

0x00 0x05

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

40

8 తరగతులు / ఫంక్షన్ల సూచన

డిఫ్స్ట్రక్ట్ వర్ అర్రే రికార్డ్

0x06 0x07 0x08 0x09

స్టాటిక్ ఆబ్జెక్ట్‌కోడ్ uintToObjectCode (సంతకం చేయని int ఆబ్జెక్ట్‌కోడ్)

isNumericDataType () డేటా రకం సంఖ్యా లేదా కాదా అని తెలియజేస్తుంది.
స్టాటిక్ బూల్ isNumericDataType (ఆబ్జెక్ట్ ఎంట్రీడేటాటైప్ డేటాటైప్)

isDefstructIndex () ఆబ్జెక్ట్ డెఫినిషన్ స్ట్రక్చర్ ఇండెక్స్ కాదా అని తెలియజేస్తుంది.
స్టాటిక్ బూల్ డెఫ్‌స్ట్రక్ట్ ఇండెక్స్ (uint16_t టైప్‌నమ్)

isDeftypeIndex () ఆబ్జెక్ట్ డెఫినిషన్ టైప్ ఇండెక్స్ కాదా అని తెలియజేస్తుంది.
స్టాటిక్ బూల్ డెఫ్టైప్ ఇండెక్స్ (uint16_t టైప్‌నమ్)

isComplexDataType () డేటా రకం సంక్లిష్టంగా ఉందో లేదో తెలియజేస్తుంది.
స్టాటిక్ బూల్ isComplexDataType (ఆబ్జెక్ట్‌ఎంట్రీడేటాటైప్ డేటాటైప్)

uintToObjectEntryDataType () సంతకం చేయని పూర్ణాంకాలను OD డేటా రకానికి మారుస్తుంది.
sstatic ఆబ్జెక్ట్ ఎంట్రీడేటాటైప్ uintToObjectఎంట్రీడేటాటైప్ (uint16_t ఆబ్జెక్ట్ డేటాటైప్)

objectEntryDataTypeToString () OD డేటా రకాన్ని స్ట్రింగ్‌గా మారుస్తుంది.
స్టాటిక్ std::స్ట్రింగ్ objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () వీలైతే స్ట్రింగ్‌ను OD డేటా రకానికి మారుస్తుంది. లేకపోతే, UNKNOWN_DATATYPEని అందిస్తుంది.
స్టాటిక్ ఆబ్జెక్ట్ ఎంట్రీడేటాటైప్ స్ట్రింగ్ టోఆబ్జెక్ట్ ఎంట్రీడేటాటైప్ (std:: స్ట్రింగ్ డేటా టైప్ స్ట్రింగ్)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

41

8 తరగతులు / ఫంక్షన్ల సూచన

objectEntryDataTypeBitLength () ఆబ్జెక్ట్ ఎంట్రీ డేటా రకం యొక్క బిట్ పొడవు గురించి తెలియజేస్తుంది.
స్టాటిక్ uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType కాన్స్ట్ & డేటాటైప్)

8.25 RESTfulBus నిర్మాణం

ఈ నిర్మాణం RESTful ఇంటర్‌ఫేస్ (ఈథర్‌నెట్ ద్వారా) కోసం కమ్యూనికేషన్ కాన్ఫిగరేషన్ ఎంపికలను కలిగి ఉంది. ఇది క్రింది పబ్లిక్ లక్షణాలను కలిగి ఉంది:

const std::string const unsigned long const std::string const unsigned long const std::string const సంతకం చేయని పొడవు

CONNECT_TIMEOUT_OPTION_NAME = “RESTful Connect గడువు ముగిసింది” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “RESTful అభ్యర్థన గడువు ముగిసింది” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIME ONSE_TIMEOUT = 750

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 () కాన్స్ట్

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)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

42

8 తరగతులు / ఫంక్షన్ల సూచన

సేవ అందుబాటులో ఉంది ()
Profinet DCP సేవ లభ్యతను తనిఖీ చేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
నెట్‌వర్క్ అడాప్టర్ చెల్లుబాటు / లభ్యత Windows: WinPcap / Npcap లభ్యత Linux: CAP_NET_ADMIN / CAP_NET_RAW సామర్థ్యాలు
వర్చువల్ రిజల్ట్‌వోయిడ్ ఎన్‌ఎల్‌సి ::ప్రొఫైనెట్ డిసిపి ::సేవ అందుబాటులో ఉంది (బస్ హార్డ్‌వేర్ ఐడి & బస్ హార్డ్‌వేర్ ఐడి)

పరామితులు BusHardwareId నిజమని చూపుతుంది
తప్పుడు

తనిఖీ చేయడానికి Profinet DCP సేవ యొక్క హార్డ్‌వేర్ ID. సేవ అందుబాటులో ఉంది. సేవ అందుబాటులో లేదు.

scanProfinetDevices () Profinet పరికరాల ఉనికి కోసం హార్డ్‌వేర్ బస్సును స్కాన్ చేయడానికి ఈ ఫంక్షన్‌ని ఉపయోగించండి.
వర్చువల్ ఫలితంప్రొఫైనెట్‌డివైసెస్ స్కాన్‌ప్రొఫైనెట్‌డివైసెస్ (కాన్స్ట్ బస్‌హార్డ్‌వేర్ ఐడి & బస్‌హార్డ్‌వేర్ ఐడి)

పరామితులు BusHardwareId రిటర్న్స్ ఫలితాలుProfinetDevices

తెరవడానికి ప్రతి ఫీల్డ్‌బస్‌ను పేర్కొంటుంది. హార్డ్‌వేర్ తెరిచి ఉంది.

setupProfinetDevice () కింది పరికర సెట్టింగ్‌లను ఏర్పాటు చేస్తుంది:

పరికరం పేరు

IP చిరునామా

నెట్‌వర్క్ మాస్క్

డిఫాల్ట్ గేట్‌వే

వర్చువల్ రిజల్ట్ వాయిడ్ nlc::setupProfinetDevice (కాన్స్ట్ బస్‌హార్డ్‌వేర్ ఐడి & బస్‌హార్డ్‌వేర్ ఐడి, కాన్స్ట్ ప్రొఫైనెట్‌డివైస్ స్ట్రక్ట్ & ప్రొఫైనెట్‌డివైస్, బూల్ సేవ్ పర్మనెంట్)

resetProfinetDevice () పరికరాన్ని ఆపి ఫ్యాక్టరీ డిఫాల్ట్‌లకు రీసెట్ చేస్తుంది.
వర్చువల్ ఫలితం శూన్య nlc::resetProfinetDevice (కాన్స్ట్ బస్‌హార్డ్‌వేర్ ఐడి & బస్‌హార్డ్‌వేర్ ఐడి, కాన్స్ట్ ప్రొఫైనెట్‌డివైస్ & ప్రొఫైనెట్‌డివైస్)

blinkProfinetDevice () Profinet పరికరాన్ని దాని Profinet LEDని బ్లింక్ చేయడం ప్రారంభించమని ఆదేశిస్తుంది.
వర్చువల్ ఫలితం శూన్య nlc::blinkProfinetDevice (కాన్స్ట్ బస్‌హార్డ్‌వేర్ ఐడి & బస్‌హార్డ్‌వేర్ ఐడి, కాన్స్ట్ ప్రొఫైనెట్‌డివైస్ &ప్రొఫైనెట్‌డివైస్)

ValidateProfinetDeviceIp () పరికరం యొక్క IP చిరునామాను తనిఖీ చేయడానికి ఈ ఫంక్షన్‌ను ఉపయోగించండి.
వర్చువల్ ఫలితం చెల్లదు చెల్లుబాటు అయ్యే ప్రోఫైనెట్‌డివైస్ ఐపి (కాన్స్ట్ బస్‌హార్డ్‌వేర్ ఐడి & బస్‌హార్డ్‌వేర్ ఐడి, కాన్స్ట్ ప్రొఫైనెట్‌డివైస్ & ప్రోఫైనెట్‌డివైస్)

పారామితులు BusHardwareId ProfinetDevice

తనిఖీ చేయడానికి హార్డ్‌వేర్ IDని పేర్కొంటుంది. ప్రామాణీకరించడానికి Profinet పరికరాన్ని పేర్కొంటుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

43

8 తరగతులు / ఫంక్షన్ల సూచన

ResultVoidని అందిస్తుంది

8.27 ProfinetDevice struct

Profinet పరికర డేటా కింది పబ్లిక్ లక్షణాలను కలిగి ఉంది:

std::స్ట్రింగ్ std::స్ట్రింగ్ std::అర్రే< uint8_t, 6 > uint32_t uint32_t uint32_t

పరికర పేరు పరికర విక్రేత మాక్ చిరునామా ఐపి చిరునామా నెట్‌మాస్క్ డిఫాల్ట్ గేట్‌వే

MAC చిరునామా macAddress = {xx, xx, xx, xx, xx, xx} ఫార్మాట్‌లో శ్రేణిగా అందించబడింది; అయితే IP చిరునామా, నెట్‌వర్క్ మాస్క్ మరియు గేట్‌వే అన్నీ పెద్ద ఎండియన్ హెక్స్ నంబర్‌లుగా వివరించబడతాయి, అవి:

IP చిరునామా: 192.168.0.2 నెట్‌వర్క్ మాస్క్: 255.255.0.0 గేట్‌వే: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 ఫలితాలు తరగతులు

ఫంక్షన్ కాల్ విజయవంతమైందా లేదా అని తనిఖీ చేయడానికి ఈ తరగతుల "ఐచ్ఛిక" రిటర్న్ విలువలను ఉపయోగించండి మరియు విఫలమైన కారణాలను కూడా గుర్తించండి. విజయవంతం అయినప్పుడు, hasError () ఫంక్షన్ తప్పు అని చూపుతుంది. getResult () ద్వారా, మీరు రకం ప్రకారం ఫలిత విలువను చదవవచ్చు (ResultInt మొదలైనవి). కాల్ విఫలమైతే, మీరు getError () ద్వారా కారణాన్ని చదవండి.

రక్షిత లక్షణాలు

స్ట్రింగ్ NlcErrorCode uint32_t

ఎర్రర్‌స్ట్రింగ్ ఎర్రర్‌కోడ్ exErrorCode

అలాగే, ఈ తరగతి కింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంది:

hasError () ఫంక్షన్ కాల్ విజయాన్ని చదువుతుంది.
bool nlc::Result::hasError () const

తిరిగి వస్తుంది

నిజమైన అబద్ధం

కాల్ విఫలమైంది. విలువను చదవడానికి getError ()ని ఉపయోగించండి. విజయవంతమైన కాల్. విలువను చదవడానికి getResult ()ని ఉపయోగించండి.

getError () ఫంక్షన్ కాల్ విఫలమైతే కారణాన్ని చదువుతుంది.
const std::string nlc::Result::getError() const

కాన్స్ట్ స్ట్రింగ్‌ను అందిస్తుంది

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

44

8 తరగతులు / ఫంక్షన్ల సూచన
result () కింది విధులు ఖచ్చితమైన ఫలితాలను నిర్వచించడంలో సహాయపడతాయి:
ఫలితం (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 () కాన్స్ట్
8.28.1 ఫలితం శూన్యం
ఫంక్షన్ శూన్యంగా ఉంటే NanoLib మీకు ఈ తరగతికి సంబంధించిన ఉదాహరణను పంపుతుంది. తరగతి రిజల్ట్ క్లాస్ నుండి పబ్లిక్ ఫంక్షన్‌లు మరియు రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:
ResultVoid () కింది విధులు ఖచ్చితమైన శూన్య ఫలితాన్ని నిర్వచించడంలో సహాయపడతాయి:
ఫలితం శూన్యం (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: స్ట్రింగ్ const & errorString_)
ఫలితం శూన్యం (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.2 ఫలితం
ఫంక్షన్ పూర్ణాంకాన్ని తిరిగి ఇస్తే, NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుంది. తరగతి ఫలితం తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే పూర్ణాంక ఫలితాన్ని అందిస్తుంది.
int64_t getResult () కాన్స్ట్
int64_t ని తిరిగి ఇస్తుంది

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

45

8 తరగతులు / ఫంక్షన్ల సూచన
ResultInt () ఖచ్చితమైన పూర్ణాంక ఫలితాన్ని నిర్వచించడంలో క్రింది విధులు సహాయపడతాయి:
ఫలితం (int64_t ఫలితం_)
ఫలితం (std:: స్ట్రింగ్ కాన్స్ట్ & ఎర్రర్ స్ట్రింగ్_)
ఫలితం (NlcErrorCode const & errCode, std::string const & errorString_)
ఫలితం (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ఫలితం (ఫలితాల కాన్స్ట్ & ఫలితం)
8.28.3 ఫలితం స్ట్రింగ్
ఫంక్షన్ స్ట్రింగ్‌ను అందించినట్లయితే NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుంది. తరగతి ఫలితం తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే స్ట్రింగ్ ఫలితాన్ని చదువుతుంది.
కాన్స్ట్ std::స్ట్రింగ్ nlc::ResultString::getResult () కాన్స్ట్
కాన్స్ట్ స్ట్రింగ్‌ను అందిస్తుంది
ResultString () ఖచ్చితమైన స్ట్రింగ్ ఫలితాన్ని నిర్వచించడంలో క్రింది విధులు సహాయపడతాయి:
ResultString (std::string const & message, bool hasError_)
రిజల్ట్ స్ట్రింగ్ (NlcErrorCode కాన్స్ట్ & ఎర్రర్ కోడ్, std::స్ట్రింగ్ కాన్స్ట్ & ఎర్రర్ స్ట్రింగ్_)
రిజల్ట్ స్ట్రింగ్ (NlcErrorCode కాన్స్ట్ & ఎర్రర్ కోడ్, కాన్స్ట్ uint32_t ఎక్స్ఎర్ కోడ్, std:: స్ట్రింగ్ కాన్స్ట్ & ఎర్రర్ స్ట్రింగ్_)
ఫలిత స్ట్రింగ్ (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.4 ResultArrayByte
ఫంక్షన్ బైట్ శ్రేణిని తిరిగి ఇస్తే NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుంది. ఈ తరగతి ఫలిత తరగతి నుండి పబ్లిక్ ఫంక్షన్లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు కింది పబ్లిక్ సభ్యుల ఫంక్షన్లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే బైట్ వెక్టర్‌ను చదువుతుంది.
కాన్స్ట్ స్టాండర్డ్::వెక్టర్ nlc::ResultArrayByte::getResult () కాన్స్ట్
కాన్స్ట్ వెక్టర్‌ను తిరిగి ఇస్తుంది

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

46

8 తరగతులు / ఫంక్షన్ల సూచన
ResultArrayByte () కింది విధులు ఖచ్చితమైన బైట్ శ్రేణి ఫలితాన్ని నిర్వచించడంలో సహాయపడతాయి:
రిజల్ట్అర్రేబైట్ (std::వెక్టర్) స్థిరత్వం & ఫలితం_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: స్ట్రింగ్ const & errorString_)
ResultArrayByte (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.5 ResultArrayInt
ఫంక్షన్ పూర్ణాంక శ్రేణిని తిరిగి ఇస్తే NanoLib ఈ తరగతి యొక్క ఉదాహరణను మీకు పంపుతుంది. ఈ తరగతి ఫలిత తరగతి నుండి పబ్లిక్ ఫంక్షన్లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు కింది పబ్లిక్ సభ్యుల ఫంక్షన్లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే పూర్ణాంక వెక్టర్‌ను చదువుతుంది.
కాన్స్ట్ స్టాండర్డ్::వెక్టర్ nlc::ResultArrayInt::getResult () కాన్స్ట్
కాన్స్ట్ వెక్టర్‌ను తిరిగి ఇస్తుంది
ResultArrayInt () కింది విధులు ఖచ్చితమైన పూర్ణాంక శ్రేణి ఫలితాన్ని నిర్వచించడంలో సహాయపడతాయి:
రిజల్ట్అర్రేఇంట్ (std::వెక్టర్) స్థిరత్వం & ఫలితం_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: స్ట్రింగ్ const & errorString_)
ResultArrayInt (ఫలిత కాన్స్ట్ & ఫలితం)
8.28.6 ResultBusHwIds
ఫంక్షన్ బస్ హార్డ్‌వేర్ ID శ్రేణిని తిరిగి ఇస్తే NanoLib ఈ తరగతి యొక్క ఉదాహరణను మీకు పంపుతుంది. ఈ తరగతి ఫలిత తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు కింది పబ్లిక్ సభ్యుల ఫంక్షన్‌లను కలిగి ఉంటుంది:
ఫంక్షన్ కాల్ విజయవంతమైతే getResult () బస్-హార్డ్‌వేర్-ID వెక్టర్‌ను చదువుతుంది.
కాన్స్ట్ స్టాండర్డ్::వెక్టర్ nlc::ResultBusHwIds::getResult () కాన్స్ట్
పారామితులు const వెక్టర్

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

47

8 తరగతులు / ఫంక్షన్ల సూచన
ResultBusHwIds () కింది విధులు ఖచ్చితమైన బస్-హార్డ్‌వేర్-ID-శ్రేణి ఫలితాన్ని నిర్వచించడంలో సహాయపడతాయి:
ResultBusHwIds (std::వెక్టర్) స్థిరత్వం & ఫలితం_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.7 ఫలితాలు డివైస్ ఐడి
ఫంక్షన్ పరికర ID ని తిరిగి ఇస్తే NanoLib మీకు ఈ క్లాస్ యొక్క ఉదాహరణను పంపుతుంది. క్లాస్ ఫలిత తరగతి నుండి పబ్లిక్ ఫంక్షన్లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు కింది పబ్లిక్ సభ్యుల ఫంక్షన్లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే పరికర ID వెక్టార్‌ని చదువుతుంది.
డివైస్ ఐడి nlc::రిజల్ట్ డివైస్ ఐడి::గెట్ రిజల్ట్ () కాన్స్ట్
కాన్స్ట్ వెక్టర్‌ని అందిస్తుంది
ResultDeviceId () ఖచ్చితమైన పరికరం ID ఫలితాన్ని నిర్వచించడంలో క్రింది విధులు సహాయపడతాయి:
ఫలిత పరికర ఐడి (పరికర ఐడి కాన్స్ట్ & ఫలితం_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.8 ఫలితాలు డివైస్ ఐడిలు
ఫంక్షన్ పరికర ID శ్రేణిని తిరిగి ఇస్తే NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుంది. ఈ తరగతి ఫలిత తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు కింది పబ్లిక్ సభ్యుల ఫంక్షన్‌లను కలిగి ఉంటుంది:
ఫంక్షన్ కాల్ విజయవంతమైతే getResult () పరికర ID వెక్టర్‌ను అందిస్తుంది.
డివైస్ ఐడి nlc::రిజల్ట్ డివైస్ ఐడిలు::గెట్ రిజల్ట్ () కాన్స్ట్
కాన్స్ట్ వెక్టర్‌ని అందిస్తుంది

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

48

8 తరగతులు / ఫంక్షన్ల సూచన
ResultDeviceIds () ఖచ్చితమైన పరికరం-ID-శ్రేణి ఫలితాన్ని నిర్వచించడంలో క్రింది విధులు సహాయపడతాయి:
ఫలిత పరికర ఐడిలు (std::వెక్టర్) స్థిరత్వం & ఫలితం_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.9 ఫలితం డివైస్ హ్యాండిల్
ఫంక్షన్ పరికర హ్యాండిల్ విలువను తిరిగి ఇస్తే NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుంది. ఈ తరగతి ఫలిత తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు కింది పబ్లిక్ సభ్యుల ఫంక్షన్‌లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే పరికర హ్యాండిల్‌ను చదువుతుంది.
డివైస్ హ్యాండిల్ nlc::రిజల్ట్ డివైస్ హ్యాండిల్::గెట్ రిజల్ట్ () కాన్స్ట్
డివైజ్ హ్యాండిల్‌ని అందిస్తుంది
ResultDeviceHandle () ఖచ్చితమైన పరికరం హ్యాండిల్ ఫలితాన్ని నిర్వచించడంలో క్రింది విధులు సహాయపడతాయి:
ఫలితం పరికర నిర్వహణ (పరికర నిర్వహణ స్థిరాంకం & ఫలితం_)
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_)
ఫలితం పరికర నిర్వహణ (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.10 ఫలితం ఆబ్జెక్ట్ నిఘంటువు
ఫంక్షన్ ఆబ్జెక్ట్ డిక్షనరీ యొక్క కంటెంట్‌ను తిరిగి ఇస్తే, NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుంది. తరగతి ఫలితం తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే పరికర ID వెక్టార్‌ని చదువుతుంది.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

49

8 తరగతులు / ఫంక్షన్ల సూచన

తిరిగి వస్తుంది

కాన్స్ట్ వెక్టర్

ResultObjectDictionary () కింది విధులు ఖచ్చితమైన ఆబ్జెక్ట్ నిఘంటువు ఫలితాన్ని నిర్వచించడంలో సహాయపడతాయి:
రిజల్ట్ ఆబ్జెక్ట్ డిక్షనరీ (nlc::ఆబ్జెక్ట్ డిక్షనరీ కాన్స్ట్ & రిజల్ట్_)

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_)

ఫలితం వస్తువు నిఘంటువు (ఫలితం కాన్స్ట్ & ఫలితం)

8.28.11 ఫలితం కనెక్షన్‌స్టేట్
ఫంక్షన్ పరికరం-కనెక్షన్-స్టేట్ సమాచారాన్ని అందించినట్లయితే, NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుంది. తరగతి ఫలితం తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే పరికర హ్యాండిల్‌ను చదువుతుంది.
డివైస్ కనెక్షన్ స్టేట్ ఇన్ఫో nlc:: రిజల్ట్ కనెక్షన్ స్టేట్:: గెట్ రిసల్ట్ () కాన్స్ట్

DeviceConnectionStateInfo కనెక్ట్ చేయబడింది / డిస్‌కనెక్ట్ చేయబడింది / కనెక్ట్ చేయబడిన బూట్‌లోడర్‌ని అందిస్తుంది

ResultConnectionState () కింది విధులు ఖచ్చితమైన కనెక్షన్ స్థితి ఫలితాన్ని నిర్వచించడంలో సహాయపడతాయి:
ఫలితం కనెక్షన్ స్టేట్ (DeviceConnectionStateInfo const & result_)

రిజల్ట్ కనెక్షన్ స్టేట్ (std:: స్ట్రింగ్ కాన్స్ట్ & ఎర్రర్ స్ట్రింగ్_)

రిజల్ట్ కనెక్షన్ స్టేట్ (NlcErrorCode కాన్స్ట్ & ఎర్రర్ కోడ్, std::స్ట్రింగ్ కాన్స్ట్ & ఎర్రర్ స్ట్రింగ్_)

రిజల్ట్ కనెక్షన్ స్టేట్ (NlcErrorCode కాన్స్ట్ & ఎర్రర్ కోడ్, కాన్స్ట్ uint32_t ఎక్స్ఎర్ కోడ్, std:: స్ట్రింగ్ కాన్స్ట్ & ఎర్రర్ స్ట్రింగ్_)

ఫలితం కనెక్షన్ స్టేట్ (ఫలితం కాన్స్ట్ & ఫలితం)

8.28.12 ఫలితం ఆబ్జెక్ట్ ప్రవేశం
ఫంక్షన్ ఒక ఆబ్జెక్ట్ ఎంట్రీని తిరిగి ఇస్తే NanoLib మీకు ఈ క్లాస్ యొక్క ఉదాహరణను పంపుతుంది. క్లాస్ పబ్లిక్ ఫంక్షన్లు / రక్షిత లక్షణాలను ఫలిత తరగతి నుండి వారసత్వంగా పొందుతుంది మరియు కింది పబ్లిక్ మెంబర్ ఫంక్షన్లను కలిగి ఉంటుంది:

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

50

8 తరగతులు / ఫంక్షన్ల సూచన
ఫంక్షన్ కాల్ విజయవంతమైతే getResult () పరికర ID వెక్టర్‌ను అందిస్తుంది.
nlc::ఆబ్జెక్ట్ ఎంట్రీ కాన్స్ట్& nlc::రిజల్ట్ఆబ్జెక్ట్ ఎంట్రీ::గెట్ రిసల్ట్ () కాన్స్ట్
ఆబ్జెక్ట్‌ఎంట్రీని అందిస్తుంది
ResultObjectEntry () కింది విధులు ఖచ్చితమైన ఆబ్జెక్ట్ ఎంట్రీ ఫలితాన్ని నిర్వచించడంలో సహాయపడతాయి:
ఫలితం ఆబ్జెక్ట్ ఎంట్రీ (nlc:: ఆబ్జెక్ట్ ఎంట్రీ కాన్స్ట్ & ఫలితం_)
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_)
ఫలితం వస్తువు ప్రవేశం (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.13 ResultObjectSubEntry
ఫంక్షన్ ఒక ఆబ్జెక్ట్ సబ్-ఎంట్రీని తిరిగి ఇస్తే NanoLib మీకు ఈ క్లాస్ యొక్క ఉదాహరణను పంపుతుంది. క్లాస్ పబ్లిక్ ఫంక్షన్లు / రక్షిత లక్షణాలను ఫలిత క్లాస్ నుండి వారసత్వంగా పొందుతుంది మరియు కింది పబ్లిక్ మెంబర్ ఫంక్షన్లను కలిగి ఉంటుంది:
ఫంక్షన్ కాల్ విజయవంతమైతే getResult () పరికర ID వెక్టర్‌ను అందిస్తుంది.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
ఆబ్జెక్ట్‌సబ్‌ఎంట్రీని అందిస్తుంది
ResultObjectSubEntry () కింది విధులు ఖచ్చితమైన వస్తువు ఉప-ప్రవేశ ఫలితాన్ని నిర్వచించడంలో సహాయపడతాయి:
ఫలితం సబ్ ఎంట్రీ (nlc:: ఆబ్జెక్ట్ ఎంట్రీ కాన్స్ట్ & ఫలితం_)
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_)
ఫలితం ఆబ్జెక్ట్ సబ్ ఎంట్రీ (ఫలితం కాన్స్ట్ & ఫలితం)
8.28.14 ఫలితంప్రొఫైనెట్ డివైసెస్
ఫంక్షన్ ప్రొఫైనెట్ పరికరాన్ని తిరిగి ఇస్తే, NanoLib ఈ తరగతికి సంబంధించిన ఉదాహరణను మీకు పంపుతుంది. తరగతి ఫలితం తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

51

8 తరగతులు / ఫంక్షన్ల సూచన

getResult () ఫంక్షన్ కాల్ విజయవంతమైతే, ప్రొఫైనెట్ పరికర వెక్టార్‌ని చదువుతుంది.
కాన్స్ట్ స్టాండర్డ్::వెక్టర్ & getResult () కాన్స్ట్

ResultProfinetDevices () ఖచ్చితమైన Profinet పరికరాలను నిర్వచించడంలో క్రింది విధులు సహాయపడతాయి.
ఫలితంప్రొఫైనెట్‌డివైసెస్ (కాన్స్ట్ స్టాండర్డ్::వెక్టర్ & ప్రోఫైనెట్‌డివైసెస్)
ఫలితంప్రొఫైనెట్‌డివైసెస్ (నిశ్చల ఫలితం & ఫలితం)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ఫలితాలుampleDataArray
ఫంక్షన్ ఇలా తిరిగి వస్తే, NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుందిample డేటా శ్రేణి. తరగతి ఫలితం తరగతి నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:
getResult () ఫంక్షన్ కాల్ విజయవంతమైతే డేటా శ్రేణిని చదువుతుంది.
కాన్స్ట్ స్టాండర్డ్::వెక్టర్ <SampleData> & getResult () const

ఫలితాలుSampleDataArray () ఖచ్చితమైన Profinet పరికరాలను నిర్వచించడంలో క్రింది విధులు సహాయపడతాయి.
ఫలితాలుSampleDataArray (కాన్స్ట్ స్టాండర్డ్::వెక్టర్ <Sampలెడేటా & డేటాఅర్రే)

ఫలితాలుSampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)

ఫలితాలుSampleDataArray (నిర్ధారణ ఫలితాలు)ampleDataArray & ఇతర)

ఫలితాలుSampleDataArray (కాన్స్ట్ ఫలితం & ఫలితం)

8.28.16 ఫలితాలుamplerState
ఫంక్షన్ ఇలా తిరిగి వస్తే, NanoLib మీకు ఈ తరగతి యొక్క ఉదాహరణను పంపుతుందిampler state.ఈ తరగతి రిజల్ట్ క్లాస్ నుండి పబ్లిక్ ఫంక్షన్‌లు / రక్షిత లక్షణాలను వారసత్వంగా పొందుతుంది మరియు క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంటుంది:

getResult () లను చదువుతుందిampఒక ఫంక్షన్ కాల్ విజయవంతమైతే ler స్టేట్ వెక్టర్.
SamplerState getResult () కాన్స్ట్

రిటర్న్స్ SamplerState>

కాన్ఫిగర్ చేయబడలేదు / కాన్ఫిగర్ చేయబడింది / సిద్ధంగా ఉంది / రన్ అవుతోంది / పూర్తయింది / విఫలమైంది / రద్దు చేయబడింది

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

52

8 తరగతులు / ఫంక్షన్ల సూచన

ఫలితాలుSamplerState () కింది విధులు ఖచ్చితమైన లను నిర్వచించడంలో సహాయపడతాయిampలేర్ రాష్ట్రం.
ఫలితాలుSampలెర్‌స్టేట్ (కాన్స్ట్ ఎస్ampలెర్‌స్టేట్ రాష్ట్రం)

ఫలితాలుSamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
పొడిగించిన ఎర్రర్ కోడ్ = 0)

ఫలితాలుSamplerState (నిర్ధారణ ఫలితాలుS)ampలెర్‌స్టేట్ & ఇతర)

ఫలితాలుSamplerState (కాన్స్ట్ ఫలితం & ఫలితం)

8.29 NlcErrorCode

ఏదైనా తప్పు జరిగితే, ఫలిత తరగతులు ఈ గణనలో జాబితా చేయబడిన ఎర్రర్ కోడ్‌లలో ఒకదానిని నివేదిస్తాయి.

ఎర్రర్ కోడ్ సక్సెస్ జనరల్ఎర్రర్ బస్ అందుబాటులో లేని కమ్యూనికేషన్ఎర్రర్ ప్రోటోకాల్ఎర్రర్
ODఉనికిలో లేదు ODinvalidయాక్సెస్ ODTypeMismatchOperationAborted OperationNotSupported InvalidOperation
చెల్లని ఆర్గ్యుమెంట్స్ యాక్సెస్ తిరస్కరించబడిన వనరు లేదు వనరు అందుబాటులో లేదు OutOfMemory టైమ్అవుట్ ఎర్రర్

C: వర్గం D: వివరణ R: కారణం C: ఏదీ లేదు. D: లోపం లేదు. R: ఆపరేషన్ విజయవంతంగా పూర్తయింది.
సి: పేర్కొనబడలేదు. D: పేర్కొనబడని లోపం. R: ఏ ఇతర వర్గానికి సరిపోని వైఫల్యం.
సి: బస్సు. డి: హార్డ్‌వేర్ బస్సు అందుబాటులో లేదు. R: బస్సు ఉనికిలో లేదు, కట్-ఆఫ్ లేదా లోపం.
సి: కమ్యూనికేషన్. D: కమ్యూనికేషన్ నమ్మదగనిది. R: ఊహించని డేటా, తప్పు CRC, ఫ్రేమ్ లేదా పారిటీ లోపాలు మొదలైనవి.
సి: ప్రోటోకాల్. D: ప్రోటోకాల్ లోపం. R: మద్దతు లేని ప్రోటోకాల్ ఎంపిక, పరికర నివేదిక మద్దతు లేని ప్రోటోకాల్, ప్రోటోకాల్‌లో లోపం (చెప్పండి, SDO సెగ్మెంట్ సింక్ బిట్) తర్వాత ప్రతిస్పందన సెగ్మెంట్ సింక్ బిట్), మొదలైనవి. R: మద్దతు లేని ప్రోటోకాల్ (ఐచ్ఛికాలు) లేదా ప్రోటోకాల్‌లో లోపం (చెప్పండి, SDO సెగ్మెంట్ సింక్ బిట్) మొదలైనవి.
C: ఆబ్జెక్ట్ నిఘంటువు. D: OD చిరునామా లేదు. R: ఆబ్జెక్ట్ నిఘంటువులో అలాంటి చిరునామా లేదు.
సి: ఆబ్జెక్ట్ డిక్షనరీ. D: OD చిరునామాకు యాక్సెస్ చెల్లదు. R: చదవడానికి-మాత్రమే వ్రాయడానికి లేదా వ్రాయడానికి-మాత్రమే చిరునామా నుండి చదవడానికి ప్రయత్నించండి.
సి: వస్తువు నిఘంటువు. D: టైప్ అసమతుల్యత. R: స్ట్రింగ్‌ను సంఖ్యగా పరిగణించే ప్రయత్నంలో విలువ పేర్కొన్న రకానికి మార్చబడలేదు.
సి: అప్లికేషన్. D: ప్రక్రియ నిలిపివేయబడింది. R: అప్లికేషన్ అభ్యర్థన ద్వారా ప్రక్రియ కట్ చేయబడింది. బస్-స్కానింగ్ నుండి కాల్‌బ్యాక్ ఫంక్షన్ ద్వారా ఆపరేషన్ అంతరాయంపై మాత్రమే తిరిగి వస్తుంది.
సి: సాధారణం. D: ప్రక్రియకు మద్దతు లేదు. R: హార్డ్‌వేర్ బస్సు / పరికర మద్దతు లేదు.
సి: సాధారణం. D: ప్రస్తుత సందర్భంలో ప్రాసెస్ తప్పు లేదా ప్రస్తుత వాదనతో చెల్లదు. R: ఇప్పటికే కనెక్ట్ చేయబడిన బస్సులు / పరికరాలకు మళ్లీ కనెక్ట్ చేసే ప్రయత్నం. ఇప్పటికే డిస్‌కనెక్ట్ చేయబడిన వాటికి డిస్‌కనెక్ట్ చేసే ప్రయత్నం. ఫర్మ్‌వేర్ మోడ్‌లో లేదా వైస్ వెర్సాలో బూట్‌లోడర్ ఆపరేషన్ ప్రయత్నం.
సి: సాధారణం. D: వాదన చెల్లదు. R: తప్పు తర్కం లేదా వాక్యనిర్మాణం.
సి: సాధారణం. D: యాక్సెస్ నిరాకరించబడింది. R: అభ్యర్థించిన ఆపరేషన్ చేయడానికి హక్కులు లేదా సామర్థ్యాలు లేకపోవడం.
సి: సాధారణం. D: పేర్కొన్న అంశం కనుగొనబడలేదు. R: హార్డ్‌వేర్ బస్సు, ప్రోటోకాల్, పరికరం, పరికరంలోని OD చిరునామా లేదా file దొరకలేదు.
సి: సాధారణం. D: పేర్కొన్న అంశం కనుగొనబడలేదు. R: బిజీగా, ఉనికిలో లేని, కట్-ఆఫ్ లేదా లోపం.
సి: సాధారణం. D: తగినంత జ్ఞాపకశక్తి లేదు. R: ఈ ఆదేశాన్ని ప్రాసెస్ చేయడానికి చాలా తక్కువ మెమరీ.
సి: సాధారణం. D: ప్రక్రియ సమయం ముగిసింది. R: సమయం ముగిసిన తర్వాత వాపసు. గడువు ముగియడం అనేది పరికర ప్రతిస్పందన సమయం, భాగస్వామ్య లేదా ప్రత్యేకమైన వనరుల యాక్సెస్‌ని పొందే సమయం లేదా బస్సు / పరికరాన్ని తగిన స్థితికి మార్చడానికి సమయం కావచ్చు.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

53

8 తరగతులు / ఫంక్షన్ల సూచన

8.30 NlcCallback
కాల్‌బ్యాక్‌ల కోసం ఈ పేరెంట్ క్లాస్ కింది పబ్లిక్ మెంబర్ ఫంక్షన్‌ను కలిగి ఉంది: కాల్‌బ్యాక్ ()
వర్చువల్ ఫలితం వాయిడ్ కాల్‌బ్యాక్ ()

తిరిగి వస్తుంది

ఫలితం శూన్యం

8.31 NlcDataTransferCallback
డేటా బదిలీల కోసం ఈ కాల్‌బ్యాక్ క్లాస్‌ని ఉపయోగించండి (ఫర్మ్‌వేర్ అప్‌డేట్, నానోజె అప్‌లోడ్ మొదలైనవి). 1. ఫర్మ్‌వేర్ అప్‌లోడ్ కోసం: కస్టమ్ కాల్‌బ్యాక్ పద్ధతితో దీన్ని విస్తరించే “కో-క్లాస్”ని నిర్వచించండి.
అమలు. 2. NanoLibAccessor.uploadFirmware () కాల్‌లలో “సహ-తరగతి” సందర్భాలను ఉపయోగించండి. ప్రధాన తరగతి ఈ క్రింది పబ్లిక్ సభ్యుల ఫంక్షన్‌ను కలిగి ఉంది:

callback () వర్చువల్ ResultVoid callback (nlc::DataTransferInfo సమాచారం, int32_t డేటా)

తిరిగి వస్తుంది

ఫలితం శూన్యం

8.32 NlcScanBusCallback
బస్ స్కానింగ్ కోసం ఈ కాల్‌బ్యాక్ క్లాస్‌ని ఉపయోగించండి. 1. కస్టమ్ కాల్‌బ్యాక్ పద్ధతి అమలుతో దీన్ని విస్తరించే “కో-క్లాస్”ని నిర్వచించండి. 2. NanoLibAccessor.scanDevices () కాల్‌లలో “కో-క్లాస్” సందర్భాలను ఉపయోగించండి. ప్రధాన క్లాస్‌లో ఈ క్రింది పబ్లిక్ మెంబర్ ఫంక్షన్ ఉంటుంది.

తిరిగి కాల్ చేయండి ()
వర్చువల్ ఫలితం శూన్య కాల్‌బ్యాక్ (nlc::BusScanInfo సమాచారం, std::vector కాన్స్ట్ & పరికరాలు కనుగొనబడ్డాయి, int32_t డేటా)

ResultVoidని అందిస్తుంది
8.33 NlcLoggingCallback
కాల్‌బ్యాక్‌లను లాగింగ్ చేయడానికి ఈ కాల్‌బ్యాక్ క్లాస్‌ని ఉపయోగించండి. 1. అనుకూల కాల్‌బ్యాక్ పద్ధతి అమలుతో ఈ తరగతిని విస్తరించే తరగతిని నిర్వచించండి 2. NanoLibAccessor > ద్వారా కాల్‌బ్యాక్‌ని సెట్ చేయడానికి దాని ఉదాహరణలకు పాయింటర్‌ని ఉపయోగించండి
setLoggingCallback (...).
వర్చువల్ వాయిడ్ కాల్‌బ్యాక్ (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

8.34 ఎస్ampler ఇంటర్ఫేస్
లను కాన్ఫిగర్ చేయడానికి, ప్రారంభించడానికి మరియు ఆపడానికి ఈ తరగతిని ఉపయోగించండిampler, లేదా s పొందుటకుampదారితీసిన డేటా మరియు పొందండిampలర్ యొక్క స్థితి లేదా చివరి లోపం. తరగతి కింది పబ్లిక్ మెంబర్ ఫంక్షన్‌లను కలిగి ఉంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

54

8 తరగతులు / ఫంక్షన్ల సూచన

కన్ఫిగర్ () ఇలా కాన్ఫిగర్ చేస్తుందిampలెర్.
వర్చువల్ ఫలితం శూన్య nlc::SamplerInterface::configure (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్, కాన్స్ట్ Sampలెర్ కాన్ఫిగరేషన్ & లుampler కాన్ఫిగరేషన్)

పరామితులు [in] deviceHandle [in] sampler కాన్ఫిగరేషన్
ResultVoidని అందిస్తుంది

ఏ పరికరాన్ని కాన్ఫిగర్ చేయాలో నిర్దేశిస్తుందిampకోసం ler. కాన్ఫిగరేషన్ లక్షణాల విలువలను పేర్కొంటుంది. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

getData () లను పొందుతుందిampదారితీసిన డేటా.
వర్చువల్ ఫలితాలుampలెడేటాఅర్రే nlc::SamplerInterface::getData (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్)

పరికరంలో పరామితులు హ్యాండిల్ రిటర్న్స్ ఫలితాలుSampleDataArray

ఏ పరికరం కోసం డేటాను పొందాలో నిర్దేశిస్తుంది.
లను అందజేస్తుందిampదారితీసిన డేటా, ఇది s అయితే ఖాళీ శ్రేణి కావచ్చుamplerNotify ప్రారంభంలో సక్రియంగా ఉంది.

getLastError () ఇలా పొందుతుందిampలర్ యొక్క చివరి లోపం.
వర్చువల్ ఫలితం శూన్య nlc::SamplerInterface::getLastError (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్)

ResultVoidని అందిస్తుంది

శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

getState () ఇలా పొందుతుందిampler యొక్క స్థితి.
వర్చువల్ ఫలితాలుampలెర్‌స్టేట్ nlc::SamplerInterface::getState (కాన్స్ట్ డివైస్ హ్యాండిల్ డివైస్ హ్యాండిల్)

రిటర్న్స్ ఫలితాలుSamplerState

లను అందజేస్తుందిampలేర్ రాష్ట్రం.

ప్రారంభం () ఇలా మొదలవుతుందిampలెర్.
వర్చువల్ ఫలితం శూన్య nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* లుamplerNotify, int64_t అప్లికేషన్ డేటా)

పరామితులు [in] deviceHandle [in] SamplerNotify [in] applicationData
ResultVoidని అందిస్తుంది

ఏ పరికరాన్ని ప్రారంభించాలో నిర్దేశిస్తుందిampకోసం ler.
ఏ ఐచ్ఛిక సమాచారాన్ని నివేదించాలో పేర్కొంటుంది (nullptr కావచ్చు).
ఎంపిక: అప్లికేషన్-సంబంధిత డేటా (వినియోగదారు నిర్వచించిన 8-బిట్ శ్రేణి విలువ / పరికరం ID / సూచిక, లేదా తేదీ సమయం, వేరియబుల్ / ఫంక్షన్ యొక్క పాయింటర్ మొదలైనవి) sకి ఫార్వార్డ్ చేయండిamplerNotify.
శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

55

8 తరగతులు / ఫంక్షన్ల సూచన

స్టాప్ () ఇలా ఆగుతుందిampలెర్.
వర్చువల్ ఫలితం శూన్య nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

పరికరంలో పరామితులు హ్యాండిల్ రిటర్న్స్ రిజల్ట్‌వాయిడ్

sని ఆపడానికి ఏ పరికరాన్ని నిర్దేశిస్తుందిampకోసం ler. శూన్యమైన ఫంక్షన్ అమలు చేయబడిందని నిర్ధారిస్తుంది.

8.35 ఎస్ampler కాన్ఫిగరేషన్ నిర్మాణం

ఈ నిర్మాణం డేటా లను కలిగి ఉందిampler యొక్క కాన్ఫిగరేషన్ ఎంపికలు (స్టాటిక్ లేదా కాదు).

పబ్లిక్ లక్షణాలు

std:: వెక్టర్ ట్రాక్ చేసిన చిరునామాలు

12 వరకు OD చిరునామాలు ఉండాలిampదారితీసింది.

uint32_t

వెర్షన్

నిర్మాణం యొక్క సంస్కరణ.

uint32_t

వ్యవధి మిల్లీసెకన్లు

Samp1 నుండి 65535 వరకు msలో లింగ్ వ్యవధి

uint16_t

వ్యవధిమిల్లీసెకన్లు

Sampms లో లింగ్ కాలం.

uint16_t

numberOfSampలెస్

Sampతక్కువ మొత్తం.

uint16_t

preTriggerNumberOfSampలెస్

Sampలెస్ ప్రీ-ట్రిగ్గర్ మొత్తం.

బూల్

సాఫ్ట్‌వేర్ అమలును ఉపయోగించడం

సాఫ్ట్‌వేర్ అమలును ఉపయోగించండి.

బూల్

NewFWS ఉపయోగించిamplerఇంప్లిమెంటేషన్ ఒక తో పరికరాల కోసం FW అమలును ఉపయోగించండి

FW వెర్షన్ v24xx లేదా కొత్తది.

SamplerMode

మోడ్

సాధారణ, పునరావృత లేదా నిరంతర లుampలింగ్.

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_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValue

SamplerTrigger

SamplerTrigger

ఇలా ప్రారంభించడానికి ఒక ట్రిగ్గర్ampలర్?

స్టాటిక్ పబ్లిక్ లక్షణాలు
స్టాటిక్ constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 స్టాటిక్ కాన్‌స్టెక్స్‌పిఆర్ పరిమాణం_t MAX_TRACKED_ADDRESSES = 12
8.36 ఎస్amplerNotify
లను సక్రియం చేయడానికి ఈ తరగతిని ఉపయోగించండిampమీరు ఇలా ప్రారంభించినప్పుడు ler నోటిఫికేషన్‌లుampler. తరగతి కింది పబ్లిక్ మెంబర్ ఫంక్షన్‌ను కలిగి ఉంది.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

56

8 తరగతులు / ఫంక్షన్ల సూచన

తెలియజేయండి ()
నోటిఫికేషన్ ఎంట్రీని అందిస్తుంది.
వర్చువల్ వాయిడ్ nlc::SamplerNotify::notify (const ResultVoid & lastError, const Sampలెర్‌స్టేట్ ఎస్amplerState, const std::వెక్టర్ <Sampలెడేటా> & లుampలెడేటాస్, int64_t అప్లికేషన్ డేటా)

పరామితులు [in] lastError [in] samplerState
[లో] సెampleDatas [ఇన్] అప్లికేషన్ డేటా

s సమయంలో సంభవించిన చివరి ఎర్రర్‌ని నివేదిస్తుందిampలింగ్. నివేదిస్తుందిampనోటిఫికేషన్ సమయంలో ler స్థితి: కాన్ఫిగర్ చేయబడలేదు / కాన్ఫిగర్ చేయబడింది / సిద్ధంగా ఉంది / రన్ అవుతోంది / పూర్తయింది / విఫలమైంది / రద్దు చేయబడింది. నివేదిస్తుందిampled-data శ్రేణి. అప్లికేషన్-నిర్దిష్ట డేటాను నివేదిస్తుంది.

8.37 ఎస్ampleData నిర్మాణం

ఈ నిర్మాణంలో s ఉన్నాయిampదారితీసిన డేటా.

uin64_t పునరావృత సంఖ్య

0 వద్ద ప్రారంభమవుతుంది మరియు పునరావృత మోడ్‌లో మాత్రమే పెరుగుతుంది.

std:: వెక్టర్<SampledValues> s యొక్క శ్రేణిని కలిగి ఉంటుందిampదారితీసిన విలువలు.

8.38 ఎస్ampదారితీసిన విలువ నిర్మాణం

ఈ నిర్మాణంలో s ఉన్నాయిampదారితీసిన విలువలు.

in64_t విలువ uin64_t CollectTimeMsec

ట్రాక్ చేయబడిన OD చిరునామా విలువను కలిగి ఉంటుంది.
sకి సంబంధించి మిల్లీసెకన్లలో సేకరణ సమయాన్ని కలిగి ఉంటుందిampలే ప్రారంభం.

8.39 ఎస్amplerTrigger నిర్మాణం

ఈ struct s యొక్క ట్రిగ్గర్ సెట్టింగ్‌లను కలిగి ఉందిampలెర్.

SamplerTriggerCondition పరిస్థితి
OdIndex uin32_t విలువ

ట్రిగ్గర్ స్థితి:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
ట్రిగ్గర్ యొక్క OdIndex (చిరునామా).
కండిషన్ విలువ లేదా బిట్ సంఖ్య (బిట్ జీరో నుండి ప్రారంభమవుతుంది).

8.40 సీరియల్ నిర్మాణం

మీ సీరియల్ కమ్యూనికేషన్ ఎంపికలు మరియు క్రింది పబ్లిక్ అట్రిబ్యూట్‌లను ఇక్కడ కనుగొనండి:

కాన్స్ట్ std::స్ట్రింగ్ కాన్స్ట్ సీరియల్‌బాడ్ రేట్

BAUD_RATE_OPTIONS_NAME = “సీరియల్ బాడ్ రేటు” baudRate =SerialBaudRate నిర్మాణం

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

57

8 తరగతులు / ఫంక్షన్ల సూచన

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ సీరియల్ ప్యారిటీ

PARITY_OPTIONS_NAME = “సీరియల్ పారిటీ” పారిటీ = సీరియల్ పారిటీ నిర్మాణం

8.41 సీరియల్‌బాడ్‌రేట్ నిర్మాణం

మీ సీరియల్ కమ్యూనికేషన్ బాడ్ రేట్ మరియు క్రింది పబ్లిక్ అట్రిబ్యూట్‌లను ఇక్కడ కనుగొనండి:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE_56000 = “56000” BAUD_RATE_57600 = “57600” BAUD_RATE_115200 = “115200” BAUD_RATE_128000 = “128000”

8.42 సీరియల్పారిటీ నిర్మాణం

మీ సీరియల్ పారిటీ ఎంపికలు మరియు క్రింది పబ్లిక్ అట్రిబ్యూట్‌లను ఇక్కడ కనుగొనండి:

కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్ కాన్స్ట్ స్టాండర్డ్::స్ట్రింగ్

NONE = "ఏదీ లేదు" ODD = "బేసి" EVEN = "సరి" గుర్తు = "మార్క్" SPACE = "space"

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

58

9 లైసెన్స్‌లు

9 లైసెన్స్‌లు

నానోలిబ్ API ఇంటర్‌ఫేస్ హెడర్‌లు మరియు ఎక్స్ample సోర్స్ కోడ్ నానోటెక్ ఎలక్ట్రానిక్ GmbH & Co. KG ద్వారా క్రియేటివ్ కామన్స్ అట్రిబ్యూషన్ 3.0 అన్‌పోర్టెడ్ లైసెన్స్ (CC BY) కింద లైసెన్స్ పొందింది. బైనరీ ఫార్మాట్‌లో అందించబడిన లైబ్రరీ భాగాలు (కోర్ మరియు ఫీల్డ్‌బస్ కమ్యూనికేషన్ లైబ్రరీలు) క్రియేటివ్ కామన్స్ అట్రిబ్యూషన్నోడెరివేటివ్స్ 4.0 ఇంటర్నేషనల్ లైసెన్స్ (CC BY ND) క్రింద లైసెన్స్ పొందబడ్డాయి.

క్రియేటివ్ కామన్స్
కింది మానవులు చదవగలిగే సారాంశం లైసెన్స్(ల)కు ప్రత్యామ్నాయం కాదు. మీరు Creativecommons.orgలో సంబంధిత లైసెన్స్‌ని కనుగొనవచ్చు మరియు దిగువ లింక్ చేయవచ్చు. మీరు వీటిని చేయడానికి ఉచితం:

CC బై 3.0
భాగస్వామ్యం: కుడివైపు చూడండి. అడాప్ట్: రీమిక్స్, రూపాంతరం మరియు నిర్మించడం
ఏదైనా ప్రయోజనం కోసం, వాణిజ్యపరంగా కూడా.

CC BY-ND 4.0
భాగస్వామ్యం: ఏదైనా మాధ్యమం లేదా ఫార్మాట్‌లో మెటీరియల్‌ని కాపీ చేసి మళ్లీ పంపిణీ చేయండి.

మీరు ఈ క్రింది లైసెన్స్ నిబంధనలకు కట్టుబడి ఉన్నంత వరకు లైసెన్సర్ పై స్వేచ్ఛలను రద్దు చేయలేరు:

CC బై 3.0

CC BY-ND 4.0

అట్రిబ్యూషన్: మీరు తప్పక తగిన క్రెడిట్ ఇవ్వాలి, అట్రిబ్యూషన్: ఎడమవైపు చూడండి. కానీ: దీనికి లింక్ ఇవ్వండి

లైసెన్స్‌కు లింక్‌ను అందించండి మరియు ఉంటే సూచించండి

ఇతర లైసెన్స్.

మార్పులు చేయబడ్డాయి. మీరు దేనిలోనైనా చేయవచ్చు

ఉత్పన్నాలు లేవు: మీరు రీమిక్స్, రూపాంతరం లేదా నిర్మించినట్లయితే

సహేతుకమైన పద్ధతిలో, కానీ ఏ విధంగానూ సూచించదు-

పదార్థంపై, మీరు పంపిణీ చేయలేరు

లైసెన్సర్ మిమ్మల్ని లేదా మీ వినియోగాన్ని ఆమోదించడాన్ని సూచిస్తుంది.

సవరించిన పదార్థం.

అదనపు పరిమితులు లేవు: మీరు దరఖాస్తు చేయలేరు అదనపు పరిమితులు లేవు: ఎడమవైపు చూడండి. చట్టపరమైన నిబంధనలు లేదా చట్టపరమైన చర్యలు

లైసెన్సు ఏదైనా చేయకుండా ఇతరులను నియంత్రించండి

అనుమతులు.

గమనిక: పబ్లిక్ డొమైన్‌లో లేదా వర్తించే మినహాయింపు లేదా పరిమితి ద్వారా మీ వినియోగానికి అనుమతి ఉన్న చోట మీరు మెటీరియల్ మూలకాల కోసం లైసెన్స్‌ను పాటించాల్సిన అవసరం లేదు.
గమనిక: ఎటువంటి వారెంటీలు ఇవ్వబడలేదు. లైసెన్స్ మీరు ఉద్దేశించిన వినియోగానికి అవసరమైన అన్ని అనుమతులను ఇవ్వకపోవచ్చు. ఉదాహరణకుample, ప్రచారం, గోప్యత లేదా నైతిక హక్కులు వంటి ఇతర హక్కులు మీరు మెటీరియల్‌ని ఉపయోగించే విధానాన్ని పరిమితం చేయవచ్చు.

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

59

ముద్రణ, పరిచయం, సంస్కరణలు

©2024 నానోటెక్ ఎలక్ట్రానిక్ GmbH & Co.KGKapellenstr.685622 ఫెల్డ్‌కిర్చెన్జర్మనీటెల్.+49(0) 89 900 686-0ఫ్యాక్స్+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com అన్ని హక్కులూ ప్రత్యేకించబడ్డాయి. నోటీసు లేకుండానే దోషం, మినహాయింపు, సాంకేతిక లేదా కంటెంట్ మార్పు సాధ్యమే. కోట్ చేయబడిన బ్రాండ్‌లు/ఉత్పత్తులు వాటి యజమానుల ట్రేడ్‌మార్క్‌లు మరియు వాటిని అలాగే పరిగణించాలి. అసలు వెర్షన్.

పత్రం 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08

+ జోడించబడింది > మార్చబడింది # పరిష్కరించబడింది > అందించిన ex యొక్క పునః-పనిampలెస్.
+ నానోలిబ్ మోడ్‌బస్: మోడ్‌బస్ VCP కోసం పరికర లాకింగ్ విధానం జోడించబడింది. # నానోలిబ్ కోర్: కనెక్షన్ స్థితి తనిఖీని పరిష్కరించారు. # నానోలిబ్ కోడ్: సరిదిద్దబడిన బస్ హార్డ్‌వేర్ సూచన తొలగింపు.
+ NanoLib-CANopen: పీక్ PCAN-USB అడాప్టర్ (IPEH-002021/002022) కు మద్దతు.
> నానోలిబ్ కోర్: లాగింగ్ కాల్‌బ్యాక్ ఇంటర్‌ఫేస్ మార్చబడింది (లాగ్‌లెవెల్ లాగ్ మాడ్యూల్ ద్వారా భర్తీ చేయబడింది). # నానోలిబ్ లాగర్: కోర్ మరియు మాడ్యూళ్ల మధ్య విభజన సరిదిద్దబడింది. # మోడ్‌బస్ TCP: FW4 కోసం స్థిర ఫర్మ్‌వేర్ నవీకరణ. # ఈథర్‌క్యాట్: కోర్5 కోసం స్థిర నానోజె ప్రోగ్రామ్ అప్‌లోడ్. # ఈథర్‌క్యాట్: కోర్5 కోసం స్థిర ఫర్మ్‌వేర్ నవీకరణ.
# మోడ్‌బస్ RTU: ఫర్మ్‌వేర్ అప్‌డేట్ సమయంలో తక్కువ బాడ్ రేట్లతో స్థిర సమయ సమస్యలు. # RESTful: స్థిరమైన NanoJ ప్రోగ్రామ్ అప్‌లోడ్.
# నానోలిబ్ మాడ్యూల్స్ Sampler: s యొక్క సరైన పఠనంampబూలియన్ విలువలకు దారితీసింది.
+ అన్ని ప్లాట్‌ఫారమ్‌లకు జావా 11 మద్దతు. + అన్ని ప్లాట్‌ఫారమ్‌లకు పైథాన్ 3.11/3.12 మద్దతు. + కొత్త లాగింగ్ కాల్‌బ్యాక్ ఇంటర్‌ఫేస్ (ఉదా. చూడండిampలెస్). + నానోలిబ్ లాగర్ కోసం కాల్‌బ్యాక్ సింక్‌లు. > సంస్కరణ 1.12.0కి లాగర్‌ని నవీకరించండి. > నానోలిబ్ మాడ్యూల్స్ Sampler: నానోటెక్ కంట్రోలర్ ఫర్మ్‌వేర్ v24xx కోసం ఇప్పుడు మద్దతు. > నానోలిబ్ మాడ్యూల్స్ Sampler: s కోసం ఉపయోగించే నిర్మాణంలో మార్పుampler కాన్ఫిగరేషన్. > నానోలిబ్ మాడ్యూల్స్ Sampler: కంటిన్యూయస్ మోడ్ అనేది అంతులేని దానికి పర్యాయపదంగా ఉంటుంది; ట్రిగ్గర్ పరిస్థితి ఒకసారి తనిఖీ చేయబడుతుంది; ల సంఖ్యamples ఉండాలి 0. > నానోలిబ్ మాడ్యూల్స్ Sampler: ఫర్మ్‌వేర్ మోడ్‌లో డేటాను సేకరించే థ్రెడ్‌కు సాధారణ ప్రాధాన్యత. > నానోలిబ్ మాడ్యూల్స్ Sampler: రెడీ & రన్నింగ్ స్టేట్ మధ్య పరివర్తనను గుర్తించడానికి తిరిగి వ్రాసిన అల్గోరిథం. # నానోలిబ్ కోర్: ఒకే బస్ హార్డ్‌వేర్‌ని ఉపయోగించి 0 లేదా అంతకంటే ఎక్కువ పరికరాలను మూసివేస్తే యాక్సెస్ ఉల్లంఘన (0000005xC2) ఉండదు. # నానోలిబ్ కోర్: Linux కింద PEAK అడాప్టర్‌ను జోడించడంలో సెగ్మెంటేషన్ లోపం లేదు. # నానోలిబ్ మాడ్యూల్స్ Sampler: కరెక్ట్ లుampలీడ్-వాల్యూస్ ఫర్మ్‌వేర్ మోడ్‌లో చదవడం. # నానోలిబ్ మాడ్యూల్స్ Sampler: 502X:04 యొక్క సరైన కాన్ఫిగరేషన్. # నానోలిబ్ మాడ్యూల్స్ Sampler: ఛానెల్‌లతో బఫర్‌లను సరిగ్గా కలపడం. # నానోలిబ్-కానోపెన్: తక్కువ బాడ్రేట్‌ల వద్ద పటిష్టత మరియు సరైన స్కానింగ్ కోసం పెరిగిన CAN గడువులు. # NanoLib-Modbus: ప్రత్యేక పరికరాల కోసం VCP గుర్తింపు అల్గోరిథం (USB-DA-IO).
+ ఈథర్‌కాట్ మద్దతు.
+ మీ ప్రాజెక్ట్‌ను కాన్ఫిగర్ చేయండిలో VS ప్రాజెక్ట్ సెట్టింగ్‌లపై గమనించండి.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileపేరు (). + const std::string & xmlFileaddObjectDictionary () లో మార్గం + getSampలెర్ఇంటర్‌ఫేస్ ().

ఉత్పత్తి 1.3.0 1.2.1 1.2.0 1.1.3
1.1.2 1.1.1 1.1.0
1.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

60

10 ముద్రణ, పరిచయం, సంస్కరణలు

పత్రం
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05

+ జోడించబడింది > మార్చబడింది # పరిష్కరించబడింది + రీబూట్ పరికరం (). + getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber మరియు ~Uid కోసం ఎర్రర్ కోడ్ ResourceUplayed. > firmwareUploadFromFile ఇప్పుడు ఫర్మ్‌వేర్‌ఫ్రమ్‌ను అప్‌లోడ్ చేయండిFile (). > ఫర్మ్‌వేర్ అప్‌లోడ్ () ఇప్పుడు అప్‌లోడ్ ఫర్మ్‌వేర్ (). > బూట్‌లోడర్ అప్‌లోడ్ ఫ్రొంFile () ఇప్పుడు అప్‌లోడ్ చేయండిబూట్‌లోడర్ఫ్రమ్File (). > bootloaderUpload () ఇప్పుడు అప్‌లోడ్ చేయండి బూట్‌లోడర్ (). > bootloaderFirmwareUploadFromFile () అప్‌లోడ్ చేయడానికిబూట్‌లోడర్ఫర్మ్‌వేర్ఫ్రమ్File (). > bootloaderFirmwareUpload () ఇప్పుడు అప్‌లోడ్ చేయండిBootloaderFirmware (). > nanojUploadFromFile () ఇప్పుడు NanoJFrom ని అప్‌లోడ్ చేయండిFile (). > nanojUpload () now uploadNanoJ (). > objectDictionaryLibrary () now getObjectDictionaryLibrary (). > String_String_Map now StringStringMap. > NanoLib-CANopen: Ixxat అడాప్టర్‌తో listAvailableBusHardware మరియు openBusHardwareWithProtocol యొక్క వేగవంతమైన అమలు. > NanoLib-CANopen: బస్ హార్డ్‌వేర్ ఎంపికలు ఖాళీగా ఉంటే డిఫాల్ట్ సెట్టింగ్‌లు ఉపయోగించబడ్డాయి (1000k baudrate, Ixxat బస్ నంబర్ 0). > NanoLib-RESTful: npcap / winpcap డ్రైవర్ అందుబాటులో ఉంటే Windows కింద ఈథర్నెట్ బూట్‌లోడర్‌లతో కమ్యూనికేషన్ కోసం అడ్మిన్ అనుమతి వాడుకలో లేదు. # NanoLib-CANopen: బస్ హార్డ్‌వేర్ ఇప్పుడు ఖాళీ ఎంపికలతో క్రాష్‌లెస్‌గా తెరుచుకుంటుంది. # NanoLib-CANopen: బస్ హార్డ్‌వేర్ ఇప్పుడు మెమరీ లీక్ లేకుండా క్రాష్‌లెస్‌గా తెరుచుకుంటుంది. # NanoLib-CANopen: ఇప్పుడు మెమరీ లీక్ లేకుండా openBusHardwareWithProtocol ().
+ Linux ARM64 మద్దతు. + USB మాస్ స్టోరేజ్ / REST / Profinet DCP మద్దతు. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (NanotecExceptions స్థానంలో). + NanoLib Modbus: VCP / USB హబ్ USBకి ఏకీకృతం చేయబడింది. > Modbus TCP స్కానింగ్ ఫలితాలను అందిస్తుంది. Modbus TCP కమ్యూనికేషన్ జాప్యం స్థిరంగా ఉంటుంది.
+ మరిన్ని ఆబ్జెక్ట్ ఎంట్రీడేటాటైప్ (సంక్లిష్టమైనది మరియు ప్రోfile-specific). + connectDevice () మరియు scanDevices () ఏవీ కనుగొనకపోతే IOError రిటర్న్ అవుతుంది. + CanOpen / Modbus కోసం కేవలం 100 ms నామమాత్రపు సమయం ముగిసింది.
+ మోడ్‌బస్ మద్దతు (VCP ద్వారా USB హబ్‌తో పాటు). + అధ్యాయం మీ స్వంత Linux ప్రాజెక్ట్‌ను సృష్టించడం. + BusHardwareId ()కి extraHardwareSpecifier. + extraId_ మరియు extraStringId_కి DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # బగ్ పరిష్కారాలు.
ఎడిషన్.

ఉత్పత్తి
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

వెర్షన్: doc 1.4.2 / NanoLib 1.3.0

61

పత్రాలు / వనరులు

నానోటిక్ నానోలిబ్ C++ ప్రోగ్రామింగ్ [pdf] యూజర్ మాన్యువల్
నానోలిబ్ సి ప్రోగ్రామింగ్, సి ప్రోగ్రామింగ్, ప్రోగ్రామింగ్

సూచనలు

వ్యాఖ్యానించండి

మీ ఇమెయిల్ చిరునామా ప్రచురించబడదు. అవసరమైన ఫీల్డ్‌లు గుర్తించబడ్డాయి *