Nanotic-LOGO

Nanotik NanoLib C++ Proqramlaşdırma

Nanotic-NanoLib-C++-Proqramlaşdırma-MƏHSUL

Məhsul haqqında məlumat

Spesifikasiyalar

  • Məhsulun adı: NanoLib
  • Proqramlaşdırma Dil: C++
  • Məhsul versiyası: 1.3.0
  • İstifadəçi Təlimatının Versiyası: 1.4.2

NanoLib kitabxanası Nanotec nəzarətçiləri üçün nəzarət proqramlarının proqramlaşdırılması üçün nəzərdə tutulmuşdur. İdarəetmə proqramlarının işlənib hazırlanmasını asanlaşdırmaq üçün istifadəçi interfeysi, əsas funksiyalar və kommunikasiya kitabxanaları təqdim edir.

Məhsuldan İstifadə Təlimatları

  • Başlamadan əvvəl:
    • Sisteminizin təlimatda göstərilən avadanlıq tələblərinə cavab verdiyinə əmin olun. Bu məhsul üçün nəzərdə tutulan auditoriyaya Nanotec nəzarətçiləri üçün nəzarət proqramı yaratmaq istəyən tərtibatçılar daxildir.
  • Başlanğıc:
    • NanoLib-dən istifadə etməyə başlamaq üçün bu addımları yerinə yetirin:
    • NanoLib-i layihənizə idxal etməklə başlayın.
    • Layihə parametrlərinizi lazım olduqda konfiqurasiya edin.
    • NanoLib funksiyalarını daxil etmək üçün layihənizi qurun.
  • Layihələrin yaradılması:
    • Siz həm Windows, həm də Linux mühitləri üçün layihələr yarada bilərsiniz. Hər bir platforma üçün təlimatda verilmiş xüsusi təlimatlara əməl edin.
  • Siniflər / Funksiyalara istinad:
    • Proqramlaşdırma nəzarət proqramı üçün NanoLib-də mövcud olan siniflər və funksiyalar haqqında ətraflı təlimat üçün istifadəçi təlimatına baxın.

Tez-tez verilən suallar

  • S: NanoLib-in məqsədi nədir?
    • A: NanoLib əsas funksiyaları və kommunikasiya imkanlarını təmin edən Nanotec kontrollerləri üçün proqramlaşdırma nəzarət proqramı üçün kitabxanadır.
  • S: NanoLib ilə necə başlaya bilərəm?
    • A: NanoLib-i layihənizə idxal etməklə, layihə parametrlərini konfiqurasiya etməklə və NanoLib xüsusiyyətlərindən istifadə etmək üçün layihənizi qurmaqla başlayın.

“`

NanoLib istifadəçi təlimatı
C++

1.3.0 məhsul versiyası ilə etibarlıdır

İstifadəçi Təlimatı Versiyası: 1.4.2

Məqsəd və konvensiyaları sənədləşdirin

Bu sənəd NanoLib kitabxanasının qurulmasını və istifadəsini təsvir edir və Nanotec nəzarətçiləri üçün öz idarəetmə proqramınızı proqramlaşdırmaq üçün bütün siniflərə və funksiyalara istinad edir. Aşağıdakı şriftlərdən istifadə edirik:
Altı xətt çəkilmiş mətn çarpaz istinad və ya hiperlink qeyd edir.
Example 1: NanoLibAccessor haqqında dəqiq təlimatlar üçün Quraşdırma bölməsinə baxın. Məsample 2: Ixxat sürücüsünü quraşdırın və CAN-to-USB adapterini qoşun. Kursiv mətn deməkdir: Bu, adlandırılmış obyekt, menyu yolu / elementi, tab / file ad və ya (lazım olduqda) xarici dil ifadəsi.
Example 1: Seçin File > Yeni > Boş Sənəd. Alətlər sekmesini açın və Şərh seçin. Məsample 2: Bu sənəd istifadəçiləri (= Nutzer; usuario; utente; utilisateur; utente və s.) aşağıdakılardan ayırır:
– Üçüncü tərəf istifadəçisi (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente və s.). – Son istifadəçi (= Endnutzer; usuario final; utente final; utilisateur final; utente finale və s.).
Kuryer kod bloklarını və ya proqramlaşdırma əmrlərini qeyd edir. Məsamp1-ci addım: Bash vasitəsilə paylaşılan obyektləri kopyalamaq üçün sudo make install-a zəng edin; sonra ldconfig-ə zəng edin. Məsample 2: NanoLib-də qeyd səviyyəsini dəyişmək üçün aşağıdakı NanoLibAccessor funksiyasından istifadə edin:
// ***** C++ variantı *****
void setLoggingLevel(LogLevel səviyyəsi);
Qalın mətn kritik əhəmiyyət kəsb edən ayrı-ayrı sözləri vurğulayır. Alternativ olaraq, mötərizədə nida işarələri kritik(!) əhəmiyyətini vurğulayır.
Example 1: Özünüzü, başqalarını və avadanlıqlarınızı qoruyun. Ümumiyyətlə bütün Nanotec məhsullarına aid olan ümumi təhlükəsizlik qeydlərimizə əməl edin.
Example 2: Öz müdafiəniz üçün bu xüsusi məhsula aid olan xüsusi təhlükəsizlik qeydlərinə də əməl edin. Birgə klikləmək feli kontekst menyusunu açmaq üçün ikinci siçan düyməsi ilə klikləmə deməkdir və s.
Example 1: üzərinə birgə klikləyin file, Adını dəyişdir seçin və adını dəyişin file. Məsələnample 2: Xüsusiyyətləri yoxlamaq üçün üzərinə birgə klikləyin file və Properties seçin.

Versiya: doc 1.4.2 / NanoLib 1.3.0

4

Başlamazdan əvvəl

NanoLib-dən istifadə etməyə başlamazdan əvvəl kompüterinizi hazırlayın və nəzərdə tutulan istifadə və kitabxana məhdudiyyətləri haqqında özünüzü məlumatlandırın.
2.1 Sistem və avadanlıq tələbləri

Nanotic-NanoLib-C++-Proqramlaşdırma-FIG- (1)
DİQQƏT 32-bit əməliyyat və ya dayandırılmış sistemdən nasazlıq! 64 bitlik sistemdən istifadə edin və ardıcıl olaraq qoruyun. OEM dayandırmalarına və ~ təlimatlarına əməl edin.

NanoLib 1.3.0 CANopen, Modbus RTU (həmçinin virtual com portunda USB), Modbus TCP, EtherCat və Profinet ilə bütün Nanotec məhsullarını dəstəkləyir. Köhnə NanoLibs üçün: Çapda dəyişiklik qeydinə baxın. Yalnız risk sizin üzərinizdədir: köhnə sistem istifadəsi. Qeyd: FTDI əsaslı USB adapterdən istifadə edərkən problemlərlə qarşılaşsanız gecikməni mümkün qədər aşağı təyin etmək üçün etibarlı OEM təlimatlarına əməl edin.

Tələblər (64-bit sistem məcburi)
Windows 10 və ya 11, Visual Studio 2019 16.8 və ya daha sonrakı versiya və Windows SDK 10.0.20348.0 (versiya 2104) və ya daha yeni versiya
C++ yenidən bölüşdürülə bilən 2017 və ya daha yüksək CANopen: Ixxat VCI və ya PCAN əsas sürücü (isteğe bağlı) EtherCat modulu / Profinet DCP: Npcap və ya WinPcap RESTful modulu: Npcap, WinPcap və ya admin icazəsi
Ethernet yükləyiciləri ilə əlaqə saxlayın
Linux w/ Ubuntu 20.04 LTS - 24 (bütün x64 və arm64)
Kernel başlıqları və libpopt-dev paketi Profinet DCP: CAP_NET_ADMIN və CAP_NET_RAW qabiliyyəti
əlaqələri CANopen: Ixxat ECI sürücüsü və ya Peak PCAN-USB adapteri EtherCat: CAP_NET_ADMIN, CAP_NET_RAW və
CAP_SYS_NICE qabiliyyətləri RESTful: CAP_NET_ADMIN Eth- ilə ünsiyyət qurmaq bacarığı
ernet yükləyiciləri (həmçinin tövsiyə olunur: CAP_NET_RAW)

Dil, fieldbus adapterləri, kabellər
C++ GCC 7 və ya daha yüksək (Linux)
EtherCAT: Ethernet kabeli VCP / USB hub: indi vahid USB USB yaddaşı: USB kabel REST: Ethernet kabeli CANopen: Ixxat USB-to-CAN V2; na-
notec ZK-USB-CAN-1, Peak PCANUSB adapteri arm64-də Ubuntu üçün Ixxat dəstəyi yoxdur
Modbus RTU: Nanotec ZK-USB-RS485-1 və ya ekvivalent adapter; Virtual com portunda USB kabel (VCP)
Modbus TCP: Məhsulun məlumat cədvəlinə uyğun olaraq Ethernet kabeli

2.2 Nəzərdə tutulan istifadə və auditoriya
NanoLib sənaye proqramlarının geniş spektrində və yalnız lazımi səviyyədə bacarıqlı proqramçılar üçün Nanotec nəzarətçiləri ilə işləmək və onlarla əlaqə saxlamaq üçün proqram kitabxanası və proqram komponentidir.
Real vaxt rejimində qeyri-kafi avadanlıq (PC) və əməliyyat sistemi sayəsində NanoLib sinxron çoxoxlu hərəkətə ehtiyacı olan və ya ümumiyyətlə zamana həssas olan proqramlarda istifadə üçün nəzərdə tutulmur.
Heç bir halda siz NanoLib-i məhsul və ya sistemə təhlükəsizlik komponenti kimi inteqrasiya edə bilməzsiniz. Son istifadəçilərə çatdırılarkən, Nanotec tərəfindən istehsal olunan komponenti olan hər bir məhsula təhlükəsiz istifadə və təhlükəsiz istismar üçün müvafiq xəbərdarlıq bildirişləri və təlimatlar əlavə etməlisiniz. Siz Nanotec tərəfindən verilmiş bütün xəbərdarlıq bildirişlərini birbaşa son istifadəçiyə ötürməlisiniz.
2.3 Çatdırılma və zəmanətin həcmi
NanoLib yükləməmizdən *.zip qovluğu kimi gəlir webya EMEA / APAC və ya AMERICA üçün sayt. Quraşdırmadan əvvəl yükləmənizi lazımi qaydada saxlayın və açın. NanoLib paketinə daxildir:

Versiya: doc 1.4.2 / NanoLib 1.3.0

5

2 Başlamadan əvvəl

İnterfeys başlıqları mənbə kodu kimi (API)

İkili formatda kitabxana kimi əsas funksiyalar: nano-

Ünsiyyəti asanlaşdıran kitabxanalar: nanolibm_ lib.dll

[yourfieldbus].dll və s.

ExampLayihə: Məsample.sln (Visual Studio

layihə) və sample.cpp (əsas file)

Zəmanətin əhatə dairəsi üçün, lütfən, a) EMEA / APAC və ya AMERİKA üçün şərtlərimizə və b) bütün lisenziya şərtlərinə əməl edin. Qeyd: Nanotec üçüncü tərəf avadanlığının səhv və ya qeyri-kafi keyfiyyətinə, işlənməsinə, quraşdırılmasına, istismarına, istifadəsinə və texniki xidmətinə görə məsuliyyət daşımır! Lazımi təhlükəsizlik üçün həmişə etibarlı OEM təlimatlarına əməl edin.

Versiya: doc 1.4.2 / NanoLib 1.3.0

6

NanoLib memarlığı

NanoLib-in modul proqram strukturu sizə ciddi şəkildə əvvəlcədən qurulmuş nüvə ətrafında sərbəst şəkildə fərdiləşdirilə bilən motor nəzarətçisi/fieldbus funksiyalarını təşkil etməyə imkan verir. NanoLib aşağıdakı modulları ehtiva edir:

İstifadəçi interfeysi (API)

NanoLib nüvəsi

İnterfeys və köməkçi siniflər hansı Kitabxanalar

Rabitə kitabxanaları Fieldbus-a aid olan kitabxanalar

nəzarətçinizin NanoLib arasında API funksionallığını həyata keçirməsinə icazə verin

OD (obyekt lüğəti)

avtobus kitabxanaları ilə qarşılıqlı əlaqə.

əsas və avtobus avadanlıqları.

NanoLib əsas funksiyası əsasında

mənsubiyyətlər.

3.1 İstifadəçi interfeysi

İstifadəçi interfeysi başlıq interfeysindən ibarətdir files nəzarətçi parametrlərinə daxil olmaq üçün istifadə edə bilərsiniz. Siniflər / funksiyalar arayışında təsvir olunduğu kimi istifadəçi interfeysi sinifləri sizə imkan verir:
Həm aparata (fieldbus adapteri), həm də nəzarətçi cihazına qoşulun. Nəzarətçinin parametrlərini oxumaq/yazmaq üçün cihazın OD-nə daxil olun.

3.2 NanoLib nüvəsi

NanoLib nüvəsi nanolib.lib idxal kitabxanası ilə birlikdə gəlir. O, istifadəçi interfeysinin funksionallığını həyata keçirir və aşağıdakılara cavabdehdir:
Rabitə kitabxanalarının yüklənməsi və idarə edilməsi. NanoLibAccessor-da istifadəçi interfeysi funksiyalarının təmin edilməsi. Bu rabitə giriş nöqtəsi
NanoLib əsas və kommunikasiya kitabxanalarında icra edə biləcəyiniz əməliyyatlar toplusunu cərimələyir.

3.3 Rabitə kitabxanaları

nanotec.services.nanolib.dll (isteğe bağlı Plug & Drive Studio üçün faydalıdır) əlavə olaraq, NanoLib aşağıdakı kommunikasiya kitabxanalarını təklif edir:

nanolibm_canopen.dll nanolibm_modbus.dll

nanolibm_ethercat.dll nanolibm_restful-api.dll

nanolibm_usbmmsc.dll nanolibm_profinet.dll

Bütün kitabxanalar əsas və nəzarətçi arasında aparat abstraksiya qatını qoyur. Əsas onları təyin edilmiş layihə qovluğundan işə saldıqda yükləyir və müvafiq protokol vasitəsilə nəzarətçi ilə əlaqə yaratmaq üçün onlardan istifadə edir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

7

Başlanır

NanoLib-i əməliyyat sisteminiz üçün lazımi qaydada necə quracağınızı və lazım olduqda avadanlığı necə birləşdirəcəyinizi oxuyun.
4.1 Sisteminizi hazırlayın
Adapter drayverlərini quraşdırmadan əvvəl, əvvəlcə kompüterinizi əməliyyat sistemi boyunca hazırlayın. PC-ni Windows OS ilə birlikdə hazırlamaq üçün C++ uzantıları ilə MS Visual Studio quraşdırın. Linux Bash tərəfindən make və gcc quraşdırmaq üçün sudo apt install build-essentials-a zəng edin. Daha sonra NanoLib istifadə edən proqram üçün CAP_NET_ADMIN, CAP_NET_RAW və CAP_SYS_NICE imkanlarını aktiv edin: 1. Sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip' zəng edin.
adı>. 2. Yalnız bundan sonra adapter sürücülərinizi quraşdırın.
4.2 Windows üçün Ixxat adapter drayverini quraşdırın
Yalnız lazımi sürücü quraşdırıldıqdan sonra siz Ixxat-ın USB-to-CAN V2 adapterindən istifadə edə bilərsiniz. Virtual kompotu (VCP) aktivləşdirib-aktiv etməyi öyrənmək üçün USB sürücülərinin məhsul təlimatını oxuyun. 1. Windows üçün Ixxat-ın VCI 4 sürücüsünü buradan endirin və quraşdırın www.ixxat.com. 2. Ixxat-ın USB-to-CAN V2 kompakt adapterini USB vasitəsilə PC-yə qoşun. 3. Cihaz meneceri tərəfindən: Həm sürücünün, həm də adapterin lazımi qaydada quraşdırılıb-tanınmadığını yoxlayın.
4.3 Windows üçün Peak adapter drayverini quraşdırın
Yalnız lazımi sürücü quraşdırıldıqdan sonra siz Peak-in PCAN-USB adapterindən istifadə edə bilərsiniz. Virtual kompotu (VCP) aktivləşdirib-aktiv etməyi öyrənmək üçün USB sürücülərinin məhsul təlimatını oxuyun. 1. Windows cihaz drayveri quraşdırmasını (= cihaz drayverləri, alətlər və
API) -dən http://www.peak-system.com. 2. Peak-in PCAN-USB adapterini USB vasitəsilə PC-yə qoşun. 3. Cihaz meneceri tərəfindən: Həm sürücünün, həm də adapterin lazımi qaydada quraşdırılıb-tanınmadığını yoxlayın.
4.4 Linux üçün Ixxat adapter drayverini quraşdırın
Yalnız lazımi sürücü quraşdırıldıqdan sonra siz Ixxat-ın USB-to-CAN V2 adapterindən istifadə edə bilərsiniz. Qeyd: Digər dəstəklənən adapterlər sudo chmod +777/dev/ttyACM* (* cihaz nömrəsi) ilə icazənizi tələb edir. Virtual kompotu (VCP) aktivləşdirib-aktiv etməyi öyrənmək üçün USB sürücülərinin məhsul təlimatını oxuyun. 1. ECI sürücüsü və demo proqramı üçün lazım olan proqramı quraşdırın:
sudo apt-get yeniləmə apt-get quraşdırma libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. ECI-for-Linux driverini www.ixxat.com saytından endirin. Bunu vasitəsilə çıxarın:
eci_driver_linux_amd64.zip faylını açın
3. Sürücüyü aşağıdakı vasitələrlə quraşdırın:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Demo tətbiqini tərtib edib işə salmaqla sürücünün uğurlu quraşdırılmasını yoxlayın:
cd /EciLinux_amd/src/EciDemos/ sudo make cd /EciLinux_amd/bin/release/ ./LinuxEciDemo

Versiya: doc 1.4.2 / NanoLib 1.3.0

8

4 Başlamaq
4.5 Linux üçün Peak adapter drayverini quraşdırın
Yalnız lazımi sürücü quraşdırıldıqdan sonra siz Peak-in PCAN-USB adapterindən istifadə edə bilərsiniz. Qeyd: Digər dəstəklənən adapterlər sudo chmod +777/dev/ttyACM* (* cihaz nömrəsi) ilə icazənizi tələb edir. Virtual kompotu (VCP) aktivləşdirib-aktiv etməyi öyrənmək üçün USB sürücülərinin məhsul təlimatını oxuyun. 1. Linux-da nüvə başlıqlarının olub olmadığını yoxlayın: ls /usr/src/linux-headers-`uname -r`. Əgər yoxsa, quraşdırın
onlar: sudo apt-get install linux-headers-`uname -r` 2. Yalnız indi libpopt-dev paketini quraşdırın: sudo apt-get install libpopt-dev 3. Lazım olan sürücü paketini yükləyin (peak-linux-driver- xxx.tar.gz) www.peak-system.com saytından. 4. Paketdən çıxarmaq üçün istifadə edin: tar xzf peak-linux-driver-xxx.tar.gz 5. Paketdən çıxarılan qovluqda: Sürücüləri, PCAN baza kitabxanasını və s. tərtib edin və quraşdırın: hamısını edin
sudo make install 6. Funksiyanı yoxlamaq üçün PCAN-USB adapterini qoşun.
a) Kernel modulunu yoxlayın:
lsmod | grep pcan b) … və paylaşılan kitabxana:
ls -l /usr/lib/libpcan*
Qeyd: USB3 problemləri yaranarsa, USB2 portundan istifadə edin.
4.6 Aparatınızı birləşdirin
NanoLib layihəsini işə salmaq üçün adapterinizdən istifadə edərək uyğun Nanotec nəzarət cihazını kompüterə qoşun. 1. Uyğun kabel vasitəsilə adapterinizi nəzarətçiyə qoşun. 2. Adapter məlumat vərəqinə uyğun olaraq adapteri PC-yə qoşun. 3. Müvafiq enerji təchizatı ilə nəzarətçini işə salın. 4. Lazım gələrsə, Nanotec nəzarətçisinin məhsul təlimatında göstərildiyi kimi əlaqə parametrlərini dəyişdirin.
4.7 NanoLib yükləyin
Tez və asan əsaslarla ilk başlanğıc üçün keçmişimizdən istifadə edə bilərsiniz (lakin etməməlisiniz).ample layihə. 1. Bölgənizdən asılı olaraq: NanoLib-i bizdən yükləyin webya EMEA / APAC və ya AMERICA üçün sayt. 2. Paketi açın files / qovluqları seçin və bir seçim seçin: Tez və asan əsaslar üçün: Keçmişin işə salınmasına baxınample layihə. Windows-da təkmil fərdiləşdirmə üçün: Öz Windows layihənizi yaratmağa baxın. Linux-da təkmil fərdiləşdirmə üçün: Öz Linux layihənizi yaratmağa baxın.

Versiya: doc 1.4.2 / NanoLib 1.3.0

9

Keçmişdən başlayaraqamplayihə

NanoLib lazımi qaydada yüklənmiş halda, example layihə Nanotec nəzarətçi ilə NanoLib istifadəsini sizə göstərir. Qeyd: Hər bir addım üçün şərhlər verilmişdirample kodu istifadə olunan funksiyaları izah edir. keçmişampLayihə aşağıdakılardan ibarətdir: `*_functions_example.*' files, NanoLib interfeysi üçün tətbiqləri ehtiva edən `*_callback_ex funksiyalarını yerinə yetirirample.*' files, müxtəlif geri çağırışlar üçün tətbiqləri ehtiva edir (skan, məlumat və
giriş) `menyu_*.*' filemenyu məntiqini və Ex kodunu ehtiva edənample.* file, əsas proqramdır, menyu yaratmaq və bütün istifadə olunan parametrləri işə salmaq üçün Sampler_example.* file, keçmişi ehtiva ediramps üçün le həyata keçirilməsiampistifadə. Daha çox keçmiş tapa bilərsinizampnanotec.com saytındakı Bilik Bazasında müxtəlif iş rejimləri üçün bəzi hərəkət əmrləri ilə. Hamısı Windows və ya Linux-da istifadə edilə bilər.
Visual Studio ilə Windows-da 1. Ex açınample.sln file. 2. Keçmişi açınample.cpp. 3. Keçmişi tərtib edin və işlədinampkod.
Linux-da Bash vasitəsilə 1. Mənbəni açın file, açılmış məzmunu olan qovluğa gedin. Əsas file keçmiş üçünampledir
example.cpp. 2. Bash-da zəng edin:
a. Paylaşılan obyektləri kopyalamaq və ldconfig-ə zəng etmək üçün “sudo make install” düyməsini basın. b. Testi icra edilə bilən qurmaq üçün "hamısını et". 3. Zibil qovluğunda icra edilə bilən keçmiş varample file. Bash ilə: Çıxış qovluğuna gedin və ./ex yazınample. Heç bir xəta baş verməzsə, paylaşılan obyektləriniz lazımi qaydada quraşdırılıb və kitabxananız istifadəyə hazırdır. Səhv ./ex oxuyursaample: paylaşılan kitabxanaları yükləyərkən xəta: libnanolib.so: paylaşılan obyekti aça bilmir file: Belə yox file və ya kataloq, paylaşılan obyektlərin quraşdırılması uğursuz oldu. Bu halda, növbəti addımları izləyin. 4. /usr/local/lib daxilində yeni qovluq yaradın (admin hüquqları lazımdır). Bash-a belə yazın:
sudo mkdir /usr/local/lib/nanotec
5. Zip-dən bütün paylaşılan obyektləri kopyalayın filelib qovluğu:
./lib/*.so /usr/local/lib/nanotec/ quraşdırın
6. Hədəf qovluğunun məzmununu aşağıdakılarla yoxlayın:
ls -al /usr/local/lib/nanotec/
O, paylaşılan obyekti siyahıya almalıdır files lib qovluğundan. 7. Bu qovluqda ldconfig proqramını işə salın:
sudo ldconfig /usr/local/lib/nanotec/
keçmişample bir CLI proqramı kimi həyata keçirilir və menyu interfeysini təmin edir. Menyu girişləri kontekst əsasındadır və kontekst vəziyyətindən asılı olaraq aktiv və ya qeyri-aktiv ediləcək. Onlar sizə nəzarətçi ilə işləmək üçün tipik iş prosesindən sonra müxtəlif kitabxana funksiyalarını seçmək və icra etmək imkanını təklif edir: 1. Kompüterdə qoşulmuş avadanlıq (adapterlər) olub olmadığını yoxlayın və onları siyahıya salın. 2. Adapterlə əlaqə qurun. 3. Qoşulmuş nəzarətçi cihazları üçün avtobusu skan edin. 4. Cihaza qoşulun.

Versiya: doc 1.4.2 / NanoLib 1.3.0

10

5 Keçmişdən başlayaraqamplayihə
5. Kitabxananın bir və ya bir neçə funksiyasını sınaqdan keçirin: Nəzarətçinin obyekt lüğətini oxuyun/yazın, proqram təminatını yeniləyin, NanoJ proqramını yükləyin və işə salın, motoru işə salın və tənzimləyin, qeydləri konfiqurasiya edin və istifadə edin.ampler.
6. Əvvəlcə cihazla, sonra adapterlə əlaqəni bağlayın.

Versiya: doc 1.4.2 / NanoLib 1.3.0

11

Öz Windows layihənizi yaratmaq

NanoLib-dən istifadə etmək üçün öz Windows layihənizi yaradın, tərtib edin və işlədin.
6.1 NanoLib-i idxal edin
NanoLib başlığını idxal edin files və MS Visual Studio vasitəsilə kitabxanalar.
1. Visual Studio proqramını açın. 2. Yeni layihə yarat > Konsol Tətbiqi C++ > Sonrakı vasitəsilə: Layihə növünü seçin. 3. Solution Explorer-də layihə qovluğu yaratmaq üçün layihənizi adlandırın (burada: NanolibTest). 4. Finish seçin. 5. Pəncərələri açın file explorer və yeni yaradılmış layihə qovluğuna gedin. 6. İki yeni qovluq yaradın, inc və lib. 7. NanoLib paket qovluğunu açın. 8. Oradan: Başlığı kopyalayın files daxil qovluğundan layihə qovluğunuza inc və bütün .lib və .dll
files yeni layihə qovluğunuza lib. 9. Layihə qovluğunuzdakı strukturu yoxlayın, məsələnample:

Nanotic-NanoLib-C++-Proqramlaşdırma-FIG- (2)lazımi quruluş üçün ect qovluğu:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.cpp NanolibTest.jel NanolibTest.vcxproj.user NanolibTest.sln
6.2 Layihənizi konfiqurasiya edin
NanoLib layihələrini qurmaq üçün MS Visual Studio-da Solution Explorer-dən istifadə edin. Qeyd: NanoLib-in düzgün işləməsi üçün Visual C++ layihə parametrlərində buraxılış (debuq deyil!) konfiqurasiyasını seçin; sonra layihəni C++ yenidən paylana bilənlərin VC iş vaxtları ilə qurun və əlaqələndirin [2022].
1. Həll Explorer-də: Layihə qovluğuna gedin (burada: NanolibTest). 2. Kontekst menyusunu açmaq üçün qovluğa birgə klikləyin. 3. Xüsusiyyətlər seçin. 4. Bütün konfiqurasiyaları və Bütün platformaları aktivləşdirin. 5. C/C++ seçin və Əlavə Kataloqlara daxil olun. 6. Daxil edin: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Linker seçin və Əlavə Kitabxana Kataloqlarına keçin. 8. Daxil edin: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Linker-i genişləndirin və Daxiletmə seçin. 10.Əlavə asılılıqlara gedin və daxil edin: nanolib.lib;%(Əlavə asılılıqlar) 11.OK vasitəsilə təsdiqləyin.

Versiya: doc 1.4.2 / NanoLib 1.3.0

12

6 Öz Windows layihənizi yaratmaq
12.Configuration > C++ > Language > Language Standard > ISO C++17 Standard bölməsinə keçin və dil standartını C++17 (/std:c++17) olaraq təyin edin.
6.3 Layihənizi qurun
NanoLib layihənizi MS Visual Studio-da qurun. 1. Əsas *.cpp açın file (burada: nanolib_example.cpp) və lazım gələrsə kodu redaktə edin. 2. Build > Configuration Manager seçin. 3. Aktiv həll platformalarını x64-ə dəyişin. 4. Close vasitəsilə təsdiqləyin. 5. Build > Solution Build seçin. 6. Səhv yoxdur? Kompilyasiya çıxışınızın lazımi qaydada hesabat verib-vermədiyini yoxlayın:
1>—— Təmiz başladı: Layihə: NanolibTest, Konfiqurasiya: Debug x64 —–========== Təmiz: 1 uğurlu, 0 uğursuz, 0 atlandı ==========

Versiya: doc 1.4.2 / NanoLib 1.3.0

13

7 Öz Linux layihənizi yaratmaq
7 Öz Linux layihənizi yaratmaq
NanoLib-dən istifadə etmək üçün öz Linux layihənizi yaradın, tərtib edin və işlədin. 1. Açılmış NanoLib quraşdırma dəstində: Açın /nanotec_nanolib. 2. tar.gz-də paylaşılan bütün obyektləri tapın file. 3. Bir seçim seçin: Hər bir libi ya Make ilə quraşdırınfile və ya əl ilə.
7.1 Paylaşılan obyektləri Make ilə quraşdırınfile
Make istifadə edinfile bütün default *.so avtomatik quraşdırmaq üçün Linux Bash ilə files. 1. Via Bash: Marka olan qovluğa keçinfile. 2. Paylaşılan obyektləri aşağıdakı vasitələrlə kopyalayın:
sudo make install 3. Təsdiq edin:
ldconfig
7.2 Paylaşılan obyektləri əl ilə quraşdırın
Bütün *.so quraşdırmaq üçün Bash istifadə edin files NanoLib əl ilə. 1. Via Bash: /usr/local/lib daxilində yeni qovluq yaradın. 2. Admin hüquqları lazımdır! Növ:
sudo mkdir /usr/local/lib/nanotec 3. Açılmış quraşdırma paketi qovluğuna keçin. 4. Bütün paylaşılan obyektləri lib qovluğundan kopyalayın:
./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ quraşdırın 5. Hədəf qovluğunun məzmununu bu yolla yoxlayın:
ls -al /usr/local/lib/nanotec/ 6. Lib qovluğundakı bütün paylaşılan obyektlərin siyahıda olub olmadığını yoxlayın. 7. Bu qovluqda ldconfig proqramını işə salın:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Layihənizi yaradın
Paylaşılan obyektləriniz quraşdırılmaqla: Linux NanoLib üçün yeni layihə yaradın. 1. Via Bash: Yeni layihə qovluğu yaradın (burada: NanoLibTest):
mkdir NanoLibTest cd NanoLibTest
2. Başlığı kopyalayın files daxil qovluğuna (burada: inc) vasitəsilə: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Əsas yaradın file (NanoLibTest.cpp) vasitəsilə: #include “accessor_factory.hpp” #include

Versiya: doc 1.4.2 / NanoLib 1.3.0

14

7 Öz Linux layihənizi yaratmaq
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds nəticə = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << “Uğur” << std::endl; }
girişi silmək; 0 qaytarmaq; }
4. Layihə qovluğunuzda lazımi strukturu yoxlayın:

Nanotic-NanoLib-C++-Proqramlaşdırma-FIG- (3)
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Layihənizi tərtib edin və sınaqdan keçirin
Linux NanoLib-i Bash vasitəsilə istifadəyə hazır edin.
1. Via Bash: Əsası tərtib edin file vasitəsilə:
g++ -Divar -Wextra -pedantik -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. İcra olunanı aşağıdakılar vasitəsilə birləşdirin:
g++ -Wall -Wextra -pedantic -I./inc -o test NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Test proqramını aşağıdakı vasitələrlə işə salın:
./test
4. Bash-in lazımi qaydada hesabat verib-vermədiyini yoxlayın:
uğur

Versiya: doc 1.4.2 / NanoLib 1.3.0

15

8 Siniflər / funksiyalar arayışı

8 Siniflər / funksiyalar arayışı

NanoLib-in istifadəçi interfeysi siniflərinin və onların üzv funksiyalarının siyahısını burada tapa bilərsiniz. Funksiyanın tipik təsvirinə qısa giriş, funksiyanın tərifi və parametr/qaytarma siyahısı daxildir:

ExampleFunction () Sizə funksiyanın nə etdiyini qısaca izah edir.
virtual boşluq nlc::NanoLibAccessor::MəsampleFunction (Param_a const & param_a, Param_b const & param_B)

Parametrlər param_a param_b
ResultVoid qaytarır

Lazım gələrsə əlavə şərh. Lazım gələrsə əlavə şərh.

8.1 NanoLibAccessor

NanoLib-ə giriş nöqtəsi kimi istifadə edilən interfeys sinfi. Tipik bir iş prosesi belə görünür:
1. NanoLibAccessor.listAvailableBusHardware () ilə aparatı skan etməklə başlayın. 2. BusHardwareOptions () ilə rabitə parametrlərini təyin edin. 3. NanoLibAccessor.openBusHardwareWithProtocol () ilə aparat bağlantısını açın. 4. NanoLibAccessor.scanDevices () ilə qoşulmuş qurğular üçün avtobusu skan edin. 5. NanoLibAccessor.addDevice () ilə cihaz əlavə edin. 6. NanoLibAccessor.connectDevice () ilə cihaza qoşulun. 7. Əməliyyatı bitirdikdən sonra cihazı NanoLibAccessor.disconnectDevice () ilə ayırın. 8. NanoLibAccessor.removeDevice () ilə cihazı çıxarın. 9. NanoLibAccessor.closeBusHardware () ilə aparat bağlantısını bağlayın.
NanoLibAccessor aşağıdakı ictimai üzv funksiyalarına malikdir:

listAvailableBusHardware () Mövcud fieldbus avadanlığını sıralamaq üçün bu funksiyadan istifadə edin.
virtual ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()

NəticəBusHwIds qaytarır

Fieldbus ID massivini təqdim edir.

openBusHardwareWithProtocol () Avtobus avadanlığını birləşdirmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

Parametrlər busHwId busHwOpt
ResultVoid qaytarır

Açılacaq sahə avtobusunu təyin edir. Fieldbus açılış seçimlərini müəyyən edir. Void funksiyasının işlədiyini təsdiqləyir.

isBusHardwareOpen () Fieldbus aparat bağlantınızın açıq olub olmadığını yoxlamaq üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

Versiya: doc 1.4.2 / NanoLib 1.3.0

16

8 Siniflər / funksiyalar arayışı

Parametrlər BusHardwareId doğrunu qaytarır
yalan

Açılacaq hər bir sahə avtobusunu təyin edir. Aparat açıqdır. Avadanlıq bağlıdır.

getProtocolSpecificAccessor () Protokola məxsus aksesuar obyektini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

Parametrlər busHwId NəticəVoidi qaytarır

Aksessuarı əldə etmək üçün sahə avtobusunu təyin edir. Void funksiyasının işlədiyini təsdiqləyir.

getProfinetDCP () Profinet DCP interfeysinə istinadı qaytarmaq üçün bu funksiyadan istifadə edin.
virtual ProfinetDCP və getProfinetDCP ()

ProfinetDCP-ni qaytarır

almaqSamplerInterface () s-ə istinad etmək üçün bu funksiyadan istifadə edinampinterfeysi.
virtual SamplerInterface & getSamplerİnterfeys ()

S qaytarıramplerİnterfeys

s-ə istinad edirampinterfeys sinfi.

setBusState () Bu funksiyadan avtobus protokoluna xas vəziyyəti təyin etmək üçün istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

Parametrlər busHwId vəziyyəti
ResultVoid qaytarır

Açılacaq sahə avtobusunu təyin edir. Sətir dəyəri kimi avtobusa məxsus vəziyyəti təyin edir. Void funksiyasının işlədiyini təsdiqləyir.

scanDevices () Şəbəkədəki cihazları skan etmək üçün bu funksiyadan istifadə edin.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* geri çağırış)

Parametrlər busHwId geri çağırış
ResultDeviceIds IOError-u qaytarır

Skan ediləcək sahə avtobusunu təyin edir. NlcScanBusCallback tərəqqi izləyicisi. Cihaz ID massivi verir. Cihazın tapılmadığını bildirir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

17

8 Siniflər / funksiyalar arayışı

əlavə cihaz ()
NanoLib-in daxili cihaz siyahısına deviceId tərəfindən təsvir edilən avtobus cihazını əlavə etmək və onun üçün deviceHandle funksiyasını qaytarmaq üçün bu funksiyadan istifadə edin.
virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

Parametrlər deviceId NəticəDeviceHandle qaytarır

Siyahıya əlavə ediləcək cihazı müəyyənləşdirir. Cihaz tutacaq verir.

connectDevice () Cihazı DeviceHandle ilə birləşdirmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultVoid qaytarır
IOError

NanoLib-in hansı avtobus cihazına qoşulduğunu müəyyənləşdirir. Void funksiyasının işlədiyini təsdiqləyir. Cihazın tapılmadığını bildirir.

getDeviceName () DeviceHandle ilə cihazın adını almaq üçün bu funksiyadan istifadə edin.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultString qaytarır

NanoLib-in hansı avtobus cihazının adını alır. Cihaz adlarını sətir kimi təqdim edir.

getDeviceProductCode () DeviceHandle ilə cihazın məhsul kodunu əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultInt-i qaytarır

NanoLib-in məhsul kodunu hansı avtobus cihazı üçün aldığını müəyyən edir. Məhsul kodlarını tam ədəd kimi təqdim edir.

getDeviceVendorId () DeviceHandle ilə cihaz satıcısının ID-sini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultInt-i qaytarır
Resurs Əlçatan deyil

NanoLib-in satıcı identifikatorunu hansı avtobus cihazı üçün aldığını müəyyən edir. Satıcı ID-lərini tam ədəd kimi təqdim edir. Heç bir məlumat tapılmadığını bildirir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

18

8 Siniflər / funksiyalar arayışı

getDeviceId () NanoLib daxili siyahısından xüsusi cihazın ID-sini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultDeviceId-i qaytarır

NanoLib-in hansı avtobus cihazı üçün cihaz identifikatorunu əldə etdiyini müəyyənləşdirir. Cihaz ID təqdim edir.

getDeviceIds () NanoLib daxili siyahısından bütün cihazların ID-sini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

ResultDeviceIds-i qaytarır

Cihaz ID siyahısını təqdim edir.

getDeviceUid () deviceHandle ilə cihazın unikal ID-sini (96 bit / 12 bayt) əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultArrayByte qaytarır
Resurs Əlçatan deyil

NanoLib-in hansı avtobus cihazı üçün unikal ID əldə etdiyini müəyyənləşdirir. Unikal ID-ləri bayt massivi kimi təqdim edir. Heç bir məlumat tapılmadığını bildirir.

getDeviceSerialNumber () DeviceHandle ilə cihazın seriya nömrəsini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultString qaytarır
Resurs Əlçatan deyil

NanoLib-in seriya nömrəsini hansı avtobus cihazı üçün aldığını müəyyən edir. Seriya nömrələrini sətir kimi təqdim edir. Heç bir məlumat tapılmadığını bildirir.

getDeviceHardwareGroup () DeviceHandle ilə avtobus cihazının aparat qrupunu əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultInt-i qaytarır

NanoLib-in aparat qrupunu hansı avtobus cihazı üçün aldığını müəyyən edir.
Aparat qruplarını tam ədəd kimi təqdim edir.

getDeviceHardwareVersion () DeviceHandle ilə avtobus cihazının hardware versiyasını əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

Versiya: doc 1.4.2 / NanoLib 1.3.0

19

8 Siniflər / funksiyalar arayışı

Parametrlər deviceHandle

Qaytarır

ResultString ResourceUavailable

NanoLib-in aparat versiyasını hansı avtobus cihazı üçün aldığını müəyyən edir. Cihaz adlarını sətir kimi təqdim edir. Heç bir məlumat tapılmadığını bildirir.

getDeviceFirmwareBuildId () DeviceHandle ilə avtobus cihazının proqram təminatının qurulması ID-sini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultString qaytarır

NanoLib-in hansı avtobus cihazı üçün proqram təminatı qurma identifikatorunu əldə etdiyini müəyyənləşdirir.
Cihaz adlarını sətir kimi təqdim edir.

getDeviceBootloaderVersion () DeviceHandle ilə avtobus cihazının yükləyici versiyasını əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

Parametrlər deviceHandle

Qaytarır

ResultInt Resurs Əlçatmazdır

NanoLib-in yükləyici versiyasını hansı avtobus cihazı üçün aldığını müəyyən edir. Bootloader versiyalarını tam ədəd kimi təqdim edir. Heç bir məlumat tapılmadığını bildirir.

getDeviceBootloaderBuildId () DeviceHandle ilə avtobus cihazının yükləyici qurma ID-sini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultString qaytarır

NanoLib-in yükləyici qurma identifikatorunu hansı avtobus cihazı üçün əldə etdiyini müəyyən edir.
Cihaz adlarını sətir kimi təqdim edir.

rebootDevice () Cihazı DeviceHandle ilə yenidən yükləmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

Parametrlər deviceHandle ResultVoid qaytarır

Yenidən işə salınacaq sahə avtobusunu təyin edir. Void funksiyasının işlədiyini təsdiqləyir.

getDeviceState () Bu funksiyadan istifadə edərək cihazın protokola xas vəziyyətini əldə edin.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

Parametrlər deviceHandle

NanoLib-in hansı avtobus cihazı üçün vəziyyəti aldığını müəyyən edir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

20

8 Siniflər / funksiyalar arayışı

ResultString qaytarır

Cihaz adlarını sətir kimi təqdim edir.

setDeviceState () Cihaz protokoluna xas vəziyyəti təyin etmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

Parametrlər cihaz Handle vəziyyəti
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazının vəziyyəti təyin etdiyini müəyyən edir. Sətir dəyəri kimi avtobusa məxsus vəziyyəti təyin edir. Void funksiyasının işlədiyini təsdiqləyir.

getConnectionState ()
DeviceHandle (= Disconnected, Connected, ConnectedBootloader) ilə müəyyən bir cihazın son məlum əlaqə vəziyyətini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultConnectionState qaytarır

NanoLib-in hansı avtobus cihazı üçün əlaqə vəziyyətini əldə etdiyini müəyyənləşdirir.
Bağlantı vəziyyətini təqdim edir (= Bağlantı kəsildi, Qoşuldu, BağlıBootloader).

CheckConnectionState ()
Yalnız sonuncu məlum vəziyyət Bağlantısız olmadıqda: Bu funksiyadan müəyyən bir cihazın əlaqə vəziyyətini deviceHandle vasitəsilə yoxlamaq və yeniləmək və bir neçə rejimə xas əməliyyatları sınaqdan keçirmək üçün istifadə edin.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultConnectionState qaytarır

NanoLib-in hansı avtobus cihazının əlaqə vəziyyətini yoxladığını müəyyən edir.
Bağlantı vəziyyətini təmin edir (= Bağlantı kəsilməyib).

assignObjectDictionary () Özünüz cihazHandle-a obyekt lüğəti (OD) təyin etmək üçün bu təlimat funksiyasından istifadə edin.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

Parametrlər deviceHandle objectDictionary
ResultObjectDictionary-ni qaytarır

NanoLib-in OD-ni hansı avtobus cihazına təyin etdiyini müəyyən edir. Obyekt lüğətinin xassələrini göstərir.

autoAssignObjectDictionary ()
NanoLib-ə deviceHandle-a obyekt lüğəti (OD) təyin etmək üçün bu avtomatizmdən istifadə edin. Uyğun OD tapıb yüklədikdə, NanoLib onu avtomatik olaraq cihaza təyin edir. Qeyd: Əgər uyğun OD artıq obyekt kitabxanasına yüklənibsə, NanoLib təqdim edilmiş kataloqu skan etmədən ondan avtomatik istifadə edəcək.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

Versiya: doc 1.4.2 / NanoLib 1.3.0

21

8 Siniflər / funksiyalar arayışı

Parametrlər deviceHandle

Qaytarır

lüğətlərLocationPath ResultObjectDictionary

NanoLib-in hansı avtobus cihazı üçün uyğun OD-ləri avtomatik skan edəcəyini müəyyənləşdirir. OD qovluğuna gedən yolu müəyyən edir. Obyekt lüğətinin xassələrini göstərir.

getAssignedObjectDictionary ()
DeviceHandle tərəfindən cihaza təyin edilmiş obyekt lüğətini əldə etmək üçün bu funksiyadan istifadə edin.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const cihazı)
Tutacaq)

Parametrlər deviceHandle ResultObjectDictionary qaytarır

NanoLib-in təyin edilmiş OD üçün hansı avtobus cihazı alacağını müəyyənləşdirir. Obyekt lüğətinin xassələrini göstərir.

getObjectDictionaryLibrary () Bu funksiya OdLibrary istinadını qaytarır.
virtual OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()

OdLibrary& qaytarır

Bütün OD kitabxanasını və onun obyekt lüğətlərini açır.

setLoggingLevel () Lazım olan log detallarını (və log file ölçüsü). Defolt səviyyə Məlumatdır.
virtual boşluq nlc::NanoLibAccessor::setLoggingLevel (LogLevel səviyyəsi)

Parametrlər səviyyəsi

Aşağıdakı log təfərrüatları mümkündür:

0 = İz 1 = Sazlama 2 = Məlumat 3 = Xəbərdarlıq 4 = Xəta 5 = Kritik 6 = Deaktivdir

Ən aşağı səviyyə (ən böyük log file); hər hansı mümkün təfərrüatı qeyd edir, üstəlik proqram təminatının işə salınması/dayandırılması. Qeydlər üzrə sazlama məlumatı (= aralıq nəticələr, göndərilən və ya qəbul edilən məzmun və s.) Defolt səviyyə; məlumat mesajlarını qeyd edir. Baş verən, lakin mövcud alqoritmi dayandırmayan problemləri qeyd edir. Alqoritmi dayandıran sadəcə ciddi problemi qeyd edir. Ən yüksək səviyyə (ən kiçik log file); girişi söndürür; əlavə heç bir qeyd yoxdur. Giriş ümumiyyətlə yoxdur.

setLoggingCallback ()
Bu funksiyadan istifadə edərək, həmin geri çağırış üçün (kayıtçının özü üçün deyil) qeydiyyata geri çağırış göstəricisi və jurnal modulu (= kitabxana) qurmaq üçün istifadə edin.
virtual boşluq nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* geri çağırış, const nlc::LogModule və logModule)

Parametrlər *geri çağırış logModule

Geri çağırış göstəricisi təyin edir. Kitabxananıza geri zəngi (logger deyil!) kökləyir.

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

Yalnız NanoLib-in nüvəsi üçün geri çağırışı aktivləşdirir. Yalnız CANopen geri çağırışını aktivləşdirir. Yalnız Modbus üçün geri zəngi aktivləşdirir. Yalnız EtherCAT üçün geri çağırışı aktivləşdirir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

22

8 Siniflər / funksiyalar arayışı

4 = NanolibRest 5 = NanolibUSB

Yalnız REST üçün geri zəngi aktivləşdirir. Yalnız USB ilə geri zəngi aktivləşdirir.

unsetLoggingCallback () Qeydə alınmış geri çağırış göstəricisini ləğv etmək üçün bu funksiyadan istifadə edin.
virtual boşluq nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () Obyekt lüğətindən rəqəmli dəyəri oxumaq üçün bu funksiyadan istifadə edin.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametrlər deviceHandle odIndex
ResultInt-i qaytarır

NanoLib-in hansı avtobus cihazından oxuduğunu müəyyənləşdirir. Oxumaq üçün (alt) indeksi təyin edir. Şərh edilməmiş rəqəmli dəyər verir (imzalana bilər, imzasız, 16.16 bit dəyərləri düzəldir).

readNumberArray () Obyekt lüğətindən rəqəmli massivləri oxumaq üçün bu funksiyadan istifadə edin.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

Parametrlər deviceHandle indeksi
ResultArrayInt-i qaytarır

NanoLib-in hansı avtobus cihazından oxuduğunu müəyyənləşdirir. Massiv obyekt indeksi. Tam ədədlər massivi verir.

readBytes () Obyekt lüğətindən ixtiyari baytları (domen obyekti məlumatları) oxumaq üçün bu funksiyadan istifadə edin.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametrlər deviceHandle odIndex
ResultArrayByte qaytarır

NanoLib-in hansı avtobus cihazından oxuduğunu müəyyən edir. Oxumaq üçün (alt) indeksi təyin edir. Bayt massivi verir.

readString () Obyekt kataloqundan sətirləri oxumaq üçün bu funksiyadan istifadə edin.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

Parametrlər deviceHandle odIndex
ResultString qaytarır

NanoLib-in hansı avtobus cihazından oxuduğunu müəyyənləşdirir. Oxumaq üçün (alt) indeksi təyin edir. Cihaz adlarını sətir kimi təqdim edir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

23

8 Siniflər / funksiyalar arayışı

writeNumber () Obyekt kataloquna rəqəmli dəyərlər yazmaq üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t dəyəri, const OdIndex odIndex, unsigned int bitLength)

Parametrlər deviceHandle dəyəri odIndex bitLength
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazına yazacağını müəyyənləşdirir. Şərh edilməmiş dəyər (imzalana bilər, imzasız, düzəliş 16.16). Oxumaq üçün (alt-) indeksi təyin edir. Uzunluq bit. Void funksiyasının işlədiyini təsdiqləyir.

writeBytes () Obyekt qovluğuna ixtiyari baytları (domen obyekt məlumatı) yazmaq üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector) & data, const OdIndex odIndex)

Parametrlər deviceHandle data odIndex
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazına yazacağını müəyyənləşdirir. Bayt vektoru / massivi. Oxumaq üçün (alt) indeksi təyin edir. Void funksiyasının işlədiyini təsdiqləyir.

Firmware yükləyin ()
Nəzarət cihazınızın proqram təminatını yeniləmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector) & fwData, NlcDataTransferCallback* geri çağırış)

Parametrlər deviceHandle fwData NlcDataTransferCallback
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazını yeniləməsini müəyyənləşdirir. Mikroproqram məlumatlarını ehtiva edən massiv. Məlumat tərəqqi izləyicisi. Void funksiyasının işlədiyini təsdiqləyir.

FirmwareFrom yükləyinFile ()
Nəzarət cihazınızın proqram təminatını yükləyərək yeniləmək üçün bu funksiyadan istifadə edin file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & mütləqFileYol, NlcDataTransferCallback* geri çağırış)

Parametrlər deviceHandle mütləqFileYol NlcDataTransferCallback
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazını yeniləməsini müəyyənləşdirir. gedən yol file proqram təminatı məlumatlarını ehtiva edir (std::string). Məlumat tərəqqi izləyicisi. Boş funksiyanın işlədiyini təsdiqləyir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

24

8 Siniflər / funksiyalar arayışı

yükləmə yükləyicisi ()
Nəzarət cihazınızın yükləyicisini yeniləmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector) & btData, NlcDataTransferCallback* geri çağırış)

Parametrlər deviceHandle btData NlcDataTransferCallback
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazını yeniləməsini müəyyənləşdirir. Yükləyici məlumatlarını ehtiva edən massiv. Məlumat tərəqqi izləyicisi. Void funksiyasının işlədiyini təsdiqləyir.

uploadBootloaderFromFile ()
Nəzarət cihazınızın yükləyicisini yükləyərək yeniləmək üçün bu funksiyadan istifadə edin file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileYol, NlcDataTransferCallback* geri çağırış)

Parametrlər cihaz Handle bootloader AbsoluteFileYol NlcDataTransferCallback
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazını yeniləməsini müəyyənləşdirir. gedən yol file yükləyici məlumatlarını ehtiva edir (std::string). Məlumat tərəqqi izləyicisi. Void funksiyasının işlədiyini təsdiqləyir.

YükləməBootloaderFirmware ()
Nəzarət cihazınızın yükləyicisini və proqram təminatını yeniləmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector) & btData, const std::vector & fwData, NlcDataTransferCallback* geri çağırış)

Parametrlər deviceHandle btData fwData NlcDataTransferCallback
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazını yeniləməsini müəyyənləşdirir. Yükləyici məlumatlarını ehtiva edən massiv. Mikroproqram məlumatlarını ehtiva edən massiv. Məlumat tərəqqi izləyicisi. Void funksiyasının işlədiyini təsdiqləyir.

YükləməBootloaderFirmwareFromFile ()
Yükləyərək nəzarət cihazınızın yükləyicisini və proqram təminatını yeniləmək üçün bu funksiyadan istifadə edin files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileYol, const std::string & mütləqFileYol, NlcDataTransferCallback* geri çağırış)

Parametrlər cihaz Handle bootloader AbsoluteFileYol mütləqFileYol NlcDataTransferCallback
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazını yeniləməsini müəyyənləşdirir. gedən yol file yükləyici məlumatlarını ehtiva edir (std::string). gedən yol file proqram təminatı məlumatlarını ehtiva edir (uint8_t). Məlumat tərəqqi izləyicisi. Void funksiyasının işlədiyini təsdiqləyir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

25

8 Siniflər / funksiyalar arayışı

uploadNanoJ ()
NanoJ proqramını nəzarətçinizə yükləmək üçün bu ictimai funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* geri çağırış)

Parametrlər deviceHandle vmmData NlcDataTransferCallback
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazına yüklədiyini müəyyən edir. NanoJ məlumatlarını ehtiva edən massiv. Məlumat tərəqqi izləyicisi. Void funksiyasının işlədiyini təsdiqləyir.

uploadNanoJFromFile ()
NanoJ proqramını yükləyərək nəzarətçinizə yükləmək üçün bu ictimai funksiyadan istifadə edin file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & mütləqFileYol, NlcDataTransferCallback* geri çağırış)

Parametrlər deviceHandle mütləqFileYol NlcDataTransferCallback
ResultVoid qaytarır

NanoLib-in hansı avtobus cihazına yüklədiyini müəyyən edir. gedən yol file NanoJ məlumatlarını ehtiva edir (std::string). Məlumat tərəqqi izləyicisi. Void funksiyasının işlədiyini təsdiqləyir.

disconnectDevice () Cihazınızı DeviceHandle ilə ayırmaq üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

Parametrlər deviceHandle ResultVoid qaytarır

NanoLib-in hansı avtobus cihazından ayrıldığını müəyyən edir. Void funksiyasının işlədiyini təsdiqləyir.

removeDevice () Cihazınızı NanoLib-in daxili cihaz siyahısından çıxarmaq üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

Parametrlər deviceHandle ResultVoid qaytarır

NanoLib-in hansı avtobus cihazını ləğv etdiyini müəyyən edir. Void funksiyasının işlədiyini təsdiqləyir.

closeBusHardware () Fieldbus aparatınızla əlaqəni kəsmək üçün bu funksiyadan istifadə edin.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

Parametrlər busHwId NəticəVoidi qaytarır

Ayrılmaq üçün sahə avtobusunu təyin edir. Void funksiyasının işlədiyini təsdiqləyir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

26

8 Siniflər / funksiyalar arayışı

8.2 BusHardwareId
Bu sinifdən avtobus avadanlıqlarını tək-tək müəyyən etmək və ya müxtəlif avtobus avadanlıqlarını bir-birindən ayırmaq üçün istifadə edin. Bu sinif (yaradıldıqdan sonra dəyişməz olan təyinedici funksiyaları olmadan) həmçinin aşağıdakılar haqqında məlumat saxlayır:
Avadanlıq (= adapter adı, şəbəkə adapteri və s.) İstifadə ediləcək protokol (= Modbus TCP, CANopen və s.) Avtobus avadanlığının dəqiqləşdiricisi (= serial port adı, MAC dostu adı
ünvan və s.)

BusHardwareId () [1/3] Yeni avtobus avadanlığının ID obyekti yaradan konstruktor.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

Parametrlər busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Avadanlıq növü (= ZK-USB-CAN-1 və s.). Avtobus rabitə protokolu (= CANopen və s.). Aparatın spesifikatoru (= COM3 və s.). Avadanlığın əlavə spesifikatoru (məsələn, USB yer məlumatı). Dost ad (= AdapterName (Port) və s.).

BusHardwareId () [2/3] Əlavə aparat təyinedicisi seçimi ilə yeni avtobus avadanlığının ID obyekti yaradan konstruktor.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std:_:string const & name

Parametrlər busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

Avadanlıq növü (= ZK-USB-CAN-1 və s.). Avtobus rabitə protokolu (= CANopen və s.). Aparatın spesifikatoru (= COM3 və s.). Avadanlığın əlavə spesifikatoru (məsələn, USB yer məlumatı). Dost ad (= AdapterName (Port) və s.).

BusHardwareId () [3/3] Mövcud busHardwareId-ni kopyalayan konstruktor.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

Parametrlər busHardwareId

Kopyalanacaq avtobus avadanlığının identifikatorunu adlandırır.

bərabərdir () Yeni avtobus avadanlığının identifikatorunu mövcud olanlarla müqayisə edir.
bool nlc::BusHardwareId::bərabərdir (BusHardwareId const və digər) const

Parametrlər digər doğru qaytarır

Eyni sinifin başqa bir obyekti. Əgər hər ikisi bütün dəyərlərdə bərabərdirsə.

Versiya: doc 1.4.2 / NanoLib 1.3.0

27

8 Siniflər / funksiyalar arayışı

yalan

Dəyərlər fərqli olarsa.

getBusHardware () Avtobusun aparat sətirini oxuyur.
std::string nlc::BusHardwareId::getBusHardware () const

Sətiri qaytarır

getHardwareSpecifier () Avtobus aparatının təyinedici sətirini oxuyur (= şəbəkə adı və s.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const

Sətiri qaytarır

getExtraHardwareSpecifier () Avtobusun əlavə aparatının təyinedici sətirini oxuyur (= MAC ünvanı və s.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

Sətiri qaytarır

getName () Avtobus aparatının dost adını oxuyur.
std::string nlc::BusHardwareId::getName () const

Sətiri qaytarır

getProtocol () avtobus protokolu sətirini oxuyur.
std::string nlc::BusHardwareId::getProtocol () const

Sətiri qaytarır

toString () Şin avadanlığının identifikatorunu sətir kimi qaytarır.
std::string nlc::BusHardwareId::toString () const

Sətiri qaytarır
8.3 BusHardware Seçimləri
Bu sinifdə, sətirlərin açar-dəyər siyahısında avtobus qurğusunu açmaq üçün lazım olan bütün variantları tapın.

Versiya: doc 1.4.2 / NanoLib 1.3.0

28

8 Siniflər / funksiyalar arayışı

BusHardwareOptions () [1/2] Yeni avtobus avadanlığı seçim obyektini qurur.
nlc::BusHardwareOptions::BusHardwareOptions () Açar-dəyər cütlərini əlavə etmək üçün addOption () funksiyasından istifadə edin.

BusHardwareOptions () [2/2] Artıq yerləşmiş açar-dəyər xəritəsi ilə yeni avtobus avadanlığı seçimləri obyektini qurur.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & options)

Parametr seçimləri

Avtobus avadanlığının işləməsi üçün seçimləri olan xəritə.

addOption () Əlavə açarlar və dəyərlər yaradır.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

Parametrlərin əsas dəyəri

Example: BAUD_RATE_OPTIONS_NAME, bus_hw_options_ defoltlarına baxın
Example: BAUD_RATE_1000K, bax bus_hw_options_defaults

bərabərdir () BusHardwareOptions-ı mövcud olanlarla müqayisə edir.
bool nlc::BusHardwareOptions:: bərabərdir (BusHardwareOptions const və digər) const

Parametrlər digər doğru qaytarır
yalan

Eyni sinifin başqa bir obyekti. Digər obyektdə eyni seçimlərin hamısı varsa. Digər obyektin fərqli açarları və ya dəyərləri varsa.

getOptions () Bütün əlavə edilmiş açar-dəyər cütlərini oxuyur.
std :: xəritə nlc::BusHardwareOptions::getOptions () const

Sətir xəritəsini qaytarır

toString () Bütün açarları/dəyərləri sətir kimi qaytarır.
std::string nlc::BusHardwareId::toString () const

Sətiri qaytarır
8.4 BusHwOptionsDefolt
Bu standart konfiqurasiya seçimləri sinfi aşağıdakı ictimai atributlara malikdir:

Versiya: doc 1.4.2 / NanoLib 1.3.0

29

8 Siniflər / funksiyalar arayışı

const CanBus const Serial const RESTfulBus const EtherCATBus

canBus = CanBus () serial = Serial () restfulBus = RESTfulBus () ethercatBus = EtherCATBus ()

8.5 CanBaudRate

Aşağıdakı ictimai atributlarda CAN avtobusunun baudratlarını ehtiva edən struktur:

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

BAUD_RATE_1000K = "1000k" BAUD_RATE_800K = "800k" BAUD_RATE_500K = "500k" BAUD_RATE_250K = "250k" BAUD_RATE_125K = "125k" BAUD_100K "BAUD_100R50." 50k” BAUD_RATE_20K = “20k” BAUD_RATE_10K = “10k” BAUD_RATE_5K = “5k”

8.6 CanBus

Aşağıdakı ictimai atributlara malik defolt konfiqurasiya seçimləri sinfi:

const std::string const CanBaudRate const Ixxat

BAUD_RATE_OPTIONS_NAME = "baud sürətini adapter edə bilər" baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

NMT xidməti üçün bu struktur CANopen NMT dövlətlərini aşağıdakı ictimai atributlarda sətir dəyərləri kimi ehtiva edir:

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

START = “START” STOP = “STOP” PRE_OPERATIONAL = “PRE_OPERATIONAL” RESET = “RESET” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

Bu struktur aşağıdakı ictimai atributlarda sətir dəyərləri kimi CANopen NMT dövlətlərini ehtiva edir:

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

DAYANDIRILMIŞ = “DAYANDIRILMIŞDIR” PRE_ƏMƏLİYYƏTLİ = “ƏMƏLİYYƏTDƏN ƏVVƏDİ” ƏMƏLİYYƏTLİ = “ƏMƏLİYYƏTLİ” BAŞLAMA = “BAŞLAMA” MƏLUM OLMAYIŞ = “BİLMƏNDİR”

8.9 EtherCATBus quruluşu

Bu struktur aşağıdakı ictimai atributlarda EtherCAT rabitə konfiqurasiya seçimlərini ehtiva edir:

Versiya: doc 1.4.2 / NanoLib 1.3.0

30

8 Siniflər / funksiyalar arayışı

const std::string NETWORK_FIRMWARE_STATE_OP- Şəbəkə vəziyyəti mikroproqram rejimi kimi qəbul edilir. Məqbul

TION_NAME = "Şəbəkə Mikro Proqramı Vəziyyəti"

dəyərlər (defolt = PRE_OPERATIONAL):

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

const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Eksklüziv kilid əldə etmək üçün millisaniyələrlə vaxt aşımı

TION_NAME = “Paylaşılan Kilid Aşımı”

şəbəkə (defolt = 500 ms).

const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ Paylaşılan kilidi əldə etmək üçün millisaniyələrlə vaxt aşımı

NAME = “Paylaşılan Kilid Aşımı”

şəbəkə (defolt = 250 ms).

const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = Oxunma əməliyyatı üçün millisaniyələrdə fasilə (defolt)

“Oxuma vaxtı aşımı”

= 700 ms).

const unsigned int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = Yazma əməliyyatı üçün millisaniyələrdə fasilə (defolt)

“Yazma vaxtı aşımı”

= 200 ms).

const unsigned int DEFAULT_WRITE_TIMEOUT = “200”

const std::string READ_WRITE_ATTEMPTS_OPTION_ Maksimum oxumaq və ya yazma cəhdləri (sıfırdan fərqli dəyərlər

NAME = "Oxu/Yazma Cəhdləri"

yalnız; default = 5).

const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “Şəbəkə Vəziyyətini Dəyişdirin”

Şəbəkə vəziyyətini dəyişdirmək cəhdlərinin maksimum sayı (yalnız sıfırdan fərqli dəyərlər; default = 10).

const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME Rəqəmsal giriş üçün PDO emalını aktivləşdirir və ya söndürür.

= “PDO IO Aktivdir”

çıxışlar (“Yalnız “Doğru” və ya “Yanlış”; default = “Doğru”).

const std::string DEFAULT_PDO_IO_ENABLED = “Doğru”

8.10 EtherCATSstate strukturu

Bu struktur EtherCAT slave/şəbəkə vəziyyətlərini aşağıdakı ictimai atributlarda sətir dəyərləri kimi ehtiva edir. Qeyd: Yandırma zamanı defolt vəziyyət PRE_OPERATIONAL-dır; NanoLib real vaxt rejimində olmayan əməliyyat sistemində heç bir etibarlı “ƏMƏLİYYƏTLİ” vəziyyəti təmin edə bilməz:

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

NONE = "NONE" INIT = "INIT" PRE_OPERATIONAL = "PRE_OPERATIONAL" BOOT = "BOOT" SAFE_OPERATIONAL = "SAFE_OPERATIONAL" OPERATIONAL = "ƏMƏLİYYƏTLİ"

Versiya: doc 1.4.2 / NanoLib 1.3.0

31

8 Siniflər / funksiyalar arayışı

8.11 Ixxat

Bu struktur Ixxat usb-to-can üçün bütün məlumatları aşağıdakı ictimai atributlarda saxlayır:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "ixxat adapter avtobus nömrəsi"

const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

Bu struktur aşağıdakı ictimai atributlarda Ixxat usb-to-can üçün avtobus nömrəsini saxlayır:

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

BUS_NUMBER_0_DEFAULT = "0" BUS_NUMBER_1 = "1" BUS_NUMBER_2 = "2" BUS_NUMBER_3 = "3"

8.13 zirvəsi

Bu struktur aşağıdakı ictimai atributlarda Peak usb-to-can üçün bütün məlumatları saxlayır:

const std::string

ADAPTER_BUS_NUMBER_OPTIONS_NAME = "pik adapter avtobus nömrəsi"

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

Bu struktur aşağıdakı ictimai atributlarda Peak usb-to-can üçün avtobus nömrəsini saxlayır:

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

BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS4)BUS_NUMBER_d -to_string (PCAN_USBBUS5) (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) std::to_string (PCAN_USBBUS11) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS13) BUS_NUMBER_13 = std::to_string (PCAN_USBBUS_14) to_std:_to_string (PCAN_USBBUS14) =std::to_string (PCAN_USBBUS_15) to_std:_std::to_string (PCAN_USBBUS15) to_std: to_string (PCAN_USBBUS16) to BUSBBUS_16) to_std (PCAN_USBBUSXNUMX) BUS_NUMBER_XNUMX = std::to_string (PCAN_USBBUSXNUMX) BUS_NUMBER_XNUMX = std::to_string (PCAN_USBBUSXNUMX)

8.15 Device Handle
Bu sinif avtobusda cihazı idarə etmək üçün bir qolu təmsil edir və aşağıdakı ictimai üzv funksiyalarına malikdir.

DeviceHandle () DeviceHandle (uint32_t sapı)

Versiya: doc 1.4.2 / NanoLib 1.3.0

32

8 Siniflər / funksiyalar arayışı

bərabərdir () Özünü verilmiş cihaz tutacağı ilə müqayisə edir.
bool bərabərdir (DeviceHandle const other) const (uint32_t handle)

toString () Cihaz sapının sətir təsvirini qaytarır.
std::string toString () const

get () Cihaz sapını qaytarır.
uint32_t almaq () const

8.16 DeviceId
Avtobusdakı cihazları müəyyən etmək və fərqləndirmək üçün bu sinifdən istifadə edin (yaradıldıqdan sonra dəyişməzdir):

Avadanlıq adapter identifikatoru

Cihaz identifikatoru

Təsvir

Cihaz ID / təsvir dəyərlərinin mənası avtobusdan asılıdır. məsələnample, bir CAN avtobusu tam identifikatordan istifadə edə bilər.

DeviceId () [1/3] Yeni cihaz ID obyekti qurur.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, imzasız int deviceId_, std::string const & description_)

Parametrlər busHardwareId_ deviceId_ description_

Avtobusun identifikatoru. Bir indeks; avtobusa tabedir (= CANopen node ID və s.). Təsvir (boş ola bilər); avtobusa tabedir.

DeviceId () [2/3] Genişləndirilmiş ID seçimləri ilə yeni cihaz ID obyekti qurur.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)

Parametrlər busHardwareId_ deviceId_ description_ extraId_ extraStringId_

Avtobusun identifikatoru. Bir indeks; avtobusa tabedir (= CANopen node ID və s.). Təsvir (boş ola bilər); avtobusa tabedir. Əlavə şəxsiyyət vəsiqəsi (boş ola bilər); məna avtobusdan asılıdır. Əlavə sətir ID (boş ola bilər); məna avtobusdan asılıdır.

DeviceId () [3/3] Cihaz ID obyektinin surətini qurur.
nlc::DeviceId::DeviceId (DeviceId const &)

Versiya: doc 1.4.2 / NanoLib 1.3.0

33

8 Siniflər / funksiyalar arayışı

Parametrlər cihaz ID_

Kopyalamaq üçün cihaz ID-si.

bərabərdir () Yeni obyektləri mövcud obyektlərlə müqayisə edir.
bool nlc::DeviceId::bərabərdir (DeviceId const və digər) const

Boolean qaytarır

getBusHardwareId () Avtobus avadanlığının identifikatorunu oxuyur.
BusHardwareId nlc::DeviceId::getBusHardwareId () sabit

BusHardwareId-ni qaytarır

getDescription () Cihaz təsvirini oxuyur (bəlkə də istifadə olunmamış).
std::string nlc::DeviceId::getDescription () const

Sətiri qaytarır

getDeviceId () Cihaz identifikatorunu oxuyur (bəlkə də istifadə olunmamış).
imzasız int nlc::DeviceId::getDeviceId () const

İmzasız int qaytarır

toString () Obyekti sətir kimi qaytarır.
std::string nlc::DeviceId::toString () const

Sətiri qaytarır

getExtraId () Cihazın əlavə ID-sini oxuyur (istifadə oluna bilər).
const std::vektor &getExtraId () sabit

vektoru qaytarır

Əlavə əlavə ID-lərin vektoru (boş ola bilər); məna avtobusdan asılıdır.

getExtraStringId () Cihazın əlavə sətir identifikatorunu oxuyur (istifadə oluna bilər).
std::string getExtraStringId () const

Versiya: doc 1.4.2 / NanoLib 1.3.0

34

8 Siniflər / funksiyalar arayışı

Sətiri qaytarır

Əlavə sətir identifikatoru (boş ola bilər); məna avtobusdan asılıdır.

8.17 LogLevelConverter

Bu sinif log səviyyənizi sətir kimi qaytarır. statik std::string toString (nlc::LogLevel logLevel)

8.18 LogModuleConverter

Bu sinif kitabxanaya xas log modulesetLoggingLevel () sətir kimi qaytarır.

statik std::string

toString (nlc::LogModule logModule)

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

8.19 ObyektLüğəti
Bu sinif nəzarətçinin obyekt lüğətini təmsil edir və aşağıdakı ictimai üzv funksiyalarına malikdir: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const ResultDeviceHandle qaytarır

getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) ResultObjectSubEntry qaytarır

getObjectEntry () virtual ResultObjectEntry getObjectEntry (uint16_t indeksi)

ResultObjectEntry qaytarır

Obyektin xassələri haqqında məlumat verir.

getXmlFileAd () virtual ResultString getXmlFileAdı () const

ResultString qaytarır

XML-i qaytarır file sətir kimi ad.

readNumber () virtual ResultInt readNumber (OdIndex const odIndex) ResultInt-i qaytarır
readNumberArray () virtual ResultArrayInt readNumberArray (uint16_t const index)

Versiya: doc 1.4.2 / NanoLib 1.3.0

35

8 Siniflər / funksiyalar arayışı
ResultArrayInt readString () qaytarır
virtual ResultString readString (OdIndex const odIndex) Qaytarır NəticəString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) ResultArrayByte writeNumber qaytarır () virtual ResultVoid writeNumber (OdIndex const odIndex) (OdIndex const odIndex) const64, ResultVoid writeBytes () virtual ResultVoid writeBytes (OdIndex const OdIndex, std::vector)
const & data) ResultVoid Related Links OdIndex-i qaytarır
8.20 Obyekt Girişi
Bu sinif obyekt lüğətinin obyekt girişini təmsil edir, aşağıdakı statik qorunan atribut və ictimai üzv funksiyalarına malikdir:
statik nlc::ObjectSubEntry invalidObject
getName () Obyektin adını sətir kimi oxuyur.
virtual std::string getName () const
getPrivate () Obyektin özəl olub olmadığını yoxlayır.
virtual bool getPrivate () const
getIndex () Obyekt indeksinin ünvanını oxuyur.
virtual uint16_t getIndex () const

Versiya: doc 1.4.2 / NanoLib 1.3.0

36

8 Siniflər / funksiyalar arayışı

getDataType () Obyektin məlumat tipini oxuyur.
virtual nlc::ObjectEntryDataType getDataType () const

getObjectCode () Obyekt kodunu oxuyur:

Null Deftype Defstruct Var Array Record

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

virtual nlc::ObjectCode getObjectCode () const

getObjectSaveable () Obyektin yadda saxlanıla bildiyini və onun kateqoriyasını yoxlayır (ətraflı məlumat üçün məhsul təlimatına baxın): TƏTBİQ, KOMUNİKASYON, DRIVE, MISC_CONFIG, MODBUS_RTU, YOX, TUNING, MÜŞTƏRİ, ETHERNET, CANOPEN, VERIFY1020, VERIFY_SAVEPETY_
virtual nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () Bu obyekt tərəfindən dəstəklənən alt indekslərin sayını oxuyur.
virtual uint8_t getMaxSubIndex () const

getSubEntry () virtual nlc::ObjectSubEntry və getSubEntry (uint8_t subIndex)
Həmçinin baxın ObjectSubEntry.
8.21 ObjectSubEntry
Bu sinif obyekt lüğətinin obyekt alt girişini (alt indeksini) təmsil edir və aşağıdakı ictimai üzv funksiyalarına malikdir:
getName () Obyektin adını sətir kimi oxuyur.
virtual std::string getName () const

getSubIndex () Alt indeksin ünvanını oxuyur.
virtual uint8_t getSubIndex () const

Versiya: doc 1.4.2 / NanoLib 1.3.0

37

8 Siniflər / funksiyalar arayışı

getDataType () Obyektin məlumat tipini oxuyur.
virtual nlc::ObjectEntryDataType getDataType () const

getSdoAccess () alt indeksin SDO vasitəsilə əlçatan olub olmadığını yoxlayır:

Yalnız oxumaq

1

Yalnız yazın

2

Oxu Yaz

3

Giriş yoxdur

0

virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () PDO vasitəsilə alt indeksin əlçatan olub olmadığını yoxlayır:

Tx

1

Rx

2

TxRx

3

yox

0

virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () Alt indeks uzunluğunu yoxlayır.
virtual uint32_t getBitLength () const

getDefaultValueAsNumeric () Rəqəmsal məlumat növləri üçün alt indeksin standart dəyərini oxuyur.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () Sətir məlumat növləri üçün alt indeksin standart dəyərini oxuyur.
virtual ResultString getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() Alt indeksin standart dəyərlərini oxuyur.
virtual std::map getDefaultValues ​​() const

Versiya: doc 1.4.2 / NanoLib 1.3.0

38

8 Siniflər / funksiyalar arayışı

readNumber () Alt indeksin rəqəmsal faktiki dəyərini oxuyur.
virtual ResultInt readNumber () const

readString () Alt indeksin sətirinin həqiqi dəyərini oxuyur.
virtual ResultString readString () const

readBytes () Alt indeksin faktiki dəyərini baytlarda oxuyur.
virtual ResultArrayByte readBytes () const

writeNumber () Alt indeksdə ədədi dəyər yazır.
virtual NəticəVoid writeNumber (const int64_t dəyəri) const

writeBytes () Alt indeksdə dəyəri baytla yazır.
virtual NəticəVoid writeBytes (std::vector const & data) const

8.22 OdIndex
Obyekt qovluq indekslərini/alt indekslərini bükmək və tapmaq üçün bu sinifdən (yaradıldıqdan sonra dəyişməz) istifadə edin. Cihazın OD 65535 (0xFFFF) sıra və 255 (0xFF) sütuna malikdir; fasiləsiz sıralar arasında boşluqlarla. Daha ətraflı məlumat üçün CANopen standartına və məhsul təlimatınıza baxın.
OdIndex () Yeni OdIndex obyekti qurur.
nlc::OdIndex::OdIndex (uint16_t indeksi, uint8_t subIndex)

Parametrlər indeksi alt indeksi

0-dan 65535-ə (0xFFFF) daxil olmaqla. 0-dan 255-ə qədər (0xFF) daxil olmaqla.

getIndex () İndeksi oxuyur (0x0000-dən 0xFFFF-ə qədər).
uint16_t nlc::OdIndex::getIndex () const

uint16_t qaytarır

getSubindex () Alt indeksi oxuyur (0x00-dan 0xFF-ə qədər)
uint8_t nlc::OdIndex::getSubIndex () const

Versiya: doc 1.4.2 / NanoLib 1.3.0

39

8 Siniflər / funksiyalar arayışı

uint8_t qaytarır

toString () İndeksi və alt indeksi sətir kimi qaytarır. Standart 0xIIII: 0xSS sətri aşağıdakı kimi oxunur:

I = 0x0000-dən 0xFFFF-ə qədər indeks

S = 0x00-dan 0xFF-ə qədər alt indeks

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

0xIIII:0xSS qaytarır

Defolt sətir təqdimatı

8.23 OdLibrary
XML-dən ObjectDictionary sinfinin nümunələrini yaratmaq üçün bu proqramlaşdırma interfeysindən istifadə edin. assignObjectDictionary ilə siz daha sonra unikal yaradılmış identifikator sayəsində hər bir nümunəni xüsusi cihaza bağlaya bilərsiniz. Beləliklə yaradılan ObjectDictionary nümunələri indekslə daxil olmaq üçün OdLibrary obyektində saxlanılır. ODLibrary sinfi ObjectDictionary elementlərini yükləyir file və ya massiv, onları saxlayır və aşağıdakı ictimai üzv funksiyalarına malikdir:

getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const

getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

ResultObjectDictionary-ni qaytarır

addObjectDictionaryFromFile ()
virtual ResultObjectDictionary addObjectDictionaryFromFile (std::string const və mütləqXmlFileYol)

ResultObjectDictionary-ni qaytarır

addObjectDictionary ()
virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileYol = std::string ())

ResultObjectDictionary-ni qaytarır
8.24 OdTypesHelper
Aşağıdakı ictimai üzv funksiyalarına əlavə olaraq, bu sinif fərdi məlumat növlərini ehtiva edir. Qeyd: Fərdi məlumat növlərini yoxlamaq üçün od_types.hpp-də ObjectEntryDataType enum sinfini axtarın.

uintToObjectCode () İşarəsiz tam ədədləri obyekt koduna çevirir:

Null Deftype

0x00 0x05

Versiya: doc 1.4.2 / NanoLib 1.3.0

40

8 Siniflər / funksiyalar arayışı

Var massiv qeydini destrukt edin

0x06 0x07 0x08 0x09

statik ObjectCode uintToObjectCode (imzasız int objectCode)

isNumericDataType () Məlumat növünün ədədi olub-olmaması barədə məlumat verir.
statik bool isNumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () Obyektin müəyyən struktur indeksi olub-olmadığını bildirir.
statik bool isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () Obyektin müəyyən tipli indeks olub-olmadığını bildirir.
statik boolDeftypeIndex (uint16_t typeNum)

isComplexDataType () Məlumat növünün mürəkkəb olub olmadığı barədə məlumat verir.
statik bool isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () İşarsız tam ədədləri OD məlumat növünə çevirir.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)

objectEntryDataTypeToString () OD məlumat növünü sətirə çevirir.
statik std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () Mümkünsə sətri OD məlumat növünə çevirir. Əks halda, UNKNOWN_DATATYPE qaytarır.
statik ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)

Versiya: doc 1.4.2 / NanoLib 1.3.0

41

8 Siniflər / funksiyalar arayışı

objectEntryDataTypeBitLength () Obyekt giriş məlumat növünün bit uzunluğu haqqında məlumat verir.
statik uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 RESTfulBus quruluşu

Bu struktur RESTful interfeysi (Ethernet üzərindən) üçün rabitə konfiqurasiya seçimlərini ehtiva edir. O, aşağıdakı ictimai atributları ehtiva edir:

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

CONNECT_TIMEOUT_OPTION_NAME = “İSTƏNİLƏN BAĞLANMA TAM AÇIMI” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “İSTƏNİLƏN SÖZLƏMƏ TƏMİRİ” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “Cavab” 750

8.26 ProfinetDCP
Linux altında zəng edən proqram CAP_NET_ADMIN və CAP_NET_RAW imkanlarına ehtiyac duyur. Aktivləşdirmək üçün: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. Windows-da ProfinetDCP interfeysi WinPcap (4.1.3 versiyası ilə sınaqdan keçirilmiş) və ya Npcap (1.60 və 1.30 versiyaları ilə sınaqdan keçirilmiş) istifadə edir. Beləliklə, dinamik yüklənmiş wpcap.dll kitabxanasını aşağıdakı ardıcıllıqla axtarır (Qeyd: cari Win10Pcap dəstəyi yoxdur):
1. Nanolib.dll kataloqu 2. Windows sistem kataloqu SystemRoot%System32 3. Npcap quraşdırma kataloqu SystemRoot%System32Npcap 4. Ətraf mühit yolu
Bu sinif Profinet DCP interfeysini təmsil edir və aşağıdakı ictimai üzv funksiyalarına malikdir:

getScanTimeout () Cihazın skan vaxt aşımı haqqında məlumat verir (defolt = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () Cihazın skan vaxt aşımını təyin edir (defolt = 2000 ms).
virtual boşluq nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () Quraşdırma, sıfırlama və yanıb-sönmə əməliyyatları üçün cihazın cavab vaxtı haqqında məlumat verir (defolt = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () Quraşdırma, sıfırlama və yanıb-sönmə əməliyyatları üçün cihazın cavab vaxtı haqqında məlumat verir (defolt = 1000 ms).
virtual boşluq nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

Versiya: doc 1.4.2 / NanoLib 1.3.0

42

8 Siniflər / funksiyalar arayışı

isServiceAvailable ()
Profinet DCP xidmətinin mövcudluğunu yoxlamaq üçün bu funksiyadan istifadə edin.
Şəbəkə adapterinin etibarlılığı / mövcudluğu Windows: WinPcap / Npcap mövcudluğu Linux: CAP_NET_ADMIN / CAP_NET_RAW imkanları
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

Parametrlər BusHardwareId doğrunu qaytarır
yalan

Yoxlamaq üçün Profinet DCP xidmətinin hardware ID-si. Xidmət mövcuddur. Xidmət əlçatan deyil.

scanProfinetDevices () Profinet cihazlarının mövcudluğu üçün aparat avtobusunu skan etmək üçün bu funksiyadan istifadə edin.
virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)

Parametrlər BusHardwareId ResultProfinetDevices-i qaytarır

Açılacaq hər bir sahə avtobusunu təyin edir. Aparat açıqdır.

setupProfinetDevice () Aşağıdakı cihaz parametrlərini qurur:

Cihaz adı

IP ünvanı

Şəbəkə maskası

Defolt şlüz

virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)

resetProfinetDevice () Cihazı dayandırır və zavod parametrlərinə qaytarır.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

blinkProfinetDevice () Profinet cihazına Profinet LED-ini yanıb-sönməyə başlamaq əmrini verir.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () Cihazın IP ünvanını yoxlamaq üçün bu funksiyadan istifadə edin.
virtual NəticəVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

Parametrlər BusHardwareId ProfinetDevice

Yoxlanacaq hardware ID-ni təyin edir. Doğrulamaq üçün Profinet cihazını təyin edir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

43

8 Siniflər / funksiyalar arayışı

ResultVoid qaytarır

8.27 ProfinetDevice strukturu

Profinet cihazı məlumatı aşağıdakı ictimai atributlara malikdir:

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

cihazAdı cihazVendor macÜnvanı ipÜnvanı netMask defaultGateway

MAC ünvanı macAddress = {xx, xx, xx, xx, xx, xx} formatında massiv kimi təqdim olunur; halbuki IP ünvanı, şəbəkə maskası və şlüz böyük indian hex nömrələri kimi şərh olunur, məsələn:

IP ünvanı: 192.168.0.2 Şəbəkə maskası: 255.255.0.0 Şlüz: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Nəticə sinifləri

Funksiya çağırışının uğurlu olub-olmadığını yoxlamaq, həmçinin uğursuzluq səbəblərini tapmaq üçün bu siniflərin “isteğe bağlı” qaytarma dəyərlərindən istifadə edin. Müvəffəqiyyətli olduqda, hasError () funksiyası yalanı qaytarır. getResult () ilə siz növə görə nəticə dəyərini oxuya bilərsiniz (ResultInt və s.). Zəng uğursuz olarsa, getError () ilə səbəbi oxuyursunuz.

Qorunan atributlar

sətir NlcErrorCode uint32_t

errorString errorCode exErrorCode

Həmçinin, bu sinif aşağıdakı ictimai üzv funksiyalarına malikdir:

hasError () Funksiya çağırışının uğurunu oxuyur.
bool nlc::Nəticə::hasError () const

Qaytarır

doğru yalan

Uğursuz zəng. Dəyəri oxumaq üçün getError () istifadə edin. Uğurlu zəng. Dəyəri oxumaq üçün getResult () istifadə edin.

getError () Funksiya çağırışı uğursuz olarsa, səbəbi oxuyur.
const std::string nlc::Result::getError () const

const sətirini qaytarır

Versiya: doc 1.4.2 / NanoLib 1.3.0

44

8 Siniflər / funksiyalar arayışı
nəticə () Aşağıdakı funksiyalar dəqiq nəticələri müəyyən etməyə kömək edir:
Nəticə (std::string const & errorString_)
Nəticə (NlcErrorCode const & errCode, std::string const & errorString_)
Nəticə (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Nəticə (Nəticə sabiti və nəticə)
getErrorCode () NlcErrorCode-u oxuyun.
NlcErrorCode getErrorCode () konst
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 Nəticə etibarsızdır
Funksiya etibarsız olduqda NanoLib sizə bu sinfin nümunəsini göndərir. Sinif ictimai funksiyaları və qorunan atributları nəticə sinfindən miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
ResultVoid () Aşağıdakı funksiyalar dəqiq boş nəticəni təyin etməyə kömək edir:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (Nəticə sabiti və nəticə)
8.28.2 NəticəInt
Əgər funksiya tam ədədi qaytarırsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Funksiya çağırışı uğurlu olarsa, tam nəticəni qaytarır.
int64_t getResult () const
int64_t qaytarır

Versiya: doc 1.4.2 / NanoLib 1.3.0

45

8 Siniflər / funksiyalar arayışı
ResultInt () Aşağıdakı funksiyalar tam nəticəni təyin etməyə kömək edir:
ResultInt (int64_t result_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (Nəticə sabiti və nəticə)
8.28.3 ResultString
Əgər funksiya sətir qaytararsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Əgər funksiya çağırışı uğurlu olarsa, sətir nəticəsini oxuyur.
const std::string nlc::ResultString::getResult () const
const sətirini qaytarır
ResultString () Aşağıdakı funksiyalar sətirin dəqiq nəticəsini təyin etməyə kömək edir:
ResultString (std::string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (Nəticə sabiti və nəticə)
8.28.4 ResultArrayByte
Funksiya bayt massivi qaytararsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Əgər funksiya çağırışı uğurlu olarsa, bayt vektorunu oxuyur.
const std::vektor nlc::ResultArrayByte::getResult () const
const vektorunu qaytarır

Versiya: doc 1.4.2 / NanoLib 1.3.0

46

8 Siniflər / funksiyalar arayışı
ResultArrayByte () Aşağıdakı funksiyalar bayt massivinin dəqiq nəticəsini təyin etməyə kömək edir:
ResultArrayByte (std::vector sabit və nəticə_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (Nəticə sabiti və nəticə)
8.28.5 ResultArrayInt
Funksiya tam ədəd massivi qaytararsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Əgər funksiya çağırışı uğurlu olarsa, tam vektoru oxuyur.
const std::vektor nlc::ResultArrayInt::getResult () const
const vektorunu qaytarır
ResultArrayInt () Aşağıdakı funksiyalar tam ədəd massivinin nəticəsini təyin etməyə kömək edir:
ResultArrayInt (std::vector sabit və nəticə_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (Nəticə sabiti və nəticə)
8.28.6 NəticəBusHwIds
Funksiya avtobusun hardware ID massivini qaytararsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Funksiya çağırışı uğurlu olarsa, avtobus-hardware-ID vektorunu oxuyur.
const std::vektor nlc::ResultBusHwIds::getResult () const
Parametrlər const vektoru

Versiya: doc 1.4.2 / NanoLib 1.3.0

47

8 Siniflər / funksiyalar arayışı
ResultBusHwIds () Aşağıdakı funksiyalar avtobus-hardware-ID-massivinin dəqiq nəticəsini təyin etməyə kömək edir:
ResultBusHwIds (std::vector sabit və nəticə_)
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 (Nəticə sabiti və nəticə)
8.28.7 ResultDeviceId
Funksiya cihaz identifikatorunu qaytararsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Əgər funksiya çağırışı uğurlu olarsa, cihazın ID vektorunu oxuyur.
DeviceId nlc::ResultDeviceId::getResult () const
const vektorunu qaytarır
ResultDeviceId () Aşağıdakı funksiyalar dəqiq cihaz ID nəticəsini təyin etməyə kömək edir:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (Nəticə sabiti və nəticə)
8.28.8 Nəticə Cihazıİdləri
Funksiya cihaz ID massivini qaytararsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Funksiya çağırışı uğurlu olarsa, cihaz ID vektorunu qaytarır.
DeviceId nlc::ResultDeviceIds::getResult () const
const vektorunu qaytarır

Versiya: doc 1.4.2 / NanoLib 1.3.0

48

8 Siniflər / funksiyalar arayışı
ResultDeviceIds () Aşağıdakı funksiyalar dəqiq cihaz ID-massivi nəticəsini təyin etməyə kömək edir:
ResultDeviceIds (std::vector sabit və nəticə_)
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 (Nəticə sabiti və nəticə)
8.28.9 ResultDeviceHandle
Funksiya cihaz sapının dəyərini qaytarırsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Əgər funksiya çağırışı uğurlu olarsa, cihazın tutacaqını oxuyur.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
DeviceHandle qaytarır
ResultDeviceHandle () Aşağıdakı funksiyalar cihazın dəqiq nəticəsini təyin etməyə kömək edir:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (Nəticə sabiti və nəticə)
8.28.10 ResultObjectDictionary
Əgər funksiya obyekt lüğətinin məzmununu qaytarırsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Əgər funksiya çağırışı uğurlu olarsa, cihazın ID vektorunu oxuyur.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const

Versiya: doc 1.4.2 / NanoLib 1.3.0

49

8 Siniflər / funksiyalar arayışı

Qaytarır

const vektoru

ResultObjectDictionary () Aşağıdakı funksiyalar dəqiq obyekt lüğətinin nəticəsini təyin etməyə kömək edir:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)

ResultObjectDictionary (std::string const & errorString_)

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

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

ResultObjectDictionary (Nəticə sabiti və nəticə)

8.28.11 NəticəConnectionState
Funksiya cihaz bağlantısı vəziyyəti məlumatını qaytararsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Əgər funksiya çağırışı uğurlu olarsa, cihazın tutacaqını oxuyur.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const

DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader-i qaytarır

ResultConnectionState () Aşağıdakı funksiyalar dəqiq əlaqə vəziyyətinin nəticəsini təyin etməyə kömək edir:
ResultConnectionState (DeviceConnectionStateInfo const & result_)

ResultConnectionState (std::string const & errorString_)

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

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

ResultConnectionState (Nəticə sabiti və nəticə)

8.28.12 ResultObjectEntry
Əgər funksiya obyekt girişini qaytarırsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:

Versiya: doc 1.4.2 / NanoLib 1.3.0

50

8 Siniflər / funksiyalar arayışı
getResult () Funksiya çağırışı uğurlu olarsa, cihaz ID vektorunu qaytarır.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
const ObjectEntry-ni qaytarır
ResultObjectEntry () Aşağıdakı funksiyalar obyekt girişinin dəqiq nəticəsini təyin etməyə kömək edir:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (Nəticə sabiti və nəticə)
8.28.13 ResultObjectSubEntry
Əgər funksiya obyekt alt girişini qaytarırsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Funksiya çağırışı uğurlu olarsa, cihaz ID vektorunu qaytarır.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
const ObjectSubEntry-ni qaytarır
ResultObjectSubEntry () Aşağıdakı funksiyalar dəqiq obyekt alt giriş nəticəsini təyin etməyə kömək edir:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (Nəticə sabiti və nəticə)
8.28.14 ResultProfinetDevices
Funksiya Profinet cihazını qaytararsa, NanoLib sizə bu sinfin nümunəsini göndərir. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:

Versiya: doc 1.4.2 / NanoLib 1.3.0

51

8 Siniflər / funksiyalar arayışı

getResult () Əgər funksiya çağırışı uğurlu olarsa, Profinet cihaz vektorunu oxuyur.
const std::vektor & getResult () const

ResultProfinetDevices () Aşağıdakı funksiyalar dəqiq Profinet cihazlarını təyin etməyə kömək edir.
ResultProfinetDevices (const std::vector & profinetDevices)
ResultProfinetDevices (const Nəticə və nəticə)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 NəticələrampleDataArray
Funksiya kimi qaytarılırsa, NanoLib sizə bu sinfin nümunəsini göndərirampməlumat massivi. Sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:
getResult () Funksiya çağırışı uğurlu olarsa, verilənlər massivini oxuyur.
const std::vektor <SampleData> & getResult () const

NəticələrampleDataArray () Aşağıdakı funksiyalar dəqiq Profinet cihazlarını təyin etməyə kömək edir.
NəticələrampleDataArray (const std::vektor <SampleData> və dataArray)

NəticələrampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)

NəticələrampleDataArray (const ResultSampleDataArray və digərləri)

NəticələrampleDataArray (const Nəticə və nəticə)

8.28.16 NəticələramplerDövlət
Funksiya kimi qaytarılırsa, NanoLib sizə bu sinfin nümunəsini göndərirampler state.Bu sinif nəticə sinfindən ictimai funksiyaları / qorunan atributları miras alır və aşağıdakı ictimai üzv funksiyalarına malikdir:

getResult () s hərfini oxuyurampler dövlət vektoru əgər funksiya çağırışı uğurlu olarsa.
SamplerState getResult () const

S qaytarıramplerState>

Konfiqurasiya edilməmiş / Konfiqurasiya edilmiş / Hazır / Çalışır / Tamamlanmış / Uğursuz / Ləğv edilmişdir

Versiya: doc 1.4.2 / NanoLib 1.3.0

52

8 Siniflər / funksiyalar arayışı

NəticələramplerState () Aşağıdakı funksiyalar dəqiq s-i təyin etməyə kömək edirampler dövlət.
NəticələramplerState (müqavimət SamplerŞtat ştatı)

NəticələramplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
genişləndirilmişErrorCode = 0)

NəticələramplerState (const ResultSamplerState və başqaları)

NəticələramplerState (const Nəticə və nəticə)

8.29 NlcErrorCode

Əgər bir şey səhv olarsa, nəticə sinifləri bu siyahıda sadalanan səhv kodlarından birini bildirir.

Xəta kodu Müvəffəqiyyət Ümumi Xəta BusUnailable CommunicationError ProtocolError
ODMövcud deyil ODIinvalidAccess ODTypeUyğunsuzluq ƏməliyyatıAbortulmuş ƏməliyyatDəstəklənmir YanlışƏməliyyat
InvalidArquments Access Denied ResourceNotTapilable ResourceUilable by Unalid Of Of Memory TimeOut Xətası

C: Kateqoriya D: Təsvir R: Səbəb C: Yoxdur. D: Səhv yoxdur. R: Əməliyyat uğurla başa çatdı.
C: Müəyyən edilməmiş. D: Müəyyən edilməmiş xəta. R: Heç bir kateqoriyaya uyğun olmayan uğursuzluq.
C: Avtobus. D: Aparat avtobusu mövcud deyil. R: Avtobus yoxdur, kəsilmiş və ya nasazdır.
C: Rabitə. D: Rabitə etibarsızdır. R: Gözlənilməz məlumatlar, səhv CRC, çərçivə və ya paritet xətaları və s.
C: Protokol. D: Protokol xətası. R: Dəstəklənməyən protokol seçimindən sonra cavab, cihaz dəstəklənməyən protokol, protokolda xəta (məsələn, SDO seqment sinxronizasiya biti) və s. R: Dəstəklənməyən protokola (seçimlər) və ya protokoldakı xətalara (məsələn, SDO) cavab və ya cihaz hesabatı seqment sinxronizasiya biti) və s. R: Dəstəklənməyən protokol (seçimlər) və ya protokolda xəta (məsələn, SDO seqment sinxronizasiya biti) və s.
C: Obyekt lüğəti. D: OD ünvanı mövcud deyil. R: Obyekt lüğətində belə ünvan yoxdur.
C: Obyekt lüğəti. D: OD ünvanına giriş etibarsızdır. R: Yalnız oxumaq üçün yazmağa və ya yalnız yazılan ünvandan oxumağa cəhd edin.
C: Obyekt lüğəti. D: Növ uyğunsuzluğu. R: Dəyər, məsələn, sətri nömrə kimi qəbul etmək cəhdi ilə müəyyən edilmiş növə çevrildi.
C: Tətbiq. D: Proses dayandırıldı. R: Proses ərizə sorğusu ilə kəsilir. Geri çağırış funksiyası, məsələn, avtobusun skan edilməsi ilə yalnız əməliyyat kəsilməsini qaytarır.
C: Ümumi. D: Proses dəstəklənmir. R: Aparat avtobusu / cihaz dəstəyi yoxdur.
C: Ümumi. D: Proses cari kontekstdə səhvdir və ya cari arqumentlə etibarsızdır. R: Artıq qoşulmuş avtobuslara / cihazlara yenidən qoşulma cəhdi. Artıq əlaqəsi kəsilmişlər üçün əlaqəni kəsmək cəhdi. Firmware rejimində və ya əksinə yükləyici əməliyyat cəhdi.
C: Ümumi. D: Arqument etibarsızdır. R: Yanlış məntiq və ya sintaksis.
C: Ümumi. D: Girişə icazə verilmir. R: Tələb olunan əməliyyatı yerinə yetirmək üçün hüquq və ya imkanların olmaması.
C: Ümumi. D: Göstərilən element tapılmadı. R: Aparat avtobusu, protokol, cihaz, cihazdakı OD ünvanı və ya file tapılmadı.
C: Ümumi. D: Göstərilən element tapılmadı. R: məşğul, mövcud olmayan, kəsilmə və ya qüsur.
C: Ümumi. D: Qeyri-kafi yaddaş. R: Bu əmri emal etmək üçün çox az yaddaş.
C: Ümumi. D: Prosesin vaxtı bitdi. R: Vaxt bitdikdən sonra geri qayıdın. Taymout cihazın cavab müddəti, paylaşılan və ya eksklüziv resurs əldə etmək vaxtı və ya avtobusu/cihazı uyğun vəziyyətə keçirmək vaxtı ola bilər.

Versiya: doc 1.4.2 / NanoLib 1.3.0

53

8 Siniflər / funksiyalar arayışı

8.30 Nlc Geri Zəng
Geri zənglər üçün bu əsas sinif aşağıdakı ictimai üzv funksiyasına malikdir: geri çağırış ()
virtual NəticəVoid geri çağırış ()

Qaytarır

NəticəVoid

8.31 NlcDataTransferCallback
Məlumat ötürülməsi üçün bu geri çağırış sinifindən istifadə edin (firmware yeniləməsi, NanoJ yükləmə və s.). 1. Mikroproqram yükləməsi üçün: Fərdi geri çağırış metodu ilə onu genişləndirən “ko-klass” təyin edin
həyata keçirilməsi. 2. NanoLibAccessor.uploadFirmware () zənglərində “ko-klass” nümunələrindən istifadə edin. Əsas sinifin özü aşağıdakı ictimai üzv funksiyasına malikdir:

geri çağırış () virtual ResultVoid geri zəng (nlc::DataTransferInfo məlumatı, int32_t data)

Qaytarır

NəticəVoid

8.32 NlcScanBusCallback
Avtobusun skan edilməsi üçün bu geri çağırış sinifindən istifadə edin. 1. Xüsusi geri çağırış metodunun tətbiqi ilə bunu genişləndirən “ko-klass” müəyyən edin. 2. NanoLibAccessor.scanDevices () zənglərində “ko-klass” nümunələrindən istifadə edin. Əsas sinifin özü aşağıdakı ictimai üzv funksiyasına malikdir.

geri zəng et ()
virtual ResultVoid geri zəng (nlc::BusScanInfo info, std::vector const & devicesFound, int32_t data)

ResultVoid qaytarır
8.33 NlcLoggingCallback
Geri zəngləri qeyd etmək üçün bu geri çağırış sinifindən istifadə edin. 1. Xüsusi geri çağırış metodunun tətbiqi ilə bu sinfi genişləndirən sinfi müəyyənləşdirin 2. NanoLibAccessor tərəfindən geri çağırışı qurmaq üçün onun nümunələrinə göstəricidən istifadə edin >
setLoggingCallback (...).
virtual etibarsız geri çağırış (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 Samplerİnterfeys
s-ni konfiqurasiya etmək, başlamaq və dayandırmaq üçün bu sinifdən istifadə edinampler və ya s almaq üçünampled data və almaq kimiampler statusu və ya son səhv. Sinif aşağıdakı ictimai üzv funksiyalarına malikdir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

54

8 Siniflər / funksiyalar arayışı

konfiqurasiya () kimi konfiqurasiya edirampler.
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)

Parametrlər [in] deviceHandle [in] samplerKonfiqurasiya
ResultVoid qaytarır

s konfiqurasiya etmək üçün hansı cihazı müəyyənləşdirirampüçün. Konfiqurasiya atributlarının dəyərlərini təyin edir. Void funksiyasının işlədiyini təsdiqləyir.

getData () s alırampled məlumatları.
virtual nəticələrampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)

Parametrlər [in] deviceHandle Nəticələri qaytarırampleDataArray

Məlumatın hansı cihaz üçün alınacağını müəyyənləşdirir.
s çatdırıramps varsa boş massiv ola bilən led dataamplerNotify başlanğıcda aktivdir.

getLastError () kimi alınıramplerin son səhvi.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)

ResultVoid qaytarır

Void funksiyasının işlədiyini təsdiqləyir.

getState () kimi alıramplerin statusu.
virtual nəticələramplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)

Nəticələri qaytarıramplerDövlət

s çatdırırampler dövlət.

start () kimi başlayırampler.
virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)

Parametrlər [in] deviceHandle [in] SamplerNotify [in] applicationData
ResultVoid qaytarır

s-in hansı cihazın işə salınacağını müəyyənləşdirirampüçün.
Hesabat veriləcək isteğe bağlı məlumatı müəyyən edir (nullptr ola bilər).
Seçim: Tətbiqlə əlaqəli məlumatları (istifadəçi tərəfindən müəyyən edilmiş 8 bitlik dəyər massivi / cihaz ID / indeksi və ya tarix vaxtı, dəyişənin / funksiyanın göstəricisi və s.) s-ə yönləndiriramplerNotify.
Void funksiyasının işlədiyini təsdiqləyir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

55

8 Siniflər / funksiyalar arayışı

stop () kimi dayanırampler.
virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)

Parametrlər [in] deviceHandle ResultVoid qaytarır

s dayandırmaq üçün hansı cihazı müəyyən edirampüçün. Void funksiyasının işlədiyini təsdiqləyir.

8.35 SamplerKonfiqurasiya strukturu

Bu struktur s verilənlərini ehtiva ediramplerin konfiqurasiya seçimləri (statik və ya deyil).

İctimai atributlar

std::vektor izlənən Ünvanlar

12 OD ünvanına qədər samprəhbərlik etdi.

uint32_t

versiya

Bir strukturun versiyası.

uint32_t

müddətMilisaniyələr

Sampling müddəti ms ilə, 1-dən 65535-ə qədər

uint16_t

dövrMilisaniyələr

Sampms ilə ling müddəti.

uint16_t

sayıOfSamples

Samples məbləği.

uint16_t

preTriggerNumberOfSamples

Samples pre trigger məbləği.

bool

SoftwareImplementation istifadə edərək

Proqram təminatından istifadə edin.

bool

NewFWS istifadə edərəkamplerImplementation a olan cihazlar üçün FW tətbiqindən istifadə edin

FW versiyası v24xx və ya daha yeni.

SamplerMode

rejimi

Normal, təkrarlanan və ya davamlı sampuzanmaq.

SamplerTriggerCondition triggerCondition

Başlanğıc tetikleme şərtləri: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = TC_GR0 = 14xEA0 TC_GREATER_OR_EQUAL = 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_x1xDGE = trigerV, Ogd0

SamplerTrigger

SamplerTrigger

Başlamaq üçün bir tetikleyiciampler?

Statik ictimai atributlar
statik constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 statik konstekspr ölçüsü_t MAX_TRACKED_ADDRESSES = 12
8.36 SamplerNotify
s aktivləşdirmək üçün bu sinifdən istifadə edinampkimi başladığınız zaman bildirişlərampler. Sinif aşağıdakı ictimai üzv funksiyasına malikdir.

Versiya: doc 1.4.2 / NanoLib 1.3.0

56

8 Siniflər / funksiyalar arayışı

xəbərdar et ()
Bildiriş girişi təqdim edir.
virtual boşluq nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)

Parametrlər [in] lastError [in] samplerDövlət
[in] sampleDatas [in] applicationData

s zamanı son xətanın baş verdiyini bildirirampling. s xəbər verirampbildiriş zamanı statusu: Konfiqurasiya edilməmiş / Konfiqurasiya edilmiş / Hazır / Çalışır / Tamamlanmış / Uğursuz / Ləğv edilmişdir. s xəbər verirampled-məlumat massivi. Tətbiqə xüsusi məlumat verir.

8.37 SampleData strukturu

Bu strukturda s varampled məlumatları.

uin64_t iterasiya nömrəsi

0-dan başlayır və yalnız təkrarlanan rejimdə artır.

std::vektor<SampledValues> s massivini ehtiva edirampdəyərlərinə rəhbərlik etmişdir.

8.38 SampledValue strukturu

Bu strukturda s varampdəyərlərinə rəhbərlik etmişdir.

in64_t dəyəri uin64_t CollectTimeMsec

İzlənən OD ünvanının dəyərini ehtiva edir.
s-ə nisbətən yığma vaxtını millisaniyələrlə ehtiva edirampbaşlanğıc.

8.39 SamplerTrigger strukturu

Bu struktur s-nin tetikleyici parametrlərini ehtiva edirampler.

SamplerTrigger Vəziyyəti
OdIndex uin32_t dəyəri

Tətikləmə şərti:TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_BIT_TOGGLE = 0x15 TC_GREATER = 0x16 TC_GREATER_OR_EQUAL = 0x17 TC_LESS = 0x18 TC_LESS_OR_EQUAL = 0x19 TC_EQUAL = 0x1 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = XNUMX
Tetikleyicinin OdIndex (ünvanı).
Şərt dəyəri və ya bit sayı (sıfırdan başlayaraq).

8.40 Serial quruluşu

Burada serial əlaqə seçimlərinizi və aşağıdakı ictimai atributları tapın:

const std::string const SerialBaudRate

BAUD_RATE_OPTIONS_NAME = “seriyalı ötürmə sürəti” baudRate =SerialBaudRate strukturu

Versiya: doc 1.4.2 / NanoLib 1.3.0

57

8 Siniflər / funksiyalar arayışı

const std::string const SerialParity

PARITY_OPTIONS_NAME = “seriyalı paritet” pariteti = SerialParity strukturu

8.41 SerialBaudRate strukturu

Burada serial rabitə ötürmə sürətinizi və aşağıdakı ictimai atributları tapın:

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

BAUD_RATE_7200 = "7200" BAUD_RATE_9600 = "9600" BAUD_RATE_14400 = "14400" BAUD_RATE_19200 = "19200" BAUD_RATE_38400 = "38400" BAUD_56000 "56000" BAUD_57600 57600 = “115200” BAUD_RATE_115200 = “128000” BAUD_RATE_128000 = “256000” BAUD_RATE_256000 = “XNUMX”

8.42 SerialParity quruluşu

Burada serial paritet seçimlərinizi və aşağıdakı ictimai atributları tapın:

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

NONE = “yox” TƏK = “tək” EVEN = “cüt” MARK = “işarə” SPACE = “boşluq”

Versiya: doc 1.4.2 / NanoLib 1.3.0

58

9 Lisenziyalar

9 Lisenziyalar

NanoLib API interfeys başlıqları və sampmənbə kodu Nanotec Electronic GmbH & Co. KG tərəfindən Creative Commons Attribution 3.0 Unported License (CC BY) əsasında lisenziyalaşdırılıb. Binar formatda təqdim olunan kitabxana hissələri (əsas və fieldbus kommunikasiya kitabxanaları) Creative Commons AttributionNoDerivatives 4.0 Beynəlxalq Lisenziyasına (CC BY ND) əsasən lisenziyalaşdırılır.

Creative Commons
Aşağıdakı insanlar tərəfindən oxuna bilən xülasə lisenziya(lar)ın özünü əvəz etməyəcək. Siz müvafiq lisenziyanı creativecommons.org saytında tapa bilərsiniz və aşağıda link verilmişdir. Siz sərbəstsiniz:

CC BY 3.0
Paylaşın: sağa baxın. Uyğunlaşdırın: Remiks edin, çevirin və üzərində qurun
istənilən məqsəd üçün material, hətta kommersiya baxımından.

CC BY-ND 4.0
Paylaşın: Materialı istənilən mühitdə və ya formatda kopyalayın və yenidən paylayın.

Aşağıdakı lisenziya şərtlərinə əməl etdiyiniz müddətcə lisenziar yuxarıdakı azadlıqları ləğv edə bilməz:

CC BY 3.0

CC BY-ND 4.0

Atribut: Müvafiq krediti verməlisiniz, Atribusiya: Sola baxın. Lakin: Buna bir keçid təqdim edin

lisenziyaya keçid təqdim edin və əgər varsa göstərin

digər lisenziya.

dəyişikliklər edilib. İstənilən halda bunu edə bilərsiniz

Törəmə yoxdur: remiks etsəniz, çevirsəniz və ya qursanız

ağlabatan şəkildə, lakin heç bir şəkildə

materialı yaymaq olmaz

lisenziya verənin sizi və ya istifadənizi təsdiqlədiyini bildirir.

dəyişdirilmiş material.

Əlavə məhdudiyyət yoxdur: Siz müraciət edə bilməzsiniz Əlavə məhdudiyyət yoxdur: Sola baxın. hüquqi şərtlər və ya texnoloji tədbirlər qanuni olaraq

başqalarının lisenziya ilə məşğul olmasını məhdudlaşdırın

icazə verir.

Qeyd: Siz ictimai domendə olan materialın elementləri üçün lisenziyaya riayət etməli deyilsiniz və ya istifadənizə tətbiq edilən istisna və ya məhdudiyyətlə icazə verilir.
Qeyd: Heç bir zəmanət verilmir. Lisenziya sizə məqsədli istifadəniz üçün lazım olan bütün icazələri verməyə bilər. məsələnample, aşkarlıq, məxfilik və ya mənəvi hüquqlar kimi digər hüquqlar materialdan necə istifadə etdiyinizi məhdudlaşdıra bilər.

Versiya: doc 1.4.2 / NanoLib 1.3.0

59

Çap, əlaqə, versiyalar

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenAlmaniyaTel.+49(0) 89 900 686-0Faks+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Bütün hüquqlar qorunur. Səhv, buraxılma, texniki və ya məzmunun dəyişdirilməsi xəbərdarlıq edilmədən mümkündür. İstinad edilən brendlər/məhsullar sahiblərinin ticarət nişanlarıdır və belə hesab edilməlidir. Orijinal versiya.

Sənəd 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

+ Əlavə edilmiş > Dəyişdirilmiş # Sabit > Təqdim edilənin yenidən işiamples.
+ NanoLib Modbus: Modbus VCP üçün cihazın kilidləmə mexanizmi əlavə edildi. # NanoLib Core: Sabit əlaqə vəziyyəti yoxlanışı. # NanoLib Kodu: Düzəliş edilmiş avtobus avadanlığı istinadının çıxarılması.
+ NanoLib-CANopen: Peak PCAN-USB adapterinə dəstək (IPEH-002021/002022).
> NanoLib Core: Dəyişən giriş geri çağırış interfeysi (LogLevel LogModule ilə əvəz olundu). # NanoLib Logger: Əsas və modullar arasında ayrılıq düzəldildi. # Modbus TCP: FW4 üçün sabit proqram təminatı yeniləməsi. # EtherCAT: Core5 üçün sabit NanoJ proqramını yükləmək. # EtherCAT: Core5 üçün sabit proqram təminatı yeniləməsi.
# Modbus RTU: Firmware yeniləməsi zamanı aşağı ötürmə sürətləri ilə sabit vaxt problemləri. # RESTful: Sabit NanoJ proqramını yükləmək.
# NanoLib Modulları Sampler: s-nin düzgün oxunmasıampboolean dəyərlərə səbəb oldu.
+ Bütün platformalar üçün Java 11 dəstəyi. + Bütün platformalar üçün Python 3.11/3.12 dəstəyi. + Yeni giriş geri çağırış interfeysi (bax məsələnamples). + NanoLib Logger üçün geri zənglər. > Logger-i 1.12.0 versiyasına yeniləyin. > NanoLib Modulları Sampler: Nanotec nəzarətçi proqram təminatı v24xx üçün indi dəstək. > NanoLib Modulları Sampler: s üçün istifadə edilən strukturun dəyişməsiampler konfiqurasiyası. > NanoLib Modulları Sampler: Davamlı rejim sonsuz ilə sinonimdir; tətik vəziyyəti bir dəfə yoxlanılır; s sayıamples 0 olmalıdır. > NanoLib Modulları Sampler: Firmware rejimində məlumat toplayan mövzu üçün normal prioritet. > NanoLib Modulları Sampler: Hazır və İşləyən vəziyyət arasında keçidi aşkar etmək üçün yenidən yazılmış alqoritm. # NanoLib Core: Eyni avtobus avadanlığından istifadə edərək 0 və ya daha çox cihazın bağlanması zamanı artıq Giriş pozuntusu (0000005xC2) yoxdur. # NanoLib Core: Linux altında PEAK adapterinin qoşulmasında artıq Seqmentasiya xətası yoxdur. # NanoLib Modulları Sampler: Düzgün sampFirmware rejimində led-dəyərlərin oxunması. # NanoLib Modulları Sampler: 502X:04-ün düzgün konfiqurasiyası. # NanoLib Modulları Sampler: Buferlərin kanallarla düzgün qarışdırılması. # NanoLib-Canopen: Daha aşağı baudratlarda möhkəmlik və düzgün skan etmək üçün artan CAN fasilələri. # NanoLib-Modbus: Xüsusi cihazlar üçün VCP aşkarlama alqoritmi (USB-DA-IO).
+ EtherCAT dəstəyi.
+ Layihənizi konfiqurasiya et bölməsində VS layihə parametrləri haqqında qeyd edin.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileAdı (). + const std::string & xmlFileaddObjectDictionary-də yol (). + almaq SamplerInterface ().

Məhsul 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)

Versiya: doc 1.4.2 / NanoLib 1.3.0

60

10 Çap, əlaqə, versiyalar

Sənəd
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

+ Əlavə edildi > Dəyişdirildi # Sabit + rebootDevice (). + GetDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber və ~Uid üçün xəta kodu ResourceUnailable. > FirmwareUploadFromFile indi FirmwareFrom yükləyinFile (). > FirmwareUpload () indi Firmware () yükləyin. > bootloaderUploadFromFile () indi BootloaderFrom-u yükləyinFile (). > bootloaderUpload () indi yükləBootloader (). > bootloaderFirmwareUploadFromFile () BootloaderFirmwareFrom yükləmək üçünFile (). > bootloaderFirmwareUpload () indi BootloaderFirmware yükləyin (). > nanojUploadFromFile () indi NanoJFrom-u yükləyinFile (). > nanojUpload () indi yükləyinNanoJ (). > objectDictionaryLibrary () indi ObjectDictionaryLibrary () əldə edin. > Simli_String_Map indi StringStringMap. > NanoLib-Common: Ixxat adapteri ilə AvailableBusHardware və openBusHardwareWithProtocol siyahısının daha sürətli icrası. > NanoLib-CANopen: avtobus aparat seçimləri boş olarsa, istifadə olunan standart parametrlər (1000k baudrate, Ixxat avtobus nömrəsi 0). > NanoLib-RESTful: npcap / winpcap drayveri varsa, Windows altında Ethernet yükləyiciləri ilə əlaqə üçün admin icazəsi köhnəlmişdir. # NanoLib-CANopen: avtobus avadanlığı indi boş seçimlərlə qəzasız açılır. # NanoLib-Common: openBusHardwareWithProtocol () indi yaddaş sızması yoxdur.
+ Linux ARM64 dəstəyi. + USB kütləvi saxlama / REST / Profinet DCP dəstəyi. + CheckConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (NanotecExceptions ilə əvəz olundu). + NanoLib Modbus: USB-yə birləşdirilmiş VCP / USB hub. > Modbus TCP tarama nəticələrini qaytarır. < Modbus TCP rabitə gecikməsi sabit qalır.
+ Daha çox ObjectEntryDataType (mürəkkəb və profile- spesifik). ConnectDevice () və scanDevices () heç birini tapmasa, + IOError qaytarılır. + CanOpen / Modbus üçün yalnız 100 ms nominal fasilə.
+ Modbus dəstəyi (üstəlik VCP vasitəsilə USB Hub). + Fəsil Öz Linux layihənizin yaradılması. + BusHardwareId () üçün əlavəHardwareSpecifier. + DeviceId () üçün extraId_ və extraStringId_.
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Baq düzəlişləri.
Nəşr.

Məhsul
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Versiya: doc 1.4.2 / NanoLib 1.3.0

61

Sənədlər / Resurslar

Nanotik NanoLib C++ Proqramlaşdırma [pdf] İstifadəçi Təlimatı
NanoLib C Proqramlaşdırma, C Proqramlaşdırma, Proqramlaşdırma

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *