Nanotic NanoLib C++ програмирање
Информации за производот
Спецификации
- Име на производ: NanoLib
- Програмирање Јазик: C++
- Верзија на производ: 1.3.0
- Верзија на упатството за корисникот: 1.4.2
Библиотеката NanoLib е дизајнирана за програмирање на софтвер за контрола на контролорите на Nanotec. Обезбедува кориснички интерфејс, основни функционалности и комуникациски библиотеки за да се олесни развојот на контролните апликации.
Упатство за употреба на производот
- Пред да започнете:
- Осигурете се дека вашиот систем ги исполнува хардверските барања наведени во прирачникот. Предвидената публика за овој производ вклучува програмери кои сакаат да создадат контролен софтвер за контролорите на Nanotec.
- Започнување:
- За да започнете со користење на NanoLib, следете ги овие чекори:
- Започнете со увоз на NanoLib во вашиот проект.
- Конфигурирајте ги поставките за вашиот проект по потреба.
- Изградете го вашиот проект за да ги вклучи функционалностите на NanoLib.
- Креирање проекти:
- Можете да креирате проекти и за Windows и за Linux околини. Следете ги специфичните упатства дадени во прирачникот за секоја платформа.
- Референца за класи/функции:
- Погледнете во упатството за корисникот за детален водич за класите и функциите достапни во NanoLib за софтвер за контрола на програмирање.
Најчесто поставувани прашања
- П: Која е целта на NanoLib?
- A: NanoLib е библиотека за програмирање софтвер за контрола на Nanotec контролери, обезбедувајќи суштински функционалности и комуникациски способности.
- П: Како можам да започнам со NanoLib?
- A: Започнете со увоз на NanoLib во вашиот проект, конфигурирање на поставките за проектот и градење на вашиот проект за да ги користите функциите на NanoLib.
„`
Упатство за употреба NanoLib
C++
Важи со верзијата на производот 1.3.0
Упатство за употреба Верзија: 1.4.2
Цел на документот и конвенции
Овој документ го опишува поставувањето и употребата на библиотеката NanoLib и содржи референца за сите класи и функции за програмирање на ваш сопствен контролен софтвер за Nanotec контролерите. Ги користиме следните букви:
Подвлечениот текст означува вкрстена референца или хиперврска.
Example 1: За точни инструкции за NanoLibAccessor, видете Поставување. Прample 2: Инсталирајте го двигателот Ixxat и поврзете го адаптерот CAN-to-USB. Искосениот текст значи: Ова е именуван објект, патека / ставка од менито, таб / file име или (по потреба) израз на странски јазик.
Exampле 1: Изберете File > Ново > Празен документ. Отворете го табот Алатка и изберете Коментар. Прample 2: Овој документ ги дели корисниците (= Nutzer; usuario; utente; utilisateur; utente итн.) од:
– Корисник од трета страна (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente итн.). – Краен корисник (= Endnutzer; usuario final; utente final; utilisateur final; utente finale итн.).
Курир означува блокови со код или програмски команди. Прample 1: Преку Bash, повикајте sudo make install за да ги копирате споделените објекти; потоа повикајте го ldconfig. Прample 2: Користете ја следната функција NanoLibAccessor за да го промените нивото на логирање во NanoLib:
// ***** C++ варијанта *****
void setLoggingLevel (ниво на LogLevel);
Задебелениот текст нагласува поединечни зборови од критично значење. Алтернативно, извичниците во загради ја нагласуваат критичката(!) важност.
Exampле 1: Заштитете се себеси, другите и вашата опрема. Следете ги нашите општи безбедносни забелешки кои се општо применливи за сите производи на Nanotec.
Exampле 2: За ваша сопствена заштита, следете ги и специфичните безбедносни забелешки кои се однесуваат на овој специфичен производ. Глаголот за ко-клик значи кликнување преку секундарното копче на глувчето за да се отвори контекстното мени итн.
Exampле 1: Ко-кликнете на file, изберете Преименувај и преименувај го fileНа Прampле 2: За да ги проверите својствата, повторно кликнете на file и одберете Properties.
Верзија: doc 1.4.2 / NanoLib 1.3.0
4
Пред да започнете
Пред да започнете со користење на NanoLib, подгответе го вашиот компјутер и информирајте се за наменетата употреба и ограничувањата на библиотеката.
2.1 Системски и хардверски барања
ЗАБЕЛЕШКА Дефект од 32-битна работа или прекинат систем! Користете и постојано одржувајте 64-битен систем. Внимавајте на прекините и ~инструкциите на OEM.
NanoLib 1.3.0 ги поддржува сите производи на Nanotec со CANopen, Modbus RTU (исто така USB на виртуелна ком-порта), Modbus TCP, EtherCat и Profinet. За постари NanoLibs: Видете дневник на промени во отпечатокот. Само на ваш ризик: користење на наследниот систем. Забелешка: Следете ги важечките OEM инструкции за да ја поставите доцнењето што е можно пониско ако се соочите со проблеми кога користите USB-адаптер базиран на FTDI.
Барања (64-битен систем задолжително)
Windows 10 или 11 со Visual Studio 2019 верзија 16.8 или понова и Windows SDK 10.0.20348.0 (верзија 2104) или понова
C++ прераспределливи 2017 или повисоко CANopen: Ixxat VCI или PCAN основен двигател (опционално) EtherCat модул / Profinet DCP: Npcap или WinPcap RESTful модул: Npcap, WinPcap или административна дозвола за
комуницираат со подигнувачи на етернет
Linux со Ubuntu 20.04 LTS до 24 (сите x64 и arm64)
Заглавија на јадрото и libpopt-dev пакет Profinet DCP: CAP_NET_ADMIN и CAP_NET_RAW способност
врзува CANopen: двигател Ixxat ECI или Peak PCAN-USB адаптер EtherCat: CAP_NET_ADMIN, CAP_NET_RAW и
CAP_SYS_NICE способности RESTful: CAP_NET_ADMIN способност да комуницира со Eth-
ernet подигнувачи (исто така се препорачуваат: CAP_NET_RAW)
Јазик, адаптери за теренски автобус, кабли
C++ GCC 7 или понова верзија (Linux)
EtherCAT: Ethernet кабел VCP / USB хаб: сега униформа USB USB масовно складирање: USB кабел REST: Ethernet кабел CANo Open: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1, Peak PCANUSB адаптер Нема поддршка за Ixxat за Ubuntu на arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 или еквивалентен адаптер; УСБ-кабел на виртуелен ком-порта (VCP)
Modbus TCP: Етернет кабел според листот со податоци на производот
2.2 Наменета употреба и публика
NanoLib е програмска библиотека и софтверска компонента за работа и комуникација со Nanotec контролери во широк опсег на индустриски апликации и само за соодветно квалификувани програмери.
Поради неспособен хардвер (компјутер) и оперативен систем во реално време, NanoLib не е за употреба во апликации кои имаат потреба од синхроно движење со повеќе оски или генерално се чувствителни на време.
Во никој случај не смеете да го интегрирате NanoLib како безбедносна компонента во производ или систем. При испорака до крајните корисници, мора да додадете соодветни предупредувачки известувања и упатства за безбедна употреба и безбедно ракување на секој производ со компонента произведена од Nanotec. Мора да ги пренесете сите предупредувачки известувања издадени од Nanotec директно до крајниот корисник.
2.3 Опсег на испорака и гаранција
NanoLib доаѓа како папка *.zip од нашето преземање webлокација за EMEA / APAC или AMERICA. Доволно складирајте и отпакувајте го преземањето пред поставувањето. Пакетот NanoLib содржи:
Верзија: doc 1.4.2 / NanoLib 1.3.0
5
2 Пред да започнете
Заглавија на интерфејсот како изворен код (API)
Јадрото функционира како библиотеки во бинарен формат: нано-
Библиотеки кои ја олеснуваат комуникацијата: nanolibm_ lib.dll
[yourfieldbus].dll итн.Example проект: Прample.sln (Visual Studio
проект) и прample.cpp (главна file)
За опсегот на гаранцијата, ве молиме почитувајте ги а) нашите услови за EMEA / APAC или AMERICA и б) сите услови за лиценца. Забелешка: Nanotec не е одговорен за погрешен или несоодветен квалитет, ракување, инсталација, работа, употреба и одржување на опрема од трета страна! За должна безбедност, секогаш следете ги валидните упатства за OEM.
Верзија: doc 1.4.2 / NanoLib 1.3.0
6
Архитектурата NanoLib
Модуларната софтверска структура на NanoLib ви овозможува да ги организирате слободно приспособливите функции на контролорот на моторот / полето на автобусот околу строго претходно изградено јадро. NanoLib ги содржи следните модули:
Кориснички интерфејс (API)
NanoLib јадро
Интерфејс и помошни класи кои Библиотеки кои
Библиотеки за комуникација Библиотеки специфични за Fieldbus кои
пристап до вас до вашиот контролер имплементирајте ја функционалноста на API интерфејсот помеѓу NanoLib
ОД (речник на предмети)
интеракција со автобуски библиотеки.
јадро и магистрален хардвер.
основа на основната функција на NanoLib-
цијалностите.
3.1 Кориснички интерфејс
Корисничкиот интерфејс се состои од интерфејс за заглавие files што можете да ги користите за пристап до параметрите на контролорот. Класите на корисничкиот интерфејс како што е опишано во референцата Класи / функции ви дозволуваат:
Поврзете се и со хардверот (адаптер за фидбус) и со контролниот уред. Пристапете до OD на уредот, за да ги прочитате/запишете параметрите на контролорот.
3.2 NanoLib јадро
Јадрото NanoLib доаѓа со увозната библиотека nanolib.lib. Ја имплементира функционалноста на корисничкиот интерфејс и е одговорен за:
Вчитување и управување со комуникациските библиотеки. Обезбедување на функционалности на корисничкиот интерфејс во NanoLibAccessor. Оваа влезна точка на комуникација де-
казни збир на операции што можете да ги извршите на јадрото на NanoLib и библиотеките за комуникација.
3.3 Библиотеки за комуникација
Покрај nanotec.services.nanolib.dll (корисно за вашето опционално Plug & Drive Studio), NanoLib ги нуди следните библиотеки за комуникација:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
Сите библиотеки поставуваат слој за апстракција на хардверот помеѓу јадрото и контролерот. Јадрото ги вчитува при стартување од назначената проектна папка и ги користи за воспоставување комуникација со контролорот преку соодветниот протокол.
Верзија: doc 1.4.2 / NanoLib 1.3.0
7
Почеток
Прочитајте како правилно да го поставите NanoLib за вашиот оперативен систем и како да поврзете хардвер по потреба.
4.1 Подгответе го вашиот систем
Пред да ги инсталирате драјверите за адаптерот, прво подгответе го вашиот компјутер покрај оперативниот систем. За да го подготвите компјутерот покрај вашиот Windows OS, инсталирајте MS Visual Studio со екстензии C++. За да инсталирате make и gcc од Linux Bash, повикајте го sudo apt install build-sentials. Потоа овозможете ги можностите CAP_NET_ADMIN, CAP_NET_RAW и CAP_SYS_NICE за апликацијата што користи NanoLib: 1. Повикајте го sudo setcap „cap_net_admin,cap_net_raw,cap_sys_nice+eip“
име>. 2. Само тогаш, инсталирајте ги драјверите за адаптерот.
4.2 Инсталирајте го двигателот на адаптерот Ixxat за Windows
Само по навремената инсталација на драјверот, можете да го користите адаптерот USB-to-CAN V2 на Ixxat. Прочитајте го упатството за производот за USB-дискови, за да дознаете дали / како да го активирате виртуелниот компорт (VCP). 1. Преземете и инсталирајте го двигателот VCI 4 на Ixxat за Windows од www.ixxat.com. 2. Поврзете го компактниот адаптер USB-to-CAN V2 на Ixxat со компјутерот преку USB. 3. Со Управувач со уреди: Проверете дали и двигателот и адаптерот се уредно инсталирани/препознатливи.
4.3 Инсталирајте го драјверот за адаптер Peak за Windows
Само по соодветната инсталација на драјверот, можете да го користите адаптерот PCAN-USB на Peak. Прочитајте го упатството за производот на USB-дисковите за да дознаете дали / како да го активирате виртуелниот компорт (VCP). 1. Преземете и инсталирајте го поставувањето на двигателот на уредот за Windows (= инсталационен пакет со драјвери, алатки и
API) од http://www.peak-system.com. 2. Поврзете го PCAN-USB адаптерот на Peak со компјутерот преку USB. 3. Со Управувач со уреди: Проверете дали и двигателот и адаптерот се уредно инсталирани/препознатливи.
4.4 Инсталирајте го двигателот на адаптерот Ixxat за Linux
Само по навремената инсталација на драјверот, можете да го користите адаптерот USB-to-CAN V2 на Ixxat. Забелешка: На другите поддржани адаптери им требаат вашите дозволи со sudo chmod +777/dev/ttyACM* (* број на уред). Прочитајте го упатството за производот на USB-дисковите за да дознаете дали / како да го активирате виртуелниот компорт (VCP). 1. Инсталирајте го софтверот потребен за двигателот ECI и демо апликацијата:
sudo apt-get ажурирање apt-get install libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. Преземете го двигателот ECI-for-Linux од www.ixxat.com. Отпакувајте го преку:
отпакувај eci_driver_linux_amd64.zip
3. Инсталирајте го драјверот преку:
cd /EciLinux_amd/src/KernelModule sudo make install-usb
4. Проверете дали е успешна инсталација на драјверот со компајлирање и стартување на демо апликацијата:
cd /EciLinux_amd/src/EciDemos/ sudo направи cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
Верзија: doc 1.4.2 / NanoLib 1.3.0
8
4 Почнуваме
4.5 Инсталирајте го драјверот за адаптер Peak за Linux
Само по соодветната инсталација на драјверот, можете да го користите адаптерот PCAN-USB на Peak. Забелешка: На другите поддржани адаптери им требаат вашите дозволи со sudo chmod +777/dev/ttyACM* (* број на уред). Прочитајте го упатството за производот за USB-дискови, за да дознаете дали / како да го активирате виртуелниот компорт (VCP). 1. Проверете дали вашиот Linux има заглавија на кернелот: ls /usr/src/linux-headers-`unname -r`. Ако не, инсталирајте
нив: sudo apt-get инсталирај linux-headers-`uname -r` 2. Само сега, инсталирај го пакетот libpopt-dev: sudo apt-get инсталирај libpopt-dev 3. Преземи го потребниот пакет на драјвери (peak-linux-driver-xxx.tar.gz) од www.peak-system.com. 4. За да го отпакувате, користете: tar xzf peak-linux-driver-xxx.tar.gz 5. Во неотпакуваната папка: Компилирајте и инсталирајте ги драјверите, основната библиотека PCAN итн.: направете ги сите
sudo make install 6. За да ја проверите функцијата, приклучете го PCAN-USB адаптерот.
а) Проверете го модулот на јадрото:
lsmod | grep pcan б) … и споделената библиотека:
ls -l /usr/lib/libpcan*
Забелешка: Ако се појават проблеми со USB3, користете USB2 порта.
4.6 Поврзете го вашиот хардвер
За да можете да извршите проект NanoLib, поврзете компатибилен Nanotec контролер на компјутерот користејќи го вашиот адаптер. 1. Со соодветен кабел, поврзете го адаптерот со контролерот. 2. Поврзете го адаптерот со компјутерот според листот со податоци на адаптерот. 3. Вклучете го контролорот користејќи соодветно напојување. 4. Доколку е потребно, променете ги комуникациските поставки на контролерот Nanotec како што е наведено во упатството за производот.
4.7 Вчитај NanoLib
За прв почеток со брзи и лесни основи, можете (но не смеете) да го користите нашиот поранешенampпроектот. 1. Во зависност од вашиот регион: Преземете NanoLib од нашиот webлокација за EMEA / APAC или AMERICA. 2. Отпакувајте го пакетот files / папки и изберете една опција: За брзи и лесни основи: Видете Започнување на прampпроектот. За напредно прилагодување во Windows: Видете Создавање сопствен проект за Windows. За напредно прилагодување во Линукс: видете Создавање сопствен проект за Линукс.
Верзија: doc 1.4.2 / NanoLib 1.3.0
9
Започнување на ексampле проект
Со NanoLib соодветно вчитан, ексample проектот ви прикажува преку користење на NanoLib со контролер Nanotec. Забелешка: За секој чекор, коментари во дадениот прampле кодот ги објаснува употребените функции. Поранешниотampпроектот се состои од: `*_functions_exampле.*' files, кои ги содржат имплементациите за функциите на интерфејсот NanoLib „*_callback_exampле.*' files, кои содржат имплементации за различни повратни повици (скенирање, податоци и
логирање) „мени_*.*“ file, која ја содржи логиката на менито и го шифрира Прampле.* file, која е главната програма, креирање на менито и иницијализирање на сите користени параметри на Sampler_exampле.* file, кој го содржи прampле имплементација за сampler употреба. Можете да најдете повеќе ексamples, со некои команди за движење за различни режими на работа, во Базата на знаење на nanotec.com. Сите се употребливи во Windows или Linux.
Во Windows со Visual Studio 1. Отворете го Example.sln file. 2. Отворете го ексample.cpp. 3. Составете и стартувајте го ексampкодот.
Во Linux преку Bash 1. Отпакувајте го изворот file, одете до папката со отпакувана содржина. Главниот file за ексampе
example.cpp. 2. Во баш, јавете се:
а. „sudo make install“ за да ги копирате споделените објекти и да го повикате ldconfig. б. „направи сè“ за да се изгради извршна верзија на тестот. 3. Папката bin содржи извршна прample file. Со баш: одете во излезната папка и напишете ./exampле. Ако не се појави грешка, вашите споделени објекти сега се уредно инсталирани и вашата библиотека е подготвена за употреба. Ако грешката гласи ./прample: грешка при вчитување на споделените библиотеки: libnanolib.so: не може да отвори споделен објект file: Нема такво file или директориум, инсталацијата на споделените објекти не успеа. Во овој случај, следете ги следните чекори. 4. Креирајте нова папка во /usr/local/lib (потребни се администраторски права). Во баш, напишете:
sudo mkdir /usr/local/lib/nanotec
5. Копирајте ги сите споделени објекти од zip fileпапката lib на:
инсталирај ./lib/*.so /usr/local/lib/nanotec/
6. Проверете ја содржината на целната папка со:
ls -al /usr/local/lib/nanotec/
Треба да го наведе споделениот објект files од папката lib. 7. Стартувај ldconfig на оваа папка:
sudo ldconfig /usr/local/lib/nanotec/
Поранешниотample се имплементира како CLI апликација и обезбедува интерфејс за мени. Записите во менито се базираат на контекст и ќе бидат овозможени или оневозможени, во зависност од состојбата на контекстот. Тие ви нудат можност да изберете и да извршите различни функции на библиотеката следејќи го типичниот работен тек за ракување со контролер: 1. Проверете го компјутерот за поврзан хардвер (адаптери) и наведете ги. 2. Воспоставете поврзување со адаптер. 3. Скенирајте ја магистралата за поврзани уреди со контролер. 4. Поврзете се со уред.
Верзија: doc 1.4.2 / NanoLib 1.3.0
10
5 Започнување на ексampле проект
5. Тестирајте една или повеќе од функциите на библиотеката: читајте/пишувајте од/до речник на објекти на контролорот, ажурирајте го фирмверот, поставете и стартувајте програма NanoJ, активирајте го моторот и подесете го, конфигурирајте и користете ги евиденцијата/итеampлер
6. Затворете ја врската, прво со уредот, потоа со адаптерот.
Верзија: doc 1.4.2 / NanoLib 1.3.0
11
Создавање сопствен проект за Windows
Креирајте, компајлирајте и стартувајте свој сопствен проект за Windows за да користите NanoLib.
6.1 Увези NanoLib
Увезете го заглавието NanoLib fileи библиотеки преку MS Visual Studio.
1. Отворете Visual Studio. 2. Преку Create new project > Console App C++ > Next: Изберете тип на проект. 3. Именувајте го вашиот проект (тука: NanolibTest) за да креирате проектна папка во Solution Explorer. 4. Изберете Finish. 5. Отворете ги прозорците file Explorer и одете до новата креирана папка на проектот. 6. Креирајте две нови папки, inc и lib. 7. Отворете ја папката со пакетот NanoLib. 8. Од таму: Копирајте го заглавието files од папката вклучува во вашата проектна папка inc и сите .lib и .dll
files во вашата нова проектна папка lib. 9. Проверете ја вашата проектна папка за соодветна структура, на прampле:
ect папка за соодветна структура:
. NanolibTest и. NanolibTest.sln
6.2 Конфигурирајте го вашиот проект
Користете го Solution Explorer во MS Visual Studio за да поставите NanoLib проекти. Забелешка: За правилно функционирање на NanoLib, изберете ја конфигурацијата за ослободување (не дебагирање!) во поставките за проектот Visual C++; потоа изградете го и поврзете го проектот со VC траење на C++ редистрибубилни [2022].
1. Во Solution Explorer: Одете во папката со вашиот проект (тука: NanolibTest). 2. Кликнете на папката за да го отворите контекстното мени. 3. Изберете Својства. 4. Активирајте ги сите конфигурации и Сите платформи. 5. Изберете C/C++ и одете во Additional Include Directories. 6. Вметнете: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. Изберете Linker и одете во Additional Library Directories. 8. Вметнете: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. Проширете го Linker и изберете Input. 10.Одете во Дополнителни зависности и вметнете: nanolib.lib;%(AdditionalDependencies) 11.Потврдете преку OK.
Верзија: doc 1.4.2 / NanoLib 1.3.0
12
6 Создавање сопствен Windows проект
12.Одете во Конфигурација > C++ > Јазик > Јазичен стандард > ISO C++17 Стандард и поставете го јазичниот стандард на C++17 (/std:c++17).
6.3 Изградете го вашиот проект
Изградете го вашиот проект NanoLib во MS Visual Studio. 1. Отворете го главниот *.cpp file (тука: nanolib_example.cpp) и уредете го кодот, доколку е потребно. 2. Изберете Build > Configuration Manager. 3. Променете ги платформите за активни решенија во x64. 4. Потврдете преку Затвори. 5. Изберете Изградба > Изгради решение. 6. Нема грешка? Проверете дали вашиот излез на компајлира соодветно известува:
1>—— Чистењето започна: Проект: NanolibTest, Конфигурација: Отстранување грешки x64 —–============ Исчисти: 1 успеа, 0 не успеа, 0 прескокнаа ==========
Верзија: doc 1.4.2 / NanoLib 1.3.0
13
7 Создавање сопствен проект за Линукс
7 Создавање сопствен проект за Линукс
Креирајте, компајлирајте и стартувајте свој проект за Linux за да користите NanoLib. 1. Во отпакуваниот комплет за инсталирање NanoLib: Отворете /nanotec_nanolib. 2. Најдете ги сите споделени објекти во tar.gz file. 3. Изберете една опција: Инсталирајте ја секоја lib или со Makefile или со рака.
7.1 Инсталирајте ги споделените објекти со Makefile
Користете Направетеfile со Linux Bash за автоматско инсталирање на сите стандардни *.so fileс. 1. Преку Bash: Одете во папката што ја содржи маркатаfile. 2. Копирајте ги споделените објекти преку:
sudo make install 3. Потврдете преку:
ldconfig
7.2 Рачно инсталирајте ги споделените предмети
Користете Bash за да ги инсталирате сите *.so files на NanoLib рачно. 1. Преку Bash: Креирајте нова папка во /usr/local/lib. 2. Потребни се администраторски права! Тип:
sudo mkdir /usr/local/lib/nanotec 3. Смени во отпакуваната папка на инсталациониот пакет. 4. Копирајте ги сите споделени објекти од папката lib преку:
инсталирај ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. Проверете ја содржината на целната папка преку:
ls -al /usr/local/lib/nanotec/ 6. Проверете дали се наведени сите споделени објекти од папката lib. 7. Стартувај ldconfig на оваа папка преку:
sudo ldconfig /usr/local/lib/nanotec/
7.3 Креирајте го вашиот проект
Со инсталирани вашите споделени објекти: Создадете нов проект за вашиот Linux NanoLib. 1. Преку Bash: Креирајте нова папка со проекти (тука: NanoLibTest) преку:
mkdir NanoLibTest cd NanoLibTest
2. Копирајте го заглавието files во папката вклучува (тука: inc) преку: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. Направете главен file (NanoLibTest.cpp) преку: #include „accessor_factory.hpp“ #include
Верзија: doc 1.4.2 / NanoLib 1.3.0
14
7 Создавање сопствен проект за Линукс
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds резултат = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << „Успех“ << std::endl; }
избришете пристап; врати 0; }
4. Проверете ја вашата проектна папка за соодветна структура:
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 Компилирајте и тестирајте го вашиот проект
Направете го вашиот Linux NanoLib подготвен за употреба преку Bash.
1. Преку Bash: Составете ја главната file преку:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. Поврзете ја извршната датотека заедно преку:
g++ -Wall -Wextra -pedantic -I./inc -o тест NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. Стартувај ја програмата за тестирање преку:
./тест
4. Проверете дали вашиот Bash соодветно известува:
успех
Верзија: doc 1.4.2 / NanoLib 1.3.0
15
8 Референца за класи/функции
8 Референца за класи/функции
Најдете тука список на класи на кориснички интерфејс на NanoLib и нивните функции на членови. Типичниот опис на функцијата вклучува краток вовед, дефиниција на функцијата и листа на параметри/повратни информации:
ExampleFunction () Накратко ви кажува што прави функцијата.
виртуелна празнина nlc::NanoLibAccessor::ПрampleFunction (Param_a const & param_a, Param_b const & param_B)
Параметри param_a param_b
Го враќа ResultVoid
Дополнителен коментар доколку е потребно. Дополнителен коментар доколку е потребно.
8.1 NanoLibAccessor
Класа на интерфејс се користи како влезна точка на NanoLib. Типичен работен тек изгледа вака:
1. Започнете со скенирање на хардвер со NanoLibAccessor.listAvailableBusHardware (). 2. Поставете ги поставките за комуникација со BusHardwareOptions (). 3. Отворете ја хардверската врска со NanoLibAccessor.openBusHardwareWithProtocol (). 4. Скенирајте ја магистралата за поврзани уреди со NanoLibAccessor.scanDevices (). 5. Додајте уред со NanoLibAccessor.addDevice (). 6. Поврзете се со уредот со NanoLibAccessor.connectDevice (). 7. По завршувањето на операцијата, исклучете го уредот со NanoLibAccessor.disconnectDevice (). 8. Отстранете го уредот со NanoLibAccessor.removeDevice (). 9. Затворете ја хардверската врска со NanoLibAccessor.closeBusHardware ().
NanoLibAccessor ги има следните функции на јавни членови:
listAvailableBusHardware () Користете ја оваа функција за да го наведете достапниот хардвер на fieldbus.
виртуелен ResultBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
Враќа ResultBusHwIds
Доставува низа за ID на fieldbus.
openBusHardwareWithProtocol () Користете ја оваа функција за поврзување на магистрален хардвер.
виртуелен ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
Параметри busHwId busHwOpt
Го враќа ResultVoid
Го одредува полето за отворање. Ги определува опциите за отворање на fieldbus. Потврдува дека функцијата void е извршена.
isBusHardwareOpen () Користете ја оваа функција за да проверите дали е отворена вашата хардверска конекција на fieldbus.
виртуелен ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)
Верзија: doc 1.4.2 / NanoLib 1.3.0
16
8 Референца за класи/функции
Параметри BusHardwareId Враќа вистина
лажни
Ја одредува секоја фледбус за отворање. Хардверот е отворен. Хардверот е затворен.
getProtocolSpecificAccessor () Користете ја оваа функција за да го добиете пристапниот објект специфичен за протоколот.
виртуелен ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
Параметри busHwId Го враќа ResultVoid
Го одредува полето за добивање на пристапот. Потврдува дека е извршена празнина функција.
getProfinetDCP () Користете ја оваа функција за да вратите референца до интерфејсот Profinet DCP.
виртуелен ProfinetDCP и getProfinetDCP ()
Враќа ProfinetDCP
добиваСamplerInterface () Користете ја оваа функција за да добиете референца за sampler интерфејс.
виртуелен СamplerInterface & getSamplerинтерфејс ()
Се враќа Сamplerинтерфејс
Се однесува на сampler интерфејс класа.
setBusState () Користете ја оваа функција за да ја поставите состојбата специфична за протоколот на магистралата.
виртуелен ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & состојба)
Параметрите busHwId состојба
Го враќа ResultVoid
Го одредува полето за отворање. Доделува состојба специфична за магистралата како вредност на стрингот. Потврдува дека функцијата void е извршена.
scanDevices () Користете ја оваа функција за скенирање уреди во мрежата.
виртуелен ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* повратен повик)
Параметри busHwId повратен повик
Враќа IOError ResultDeviceIds
Го одредува полето за скенирање. NlcScanBus Следач за напредок на повратен повик. Доставува низа за идентификација на уред. Информира дека не е пронајден уред.
Верзија: doc 1.4.2 / NanoLib 1.3.0
17
8 Референца за класи/функции
додадете уред ()
Користете ја оваа функција за да додадете уред со автобус опишан од deviceId во внатрешната листа на уреди на NanoLib и да го вратите уредот Handle за него.
виртуелен ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)
Параметри deviceId враќа ResultDeviceHandle
Го одредува уредот за додавање на списокот. Испорачува рачка на уредот.
connectDevice () Користете ја оваа функција за поврзување уред преку уред Рачка.
виртуелен ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Параметри deviceHandle враќа ResultVoid
IO Грешка
Одредува на кој магистрален уред се поврзува NanoLib. Потврдува дека функцијата void е извршена. Информира дека не е пронајден уред.
getDeviceName () Користете ја оваа функција за да го добиете името на уредот по deviceHandle.
виртуелен ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Параметри deviceHandle враќа ResultString
Одредува за кој магистрален уред NanoLib го добива името. Ги доставува имињата на уредите како низа.
getDeviceProductCode () Користете ја оваа функција за да го добиете кодот на производот на уредот по deviceHandle.
виртуелен ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Параметри уредРачка Враќа РезултатИнт
Одредува за кој магистрален уред NanoLib ја добива шифрата на производот. Доставува кодови на производи како цел број.
getDeviceVendorId () Користете ја оваа функција за да го добиете ID на продавачот на уредот по deviceHandle.
виртуелен ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Параметри уредРачка Враќа РезултатИнт
Ресурсот е недостапен
Одредува за кој магистрален уред NanoLib го добива ID на продавачот. Доставува ИД на продавач како цел број. Информира дека не се пронајдени податоци.
Верзија: doc 1.4.2 / NanoLib 1.3.0
18
8 Референца за класи/функции
getDeviceId () Користете ја оваа функција за да добиете ID на одреден уред од внатрешната листа на NanoLib.
виртуелен ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
Параметри deviceHandle Враќа резултатDeviceId
Одредува за кој магистрален уред NanoLib го добива ID на уредот. Доставува ID на уред.
getDeviceIds () Користете ја оваа функција за да го добиете ID на сите уреди од внатрешната листа на NanoLib.
виртуелен ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
Враќа ResultDeviceIds
Доставува список со ID на уред.
getDeviceUid () Користете ја оваа функција за да го добиете уникатниот ID на уредот (96 бита / 12 бајти) по уред Handle.
виртуелен ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
Параметри deviceHandle Враќа ResultArrayByte
Ресурсот е недостапен
Одредува за кој магистрален уред NanoLib го добива единствениот ID. Доставува уникатни ID како бајти низа. Информира дека не се пронајдени податоци.
getDeviceSerialNumber () Користете ја оваа функција за да го добиете серискиот број на уредот по deviceHandle.
виртуелен ResultString NanolibAccessor::getDeviceSerial Number (DeviceHandle const deviceHandle)
Параметри deviceHandle враќа ResultString
Ресурсот е недостапен
Одредува за кој магистрален уред NanoLib го добива серискиот број. Доставува сериски броеви како низа. Информира дека не се пронајдени податоци.
getDeviceHardwareGroup () Користете ја оваа функција за да ја добиете хардверската група на автобуски уред по уред Handle.
виртуелен ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Параметри уредРачка Враќа РезултатИнт
Одредува за кој магистрален уред NanoLib ја добива хардверската група.
Испорачува хардверски групи како цел број.
getDeviceHardwareVersion () Користете ја оваа функција за да ја добиете верзијата на хардверот на автобусот уред по deviceHandle.
виртуелен ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
Верзија: doc 1.4.2 / NanoLib 1.3.0
19
8 Референца за класи/функции
Параметри уред Рачка
Се враќа
Ресурсот на ResultString е недостапен
Одредува за кој магистрален уред NanoLib ја добива хардверската верзија. Ги доставува имињата на уредите како низа. Информира дека не се пронајдени податоци.
getDeviceFirmwareBuildId () Користете ја оваа функција за да добиете ID за изградба на фирмверот на уредот со автобус по уредHandle.
виртуелен ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Параметри deviceHandle враќа ResultString
Одредува за кој магистрален уред NanoLib добива ID за изградба на фирмверот.
Ги доставува имињата на уредите како низа.
getDeviceBootloaderVersion () Користете ја оваа функција за да ја добиете верзијата на подигнувачот на автобусот уред по deviceHandle.
виртуелен ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
Параметри уред Рачка
Се враќа
Недостапен е ресурсот ResultInt
Одредува за кој магистрален уред NanoLib ја добива верзијата на подигнувачот. Доставува верзии на подигнувачот како цел број. Информира дека не се пронајдени податоци.
getDeviceBootloaderBuildId () Користете ја оваа функција за да добиете ID за изградба на подигнувачот на автобусот уред по уредHandle.
виртуелен ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Параметри deviceHandle враќа ResultString
Одредува за кој магистрален уред NanoLib добива ID за изградба на подигнувачот.
Ги доставува имињата на уредите како низа.
rebootDevice () Користете ја оваа функција за да го рестартирате уредот по deviceHandle.
виртуелен ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Параметри deviceHandle враќа ResultVoid
Го одредува полето за рестартирање. Потврдува дека е извршена празнина функција.
getDeviceState () Користете ја оваа функција за да ја добиете состојбата специфична за протоколот на уредот.
виртуелен ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
Параметри уред Рачка
Одредува за кој магистрален уред NanoLib ја добива состојбата.
Верзија: doc 1.4.2 / NanoLib 1.3.0
20
8 Референца за класи/функции
Го враќа ResultString
Ги доставува имињата на уредите како низа.
setDeviceState () Користете ја оваа функција за да ја поставите состојбата специфична за протоколот на уредот.
виртуелен ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & состојба)
Параметри уредРачка состојба
Го враќа ResultVoid
Одредува за кој магистрален уред NanoLib ја поставува состојбата. Доделува состојба специфична за магистралата како вредност на стрингот. Потврдува дека функцијата void е извршена.
getConnectionState ()
Користете ја оваа функција за да ја добиете последната позната состојба на поврзување на одреден уред по deviceHandle (= Исклучен, поврзан, Поврзан подигнувач)
виртуелен ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Параметри уредРачка Враќа РезултатКоннекцијаСтајт
Одредува за кој магистрален уред NanoLib ја добива состојбата на поврзување.
Доставува состојба на поврзување (= Исклучено, Поврзано, Поврзан подигнувач).
checkConnectionState ()
Само ако последната позната состојба не била исклучена: користете ја оваа функција за да ја проверите и евентуално ажурирате состојбата на поврзување на одреден уред по уред Handle и со тестирање на неколку операции специфични за режимот.
виртуелен ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Параметри уредРачка Враќа РезултатКоннекцијаСтајт
Одредува за кој магистрален уред NanoLib ја проверува состојбата на поврзувањето.
Доставува состојба на поврзување (= не е исклучено).
assignObjectDictionary () Користете ја оваа рачна функција за самостојно да доделите речник на објекти (OD) на deviceHandle.
виртуелен ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
Параметри уредРакува објектРечник
Го враќа ResultObjectDictionary
Одредува на кој магистрален уред NanoLib му го доделува OD. Ги прикажува својствата на речник на објект.
autoAssignObjectDictionary ()
Користете го овој автоматизам за да дозволите NanoLib да додели речник на објекти (OD) на deviceHandle. При наоѓање и вчитување на соодветен OD, NanoLib автоматски го доделува на уредот. Забелешка: Ако компатибилен OD е веќе вчитан во библиотеката на објекти, NanoLib автоматски ќе го користи без да го скенира испратениот директориум.
виртуелен ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)
Верзија: doc 1.4.2 / NanoLib 1.3.0
21
8 Референца за класи/функции
Параметри уред Рачка
Се враќа
речнициЛокацијаПата РезултатОбјектРечник
Одредува за кој магистрален уред NanoLib автоматски ќе скенира за соодветни OD. Ја одредува патеката до директориумот OD. Ги прикажува својствата на речник на објект.
getAssignedObjectDictionary ()
Користете ја оваа функција за да добиете речник на објекти доделен на уред со уред Handle.
виртуелен ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const уред
Рачка)
Параметри deviceHandle враќа ResultObjectDictionary
Одредува за кој магистрален уред NanoLib го добива доделениот OD. Ги прикажува својствата на речник на објект.
getObjectDictionaryLibrary () Оваа функција враќа референца OdLibrary.
виртуелна OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
Ја враќа OdLibrary&
Ја отвора целата OD библиотека и нејзините речници со објекти.
setLoggingLevel () Користете ја оваа функција за да ги поставите потребните детали за дневникот (и лог file големина). Стандардно ниво е Инфо.
virtual void nlc::NanoLibAccessor::setLoggingLevel (ниво на LogLevel)
Ниво на параметри
Можни се следните детали за дневникот:
0 = Трага 1 = Отстранување грешки 2 = Информации 3 = Предупредување 4 = Грешка 5 = Критична 6 = Исклучено
Најниско ниво (најголем дневник file); ги запишува сите изводливи детали, плус стартување/запирање на софтверот. Евиденција за отстранување грешки (= привремени резултати, содржина испратена или примена, итн.) Стандардно ниво; логира информативни пораки. Евидентира проблеми што се случиле, но нема да го запрат тековниот алгоритам. Евидентира само сериозни проблеми што го запреа алгоритмот. Највисоко ниво (најмалиот дневник file); го исклучува одјавувањето; нема понатамошно најавување на сите. Воопшто нема сеча.
setLoggingCallback ()
Користете ја оваа функција за да поставите покажувач за повратен повик за евиденција и модул за евиденција (= библиотека) за тој повратен повик (не за самиот дневник).
виртуелна празнина nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* повратен повик, const nlc::LogModule & logModule)
Параметри *повратен повик logModule
Поставува покажувач за повратен повик. Го прилагодува повратниот повик (не логерот!) на вашата библиотека.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
Активира повратен повик само за јадрото на NanoLib. Активира повратен повик само за CANopen. Активира повратен повик само за Modbus. Активира повратен повик само за EtherCAT.
Верзија: doc 1.4.2 / NanoLib 1.3.0
22
8 Референца за класи/функции
4 = NanolibRest 5 = NanolibUSB
Активира повратен повик само за REST. Активира повратен повик само за USB.
unsetLoggingCallback () Користете ја оваа функција за да го откажете покажувачот за повратен повик за евиденција.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () Користете ја оваа функција за да прочитате нумеричка вредност од речникот на објектот.
виртуелен ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
Параметри уредРакува odIndex
Го враќа ResultInt
Одредува од кој магистрален уред чита NanoLib. Го одредува (под) индексот за читање. Доставува неинтерпретирана нумеричка вредност (може да се потпишани, непотпишани, фиксни 16.16 битни вредности).
readNumberArray () Користете ја оваа функција за читање нумерички низи од речник на објекти.
виртуелен ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t индекс)
Параметри уредРачка Индекс
Враќа ResultArrayInt
Одредува од кој магистрален уред чита NanoLib. Индекс на објекти на низа. Доставува цела низа.
readBytes () Користете ја оваа функција за читање произволни бајти (податоци за објекти од домен) од речникот на објектот.
виртуелен ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
Параметри уредРакува odIndex
Враќа ResultArrayByte
Одредува од кој магистрален уред чита NanoLib. Го одредува (под) индексот за читање. Доставува низа бајти.
readString () Користете ја оваа функција за читање низи од директориумот со објекти.
виртуелен ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
Параметри уредРакува odIndex
Го враќа ResultString
Одредува од кој магистрален уред чита NanoLib. Го одредува (под) индексот за читање. Ги доставува имињата на уредите како низа.
Верзија: doc 1.4.2 / NanoLib 1.3.0
23
8 Референца за класи/функции
writeNumber () Користете ја оваа функција за да напишете нумерички вредности во директориумот со објекти.
виртуелен ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t вредност, const OdIndex odIndex, unsigned int bitLength)
Параметри уредРачка вредност odIndex bitLength
Го враќа ResultVoid
Одредува на кој магистрален уред пишува NanoLib. Неинтерпретираната вредност (може да биде потпишана, непотпишана, поправете 16.16). Го одредува (под) индексот за читање. Должина во малку. Потврдува дека функцијата void е извршена.
writeBytes () Користете ја оваа функција за да напишете произволни бајти (податоци за објекти од домен) во директориумот со објекти.
виртуелен ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & податоци, const OdIndex odIndex)
Параметри уред Ракување со податоци odIndex
Го враќа ResultVoid
Одредува на кој магистрален уред пишува NanoLib. Бајт вектор / низа. Го одредува (под) индексот за читање. Потврдува дека е извршена празнина функција.
uploadFirmware ()
Користете ја оваа функција за да го ажурирате фирмверот на контролорот.
виртуелен ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* повратен повик)
Параметри уред Ракувајте со fwData NlcDataTransferCallback
Го враќа ResultVoid
Одредува кој автобус уред го ажурира NanoLib. Низа која содржи податоци за фирмверот. Следач за напредокот на податоците. Потврдува дека е извршена празнина функција.
uploadFirmwareFromFile ()
Користете ја оваа функција за да го ажурирате фирмверот на контролорот со поставување на неговиот file.
виртуелен ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileПатека, NlcDataTransferCallback* повратен повик)
Параметри уредРачка апсолутнаFileПатека NlcDataTransfer Callback
Го враќа ResultVoid
Одредува кој магистрален уред го ажурира NanoLib. Патот до file кои содржат податоци за фирмверот (std::string). Следач за напредокот на податоците. Потврдува дека е извршена празнина функција.
Верзија: doc 1.4.2 / NanoLib 1.3.0
24
8 Референца за класи/функции
uploadBootloader ()
Користете ја оваа функција за да го ажурирате подигнувачот на контролорот.
виртуелен ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* повратен повик)
Параметри уредРакува btData NlcDataTransferCallback
Го враќа ResultVoid
Одредува кој автобус уред го ажурира NanoLib. Низа која содржи податоци за подигнувачот. Следач за напредокот на податоците. Потврдува дека функцијата void е извршена.
uploadBootloaderFromFile ()
Користете ја оваа функција за да го ажурирате подигнувачот на вашиот контролер со поставување на неговиот file.
виртуелен ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileПатека, NlcDataTransferCallback* повратен повик)
Параметри уред Ракувајте го подигнувачот АпсолутенFileПатека NlcDataTransfer Callback
Го враќа ResultVoid
Одредува кој магистрален уред го ажурира NanoLib. Патот до file кои содржат податоци за подигнувачот (std::string). Следач за напредокот на податоците. Потврдува дека е извршена празнина функција.
uploadBootloaderFirmware ()
Користете ја оваа функција за ажурирање на подигнувачот на контролорот и фирмверот.
виртуелен ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* повратен повик)
Параметри уред Ракувајте btData fwData NlcDataTransferCallback
Го враќа ResultVoid
Одредува кој магистрален уред го ажурира NanoLib. Низа која содржи податоци за подигнувачот. Низа која содржи податоци за фирмверот. Следач за напредокот на податоците. Потврдува дека е извршена празнина функција.
uploadBootloaderFirmwareFromFile ()
Користете ја оваа функција за ажурирање на подигнувачот на контролорот и фирмверот со поставување на files.
виртуелен ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileПатека, const std::string & absoluteFileПатека, NlcDataTransferCallback* повратен повик)
Параметри уред Ракувајте го подигнувачот АпсолутенFileАпсолутна патекаFileПатека NlcDataTransfer Callback
Го враќа ResultVoid
Одредува кој магистрален уред го ажурира NanoLib. Патот до file кои содржат податоци за подигнувачот (std::string). Патот до file кои содржат податоци за фирмверот (uint8_t). Следач за напредокот на податоците. Потврдува дека е извршена празнина функција.
Верзија: doc 1.4.2 / NanoLib 1.3.0
25
8 Референца за класи/функции
uploadNanoJ ()
Користете ја оваа јавна функција за да ја поставите програмата NanoJ на вашиот контролер.
виртуелен ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* повратен повик)
Параметри уред Ракувајте со vmmData NlcDataTransferCallback
Го враќа ResultVoid
Одредува на кој автобус уред поставува NanoLib. Низа која содржи податоци за NanoJ. Следач за напредокот на податоците. Потврдува дека е извршена празнина функција.
поставетеNanoJFromFile ()
Користете ја оваа јавна функција за да ја поставите програмата NanoJ на вашиот контролер со поставување на file.
виртуелен ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileПатека, NlcDataTransferCallback* повратен повик)
Параметри уредРачка апсолутнаFileПатека NlcDataTransfer Callback
Го враќа ResultVoid
Одредува на кој автобус уред поставува NanoLib. Патот до file кои содржат податоци за NanoJ (std::string). Следач за напредокот на податоците. Потврдува дека е извршена празнина функција.
disconnectDevice () Користете ја оваа функција за да го исклучите вашиот уред преку уред Рачка.
виртуелен ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Параметри deviceHandle враќа ResultVoid
Одредува од кој магистрален уред се исклучува NanoLib. Потврдува дека функцијата void е извршена.
removeDevice () Користете ја оваа функција за да го отстраните вашиот уред од внатрешната листа на уреди на NanoLib.
виртуелен ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Параметри deviceHandle враќа ResultVoid
Одредува кој магистрален уред NanoLib го брише. Потврдува дека е извршена празнина функција.
closeBusHardware () Користете ја оваа функција за да се исклучите од хардверот на fieldbus.
виртуелен ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
Параметри busHwId Го враќа ResultVoid
Го одредува полето од кое ќе се исклучи. Потврдува дека е извршена празнина функција.
Верзија: doc 1.4.2 / NanoLib 1.3.0
26
8 Референца за класи/функции
8.2 BusHardwareId
Користете ја оваа класа за да идентификувате хардвер на магистралата еден-на-еден или за да разликувате различни магистрални хардвери еден од друг. Оваа класа (без функциите на поставувачот да бидат непроменливи од создавањето) исто така содржи информации за:
Хардвер (= име на адаптер, мрежен адаптер итн.) Протокол за употреба (= Modbus TCP, CANopen итн.) Спецификатор на хардвер на магистралата (= име на сериска порта, MAC Пријателско име
адреса итн.)
BusHardwareId () [1/3] Конструктор што создава нов хардверски објект за магистрала.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
Параметри buHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Тип на хардвер (= ZK-USB-CAN-1 итн.). Протокол за комуникација со автобус (= CANopen итн.). Спецификаторот на хардверот (= COM3 итн.). Дополнителен спецификатор на хардверот (да речеме, информации за локацијата на USB). Пријателско име (= Име на адаптер (порта) итн.).
BusHardwareId () [2/3] Конструктор што создава нов хардверски ID објект на магистралата, со опција за дополнителен хардверски спецификатор.
не
Параметри buHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
Тип на хардвер (= ZK-USB-CAN-1 итн.). Протокол за комуникација со автобус (= CANopen итн.). Спецификаторот на хардверот (= COM3 итн.). Дополнителен спецификатор на хардверот (да речеме, информации за локацијата на USB). Пријателско име (= Име на адаптер (порта) итн.).
BusHardwareId () [3/3] Конструктор што копира постоечка busHardwareId.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
Параметри busHardwareId
Го именува хардверскиот ID на автобусот од кој треба да се копира.
е еднакво на () Споредува нов хардверски ID на автобус со постоечките.
bool nlc::BusHardwareId::equals (BusHardwareId const & other) const
Параметри други Враќа вистина
Друг објект од истата класа. Ако и двете се еднакви во сите вредности.
Верзија: doc 1.4.2 / NanoLib 1.3.0
27
8 Референца за класи/функции
лажни
Доколку вредностите се разликуваат.
getBusHardware () Ја чита низата на хардверот на магистралата.
std::string nlc::BusHardwareId::getBusHardware () const
Враќа низа
getHardwareSpecifier () Ја чита низата на спецификатори на хардверот на магистралата (= име на мрежа итн.).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
Враќа низа
getExtraHardwareSpecifier () Ја чита низата за спецификатор на дополнителниот хардвер на магистралата (= MAC адреса итн.).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
Враќа низа
getName () Го чита пријателското име на хардверот на автобусот.
std::string nlc::BusHardwareId::getName () const
Враќа низа
getProtocol () Ја чита низата на протоколот на магистралата.
std::string nlc::BusHardwareId::getProtocol () const
Враќа низа
toString () Го враќа ID на хардверот на магистралата како низа.
std::string nlc::BusHardwareId::toString () const
Враќа низа
8.3 Опции за BusHardware
Најдете ги во оваа класа, во списокот на низи со клучна вредност, сите опции потребни за отворање на хардвер на магистралата.
Верзија: doc 1.4.2 / NanoLib 1.3.0
28
8 Референца за класи/функции
BusHardwareOptions () [1/2] Конструира нов хардверски објект за магистрална опција.
nlc::BusHardwareOptions::BusHardwareOptions () Користете ја функцијата addOption () за да додадете парови клуч-вредност.
BusHardwareOptions () [2/2] Конструира нов објект со хардверски опции на магистралата со веќе поставена мапа со вредност на клучот.
nlc::BusHardwareOptions::BusHardwareOptions (std::map констат и опции)
Опции за параметри
Карта со опции за работа на хардверот на автобусот.
addOption () Создава дополнителни клучеви и вредности.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)
Клучна вредност на параметрите
Example: BAUD_RATE_OPTIONS_NAME, видете ги стандардните bus_hw_options_
Example: BAUD_RATE_1000K, видете bus_hw_options_defaults
еднакво на () Ги споредува BusHardwareOptions со постоечките.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & other) const
Параметри други Враќа вистина
лажни
Друг објект од истата класа. Ако другиот објект ги има сите исти опции. Ако другиот објект има различни клучеви или вредности.
getOptions () Ги чита сите додадени парови клуч-вредност.
std:: мапа nlc::BusHardwareOptions::getOptions () const
Ја враќа стринговата мапа
toString () Ги враќа сите клучеви / вредности како низа.
std::string nlc::BusHardwareId::toString () const
Враќа низа
8.4 BusHwOptionsDefault
Оваа стандардна класа на опции за конфигурација ги има следните јавни атрибути:
Верзија: doc 1.4.2 / NanoLib 1.3.0
29
8 Референца за класи/функции
const CanBus const Сериски const RESTfulBus const EtherCATBus
canBus = CanBus () сериски = Сериски () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()
8.5 CanBaudRate
Структура која содржи баудрати на магистралата CAN во следните јавни атрибути:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” BAUD_RATE_100K 100k“ BAUD_RATE_50K = „50k“ BAUD_RATE_20K = „20k“ BAUD_RATE_10K = „10k“
8.6 CanBus
Стандардна класа на опции за конфигурација со следните јавни атрибути:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = „стапка на бауд на адаптер за конзерви“ BaudRate = CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
За услугата NMT, оваа структура ги содржи состојбите CANopen NMT како вредности на низа во следните јавни атрибути:
const std::string const std::string const std::string const std::string const std::string
START = „START“ STOP = „STOP“ PRE_OPERATIONAL = „PRE_OPERATIONAL“ RESET = „RESET“ RESET_COMMUNICATION = „RESET_COMMUNICATION“
8.8 CanOpenNmtState
Оваа структура ги содржи состојбите CANopen NMT како вредности на низа во следните јавни атрибути:
const std::string const std::string const std::string const std::string const std::string
СТОПИРАНО = „СТОПИРАНО“ ПРЕД_ОПЕРАТИВНО = „ПРЕД_ОПЕРАТИВНО“ ОПЕРАТИВНО = „ОПЕРАТИВНО“ ИНИЦИЈАЛИЗАЦИЈА = „ИНИЦИЈАЛИЗАЦИЈА“ НЕПОЗНАТО = „НЕПОЗНАТО“
8.9 Структура на EtherCATBus
Оваа структура ги содржи опциите за конфигурација на комуникацијата EtherCAT во следните јавни атрибути:
Верзија: doc 1.4.2 / NanoLib 1.3.0
30
8 Референца за класи/функции
const std::string NETWORK_FIRMWARE_STATE_OP- Состојбата на мрежата се третира како режим на фирмвер. Прифатливо
TION_NAME = „Состојба на мрежниот фирмвер“
вредности (стандардно = PRE_OPERATIONAL):
EtherCATSstate::PRE_OPERATIONAL EtherCATSstate::SAFE_OPERATIONAL EtherCATSstate::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = „PRE_OPERATIONAL“
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- Истекување во милисекунди за да се добие ексклузивна брава на
TION_NAME = „Споделено време на заклучување“
мрежата (стандардно = 500 ms).
const непотпишана int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = „500“
const std::string SHARED_LOCK_TIMEOUT_OPTION_ Истекување во милисекунди за стекнување на споделено заклучување на
NAME = „Споделено време на заклучување“
мрежата (стандардно = 250 ms).
const непотпишана int DEFAULT_SHARED_LOCK_TIMEOUT = „250“
const std::string READ_TIMEOUT_OPTION_NAME = истек на време во милисекунди за операција за читање (стандардно
„Продолжување на читање“
= 700 ms).
const непотпишана int DEFAULT_READ_TIMEOUT = „700“
const std::string WRITE_TIMEOUT_OPTION_NAME = истек на време во милисекунди за операција за запишување (стандардно
„Исклучи време за пишување“
= 200 ms).
const непотпишана int DEFAULT_WRITE_TIMEOUT = „200“
const std::string READ_WRITE_ATTEMPTS_OPTION_ Максимални обиди за читање или пишување (вредности кои не се нула
NAME = „Обиди за читање/пишување“
само; стандардно = 5).
const непотпишана int DEFAULT_READ_WRITE_ATTEMPTS = „5“
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = „Обиди за промена на состојбата на мрежата“
Максимален број обиди за промена на состојбата на мрежата (само не-нула вредности; стандардни = 10).
const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = „10“
const std::string PDO_IO_ENABLED_OPTION_NAME Овозможува или оневозможува обработка на PDO за дигитална ин-/
= „Овозможено PDO IO“
излези (само „Точно“ или „Неточно“; стандардно = „Точно“).
const std::string DEFAULT_PDO_IO_ENABLED = „Точно“
8.10 Структура на EtherCATSstate
Оваа структура ги содржи EtherCAT slave/мрежните состојби како вредности на низа во следните јавни атрибути. Забелешка: Стандардна состојба при вклучување е PRE_OPERATIONAL; NanoLib не може да обезбеди сигурна „ОПЕРАТИВНА“ состојба во оперативен систем што не е во реално време:
const std::string const std::string const std::string const std::string const std::string const std::string
НИКОЈ = „НИКОГАШ“ ПОЧЕТОК = „ПОЧЕТНИ“ ПРЕД_РАБОТНИЧКИ = „ПРЕДОПРЕДНО РАБОТЕЊЕ“ БАЗИРАЊЕ = „БОТ“ БЕЗБЕДНО_ОПЕРАТИВНО = „БЕЗБЕДНО_ОПЕРАТИВНО“ ОПЕРАТИВНО = „ОПЕРАТИВНО“
Верзија: doc 1.4.2 / NanoLib 1.3.0
31
8 Референца за класи/функции
8.11 Ixxat
Оваа структура ги содржи сите информации за Ixxat usb-to-can во следните јавни атрибути:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = „број на автобус на адаптер ixxat“
const IxxatAdapterBusNumber адаптерBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
Оваа структура го држи бројот на магистралата за Ixxat usb-to-can во следните јавни атрибути:
const std::string const std::string const std::string const std::string
BUS_NUMBER_0_DEFAULT = „0“ BUS_NUMBER_1 = „1“ BUS_NUMBER_2 = „2“ BUS_NUMBER_3 = „3“
8.13 врв
Оваа структура ги чува сите информации за Peak usb-to-can во следните јавни атрибути:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = „најголем број на автобус на адаптер“
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
Оваа структура го задржува бројот на магистралата за Peak usb-to-can во следните јавни атрибути:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string 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_5 = std::to_string (PCAN_USBBUS5) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS6) std::to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_8 = std::to_string (PCAN_USBBUS9) BUS_NUMBER_9 = std::to_string (PCAN_USB:to_string = std:USB:BUS10string) (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_13 = std::to_string (PCAN_USBBBUS13: до стринг = BUS_string (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15) BUS_NUMBER_15 = std::to_string (PCAN_USBBUS16) BUS_NUMBER_16 = std::to_string (PCAN_USBBUSXNUMX)
8.15 Рачка со уред
Оваа класа претставува рачка за управување со уред во автобус и ги има следните функции на јавниот член.
DeviceHandle () DeviceHandle (uint32_t рачка)
Верзија: doc 1.4.2 / NanoLib 1.3.0
32
8 Референца за класи/функции
еднакво на () Се споредува со дадена рачка на уред.
bool е еднакво на (DeviceHandle const other) const (uint32_t рачка)
toString () Враќа претстава на низа на рачката на уредот.
std::string toString () const
get () Ја враќа рачката на уредот.
uint32_t добие () const
8.16 ID на уред
Користете ја оваа класа (непроменлива од создавањето) за да ги идентификувате и разликувате уредите во автобус:
Идентификатор на хардверски адаптер
Идентификатор на уредот
Опис
Значењето на вредностите за ID/опис на уредот зависи од магистралата. За прample, CAN магистралата може да користи целобројна ID.
DeviceId () [1/3] Конструира нов објект ID на уред.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, непотпишан int deviceId_, std::string const & description_)
Параметри busHardwareId_ deviceId_ description_
Идентификатор на автобусот. Индекс; предмет на магистрала (= CANopen јазол ID итн.). Опис (може да е празен); предмет на автобус.
DeviceId () [2/3] Конструира нов објект ID на уред со проширени опции за ID.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, непотпишан int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)
Параметри busHardwareId_ deviceId_ description_ extraId_ extraStringId_
Идентификатор на автобусот. Индекс; предмет на магистрала (= CANopen јазол ID итн.). Опис (може да е празен); предмет на автобус. Дополнителна лична карта (може да е празна); значењето зависи од автобусот. Дополнителен ID на низа (може да е празен); значењето зависи од автобусот.
DeviceId () [3/3] Конструира копија од објект ID на уред.
nlc::DeviceId::DeviceId (DeviceId const &)
Верзија: doc 1.4.2 / NanoLib 1.3.0
33
8 Референца за класи/функции
Параметри deviceId_
ID на уред за копирање.
е еднакво на () Споредува нови со постоечки објекти.
bool nlc::DeviceId::equals (DeviceId const & other) const
Враќа бул
getBusHardwareId () Го чита хардверскиот ID на магистралата.
BusHardwareId nlc::DeviceId::getBusHardwareId () const
Го враќа BusHardwareId
getDescription () Го чита описот на уредот (можеби неискористен).
std::string nlc::DeviceId::getDescription () const
Враќа низа
getDeviceId () Го чита ID на уредот (можеби неискористен).
непотпишан int nlc::DeviceId::getDeviceId () const
Враќа непотпишана инт
toString () Го враќа објектот како низа.
std::string nlc::DeviceId::toString () const
Враќа низа
getExtraId () Го чита дополнителниот ID на уредот (може да е неискористен).
const std::вектор &getExtraId () конст
Враќа вектор
Вектор на дополнителни дополнителни ИД (може да е празен); значењето зависи од автобусот.
getExtraStringId () Го чита дополнителниот ID на низа на уредот (може да не се користи).
std::string getExtraStringId () const
Верзија: doc 1.4.2 / NanoLib 1.3.0
34
8 Референца за класи/функции
Враќа низа
ИД на дополнителната низа (може да е празна); значењето зависи од автобусот.
8.17 LogLevelConverter
Оваа класа го враќа вашето ниво на дневник како низа. статички std::string toString (nlc::LogLevel logLevel)
8.18 LogModuleConverter
Оваа класа го враќа вашиот дневник специфичен за библиотеката modulesetLoggingLevel () како низа.
статички std::string
toString (nlc::LogModule logModule)
статички std::string toString (nlc::LogModule logModule)
8.19 Речник на објекти
Оваа класа претставува речник на објекти на контролер и ги има следните функции на јавниот член: getDeviceHandle ()
виртуелен ResultDeviceHandle getDeviceHandle () const Враќа ResultDeviceHandle
getObject () виртуелен ResultObjectSubEntry getObject (OdIndex const odIndex) Враќа ResultObjectSubEntry
getObjectEntry () виртуелен ResultObjectEntry getObjectEntry (uint16_t индекс)
Го враќа ResultObjectEntry
Информира за својствата на објектот.
getXmlFileИме () виртуелен ResultString getXmlFileИме () конст
Го враќа ResultString
Го враќа XML file име како низа.
readNumber () виртуелен ResultInt readNumber (OdIndex const odIndex) Враќа ResultInt
readNumberArray () виртуелен ResultArrayInt readNumberArray (uint16_t const индекс)
Верзија: doc 1.4.2 / NanoLib 1.3.0
35
8 Референца за класи/функции
Враќа ResultArrayInt readString ()
виртуелен ResultString readString (OdIndex const odIndex) Враќа ResultString readBytes () виртуелен ResultArrayByte readBytes (OdIndex const odIndex) Враќа ResultArrayByte writeNumber () виртуелен ResultVoid writeNumber (OdIndex constVendst, вредност 64. writeBytes () виртуелен ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) Врати ResultVoid Поврзани врски OdIndex
8.20 Внес на објект
Оваа класа претставува објектен запис во речникот на објектот, го има следниот статички заштитен атрибут и функции на јавен член:
static nlc::ObjectSubEntry invalidObject
getName () Го чита името на објектот како низа.
виртуелен std::string getName () const
getPrivate () Проверува дали објектот е приватен.
виртуелен бул getPrivate () const
getIndex () Ја чита адресата на објектниот индекс.
виртуелен uint16_t getIndex () const
Верзија: doc 1.4.2 / NanoLib 1.3.0
36
8 Референца за класи/функции
getDataType () Го чита типот на податоци на објектот.
виртуелен nlc::ObjectEntryDataType getDataType () const
getObjectCode () Го чита кодот на објектот:
Null Deftype Defstruct Var Array Record
0x00 0x05 0x06 0x07 0x08 0x09
виртуелен nlc::ObjectCode getObjectCode () const
getObjectSaveable () Проверува дали објектот може да се зачува и дали е категорија (видете го прирачникот за производот за повеќе детали): АПЛИКАЦИЈА, КОМУНИКАЦИЈА, DRIVE, MISC_CONFIG, MODBUS_RTU, НЕ, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFYNOWLENOWVENKVESA,
виртуелен nlc::ObjectSaveable getObjectSaveable () const
getMaxSubIndex () Го чита бројот на подиндекси поддржани од овој објект.
виртуелен uint8_t getMaxSubIndex () const
getSubEntry () виртуелен nlc::ObjectSubEntry и getSubEntry (uint8_t подИндекс)
Видете исто така ObjectSubEntry.
8.21 ObjectSubentry
Оваа класа претставува предметен под-запис (подиндекс) од речник на објектот и ги има следните функции на јавен член:
getName () Го чита името на објектот како низа.
виртуелен std::string getName () const
getSubIndex () Ја чита адресата на подиндексот.
виртуелен uint8_t getSubIndex () const
Верзија: doc 1.4.2 / NanoLib 1.3.0
37
8 Референца за класи/функции
getDataType () Го чита типот на податоци на објектот.
виртуелен nlc::ObjectEntryDataType getDataType () const
getSdoAccess () Проверува дали подиндексот е достапен преку SDO:
Само за читање
1
Напиши само
2
Читај Напиши
3
Без пристап
0
виртуелен nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () Проверува дали подиндексот е достапен/мапиран преку PDO:
Tx
1
Rx
2
TxRx
3
бр
0
виртуелен nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () Ја проверува должината на подиндексот.
виртуелен uint32_t getBitLength () const
getDefaultValueAsNumeric () Ја чита стандардната вредност на подиндексот за нумерички типови на податоци.
виртуелен ResultInt getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () Ја чита стандардната вредност на подиндексот за типовите на стринг податоци.
виртуелен ResultString getDefaultValueAsString (std::string const & key) const
getDefaultValues () Ги чита стандардните вредности на подиндексот.
виртуелен стд::мапа getDefaultValues () const
Верзија: doc 1.4.2 / NanoLib 1.3.0
38
8 Референца за класи/функции
readNumber () Ја чита нумеричката вистинска вредност на подиндексот.
виртуелен ResultInt readNumber () const
readString () Ја чита вистинската вредност на низата на подиндексот.
виртуелен ResultString readString () const
readBytes () Ја чита вистинската вредност на подиндексот во бајти.
виртуелен ResultArrayByte readBytes () const
writeNumber () Запишува нумеричка вредност во подиндексот.
виртуелен ResultVoid writeNumber (const int64_t вредност) const
writeBytes () Запишува вредност во подиндексот во бајти.
виртуелен ResultVoid writeBytes (std::vector const & data) const
8.22 OdIndex
Користете ја оваа класа (непроменлива од создавањето натаму) за да ги завиткате и лоцирате индексите / под-индексите на директориумот на објекти. OD на уредот има до 65535 (0xFFFF) редови и 255 (0xFF) колони; со празнини меѓу дисконтинуираните редови. Погледнете го стандардот CANopen и прирачникот за вашиот производ за повеќе детали.
OdIndex () Конструира нов објект OdIndex.
nlc::OdIndex::OdIndex (индекс uint16_t, подиндекс uint8_t)
Подиндекс на индекс на параметри
Од 0 до 65535 (0xFFFF) вкл. Од 0 до 255 (0xFF) вкл.
getIndex () Го чита индексот (од 0x0000 до 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const
Се враќа uint16_t
getSubindex () Го чита под-индексот (од 0x00 до 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const
Верзија: doc 1.4.2 / NanoLib 1.3.0
39
8 Референца за класи/функции
Се враќа uint8_t
toString () Ги враќа индексот и подиндексот како низа. Стандардната низа 0xIIII:0xSS гласи на следниов начин:
I = индекс од 0x0000 до 0xFFFF
S = под-индекс од 0x00 до 0xFF
std::string nlc::OdIndex::toString () const
Враќа 0xIIII:0xSS
Стандардно претставување на низа
8.23 OdLibrary
Користете го овој програмски интерфејс за да креирате примероци од класата ObjectDictionary од XML. Со доделувањеObjectDictionary, потоа можете да го поврзете секој пример за одреден уред поради уникатно креиран идентификатор. Така создадените примери на ObjectDictionary се складираат во објектот OdLibrary за да се пристапи по индекс. Класата ODLibrary вчитува предмети од ObjectDictionary од file или низа, ги складира и ги има следните функции за јавни членови:
getObjectDictionaryCount () виртуелен uint32_t getObjectDictionaryCount () const
getObjectDictionary () виртуелен ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
Го враќа ResultObjectDictionary
addObjectDictionaryFromFile ()
виртуелен ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileПат)
Го враќа ResultObjectDictionary
addObjectDictionary ()
виртуелен ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileПатека = std::string ())
Го враќа ResultObjectDictionary
8.24 OdTypesHelper
Покрај следните функции за јавни членови, оваа класа содржи прилагодени типови на податоци. Забелешка: За да ги проверите вашите сопствени типови на податоци, побарајте ја нумеричката класа ObjectEntryDataType во od_types.hpp.
uintToObjectCode () Конвертира непотпишани цели броеви во објект код:
Нултен дефинитивен тип
0х00 0х05
Верзија: doc 1.4.2 / NanoLib 1.3.0
40
8 Референца за класи/функции
Destruct Var Array Record
0x06 0x07 0x08 0x09
статичен ObjectCode uintToObjectCode (непотпишан int objectCode)
isNumericDataType () Информира дали типот на податок е нумерички или не.
статички бул е NumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () Информира дали објектот е индекс на структура на дефиниција или не.
статички бул isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () Информира дали објектот е индекс на тип на дефиниција или не.
статички бул isDeftypeIndex (uint16_t typeNum)
isComplexDataType () Информира дали типот на податоци е сложен или не.
статички бул isComplexDataType (ObjectEntryDataType dataType)
uintToObjectEntryDataType () Конвертира непотпишани цели броеви во OD тип на податоци.
статичен ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () Го конвертира типот на податоци OD во стринг.
статички std:: string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () Конвертира низа во OD тип на податок ако е можно. Во спротивно, враќа UNKNOWN_DATATYPE.
статичен ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
Верзија: doc 1.4.2 / NanoLib 1.3.0
41
8 Референца за класи/функции
objectEntryDataTypeBitLength () Информира за должината на битот на типот на податоци за внесување објект.
статичен uint32_t објектEntryDataTypeBitLength (ОбјектенТип на податок конст и тип на податоци)
8.25 RESTfulBus структура
Оваа структура ги содржи опциите за конфигурација на комуникација за интерфејсот RESTful (преку етернет). Ги содржи следните јавни атрибути:
const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long
CONNECT_TIMEOUT_OPTION_NAME = „RESTful Connect Timeout“ DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = „RESTful Request Timeout“ DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTIONRESS = 750
8.26 ProfinetDCP
Под Linux, на апликацијата за повикување и се потребни CAP_NET_ADMIN и CAP_NET_RAW способности. За да овозможите: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./извршна. Во Windows, интерфејсот ProfinetDCP користи WinPcap (тестиран со верзија 4.1.3) или Npcap (тестиран со верзии 1.60 и 1.30). Така, ја пребарува динамички вчитаната библиотека wpcap.dll по следниот редослед (Забелешка: нема моментална поддршка за Win10Pcap):
1. Директориум Nanolib.dll 2. Системски директориум за Windows SystemRoot%System32 3. Директориум за инсталација Npcap SystemRoot%System32Npcap 4. Патека за животна средина
Оваа класа претставува интерфејс Profinet DCP и ги има следните функции за јавен член:
getScanTimeout () Информира за истекот на скенирањето на уредот (стандардно = 2000 ms).
виртуелен uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () Поставува истек на скенирање на уредот (стандардно = 2000 ms).
виртуелна празнина nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () Информира за истекот на одговорот на уредот за операциите за поставување, ресетирање и трепкање (стандардно = 1000 ms).
виртуелен uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () Информира за истекот на одговорот на уредот за операциите за поставување, ресетирање и трепкање (стандардно = 1000 ms).
виртуелна празнина nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
Верзија: doc 1.4.2 / NanoLib 1.3.0
42
8 Референца за класи/функции
isServiceAvailable ()
Користете ја оваа функција за да ја проверите достапноста на услугата Profinet DCP.
Валидност / достапност на мрежен адаптер Windows: WinPcap / Npcap достапност Linux: CAP_NET_ADMIN / CAP_NET_RAW способности
виртуелен ResultVoid nlc::ProfinetDCP::isServiceAvailable (конструирана BusHardwareId и busHardwareId)
Параметри BusHardwareId Враќа вистина
лажни
Хардверски ID на услугата Profinet DCP за проверка. Услугата е достапна. Услугата е недостапна.
scanProfinetDevices () Користете ја оваа функција за скенирање на хардверската магистрала за присуство на уредите Profinet.
виртуелен ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)
Параметри BusHardwareId враќа ResultProfinetDevices
Ја одредува секоја фледбус за отворање. Хардверот е отворен.
setupProfinetDevice () Ги воспоставува следните поставки на уредот:
Име на уредот
IP адреса
Мрежна маска
Стандардна порта
виртуелен ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () Го запира уредот и го ресетира на фабрички поставки.
виртуелен ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () Наредува на уредот Profinet да почне да трепка неговата LED LED Profinet.
виртуелен ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)
validateProfinetDeviceIp () Користете ја оваа функција за да ја проверите IP адресата на уредот.
виртуелен ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice и profinetDevice)
Параметри BusHardwareId ProfinetDevice
Го одредува ID на хардверот за проверка. Го одредува уредот Profinet за валидација.
Верзија: doc 1.4.2 / NanoLib 1.3.0
43
8 Референца за класи/функции
Го враќа ResultVoid
8.27 Структура на ProfinetDevice
Податоците на уредот Profinet ги имаат следните јавни атрибути:
std::string std::string std:: низа< uint8_t, 6 > uint32_t uint32_t uint32_t
Име на уредот уред Додавач macAddress ipAddress netMask defaultGateway
MAC адресата е дадена како низа во формат macAddress = {xx, xx, xx, xx, xx, xx}; додека IP адресата, мрежната маска и портата се толкуваат како големи ендијански хексадетични броеви, како што се:
IP адреса: 192.168.0.2 Мрежна маска: 255.255.0.0 Порта: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 Часови со резултати
Користете ги „опционалните“ повратни вредности на овие класи за да проверите дали повикот на функцијата имал успех или не, а исто така да ги лоцирате причините за неуспех. По успех, функцијата hasError () враќа false. Со getResult (), можете да ја прочитате вредноста на резултатот според типот (ResultInt итн.). Ако повикот не успее, ќе ја прочитате причината со getError ().
Заштитени атрибути
низа NlcErrorCode uint32_t
errorString errorCode exErrorCode
Исто така, оваа класа ги има следните функции на јавен член:
hasError () Го чита успехот на повикот на функцијата.
bool nlc::резултат::hasError () const
Се враќа
точно лажно
Неуспешен повик. Користете getError () за да ја прочитате вредноста. Успешен повик. Користете getResult () за да ја прочитате вредноста.
getError () Ја чита причината ако повикот на функцијата не успее.
const std::string nlc::резултат::getError () const
Враќа стринг од const
Верзија: doc 1.4.2 / NanoLib 1.3.0
44
8 Референца за класи/функции
резултат () Следниве функции помагаат во дефинирањето на точните резултати:
Резултат (std::string const & errorString_)
Резултат (NlcErrorCode const & errCode, std::string const & errorString_)
Резултат (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
Резултат (резултат и резултат)
getErrorCode () Прочитајте го NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 Резултат Неважечки
NanoLib ви испраќа примерок од оваа класа ако функцијата се врати како празнина. Класата ги наследува јавните функции и заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
ResultVoid () Следниве функции помагаат да се дефинира точниот резултат на празнина:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (резултат и резултат)
8.28.2 Резултат Инт
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа цел број. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го враќа резултатот од цел број доколку повикот на функцијата има успех.
int64_t getResult () const
Се враќа int64_t
Верзија: doc 1.4.2 / NanoLib 1.3.0
45
8 Референца за класи/функции
ResultInt () Следниве функции помагаат во дефинирањето на точниот резултат на цел број:
ResultInt (int64_t резултат_)
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 (резултат и резултат)
8.28.3 ResultString
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа низа. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го чита резултатот од низата доколку повикот на функцијата има успех.
const std::string nlc::resultString::getResult () const
Враќа стринг од const
ResultString () Следниве функции помагаат во дефинирањето на точниот резултат на низата:
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 (резултат и резултат)
8.28.4 ResultArrayByte
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа низа бајти. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го чита векторот на бајти ако повикот на функцијата има успех.
const std::вектор nlc::ResultArrayByte::getResult () const
Го враќа векторот const
Верзија: doc 1.4.2 / NanoLib 1.3.0
46
8 Референца за класи/функции
ResultArrayByte () Следниве функции помагаат во дефинирањето на точниот резултат на низата од бајти:
ResultArrayByte (std:: вектор констат и резултат_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (резултат и резултат)
8.28.5 ResultArrayInt
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа цела низа. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го чита векторот на цел број ако повикот на функцијата има успех.
const std::вектор nlc::ResultArrayInt::getResult () const
Го враќа векторот const
ResultArrayInt () Следниве функции помагаат во дефинирањето на точниот резултат на низата со цел број:
ResultArrayInt (std::вектор констатирање и резултат_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (резултат и резултат)
8.28.6 ResultBusHwIds
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа низа со ID на хардвер на магистралата. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го чита векторот bus-hardware-ID доколку повикот на функцијата има успех.
const std::вектор nlc::ResultBusHwIds::getResult () const
Параметри конст вектор
Верзија: doc 1.4.2 / NanoLib 1.3.0
47
8 Референца за класи/функции
ResultBusHwIds () Следниве функции помагаат во дефинирањето на точниот резултат на магистралата-хардвер-ID-низа:
ResultBusHwIds (стд::вектор констатирање и резултат_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (резултат и резултат)
8.28.7 ResultDeviceId
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа ID на уред. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го чита векторот за ID на уредот доколку повикот на функцијата има успех.
DeviceId nlc::ResultDeviceId::getResult () const
Го враќа векторот const
ResultDeviceId () Следниве функции помагаат да се дефинира точниот резултат на ID на уредот:
ResultDeviceId (DeviceId Const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (резултат и резултат)
8.28.8 ResultDeviceIds
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа низа со ID на уред. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го враќа векторот за ID на уред доколку повикот на функцијата има успех.
DeviceId nlc::ResultDeviceIds::getResult () const
Го враќа векторот const
Верзија: doc 1.4.2 / NanoLib 1.3.0
48
8 Референца за класи/функции
ResultDeviceIds () Следниве функции помагаат во дефинирањето на точниот резултат на низата за ID на уредот:
ResultDeviceIds (std::vector констат и резултат_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (резултат и резултат)
8.28.9 Управување со резултатот
NanoLib ви испраќа примерок од оваа класа ако функцијата ја враќа вредноста на рачката на уредот. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Ја чита рачката на уредот доколку повикот на функцијата имал успех.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
Го враќа Device Handle
ResultDeviceHandle () Следниве функции помагаат да се дефинира точниот резултат на рачката на уредот:
ResultDeviceHandle (Рачка на уред конст и резултат_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (резултат и резултат)
8.28.10 Речник на објект на резултат
NanoLib ви испраќа примерок од оваа класа ако функцијата ја враќа содржината на речник на објекти. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го чита векторот за ID на уредот доколку повикот на функцијата има успех.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
Верзија: doc 1.4.2 / NanoLib 1.3.0
49
8 Референца за класи/функции
Се враќа
const вектор
ResultObjectDictionary () Следниве функции помагаат во дефинирањето на точниот резултат на речникот на објектот:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)
ResultObjectDictionary (std::string const & errorString_)
ResultObject Dictionary (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObject Dictionary (резултат и резултат)
8.28.11 Состојба на врска со резултат
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа информации за состојбата на врската на уредот. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Ја чита рачката на уредот доколку повикот на функцијата имал успех.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
Враќа DeviceConnectionStateInfo Поврзан / Исклучен / Поврзан подигнувач
ResultConnectionState () Следниве функции помагаат во дефинирањето на точниот резултат на состојбата на врската:
ResultConnectionState (DeviceConnectionStateInfo const & result_)
ResultConnectionState (std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultConnectionState (резултат и резултат)
8.28.12 Внес на објект на резултат
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа запис за објект. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
Верзија: doc 1.4.2 / NanoLib 1.3.0
50
8 Референца за класи/функции
getResult () Го враќа векторот за ID на уред доколку повикот на функцијата има успех.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
Враќа Const ObjectEntry
ResultObjectEntry () Следниве функции помагаат во дефинирањето на точниот резултат за внесување на објектот:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObject Entry (резултат и резултат)
8.28.13
NanoLib ви испраќа примерок од оваа класа ако функцијата враќа под-запис на објект. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Го враќа векторот за ID на уред доколку повикот на функцијата има успех.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
Враќа Const ObjectSubEntry
ResultObjectSubEntry () Следниве функции помагаат во дефинирањето на точниот резултат на под-запис на објектот:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (резултат и резултат)
8.28.14 ResultProfinetDevices
NanoLib ви испраќа примерок од оваа класа ако функцијата врати уред Profinet. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
Верзија: doc 1.4.2 / NanoLib 1.3.0
51
8 Референца за класи/функции
getResult () Го чита векторот на уредот Profinet доколку повикот на функцијата има успех.
const std::вектор & get Result () const
ResultProfinetDevices () Следниве функции помагаат во дефинирањето на точните уреди на Profinet.
ResultProfinetDevices (const std::vector & profinetуреди)
ResultProfinetDevices (продолжение Резултат и резултат)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 РезултатСampleDataArray
NanoLib ви испраќа примерок од оваа класа ако функцијата се врати какоampниза со податоци. Класата ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавен член:
getResult () Ја чита низата со податоци доколку повикот на функцијата има успех.
const std::вектор <SampleData> & getResult () const
РезултатСampleDataArray () Следниве функции помагаат во дефинирањето на точните уреди на Profinet.
РезултатСampleDataArray (const std::вектор <SampleData> и dataArray)
РезултатСampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
РезултатСampleDataArray (конструира РезултатСampleDataArray и друго)
РезултатСampleDataArray (конструиран резултат и резултат)
8.28.16 РезултатСamplerState
NanoLib ви испраќа примерок од оваа класа ако функцијата се врати какоampler state.Оваа класа ги наследува јавните функции / заштитените атрибути од класата на резултати и ги има следните функции на јавниот член:
getResult () Ги чита сampВектор на ler состојба ако повикот на функција има успех.
SamplerState getResult () const
Се враќа СamplerState>
Неконфигуриран / Конфигуриран / Подготвен / Вклучен / Завршен / Неуспешен / Откажан
Верзија: doc 1.4.2 / NanoLib 1.3.0
52
8 Референца за класи/функции
РезултатСamplerState () Следниве функции помагаат во дефинирањето на точната sampлерска држава.
РезултатСamplerState (констат SampДржавна држава)
РезултатСamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
продолжен код за грешка = 0)
РезултатСamplerState (постојат РезултатиamplerState и друго)
РезултатСamplerState (продолжение Резултат и резултат)
8.29 NlcErrorCode
Ако нешто тргне наопаку, класите на резултати известуваат за еден од кодовите за грешка наведени во ова набројување.
Шифра за грешка Успешно Општа Грешка МагистралаНедостапна комуникација Протокол за грешка Грешка
ODDoesNotExist ODInvalidAccess ODTypeНесовпаѓање операција Прекината операција Неподдржана НевалиднаОперација
Невалиден пристап до неважечки аргументи Одбиен ресурсНепронајден ресурсНедостапен надвор од меморијата Timeout Грешка
C: Категорија D: Опис R: Причина C: Нема. Д: Нема грешка. Р: Операцијата заврши успешно.
В: Неодредено. Д: Неодредена грешка. Р: Неуспех што не одговара на ниедна друга категорија.
В: Автобус. Д: Хардверскиот автобус не е достапен. Р: Автобус непостоечки, прекин или дефект.
В: Комуникација. Д: Несигурна комуникација. R: Неочекувани податоци, погрешни CRC, грешки во рамка или паритет, итн.
В: Протокол. Г: Грешка во протоколот. R: Одговор по опција за неподдржан протокол, извештај за уредот за неподдржан протокол, грешка во протоколот (на пример, бит за синхронизација на сегментот SDO), итн. бит за синхронизација на сегменти) итн. R: Неподдржан протокол (опции) или грешка во протоколот (да речеме, бит за синхронизација на сегмент SDO) итн.
В: Речник на предмети. D: OD адресата непостоечка. Р: Нема таква адреса во речникот на објектот.
В: Речник на предмети. D: Пристапот до OD адресата е неважечки. Р: Обидете се да напишете адреса само за читање или да читате од адреса само за пишување.
В: Речник на предмети. Д: Несовпаѓање на типот. R: Вредноста не е конвертирана во одреден тип, да речеме, во обид да се третира низата како број.
В: Апликација. Д: Процесот е прекинат. Р: Пресечен процес со барање за апликација. Се враќа само при прекин на работата со функцијата за повратен повик, да речеме, од скенирање со магистрали.
В: Заеднички. Г: Процесот не е поддржан. Р: Нема поддршка за хардверски автобус/уред.
В: Заеднички. D: Процесот е погрешен во тековниот контекст или неважечки со тековниот аргумент. R: Обид за повторно поврзување со веќе поврзани автобуси/уреди. Обид за исклучување со веќе исклучените. Обид за работа на подигнувачот во режим на фирмвер или обратно.
В: Заеднички. Д: Аргументот е неважечки. Р: Погрешна логика или синтакса.
В: Заеднички. Д: Пристапот е одбиен. Р: Немање права или способности за извршување на бараната операција.
В: Заеднички. Г: Наведената ставка не е пронајдена. R: Хардверска магистрала, протокол, уред, OD адреса на уредот или file не беше пронајден.
В: Заеднички. Г: Наведената ставка не е пронајдена. R: зафатен, непостоечки, отсечен или дефект.
В: Заеднички. Д: Недоволна меморија. R: Премалку меморија за обработка на оваа команда.
В: Заеднички. Д: Процесот истече. Р: Враќање по истекот на тајм-аутот. Истекот на времето може да биде време на одговор на уредот, време за добивање заеднички или ексклузивен пристап до ресурси или време за префрлување на автобусот/уредот во соодветна состојба.
Верзија: doc 1.4.2 / NanoLib 1.3.0
53
8 Референца за класи/функции
8.30 NlcПовратен повик
Оваа матична класа за повратни повици ја има следната функција на јавен член: повратен повик ()
виртуелен ResultVoid повратен повик ()
Се враќа
Резултат Неважечки
8.31 NlcDataTransfer Callback
Користете ја оваа класа за повратен повик за пренос на податоци (ажурирање на фирмверот, поставување на NanoJ итн.). 1. За прикачување на фирмверот: Дефинирајте „ко-класа“ што ја продолжува оваа со приспособен метод за повратен повик
имплементација. 2. Користете ги примерите на „ко-класа“ во повиците NanoLibAccessor.uploadFirmware (). Самата главна класа ја има следната функција на јавен член:
повратен повик () виртуелен ResultVoid повратен повик (nlc::DataTransferInfo информации, int32_t податоци)
Се враќа
Резултат Неважечки
8.32 NlcScanBusПовратен повик
Користете ја оваа класа за повратен повик за скенирање со автобус. 1. Дефинирајте „ко-класа“ што ја проширува оваа со приспособена имплементација на методот за повратен повик. 2. Користете ги примерите на „ко-класа“ во повиците NanoLibAccessor.scanDevices (). Самата главна класа ја има следната функција на јавен член.
повратен повик ()
виртуелен ResultVoid повратен повик (nlc::BusScanInfo info, std::vector const и уредиПронајдени, int32_t податоци)
Го враќа ResultVoid
8.33 NlcLoggingCallback
Користете ја оваа класа за повратен повик за евидентирање на повратни повици. 1. Дефинирајте класа што ја проширува оваа класа со приспособена имплементација на методот за повратен повик 2. Користете покажувач до неговите примероци за да поставите повратен повик преку NanoLibAccessor >
setLoggingCallback (…).
виртуелен повратен повик (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)
8.34 Сamplerинтерфејс
Користете ја оваа класа за конфигурирање, стартување и запирање на sampлер, или да се добие сampled податоци и преземање какоampстатус на Лер или последна грешка. Класата ги има следните функции на јавен член.
Верзија: doc 1.4.2 / NanoLib 1.3.0
54
8 Референца за класи/функции
конфигурирај () Конфигурира какоampлер
виртуелен ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)
Параметри [во] уредРачка [во] samplerConfiguration
Го враќа ResultVoid
Одредува кој уред да го конфигурира sampлер за. Ги одредува вредностите на конфигурациските атрибути. Потврдува дека е извршена празнина функција.
getData () Добива sampled податоци.
виртуелни резултатиampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
Параметри [во] уред Рачка Враќа резултатиСampleDataArray
Одредува за кој уред да се добиваат податоците.
Испорачува сampled податоци, кои можат да бидат празна низа ако samplerNotify е активен на стартот.
getLastError () Се добива какоampпоследна грешка на Лер.
виртуелен ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
Го враќа ResultVoid
Потврдува дека е извршена празнина функција.
getState () Добива какоampстатус на Лер.
виртуелни резултатиamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
Ги враќа резултатитеamplerState
Испорачува сampлерска држава.
почеток () Започнува какоampлер
виртуелен ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify* samplerNotify, int64_t applicationData)
Параметри [во] уред Рачка [во] СamplerNotify [во] апликација Податоци
Го враќа ResultVoid
Одредува кој уред да го стартува sampлер за.
Одредува кои опционални информации да се пријават (може да бидат nullptr).
Опција: проследува податоци поврзани со апликацијата (8-битна низа на вредност/идентификатор на уред/индекс дефинирана од корисникот, или датум време, покажувач на променлива/функција, итн.) на samplerИзвести.
Потврдува дека е извршена празнина функција.
Верзија: doc 1.4.2 / NanoLib 1.3.0
55
8 Референца за класи/функции
стоп () Запира какоampлер
виртуелен ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
Параметри [во] deviceHandle враќа ResultVoid
Одредува кој уред да го запре sampлер за. Потврдува дека е извршена празнина функција.
8.35 СamplerConfiguration struct
Оваа структура ги содржи податоците sampопциите за конфигурација на ler (статични или не).
Јавни атрибути
std::вектор следениАдреси
До 12 OD адреси да бидат sampлед.
uint32_t
верзија
Верзија на структура.
uint32_t
времетраењеМилисекунди
Sampвреметраење на линг во ms, од 1 до 65535
uint16_t
периодМилисекунди
SampЛинг период во ms.
uint16_t
број на Сampлес
Sampпомалку износ.
uint16_t
preTriggerNumberOfSampлес
Samples износот пред активирањето.
бул
користејќи SoftwareImplementation
Користете имплементација на софтвер.
бул
користејќи NewFWSamplerImplementation Користете FW имплементација за уреди со a
FW верзија v24xx или понова.
SamplerMode
режим
Нормални, повторувачки или континуирани сampлинг
SamplerTriggerCondition triggerCondition
Услови за активирање за почеток: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER_OR_EQUAL = 0x15 TC_LESS = 0x16 TC_LESS_OR_EQUAL = 0x17 TC_EQUAL = 0x18 TC_NOT_EQUAL = 0x19A TC_ONE_EDGE = 0x1B TCGE_MULTIX = TCGE_MULTIx0
SamplerTrigger
SamplerTrigger
Активирање за почеток какоampлер?
Статични јавни атрибути
статичен constexpr size_t СAMPLER_CONFIGURATION_VERSION = 0x01000000 статички constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 СamplerИзвести
Користете ја оваа класа за да го активирате sampler известувања кога ќе почнете какоampлер. Класата ја има следната функција на јавен член.
Верзија: doc 1.4.2 / NanoLib 1.3.0
56
8 Референца за класи/функции
извести ()
Доставува запис за известување.
виртуелен void nlc::SamplerNotify::notify (const ResultVoid & lastError, const SampЛерДржава сamplerState, const std::вектор <SampleData> & sampleDatas, int64_t applicationData)
Параметри [во] последна Грешка [во] сamplerState
[во] сampleDatas [во] апликацијаПодатоци
Пријавува дека последната грешка се случила додека сampлинг. Известува сampler статус во времето на известување: Неконфигуриран / Конфигуриран / Подготвен / Вклучен / Завршен / Неуспешно / Откажан. Известува сampled-податочна низа. Пријавува податоци специфични за апликацијата.
8.37 СampleData структура
Оваа структура содржи sampled податоци.
uin64_t iterationNumber
Започнува на 0 и се зголемува само во режим на повторување.
std::вектор<СampledValues> Содржи низа од sampпредводени вредности.
8.38 СampledValue struct
Оваа структура содржи sampпредводени вредности.
in64_t вредност uin64_t CollectTimeMsec
Ја содржи вредноста на следената OD адреса.
Го содржи времето на собирање во милисекунди, во однос на sampна почетокот.
8.39 СamplerTrigger struct
Оваа структура ги содржи поставките за активирањето на sampлер
SamplerTriggerСостојба состојба
Вредност на OdIndex uin32_t
Состојбата на активирањето: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = TC_0x14 TC_GREATER_OR_EQUAL = 0x15 TC_LESS = 0x16 TC_LESS_OR_EQUAL = 0x17 TC_EQUAL = 0x18 TC_NOT_EQUAL = 0x19A TC_ONE_EDGE = 0x1B TC_MULTI_
OdIndex (адреса) на активирањето.
Вредност на состојбата или бит број (почнувајќи од битот нула).
8.40 Сериска структура
Најдете ги овде вашите опции за сериска комуникација и следните јавни атрибути:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = „serial Baud rate“ baudRate = SerialBaudRate struct
Верзија: doc 1.4.2 / NanoLib 1.3.0
57
8 Референца за класи/функции
const std::string const SerialParity
PARITY_OPTIONS_NAME = паритет „сериски паритет“ = структура на сериска парност
8.41 Структура на SerialBaudRate
Пронајдете ја овде вашата брзина на бауд на сериска комуникација и следните јавни атрибути:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_7200 = „7200“ BAUD_RATE_9600 = „9600“ BAUD_RATE_14400 = „14400“ BAUD_RATE_19200 = „19200“ BAUD_RATE_38400 = „38400RATE_56000 BAUD_56000RA“ = „57600 BAUD_57600RATE“ 115200 = „115200“ BAUD_RATE_128000 = „128000“ BAUD_RATE_256000 = „256000“ BAUD_RATE_XNUMX = „XNUMX“
8.42 Структура на сериска парност
Најдете ги овде вашите опции за сериски паритет и следните јавни атрибути:
const std::string const std::string const std::string const std::string const std::string
НИКОЈ = „ниедно“ НЕДНО = „непарно“ ДУР = „парен“ МАРК = „означи“ ПРОСТОР = „простор“
Верзија: doc 1.4.2 / NanoLib 1.3.0
58
9 Лиценци
9 Лиценци
NanoLib API интерфејс заглавија и прampИзворниот код е лиценциран од Nanotec Electronic GmbH & Co. KG според лиценцата Creative Commons Attribution 3.0 Unported (CC BY). Деловите од библиотеката обезбедени во бинарен формат (библиотеки за комуникациски јадра и fieldbus) се лиценцирани според Меѓународната лиценца Creative Commons AttributionNoDerivatives 4.0 (CC BY ND).
Криејтив комонс
Следното резиме што може да се чита од човек нема да ја замени самата лиценца(и). Соодветната лиценца можете да ја најдете на creativecommons.org и поврзана подолу. Слободно можете да:
CC BY 3.0
Сподели: Види десно. Прилагодете се: ремиксирајте, трансформирајте и надоградете го
материјал за која било намена, дури и комерцијално.
CC BY-ND 4.0
Сподели: Копирајте го и редистрибуирајте го материјалот во кој било медиум или формат.
Давателот на лиценцата не може да ги отповика горенаведените слободи се додека ги почитувате следните услови за лиценца:
CC BY 3.0
CC BY-ND 4.0
Наведи извор: Мора да дадете соодветна заслуга, Наведи извор: Видете лево. Но: Обезбедете врска до ова
наведете линк до лиценцата и наведете дали
друга лиценца.
беа направени промени. Можете да го направите тоа во која било
Без деривати: ако ремиксирате, трансформирате или градите
разумен начин, но не на кој било начин што сугерира
на материјалот, не смеете да го дистрибуирате
покажува дека давачот на лиценцата ве поддржува вас или вашата употреба.
модифициран материјал.
Нема дополнителни ограничувања: не смеете да применувате Нема дополнителни ограничувања: Видете лево. правни термини или технолошки мерки кои законски
ограничете ги другите да прават нешто според лиценцата
дозволи.
Забелешка: Не мора да се придржувате до лиценцата за елементи на материјалот во јавен домен или каде што вашата употреба е дозволена со применлив исклучок или ограничување.
Забелешка: Не се дадени гаранции. Лиценцата може да не ви ги даде сите дозволи потребни за вашата намена. За прampи други права како што се публицитет, приватност или морални права може да го ограничат начинот на кој го користите материјалот.
Верзија: doc 1.4.2 / NanoLib 1.3.0
59
Отпечаток, контакт, верзии
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com Сите права се задржани. Грешка, пропуст, техничка или промена на содржината е можно без претходна најава. Цитираните марки/производи се заштитни знаци на нивните сопственици и треба да се третираат како такви. Оригинална верзија.
Документ 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08
+ Додадено > Променето # Поправено > Повторна работа на дадениот прampлес.
+ NanoLib Modbus: Додаден механизам за заклучување на уредот за Modbus VCP. # NanoLib Core: Фиксна проверка на состојбата на врската. # NanoLib код: Поправено отстранување на референцата на магистралата.
+ NanoLib-CANopen: Поддршка за Peak PCAN-USB адаптер (IPEH-002021/002022).
> NanoLib Core: Променет интерфејс за повратен повик за евиденција (LogLevel заменет со LogModule). # NanoLib Logger: Одвојувањето помеѓу јадрото и модулите е поправено. # Modbus TCP: Поправено ажурирање на фирмверот за FW4. # EtherCAT: Поправено поставување на програмата NanoJ за Core5. # EtherCAT: Поправено ажурирање на фирмверот за Core5.
# Modbus RTU: Поправени проблеми со тајмингот со ниски стапки на бауд при ажурирање на фирмверот. # РЕСТОРНО: Поправено поставување на програмата NanoJ.
# NanoLib модули СampЛер: Правилно читање на сampled булови вредности.
+ Јава 11 поддршка за сите платформи. + Поддршка за Python 3.11/3.12 за сите платформи. + Нов интерфејс за повратен повик за евиденција (види прamples). + Товали за повратен повик за NanoLib Logger. > Ажурирајте го логерот на верзијата 1.12.0. > NanoLib модули Сampler: Поддршка сега за фирмверот на контролерот Nanotec v24xx. > NanoLib модули Сampler: Промена во структурата што се користи за сampler конфигурација. > NanoLib модули Сampler: Континуираниот режим е синоним за бескрајно; состојбата на активирањето се проверува еднаш; бројот на сamples мора да биде 0. > NanoLib Modules Sampler: Нормален приоритет за нишката што собира податоци во режим на фирмвер. > NanoLib модули Сampler: Презапишан алгоритам за откривање на транзиција помеѓу состојба на подготвеност и трчање. # NanoLib Core: Нема повеќе прекршување на пристапот (0xC0000005) при затворање 2 или повеќе уреди со користење на истиот хардвер на магистралата. # NanoLib Core: Нема повеќе дефекти во сегментацијата при прикачување на адаптер PEAK под Linux. # NanoLib модули СampЛер: Точни сampЧитање на led-вредности во режим на фирмвер. # NanoLib модули Сampler: Правилна конфигурација на 502X:04. # NanoLib модули Сampler: Правилно мешање на бафери со канали. # NanoLib-Canopen: Зголемени тајми од CAN за робусност и правилно скенирање при пониски баудрати. # NanoLib-Modbus: алгоритам за откривање VCP за специјални уреди (USB-DA-IO).
+ Поддршка за EtherCAT.
+ Забелешка за поставките на проектот VS во Конфигурирајте го вашиот проект.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileИме (). + const std::string & xmlFileПатека во addObjectDictionary (). + добиј Сamplerинтерфејс ().
Производ 1.3.0 1.2.1 1.2.0 1.1.3
1.1.2 1.1.1 1.1.0
1.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)
Верзија: doc 1.4.2 / NanoLib 1.3.0
60
10 Отпечаток, контакт, верзии
Документ
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05
+ Додадено > Променето # Поправено + рестартирање на уредот (). + Код за грешка ResourceUnavailable за getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~Serial Number и ~Uid. > firmwareUploadFromFile сега прикачете FirmwareFromFile (). > firmwareUpload () now uploadFirmware (). > bootloaderUploadFromFile () сега испратитеBootloaderFromFile (). > bootloaderUpload () сега uploadBootloader (). > bootloaderFirmwareUploadFromFile () за да испратитеBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () сега uploadBootloaderFirmware (). > наноПоднесиОдFile () сега поставете NanoJFromFile (). > nanojПрикачи () сега испрати NanoJ (). > objectDictionaryLibrary () сега getObjectDictionaryLibrary (). > String_String_Map сега StringStringMap. > NanoLib-Common: побрзо извршување на списокотAvailableBusHardware и openBusHardwareWithProtocol со Ixxat адаптер. > NanoLib-CANopen: се користат стандардни поставки (1000k баудрејт, Ixxat магистрала број 0) ако хардверските опции на магистралата се празни. > NanoLib-RESTful: административната дозвола е застарена за комуникација со подигнувачите на етернет под Windows доколку е достапен двигателот npcap / winpcap. # NanoLib-CANopen: хардверот на автобусот сега се отвора без падови со празни опции. # NanoLib-Common: openBusHardwareWithProtocol () без истекување на меморијата сега.
+ Поддршка за Linux ARM64. + USB масовно складирање / REST / Поддршка за Profinet DCP. + проверетеConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (заменет NanotecExceptions). + NanoLib Modbus: VCP / USB центар унифициран на USB. > Скенирањето на Modbus TCP ги враќа резултатите. < Modbus TCP латентноста на комуникацијата останува константна.
+ Повеќе ObjectEntryDataType (комплексен и проfile-специфично). + Враќање на IOError ако connectDevice () и scanDevices () не најдат ништо. + Само 100 ms номинален истек за CanOpen / Modbus.
+ Поддршка за Modbus (плус USB Hub преку VCP). + Поглавје Создавање сопствен проект за Линукс. + extraHardwareSpecifier до BusHardwareId (). + extraId_ и extraStringId_ до DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # Поправени грешки.
Издание.
Производ
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
Верзија: doc 1.4.2 / NanoLib 1.3.0
61
Документи / ресурси
![]() |
Nanotic NanoLib C++ програмирање [pdf] Упатство за користење NanoLib C програмирање, C програмирање, програмирање |