Нанотиц-ЛОГО

Нанотиц НаноЛиб Ц++ програмирање

Нанотиц-НаноЛиб-Ц++-Программинг-ПРОДУЦТ

Информације о производу

Спецификације

  • Назив производа: НаноЛиб
  • Програмирање Језик: Ц++
  • Верзија производа: 1.3.0
  • Верзија корисничког приручника: 1.4.2

НаноЛиб библиотека је дизајнирана за програмирање управљачког софтвера за Нанотец контролере. Обезбеђује кориснички интерфејс, основне функције и комуникационе библиотеке како би се олакшао развој контролних апликација.

Упутства за употребу производа

  • Пре него што почнете:
    • Уверите се да ваш систем испуњава хардверске захтеве наведене у приручнику. Предвиђена публика за овај производ укључује програмере који желе да креирају управљачки софтвер за Нанотец контролере.
  • Почетак:
    • Да бисте почели да користите НаноЛиб, следите ове кораке:
    • Започните увозом НаноЛиб-а у свој пројекат.
    • Конфигуришите поставке пројекта по потреби.
    • Направите свој пројекат да бисте укључили НаноЛиб функционалности.
  • Креирање пројеката:
    • Можете креирати пројекте и за Виндовс и за Линук окружења. Пратите посебна упутства наведена у приручнику за сваку платформу.
  • Референца за класе/функције:
    • Погледајте упутство за употребу за детаљан водич о класама и функцијама доступним у НаноЛиб-у за програмирање управљачког софтвера.

ФАКс

  • П: Која је сврха НаноЛиб-а?
    • A: НаноЛиб је библиотека за програмирање управљачког софтвера за Нанотец контролере, пружајући основне функционалности и комуникацијске могућности.
  • П: Како могу да почнем да користим НаноЛиб?
    • A: Почните тако што ћете увести НаноЛиб у свој пројекат, конфигурисати поставке пројекта и изградити свој пројекат да бисте користили НаноЛиб функције.

“`

Упутство за употребу НаноЛиб
Ц++

Важи за верзију производа 1.3.0

Верзија упутства за употребу: 1.4.2

Циљ документа и конвенције

Овај документ описује подешавање и коришћење НаноЛиб библиотеке и садржи референцу на све класе и функције за програмирање сопственог управљачког софтвера за Нанотец контролере. Користимо следеће типове:
Подвучени текст означава унакрсну референцу или хипервезу.
Exampле 1: За тачна упутства о НаноЛибАццессору погледајте Подешавање. Прampле 2: Инсталирајте Иккат драјвер и повежите ЦАН-на-УСБ адаптер. Курзив текст значи: Ово је именовани објекат, путања менија / ставка, картица / file назив или (ако је потребно) израз на страном језику.
Exampле 1: Изаберите File > Ново > Празан документ. Отворите картицу Алат и изаберите Коментар. Прampле 2: Овај документ дели кориснике (= Нутзер; усуарио; утенте; утилисатеур; утенте итд.) од:
– Корисник треће стране (= Дриттнутзер; терцеро усуарио; терцеиро утенте; нивои утилисатеур; терзо утенте итд.). – Крајњи корисник (= Енднутзер; усуарио финал; утенте финал; утилисатеур финал; утенте финале итд.).
Курир означава блокове кода или програмске команде. Прampле 1: Преко Басх-а, позовите судо маке инсталл да бисте копирали дељене објекте; затим позовите лдцонфиг. ПрampЛе 2: Користите следећу функцију НаноЛибАццессор да промените ниво евидентирања у НаноЛиб:
// ***** Ц++ варијанта *****
воид сетЛоггингЛевел(ЛогЛевел левел);
Подебљани текст наглашава поједине речи од критичне важности. Алтернативно, узвичници у заградама наглашавају критичну(!) важност.
Exampле 1: Заштитите себе, друге и своју опрему. Пратите наше опште безбедносне напомене које су генерално применљиве на све Нанотец производе.
ExampЛе 2: Ради сопствене заштите, такође пратите посебне безбедносне напомене које се односе на овај конкретан производ. Глагол цо-цлицк значи клик преко секундарног тастера миша за отварање контекстног менија итд.
Exampле 1: Ко-кликните на file, изаберите Преименуј и преименујте file. Екampле 2: Да бисте проверили својства, кликните заједно на file и изаберите Својства.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

4

Пре него што почнете

Пре него што почнете да користите НаноЛиб, припремите свој рачунар и информишите се о намераваној употреби и ограничењима библиотеке.
2.1 Системски и хардверски захтеви

Нанотиц-НаноЛиб-Ц++-Программинг-ФИГ- (1)
ОБАВЕШТЕЊЕ Квар због 32-битног рада или прекинут систем! Користите и доследно одржавајте 64-битни систем. Обратите пажњу на ОЕМ прекиде и ~ упутства.

НаноЛиб 1.3.0 подржава све Нанотец производе са ЦАНопен, Модбус РТУ (такође УСБ на виртуелном цом порту), Модбус ТЦП, ЕтхерЦат и Профинет. За старије НаноЛибс: Погледајте евиденцију промена у импресуму. Само на ваш ризик: коришћење застарелог система. Напомена: Следите важећа упутства ОЕМ-а да бисте подесили кашњење што је могуће ниже ако се суочите са проблемима када користите УСБ адаптер заснован на ФТДИ.

Захтеви (64-битни систем обавезан)
Виндовс 10 или 11 са Висуал Студио 2019 верзија 16.8 или новија и Виндовс СДК 10.0.20348.0 (верзија 2104) или новија
Ц++ редистрибутабле 2017 или новији ЦАНопен: Иккат ВЦИ или ПЦАН основни драјвер (опционо) ЕтхерЦат модул / Профинет ДЦП: Нпцап или ВинПцап РЕСТфул модул: Нпцап, ВинПцап или администраторска дозвола за
комуницирати са Етхернет покретачима
Линук са Убунту 20.04 ЛТС до 24 (сви к64 и арм64)
Заглавља кернела и либпопт-дев пакет Профинет ДЦП: ЦАП_НЕТ_АДМИН и ЦАП_НЕТ_РАВ способност
везе ЦАНопен: Иккат ЕЦИ драјвер или Пеак ПЦАН-УСБ адаптер ЕтхерЦат: ЦАП_НЕТ_АДМИН, ЦАП_НЕТ_РАВ и
ЦАП_СИС_НИЦЕ способности РЕСТфул: ЦАП_НЕТ_АДМИН способност да комуницира са Етх-
ернет покретачи (препоручују се и: ЦАП_НЕТ_РАВ)

Језик, адаптери сабирнице, каблови
Ц++ ГЦЦ 7 или новији (Линук)
ЕтхерЦАТ: Етернет кабл ВЦП / УСБ хуб: сада једнообразно УСБ УСБ масовно складиштење: УСБ кабл РЕСТ: Етернет кабл ЦАНопен: Иккат УСБ-то-ЦАН В2; На-
нотец ЗК-УСБ-ЦАН-1, Пеак ПЦАНУСБ адаптер Нема Иккат подршке за Убунту на арм64
Модбус РТУ: Нанотец ЗК-УСБ-РС485-1 или еквивалентан адаптер; УСБ кабл на виртуелном цом порту (ВЦП)
Модбус ТЦП: Етернет кабл према подацима о производу

2.2 Наменска употреба и публика
НаноЛиб је програмска библиотека и софтверска компонента за рад и комуникацију са Нанотец контролерима у широком спектру индустријских апликација и само за одговарајуће квалификоване програмере.
Због хардвера (ПЦ) и оперативног система који није способан за реално време, НаноЛиб није за употребу у апликацијама којима је потребно синхроно кретање по више оса или су генерално осетљиве на време.
Ни у ком случају не можете интегрисати НаноЛиб као сигурносну компоненту у производ или систем. Приликом испоруке крајњим корисницима, морате додати одговарајућа упозорења и упутства за безбедну употребу и безбедан рад сваком производу са компонентом коју је произвео Нанотец. Морате проследити сва обавештења о упозорењима које је издао Нанотец право крајњем кориснику.
2.3 Обим испоруке и гаранција
НаноЛиб долази као *.зип фолдер из нашег преузимања webсајт за ЕМЕА/АПАЦ или АМЕРИКА. Прописно сачувајте и распакујте преузимање пре подешавања. Пакет НаноЛиб садржи:

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

5

2 Пре него што почнете

Заглавља интерфејса као изворни код (АПИ)

Основне функције као библиотеке у бинарном формату: нано-

Библиотеке које олакшавају комуникацију: нанолибм_либ.длл

[иоурфиелдбус].длл итд.

Exampле пројекат: прampле.слн (Висуал Студио

пројекат) и прampле.цпп (главни file)

За обим гаранције, молимо да поштујете а) наше одредбе и услове за ЕМЕА/АПАЦ или АМЕРИКУ и б) све услове лиценце. Напомена: Нанотец није одговоран за неисправан или неодговарајући квалитет, руковање, инсталацију, рад, употребу и одржавање опреме треће стране! За дужну безбедност, увек следите важећа упутства ОЕМ-а.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

6

Архитектура НаноЛиб

Модуларна софтверска структура НаноЛиб-а омогућава вам да организујете слободно прилагодљиве функције контролера мотора / сабирнице поља око строго унапред изграђеног језгра. НаноЛиб садржи следеће модуле:

Кориснички интерфејс (АПИ)

НаноЛиб језгро

Интерфејс и помоћне класе које библиотеке које

Комуникационе библиотеке Библиотеке специфичне за Фиелдбус које

приступити вашем контролеру имплементирати АПИ функционалност до интерфејса између НаноЛиб-а

ОД (речник објеката)

интеракцију са аутобуским библиотекама.

хардвер језгра и магистрале.

базиран на функцији језгра НаноЛиб-а

националности.

3.1 Кориснички интерфејс

Кориснички интерфејс се састоји од интерфејса заглавља fileс које можете користити за приступ параметрима контролера. Класе корисничког интерфејса описане у референци Класе/функције омогућавају вам да:
Повежите се на хардвер (адаптер сабирнице) и на уређај контролера. Приступите ОД уређаја, да бисте прочитали/уписали параметре контролера.

3.2 НаноЛиб језгро

НаноЛиб језгро долази са библиотеком за увоз нанолиб.либ. Он имплементира функционалност корисничког интерфејса и одговоран је за:
Учитавање и управљање комуникационим библиотекама. Обезбеђивање функционалности корисничког интерфејса у НаноЛибАццессор-у. Ова улазна тачка комуникације де-
скраћује скуп операција које можете да извршите на језгру НаноЛиб и комуникационим библиотекама.

3.3 Комуникационе библиотеке

Поред нанотец.сервицес.нанолиб.длл (корисно за ваш опциони Плуг & Дриве Студио), НаноЛиб нуди следеће комуникационе библиотеке:

нанолибм_цанопен.длл нанолибм_модбус.длл

нанолибм_етхерцат.длл нанолибм_рестфул-апи.длл

нанолибм_усбммсц.длл нанолибм_профинет.длл

Све библиотеке постављају слој хардверске апстракције између језгра и контролера. Језгро их учитава при покретању из одређене фасцикле пројекта и користи их за успостављање комуникације са контролером помоћу одговарајућег протокола.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

7

Почетак рада

Прочитајте како да правилно подесите НаноЛиб за свој оперативни систем и како да повежете хардвер по потреби.
4.1 Припремите свој систем
Пре инсталирања драјвера адаптера, прво припремите рачунар заједно са оперативним системом. Да бисте припремили рачунар уз Виндовс ОС, инсталирајте МС Висуал Студио са Ц++ екстензијама. Да бисте инсталирали маке и гцц од Линук Басх-а, позовите судо апт инсталл буилд-ессентиалс. Затим омогућите могућности ЦАП_НЕТ_АДМИН, ЦАП_НЕТ_РАВ и ЦАП_СИС_НИЦЕ за апликацију која користи НаноЛиб: 1. Позовите судо сетцап 'цап_нет_админ,цап_нет_рав,цап_сис_нице+еип'
име>. 2. Тек након тога, инсталирајте драјвере вашег адаптера.
4.2 Инсталирајте Иккат драјвер адаптера за Виндовс
Тек након одговарајуће инсталације драјвера, можете користити Иккат-ов УСБ-то-ЦАН В2 адаптер. Прочитајте приручник производа за УСБ дискове да бисте сазнали да ли/како да активирате виртуелни компорт (ВЦП). 1. Преузмите и инсталирајте Иккатов ВЦИ 4 драјвер за Виндовс са ввв.иккат.цом. 2. Повежите Иккат-ов УСБ-то-ЦАН В2 компактни адаптер на рачунар преко УСБ-а. 3. Управљачем уређаја: Проверите да ли су и драјвер и адаптер правилно инсталирани/препознати.
4.3 Инсталирајте драјвер Пеак адаптера за Виндовс
Тек након одговарајуће инсталације драјвера, можете користити Пеак-ов ПЦАН-УСБ адаптер. Прочитајте приручник производа за УСБ дискове да бисте сазнали да ли/како да активирате виртуелни компорт (ВЦП). 1. Преузмите и инсталирајте подешавање Виндовс драјвера уређаја (= инсталациони пакет са драјверима уређаја, алатима и
АПИ-ји) из http://www.peak-system.com. 2. Повежите Пеаков ПЦАН-УСБ адаптер са рачунаром преко УСБ-а. 3. Управљачем уређаја: Проверите да ли су и драјвер и адаптер правилно инсталирани/препознати.
4.4 Инсталирајте драјвер Иккат адаптера за Линук
Тек након одговарајуће инсталације драјвера, можете користити Иккат-ов УСБ-то-ЦАН В2 адаптер. Напомена: Остали подржани адаптери требају ваше дозволе од судо цхмод +777/дев/ттиАЦМ* (* број уређаја). Прочитајте приручник производа за УСБ дискове да бисте сазнали да ли/како да активирате виртуелни компорт (ВЦП). 1. Инсталирајте софтвер потребан за ЕЦИ драјвер и демо апликацију:
судо апт-гет упдате апт-гет инсталл либусб-1.0-0-дев либусб-0.1-4 либц6 либстдц++6 либгцц1 буилдессентиал
2. Преузмите управљачки програм ЕЦИ-фор-Линук са ввв.иккат.цом. Распакујте га преко:
распакујте еци_дривер_линук_амд64.зип
3. Инсталирајте драјвер преко:
цд /ЕциЛинук_амд/срц/КернелМодуле судо маке инсталл-усб
4. Проверите успешну инсталацију драјвера тако што ћете компајлирати и покренути демо апликацију:
цд /ЕциЛинук_амд/срц/ЕциДемос/ судо маке цд /ЕциЛинук_амд/бин/релеасе/ ./ЛинукЕциДемо

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

8

4 Почетак рада
4.5 Инсталирајте драјвер Пеак адаптера за Линук
Тек након одговарајуће инсталације драјвера, можете користити Пеак-ов ПЦАН-УСБ адаптер. Напомена: Остали подржани адаптери требају ваше дозволе од судо цхмод +777/дев/ттиАЦМ* (* број уређаја). Прочитајте приручник производа за УСБ дискове да бисте сазнали да ли/како да активирате виртуелни компорт (ВЦП). 1. Проверите да ли ваш Линук има заглавља кернела: лс /уср/срц/линук-хеадерс-`унаме -р`. Ако не, инсталирајте
њима: судо апт-гет инсталл линук-хеадерс-`унаме -р` 2. Тек сада, инсталирајте либпопт-дев пакет: судо апт-гет инсталл либпопт-дев 3. Преузмите потребан пакет драјвера (пеак-линук-дривер-ккк.тар.гз) са ввв.пеак-систем.цом. 4. Да бисте га распаковали, користите: тар кзф пеак-линук-дривер-ккк.тар.гз 5. У распакованој фасцикли: компајлирајте и инсталирајте драјвере, ПЦАН основну библиотеку, итд.: направите све
судо маке инсталл 6. Да бисте проверили функцију, прикључите ПЦАН-УСБ адаптер.
а) Проверите модул кернела:
лсмод | греп пцан б) … и заједничка библиотека:
лс -л /уср/либ/либпцан*
Напомена: Ако дође до проблема са УСБ3, користите УСБ2 порт.
4.6 Повежите свој хардвер
Да бисте могли да покренете НаноЛиб пројекат, повежите компатибилни Нанотец контролер са рачунаром помоћу вашег адаптера. 1. Помоћу одговарајућег кабла повежите адаптер са контролером. 2. Повежите адаптер са рачунаром у складу са техничким подацима адаптера. 3. Укључите контролер користећи одговарајуће напајање. 4. Ако је потребно, промените подешавања комуникације Нанотец контролера према упутствима у упутству за производ.
4.7 Учитајте НаноЛиб
За први почетак са брзим и лаким основама, можете (али не смете) да користите наш бившиampле пројецт. 1. У зависности од вашег региона: Преузмите НаноЛиб са нашег webсајт за ЕМЕА/АПАЦ или АМЕРИЦУ. 2. Распакујте пакет fileс / фасцикли и изаберите једну опцију: За брзе и једноставне основе: Погледајте Покретање прampле пројецт. За напредно прилагођавање у Виндовс-у: Погледајте Креирање сопственог Виндовс пројекта. За напредно прилагођавање у Линук-у: Погледајте Креирање сопственог Линук пројекта.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

9

Почевши од екampле пројецт

Са прописно учитаним НаноЛибом, бившиampле пројекат вам показује кроз употребу НаноЛиб-а са Нанотец контролером. Напомена: За сваки корак, коментари у приложеном прampле код објашњава функције које се користе. Бившиampле пројекат се састоји од: `*_фунцтионс_екampле.*' fileс, који садрже имплементације за функције интерфејса НаноЛиб `*_цаллбацк_екampле.*' fileс, који садрже имплементације за различите повратне позиве (скенирање, подаци и
евидентирање) `мени_*.*' file, који садржи логику менија и код Екampле.* file, који је главни програм, креирајући мени и иницијализујући све коришћене параметре Сampлер_екampле.* file, који садржи прampле имплементација за сampлер употреба. Можете пронаћи више екampлес, са неким командама покрета за различите режиме рада, у бази знања на нанотец.цом. Сви су употребљиви у Виндовс-у или Линук-у.
У оперативном систему Виндовс са Висуал Студио-ом 1. Отворите Екampле.слн file. 2. Отворите екampле.цпп. 3. Саставите и покрените екampле цоде.
У Линук-у преко Басх-а 1. Распакујте изворни код file, идите до фасцикле са распаковани садржајем. Главни file за бившегampле ис
exampле.цпп. 2. У басх-у позовите:
а. „судо маке инсталл“ да копирате дељене објекте и позовете лдцонфиг. б. „направи све“ за прављење извршне датотеке за тестирање. 3. Фасцикла бин садржи извршни екample file. Би басх: ​​Идите у излазну фасциклу и откуцајте ./екampле. Ако не дође до грешке, ваши дељени објекти су сада прописно инсталирани и ваша библиотека је спремна за употребу. Ако грешка гласи ./екampле: грешка при учитавању дељених библиотека: либнанолиб.со: не може да отвори дељени објекат file: Нема такве file или директоријум, инсталација дељених објеката није успела. У овом случају следите следеће кораке. 4. Креирајте нову фасциклу у оквиру /уср/лоцал/либ (потребна су администраторска права). У басх, откуцајте:
судо мкдир /уср/лоцал/либ/нанотец
5. Копирајте све дељене објекте из зип-а file'с либ фолдер:
инсталирај ./либ/*.со /уср/лоцал/либ/нанотец/
6. Проверите садржај циљне фасцикле помоћу:
лс -ал /уср/лоцал/либ/нанотец/
Требало би да наведе дељени објекат fileс из фасцикле либ. 7. Покрените лдцонфиг у овој фасцикли:
судо лдцонфиг /уср/лоцал/либ/нанотец/
Бившиampле је имплементиран као ЦЛИ апликација и пружа интерфејс менија. Уноси менија су засновани на контексту и биће омогућени или онемогућени, у зависности од стања контекста. Они вам нуде могућност избора и извршавања различитих библиотечких функција пратећи типичан ток рада за руковање контролером: 1. Проверите да ли рачунар има повезани хардвер (адаптере) и наведите их. 2. Успоставите везу са адаптером. 3. Скенирајте магистралу за повезане уређаје контролера. 4. Повежите се са уређајем.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

10

5 Покретање екampле пројецт
5. Тестирајте једну или више функција библиотеке: Читајте/упишите из/у речник објеката контролера, ажурирајте фирмвер, отпремите и покрените НаноЈ програм, покрените мотор и подесите га, конфигуришите и користите евиденцију/еampлер.
6. Затворите везу, прво са уређајем, а затим са адаптером.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

11

Креирање сопственог Виндовс пројекта

Креирајте, компајлирајте и покрените сопствени Виндовс пројекат да бисте користили НаноЛиб.
6.1 Увоз НаноЛиб
Увезите заглавље НаноЛиб fileи библиотеке преко МС Висуал Студио-а.
1. Отворите Висуал Студио. 2. Преко Цреате нев пројецт > Цонсоле Апп Ц++ > Нект: Изаберите тип пројекта. 3. Именујте свој пројекат (овде: НанолибТест) да бисте креирали фасциклу пројекта у Солутион Екплорер-у. 4. Изаберите Заврши. 5. Отворите прозоре file екплорер и идите до ново креиране фасцикле пројекта. 6. Направите две нове фасцикле, инц и либ. 7. Отворите фасциклу пакета НаноЛиб. 8. Одатле: Копирајте заглавље fileс из фасцикле укључи у фасциклу вашег пројекта инц и све .либ и .длл
fileс у вашу нову фасциклу пројекта либ. 9. Проверите да ли у фасцикли пројекта постоји одговарајућа структура, нпрampле:

Нанотиц-НаноЛиб-Ц++-Программинг-ФИГ- (2)ецт фолдер за одговарајућу структуру:
. НанолибТест инц аццессор_фацтори.хпп бус_хардваре_ид.хпп … од_индек.хпп ресулт_од_ентри.хпп либ нанолибм_цанопен.длл нанолиб.длл … нанолиб.либ НанолибТест.цпп НанолибТест.вцкТестпрој. Навцлиб НанолибТест.вцкпрој.усер НанолибТест.слн
6.2 Конфигуришите свој пројекат
Користите Солутион Екплорер у МС Висуал Студио да бисте подесили НаноЛиб пројекте. Напомена: За исправан рад НаноЛиб-а, изаберите конфигурацију издања (не отклањања грешака!) у подешавањима пројекта Висуал Ц++; затим изградите и повежите пројекат са ВЦ рунтимес-ом Ц++ редистрибутабле [2022].
1. У истраживачу решења: Идите у фасциклу вашег пројекта (овде: НанолибТест). 2. Кликните заједно на фасциклу да бисте отворили контекстни мени. 3. Изаберите Својства. 4. Активирајте Све конфигурације и Све платформе. 5. Изаберите Ц/Ц++ и идите на Додатни директоријуми за укључивање. 6. Убаците: $(ПројецтДир)Нанолиб/инцлудес;%(АддитионалИнцлудеДирецториес) 7. Изаберите Линкер и идите на Додатни директоријуми библиотеке. 8. Убаците: $(ПројецтДир)Нанолиб;%(АддитионалЛибрариДирецториес) 9. Проширите Линкер и изаберите Инпут. 10.Идите на Додатне зависности и убаците: нанолиб.либ;%(АддитионалДепенденциес) 11.Потврдите преко ОК.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

12

6 Креирање сопственог Виндовс пројекта
12. Идите на Конфигурација > Ц++ > Језик > Стандард језика > ИСО Ц++17 Стандард и поставите језички стандард на Ц++17 (/стд:ц++17).
6.3 Направите свој пројекат
Направите свој НаноЛиб пројекат у МС Висуал Студио. 1. Отворите главни *.цпп file (овде: нанолиб_екampле.цпп) и уредите код, ако је потребно. 2. Изаберите Буилд > Цонфигуратион Манагер. 3. Промените платформе активних решења на к64. 4. Потврдите преко Цлосе. 5. Изаберите Буилд > Буилд солутион. 6. Нема грешке? Проверите да ли ваш резултат компајлирања исправно извештава:
1>—— Чишћење је почело: Пројекат: НанолибТест, Конфигурација: Дебуг к64 —–========== Чишћење: 1 успело, 0 неуспешно, 0 прескочено ===========

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

13

7 Креирање сопственог Линук пројекта
7 Креирање сопственог Линук пројекта
Креирајте, компајлирајте и покрените сопствени Линук пројекат да бисте користили НаноЛиб. 1. У распакованом НаноЛиб инсталационом комплету: Отворите /нанотец_нанолиб. 2. Пронађите све дељене објекте у тар.гз file. 3. Изаберите једну опцију: Инсталирајте сваку либ или са Макеfile или ручно.
7.1 Инсталирајте дељене објекте помоћу Макеfile
Користите Макеfile са Линук Басх-ом да аутоматски инсталира све подразумеване *.со fileс. 1. Преко Басх-а: Идите у фасциклу која садржи маркуfile. 2. Копирајте дељене објекте преко:
судо маке инсталл 3. Потврдите путем:
лдцонфиг
7.2 Ручно инсталирајте заједничке објекте
Користите Басх да инсталирате све *.со fileс НаноЛиб ручно. 1. Преко Басх-а: Креирајте нову фасциклу у /уср/лоцал/либ. 2. Потребна су администраторска права! Тип:
судо мкдир /уср/лоцал/либ/нанотец 3. Пређите на распаковани директоријум инсталационог пакета. 4. Копирајте све дељене објекте из фасцикле либ преко:
инсталл ./нанотец_нанолиб/либ/*.со /уср/лоцал/либ/нанотец/ 5. Проверите садржај циљне фасцикле преко:
лс -ал /уср/лоцал/либ/нанотец/ 6. Проверите да ли су сви дељени објекти из директоријума либ наведени. 7. Покрените лдцонфиг у овој фасцикли преко:
судо лдцонфиг /уср/лоцал/либ/нанотец/
7.3 Креирајте свој пројекат
Са инсталираним заједничким објектима: Креирајте нови пројекат за ваш Линук НаноЛиб. 1. Преко Басх-а: Креирајте нову фасциклу пројекта (овде: НаноЛибТест) преко:
мкдир НаноЛибТест цд НаноЛибТест
2. Копирајте заглавље fileс у укључену фасциклу (овде: инц) преко: мкдир инц цп / FILE ИС>/нанотец_нанолиб/инц/*.хпп инц
3. Креирајте главну file (НаноЛибТест.цпп) преко: #инцлуде “аццессор_фацтори.хпп” #инцлуде

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

14

7 Креирање сопственог Линук пројекта
инт маин(){ нлц::НаноЛибАццессор *аццессор = гетНаноЛибАццессор();
нлц::РесултБусХвИдс резултат = аццессор->листАваилаблеБусХардваре();
иф(ресулт.хасЕррор()) { стд::цоут << ресулт.гетЕррор() << стд::ендл; }
елсе{ стд::цоут << "Успех" << стд::ендл; }
делете аццессор; ретурн 0; }
4. Проверите да ли у фасцикли пројекта постоји одговарајућа структура:

Нанотиц-НаноЛиб-Ц++-Программинг-ФИГ- (3)
. НаноЛибТест
инц аццессор_фацтори.хпп бус_хардваре_ид.хпп … од_индек.хпп ресулт.хпп НаноЛибТест.цпп
7.4 Саставите и тестирајте свој пројекат
Припремите свој Линук НаноЛиб за употребу преко Басх-а.
1. Преко Басх-а: Саставите главни file преко:
г++ -Валл -Вектра -педантиц -И./инц -ц НаноЛибТест.цпп -о НаноЛибТест
2. Повежите извршну датотеку заједно преко:
г++ -Валл -Вектра -педантиц -И./инц -о тест НаноЛибТест.о Л/уср/лоцал/либ/нанотец -лнанолиб -лдл
3. Покрените програм за тестирање преко:
./тест
4. Проверите да ли ваш Басх правилно извештава:
успех

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

15

8 Референца за класе/функције

8 Референца за класе/функције

Овде пронађите листу класа корисничког интерфејса НаноЛиб-а и њихових функција чланова. Типичан опис функције укључује кратак увод, дефиницију функције и листу параметара/повратака:

ExampлеФунцтион () Укратко вам говори шта функција ради.
виртуал воид нлц::НаноЛибАццессор::ЕкampлеФунцтион (Парам_а цонст & парам_а, Парам_б цонст & парам_Б)

Параметри парам_а парам_б
Враћа РесултВоид

Додатни коментар ако је потребно. Додатни коментар ако је потребно.

8.1 НаноЛибАццессор

Класа интерфејса која се користи као улазна тачка у НаноЛиб. Типичан ток посла изгледа овако:
1. Започните скенирањем хардвера помоћу НаноЛибАццессор.листАваилаблеБусХардваре (). 2. Подесите подешавања комуникације помоћу БусХардвареОптионс (). 3. Отворите хардверску везу са НаноЛибАццессор.опенБусХардвареВитхПротоцол (). 4. Скенирајте магистралу за повезане уређаје помоћу НаноЛибАццессор.сцанДевицес (). 5. Додајте уређај помоћу НаноЛибАццессор.аддДевице (). 6. Повежите се са уређајем помоћу НаноЛибАццессор.цоннецтДевице (). 7. Након завршетка операције, искључите уређај помоћу НаноЛибАццессор.дисцоннецтДевице (). 8. Уклоните уређај помоћу НаноЛибАццессор.ремовеДевице (). 9. Затворите хардверску везу са НаноЛибАццессор.цлосеБусХардваре ().
НаноЛибАццессор има следеће јавне функције члана:

листАваилаблеБусХардваре () Користите ову функцију да наведете доступни хардвер сабирнице поља.
виртуал РесултБусХвИдс нлц::НаноЛибАццессор::листАваилаблеБусХардваре ()

Враћа РесултБусХвИдс

Испоручује поље ИД сабирнице.

опенБусХардвареВитхПротоцол () Користите ову функцију за повезивање хардвера магистрале.
виртуал РесултВоид нлц::НаноЛибАццессор::опенБусХардвареВитхПротоцол (БусХардвареИд цонст & бусХвИд, БусХардвареОптионс цонст & бусХвОпт)

Параметри бусХвИд бусХвОпт
Враћа РесултВоид

Одређује сабирницу поља за отварање. Одређује опције отварања сабирнице поља. Потврђује да је покренута функција воид.

исБусХардвареОпен () Користите ову функцију да проверите да ли је ваша хардверска веза са сабирницом поља отворена.
виртуал РесултВоид нлц::НаноЛибАццессор::опенБусХардвареВитхПротоцол (цонст БусХардвареИд & бусХвИд, цонст БусХардвареОптионс & бусХвОпт)

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

16

8 Референца за класе/функције

Параметри БусХардвареИд Враћа тачно
лажно

Одређује сваку сабирницу поља за отварање. Хардвер је отворен. Хардвер је затворен.

гетПротоцолСпецифицАццессор () Користите ову функцију да бисте добили објекат приступа који је специфичан за протокол.
виртуал РесултВоид нлц::НаноЛибАццессор::гетПротоцолСпецифицАццессор (БусХардвареИд цонст & бусХвИд)

Параметри бусХвИд враћа РесултВоид

Одређује сабирницу поља за добијање приступа. Потврђује да је покренута функција воид.

гетПрофинетДЦП () Користите ову функцију да вратите референцу на Профинет ДЦП интерфејс.
виртуелни ПрофинетДЦП & гетПрофинетДЦП ()

Враћа ПрофинетДЦП

гетСampлерИнтерфаце () Користите ову функцију да бисте добили референцу на сampлер интерфејс.
виртуелни СampлерИнтерфаце & гетСampлерИнтерфаце ()

Враћа СampлерИнтерфаце

Односи се на сampкласа интерфејса лер.

сетБусСтате () Користите ову функцију за подешавање стања специфичног за протокол магистрале.
виртуал РесултВоид нлц::НаноЛибАццессор::сетБусСтате (цонст БусХардвареИд & бусХвИд, цонст стд::стринг & стате)

Параметри бусХвИд стање
Враћа РесултВоид

Одређује сабирницу поља за отварање. Додељује стање специфично за магистралу као вредност низа. Потврђује да је покренута функција воид.

сцанДевицес () Користите ову функцију за скенирање уређаја у мрежи.
виртуал РесултДевицеИдс нлц::НаноЛибАццессор::сцанДевицес (цонст БусХардвареИд & бусХвИд, НлцСцанБусЦаллбацк* повратни позив)

Параметри бусХвИд повратни позив
Враћа РесултДевицеИдс ИОЕррор

Одређује сабирницу поља за скенирање. НлцСцанБусЦаллбацк праћење напретка. Испоручује низ ИД-ова уређаја. Обавештава да уређај није пронађен.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

17

8 Референца за класе/функције

аддДевице ()
Користите ову функцију да додате уређај магистрале описан као девицеИд на НаноЛиб-ову интерну листу уређаја и да вратите девицеХандле за њега.
виртуал РесултДевицеХандле нлц::НаноЛибАццессор::аддДевице (ДевицеИд цонст & девицеИд)

Параметри девицеИд враћа РесултДевицеХандле

Одређује уређај за додавање на листу. Испоручује ручку уређаја.

цоннецтДевице () Користите ову функцију за повезивање уређаја помоћу девицеХандле-а.
виртуал РесултВоид нлц::НаноЛибАццессор::цоннецтДевице (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултВоид
ИОЕррор

Одређује на који уређај са магистралом се НаноЛиб повезује. Потврђује да је покренута функција воид. Обавештава да уређај није пронађен.

гетДевицеНаме () Користите ову функцију да бисте добили име уређаја по девицеХандле-у.
виртуал РесултСтринг нлц::НаноЛибАццессор::гетДевицеНаме (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултСтринг

Одређује за који уређај магистрале НаноЛиб добија име. Испоручује имена уређаја као стринг.

гетДевицеПродуцтЦоде () Користите ову функцију да бисте добили код производа уређаја помоћу девицеХандле-а.
виртуал РесултИнт нлц::НаноЛибАццессор::гетДевицеПродуцтЦоде (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултИнт

Одређује за који уређај магистрале НаноЛиб добија код производа. Испоручује кодове производа као цео број.

гетДевицеВендорИд () Користите ову функцију да добијете ИД добављача уређаја по девицеХандле-у.
виртуал РесултИнт нлц::НаноЛибАццессор::гетДевицеВендорИд (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултИнт
РесоурцеУнаваилабле

Одређује за који уређај магистрале НаноЛиб добија ИД добављача. Испоручује ИД добављача као цео број. Обавештава да подаци нису пронађени.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

18

8 Референца за класе/функције

гетДевицеИд () Користите ову функцију да бисте добили ИД одређеног уређаја са интерне листе НаноЛиб-а.
виртуал РесултДевицеИд нлц::НаноЛибАццессор::гетДевицеИд (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултДевицеИд

Одређује за који уређај магистрале НаноЛиб добија ИД уређаја. Испоручује ИД уређаја.

гетДевицеИдс () Користите ову функцију да добијете ИД свих уређаја са интерне листе НаноЛиб-а.
виртуал РесултДевицеИдс нлц::НаноЛибАццессор::гетДевицеИдс ()

Враћа РесултДевицеИдс

Испоручује листу ИД уређаја.

гетДевицеУид () Користите ову функцију да добијете јединствени ИД уређаја (96 бита / 12 бајтова) помоћу девицеХандле-а.
виртуал РесултАрраиБите нлц::НаноЛибАццессор::гетДевицеУид (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултАрраиБите
РесоурцеУнаваилабле

Одређује за који уређај магистрале НаноЛиб добија јединствени ИД. Испоручује јединствене ИД-ове као низ бајтова. Обавештава да подаци нису пронађени.

гетДевицеСериалНумбер () Користите ову функцију да добијете серијски број уређаја према девицеХандле-у.
виртуал РесултСтринг НанолибАццессор::гетДевицеСериалНумбер (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултСтринг
РесоурцеУнаваилабле

Одређује за који уређај магистрале НаноЛиб добија серијски број. Испоручује серијске бројеве као низ. Обавештава да подаци нису пронађени.

гетДевицеХардвареГроуп () Користите ову функцију да добијете хардверску групу уређаја магистрале према девицеХандле-у.
виртуал РесултДевицеИд нлц::НаноЛибАццессор::гетДевицеХардвареГроуп (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултИнт

Одређује за који уређај магистрале НаноЛиб добија хардверску групу.
Испоручује хардверске групе као цео број.

гетДевицеХардвареВерсион () Користите ову функцију да бисте добили верзију хардвера сабирнице према девицеХандле-у.
виртуал РесултДевицеИд нлц::НаноЛибАццессор::гетДевицеХардвареВерсион (ДевицеХандле цонст девицеХандле)

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

19

8 Референца за класе/функције

Параметри девицеХандле

Повратак

РесултСтринг РесоурцеУнаваилабле

Одређује за који уређај магистрале НаноЛиб добија верзију хардвера. Испоручује имена уређаја као стринг. Обавештава да подаци нису пронађени.

гетДевицеФирмвареБуилдИд () Користите ову функцију да добијете ИД изградње фирмвера уређаја магистрале помоћу девицеХандле-а.
виртуал РесултДевицеИд нлц::НаноЛибАццессор::гетДевицеФирмвареБуилдИд (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултСтринг

Одређује за који уређај магистрале НаноЛиб добија ИД верзије фирмвера.
Испоручује имена уређаја као стринг.

гетДевицеБоотлоадерВерсион () Користите ову функцију да бисте добили верзију покретачког програма сабирнице према девицеХандле-у.
виртуал РесултИнт нлц::НаноЛибАццессор::гетДевицеБоотлоадерВерсион (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле

Повратак

РесултИнт РесоурцеУнаваилабле

Одређује за који уређај магистрале НаноЛиб добија верзију покретача. Испоручује верзије покретачког програма као цео број. Обавештава да подаци нису пронађени.

гетДевицеБоотлоадерБуилдИд () Користите ову функцију да добијете ИД изградње покретачког уређаја сабирнице помоћу девицеХандле-а.
виртуал РесултДевицеИд нлц::НаноЛибАццессор:: (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултСтринг

Одређује за који уређај магистрале НаноЛиб добија ИД изградње покретачког програма.
Испоручује имена уређаја као стринг.

ребоотДевице () Користите ову функцију да поново покренете уређај помоћу девицеХандле-а.
виртуал РесултВоид нлц::НаноЛибАццессор::ребоотДевице (цонст ДевицеХандле девицеХандле)

Параметри девицеХандле враћа РесултВоид

Одређује сабирницу поља за поновно покретање. Потврђује да је покренута функција воид.

гетДевицеСтате () Користите ову функцију за добијање стања специфичног за протокол уређаја.
виртуал РесултСтринг нлц::НаноЛибАццессор::гетДевицеСтате (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле

Одређује за који уређај магистрале НаноЛиб добија стање.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

20

8 Референца за класе/функције

Враћа РесултСтринг

Испоручује имена уређаја као стринг.

сетДевицеСтате () Користите ову функцију за подешавање стања специфичног за протокол уређаја.
виртуал РесултВоид нлц::НаноЛибАццессор::сетДевицеСтате (цонст ДевицеХандле девицеХандле, цонст стд::стринг & стате)

Параметри девицеХандле стате
Враћа РесултВоид

Одређује за који уређај магистрале НаноЛиб поставља стање. Додељује стање специфично за магистралу као вредност низа. Потврђује да је покренута функција воид.

гетЦоннецтионСтате ()
Користите ову функцију да добијете последње познато стање везе одређеног уређаја помоћу девицеХандле-а (= Дисцоннецтед, Цоннецтед, ЦоннецтедБоотлоадер)
виртуал РесултЦоннецтионСтате нлц::НаноЛибАццессор::гетЦоннецтионСтате (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултЦоннецтионСтате

Одређује за који уређај магистрале НаноЛиб добија стање везе.
Испоручује стање везе (= Дисцоннецтед, Цоннецтед, ЦоннецтедБоотлоадер).

цхецкЦоннецтионСтате ()
Само ако последње познато стање није Дисцоннецтед: Користите ову функцију да проверите и евентуално ажурирате стање везе одређеног уређаја помоћу девицеХандле-а и тестирањем неколико операција специфичних за режим.
виртуал РесултЦоннецтионСтате нлц::НаноЛибАццессор::цхецкЦоннецтионСтате (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултЦоннецтионСтате

Одређује за који уређај магистрале НаноЛиб проверава стање везе.
Испоручује стање везе (= није искључено).

ассигнОбјецтДицтионари () Користите ову ручну функцију да сами доделите речник објеката (ОД) девицеХандле-у.
виртуал РесултОбјецтДицтионари нлц::НаноЛибАццессор::ассигнОбјецтДицтионари (ДевицеХандле цонст девицеХандле, ОбјецтДицтионари цонст & објецтДицтионари)

Параметри девицеХандле објецтДицтионари
Враћа РесултОбјецтДицтионари

Одређује којој магистрални уређај НаноЛиб додељује ОД. Приказује својства речника објеката.

аутоАссигнОбјецтДицтионари ()
Користите овај аутоматизам да дозволите НаноЛиб-у да додели речник објеката (ОД) девицеХандле-у. Када пронађе и учита одговарајући ОД, НаноЛиб га аутоматски додељује уређају. Напомена: Ако је компатибилни ОД већ учитан у библиотеку објеката, НаноЛиб ће га аутоматски користити без скенирања послатог директоријума.
виртуал РесултОбјецтДицтионари нлц::НаноЛибАццессор::аутоАссигнОбјецтДицтионари (ДевицеХандле цонст девицеХандле, цонст стд::стринг & дицтионариесЛоцатионПатх)

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

21

8 Референца за класе/функције

Параметри девицеХандле

Повратак

дицтионариесЛоцатионПатх РесултОбјецтДицтионари

Одређује за који уређај магистрале НаноЛиб ће аутоматски скенирати одговарајуће ОД-ове. Одређује путању до ОД директоријума. Приказује својства речника објеката.

гетАссигнедОбјецтДицтионари ()
Користите ову функцију да бисте добили речник објеката који је уређај доделио девицеХандле.
виртуал РесултОбјецтДицтионари нлц::НаноЛибАццессор::гетАссигнедОбјецтДицтионари (ДевицеХандле цонст уређај
ручка)

Параметри девицеХандле враћа РесултОбјецтДицтионари

Одређује за који уређај магистрале НаноЛиб добија додељени ОД. Приказује својства речника објеката.

гетОбјецтДицтионариЛибрари () Ова функција враћа референцу ОдЛибрари.
виртуал ОдЛибрари& нлц::НаноЛибАццессор::гетОбјецтДицтионариЛибрари ()

Враћа ОдЛибрари&

Отвара целу ОД библиотеку и њене речнике објеката.

сетЛоггингЛевел () Користите ову функцију да подесите потребне детаље дневника (и дневник file величина). Подразумевани ниво је Инфо.
виртуал воид нлц::НаноЛибАццессор::сетЛоггингЛевел (ниво ЛогЛевел)

Ниво параметара

Могући су следећи детаљи дневника:

0 = Траг 1 = Отклањање грешака 2 = Информације 3 = Упозорење 4 = Грешка 5 = Критично 6 = Искључено

Најнижи ниво (највећи дневник file); евидентира све могуће детаље, плус софтвер старт/стоп. Записује информације о отклањању грешака (= привремени резултати, садржај послат или примљен, итд.) Подразумевани ниво; евидентира информативне поруке. Евидентира проблеме који су се десили, али неће зауставити тренутни алгоритам. Записује само озбиљне проблеме који су зауставили алгоритам. Највиши ниво (најмањи дневник file); искључује одјављивање; нема даљег дневника. Нема евидентирања уопште.

сетЛоггингЦаллбацк ()
Користите ову функцију да поставите показивач повратног позива за евидентирање и модул евиденције (= библиотека) за тај повратни позив (не за сам дневник).
виртуал воид нлц::НаноЛибАццессор::сетЛоггингЦаллбацк (НлцЛоггингЦаллбацк* повратни позив, цонст нлц::ЛогМодуле & логМодуле)

Параметри *цаллбацк логМодуле

Поставља показивач повратног позива. Подешава повратни позив (а не логер!) вашој библиотеци.

0 = НанолибЦоре 1 = НанолибЦАНопен 2 = НанолибМодбус 3 = НанолибЕтхерЦАТ

Активира повратни позив само за језгро НаноЛиб-а. Активира повратни позив само за ЦАНопен. Активира повратни позив само за Модбус. Активира повратни позив само за ЕтхерЦАТ.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

22

8 Референца за класе/функције

4 = НанолибРест 5 = НанолибУСБ

Активира повратни позив само за РЕСТ. Активира повратни позив само за УСБ.

унсетЛоггингЦаллбацк () Користите ову функцију да откажете показивач повратног позива евидентирања.
виртуал воид нлц::НаноЛибАццессор::унсетЛоггингЦаллбацк ()

реадНумбер () Користите ову функцију за читање нумеричке вредности из речника објеката.
виртуал РесултИнт нлц::НаноЛибАццессор::реадНумбер (цонст ДевицеХандле девицеХандле, цонст ОдИндек одИндек)

Параметри девицеХандле одИндек
Враћа РесултИнт

Одређује са ког уређаја магистрале НаноЛиб чита. Одређује (под-) индекс за читање. Пружа неинтерпретирану нумеричку вредност (може бити потписана, непотписана, фиксне 16.16 битне вредности).

реадНумберАрраи () Користите ову функцију за читање нумеричких низова из речника објеката.
виртуал РесултАрраиИнт нлц::НаноЛибАццессор::реадНумберАрраи (цонст ДевицеХандле девицеХандле, цонст уинт16_т индекс)

Параметри девицеХандле индек
Враћа РесултАрраиИнт

Одређује са ког уређаја магистрале НаноЛиб чита. Индекс објеката низа. Испоручује низ целих бројева.

реадБитес () Користите ову функцију за читање произвољних бајтова (података о објекту домена) из речника објеката.
виртуал РесултАрраиБите нлц::НаноЛибАццессор::реадБитес (цонст ДевицеХандле девицеХандле, цонст ОдИндек одИндек)

Параметри девицеХандле одИндек
Враћа РесултАрраиБите

Одређује са ког уређаја магистрале НаноЛиб чита. Одређује (под-) индекс за читање. Испоручује низ бајтова.

реадСтринг () Користите ову функцију за читање стрингова из директоријума објеката.
виртуал РесултСтринг нлц::НаноЛибАццессор::реадСтринг (цонст ДевицеХандле девицеХандле, цонст ОдИндек одИндек)

Параметри девицеХандле одИндек
Враћа РесултСтринг

Одређује са ког уређаја магистрале НаноЛиб чита. Одређује (под-) индекс за читање. Испоручује имена уређаја као стринг.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

23

8 Референца за класе/функције

вритеНумбер () Користите ову функцију за писање нумеричких вредности у директоријум објеката.
виртуал РесултВоид нлц::НаноЛибАццессор::вритеНумбер (цонст ДевицеХандле девицеХандле, инт64_т вредност, цонст ОдИндек одИндек, унсигнед инт битЛенгтх)

Параметри девицеХандле вредност одИндек битЛенгтх
Враћа РесултВоид

Одређује на који уређај магистрале НаноЛиб пише. Непротумачена вредност (може бити потписана, непотписана, исправка 16.16). Одређује (под-) индекс за читање. Дужина у биту. Потврђује да је покренута функција воид.

вритеБитес () Користите ову функцију за писање произвољних бајтова (података о објекту домена) у директоријум објеката.
виртуал РесултВоид нлц::НаноЛибАццессор::вритеБитес (цонст ДевицеХандле девицеХандле, цонст стд::вецтор & дата, цонст ОдИндек одИндек)

Параметри девицеХандле дата одИндек
Враћа РесултВоид

Одређује на који уређај магистрале НаноЛиб пише. Бајт вектор / низ. Одређује (под-) индекс за читање. Потврђује да је покренута функција воид.

отпреми фирмвер ()
Користите ову функцију да ажурирате фирмвер вашег контролера.
виртуал РесултВоид нлц::НаноЛибАццессор::уплоадФирмваре (цонст ДевицеХандле девицеХандле, цонст стд::вецтор & фвДата, НлцДатаТрансферЦаллбацк* повратни позив)

Параметри девицеХандле фвДата НлцДатаТрансферЦаллбацк
Враћа РесултВоид

Одређује који уређај магистрале НаноЛиб ажурира. Низ који садржи податке о фирмверу. Трактор напретка података. Потврђује да је покренута функција воид.

уплоадФирмвареФромFile ()
Користите ову функцију да ажурирате фирмвер вашег контролера тако што ћете га отпремити file.
виртуал РесултВоид нлц::НаноЛибАццессор::уплоадФирмвареФромFile (цонст ДевицеХандле девицеХандле, цонст стд::стринг & апсолутнаFileПутања, НлцДатаТрансферЦаллбацк* повратни позив)

Параметри девицеХандле абсолутеFileПутања НлцДатаТрансферЦаллбацк
Враћа РесултВоид

Одређује који уређај магистрале НаноЛиб ажурира. Пут до file који садржи податке о фирмверу (стд::стринг). Трактор напретка података. Потврђује да је покренута функција воид.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

24

8 Референца за класе/функције

уплоадБоотлоадер ()
Користите ову функцију да ажурирате покретач контролера.
виртуал РесултВоид нлц::НаноЛибАццессор::уплоадБоотлоадер (цонст ДевицеХандле девицеХандле, цонст стд::вецтор & бтДата, НлцДатаТрансферЦаллбацк* повратни позив)

Параметри девицеХандле бтДата НлцДатаТрансферЦаллбацк
Враћа РесултВоид

Одређује који уређај магистрале НаноЛиб ажурира. Низ који садржи податке покретача. Трактор напретка података. Потврђује да је покренута функција воид.

уплоадБоотлоадерФромFile ()
Користите ову функцију да ажурирате покретач контролера тако што ћете га отпремити file.
виртуал РесултВоид нлц::НаноЛибАццессор::уплоадБоотлоадерФромFile (цонст ДевицеХандле девицеХандле, цонст стд::стринг & боотлоадерАпсолутноFileПутања, НлцДатаТрансферЦаллбацк* повратни позив)

Параметри девицеХандле боотлоадерАбсолутеFileПутања НлцДатаТрансферЦаллбацк
Враћа РесултВоид

Одређује који уређај магистрале НаноЛиб ажурира. Пут до file који садржи податке покретача (стд::стринг). Трактор напретка података. Потврђује да је покренута функција воид.

уплоадБоотлоадерФирмваре ()
Користите ову функцију за ажурирање покретачког програма контролера и фирмвера.
виртуал РесултВоид нлц::НаноЛибАццессор::уплоадБоотлоадерФирмваре (цонст ДевицеХандле девицеХандле, цонст стд::вецтор & бтДата, цонст стд::вецтор & фвДата, НлцДатаТрансферЦаллбацк* повратни позив)

Параметри девицеХандле бтДата фвДата НлцДатаТрансферЦаллбацк
Враћа РесултВоид

Одређује који уређај магистрале НаноЛиб ажурира. Низ који садржи податке покретача. Низ који садржи податке о фирмверу. Трактор напретка података. Потврђује да је покренута функција воид.

уплоадБоотлоадерФирмвареФромFile ()
Користите ову функцију да ажурирате покретачки програм контролера и фирмвер тако што ћете отпремити files.
виртуал РесултВоид нлц::НаноЛибАццессор::уплоадБоотлоадерФирмвареФромFile (цонст ДевицеХандле девицеХандле, цонст стд::стринг & боотлоадерАпсолутноFileПутања, цонст стд::стринг & апсолутноFileПутања, НлцДатаТрансферЦаллбацк* повратни позив)

Параметри девицеХандле боотлоадерАбсолутеFileАпсолутни путFileПутања НлцДатаТрансферЦаллбацк
Враћа РесултВоид

Одређује који уређај магистрале НаноЛиб ажурира. Пут до file који садржи податке покретача (стд::стринг). Пут до file који садржи податке о фирмверу (уинт8_т). Трактор напретка података. Потврђује да је покренута функција воид.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

25

8 Референца за класе/функције

уплоадНаноЈ ()
Користите ову јавну функцију да отпремите НаноЈ програм на ваш контролер.
виртуал РесултВоид нлц::НаноЛибАццессор::уплоадНаноЈ (ДевицеХандле цонст девицеХандле, стд::вецтор цонст & вммДата, НлцДатаТрансферЦаллбацк* повратни позив)

Параметри девицеХандле вммДата НлцДатаТрансферЦаллбацк
Враћа РесултВоид

Одређује на који уређај магистрале НаноЛиб отпрема. Низ који садржи НаноЈ податке. Трактор напретка података. Потврђује да је покренута функција воид.

уплоадНаноЈФромFile ()
Користите ову јавну функцију да отпремите НаноЈ програм на свој контролер тако што ћете отпремити file.
виртуал РесултВоид нлц::НаноЛибАццессор::уплоадНаноЈФромFile (цонст ДевицеХандле девицеХандле, цонст стд::стринг & апсолутнаFileПутања, НлцДатаТрансферЦаллбацк* повратни позив)

Параметри девицеХандле абсолутеFileПутања НлцДатаТрансферЦаллбацк
Враћа РесултВоид

Одређује на који уређај магистрале НаноЛиб отпрема. Пут до file који садржи НаноЈ податке (стд::стринг). Трактор напретка података. Потврђује да је покренута функција воид.

дисцоннецтДевице () Користите ову функцију да прекинете везу са уређајем помоћу девицеХандле-а.
виртуал РесултВоид нлц::НаноЛибАццессор::дисцоннецтДевице (ДевицеХандле цонст девицеХандле)

Параметри девицеХандле враћа РесултВоид

Одређује са ког уређаја магистрале се НаноЛиб прекида везу. Потврђује да је покренута функција воид.

ремовеДевице () Користите ову функцију да уклоните свој уређај са НаноЛиб-ове интерне листе уређаја.
виртуал РесултВоид нлц::НаноЛибАццессор::ремовеДевице (цонст ДевицеХандле девицеХандле)

Параметри девицеХандле враћа РесултВоид

Одређује који уређај магистрале НаноЛиб уклања. Потврђује да је покренута функција воид.

цлосеБусХардваре () Користите ову функцију да бисте прекинули везу са хардвером сабирнице поља.
виртуал РесултВоид нлц::НаноЛибАццессор::цлосеБусХардваре (БусХардвареИд цонст & бусХвИд)

Параметри бусХвИд враћа РесултВоид

Одређује сабирницу поља са које треба прекинути везу. Потврђује да је покренута функција воид.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

26

8 Референца за класе/функције

8.2 БусХардвареИд
Користите ову класу да идентификујете хардвер магистрале један-на-један или да разликујете различит хардвер магистрале један од другог. Ова класа (без функција за подешавање које би биле непроменљиве од креирања) такође садржи информације о:
Хардвер (= име адаптера, мрежни адаптер итд.) Протокол који треба користити (= Модбус ТЦП, ЦАНопен итд.) Спецификатор хардвера магистрале (= име серијског порта, МАЦ пријатељско име
адреса итд.)

БусХардвареИд () [1/3] Конструктор који креира нови објекат ИД хардвера магистрале.
нлц::БусХардвареИд::БусХардвареИд (стд::стринг цонст & бусХардваре_, стд::стринг цонст & протоцол_, стд::стринг цонст & хардвареСпецифиер_, стд::стринг цонст & наме_)

Параметри бусХардваре_ протоцол_ хардвареСпецифиер_ ектраХардвареСпецифиер_ наме_

Тип хардвера (= ЗК-УСБ-ЦАН-1 итд.). Протокол комуникације са магистралом (= ЦАНопен итд.). Спецификатор хардвера (= ЦОМ3 итд.). Додатни специфицатор хардвера (рецимо, информације о УСБ локацији). Пријатељско име (= АдаптерНаме (Порт) итд.).

БусХардвареИд () [2/3] Конструктор који креира нови објекат ИД хардвера магистрале, са опцијом за додатни хардверски специфиер.
нлц::БусХардвареИд::БусХардвареИд (стд::стринг цонст & бусХардваре_, стд::стринг цонст & протоцол_, стд::стринг цонст & хардвареСпецифиер_, стд::стринг цонст & ектраХардвареСпецифиер:стринг цонст_) & стд:

Параметри бусХардваре_ протоцол_ хардвареСпецифиер_ ектраХардвареСпецифиер_ наме_

Тип хардвера (= ЗК-УСБ-ЦАН-1 итд.). Протокол комуникације са магистралом (= ЦАНопен итд.). Спецификатор хардвера (= ЦОМ3 итд.). Додатни специфицатор хардвера (рецимо, информације о УСБ локацији). Пријатељско име (= АдаптерНаме (Порт) итд.).

БусХардвареИд () [3/3] Конструктор који копира постојећи бусХардвареИд.
нлц::БусХардвареИд::БусХардвареИд (БусХардвареИд цонст &)

нлц::БусХардвареИд::БусХардвареИд (БусХардвареИд цонст &)

Параметри бусХардвареИд

Именује ИД хардвера магистрале за копирање.

екуалс () Упоређује нови хардверски ИД магистрале са постојећим.
боол нлц::БусХардвареИд::екуалс (БусХардвареИд цонст & отхер) цонст

Параметри отхер Враћа тачно

Још један објекат исте класе. Ако су оба једнака по свим вредностима.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

27

8 Референца за класе/функције

лажно

Ако се вредности разликују.

гетБусХардваре () Чита стринг хардвера магистрале.
стд::стринг нлц::БусХардвареИд::гетБусХардваре () цонст

Враћа стринг

гетХардвареСпецифиер () Чита стринг спецификације хардвера магистрале (= име мреже итд.).
стд::стринг нлц::БусХардвареИд::гетХардвареСпецифиер () цонст

Враћа стринг

гетЕктраХардвареСпецифиер () Чита стринг спецификације додатног хардвера магистрале (= МАЦ адреса итд.).
стд::стринг нлц::БусХардвареИд::гетЕктраХардвареСпецифиер () цонст

Враћа стринг

гетНаме () Чита пријатељско име хардвера магистрале.
стд::стринг нлц::БусХардвареИд::гетНаме () цонст

Враћа стринг

гетПротоцол () Чита стринг протокола магистрале.
стд::стринг нлц::БусХардвареИд::гетПротоцол () цонст

Враћа стринг

тоСтринг () Враћа ИД хардвера магистрале као стринг.
стд::стринг нлц::БусХардвареИд::тоСтринг () цонст

Враћа стринг
8.3 БусХардвареОпције
Пронађите у овој класи, у листи кључ/вредност низова, све опције потребне за отварање хардвера магистрале.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

28

8 Референца за класе/функције

БусХардвареОптионс () [1/2] Конструише нови објекат хардверске опције магистрале.
нлц::БусХардвареОптионс::БусХардвареОптионс () Користите функцију аддОптион () да додате парове кључ-вредност.

БусХардвареОптионс () [2/2] Конструише нови објекат хардверских опција магистрале са већ постављеном мапом кључ-вредност.
нлц::БусХардвареОптионс::БусХардвареОптионс (стд::мап цонст и опције)

Опције параметара

Мапа са опцијама за рад хардвера аутобуса.

аддОптион () Креира додатне кључеве и вредности.
воид нлц::БусХардвареОптионс::аддОптион (стд::стринг цонст & кеи, стд::стринг цонст & валуе)

Вредност кључа параметара

Exampле: БАУД_РАТЕ_ОПТИОНС_НАМЕ, погледајте подразумеване вредности бус_хв_оптионс_
Exampле: БАУД_РАТЕ_1000К, погледајте бус_хв_оптионс_дефаултс

екуалс () Упоређује БусХардвареОптионс са постојећим.
боол нлц::БусХардвареОптионс::екуалс (БусХардвареОптионс цонст и остало) цонст

Параметри отхер Враћа тачно
лажно

Још један објекат исте класе. Ако други објекат има све потпуно исте опције. Ако други објекат има различите кључеве или вредности.

гетОптионс () Чита све додате парове кључ/вредност.
стд::мап нлц::БусХардвареОптионс::гетОптионс () цонст

Враћа мапу стрингова

тоСтринг () Враћа све кључеве/вредности као стринг.
стд::стринг нлц::БусХардвареИд::тоСтринг () цонст

Враћа стринг
8.4 БусХвОптионсДефаулт
Ова класа подразумеваних опција конфигурације има следеће јавне атрибуте:

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

29

8 Референца за класе/функције

цонст ЦанБус цонст Сериал цонст РЕСТфулБус цонст ЕтхерЦАТБус

цанБус = ЦанБус () сериал = Сериал () рестфулБус = РЕСТфулБус() етхерцатБус = ЕтхерЦАТБус()

8.5 ЦанБаудРате

Структура која садржи баудрате ЦАН магистрале у следећим јавним атрибутима:

цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг

БАУД_РАТЕ_1000К = „1000к“ БАУД_РАТЕ_800К = „800к“ БАУД_РАТЕ_500К = „500к“ БАУД_РАТЕ_250К = „250к“ БАУД_РАТЕ_125К = „125к“ БАУД_РАТЕ_100К = „100к“ БАУД_РАТЕ_50“ 50к” БАУД_РАТЕ_20К = “20к” БАУД_РАТЕ_10К = “10к” БАУД_РАТЕ_5К = “5к”

8.6 ЦанБус

Класа подразумеваних опција конфигурације са следећим јавним атрибутима:

цонст стд::стринг цонст ЦанБаудРате цонст Иккат

БАУД_РАТЕ_ОПТИОНС_НАМЕ = „брзина преноса може адаптера“ баудРате = ЦанБаудРате () иккат = Иккат ()

8.7 ЦанОпенНмтСервице

За НМТ услугу, ова структура садржи ЦАНопен НМТ стања као вредности низа у следећим јавним атрибутима:

цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг

СТАРТ = “СТАРТ” СТОП = “СТОП” ПРЕ_ОПЕРАТИОНАЛ = “ПРЕ_ОПЕРАТИОНАЛ” РЕСЕТ = “РЕСЕТ” РЕСЕТ_ЦОММУНИЦАТИОН = “РЕСЕТ_ЦОММУНИЦАТИОН”

8.8 ЦанОпенНмтСтате

Ова структура садржи ЦАНопен НМТ стања као вредности стрингова у следећим јавним атрибутима:

цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг

СТОППЕД = “СТОППЕД” ПРЕ_ОПЕРАТИОНАЛ = “ПРЕ_ОПЕРАТИОНАЛ” ОПЕРАТИОНАЛ = “ОПЕРАТИОНАЛ” ИНИЦИЈАЛИЗАЦИЈА = “ИНИТИАЛИЗАТИОН” УНКНОВН = “НЕКНОВН”

8.9 ЕтхерЦАТБус структура

Ова структура садржи опције конфигурације ЕтхерЦАТ комуникације у следећим јавним атрибутима:

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

30

8 Референца за класе/функције

цонст стд::стринг НЕТВОРК_ФИРМВАРЕ_СТАТЕ_ОП- Стање мреже третирано као режим фирмвера. Прихватљиво

ТИОН_НАМЕ = „Стање мрежног фирмвера“

вредности (подразумевано = ПРЕ_ОПЕРАТИОНАЛ):

ЕтхерЦАТСтате::ПРЕ_ОПЕРАТИОНАЛ ЕтхерЦАТСтате::САФЕ_ОПЕРАТИОНАЛ ЕтхерЦАТСтате::ОПЕРАТИОНАЛ

цонст стд::стринг ДЕФАУЛТ_НЕТВОРК_ФИРМВАРЕ_ СТАТЕ = „ПРЕ_ОПЕРАТИОНАЛ“

цонст стд::стринг ЕКСЦЛУСИВЕ_ЛОЦК_ТИМЕОУТ_ОП- Временско ограничење у милисекундама за добијање ексклузивног закључавања

ТИОН_НАМЕ = „Време је истекло за дељено закључавање“

мреже (подразумевано = 500 мс).

цонст унсигнед инт ДЕФАУЛТ_ЕКСЦЛУСИВЕ_ЛОЦК_ ТИМЕОУТ = “500”

цонст стд::стринг СХАРЕД_ЛОЦК_ТИМЕОУТ_ОПТИОН_ Временско ограничење у милисекундама за преузимање дељеног закључавања на

НАМЕ = „Време је истекло заједничког закључавања“

мреже (подразумевано = 250 мс).

цонст унсигнед инт ДЕФАУЛТ_СХАРЕД_ЛОЦК_ТИМЕОУТ = “250”

цонст стд::стринг РЕАД_ТИМЕОУТ_ОПТИОН_НАМЕ = Временско ограничење у милисекундама за операцију читања (подразумевано

„Време за читање“

= 700 мс).

цонст унсигнед инт ДЕФАУЛТ_РЕАД_ТИМЕОУТ = “700”

цонст стд::стринг ВРИТЕ_ТИМЕОУТ_ОПТИОН_НАМЕ = Временско ограничење у милисекундама за операцију писања (подразумевано

„Време за писање“

= 200 мс).

цонст унсигнед инт ДЕФАУЛТ_ВРИТЕ_ТИМЕОУТ = “200”

цонст стд::стринг РЕАД_ВРИТЕ_АТТЕМПТС_ОПТИОН_ Максималан број покушаја читања или писања (вредности које нису нула

НАМЕ = „Покушаји читања/писања“

само; подразумевано = 5).

цонст унсигнед инт ДЕФАУЛТ_РЕАД_ВРИТЕ_АТТЕМПТС = “5”

цонст стд::стринг ЦХАНГЕ_НЕТВОРК_СТАТЕ_АТТЕМПТС_ОПТИОН_НАМЕ = „Промени покушаје стања мреже“

Максималан број покушаја да се промени стање мреже (само вредности које нису нула; подразумевано = 10).

цонст унсигнед инт ДЕФАУЛТ_ЦХАНГЕ_НЕТВОРК_ СТАТЕ_АТТЕМПТС = „10“

цонст стд::стринг ПДО_ИО_ЕНАБЛЕД_ОПТИОН_НАМЕ Омогућава или онемогућава ПДО обраду за дигиталне ин- /

= „ПДО ИО је омогућен“

излази (само „Тачно” или „Нетачно”; подразумевано = „Тачно”).

цонст стд::стринг ДЕФАУЛТ_ПДО_ИО_ЕНАБЛЕД = „Тачно“

8.10 Структура ЕтхерЦАТСтате

Ова структура садржи ЕтхерЦАТ славе/мрежна стања као вредности низа у следећим јавним атрибутима. Напомена: Подразумевано стање при укључивању је ПРЕ_ОПЕРАТИОНАЛ; НаноЛиб не може да обезбеди поуздано стање „ОПЕРАТИОНАЛ“ у оперативном систему који није у реалном времену:

цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг

НОНЕ = “НОНЕ” ИНИТ = “ИНИТ” ПРЕ_ОПЕРАТИОНАЛ = “ПРЕ_ОПЕРАТИОНАЛ” БООТ = “БООТ” САФЕ_ОПЕРАТИОНАЛ = “САФЕ_ОПЕРАТИОНАЛ” ОПЕРАТИОНАЛ = “ОПЕРАТИОНАЛ”

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

31

8 Референца за класе/функције

8.11 Иккат

Ова структура садржи све информације за Иккат усб-то-цан у следећим јавним атрибутима:

цонст стд::стринг

АДАПТЕР_БУС_НУМБЕР_ОПТИОНС_НАМЕ = „број магистрале иккат адаптера“

цонст ИккатАдаптерБусНумбер адаптерБусНумбер = ИккатАдаптерБусНумбер ()

8.12 ИккатАдаптерБусНумбер

Ова структура садржи број магистрале за Иккат усб-то-цан у следећим јавним атрибутима:

цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг

БУС_НУМБЕР_0_ДЕФАУЛТ = "0" БУС_НУМБЕР_1 = "1" БУС_НУМБЕР_2 = "2" БУС_НУМБЕР_3 = "3"

8.13 Врхунац

Ова структура садржи све информације за Пеак усб-то-цан у следећим јавним атрибутима:

цонст стд::стринг

АДАПТЕР_БУС_НУМБЕР_ОПТИОНС_НАМЕ = „вршни број адаптерске магистрале“

цонст ПеакАдаптерБусНумбер адаптерБусНумбер = ПеакАдаптерБусНумбер ()

8.14 ПеакАдаптерБусНумбер

Ова структура садржи број магистрале за Пеак усб-то-цан у следећим јавним атрибутима:

цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд:: цонст стд::стринг цонст стд::стринг цонст стд::стринг

БУС_НУМБЕР_1_ДЕФАУЛТ = стд::то_стринг (ПЦАН_УСББУС1) БУС_НУМБЕР_2 = стд::то_стринг (ПЦАН_УСББУС2) БУС_НУМБЕР_3 = стд::то_стринг (ПЦАН_УСББУС3) БУС_НУМБЕР_4 = стд::то_стринг (ПЦАН_УСББУС4) БУС_НУМБЕР_5 = стд::то_стринг (ПЦАН_УСББУС5) стд::то_стринг (ПЦАН_УСББУС6) БУС_НУМБЕР_6 = стд::то_стринг (ПЦАН_УСББУС7) БУС_НУМБЕР_7 = стд::то_стринг (ПЦАН_УСББУС8) БУС_НУМБЕР_8 = стд::то_стринг (ПЦАН_УСББУС9:) = БУСстринг_НУМБЕР:_УСстринг_НУМБЕР: БУС_НУМБЕР_9 = стд::то_стринг (ПЦАН_УСББУС10) БУС_НУМБЕР_10 = стд::то_стринг (ПЦАН_УСББУС11) БУС_НУМБЕР_11 = стд::то_стринг (ПЦАН_УСББУС12) БУС_НУМБЕР_12 = стд::АН_УСББУСНУМБЕР = стд::то_УСББ стд::то_стринг (ПЦАН_УСББУС13) БУС_НУМБЕР_13 = стд::то_стринг (ПЦАН_УСББУС14) БУС_НУМБЕР_14 = стд::то_стринг (ПЦАН_УСББУС15)

8.15 ДевицеХандле
Ова класа представља рукохват за контролу уређаја на магистрали и има следеће јавне функције члана.

ДевицеХандле () ДевицеХандле (уинт32_т ручка)

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

32

8 Референца за класе/функције

екуалс () Упоређује се са датим ручком уређаја.
боол једнако (ДевицеХандле цонст отхер) цонст (уинт32_т хандле)

тоСтринг () Враћа стринг приказ ручице уређаја.
стд::стринг тоСтринг () цонст

гет () Враћа ручицу уређаја.
уинт32_т гет () цонст

8.16 ДевицеИд
Користите ову класу (није непроменљиво од креирања) да бисте идентификовали и разликовали уређаје на магистрали:

Идентификатор хардверског адаптера

Идентификатор уређаја

Опис

Значење вредности ИД-а/описа уређаја зависи од магистрале. Фор екampда, ЦАН магистрала може да користи целобројни ИД.

ДевицеИд () [1/3] Конструише нови објекат ИД уређаја.
нлц::ДевицеИд::ДевицеИд (БусХардвареИд цонст & бусХардвареИд_, унсигнед инт девицеИд_, стд::стринг цонст & десцриптион_)

Параметри бусХардвареИд_ девицеИд_ десцриптион_

Идентификатор аутобуса. Индекс; предмет магистрале (= ИД ЦАНопен чвора итд.). Опис (може бити празан); предмет аутобуса.

ДевицеИд () [2/3] Конструише нови ИД објекат уређаја са проширеним опцијама ИД-а.
нлц::ДевицеИд::ДевицеИд (БусХардвареИд цонст & бусХардвареИд, унсигнед инт девицеИд_, стд::стринг цонст & десцриптион_ стд::вецтор цонст & ектраИд_, стд::стринг цонст & ектраСтрингИд_)

Параметри бусХардвареИд_ девицеИд_ десцриптион_ ектраИд_ ектраСтрингИд_

Идентификатор аутобуса. Индекс; предмет магистрале (= ИД ЦАНопен чвора итд.). Опис (може бити празан); предмет аутобуса. Додатни ИД (може бити празан); значење зависи од аутобуса. ИД додатног стринга (може бити празан); значење зависи од аутобуса.

ДевицеИд () [3/3] Конструише копију ИД објекта уређаја.
нлц::ДевицеИд::ДевицеИд (ДевицеИд цонст &)

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

33

8 Референца за класе/функције

Параметри девицеИд_

ИД уређаја за копирање.

једнако () Упоређује нове са постојећим објектима.
боол нлц::ДевицеИд::екуалс (ДевицеИд цонст & отхер) цонст

Враћа боолеан

гетБусХардвареИд () Чита ИД хардвера магистрале.
БусХардвареИд нлц::ДевицеИд::гетБусХардвареИд () цонст

Враћа БусХардвареИд

гетДесцриптион () Чита опис уређаја (можда неискоришћен).
стд::стринг нлц::ДевицеИд::гетДесцриптион () цонст

Враћа стринг

гетДевицеИд () Чита ИД уређаја (можда неискоришћен).
унсигнед инт нлц::ДевицеИд::гетДевицеИд () цонст

Враћа унсигнед инт

тоСтринг () Враћа објекат као стринг.
стд::стринг нлц::ДевицеИд::тоСтринг () цонст

Враћа стринг

гетЕктраИд () Чита додатни ИД уређаја (можда се не користи).
цонст стд::вецтор &гетЕктраИд () цонст

Вектор враћа

Вектор додатних додатних ИД-ова (може бити празан); значење зависи од аутобуса.

гетЕктраСтрингИд () Чита додатни ИД стринга уређаја (можда се не користи).
стд::стринг гетЕктраСтрингИд () цонст

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

34

8 Референца за класе/функције

Враћа стринг

ИД додатног стринга (може бити празан); значење зависи од аутобуса.

8.17 ЛогЛевелЦонвертер

Ова класа враћа ваш ниво дневника као стринг. статички стд::стринг тоСтринг (нлц::ЛогЛевел логЛевел)

8.18 ЛогМодулеЦонвертер

Ова класа враћа вашу библиотеку специфичну евиденцију модулесетЛоггингЛевел () као стринг.

статички стд::стринг

тоСтринг (нлц::ЛогМодуле логМодуле)

статички стд::стринг тоСтринг (нлц::ЛогМодуле логМодуле)

8.19 Речник објеката
Ова класа представља речник објеката контролера и има следеће јавне функције члана: гетДевицеХандле ()
виртуал РесултДевицеХандле гетДевицеХандле () цонст враћа РесултДевицеХандле

гетОбјецт () виртуал РесултОбјецтСубЕнтри гетОбјецт (ОдИндек цонст одИндек) Враћа РесултОбјецтСубЕнтри

гетОбјецтЕнтри () виртуелни РесултОбјецтЕнтри гетОбјецтЕнтри (уинт16_т индекс)

Враћа РесултОбјецтЕнтри

Информише о својствима објекта.

гетКсмлFileНаме () виртуелни РесултСтринг гетКсмлFileИме () конст

Враћа РесултСтринг

Враћа КСМЛ file име као стринг.

реадНумбер () виртуал РесултИнт реадНумбер (ОдИндек цонст одИндек) Враћа РесултИнт
реадНумберАрраи () виртуелни РесултАрраиИнт реадНумберАрраи (уинт16_т цонст индекс)

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

35

8 Референца за класе/функције
Враћа РесултАрраиИнт реадСтринг ()
виртуелни РесултСтринг реадСтринг (ОдИндек цонст одИндек) Враћа РесултСтринг реадБитес () виртуелни РесултАрраиБите реадБитес (ОдИндек цонст одИндек) Враћа РесултАрраиБите вритеНумбер () виртуал РесултВоид вритеНумбер (ОдИндек цонст одИндек, вредност резултата Ретурн В) виртуелни РесултВоид вритеБитес (ОдИндек цонст ОдИндек, стд::вецтор
цонст & дата) Враћа РесултВоид Сродне везе ОдИндек
8.20 ОбјецтЕнтри
Ова класа представља унос објекта у речник објеката, има следеће статички заштићене атрибуте и јавне функције члана:
статиц нлц::ОбјецтСубЕнтри инвалидОбјецт
гетНаме () Чита име објекта као стринг.
виртуал стд::стринг гетНаме () цонст
гетПривате () Проверава да ли је објекат приватан.
виртуал боол гетПривате () цонст
гетИндек () Чита адресу индекса објекта.
виртуал уинт16_т гетИндек () цонст

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

36

8 Референца за класе/функције

гетДатаТипе () Чита тип података објекта.
виртуал нлц::ОбјецтЕнтриДатаТипе гетДатаТипе () цонст

гетОбјецтЦоде () Чита објектни код:

Нулл Дефтипе Дефструцт Вар Арраи запис

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

виртуал нлц::ОбјецтЦоде гетОбјецтЦоде () цонст

гетОбјецтСавеабле () Проверава да ли се објекат може сачувати и његова категорија (погледајте упутство за производ за више детаља): АППЛИЦАТИОН, ЦОММУНИЦАТИОН, ДРИВЕ, МИСЦ_ЦОНФИГ, МОДБУС_РТУ, НО, ТУНИНГ, ЦУСТОМЕР, ЕТХЕРНЕТ, ЦАНОПЕН, ВЕРИФИ1020, УНКАВЕБНОВН
виртуал нлц::ОбјецтСавеабле гетОбјецтСавеабле () цонст

гетМакСубИндек () Чита број подиндекса које подржава овај објекат.
виртуал уинт8_т гетМакСубИндек () цонст

гетСубЕнтри () виртуал нлц::ОбјецтСубЕнтри & гетСубЕнтри (уинт8_т субИндек)
Такође погледајте ОбјецтСубЕнтри.
8.21 ОбјецтСубЕнтри
Ова класа представља подупис објекта (подиндекс) речника објеката и има следеће јавне функције члана:
гетНаме () Чита име објекта као стринг.
виртуал стд::стринг гетНаме () цонст

гетСубИндек () Чита адресу подиндекса.
виртуал уинт8_т гетСубИндек () цонст

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

37

8 Референца за класе/функције

гетДатаТипе () Чита тип података објекта.
виртуал нлц::ОбјецтЕнтриДатаТипе гетДатаТипе () цонст

гетСдоАццесс () Проверава да ли је подиндекс доступан преко СДО-а:

РеадОнли

1

ВритеОнли

2

РеадВрите

3

Нема приступа

0

виртуал нлц::ОбјецтСдоАццессАттрибуте гетСдоАццесс () цонст

гетПдоАццесс () Проверава да ли је подиндекс доступан/мапљив преко ПДО-а:

Tx

1

Rx

2

ТкРк

3

бр

0

виртуал нлц::ОбјецтПдоАццессАттрибуте гетПдоАццесс () цонст

гетБитЛенгтх () Проверава дужину подиндекса.
виртуал уинт32_т гетБитЛенгтх () цонст

гетДефаултВалуеАсНумериц () Чита подразумевану вредност подиндекса за нумеричке типове података.
виртуал РесултИнт гетДефаултВалуеАсНумериц (стд::стринг цонст & кеи) цонст

гетДефаултВалуеАсСтринг () Чита подразумевану вредност подиндекса за низове типова података.
виртуал РесултСтринг гетДефаултВалуеАсСтринг (стд::стринг цонст & кеи) цонст

гетДефаултВалуес () Чита подразумеване вредности подиндекса.
виртуелни стд::мап гетДефаултВалуес () цонст

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

38

8 Референца за класе/функције

реадНумбер () Чита нумеричку стварну вредност подиндекса.
виртуал РесултИнт реадНумбер () конст

реадСтринг () Чита стварну вредност низа подиндекса.
виртуал РесултСтринг реадСтринг () цонст

реадБитес () Чита стварну вредност подиндекса у бајтовима.
виртуал РесултАрраиБите реадБитес () цонст

вритеНумбер () Уписује нумеричку вредност у подиндекс.
виртуелни РесултВоид вритеНумбер (цонст инт64_т вредност) цонст

вритеБитес () Записује вредност у подиндексу у бајтовима.
виртуелни РесултВоид вритеБитес (стд::вецтор цонст & дата) конст

8.22 ОдИндек
Користите ову класу (непроменљиву од креирања на даље) да омотате и лоцирате индексе / подиндексе директоријума објеката. ОД уређаја има до 65535 (0кФФФФ) редова и 255 (0кФФ) колона; са празнинама између дисконтинуираних редова. За више детаља погледајте стандард ЦАНопен и упутство за ваш производ.
ОдИндек () Конструише нови ОдИндек објекат.
нлц::ОдИндек::ОдИндек (уинт16_т индекс, уинт8_т подиндекс)

Подиндекс индекса параметара

Од 0 до 65535 (0кФФФФ) укљ. Од 0 до 255 (0кФФ) укљ.

гетИндек () Чита индекс (од 0к0000 до 0кФФФФ).
уинт16_т нлц::ОдИндек::гетИндек () цонст

Враћа уинт16_т

гетСубиндек () Чита подиндекс (од 0к00 до 0кФФ)
уинт8_т нлц::ОдИндек::гетСубИндек () цонст

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

39

8 Референца за класе/функције

Враћа уинт8_т

тоСтринг () Враћа индекс и подиндекс као стринг. Подразумевани низ 0кИИИИ:0кСС гласи на следећи начин:

И = индекс од 0к0000 до 0кФФФФ

С = подиндекс од 0к00 до 0кФФ

стд::стринг нлц::ОдИндек::тоСтринг () цонст

Враћа 0кИИИИ:0кСС

Подразумевана репрезентација стрингова

8.23 ОдЛибрари
Користите овај програмски интерфејс за креирање инстанци класе ОбјецтДицтионари из КСМЛ-а. Помоћу ассигнОбјецтДицтионари, можете да повежете сваку инстанцу са одређеним уређајем због јединствено креираног идентификатора. Тако креиране инстанце ОбјецтДицтионари се чувају у објекту ОдЛибрари коме се приступа преко индекса. Класа ОДЛибрари учитава ставке ОбјецтДицтионари из file или низ, складишти их и има следеће јавне функције члана:

гетОбјецтДицтионариЦоунт () виртуал уинт32_т гетОбјецтДицтионариЦоунт () цонст

гетОбјецтДицтионари () виртуелни РесултОбјецтДицтионари гетОбјецтДицтионари (уинт32_т одИндек)

Враћа РесултОбјецтДицтионари

аддОбјецтДицтионариФромFile ()
виртуелни РесултОбјецтДицтионари аддОбјецтДицтионариФромFile (стд::стринг цонст & абсолутеКсмлFileПут)

Враћа РесултОбјецтДицтионари

аддОбјецтДицтионари ()
виртуелни РесултОбјецтДицтионари аддОбјецтДицтионари (стд::вецтор цонст & одКсмлДата, цонст стд::стринг &кмлFileПутања = стд::стринг ())

Враћа РесултОбјецтДицтионари
8.24 ОдТипесХелпер
Поред следећих јавних функција члана, ова класа садржи прилагођене типове података. Напомена: Да бисте проверили своје прилагођене типове података, потражите енум класу ОбјецтЕнтриДатаТипе у од_типес.хпп.

уинтТоОбјецтЦоде () Конвертује непотписане целе бројеве у објектни код:

Нулл Дефтипе

КСНУМКСкКСНУМКС КСНУМКСкКСНУМКС

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

40

8 Референца за класе/функције

Дефструцт Вар Арраи Рецорд

0x06 0x07 0x08 0x09

статички ОбјецтЦоде уинтТоОбјецтЦоде (непотписани инт објецтЦоде)

исНумерицДатаТипе () Обавештава да ли је тип података нумерички или не.
статиц боол исНумерицДатаТипе (ОбјецтЕнтриДатаТипе датаТипе)

исДефструцтИндек () Обавештава да ли је објекат индекс структуре дефиниције или не.
статички боол исДефструцтИндек (уинт16_т типеНум)

исДефтипеИндек () Обавештава да ли је објекат индекс типа дефиниције или не.
статички боол исДефтипеИндек (уинт16_т типеНум)

исЦомплекДатаТипе () Обавештава да ли је тип података сложен или није.
статиц боол исЦомплекДатаТипе (ОбјецтЕнтриДатаТипе датаТипе)

уинтТоОбјецтЕнтриДатаТипе () Конвертује неозначене целе бројеве у ОД тип података.
сстатиц ОбјецтЕнтриДатаТипе уинтТоОбјецтЕнтриДатаТипе (уинт16_т објецтДатаТипе)

објецтЕнтриДатаТипеТоСтринг () Конвертује ОД тип података у стринг.
статиц стд::стринг објецтЕнтриДатаТипеТоСтринг (ОбјецтЕнтриДатаТипе одДатаТипе)

стрингТоОбјецтЕнтриДататипе () Конвертује стринг у ОД тип података ако је могуће. У супротном, враћа УНКНОВН_ДАТАТИПЕ.
статички ОбјецтЕнтриДатаТипе стрингТоОбјецтЕнтриДататипе (стд::стринг датаТипеСтринг)

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

41

8 Референца за класе/функције

објецтЕнтриДатаТипеБитЛенгтх () Информише о дужини бита типа података уноса објекта.
статиц уинт32_т објецтЕнтриДатаТипеБитЛенгтх (ОбјецтЕнтриДатаТипе цонст & датаТипе)

8.25 РЕСТфулБус структура

Ова структура садржи опције конфигурације комуникације за РЕСТфул интерфејс (преко Етхернета). Садржи следеће јавне атрибуте:

цонст стд::стринг цонст унсигнед лонг цонст стд::стринг цонст унсигнед лонг цонст стд::стринг цонст унсигнед лонг

ЦОННЕЦТ_ТИМЕОУТ_ОПТИОН_НАМЕ = „Време је истекло за РЕСТфул повезивање“ ДЕФАУЛТ_ЦОННЕЦТ_ТИМЕОУТ = 200 РЕКУЕСТ_ТИМЕОУТ_ОПТИОН_НАМЕ = „Време је истекло за РЕСТфул“ ДЕФАУЛТ_РЕКУЕСТ_ТИМЕОУТ = 200 РЕСПОНСЕ_ТИМЕОУТ_ОПТИОН_НАМЕ = „Време је истекло за РЕКУЕСТ_ТИМЕОУТ_750“ = „РЕСТфул Респонсе Тимеоут“ = XNUMX РЕКУЕСТ_ТИМЕОУТ

8.26 ПрофинетДЦП
Под Линуком, апликацији за позивање су потребне могућности ЦАП_НЕТ_АДМИН и ЦАП_НЕТ_РАВ. Да бисте омогућили: судо сетцап 'цап_нет_админ,цап_нет_рав+еип' ./екецутабле. У Виндовс-у, ПрофинетДЦП интерфејс користи ВинПцап (тестиран са верзијом 4.1.3) или Нпцап (тестиран са верзијама 1.60 и 1.30). Стога претражује динамички учитану библиотеку впцап.длл следећим редоследом (Напомена: нема тренутне подршке за Вин10Пцап):
1. Директоријум Нанолиб.длл 2. Виндовс системски директоријум СистемРоот%Систем32 3. Нпцап инсталациони директоријум СистемРоот%Систем32Нпцап 4. Путања окружења
Ова класа представља Профинет ДЦП интерфејс и има следеће јавне функције члана:

гетСцанТимеоут () Обавештава о временском ограничењу скенирања уређаја (подразумевано = 2000 мс).
виртуал уинт32_т нлц::ПрофинетДЦП::гетСцанТимеоут () цонст

сетСцанТимеоут () Поставља временско ограничење скенирања уређаја (подразумевано = 2000 мс).
виртуал воид нлц::сетСцанТимеоут (уинт32_т тимеоутМсец)

гетРеспонсеТимеоут () Обавештава о временском ограничењу одговора уређаја за операције подешавања, ресетовања и трептања (подразумевано = 1000 мс).
виртуал уинт32_т нлц::ПрофинетДЦП::гетРеспонсеТимеоут () цонст

сетРеспонсеТимеоут () Обавештава о временском ограничењу одговора уређаја за операције подешавања, ресетовања и трептања (подразумевано = 1000 мс).
виртуал воид нлц::ПрофинетДЦП::сетРеспонсеТимеоут (уинт32_т тимеоутМсец)

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

42

8 Референца за класе/функције

исСервицеАваилабле ()
Користите ову функцију да проверите доступност Профинет ДЦП услуге.
Ваљаност мрежног адаптера / доступност Виндовс: ВинПцап / Нпцап доступност Линук: ЦАП_НЕТ_АДМИН / ЦАП_НЕТ_РАВ могућности
виртуал РесултВоид нлц::ПрофинетДЦП::исСервицеАваилабле (цонст БусХардвареИд & бусХардвареИд)

Параметри БусХардвареИд Враћа тачно
лажно

ИД хардвера Профинет ДЦП услуге за проверу. Услуга је доступна. Услуга је недоступна.

сцанПрофинетДевицес () Користите ову функцију за скенирање хардверске магистрале за присуство Профинет уређаја.
виртуал РесултПрофинетДевицес сцанПрофинетДевицес (цонст БусХардвареИд & бусХардвареИд)

Параметри БусХардвареИд враћа РесултПрофинетДевицес

Одређује сваку сабирницу поља за отварање. Хардвер је отворен.

сетупПрофинетДевице () Успоставља следећа подешавања уређаја:

Назив уређаја

ИП адреса

Мрежна маска

Подразумевани пролаз

виртуал РесултВоид нлц::сетупПрофинетДевице (цонст БусХардвареИд & бусХардвареИд, цонст ПрофинетДевице струцт & профинетДевице, боол савеПерманент)

ресетПрофинетДевице () Зауставља уређај и враћа га на фабричка подешавања.
виртуал РесултВоид нлц::ресетПрофинетДевице (цонст БусХардвареИд & бусХардвареИд, цонст ПрофинетДевице & профинетДевице)

блинкПрофинетДевице () Наређује Профинет уређају да почне да трепери његов Профинет ЛЕД.
виртуал РесултВоид нлц::блинкПрофинетДевице (цонст БусХардвареИд & бусХардвареИд, цонст ПрофинетДевице &профинетДевице)

валидатеПрофинетДевицеИп () Користите ову функцију да проверите ИП адресу уређаја.
виртуал РесултВоид валидатеПрофинетДевицеИп (цонст БусХардвареИд &бусХардвареИд, цонст ПрофинетДевице & профинетДевице)

Параметри БусХардвареИд ПрофинетДевице

Одређује ИД хардвера за проверу. Одређује Профинет уређај за валидацију.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

43

8 Референца за класе/функције

Враћа РесултВоид

8.27 ПрофинетДевице струцт

Подаци о Профинет уређају имају следеће јавне атрибуте:

стд::стринг стд::стринг стд::арраи< уинт8_т, 6 > уинт32_т уинт32_т уинт32_т

девицеНаме девицеВендор мацАддресс ипАддресс нетМаск дефаултГатеваи

МАЦ адреса је дата као низ у формату мацАддресс = {кк, кк, кк, кк, кк, кк}; док се ИП адреса, мрежна маска и мрежни пролаз сви тумаче као хексадецимални бројеви са великим ендианом, као што су:

ИП адреса: 192.168.0.2 Мрежна маска: 255.255.0.0 Гатеваи: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 Класе резултата

Користите „опционе“ повратне вредности ових класа да проверите да ли је позив функције био успешан или не, као и да лоцирате разлоге неуспеха. Након успеха, функција хасЕррор () враћа фалсе. Помоћу гетРесулт (), можете прочитати вредност резултата према типу (РесултИнт итд.). Ако позив не успе, прочитаћете разлог помоћу гетЕррор ().

Заштићени атрибути

стринг НлцЕррорЦоде уинт32_т

еррорСтринг еррорЦоде екЕррорЦоде

Такође, ова класа има следеће јавне функције члана:

хасЕррор () Чита успех позива функције.
боол нлц::Резултат::хасЕррор () цонст

Повратак

истина лажно

Неуспели позив. Користите гетЕррор () да прочитате вредност. Успешан позив. Користите гетРесулт () да прочитате вредност.

гетЕррор () Чита разлог ако позив функције не успе.
цонст стд::стринг нлц::Ресулт::гетЕррор () цонст

Враћа цонст стринг

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

44

8 Референца за класе/функције
ресулт () Следеће функције помажу у дефинисању тачних резултата:
Резултат (стд::стринг цонст & еррорСтринг_)
Резултат (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
Резултат (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)
Резултат (конст. резултата и резултат)
гетЕррорЦоде () Прочитајте НлцЕррорЦоде.
НлцЕррорЦоде гетЕррорЦоде () цонст
гетЕкЕррорЦоде () уинт32_т гетЕкЕррорЦоде () цонст
8.28.1 РесултВоид
НаноЛиб вам шаље инстанцу ове класе ако функција врати воид. Класа наслеђује јавне функције и заштићене атрибуте од класе резултата и има следеће јавне функције члана:
РесултВоид () Следеће функције помажу у дефинисању тачног резултата празнине:
РесултВоид (стд::стринг цонст &еррорСтринг_)
РесултВоид (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултВоид (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд:: стринг цонст & еррорСтринг_)
РесултВоид (Резултат цонст и резултат)
8.28.2 РесултИнт
НаноЛиб вам шаље инстанцу ове класе ако функција враћа цео број. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Враћа целобројни резултат ако је позив функције био успешан.
инт64_т гетРесулт () цонст
Враћа инт64_т

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

45

8 Референца за класе/функције
РесултИнт () Следеће функције помажу у дефинисању тачног целобројног резултата:
РесултИнт (инт64_т ресулт_)
РесултИнт (стд::стринг цонст & еррорСтринг_)
РесултИнт (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултИнт (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)
РесултИнт (конст. резултата и резултат)
8.28.3 РесултСтринг
НаноЛиб вам шаље инстанцу ове класе ако функција враћа стринг. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита резултат стринга ако је позив функције био успешан.
цонст стд::стринг нлц::РесултСтринг::гетРесулт () цонст
Враћа цонст стринг
РесултСтринг () Следеће функције помажу у дефинисању тачног резултата стринга:
РесултСтринг (стд::стринг цонст & мессаге, боол хасЕррор_)
РесултСтринг (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултСтринг (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд:: стринг цонст & еррорСтринг_)
РесултСтринг (константа резултата и резултат)
8.28.4 РесултАрраиБите
НаноЛиб вам шаље инстанцу ове класе ако функција враћа низ бајтова. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита бајт вектор ако је позив функције био успешан.
цонст стд::вецтор нлц::РесултАрраиБите::гетРесулт () цонст
Враћа конст вектор

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

46

8 Референца за класе/функције
РесултАрраиБите () Следеће функције помажу у дефинисању тачног резултата низа бајтова:
РесултАрраиБите (стд::вецтор цонст & ресулт_)
РесултАрраиБите (стд::стринг цонст & еррорСтринг_)
РесултАрраиБите (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррор Стринг_)
РесултАрраиБите (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд:: стринг цонст & еррорСтринг_)
РесултАрраиБите (конст. резултата и резултат)
8.28.5 РесултАрраиИнт
НаноЛиб вам шаље инстанцу ове класе ако функција враћа низ целих бројева. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита целобројни вектор ако је позив функције био успешан.
цонст стд::вецтор нлц::РесултАрраиИнт::гетРесулт () цонст
Враћа конст вектор
РесултАрраиИнт () Следеће функције помажу у дефинисању тачног резултата низа целих бројева:
РесултАрраиИнт (стд::вецтор цонст & ресулт_)
РесултАрраиИнт (стд::стринг цонст & еррорСтринг_)
РесултАрраиИнт (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррор Стринг_)
РесултАрраиИнт (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд:: стринг цонст & еррорСтринг_)
РесултАрраиИнт (конст. резултата и резултат)
8.28.6 РесултБусХвИдс
НаноЛиб вам шаље инстанцу ове класе ако функција враћа низ хардверских ИД-ова магистрале. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита вектор бус-хардвер-ИД ако је позив функције био успешан.
цонст стд::вецтор нлц::РесултБусХвИдс::гетРесулт () цонст
Параметри цонст вектор

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

47

8 Референца за класе/функције
РесултБусХвИдс () Следеће функције помажу у дефинисању тачног резултата бус-хардваре-ИД-арраи:
РесултБусХвИдс (стд::вецтор цонст & ресулт_)
РесултБусХвИдс (стд::стринг цонст & еррорСтринг_)
РесултБусХвИдс (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултБусХвИдс (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)
РесултБусХвИдс (конст. резултата и резултат)
8.28.7 РесултДевицеИд
НаноЛиб вам шаље инстанцу ове класе ако функција враћа ИД уређаја. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита вектор ИД-а уређаја ако је позив функције био успешан.
ДевицеИд нлц::РесултДевицеИд::гетРесулт () цонст
Враћа конст вектор
РесултДевицеИд () Следеће функције помажу у дефинисању тачног резултата ИД уређаја:
РесултДевицеИд (ДевицеИд цонст & ресулт_)
РесултДевицеИд (стд::стринг цонст & еррорСтринг_)
РесултДевицеИд (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултДевицеИд (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг еррорСтринг_)
РесултДевицеИд (конст. резултата и резултат)
8.28.8 РесултДевицеИдс
НаноЛиб вам шаље инстанцу ове класе ако функција враћа низ ИД-ова уређаја. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Враћа вектор ИД-а уређаја ако је позив функције био успешан.
ДевицеИд нлц::РесултДевицеИдс::гетРесулт () цонст
Враћа конст вектор

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

48

8 Референца за класе/функције
РесултДевицеИдс () Следеће функције помажу у дефинисању тачног резултата низа ИД уређаја:
РесултДевицеИдс (стд::вецтор цонст & ресулт_)
РесултДевицеИдс (стд::стринг цонст & еррорСтринг_)
РесултДевицеИдс (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултДевицеИдс (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)
РесултДевицеИдс (константа резултата и резултат)
8.28.9 РесултДевицеХандле
НаноЛиб вам шаље инстанцу ове класе ако функција враћа вредност ручке уређаја. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита ручицу уређаја ако је позив функције био успешан.
ДевицеХандле нлц::РесултДевицеХандле::гетРесулт () цонст
Враћа ДевицеХандле
РесултДевицеХандле () Следеће функције помажу у дефинисању тачног резултата обраде уређаја:
РесултДевицеХандле (ДевицеХандле цонст & ресулт_)
РесултДевицеХандле (стд::стринг цонст & еррорСтринг_)
РесултДевицеХандле (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултДевицеХандле (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)
РесултДевицеХандле (конст. резултата и резултат)
8.28.10 РесултОбјецтДицтионари
НаноЛиб вам шаље инстанцу ове класе ако функција враћа садржај речника објеката. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита вектор ИД-а уређаја ако је позив функције био успешан.
цонст нлц::ОбјецтДицтионари & нлц::РесултОбјецтДицтионари::гетРесулт () цонст

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

49

8 Референца за класе/функције

Повратак

цонст вектор

РесултОбјецтДицтионари () Следеће функције помажу у дефинисању тачног резултата речника објеката:
РесултОбјецтДицтионари (нлц::ОбјецтДицтионари цонст & ресулт_)

РесултОбјецтДицтионари (стд::стринг цонст & еррорСтринг_)

РесултОбјецтДицтионари (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)

РесултОбјецтДицтионари (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)

РесултОбјецтДицтионари (конст и резултат резултата)

8.28.11 РесултЦоннецтионСтате
НаноЛиб вам шаље инстанцу ове класе ако функција враћа информације о стању конекције уређаја. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита ручицу уређаја ако је позив функције био успешан.
ДевицеЦоннецтионСтатеИнфо нлц::РесултЦоннецтионСтате::гетРесулт () цонст

Враћа ДевицеЦоннецтионСтатеИнфо Цоннецтед / Дисцоннецтед / ЦоннецтедБоотлоадер

РесултЦоннецтионСтате () Следеће функције помажу у дефинисању тачног резултата стања везе:
РесултЦоннецтионСтате (ДевицеЦоннецтионСтатеИнфо цонст & ресулт_)

РесултЦоннецтионСтате (стд::стринг цонст & еррорСтринг_)

РесултЦоннецтионСтате (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)

РесултЦоннецтионСтате (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)

РесултЦоннецтионСтате (конст. резултата и резултат)

8.28.12 РесултОбјецтЕнтри
НаноЛиб вам шаље инстанцу ове класе ако функција враћа унос објекта. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

50

8 Референца за класе/функције
гетРесулт () Враћа вектор ИД-а уређаја ако је позив функције био успешан.
нлц::ОбјецтЕнтри цонст& нлц::РесултОбјецтЕнтри::гетРесулт () цонст
Враћа цонст ОбјецтЕнтри
РесултОбјецтЕнтри () Следеће функције помажу у дефинисању тачног резултата уноса објекта:
РесултОбјецтЕнтри (нлц::ОбјецтЕнтри цонст & ресулт_)
РесултОбјецтЕнтри (стд::стринг цонст & еррорСтринг_)
РесултОбјецтЕнтри (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултОбјецтЕнтри (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)
РесултОбјецтЕнтри (конст. резултата и резултат)
8.28.13 РесултОбјецтСубЕнтри
НаноЛиб вам шаље инстанцу ове класе ако функција враћа под-унос објекта. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Враћа вектор ИД-а уређаја ако је позив функције био успешан.
нлц::ОбјецтСубЕнтри цонст & нлц::РесултОбјецтСубЕнтри::гетРесулт () цонст
Враћа цонст ОбјецтСубЕнтри
РесултОбјецтСубЕнтри () Следеће функције помажу у дефинисању тачног резултата подуноса објекта:
РесултОбјецтСубЕнтри (нлц::ОбјецтЕнтри цонст & ресулт_)
РесултОбјецтСубЕнтри (стд::стринг цонст & еррорСтринг_)
РесултОбјецтСубЕнтри (НлцЕррорЦоде цонст & еррЦоде, стд::стринг цонст & еррорСтринг_)
РесултОбјецтСубЕнтри (НлцЕррорЦоде цонст & еррЦоде, цонст уинт32_т екЕррЦоде, стд::стринг цонст & еррорСтринг_)
РесултОбјецтСубЕнтри (резултат цонст & ресулт)
8.28.14 РесултПрофинетДевицес
НаноЛиб вам шаље инстанцу ове класе ако функција враћа Профинет уређај. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

51

8 Референца за класе/функције

гетРесулт () Чита вектор Профинет уређаја ако је позив функције био успешан.
цонст стд::вецтор & гетРесулт () цонст

РесултПрофинетДевицес () Следеће функције помажу у дефинисању тачних Профинет уређаја.
РесултПрофинетДевицес (цонст стд::вецтор & профинетДевицес)
РесултПрофинетДевицес (константни резултат и резултат)
РесултПрофинетДевицес (цонст стд::стринг &еррорТект, НлцЕррорЦоде еррорЦоде = НлцЕррорЦоде::ГенералЕррор, уинт32_т ектендедЕррорЦоде = 0)
8.28.15 РесултСampлеДатаАрраи
НаноЛиб вам шаље инстанцу ове класе ако функција враћа каоampле низ података. Класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:
гетРесулт () Чита низ података ако је позив функције био успешан.
цонст стд::вецтор <СampлеДата> & гетРесулт () цонст

РесултСampлеДатаАрраи () Следеће функције помажу у дефинисању тачних Профинет уређаја.
РесултСampлеДатаАрраи (цонст стд::вецтор <СampлеДата> & датаАрраи)

РесултСampлеДатаАрраи (цонст стд::стринг &еррорДесц, цонст НлцЕррорЦоде еррорЦоде = НлцЕррорЦоде::ГенералЕррор, цонст уинт32_т ектендедЕррорЦоде = 0)

РесултСampлеДатаАрраи (цонст РесултСampлеДатаАрраи и друго)

РесултСampлеДатаАрраи (цонст Ресулт & Ресулт)

8.28.16 РесултСampлерСтате
НаноЛиб вам шаље инстанцу ове класе ако функција враћа каоampлер стате.Ова класа наслеђује јавне функције/заштићене атрибуте од класе резултата и има следеће јавне функције члана:

гетРесулт () Чита сampлер вектор стања ако је позив функције био успешан.
SampлерСтате гетРесулт () цонст

Враћа СampлерСтате>

Неконфигурисано / Конфигурисано / Спремно / Покренуто / Завршено / Неуспешно / Отказано

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

52

8 Референца за класе/функције

РесултСampлерСтате () Следеће функције помажу у дефинисању тачног сampлер држава.
РесултСampлерСтате (конст. СampлерСтате држава)

РесултСampлерСтате (цонст стд::стринг & еррорДесц, цонст НлцЕррорЦоде еррорЦоде = НлцЕррорЦоде::ГенералЕррор, цонст уинт32_т
проширени код грешке = 0)

РесултСampлерСтате (цонст РесултСampлерСтате и друго)

РесултСampлерСтате (цонст Ресулт & Ресулт)

8.29 НлцЕррорЦоде

Ако нешто крене наопако, класе резултата пријављују један од кодова грешака наведених у овој енумерацији.

Код грешке Успех ГенералЕррор БусУнаваилабле ЦоммуницатионЕррор ПротоцолЕррор
ОДДоесНотЕкист ОДИнвалидАццесс ОДТипеМисматцх Оператион Абортед ОператионНотСуппортед ИнвалидОператион
ИнвалидАргументс АццессДениед РесоурцеНотФоунд РесоурцеУнаваилабле ОутОфМемори ТимеОутЕррор

Ц: Категорија Д: Опис Р: Разлог Ц: Нема. Д: Нема грешке. Р: Операција је успешно завршена.
Ц: Неодређено. Д: Неодређена грешка. Р: Неуспех који не одговара ниједној другој категорији.
Ц: Аутобус. Д: Хардверска магистрала није доступна. Р: Аутобус не постоји, искључен је или је у квару.
Ц: Комуникација. Д: Комуникација непоуздана. Р: Неочекивани подаци, погрешан ЦРЦ, грешке оквира или паритета, итд.
Ц: Протокол. Д: Грешка у протоколу. Р: Одговор након опције неподржаног протокола, извештај уређаја о неподржаном протоколу, грешка у протоколу (рецимо, бит синхронизације сегмента СДО), итд. Р: Одговор или извештај уређаја на неподржани протокол (опције) или на грешке у протоколу (рецимо, СДО бит синхронизације сегмента), итд. Р: Неподржани протокол (опције) или грешка у протоколу (рецимо, СДО бит синхронизације сегмента) итд.
Ц: Речник објеката. Д: ОД адреса не постоји. Р: Не постоји таква адреса у речнику објеката.
Ц: Речник објеката. Д: Приступ ОД адреси је неважећи. Р: Покушај да напишеш адресу само за читање или да читаш са адресе само за писање.
Ц: Речник објеката. Д: Неподударање типова. Р: Неконвертована вредност у одређени тип, рецимо, у покушају да се стринг третира као број.
Ц: Апликација. Д: Процес прекинут. Р: Процес пресечен захтевом апликације. Враћа само на прекид операције помоћу функције повратног позива, рецимо, од скенирања магистрале.
Ц: Заједничко. Д: Процес није подржан. Р: Нема подршке за хардверску магистралу/уређај.
Ц: Заједничко. Д: Процес је нетачан у тренутном контексту или неважећи са тренутним аргументом. Р: Покушај поновног повезивања са већ повезаним магистралама/уређајима. Покушај прекида везе са већ прекинутим. Покушај рада покретача у режиму фирмвера или обрнуто.
Ц: Заједничко. Д: Аргумент неважећи. Р: Погрешна логика или синтакса.
Ц: Заједничко. Д: Приступ је одбијен. Р: Недостатак права или могућности за обављање тражене операције.
Ц: Заједничко. Д: Наведена ставка није пронађена. Р: Хардверска магистрала, протокол, уређај, ОД адреса на уређају или file није пронађено.
Ц: Заједничко. Д: Наведена ставка није пронађена. Р: заузето, непостојеће, искључено или дефектно.
Ц: Заједничко. Д: Недовољно меморије. Р: Премало меморије за обраду ове команде.
Ц: Заједничко. Д: Процес је истекао. Р: Вратите се након истека времена. Тимеоут може бити време одговора уређаја, време за добијање заједничког или ексклузивног приступа ресурсима или време за пребацивање магистрале/уређаја у одговарајуће стање.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

53

8 Референца за класе/функције

8.30 НлцЦаллбацк
Ова родитељска класа за повратне позиве има следећу јавну функцију члана: повратни позив ()
виртуелни РесултВоид повратни позив ()

Повратак

РесултВоид

8.31 НлцДатаТрансферЦаллбацк
Користите ову класу повратног позива за пренос података (ажурирање фирмвера, НаноЈ отпремање итд.). 1. За отпремање фирмвера: Дефинишите „заједничку класу“ која проширује ову помоћу прилагођеног метода повратног позива
имплементација. 2. Користите инстанце „ко-класе“ у позивима НаноЛибАццессор.уплоадФирмваре (). Сама главна класа има следећу функцију јавног члана:

повратни позив () виртуелни РесултВоид повратни позив (нлц::ДатаТрансферИнфо инфо, инт32_т подаци)

Повратак

РесултВоид

8.32 НлцСцанБусЦаллбацк
Користите ову класу повратног позива за скенирање магистрале. 1. Дефинишите „ко-класу“ проширујући ову класу са применом прилагођеног метода повратног позива. 2. Користите инстанце „цо-цласс” у позивима НаноЛибАццессор.сцанДевицес (). Сама главна класа има следећу функцију јавног члана.

позове ()
виртуелни РесултВоид повратни позив (нлц::БусСцанИнфо инфо, стд::вецтор цонст & девицесФоунд, инт32_т дата)

Враћа РесултВоид
8.33 НлцЛоггингЦаллбацк
Користите ову класу повратног позива за евидентирање повратних позива. 1. Дефинишите класу која проширује ову класу применом прилагођене методе повратног позива 2. Користите показивач на њене инстанце да бисте поставили повратни позив од стране НаноЛибАццессор >
сетЛоггингЦаллбацк (…).
виртуални воид повратни позив (цонст стд::стринг & паилоад_стр, цонст стд::стринг & форматтед_стр, цонст стд::стринг & логгер_наме, цонст унсигнед инт лог_левел, цонст стд::уинт64_т тиме_синце_епоцх, цонст сизе_т тхреад_ид)

8.34 СampлерИнтерфаце
Користите ову класу за конфигурисање, покретање и заустављање сampлер, или да се добије сampводи податке и преузима каоampлеров статус или последња грешка. Класа има следеће јавне функције члана.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

54

8 Референца за класе/функције

цонфигуре () Конфигурише каоampлер.
виртуал РесултВоид нлц::СampлерИнтерфаце::цонфигуре (цонст ДевицеХандле девицеХандле, цонст СampлерЦонфигуратион & сampлерЦонфигуратион)

Параметри [ин] девицеХандле [ин] сampлерЦонфигуратион
Враћа РесултВоид

Одређује који уређај треба да конфигурише сampлер фор. Одређује вредности конфигурационих атрибута. Потврђује да је покренута функција воид.

гетДата () Добија сampлед података.
виртуал РесултСampлеДатаАрраи нлц::СampлерИнтерфаце::гетДата (цонст ДевицеХандле девицеХандле)

Параметри [ин] девицеХандле враћа РесултСampлеДатаАрраи

Одређује за који уређај треба добити податке.
Испоручује сampлед података, који могу бити празан низ ако сampлерНотифи је активан на почетку.

гетЛастЕррор () Добија каоampЛерова последња грешка.
виртуал РесултВоид нлц::СampлерИнтерфаце::гетЛастЕррор (цонст ДевицеХандле девицеХандле)

Враћа РесултВоид

Потврђује да је покренута функција воид.

гетСтате () Добија каоampлеров статус.
виртуал РесултСampлерСтате нлц::СampлерИнтерфаце::гетСтате (цонст ДевицеХандле девицеХандле)

Враћа РесултСampлерСтате

Испоручује сampлер држава.

старт () Почиње каоampлер.
виртуал РесултВоид нлц::СampлерИнтерфаце::старт (цонст ДевицеХандле девицеХандле, СampлерНотифи* сampлерНотифи, инт64_т апплицатионДата)

Параметри [ин] девицеХандле [ин] СampлерНотифи [у] апплицатионДата
Враћа РесултВоид

Одређује који уређај треба да покрене сampлер фор.
Одређује које опционалне информације треба пријавити (може бити нуллптр).
Опција: Прослеђује податке у вези са апликацијом (кориснички дефинисани 8-битни низ вредности / ИД уређаја / индекса или датум и време, показивач променљиве / функције итд.) у сampлерНотифи.
Потврђује да је покренута функција воид.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

55

8 Референца за класе/функције

стоп () Зауставља се каоampлер.
виртуал РесултВоид нлц::СampлерИнтерфаце::стоп (цонст ДевицеХандле девицеХандле)

Параметри [ин] девицеХандле враћа РесултВоид

Одређује који уређај треба да заустави сampлер фор. Потврђује да је покренута функција воид.

8.35 СampлерЦонфигуратион струцт

Ова структура садржи податке сampлерове конфигурационе опције (статичне или не).

Јавни атрибути

стд::вецтор трацкедАддрессес

До 12 ОД адреса које треба да буду сampЛЕД.

уинт32_т

верзија

Верзија структуре.

уинт32_т

дуратионМилисекунде

Sampтрајање линга у мс, од 1 до 65535

уинт16_т

периодМилисекунди

Sampлинг период у мс.

уинт16_т

нумберОфСampлес

Sampлес износ.

уинт16_т

преТриггерНумберОфСampлес

Sampмање износ пре-окидача.

боол

усингСофтвареИмплементатион

Користите имплементацију софтвера.

боол

усингНевФВСampлерИмплементатион Користите ФВ имплементацију за уређаје са а

ФВ верзија в24кк или новија.

SampлерМоде

режим

Нормално, понављајуће или континуирано сampлинг.

SampлерТриггерЦондитион триггерЦондитион

Почетни услови окидања: ТЦ_ФАЛСЕ = 0к00 ТЦ_ТРУЕ = 0к01 ТЦ_СЕТ = 0к10 ТЦ_ЦЛЕАР = 0к11 ТЦ_РИСИНГ_ЕДГЕ = 0к12 ТЦ_ФАЛЛИНГ_ЕДГЕ = 0к13 ТЦ_БИТ_ТОГГЛЕ = 0к14 = 0к15 ТЦ ТЦ_ГРЕАТЕР_ОР_ЕКУАЛ = 0к16 ТЦ_ЛЕСС = 0к17 ТЦ_ЛЕСС_ОР_ЕКУАЛ = 0к18 ТЦ_ЕКУАЛ = 0к19 ТЦ_НОТ_ЕКУАЛ = 0к1А ТЦ_ОНЕ_ЕДГЕ = 0к1Б ТЦ_МУЛТИ_Триггер, Одељак ТЦ_МУЛТИ_

SampлерТриггер

SampлерТриггер

Окидач за почетак каоampлер?

Статички јавни атрибути
статички цонстекпр сизе_т СAMPЛЕР_ЦОНФИГУРАТИОН_ВЕРСИОН = 0к01000000 статиц цонстекпр сизе_т МАКС_ТРАЦКЕД_АДДРЕССЕС = 12
8.36 СampлерНотифи
Користите ову класу да активирате сampлер обавештења када почнете каоampлер. Класа има следећу функцију јавног члана.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

56

8 Референца за класе/функције

обавести ()
Испоручује унос обавештења.
виртуал воид нлц::СampлерНотифи::нотифи (цонст РесултВоид & ластЕррор, цонст СampлерСтате сampлерСтате, цонст стд::вецтор <СampлеДата> & сampлеДатас, инт64_т апплицатионДата)

Параметри [ин] ластЕррор [ин] сampлерСтате
[у] сampлеДатас [у] апплицатионДата

Саопштава да се последња грешка догодила док сampлинг. Извјештава сampстатус у време обавештења: Неконфигурисано / Конфигурисано / Спремно / Покренуто / Завршено / Неуспешно / Отказано. Извјештава сampлед-дата низ. Пријављује податке специфичне за апликацију.

8.37 СampлеДата струцт

Ова структура садржи сampлед података.

уин64_т итерацијаНумбер

Почиње од 0 и повећава се само у режиму понављања.

стд::вецтор<СampледВалуес> Садржи низ сampвођене вредности.

8.38 СampледВалуе струцт

Ова структура садржи сampвођене вредности.

ин64_т вредност уин64_т ЦоллецтТимеМсец

Садржи вредност праћене ОД адресе.
Садржи време прикупљања у милисекундама, у односу на сampле почетак.

8.39 СampлерТриггер струцт

Ова структура садржи подешавања окидача за сampлер.

SampлерТриггерЦондитион услов
Вредност ОдИндек уин32_т

Услов окидача: ТЦ_ФАЛСЕ = 0к00 ТЦ_ТРУЕ = 0к01 ТЦ_СЕТ = 0к10 ТЦ_ЦЛЕАР = 0к11 ТЦ_РИСИНГ_ЕДГЕ = 0к12 ТЦ_ФАЛЛИНГ_ЕДГЕ = 0к13 ТЦ_БИТ_ТОГГЛЕ = 0к14 ТЦ_0 = ТЦ_к15 ТЦ_ГРЕАТЕР_ОР_ЕКУАЛ = 0к16 ТЦ_ЛЕСС = 0к17 ТЦ_ЛЕСС_ОР_ЕКУАЛ = 0к18 ТЦ_ЕКУАЛ = 0к19 ТЦ_НОТ_ЕКУАЛ = 0к1А ТЦ_ОНЕ_ЕДГЕ = 0к1Б ТЦ_МУЛТИ_
ОдИндек (адреса) окидача.
Вредност услова или број бита (почевши од бита нула).

8.40 Серијска структура

Овде пронађите опције серијске комуникације и следеће јавне атрибуте:

цонст стд::стринг цонст СериалБаудРате

БАУД_РАТЕ_ОПТИОНС_НАМЕ = „брзина серијског преноса“ баудРате = Структура брзине серијског преноса

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

57

8 Референца за класе/функције

цонст стд::стринг цонст СериалПарити

ПАРИТИ_ОПТИОНС_НАМЕ = „серијски паритет“ паритет = структура серијског паритета

8.41 Структура СериалБаудРате

Овде пронађите брзину преноса у серијској комуникацији и следеће јавне атрибуте:

цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг

БАУД_РАТЕ_7200 = “7200” БАУД_РАТЕ_9600 = “9600” БАУД_РАТЕ_14400 = “14400” БАУД_РАТЕ_19200 = “19200” БАУД_РАТЕ_38400 = “38400” = “56000” БАУД_РАТЕ_56000 “БАУД_РАТЕ_57600” 57600 = “115200” БАУД_РАТЕ_115200 = “128000” БАУД_РАТЕ_128000 = “256000” БАУД_РАТЕ_256000 = “XNUMX”

8.42 СериалПарити структура

Овде пронађите опције серијског паритета и следеће јавне атрибуте:

цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг цонст стд::стринг

НОНЕ = „ниједан“ НЕпаран = „непаран“ ЧАР = „паран“ МАРК = „ознака“ РАЗМАК = „размак“

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

58

9 Лиценце

9 Лиценце

Заглавља интерфејса НаноЛиб АПИ-ја и прampизворни код су лиценцирани од стране Нанотец Елецтрониц ГмбХ & Цо. КГ под Цреативе Цоммонс Аттрибутион 3.0 Унпортед Лиценсе (ЦЦ БИ). Делови библиотеке обезбеђени у бинарном формату (комуникационе библиотеке језгра и сабирнице) лиценцирани су под међународном лиценцом Цреативе Цоммонс АттрибутионНоДеривативес 4.0 (ЦЦ БИ НД).

Цреативе Цоммонс
Следећи човеку читљив сажетак неће заменити саму лиценцу(е). Одговарајућу лиценцу можете пронаћи на цреативецоммонс.орг и линкове испод. Слободни сте да:

ЦЦ БИ 3.0
Подели: Видите десно. Прилагодите: Ремиксујте, трансформишите и надограђујете
материјал за било коју намену, чак и комерцијалну.

ЦЦ БИ-НД 4.0
Подели: Копирајте и редистрибуирајте материјал у било ком медију или формату.

Давалац лиценце не може опозвати горе наведене слободе све док се придржавате следећих услова лиценце:

ЦЦ БИ 3.0

ЦЦ БИ-НД 4.0

Атрибуција: Морате дати одговарајуће признање, Атрибуција: Видите лево. Али: Наведите везу до овога

наведите везу до лиценце и наведите да ли

друга лиценца.

извршене су измене. То можете учинити у било ком

Без деривата: ако ремиксујете, трансформишете или градите

разуман начин, али ни на који начин који сугерише-

на материјалу, не смете да дистрибуирате

давалац лиценце подржава вас или вашу употребу.

модификовани материјал.

Нема додатних ограничења: Не можете се пријавити. Нема додатних ограничења: Погледајте лево. правним појмовима или технолошким мерама које правно

ограничити друге да било шта раде на основу лиценце

дозволе.

Напомена: Не морате да се придржавате лиценце за елементе материјала који су у јавном власништву или где је ваша употреба дозвољена примењивим изузетком или ограничењем.
Напомена: Нема гаранција. Лиценца вам можда неће дати све дозволе неопходне за вашу намеравану употребу. Фор екampОсим тога, друга права као што су публицитет, приватност или морална права могу ограничити начин на који користите материјал.

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

59

Импресум, контакт, верзије

©2024 Нанотец Елецтрониц ГмбХ & Цо.КГКапелленстр.685622 ФелдкирцхенГерманиТел.+49(0) 89 900 686-0Фак+49(0)89 900 686-50 инфо@нанотец.деввв.нанотец.цом Сва права задржана. Грешка, пропуст, техничка или промена садржаја могућа без обавештења. Цитирани брендови/производи су заштитни знакови њихових власника и треба их третирати као такве. Оригинална верзија.

Документ 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лес.
+ НаноЛиб Модбус: Додан механизам за закључавање уређаја за Модбус ВЦП. # НаноЛиб Цоре: Фиксна провера стања везе. # НаноЛиб код: Исправљено уклањање референце хардвера магистрале.
+ НаноЛиб-ЦАНопен: Подршка за Пеак ПЦАН-УСБ адаптер (ИПЕХ-002021/002022).
> НаноЛиб Цоре: Промењен интерфејс повратног позива за евидентирање (ЛогЛевел замењен ЛогМодуле). # НаноЛиб Логгер: Исправљено је раздвајање између језгра и модула. # Модбус ТЦП: Исправљено ажурирање фирмвера за ФВ4. # ЕтхерЦАТ: Поправљено отпремање НаноЈ програма за Цоре5. # ЕтхерЦАТ: Исправљено ажурирање фирмвера за Цоре5.
# Модбус РТУ: Исправљени проблеми са временом са ниским брзинама преноса током ажурирања фирмвера. # РЕСТфул: Поправљено отпремање НаноЈ програма.
# НаноЛиб модули Сampлер: Правилно читање сampлед боолеан вредности.
+ Јава 11 подршка за све платформе. + Подршка за Питхон 3.11/3.12 за све платформе. + Нови интерфејс повратног позива за евидентирање (погледајте нпрampлес). + Повратни позиви за НаноЛиб Логгер. > Ажурирајте логгер на верзију 1.12.0. > НаноЛиб модули Сampлер: Подршка сада за фирмвер Нанотец контролера в24кк. > НаноЛиб модули Сampлер: Промена структуре која се користи за сampлер конфигурација. > НаноЛиб модули Сampлер: Континуирани режим је синоним за бесконачан; услов окидача се проверава једном; број сampлес мора бити 0. > НаноЛиб модули Сampлер: Нормалан приоритет за нит која прикупља податке у режиму фирмвера. > НаноЛиб модули Сampлер: Преписани алгоритам за откривање прелаза између стања Реади и Руннинг. # НаноЛиб Цоре: Нема више кршења приступа (0кЦ0000005) при затварању 2 или више уређаја који користе исти хардвер магистрале. # НаноЛиб Цоре: Нема више грешке сегментације при прикључивању ПЕАК адаптера под Линуком. # НаноЛиб модули Сampлер: Тачно сampочитавање ЛЕД вредности у режиму фирмвера. # НаноЛиб модули Сampлер: Исправна конфигурација 502Кс:04. # НаноЛиб модули Сampлер: Правилно мешање бафера са каналима. # НаноЛиб-Цанопен: Повећано временско ограничење ЦАН-а за робусност и исправно скенирање при нижим брзинама преноса. # НаноЛиб-Модбус: ВЦП алгоритам детекције за посебне уређаје (УСБ-ДА-ИО).
+ ЕтхерЦАТ подршка.
+ Напомена о подешавањима ВС пројекта у Конфигуришите свој пројекат.
+ гетДевицеХардвареГроуп (). + гетПрофинетДЦП (исСервицеАваилабле). + гетПрофинетДЦП (валидатеПрофинетДевицеИп). + аутоАссигнОбјецтДицтионари (). + гетКсмлFileИме (). + цонст стд::стринг & кмлFileПутања у аддОбјецтДицтионари (). + гетСampлерИнтерфаце ().

Производ 1.3.0 1.2.1 1.2.0 1.1.3
1.1.2 1.1.1 1.1.0
1.0.1 (Б349) 1.0.0 (Б344) 1.0.0 (Б341)

Верзија: доц 1.4.2 / НаноЛиб 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

+ Додато > Промењено # Поправљено + ребоотДевице (). + Код грешке РесоурцеУнаваилабле за гетДевицеБоотлоадерВерсион (), ~ВендорИд (), ~ХардвареВерсион (), ~СериалНумбер и ~Уид. > фирмвареУплоадФромFile сада уплоадФирмвареФромFile (). > фирмвареУплоад () сада уплоадФирмваре (). > боотлоадерУплоадФромFile () сада уплоадБоотлоадерФромFile (). > боотлоадерУплоад () сада уплоадБоотлоадер (). > боотлоадерФирмвареУплоадФромFile () за уплоадБоотлоадерФирмвареФромFile (). > боотлоадерФирмвареУплоад () сада уплоадБоотлоадерФирмваре (). > нанојУплоадФромFile () сада уплоадНаноЈФромFile (). > нанојУплоад () сада уплоадНаноЈ (). > објецтДицтионариЛибрари () сада гетОбјецтДицтионариЛибрари (). > Стринг_Стринг_Мап сада СтрингСтрингМап. > НаноЛиб-Цоммон: брже извршавање листАваилаблеБусХардваре и опенБусХардвареВитхПротоцол са Иккат адаптером. > НаноЛиб-ЦАНопен: подразумевана подешавања се користе (брзина преноса 1000к, број Иккат магистрале 0) ако су хардверске опције магистрале празне. > НаноЛиб-РЕСТфул: администраторска дозвола је застарела за комуникацију са Етхернет покретачима под Виндовс-ом ако је доступан драјвер за нпцап / винпцап. # НаноЛиб-ЦАНопен: хардвер магистрале се сада отвара без пада са празним опцијама. # НаноЛиб-Цоммон: опенБусХардвареВитхПротоцол () без цурења меморије сада.
+ Подршка за Линук АРМ64. + Подршка за УСБ масовно складиштење / РЕСТ / Профинет ДЦП. + цхецкЦоннецтионСтате (). + гетДевицеБоотлоадерВерсион (). + РесултПрофинетДевицес. + НлцЕррорЦоде (замењен НанотецЕкцептионс). + НаноЛиб Модбус: ВЦП / УСБ чвориште уједињено на УСБ. > Модбус ТЦП скенирање даје резултате. < Кашњење Модбус ТЦП комуникације остаје константно.
+ Више ОбјецтЕнтриДатаТипе (сложен и професионаланfile-специфичан). + ИОЕррор враћа ако цоннецтДевице () и сцанДевицес () не пронађу ниједну. + Само 100 мс номинално временско ограничење за ЦанОпен / Модбус.
+ Модбус подршка (плус УСБ Хуб преко ВЦП). + Поглавље Креирање сопственог Линук пројекта. + ектраХардвареСпецифиер за БусХардвареИд (). + ектраИд_ и ектраСтрингИд_ до ДевицеИд ().
+ сетБусСтате (). + гетДевицеБоотлоадерБуилдИд (). + гетДевицеФирмвареБуилдИд (). + гетДевицеХардвареВерсион (). # Исправке грешака.
Едитион.

Производ
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1

Верзија: доц 1.4.2 / НаноЛиб 1.3.0

61

Документи / Ресурси

Нанотиц НаноЛиб Ц++ програмирање [пдф] Упутство за употребу
НаноЛиб Ц програмирање, Ц програмирање, програмирање

Референце

Оставите коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена *