ການຂຽນໂປລແກລມ Nanotic NanoLib C++
ຂໍ້ມູນຜະລິດຕະພັນ
ຂໍ້ມູນຈໍາເພາະ
- ຊື່ຜະລິດຕະພັນ: ນາໂນລີບ
- ການຂຽນໂປລແກລມ ພາສາ: C++
- ເວີຊັນຜະລິດຕະພັນ: 1.3.0
- ສະບັບຄູ່ມືຜູ້ໃຊ້: 1.4.2
ຫ້ອງສະຫມຸດ NanoLib ຖືກອອກແບບມາສໍາລັບຊອບແວຄວບຄຸມການດໍາເນີນໂຄງການສໍາລັບຕົວຄວບຄຸມ Nanotec. ມັນສະຫນອງການໂຕ້ຕອບຜູ້ໃຊ້, ຫນ້າທີ່ຫຼັກ, ແລະຫ້ອງສະຫມຸດການສື່ສານເພື່ອອໍານວຍຄວາມສະດວກໃນການພັດທະນາຄໍາຮ້ອງສະຫມັກການຄວບຄຸມ.
ຄໍາແນະນໍາການນໍາໃຊ້ຜະລິດຕະພັນ
- ກ່ອນທີ່ທ່ານຈະເລີ່ມຕົ້ນ:
- ໃຫ້ແນ່ໃຈວ່າລະບົບຂອງທ່ານປະຕິບັດຕາມຄວາມຕ້ອງການຮາດແວທີ່ລະບຸໄວ້ໃນຄູ່ມື. ຜູ້ຊົມທີ່ມີຈຸດປະສົງສໍາລັບຜະລິດຕະພັນນີ້ປະກອບມີຜູ້ພັດທະນາທີ່ຊອກຫາການສ້າງຊອບແວຄວບຄຸມສໍາລັບຕົວຄວບຄຸມ Nanotec.
- ການເລີ່ມຕົ້ນ:
- ເພື່ອເລີ່ມຕົ້ນການນໍາໃຊ້ NanoLib, ປະຕິບັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້:
- ເລີ່ມຕົ້ນໂດຍການນໍາເຂົ້າ NanoLib ເຂົ້າໄປໃນໂຄງການຂອງທ່ານ.
- ຕັ້ງຄ່າການຕັ້ງຄ່າໂຄງການຂອງທ່ານຕາມຄວາມຕ້ອງການ.
- ສ້າງໂຄງການຂອງທ່ານເພື່ອລວມເອົາຫນ້າທີ່ NanoLib.
- ການສ້າງໂຄງການ:
- ທ່ານສາມາດສ້າງໂຄງການສໍາລັບທັງສະພາບແວດລ້ອມ Windows ແລະ Linux. ປະຕິບັດຕາມຄໍາແນະນໍາສະເພາະທີ່ສະຫນອງໃຫ້ຢູ່ໃນຄູ່ມືສໍາລັບແຕ່ລະແພລະຕະຟອມ.
- ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ:
- ເບິ່ງຄູ່ມືຜູ້ໃຊ້ສໍາລັບຄໍາແນະນໍາລາຍລະອຽດກ່ຽວກັບຫ້ອງຮຽນແລະຫນ້າທີ່ທີ່ມີຢູ່ໃນ NanoLib ສໍາລັບຊອບແວຄວບຄຸມການຂຽນໂປຼແກຼມ.
FAQs
- Q: ຈຸດປະສົງຂອງ NanoLib ແມ່ນຫຍັງ?
- A: NanoLib ເປັນຫ້ອງສະຫມຸດສໍາລັບຊອບແວຄວບຄຸມການຂຽນໂປລແກລມສໍາລັບຕົວຄວບຄຸມ Nanotec, ສະຫນອງຫນ້າທີ່ທີ່ຈໍາເປັນແລະຄວາມສາມາດໃນການສື່ສານ.
- ຖາມ: ຂ້ອຍສາມາດເລີ່ມຕົ້ນດ້ວຍ NanoLib ໄດ້ແນວໃດ?
- A: ເລີ່ມຕົ້ນໂດຍການນໍາເຂົ້າ NanoLib ເຂົ້າໄປໃນໂຄງການຂອງທ່ານ, ກໍານົດການຕັ້ງຄ່າໂຄງການ, ແລະການກໍ່ສ້າງໂຄງການຂອງທ່ານເພື່ອນໍາໃຊ້ຄຸນສົມບັດ NanoLib.
“`
ຄູ່ມືຜູ້ໃຊ້ NanoLib
C++
ໃຊ້ໄດ້ກັບຜະລິດຕະພັນ 1.3.0
ສະບັບຄູ່ມືຜູ້ໃຊ້: 1.4.2
ຈຸດປະສົງຂອງເອກະສານ ແລະສົນທິສັນຍາ
ເອກະສານນີ້ອະທິບາຍເຖິງການຕິດຕັ້ງ ແລະການນຳໃຊ້ຫ້ອງສະໝຸດ NanoLib ແລະມີເອກະສານອ້າງອີງເຖິງທຸກຊັ້ນຮຽນ ແລະໜ້າທີ່ສຳລັບການຂຽນໂປຼແກຼມຄວບຄຸມຂອງທ່ານເອງສຳລັບຕົວຄວບຄຸມ Nanotec. ພວກເຮົາໃຊ້ຕົວອັກສອນຕໍ່ໄປນີ້:
ຂໍ້ຄວາມທີ່ຂີດກ້ອງໝາຍເຖິງການອ້າງອີງຂ້າມ ຫຼື hyperlink.
Example 1: ສໍາລັບຄໍາແນະນໍາທີ່ແນ່ນອນກ່ຽວກັບ NanoLibAccessor, ເບິ່ງການຕິດຕັ້ງ. ຕົວຢ່າງample 2: ຕິດຕັ້ງໄດເວີ Ixxat ແລະເຊື່ອມຕໍ່ອະແດບເຕີ CAN-to-USB. ຂໍ້ຄວາມຕົວອຽງຫມາຍຄວາມວ່າ: ນີ້ແມ່ນວັດຖຸທີ່ມີຊື່, ເສັ້ນທາງເມນູ / ລາຍການ, ແຖບ / file ຊື່ ຫຼື (ຖ້າຈໍາເປັນ) ການສະແດງອອກເປັນພາສາຕ່າງປະເທດ.
Example 1: ເລືອກ File > ໃຫມ່ > ເອກະສານຫວ່າງເປົ່າ. ເປີດແຖບເຄື່ອງມືແລະເລືອກຄໍາເຫັນ. ຕົວຢ່າງample 2: ເອກະສານນີ້ແບ່ງຜູ້ໃຊ້ (= Nutzer; usuario; utente; utilisateur; utente ແລະອື່ນໆ) ຈາກ:
– ຜູ້ໃຊ້ພາກສ່ວນທີສາມ (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente ແລະອື່ນໆ). – ຜູ້ໃຊ້ສຸດທ້າຍ (= Endnutzer; usuario final; utente final; utilisateur final; utente finale ແລະອື່ນໆ).
Courier ຫມາຍຕັນລະຫັດຫຼືຄໍາສັ່ງການຂຽນໂປລແກລມ. ຕົວຢ່າງample 1: ຜ່ານ Bash, ໂທຫາ sudo ເຮັດການຕິດຕັ້ງເພື່ອຄັດລອກວັດຖຸທີ່ໃຊ້ຮ່ວມກັນ; ຈາກນັ້ນໂທຫາ ldconfig. ຕົວຢ່າງample 2: ໃຊ້ຟັງຊັນ NanoLibAccessor ຕໍ່ໄປນີ້ເພື່ອປ່ຽນລະດັບການບັນທຶກໃນ NanoLib:
// ***** C++ variant *****
void setLoggingLevel(ລະດັບ LogLevel);
ຂໍ້ຄວາມທີ່ກ້າຫານເນັ້ນໃສ່ຄໍາທີ່ມີຄວາມສໍາຄັນທີ່ສໍາຄັນ. ອີກທາງເລືອກໜຶ່ງ, ເຄື່ອງໝາຍອຸທານທີ່ມີວົງເລັບເນັ້ນເຖິງຄວາມສໍາຄັນ (!).
Example 1: ປົກປ້ອງຕົວທ່ານເອງ, ຄົນອື່ນໆ ແລະອຸປະກອນຂອງເຈົ້າ. ປະຕິບັດຕາມບັນທຶກຄວາມປອດໄພທົ່ວໄປຂອງພວກເຮົາທີ່ໂດຍທົ່ວໄປແລ້ວສາມາດໃຊ້ໄດ້ກັບທຸກຜະລິດຕະພັນ Nanotec.
Example 2: ສໍາລັບການປົກປ້ອງຂອງທ່ານເອງ, ຍັງປະຕິບັດຕາມບັນທຶກຄວາມປອດໄພສະເພາະທີ່ໃຊ້ກັບຜະລິດຕະພັນສະເພາະນີ້. verb to co-click ຫມາຍເຖິງການຄລິກຜ່ານປຸ່ມຫນູຮອງເພື່ອເປີດເມນູສະພາບການແລະອື່ນໆ.
Example 1: ຄລິກທີ່ປຸ່ມ file, ເລືອກ Rename, ແລະ rename ໄດ້ file. ຕົວຢ່າງample 2: ເພື່ອກວດເບິ່ງຄຸນສົມບັດ, ໃຫ້ຄລິກທີ່ປຸ່ມ file ແລະເລືອກຄຸນສົມບັດ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
4
ກ່ອນທີ່ທ່ານຈະເລີ່ມຕົ້ນ
ກ່ອນທີ່ທ່ານຈະເລີ່ມຕົ້ນການນໍາໃຊ້ NanoLib, ກະກຽມ PC ຂອງທ່ານແລະແຈ້ງໃຫ້ຕົວທ່ານເອງກ່ຽວກັບການນໍາໃຊ້ທີ່ຕັ້ງໃຈແລະຂໍ້ຈໍາກັດຫ້ອງສະຫມຸດໄດ້.
2.1 ຄວາມຕ້ອງການລະບົບ ແລະຮາດແວ
ແຈ້ງການຜິດປົກກະຕິຈາກການດໍາເນີນງານ 32-bit ຫຼືລະບົບຢຸດເຊົາການ! ໃຊ້, ແລະຮັກສາຢ່າງຕໍ່ເນື່ອງ, ເປັນລະບົບ 64-bit. ສັງເກດເບິ່ງການຢຸດ OEM ແລະ ~ ຄໍາແນະນໍາ.
NanoLib 1.3.0 ສະຫນັບສະຫນູນຜະລິດຕະພັນ Nanotec ທັງຫມົດທີ່ມີ CANopen, Modbus RTU (ຍັງ USB ໃນພອດ virtual com), Modbus TCP, EtherCat, ແລະ Profinet. ສໍາລັບ NanoLibs ເກົ່າ: ເບິ່ງ changelog ໃນ imprint ໄດ້. ຢູ່ໃນຄວາມສ່ຽງຂອງທ່ານເທົ່ານັ້ນ: ການນໍາໃຊ້ລະບົບມໍລະດົກ. ຫມາຍເຫດ: ປະຕິບັດຕາມຄໍາແນະນໍາ OEM ທີ່ຖືກຕ້ອງເພື່ອກໍານົດເວລາ latency ຕໍ່າທີ່ສຸດເທົ່າທີ່ເປັນໄປໄດ້ຖ້າທ່ານປະເຊີນກັບບັນຫາໃນເວລາທີ່ໃຊ້ອະແດບເຕີ USB ທີ່ອີງໃສ່ FTDI.
ຄວາມຕ້ອງການ (ລະບົບ 64-bit ບັງຄັບ)
Windows 10 ຫຼື 11 w/ Visual Studio 2019 ເວີຊັ່ນ 16.8 ຫຼືໃໝ່ກວ່າ ແລະ Windows SDK 10.0.20348.0 (ລຸ້ນ 2104) ຫຼືໃໝ່ກວ່າ
C++ redistributables 2017 ຫຼືສູງກວ່າ CANopen: Ixxat VCI ຫຼື PCAN ໄດເວີພື້ນຖານ (ທາງເລືອກ) ໂມດູນ EtherCat / Profinet DCP: Npcap ຫຼື WinPcap RESTful module: Npcap, WinPcap, ຫຼື admin ອະນຸຍາດໃຫ້
ຕິດຕໍ່ສື່ສານກັບ bootloaders ອີເທີເນັດ
Linux w/ Ubuntu 20.04 LTS ເຖິງ 24 (ທັງໝົດ x64 ແລະ arm64)
ສ່ວນຫົວຂອງ Kernel ແລະ libpopt-dev packet Profinet DCP: CAP_NET_ADMIN ແລະ CAP_NET_RAW abili-
ການເຊື່ອມຕໍ່ CANopen: Ixxat ECI driver ຫຼື Peak PCAN-USB adapter EtherCat: CAP_NET_ADMIN, CAP_NET_RAW ແລະ
ຄວາມສາມາດ CAP_SYS_NICE RESTful: CAP_NET_ADMIN ຄວາມສາມາດໃນການສື່ສານ w/ Eth-
ernet bootloaders (ແນະນໍາຍັງ: CAP_NET_RAW)
ພາສາ, ອະແດບເຕີ fieldbus, ສາຍ
C++ GCC 7 ຫຼືສູງກວ່າ (Linux)
EtherCAT: ສາຍ Ethernet VCP/USB hub: now uniform USB mass storage: USB cable REST: Ethernet cable CANopen: Ixxat USB-to-CAN V2; ນາ-
notec ZK-USB-CAN-1, Peak PCANUSB adapter No Ixxat ຮອງຮັບ Ubuntu ໃນ arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 ຫຼືອະແດັບເຕີທຽບເທົ່າ; ສາຍ USB ໃນພອດ com virtual (VCP)
Modbus TCP: ສາຍອີເທີເນັດຕາມເອກະສານຂໍ້ມູນຜະລິດຕະພັນ
2.2 ຈຸດປະສົງການນໍາໃຊ້ແລະຜູ້ຊົມ
NanoLib ເປັນຫ້ອງສະຫມຸດໂຄງການແລະອົງປະກອບຊອບແວສໍາລັບການດໍາເນີນງານຂອງ, ແລະການສື່ສານກັບ, Nanotec controllers ໃນລະດັບຄວາມກ້ວາງຂອງຄໍາຮ້ອງສະຫມັກອຸດສາຫະກໍາແລະສໍາລັບ programmers ຊໍານິຊໍານານເທົ່ານັ້ນ.
ເນື່ອງຈາກຮາດແວ (PC) ແລະລະບົບປະຕິບັດການທີ່ບໍ່ມີຄວາມສາມາດໃນເວລາຈິງ, NanoLib ບໍ່ແມ່ນສໍາລັບການນໍາໃຊ້ໃນແອັບພລິເຄຊັນທີ່ຕ້ອງການການເຄື່ອນໄຫວຫຼາຍແກນ synchronous ຫຼືໂດຍທົ່ວໄປແລ້ວມີຄວາມອ່ອນໄຫວຕໍ່ເວລາ.
ໃນກໍລະນີໃດກໍ່ຕາມ, ທ່ານອາດຈະປະສົມປະສານ NanoLib ເປັນອົງປະກອບຄວາມປອດໄພເຂົ້າໄປໃນຜະລິດຕະພັນຫຼືລະບົບ. ໃນການຈັດສົ່ງໃຫ້ຜູ້ໃຊ້ສຸດທ້າຍ, ທ່ານຕ້ອງເພີ່ມແຈ້ງການເຕືອນທີ່ສອດຄ້ອງກັນແລະຄໍາແນະນໍາສໍາລັບການນໍາໃຊ້ທີ່ປອດໄພແລະການດໍາເນີນງານທີ່ປອດໄພກັບແຕ່ລະຜະລິດຕະພັນທີ່ມີສ່ວນປະກອບທີ່ຜະລິດໂດຍ Nanotec. ທ່ານຕ້ອງຜ່ານແຈ້ງການເຕືອນທີ່ອອກໃຫ້ Nanotec ທັງໝົດໃຫ້ກັບຜູ້ໃຊ້ສຸດທ້າຍ.
2.3 ຂອບເຂດການຈັດສົ່ງແລະການຮັບປະກັນ
NanoLib ມາເປັນໂຟນເດີ *.zip ຈາກການດາວໂຫຼດຂອງພວກເຮົາ webສະຖານທີ່ສໍາລັບ EMEA / APAC ຫຼື AMERICA. ເກັບຮັກສາໄວ້ຢ່າງຖືກຕ້ອງແລະ unzip ການດາວໂຫຼດຂອງທ່ານກ່ອນທີ່ຈະຕັ້ງ. ຊຸດ NanoLib ປະກອບມີ:
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
5
2 ກ່ອນທີ່ທ່ານຈະເລີ່ມຕົ້ນ
ສ່ວນຫົວຂອງການໂຕ້ຕອບເປັນລະຫັດແຫຼ່ງ (API)
ຫນ້າທີ່ຫຼັກເປັນຫ້ອງສະຫມຸດໃນຮູບແບບຄູ່: nano-
ຫ້ອງສະຫມຸດທີ່ອໍານວຍຄວາມສະດວກໃນການສື່ສານ: nanolibm_ lib.dll
[yourfieldbus].dll ແລະອື່ນໆ.Exampໂຄງການ le: Example.sln (ສະຕູດິໂອ Visual
ໂຄງການ) ແລະ example.cpp (ຫຼັກ file)
ສໍາລັບຂອບເຂດຂອງການຮັບປະກັນ, ກະລຸນາສັງເກດ a) ຂໍ້ກໍານົດແລະເງື່ອນໄຂຂອງພວກເຮົາສໍາລັບ EMEA / APAC ຫຼື AMERICA ແລະ b) ຂໍ້ກໍານົດໃບອະນຸຍາດທັງຫມົດ. ໝາຍເຫດ: Nanotec ບໍ່ຮັບຜິດຊອບຕໍ່ຄວາມຜິດ ຫຼື ບໍ່ຖືກຕ້ອງຕາມຄຸນນະພາບ, ການຈັດການ, ການຕິດຕັ້ງ, ການດໍາເນີນງານ, ການນໍາໃຊ້, ແລະການບໍາລຸງຮັກສາອຸປະກອນພາກສ່ວນທີສາມ! ເພື່ອຄວາມປອດໄພອັນເນື່ອງມາຈາກ, ປະຕິບັດຕາມຄໍາແນະນໍາ OEM ທີ່ຖືກຕ້ອງສະເໝີ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
6
ສະຖາປັດຕະຍະກໍາ NanoLib
ໂຄງປະກອບການຊອບແວ modular ຂອງ NanoLib ຊ່ວຍໃຫ້ທ່ານຈັດລະບຽບ motor controller / fieldbus ທີ່ສາມາດປັບແຕ່ງໄດ້ໂດຍບໍ່ເສຍຄ່າປະມານຫຼັກທີ່ສ້າງໄວ້ກ່ອນຢ່າງເຂັ້ມງວດ. NanoLib ມີໂມດູນດັ່ງຕໍ່ໄປນີ້:
ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ (API)
ຫຼັກ NanoLib
ຫ້ອງຮຽນ Interface ແລະຜູ້ຊ່ວຍທີ່ຫ້ອງສະຫມຸດທີ່
ຫ້ອງສະຫມຸດການສື່ສານ Fieldbus ສະເພາະຫ້ອງສະຫມຸດທີ່
ເຂົ້າເຖິງທ່ານເພື່ອປະຕິບັດຫນ້າທີ່ API ຂອງຕົວຄວບຄຸມຂອງທ່ານເຮັດການໂຕ້ຕອບລະຫວ່າງ NanoLib
OD (ວັດຈະນານຸກົມວັດຖຸ)
ພົວພັນກັບຫ້ອງສະຫມຸດລົດເມ.
ຮາດແວຫຼັກ ແລະລົດເມ.
ອີງໃສ່ Func ຫຼັກ NanoLib-
ສັນຊາດ.
3.1 ການໂຕ້ຕອບຜູ້ໃຊ້
ການໂຕ້ຕອບຜູ້ໃຊ້ປະກອບດ້ວຍສ່ວນຕິດຕໍ່ຫົວ files ທ່ານສາມາດນໍາໃຊ້ເພື່ອເຂົ້າເຖິງຕົວກໍານົດການຄວບຄຸມ. ຫ້ອງຮຽນສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ທີ່ອະທິບາຍໄວ້ໃນ Classes / functions reference ອະນຸຍາດໃຫ້ທ່ານ:
ເຊື່ອມຕໍ່ທັງຮາດແວ (ອະແດບເຕີ fieldbus) ແລະອຸປະກອນຄວບຄຸມ. ເຂົ້າເຖິງ OD ຂອງອຸປະກອນ, ເພື່ອອ່ານ/ຂຽນຕົວກໍານົດການຄວບຄຸມ.
3.2 ແກນ NanoLib
ຫຼັກ NanoLib ມາພ້ອມກັບຫ້ອງສະຫມຸດນໍາເຂົ້າ nanolib.lib. ມັນປະຕິບັດຫນ້າທີ່ການໂຕ້ຕອບຜູ້ໃຊ້ແລະຮັບຜິດຊອບສໍາລັບ:
ກຳລັງໂຫຼດ ແລະຈັດການຫ້ອງສະໝຸດການສື່ສານ. ການສະຫນອງການທໍາງານຂອງການໂຕ້ຕອບຜູ້ໃຊ້ໃນ NanoLibAccessor. ຈຸດເຂົ້າສູ່ລະບົບການສື່ສານນີ້
ປັບຊຸດຂອງການປະຕິບັດງານທີ່ທ່ານສາມາດປະຕິບັດຢູ່ໃນຫ້ອງສະຫມຸດຫຼັກ NanoLib ແລະການສື່ສານ.
3.3 ຫ້ອງສະໝຸດການສື່ສານ
ນອກເຫນືອໄປຈາກ nanotec.services.nanolib.dll (ທີ່ເປັນປະໂຫຍດສໍາລັບ Plug & Drive Studio ທາງເລືອກຂອງທ່ານ), NanoLib ໃຫ້ຫ້ອງສະຫມຸດການສື່ສານດັ່ງຕໍ່ໄປນີ້:
nanolibm_canopen.dll nanolibm_modbus.dll
nanolibm_ethercat.dll nanolibm_restful-api.dll
nanolibm_usbmmsc.dll nanolibm_profinet.dll
ຫ້ອງສະໝຸດທັງໝົດຈັດວາງຊັ້ນຂໍ້ຄັດຫຍໍ້ຂອງຮາດແວລະຫວ່າງຫຼັກ ແລະ ຕົວຄວບຄຸມ. ຫຼັກຈະໂຫຼດພວກມັນໃນຕອນເລີ່ມຕົ້ນຈາກໂຟນເດີໂຄງການທີ່ກຳນົດໄວ້ ແລະໃຊ້ພວກມັນເພື່ອສ້າງການສື່ສານກັບຕົວຄວບຄຸມໂດຍໂປໂຕຄອນທີ່ສອດຄ້ອງກັນ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
7
ການເລີ່ມຕົ້ນ
ອ່ານວິທີການຕັ້ງຄ່າ NanoLib ສໍາລັບລະບົບປະຕິບັດການຂອງທ່ານຢ່າງຖືກຕ້ອງແລະວິທີການເຊື່ອມຕໍ່ຮາດແວຕາມຄວາມຕ້ອງການ.
4.1 ກະກຽມລະບົບຂອງທ່ານ
ກ່ອນທີ່ຈະຕິດຕັ້ງໄດເວີອະແດບເຕີ, ກະກຽມ PC ຂອງທ່ານຕາມລະບົບປະຕິບັດການທໍາອິດ. ເພື່ອກະກຽມ PC ຕາມ Windows OS ຂອງທ່ານ, ໃຫ້ຕິດຕັ້ງ MS Visual Studio ທີ່ມີສ່ວນຂະຫຍາຍ C++. ເພື່ອຕິດຕັ້ງ make ແລະ gcc ໂດຍ Linux Bash, ໂທຫາ sudo apt install build-essentials. ຈາກນັ້ນເປີດໃຊ້ຄວາມສາມາດ CAP_NET_ADMIN, CAP_NET_RAW, ແລະ CAP_SYS_NICE ສໍາລັບແອັບພລິເຄຊັນທີ່ໃຊ້ NanoLib: 1. ໂທຫາ sudo setcap 'cap_net_admin,cap_net_raw,cap_sys_nice+eip'
ຊື່>. 2. ພຽງແຕ່ຫຼັງຈາກນັ້ນ, ຕິດຕັ້ງໄດເວີອະແດບເຕີຂອງທ່ານ.
4.2 ຕິດຕັ້ງໄດເວີອະແດບເຕີ Ixxat ສໍາລັບ Windows
ພຽງແຕ່ຫຼັງຈາກການຕິດຕັ້ງໄດເວີເນື່ອງຈາກ, ທ່ານອາດຈະໃຊ້ອະແດບເຕີ USB-to-CAN V2 ຂອງ Ixxat. ອ່ານຄູ່ມືຜະລິດຕະພັນ USB drives, ເພື່ອຮຽນຮູ້ວ່າ / ວິທີການກະຕຸ້ນ virtual comport (VCP). 1. ດາວນ໌ໂຫລດແລະຕິດຕັ້ງ Ixxat ຂອງ VCI 4 driver ສໍາລັບ Windows ຈາກ www.ixxat.com. 2. ເຊື່ອມຕໍ່ອະແດບເຕີຂະໜາດນ້ອຍ USB-to-CAN V2 ຂອງ Ixxat ກັບ PC ຜ່ານ USB. 3. ໂດຍຕົວຈັດການອຸປະກອນ: ກວດເບິ່ງວ່າທັງໄດເວີ ແລະອະແດັບເຕີຖືກຕິດຕັ້ງຢ່າງຖືກຕ້ອງ ຫຼືຮັບຮູ້ຫຼືບໍ່.
4.3 ຕິດຕັ້ງໄດເວີ Peak adapter ສໍາລັບ Windows
ພຽງແຕ່ຫຼັງຈາກການຕິດຕັ້ງໄດເວີເນື່ອງຈາກ, ທ່ານອາດຈະໃຊ້ອະແດບເຕີ PCAN-USB ຂອງ Peak. ອ່ານຄູ່ມືຜະລິດຕະພັນ USB drives, ເພື່ອຮຽນຮູ້ວ່າ / ວິທີການກະຕຸ້ນ virtual comport (VCP). 1. ດາວນ໌ໂຫລດແລະຕິດຕັ້ງການຕັ້ງຄ່າໄດເວີອຸປະກອນ Windows (= ຊຸດການຕິດຕັ້ງ w/ ໄດເວີອຸປະກອນ, ເຄື່ອງມື, ແລະ
APIs) ຈາກ http://www.peak-system.com. 2. ເຊື່ອມຕໍ່ອະແດບເຕີ PCAN-USB ຂອງ Peak ກັບ PC ຜ່ານ USB. 3. ໂດຍຕົວຈັດການອຸປະກອນ: ກວດເບິ່ງວ່າທັງໄດເວີ ແລະອະແດັບເຕີໄດ້ຖືກຕິດຕັ້ງຢ່າງຖືກຕ້ອງ ຫຼືຮັບຮູ້ຫຼືບໍ່.
4.4 ຕິດຕັ້ງໄດເວີອະແດບເຕີ Ixxat ສໍາລັບ Linux
ພຽງແຕ່ຫຼັງຈາກການຕິດຕັ້ງໄດເວີເນື່ອງຈາກ, ທ່ານອາດຈະໃຊ້ອະແດບເຕີ USB-to-CAN V2 ຂອງ Ixxat. ໝາຍເຫດ: ອະແດັບເຕີທີ່ຮອງຮັບອື່ນໆຕ້ອງການການອະນຸຍາດຈາກທ່ານໂດຍ sudo chmod +777/dev/ttyACM* (* ໝາຍເລກອຸປະກອນ). ອ່ານຄູ່ມືຜະລິດຕະພັນ USB drives, ເພື່ອຮຽນຮູ້ວ່າ / ວິທີການກະຕຸ້ນ virtual comport (VCP). 1. ຕິດຕັ້ງຊອບແວທີ່ຈໍາເປັນສໍາລັບໄດເວີ ECI ແລະຄໍາຮ້ອງສະຫມັກ demo:
sudo apt-get update apt-get ຕິດຕັ້ງ libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 buildessential
2. ດາວໂຫຼດໄດເວີ ECI-for-Linux ຈາກ www.ixxat.com. Unzip ມັນຜ່ານ:
unzip eci_driver_linux_amd64.zip
3. ຕິດຕັ້ງໄດເວີຜ່ານ:
cd /EciLinux_amd/src/KernelModule sudo ເຮັດໃຫ້ການຕິດຕັ້ງ-usb
4. ກວດເບິ່ງການຕິດຕັ້ງໄດເວີທີ່ປະສົບຜົນສໍາເລັດໂດຍການລວບລວມແລະເລີ່ມຄໍາຮ້ອງສະຫມັກຕົວຢ່າງ:
cd /EciLinux_amd/src/EciDemos/ sudo ເຮັດໃຫ້ cd /EciLinux_amd/bin/release/ ./LinuxEciDemo
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
8
4 ການເລີ່ມຕົ້ນ
4.5 ຕິດຕັ້ງໄດເວີອະແດບເຕີ Peak ສໍາລັບ Linux
ພຽງແຕ່ຫຼັງຈາກການຕິດຕັ້ງໄດເວີເນື່ອງຈາກ, ທ່ານອາດຈະໃຊ້ອະແດບເຕີ PCAN-USB ຂອງ Peak. ໝາຍເຫດ: ອະແດັບເຕີທີ່ຮອງຮັບອື່ນໆຕ້ອງການການອະນຸຍາດຈາກທ່ານໂດຍ sudo chmod +777/dev/ttyACM* (* ໝາຍເລກອຸປະກອນ). ອ່ານຄູ່ມືຜະລິດຕະພັນ USB drives, ເພື່ອຮຽນຮູ້ວ່າ / ວິທີການກະຕຸ້ນ virtual comport (VCP). 1. ກວດເບິ່ງວ່າ Linux ຂອງທ່ານມີສ່ວນຫົວຂອງ kernel: ls /usr/src/linux-headers-`uname -r`. ຖ້າບໍ່, ຕິດຕັ້ງ
ເຂົາເຈົ້າ: sudo apt-get install linux-headers-`uname -r` 2. ພຽງແຕ່ຕອນນີ້, ຕິດຕັ້ງແພັກເກັດ libpopt-dev: sudo apt-get install libpopt-dev 3. ດາວໂຫລດຊຸດໄດເວີທີ່ຕ້ອງການ (peak-linux-driver- xxx.tar.gz) ຈາກ www.peak-system.com. 4. ເພື່ອ unpack ມັນ, ໃຊ້: tar xzf peak-linux-driver-xxx.tar.gz 5. ໃນໂຟນເດີທີ່ unpacked: ລວບລວມແລະຕິດຕັ້ງໄດເວີ, PCAN base library, ແລະອື່ນໆ: ເຮັດໃຫ້ທັງຫມົດ.
sudo ເຮັດໃຫ້ການຕິດຕັ້ງ 6. ເພື່ອກວດສອບຟັງຊັນ, ສຽບອະແດບເຕີ PCAN-USB ໃສ່.
a) ກວດເບິ່ງໂມດູນ kernel:
lsmod | grep pcan b) ... ແລະຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນ:
ls -l /usr/lib/libpcan*
ໝາຍເຫດ: ຖ້າບັນຫາ USB3 ເກີດຂຶ້ນ, ໃຫ້ໃຊ້ພອດ USB2.
4.6 ເຊື່ອມຕໍ່ຮາດແວຂອງທ່ານ
ເພື່ອໃຫ້ສາມາດດໍາເນີນການໂຄງການ NanoLib, ເຊື່ອມຕໍ່ຕົວຄວບຄຸມ Nanotec ທີ່ເຂົ້າກັນໄດ້ກັບ PC ໂດຍໃຊ້ອະແດບເຕີຂອງທ່ານ. 1. ໂດຍສາຍທີ່ເຫມາະສົມ, ເຊື່ອມຕໍ່ອະແດບເຕີຂອງທ່ານກັບຕົວຄວບຄຸມ. 2. ເຊື່ອມຕໍ່ອະແດບເຕີກັບ PC ຕາມແຜ່ນຂໍ້ມູນຂອງອະແດັບເຕີ. 3. ເປີດໃຊ້ເຄື່ອງຄວບຄຸມໂດຍໃຊ້ການສະຫນອງພະລັງງານທີ່ເຫມາະສົມ. 4. ຖ້າຕ້ອງການ, ໃຫ້ປ່ຽນການຕັ້ງຄ່າການສື່ສານຂອງຕົວຄວບຄຸມ Nanotec ຕາມຄໍາແນະນໍາໃນຄູ່ມືຜະລິດຕະພັນຂອງມັນ.
4.7 ໂຫຼດ NanoLib
ສໍາລັບການເລີ່ມຕົ້ນທໍາອິດທີ່ມີພື້ນຖານໄວແລະງ່າຍ, ທ່ານອາດຈະ (ແຕ່ບໍ່ຄວນ) ໃຊ້ ex ຂອງພວກເຮົາampໂຄງການ le. 1. ຂຶ້ນຢູ່ກັບພາກພື້ນຂອງທ່ານ: ດາວນ໌ໂຫລດ NanoLib ຈາກຂອງພວກເຮົາ webສະຖານທີ່ສໍາລັບ EMEA / APAC ຫຼື AMERICA. 2. Unzip ຊຸດຂອງ files / folders ແລະເຮັດເລືອກທາງເລືອກຫນຶ່ງ: ສໍາລັບໄວແລະງ່າຍພື້ນຖານ: ເບິ່ງການເລີ່ມຕົ້ນ exampໂຄງການ le. ສໍາລັບການປັບແຕ່ງຂັ້ນສູງໃນ Windows: ເບິ່ງການສ້າງໂຄງການ Windows ຂອງທ່ານເອງ. ສໍາລັບການປັບແຕ່ງຂັ້ນສູງໃນ Linux: ເບິ່ງການສ້າງໂຄງການ Linux ຂອງທ່ານເອງ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
9
ເລີ່ມຕົ້ນ exampໂຄງການ le
ດ້ວຍການໂຫຼດ NanoLib ຢ່າງຖືກຕ້ອງ, example ໂຄງການສະແດງໃຫ້ເຫັນທ່ານໂດຍຜ່ານການນໍາໃຊ້ NanoLib ກັບຕົວຄວບຄຸມ Nanotec. ຫມາຍເຫດ: ສໍາລັບແຕ່ລະຂັ້ນຕອນ, ຄໍາເຫັນໃນຕົວຢ່າງທີ່ສະຫນອງໃຫ້ample ລະຫັດອະທິບາຍຫນ້າທີ່ນໍາໃຊ້. ອະດີດampໂຄງການ le ປະກອບດ້ວຍ: '*_functions_example.*' files, ເຊິ່ງປະກອບດ້ວຍການປະຕິບັດສໍາລັບການໂຕ້ຕອບ NanoLib ປະຕິບັດຫນ້າທີ່ `*_callback_example.*' files, ເຊິ່ງປະກອບດ້ວຍການປະຕິບັດສໍາລັບ callbacks ຕ່າງໆ (ສະແກນ, ຂໍ້ມູນແລະ
ການບັນທຶກ) `ເມນູ_*.*' file, ເຊິ່ງປະກອບດ້ວຍເຫດຜົນຂອງເມນູແລະລະຫັດ Example.* file, ເຊິ່ງເປັນໂຄງການຕົ້ນຕໍ, ການສ້າງເມນູແລະການເລີ່ມຕົ້ນຕົວກໍານົດການນໍາໃຊ້ທັງຫມົດ S ໄດ້ampler_example.* file, ເຊິ່ງປະກອບດ້ວຍ example ການປະຕິບັດສໍາລັບ sampການນໍາໃຊ້ ler. ທ່ານສາມາດຊອກຫາ examples, ດ້ວຍຄໍາສັ່ງການເຄື່ອນໄຫວບາງຢ່າງສໍາລັບຮູບແບບການເຮັດວຽກຕ່າງໆ, ໃນຖານຂໍ້ມູນຄວາມຮູ້ທີ່ nanotec.com. ທັງໝົດແມ່ນໃຊ້ໄດ້ໃນ Windows ຫຼື Linux.
ໃນ Windows ດ້ວຍ Visual Studio 1. ເປີດ Example.sln file. 2. ເປີດ example.cpp. 3. ລວບລວມແລະດໍາເນີນການ exampລະຫັດ le.
ໃນ Linux ຜ່ານ Bash 1. Unzip ແຫຼ່ງ file, ທ່ອງໄປຫາໂຟນເດີທີ່ມີເນື້ອໃນ unzipped. ຕົ້ນຕໍ file ສໍາລັບ example ແມ່ນ
example.cpp. 2. ໃນ bash ໄດ້, ໂທ:
ກ. "sudo ເຮັດການຕິດຕັ້ງ" ເພື່ອຄັດລອກວັດຖຸທີ່ໃຊ້ຮ່ວມກັນແລະໂທຫາ ldconfig. ຂ. "ເຮັດທັງຫມົດ" ເພື່ອສ້າງການທົດສອບປະຕິບັດໄດ້. 3. ໂຟນເດີ bin ປະກອບດ້ວຍ ex ປະຕິບັດໄດ້ample file. ໂດຍ bash: ໄປທີ່ໂຟນເດີຜົນຜະລິດແລະພິມ ./exampເລ. ຖ້າຫາກວ່າບໍ່ມີຄວາມຜິດພາດເກີດຂຶ້ນ, ວັດຖຸທີ່ແບ່ງປັນຂອງທ່ານໄດ້ຖືກຕິດຕັ້ງຢ່າງຖືກຕ້ອງ, ແລະຫ້ອງສະຫມຸດຂອງທ່ານພ້ອມສໍາລັບການນໍາໃຊ້. ຖ້າຂໍ້ຜິດພາດອ່ານ ./example: ຜິດພາດໃນຂະນະທີ່ການໂຫຼດຫ້ອງສະຫມຸດແບ່ງປັນ: libnanolib.so: ບໍ່ສາມາດເປີດວັດຖຸທີ່ແບ່ງປັນໄດ້ file: ບໍ່ມີອັນນັ້ນ file ຫຼືໄດເລກະທໍລີ, ການຕິດຕັ້ງວັດຖຸທີ່ໃຊ້ຮ່ວມກັນລົ້ມເຫລວ. ໃນກໍລະນີນີ້, ປະຕິບັດຕາມຂັ້ນຕອນຕໍ່ໄປ. 4. ສ້າງໂຟນເດີໃຫມ່ພາຍໃນ /usr/local/lib (ສິດ admin ຕ້ອງການ). ເຂົ້າໄປໃນ bash, ດັ່ງນັ້ນພິມ:
sudo mkdir /usr/local/lib/nanotec
5. ຄັດລອກວັດຖຸທີ່ໃຊ້ຮ່ວມກັນທັງຫມົດຈາກ zip fileໂຟນເດີ lib ຂອງ:
ຕິດຕັ້ງ ./lib/*.so /usr/local/lib/nanotec/
6. ກວດເບິ່ງເນື້ອໃນຂອງໂຟເດີເປົ້າໝາຍດ້ວຍ:
ls -al /usr/local/lib/nanotec/
ມັນຄວນຈະລາຍຊື່ວັດຖຸທີ່ໃຊ້ຮ່ວມກັນ files ຈາກ lib folder. 7. ດໍາເນີນການ ldconfig ໃນໂຟນເດີນີ້:
sudo ldconfig /usr/local/lib/nanotec/
ອະດີດample ຖືກປະຕິບັດເປັນຄໍາຮ້ອງສະຫມັກ CLI ແລະສະຫນອງການໂຕ້ຕອບເມນູ. ລາຍການເມນູແມ່ນອີງໃສ່ບໍລິບົດ ແລະຈະຖືກເປີດໃຊ້ງານ ຫຼືປິດນຳໃຊ້, ຂຶ້ນກັບສະຖານະຂອງບໍລິບົດ. ພວກເຂົາສະເຫນີໃຫ້ທ່ານເລືອກແລະປະຕິບັດຫນ້າທີ່ຫ້ອງສະຫມຸດຕ່າງໆຕາມຂັ້ນຕອນການເຮັດວຽກປົກກະຕິສໍາລັບການຈັດການຕົວຄວບຄຸມ: 1. ກວດເບິ່ງ PC ສໍາລັບຮາດແວທີ່ເຊື່ອມຕໍ່ (ອະແດບເຕີ) ແລະລາຍຊື່ພວກມັນ. 2. ສ້າງການເຊື່ອມຕໍ່ກັບອະແດບເຕີ. 3. ສະແກນລົດເມສໍາລັບອຸປະກອນຄວບຄຸມທີ່ເຊື່ອມຕໍ່. 4. ເຊື່ອມຕໍ່ກັບອຸປະກອນ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
10
5 ເລີ່ມຕົ້ນ exampໂຄງການ le
5. ທົດສອບຟັງຊັນຫ້ອງສະໝຸດໜຶ່ງ ຫຼືຫຼາຍກວ່ານັ້ນ: ອ່ານ/ຂຽນຈາກ/ໄປຫາວັດຈະນານຸກົມວັດຖຸຂອງຕົວຄວບຄຸມ, ອັບເດດເຟີມແວ, ອັບໂຫຼດ ແລະ ແລ່ນໂປຣແກຣມ NanoJ, ໃຫ້ມໍເຕີແລ່ນ ແລະປບັມັນ, ຕັ້ງຄ່າ ແລະໃຊ້ການບັນທຶກ/s.ampເລີ
6. ປິດການເຊື່ອມຕໍ່, ທໍາອິດກັບອຸປະກອນ, ຫຼັງຈາກນັ້ນກັບອະແດບເຕີ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
11
ສ້າງໂຄງການ Windows ຂອງທ່ານເອງ
ສ້າງ, ລວບລວມແລະດໍາເນີນການໂຄງການ Windows ຂອງທ່ານເອງເພື່ອໃຊ້ NanoLib.
6.1 ນໍາເຂົ້າ NanoLib
ນໍາເຂົ້າສ່ວນຫົວ NanoLib files ແລະຫ້ອງສະຫມຸດຜ່ານ MS Visual Studio.
1. ເປີດ Visual Studio. 2. ຜ່ານການສ້າງໂຄງການໃຫມ່ > Console App C++ > ຕໍ່ໄປ: ເລືອກປະເພດໂຄງການ. 3. ຕັ້ງຊື່ໂຄງການຂອງທ່ານ (ທີ່ນີ້: NanolibTest) ເພື່ອສ້າງໂຟນເດີໂຄງການໃນ Solution Explorer. 4. ເລືອກ Finish. 5. ເປີດປ່ອງຢ້ຽມ file explorer ແລະນໍາທາງໄປຫາໂຟນເດີໂຄງການສ້າງໃຫມ່. 6. ສ້າງສອງໂຟເດີໃຫມ່, inc ແລະ lib. 7. ເປີດໂຟເດີແພັກເກັດ NanoLib. 8. ຈາກບ່ອນນັ້ນ: ຄັດລອກສ່ວນຫົວ files ຈາກໂຟນເດີລວມເຂົ້າໄປໃນໂຟນເດີໂຄງການ inc ຂອງທ່ານແລະທັງຫມົດ .lib ແລະ .dll
files ກັບໂຟນເດີໂຄງການໃຫມ່ຂອງທ່ານ lib. 9. ກວດເບິ່ງໂຟນເດີໂຄງການຂອງທ່ານສໍາລັບໂຄງສ້າງອັນເນື່ອງມາຈາກ, ສໍາລັບການຍົກຕົວຢ່າງample:
ect folder ສໍາລັບໂຄງສ້າງອັນເນື່ອງມາຈາກ:
. NanolibTest inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj Nanolibxproj.stervcx NanolibTest.sln
6.2 ຕັ້ງຄ່າໂຄງການຂອງທ່ານ
ໃຊ້ Solution Explorer ໃນ MS Visual Studio ເພື່ອຕັ້ງຄ່າໂຄງການ NanoLib. ຫມາຍເຫດ: ສໍາລັບການປະຕິບັດ NanoLib ທີ່ຖືກຕ້ອງ, ເລືອກເອົາການຕັ້ງຄ່າການປ່ອຍ (ບໍ່ແມ່ນ debug!) ໃນການຕັ້ງຄ່າໂຄງການ Visual C++; ຈາກນັ້ນສ້າງ ແລະເຊື່ອມຕໍ່ໂຄງການກັບ VC runtimes ຂອງ C++ redistributables [2022].
1. ໃນ Solution Explorer: ໄປທີ່ໂຟນເດີໂຄງການຂອງທ່ານ (ທີ່ນີ້: NanolibTest). 2. ກົດປຸ່ມຮ່ວມກັນເພື່ອເປີດເມນູສະພາບການ. 3. ເລືອກຄຸນສົມບັດ. 4. ເປີດໃຊ້ການຕັ້ງຄ່າທັງໝົດ ແລະທຸກເວທີ. 5. ເລືອກ C/C++ ແລະໄປທີ່ Additional Include Directories. 6. ໃສ່: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. ເລືອກ Linker ແລະໄປທີ່ Additional Library Directories. 8. ໃສ່: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. ຂະຫຍາຍຕົວເຊື່ອມຕໍ່ ແລະເລືອກ Input. 10.ໄປທີ່ Additional Dependencies ແລະໃສ່: nanolib.lib;%(AdditionalDependencies) 11.Confirm ຜ່ານ OK.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
12
6 ການສ້າງໂຄງການ Windows ຂອງທ່ານເອງ
12.ໄປທີ່ການຕັ້ງຄ່າ > C++ > ພາສາ > ມາດຕະຖານພາສາ > ISO C++17 ມາດຕະຖານ ແລະຕັ້ງມາດຕະຖານພາສາເປັນ C++17 (/std:c++17).
6.3 ສ້າງໂຄງການຂອງທ່ານ
ສ້າງໂຄງການ NanoLib ຂອງທ່ານໃນ MS Visual Studio. 1. ເປີດ *.cpp ຫຼັກ file (ທີ່ນີ້: nanolib_example.cpp) ແລະແກ້ໄຂລະຫັດ, ຖ້າຕ້ອງການ. 2. ເລືອກ Build > Configuration Manager. 3. ປ່ຽນແພລະຕະຟອມການແກ້ໄຂແບບເຄື່ອນໄຫວເປັນ x64. 4. ຢືນຢັນຜ່ານ Close. 5. ເລືອກ Build > Build solution. 6. ບໍ່ມີຂໍ້ຜິດພາດບໍ? ກວດເບິ່ງວ່າການລວບລວມຜົນຜະລິດຂອງທ່ານລາຍງານຢ່າງຖືກຕ້ອງ:
1>—— ເລີ່ມຕົ້ນສະອາດ: ໂຄງການ: NanolibTest, ການຕັ້ງຄ່າ: Debug x64 —–========== Clean: 1 ສໍາເລັດ, 0 ລົ້ມເຫລວ, 0 ຂ້າມ ==========
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
13
7 ການສ້າງໂຄງການ Linux ຂອງທ່ານເອງ
7 ການສ້າງໂຄງການ Linux ຂອງທ່ານເອງ
ສ້າງ, ລວບລວມແລະດໍາເນີນໂຄງການ Linux ຂອງທ່ານເອງເພື່ອໃຊ້ NanoLib. 1. ໃນຊຸດການຕິດຕັ້ງ NanoLib unzipped: ເປີດ /nanotec_nanolib. 2. ຊອກຫາວັດຖຸທີ່ໃຊ້ຮ່ວມກັນທັງໝົດໃນ tar.gz file. 3. ເລືອກຫນຶ່ງທາງເລືອກ: ຕິດຕັ້ງແຕ່ລະ lib ບໍ່ວ່າຈະມີ Makefile ຫຼືດ້ວຍມື.
7.1 ຕິດຕັ້ງວັດຖຸທີ່ໃຊ້ຮ່ວມກັນກັບ Makefile
ໃຊ້ Makefile ດ້ວຍ Linux Bash ເພື່ອຕິດຕັ້ງອັດຕະໂນມັດທັງໝົດ *.so files. 1. ຜ່ານ Bash: ໄປທີ່ໂຟນເດີທີ່ບັນຈຸ makefile. 2. ຄັດລອກວັດຖຸທີ່ໃຊ້ຮ່ວມກັນຜ່ານ:
sudo ເຮັດໃຫ້ການຕິດຕັ້ງ 3. ຢືນຢັນຜ່ານ:
ldconfig
7.2 ຕິດຕັ້ງວັດຖຸທີ່ໃຊ້ຮ່ວມກັນດ້ວຍມື
ໃຊ້ Bash ເພື່ອຕິດຕັ້ງທັງໝົດ *.so files ຂອງ NanoLib ດ້ວຍຕົນເອງ. 1. ຜ່ານ Bash: ສ້າງໂຟນເດີໃຫມ່ພາຍໃນ /usr/local/lib. 2. ສິດ Admin ຕ້ອງການ! ປະເພດ:
sudo mkdir /usr/local/lib/nanotec 3. ປ່ຽນໄປໃສ່ໂຟເດີຊຸດການຕິດຕັ້ງ unzipped. 4. ຄັດລອກວັດຖຸທີ່ໃຊ້ຮ່ວມກັນທັງໝົດຈາກໂຟນເດີ lib ຜ່ານ:
ຕິດຕັ້ງ ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. ກວດເບິ່ງເນື້ອໃນຂອງໂຟນເດີເປົ້າໝາຍຜ່ານ:
ls -al /usr/local/lib/nanotec/ 6. ກວດເບິ່ງວ່າວັດຖຸທີ່ໃຊ້ຮ່ວມກັນທັງໝົດຈາກໂຟນເດີ lib ຢູ່ໃນລາຍຊື່ຫຼືບໍ່. 7. ດໍາເນີນການ ldconfig ໃນໂຟນເດີນີ້ຜ່ານ:
sudo ldconfig /usr/local/lib/nanotec/
7.3 ສ້າງໂຄງການຂອງທ່ານ
ດ້ວຍການຕິດຕັ້ງວັດຖຸທີ່ໃຊ້ຮ່ວມກັນຂອງທ່ານ: ສ້າງໂຄງການໃຫມ່ສໍາລັບ Linux NanoLib ຂອງທ່ານ. 1. ຜ່ານ Bash: ສ້າງໂຟນເດີໂຄງການໃຫມ່ (ທີ່ນີ້: NanoLibTest) ຜ່ານ:
mkdir NanoLibTest cd NanoLibTest
2. ສຳເນົາສ່ວນຫົວ files ໄປຫາໂຟນເດີລວມ (ທີ່ນີ້: inc) ຜ່ານ: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp inc
3. ສ້າງຕົ້ນຕໍ file (NanoLibTest.cpp) ຜ່ານ: #include “accessor_factory.hpp” #include
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
14
7 ການສ້າງໂຄງການ Linux ຂອງທ່ານເອງ
int main(){ nlc::NanoLibAccessor *accessor = getNanoLibAccessor();
nlc::ResultBusHwIds ຜົນໄດ້ຮັບ = accessor->listAvailableBusHardware();
if(result.hasError()) { std::cout << result.getError() << std::endl; }
else{ std::cout << “Success” << std::endl; }
ລຶບອຸປະກອນເສີມ; ກັບຄືນ 0; }
4. ກວດເບິ່ງໂຟນເດີໂຄງການຂອງທ່ານສໍາລັບໂຄງສ້າງອັນເນື່ອງມາຈາກ:
. NanoLibTest
inc accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 ລວບລວມແລະທົດສອບໂຄງການຂອງທ່ານ
ເຮັດໃຫ້ Linux NanoLib ຂອງທ່ານກຽມພ້ອມສໍາລັບການນໍາໃຊ້ຜ່ານ Bash.
1. Via Bash: ລວບລວມຂໍ້ມູນຕົ້ນຕໍ file ຜ່ານ:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. ເຊື່ອມຕໍ່ການປະຕິບັດຮ່ວມກັນຜ່ານ:
g++ -Wall -Wextra -pedantic -I./inc -o ທົດສອບ NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. ດໍາເນີນໂຄງການທົດສອບຜ່ານ:
./test
4. ກວດເບິ່ງວ່າ Bash ຂອງທ່ານລາຍງານຢ່າງຖືກຕ້ອງ:
ຄວາມສໍາເລັດ
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
15
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ຊອກຫາທີ່ນີ້ບັນຊີລາຍຊື່ຂອງຫ້ອງຮຽນການໂຕ້ຕອບຜູ້ໃຊ້ NanoLib ແລະຫນ້າທີ່ສະມາຊິກຂອງເຂົາເຈົ້າ. ລາຍລະອຽດປົກກະຕິຂອງຫນ້າທີ່ປະກອບມີການແນະນໍາສັ້ນ, ຄໍານິຍາມຫນ້າທີ່ແລະພາລາມິເຕີ / ລາຍການກັບຄືນໄປບ່ອນ:
ExampleFunction () ບອກທ່ານໂດຍຫຍໍ້ກ່ຽວກັບຫນ້າທີ່ເຮັດວຽກ.
virtual void nlc::NanoLibAccessor::ExampleFunction (Param_a const & param_a, Param_b const & param_B)
ພາລາມິເຕີ param_a param_b
ກັບຄືນ ResultVoid
ຄໍາເຫັນເພີ່ມເຕີມຖ້າຈໍາເປັນ. ຄໍາເຫັນເພີ່ມເຕີມຖ້າຈໍາເປັນ.
8.1 NanoLibAccessor
ຫ້ອງຮຽນການໂຕ້ຕອບທີ່ໃຊ້ເປັນຈຸດເຂົ້າໄປຫາ NanoLib. ຂັ້ນຕອນການເຮັດວຽກປົກກະຕິເບິ່ງຄືວ່ານີ້:
1. ເລີ່ມຕົ້ນໂດຍການສະແກນຫາຮາດແວດ້ວຍ NanoLibAccessor.listAvailableBusHardware (). 2. ຕັ້ງຄ່າການສື່ສານດ້ວຍ BusHardwareOptions (). 3. ເປີດການເຊື່ອມຕໍ່ຮາດແວກັບ NanoLibAccessor.openBusHardwareWithProtocol (). 4. ສະແກນລົດເມສໍາລັບອຸປະກອນທີ່ເຊື່ອມຕໍ່ດ້ວຍ NanoLibAccessor.scanDevices (). 5. ເພີ່ມອຸປະກອນທີ່ມີ NanoLibAccessor.addDevice (). 6. ເຊື່ອມຕໍ່ອຸປະກອນດ້ວຍ NanoLibAccessor.connectDevice (). 7. ຫຼັງຈາກສໍາເລັດການດໍາເນີນການ, ຕັດການເຊື່ອມຕໍ່ອຸປະກອນທີ່ມີ NanoLibAccessor.disconnectDevice (). 8. ເອົາອຸປະກອນອອກດ້ວຍ NanoLibAccessor.removeDevice (). 9. ປິດການເຊື່ອມຕໍ່ຮາດແວກັບ NanoLibAccessor.closeBusHardware ().
NanoLibAccessor ມີຫນ້າທີ່ສະມາຊິກສາທາລະນະດັ່ງຕໍ່ໄປນີ້:
listAvailableBusHardware () ໃຊ້ຟັງຊັນນີ້ເພື່ອລາຍຊື່ຮາດແວ fieldbus ທີ່ມີຢູ່.
ຜົນໄດ້ຮັບ virtualBusHwIds nlc::NanoLibAccessor::listAvailableBusHardware ()
ຕອບຜົນໄດ້ຮັບBusHwIds
ສົ່ງ Array ID fieldbus.
openBusHardwareWithProtocol () ໃຊ້ຟັງຊັນນີ້ເພື່ອເຊື່ອມຕໍ່ຮາດແວລົດເມ.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)
ພາລາມິເຕີ busHwId busHwOpt
ກັບຄືນ ResultVoid
ລະບຸ fieldbus ທີ່ຈະເປີດ. ລະບຸຕົວເລືອກການເປີດ fieldbus. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
isBusHardwareOpen () ໃຊ້ຟັງຊັນນີ້ເພື່ອກວດເບິ່ງວ່າການເຊື່ອມຕໍ່ຮາດແວ fieldbus ຂອງທ່ານເປີດຢູ່.
virtual ResultVoid nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
16
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ພາຣາມິເຕີ BusHardwareId ກັບຄືນຄວາມຈິງ
ບໍ່ຖືກຕ້ອງ
ລະບຸແຕ່ລະ fieldbus ທີ່ຈະເປີດ. ຮາດແວເປີດຢູ່. ຮາດແວຖືກປິດ.
getProtocolSpecificAccessor () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບເອົາວັດຖຸອຸປະກອນເຂົ້າເຖິງສະເພາະໂປຣໂຕຄໍ.
virtual ResultVoid nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)
ພາຣາມິເຕີ busHwId ຕອບ ResultVoid
ລະບຸ fieldbus ເພື່ອເອົາຕົວເຊື່ອມຕໍ່ສໍາລັບ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
getProfinetDCP () ໃຊ້ຟັງຊັນນີ້ເພື່ອສົ່ງຄືນການອ້າງອີງເຖິງການໂຕ້ຕອບ Profinet DCP.
Virtual ProfinetDCP ແລະ getProfinetDCP ()
ສົ່ງຄືນ ProfinetDCP
getSamplerInterface () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບການອ້າງອີງເຖິງ sampler ໃນການໂຕ້ຕອບ.
virtual SamplerInterface & getSamplerInterface ()
ສົ່ງຄືນ SamplerInterface
ຫມາຍເຖິງ sampler interface class.
setBusState () ໃຊ້ຟັງຊັນນີ້ເພື່ອກໍານົດສະຖານະສະເພາະ bus-protocol.
virtual ResultVoid nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)
ພາຣາມິເຕີສະຖານະ busHwId
ກັບຄືນ ResultVoid
ລະບຸ fieldbus ທີ່ຈະເປີດ. ກຳນົດສະຖານະສະເພາະລົດເມເປັນຄ່າສະຕຣິງ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
scanDevices () ໃຊ້ຟັງຊັນນີ້ເພື່ອສະແກນຫາອຸປະກອນໃນເຄືອຂ່າຍ.
virtual ResultDeviceIds nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* callback)
ພາຣາມິເຕີ busHwId callback
ຕອບ ResultDeviceIds IOError
ລະບຸ fieldbus ເພື່ອສະແກນ. NlcScanBusCallback ຕົວຕິດຕາມຄວາມຄືບຫນ້າ. ສົ່ງ Array ID ອຸປະກອນ. ແຈ້ງການວ່າອຸປະກອນບໍ່ໄດ້ພົບເຫັນ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
17
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
addDevice ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອເພີ່ມອຸປະກອນລົດເມທີ່ອະທິບາຍໂດຍ deviceId ໃສ່ລາຍການອຸປະກອນພາຍໃນຂອງ NanoLib, ແລະເພື່ອສົ່ງຄືນອຸປະກອນ Handle ສໍາລັບມັນ.
Virtual ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)
ພາຣາມິເຕີ deviceId ຕອບ ResultDeviceHandle
ລະບຸອຸປະກອນເພື່ອເພີ່ມໃສ່ລາຍຊື່. ມອບຕົວຈັບອຸປະກອນ.
connectDevice () ໃຊ້ຟັງຊັນນີ້ເພື່ອເຊື່ອມຕໍ່ອຸປະກອນໂດຍ deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultVoid
IOError
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ເຊື່ອມຕໍ່ກັບ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ. ແຈ້ງການວ່າອຸປະກອນບໍ່ໄດ້ພົບເຫັນ.
getDeviceName () ໃຊ້ຟັງຊັນນີ້ເພື່ອເອົາຊື່ຂອງອຸປະກອນໂດຍ deviceHandle.
virtual ResultString nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultString
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບຊື່ສໍາລັບ. ສົ່ງຊື່ອຸປະກອນເປັນສະຕຣິງ.
getDeviceProductCode () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບເອົາລະຫັດຜະລິດຕະພັນຂອງອຸປະກອນໂດຍ deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultInt
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບລະຫັດຜະລິດຕະພັນສໍາລັບ. ສົ່ງລະຫັດຜະລິດຕະພັນເປັນຈໍານວນເຕັມ.
getDeviceVendorId () ໃຊ້ຟັງຊັນນີ້ເພື່ອເອົາ ID ຜູ້ຂາຍອຸປະກອນໂດຍ deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultInt
ຊັບພະຍາກອນບໍ່ສາມາດໃຊ້ໄດ້
ລະບຸອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບ ID ຜູ້ຂາຍສໍາລັບ. ສົ່ງ ID ຜູ້ຂາຍເປັນຈໍານວນເຕັມ. ແຈ້ງໃຫ້ຊາບວ່າບໍ່ພົບຂໍ້ມູນ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
18
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
getDeviceId () ໃຊ້ຟັງຊັນນີ້ເພື່ອເອົາ ID ຂອງອຸປະກອນສະເພາະຈາກລາຍຊື່ພາຍໃນ NanoLib.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)
ພາລາມິເຕີ deviceHandle ກັບຄືນ ResultDeviceId
ລະບຸອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບ ID ອຸປະກອນສໍາລັບ. ສົ່ງ ID ອຸປະກອນ.
getDeviceIds () ໃຊ້ຟັງຊັນນີ້ເພື່ອເອົາ ID ອຸປະກອນທັງໝົດຈາກລາຍຊື່ພາຍໃນ NanoLib.
Virtual ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()
ຕອບ ResultDeviceIds
ສົ່ງລາຍຊື່ ID ອຸປະກອນ.
getDeviceUid () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບເອົາ ID ທີ່ເປັນເອກະລັກຂອງອຸປະກອນ (96 bit / 12 bytes) ໂດຍ deviceHandle.
virtual ResultArrayByte nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)
ພາລາມິເຕີອຸປະກອນHandle ກັບຄືນ ResultArrayByte
ຊັບພະຍາກອນບໍ່ສາມາດໃຊ້ໄດ້
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບ ID ທີ່ເປັນເອກະລັກ. ສົ່ງ ID ທີ່ເປັນເອກະລັກເປັນອາເຣ byte. ແຈ້ງໃຫ້ຊາບວ່າບໍ່ພົບຂໍ້ມູນ.
getDeviceSerialNumber () ໃຊ້ຟັງຊັນນີ້ເພື່ອເອົາເລກລໍາດັບຂອງອຸປະກອນໂດຍ deviceHandle.
Virtual ResultString NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultString
ຊັບພະຍາກອນບໍ່ສາມາດໃຊ້ໄດ້
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບໝາຍເລກຊີຣຽວ. ສົ່ງໝາຍເລກຊີຣຽວເປັນສະຕຣິງ. ແຈ້ງໃຫ້ຊາບວ່າບໍ່ພົບຂໍ້ມູນ.
getDeviceHardwareGroup () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບເອົາກຸ່ມຮາດແວຂອງອຸປະກອນລົດເມໂດຍ deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultInt
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບກຸ່ມຮາດແວສໍາລັບ.
ສົ່ງກຸ່ມຮາດແວເປັນຈໍານວນເຕັມ.
getDeviceHardwareVersion () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບເອົາລຸ້ນຮາດແວຂອງອຸປະກອນລົດເມໂດຍ deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
19
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ຕົວກໍານົດການອຸປະກອນ Handle
ກັບຄືນ
ResultString ResourceUnavailable
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບລຸ້ນຮາດແວ. ສົ່ງຊື່ອຸປະກອນເປັນສະຕຣິງ. ແຈ້ງໃຫ້ຊາບວ່າບໍ່ພົບຂໍ້ມູນ.
getDeviceFirmwareBuildId () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບເອົາ firmware build ID ຂອງອຸປະກອນ bus ໂດຍ deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultString
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບ firmware build ID ສໍາລັບ.
ສົ່ງຊື່ອຸປະກອນເປັນສະຕຣິງ.
getDeviceBootloaderVersion () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບເອົາເວີຊັນ bootloader ຂອງອຸປະກອນລົດເມໂດຍ deviceHandle.
virtual ResultInt nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)
ຕົວກໍານົດການອຸປະກອນ Handle
ກັບຄືນ
ResultInt Resource Unavailable
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບເວີຊັນ bootloader ສໍາລັບ. ສົ່ງເວີຊັນ bootloader ເປັນຈຳນວນເຕັມ. ແຈ້ງໃຫ້ຊາບວ່າບໍ່ພົບຂໍ້ມູນ.
getDeviceBootloaderBuildId () ໃຊ້ຟັງຊັນນີ້ເພື່ອຮັບເອົາ bootloader ກໍ່ສ້າງ ID ຂອງອຸປະກອນລົດເມໂດຍ deviceHandle.
virtual ResultDeviceId nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultString
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບ bootloader build ID ສໍາລັບ.
ສົ່ງຊື່ອຸປະກອນເປັນສະຕຣິງ.
rebootDevice () ໃຊ້ຟັງຊັນນີ້ເພື່ອ reboot ອຸປະກອນໂດຍ deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultVoid
ລະບຸ fieldbus ເພື່ອ reboot. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
getDeviceState () ໃຊ້ຟັງຊັນນີ້ເພື່ອໃຫ້ໄດ້ສະຖານະສະເພາະອຸປະກອນ-ໂປຣໂຕຄໍ.
virtual ResultString nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)
ຕົວກໍານົດການອຸປະກອນ Handle
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບສະຖານະສໍາລັບ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
20
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ຕອບ ResultString
ສົ່ງຊື່ອຸປະກອນເປັນສະຕຣິງ.
setDeviceState () ໃຊ້ຟັງຊັນນີ້ເພື່ອຕັ້ງສະຖານະສະເພາະອຸປະກອນ-ໂປຣໂຕຄໍ.
virtual ResultVoid nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)
ສະຖານະອຸປະກອນການຈັດການ
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ກໍານົດສະຖານະສໍາລັບ. ກຳນົດສະຖານະສະເພາະລົດເມເປັນຄ່າສະຕຣິງ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
getConnectionState ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອໃຫ້ໄດ້ສະຖານະການເຊື່ອມຕໍ່ທີ່ຮູ້ຈັກຫຼ້າສຸດຂອງອຸປະກອນໂດຍ deviceHandle (= Disconnected, Connected, ConnectedBootloader)
virtual ResultConnectionState nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultConnectionState
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບສະຖານະການເຊື່ອມຕໍ່ສໍາລັບ.
ສົ່ງສະຖານະການເຊື່ອມຕໍ່ (= Disconnected, Connected, ConnectedBootloader).
checkConnectionState ()
ພຽງແຕ່ຖ້າສະຖານະທີ່ຮູ້ຈັກສຸດທ້າຍບໍ່ໄດ້ຕັດການເຊື່ອມຕໍ່: ໃຊ້ຟັງຊັນນີ້ເພື່ອກວດສອບແລະອາດຈະປັບປຸງສະຖານະການເຊື່ອມຕໍ່ຂອງອຸປະກອນສະເພາະໂດຍ deviceHandle ແລະໂດຍການທົດສອບການເຮັດວຽກສະເພາະຫຼາຍຮູບແບບ.
virtual ResultConnectionState nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultConnectionState
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ກວດເບິ່ງສະຖານະການເຊື່ອມຕໍ່ສໍາລັບ.
ສົ່ງສະຖານະການເຊື່ອມຕໍ່ (= ບໍ່ຕັດການເຊື່ອມຕໍ່).
assignObjectDictionary () ໃຊ້ຟັງຊັນຄູ່ມືນີ້ເພື່ອມອບໝາຍວັດຈະນານຸກົມວັດຖຸ (OD) ໃຫ້ກັບອຸປະກອນຈັດການດ້ວຍຕົວຂອງທ່ານເອງ.
virtual ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)
ຕົວກໍານົດການອຸປະກອນHandle objectDictionary
ຕອບ ResultObjectDictionary
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ມອບໝາຍ OD ໃຫ້. ສະແດງຄຸນສົມບັດຂອງວັດຈະນານຸກົມວັດຖຸ.
autoAssignObjectDictionary ()
ໃຊ້ອັດຕະໂນມັດນີ້ເພື່ອໃຫ້ NanoLib ມອບໝາຍວັດຈະນານຸກົມວັດຖຸ (OD) ໃຫ້ກັບອຸປະກອນ Handle. ເມື່ອຊອກຫາ ແລະໂຫຼດ OD ທີ່ເໝາະສົມ, NanoLib ຈະມອບໝາຍໃຫ້ອຸປະກອນໂດຍອັດຕະໂນມັດ. ຫມາຍເຫດ: ຖ້າ OD ທີ່ເຂົ້າກັນໄດ້ໄດ້ຖືກໂຫລດຢູ່ໃນຫ້ອງສະຫມຸດວັດຖຸແລ້ວ, NanoLib ຈະໃຊ້ມັນໂດຍອັດຕະໂນມັດໂດຍບໍ່ມີການສະແກນໄດເລກະທໍລີທີ່ສົ່ງມາ.
virtual ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & DictionariesLocationPath)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
21
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ຕົວກໍານົດການອຸປະກອນ Handle
ກັບຄືນ
ວັດຈະນານຸກົມLocationPath ResultObjectDictionary
ລະບຸວ່າອຸປະກອນລົດເມ NanoLib ໃດຈະສະແກນຫາ OD ທີ່ເໝາະສົມໂດຍອັດຕະໂນມັດ. ລະບຸເສັ້ນທາງໄປຫາໄດເລກະທໍລີ OD. ສະແດງຄຸນສົມບັດຂອງວັດຈະນານຸກົມວັດຖຸ.
getAssignedObjectDictionary ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອເອົາວັດຈະນານຸກົມວັດຖຸມອບໝາຍໃຫ້ອຸປະກອນໂດຍ deviceHandle.
virtual ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const device
ມືຈັບ)
ພາລາມິເຕີ deviceHandle ກັບຄືນ ResultObjectDictionary
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ໄດ້ຮັບ OD ທີ່ໄດ້ຮັບມອບຫມາຍສໍາລັບ. ສະແດງຄຸນສົມບັດຂອງວັດຈະນານຸກົມວັດຖຸ.
getObjectDictionaryLibrary () ຟັງຊັນນີ້ສົ່ງຄືນການອ້າງອີງ OdLibrary.
Virtual OdLibrary&nlc::NanoLibAccessor::getObjectDictionaryLibrary ()
ສົ່ງຄືນ OdLibrary&
ເປີດຫ້ອງສະໝຸດ OD ທັງໝົດ ແລະວັດຈະນານຸກົມວັດຖຸຂອງມັນ.
setLoggingLevel () ໃຊ້ຟັງຊັນນີ້ເພື່ອກໍານົດລາຍລະອຽດບັນທຶກທີ່ຈໍາເປັນ (ແລະບັນທຶກ file ຂະຫນາດ). ລະດັບເລີ່ມຕົ້ນແມ່ນຂໍ້ມູນ.
virtual void nlc::NanoLibAccessor::setLoggingLevel (ລະດັບບັນທຶກລະດັບ)
ລະດັບພາລາມິເຕີ
ລາຍລະອຽດບັນທຶກດັ່ງຕໍ່ໄປນີ້ແມ່ນເປັນໄປໄດ້:
0 = Trace 1 = Debug 2 = ຂໍ້ມູນ 3 = Warn 4 = Error 5 = Critical 6 = Off
ລະດັບຕໍ່າສຸດ (ບັນທຶກທີ່ໃຫຍ່ທີ່ສຸດ file); ບັນທຶກລາຍລະອຽດທີ່ເປັນໄປໄດ້, ບວກກັບຊອບແວເລີ່ມຕົ້ນ / ຢຸດ. ບັນທຶກຂໍ້ມູນການດີບັກ (= ຜົນໄດ້ຮັບຊົ່ວຄາວ, ເນື້ອຫາທີ່ສົ່ງຫຼືໄດ້ຮັບ, ແລະອື່ນໆ) ລະດັບເລີ່ມຕົ້ນ; ບັນທຶກຂໍ້ຄວາມຂໍ້ມູນຂ່າວສານ. ບັນຫາບັນທຶກທີ່ໄດ້ເກີດຂຶ້ນແຕ່ຈະບໍ່ໄດ້ຢຸດເຊົາວິທີການໃນປັດຈຸບັນ. ບັນທຶກພຽງແຕ່ບັນຫາຮ້າຍແຮງທີ່ຢຸດລະບົບການ. ລະດັບສູງສຸດ (ບັນທຶກຂະຫນາດນ້ອຍສຸດ file); ປິດການຕັດໄມ້; ບໍ່ມີບັນທຶກເພີ່ມເຕີມເລີຍ. ບໍ່ມີການບັນທຶກໃດໆ.
setLoggingCallback ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອຕັ້ງຕົວຊີ້ການເອີ້ນຄືນບັນທຶກ ແລະໂມດູນບັນທຶກ (= ຫ້ອງສະໝຸດ) ສຳລັບການເອີ້ນຄືນນັ້ນ (ບໍ່ແມ່ນສຳລັບຕົວຕັດໄມ້ເອງ).
virtual void nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* callback, const nlc::LogModule & logModule)
ພາລາມິເຕີ *callback logModule
ຕັ້ງຄ່າຕົວຊີ້ການເອີ້ນຄືນ. ປັບການໂທກັບຄືນ (ບໍ່ແມ່ນ logger!) ກັບຫ້ອງສະຫມຸດຂອງທ່ານ.
0 = NanolibCore 1 = NanolibCANopen 2 = NanolibModbus 3 = NanolibEtherCAT
ເປີດໃຊ້ການໂທກັບສໍາລັບຫຼັກຂອງ NanoLib ເທົ່ານັ້ນ. ເປີດໃຊ້ CANopen-only callback. ເປີດໃຊ້ການໂທກັບ Modbus ເທົ່ານັ້ນ. ເປີດໃຊ້ການໂທກັບ EtherCAT ເທົ່ານັ້ນ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
22
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
4 = NanolibRest 5 = NanolibUSB
ເປີດໃຊ້ການໂທກັບ REST ເທົ່ານັ້ນ. ເປີດໃຊ້ການໂທກັບ USB ເທົ່ານັ້ນ.
unsetLoggingCallback () ໃຊ້ຟັງຊັນນີ້ເພື່ອຍົກເລີກຕົວຊີ້ການໂທກັບການບັນທຶກ.
virtual void nlc::NanoLibAccessor::unsetLoggingCallback ()
readNumber () ໃຊ້ຟັງຊັນນີ້ເພື່ອອ່ານຄ່າຕົວເລກຈາກວັດຈະນານຸກົມວັດຖຸ.
virtual ResultInt nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)
ຕົວກໍານົດການອຸປະກອນHandle odIndex
ຕອບ ResultInt
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອ່ານຈາກ. ລະບຸດັດຊະນີ (ຍ່ອຍ-) ທີ່ຈະອ່ານຈາກ. ສົ່ງຄ່າຕົວເລກທີ່ບໍ່ສາມາດແປໄດ້ (ສາມາດເຊັນ, ບໍ່ໄດ້ເຊັນ, fix16.16 bit ຄ່າ).
readNumberArray () ໃຊ້ຟັງຊັນນີ້ເພື່ອອ່ານ array ຕົວເລກຈາກວັດຈະນານຸກົມວັດຖຸ.
virtual ResultArrayInt nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)
ພາລາມິເຕີ deviceHandle index
ຕອບ ResultArrayInt
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອ່ານຈາກ. ດັດຊະນີວັດຖຸອາເຣ. ສົ່ງ array ຈຳນວນເຕັມ.
readBytes () ໃຊ້ຟັງຊັນນີ້ເພື່ອອ່ານ bytes arbitrary (ຂໍ້ມູນວັດຖຸໂດເມນ) ຈາກວັດຈະນານຸກົມວັດຖຸ.
virtual ResultArrayByte nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)
ຕົວກໍານົດການອຸປະກອນHandle odIndex
ຕອບ ResultArrayByte
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອ່ານຈາກ. ລະບຸດັດຊະນີ (ຍ່ອຍ-) ທີ່ຈະອ່ານຈາກ. ຈັດສົ່ງອາເຣ byte.
readString () ໃຊ້ຟັງຊັນນີ້ເພື່ອອ່ານ strings ຈາກໄດເລກະທໍລີວັດຖຸ.
virtual ResultString nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)
ຕົວກໍານົດການອຸປະກອນHandle odIndex
ຕອບ ResultString
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອ່ານຈາກ. ລະບຸດັດຊະນີ (ຍ່ອຍ-) ທີ່ຈະອ່ານຈາກ. ສົ່ງຊື່ອຸປະກອນເປັນສະຕຣິງ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
23
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
writeNumber () ໃຊ້ຟັງຊັນນີ້ເພື່ອຂຽນຄ່າຕົວເລກໃສ່ໄດເລກະທໍລີວັດຖຸ.
virtual ResultVoid nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, ຄ່າ int64_t, const OdIndex odIndex, unsigned int bitLength)
ພາຣາມິເຕີອຸປະກອນຈັດການຄ່າ odIndex bitLength
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ຂຽນຫາ. ຄ່າທີ່ບໍ່ໄດ້ແປ (ສາມາດເຊັນ, ບໍ່ໄດ້ເຊັນ, ແກ້ໄຂ 16.16). ລະບຸດັດຊະນີ (ຍ່ອຍ-) ທີ່ຈະອ່ານຈາກ. ຄວາມຍາວເປັນບິດ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
writeBytes () ໃຊ້ຟັງຊັນນີ້ເພື່ອຂຽນ bytes arbitrary (ຂໍ້ມູນວັດຖຸໂດເມນ) ໄປຫາໄດເລກະທໍລີວັດຖຸ.
virtual ResultVoid nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & ຂໍ້ມູນ, const OdIndex odIndex)
ພາລາມິເຕີອຸປະກອນຈັດການຂໍ້ມູນ odIndex
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ຂຽນຫາ. Byte vector / array. ລະບຸດັດຊະນີ (ຍ່ອຍ-) ທີ່ຈະອ່ານຈາກ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
uploadFirmware ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອອັບເດດເຟີມແວຕົວຄວບຄຸມຂອງທ່ານ.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* ໂທກັບ)
ພາລາມິເຕີອຸປະກອນຈັດການ fwData NlcDataTransferCallback
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອັບເດດ. Array ມີຂໍ້ມູນເຟີມແວ. ຕົວຕິດຕາມຄວາມຄືບໜ້າຂອງຂໍ້ມູນ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
uploadFirmwareFromFile ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອອັບເດດເຟີມແວຕົວຄວບຄຸມຂອງທ່ານໂດຍການອັບໂຫລດຂອງມັນ file.
virtual ResultVoid nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileເສັ້ນທາງ, NlcDataTransferCallback* callback)
ພາລາມິເຕີ deviceHandle absoluteFileເສັ້ນທາງ NlcDataTransferCallback
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອັບເດດ. ເສັ້ນທາງໄປ file ປະກອບມີຂໍ້ມູນເຟີມແວ (std::string). ຕົວຕິດຕາມຄວາມຄືບໜ້າຂອງຂໍ້ມູນ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
24
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
uploadBootloader ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອອັບເດດເຄື່ອງຄວບຄຸມ Bootloader ຂອງທ່ານ.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* ໂທກັບ)
ພາລາມິເຕີອຸປະກອນຈັດການ btData NlcDataTransferCallback
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອັບເດດ. Array ທີ່ມີຂໍ້ມູນ bootloader. ຕົວຕິດຕາມຄວາມຄືບໜ້າຂອງຂໍ້ມູນ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
uploadBootloaderFromFile ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອອັບເດດເຄື່ອງຄວບຄຸມ bootloader ຂອງທ່ານໂດຍການອັບໂຫລດຂອງມັນ file.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileເສັ້ນທາງ, NlcDataTransferCallback* callback)
ພາລາມິເຕີອຸປະກອນຈັດການ bootloaderAbsoluteFileເສັ້ນທາງ NlcDataTransferCallback
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອັບເດດ. ເສັ້ນທາງໄປ file ປະກອບມີຂໍ້ມູນ bootloader (std::string). ຕົວຕິດຕາມຄວາມຄືບໜ້າຂອງຂໍ້ມູນ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
uploadBootloaderFirmware ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອອັບເດດເຄື່ອງຄວບຄຸມ bootloader ແລະເຟີມແວຂອງທ່ານ.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* ໂທກັບ)
ພາຣາມິເຕີອຸປະກອນຈັດການ btData fwData NlcDataTransferCallback
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອັບເດດ. Array ທີ່ມີຂໍ້ມູນ bootloader. Array ມີຂໍ້ມູນເຟີມແວ. ຕົວຕິດຕາມຄວາມຄືບໜ້າຂອງຂໍ້ມູນ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
uploadBootloaderFirmwareFromFile ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອອັບເດດເຄື່ອງຄວບຄຸມ bootloader ແລະເຟີມແວຂອງທ່ານໂດຍການອັບໂຫລດ files.
virtual ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileເສັ້ນທາງ, const std::string & absoluteFileເສັ້ນທາງ, NlcDataTransferCallback* callback)
ພາລາມິເຕີອຸປະກອນຈັດການ bootloaderAbsoluteFileເສັ້ນທາງຢ່າງແທ້ຈິງFileເສັ້ນທາງ NlcDataTransferCallback
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອັບເດດ. ເສັ້ນທາງໄປ file ປະກອບມີຂໍ້ມູນ bootloader (std::string). ເສັ້ນທາງໄປ file ມີຂໍ້ມູນເຟີມແວ (uint8_t). ຕົວຕິດຕາມຄວາມຄືບໜ້າຂອງຂໍ້ມູນ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
25
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ອັບໂຫຼດNanoJ ()
ໃຊ້ຟັງຊັນສາທາລະນະນີ້ເພື່ອອັບໂຫລດໂຄງການ NanoJ ໃສ່ຕົວຄວບຄຸມຂອງທ່ານ.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* ໂທກັບ)
ຕົວກໍານົດການອຸປະກອນHandle vmmData NlcDataTransferCallback
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອັບໂຫລດໄປ. Array ມີຂໍ້ມູນ NanoJ. ຕົວຕິດຕາມຄວາມຄືບໜ້າຂອງຂໍ້ມູນ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
ອັບໂຫຼດNanoJFromFile ()
ໃຊ້ຟັງຊັນສາທາລະນະນີ້ເພື່ອອັບເດດໂປຣແກມ NanoJ ໃສ່ຕົວຄວບຄຸມຂອງທ່ານໂດຍການອັບໂຫລດ file.
virtual ResultVoid nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string & absoluteFileເສັ້ນທາງ, NlcDataTransferCallback* callback)
ພາລາມິເຕີ deviceHandle absoluteFileເສັ້ນທາງ NlcDataTransferCallback
ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ອັບໂຫລດໄປ. ເສັ້ນທາງໄປ file ປະກອບມີຂໍ້ມູນ NanoJ (std::string). ຕົວຕິດຕາມຄວາມຄືບໜ້າຂອງຂໍ້ມູນ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
disconnectDevice () ໃຊ້ຟັງຊັນນີ້ເພື່ອຕັດການເຊື່ອມຕໍ່ອຸປະກອນຂອງທ່ານໂດຍ deviceHandle.
virtual ResultVoid nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib ຕັດການເຊື່ອມຕໍ່ຈາກ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
removeDevice () ໃຊ້ຟັງຊັນນີ້ເພື່ອເອົາອຸປະກອນຂອງທ່ານອອກຈາກລາຍຊື່ອຸປະກອນພາຍໃນຂອງ NanoLib.
virtual ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)
Parameters deviceHandle ກັບຄືນ ResultVoid
ລະບຸສິ່ງທີ່ອຸປະກອນລົດເມ NanoLib delists. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
closeBusHardware () ໃຊ້ຟັງຊັນນີ້ເພື່ອຕັດການເຊື່ອມຕໍ່ຈາກຮາດແວ fieldbus ຂອງທ່ານ.
virtual ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)
ພາຣາມິເຕີ busHwId ຕອບ ResultVoid
ລະບຸ fieldbus ທີ່ຈະຕັດການເຊື່ອມຕໍ່ຈາກ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
26
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
8.2 BusHardwareId
ໃຊ້ຫ້ອງຮຽນນີ້ເພື່ອລະບຸຮາດແວລົດເມແບບໜຶ່ງຕໍ່ໜຶ່ງ ຫຼືເພື່ອຈຳແນກຮາດແວລົດເມທີ່ຕ່າງກັນຈາກກັນ. ຫ້ອງຮຽນນີ້ (ໂດຍບໍ່ມີຫນ້າທີ່ setter ທີ່ຈະປ່ຽນແປງບໍ່ໄດ້ຈາກການສ້າງ) ຍັງຖືຂໍ້ມູນກ່ຽວກັບ:
ຮາດແວ (= ຊື່ອະແດບເຕີ, ອະແດບເຕີເຄືອຂ່າຍ ແລະອື່ນໆ) ໂປໂຕຄອນທີ່ຈະໃຊ້ (= Modbus TCP, CANopen ແລະອື່ນໆ) ຕົວລະບຸຮາດແວລົດເມ (= ຊື່ພອດ serial, ຊື່ MAC Friendly
ທີ່ຢູ່ ແລະອື່ນໆ)
BusHardwareId () [1/3] Constructor ທີ່ສ້າງວັດຖຸ ID ຮາດແວ bus ໃຫມ່.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)
ພາຣາມິເຕີ busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
ປະເພດຮາດແວ (= ZK-USB-CAN-1 ແລະອື່ນໆ). ໂປໂຕຄອນການສື່ສານລົດເມ (= CANopen ແລະອື່ນໆ). ຕົວລະບຸຂອງຮາດແວ (= COM3 ແລະອື່ນໆ). ຕົວລະບຸເພີ່ມເຕີມຂອງຮາດແວ (ເວົ້າວ່າ, ຂໍ້ມູນສະຖານທີ່ USB). ຊື່ທີ່ເປັນມິດ (= AdapterName (Port) ແລະອື່ນໆ).
BusHardwareId () [2/3] Constructor ທີ່ສ້າງວັດຖຸ ID ຮາດແວ bus ໃຫມ່, ມີທາງເລືອກສໍາລັບຕົວລະບຸຮາດແວເພີ່ມເຕີມ.
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)
ພາຣາມິເຕີ busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_
ປະເພດຮາດແວ (= ZK-USB-CAN-1 ແລະອື່ນໆ). ໂປໂຕຄອນການສື່ສານລົດເມ (= CANopen ແລະອື່ນໆ). ຕົວລະບຸຂອງຮາດແວ (= COM3 ແລະອື່ນໆ). ຕົວລະບຸເພີ່ມເຕີມຂອງຮາດແວ (ເວົ້າວ່າ, ຂໍ້ມູນສະຖານທີ່ USB). ຊື່ທີ່ເປັນມິດ (= AdapterName (Port) ແລະອື່ນໆ).
BusHardwareId () [3/3] Constructor ທີ່ສຳເນົາ busHardwareId ທີ່ມີຢູ່ແລ້ວ.
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)
ພາລາມິເຕີ busHardwareId
ຕັ້ງຊື່ໃຫ້ ID ຮາດແວລົດເມເພື່ອສຳເນົາຈາກ.
equals () ປຽບທຽບ ID ຮາດແວລົດເມໃໝ່ກັບອັນທີ່ມີຢູ່ແລ້ວ.
bool nlc::BusHardwareId::equals (BusHardwareId const & other) const
ພາຣາມິເຕີອື່ນໆ ກັບຄືນຄວາມຈິງ
ວັດຖຸອື່ນຂອງຫ້ອງຮຽນດຽວກັນ. ຖ້າທັງສອງແມ່ນເທົ່າທຽມກັນໃນທຸກຄ່າ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
27
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ບໍ່ຖືກຕ້ອງ
ຖ້າຄ່າແຕກຕ່າງກັນ.
getBusHardware () ອ່ານສາຍຮາດແວລົດເມ.
std::string nlc::BusHardwareId::getBusHardware () const
ຕອບສະຕຣິງ
getHardwareSpecifier () ອ່ານ string ຕົວລະບຸຮາດແວຂອງລົດເມ (= ຊື່ເຄືອຂ່າຍ ແລະອື່ນໆ).
std::string nlc::BusHardwareId::getHardwareSpecifier () const
ຕອບສະຕຣິງ
getExtraHardwareSpecifier () ອ່ານຂໍ້ມູນສະຕຣິງພິເສດຂອງຮາດແວລົດເມ (= ທີ່ຢູ່ MAC ແລະອື່ນໆ).
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const
ຕອບສະຕຣິງ
getName () ອ່ານຊື່ທີ່ເປັນມິດກັບຮາດແວຂອງລົດເມ.
std::string nlc::BusHardwareId::getName () const
ຕອບສະຕຣິງ
getProtocol () ອ່ານ string protocol bus.
std::string nlc::BusHardwareId::getProtocol () const
ຕອບສະຕຣິງ
toString () ສົ່ງຄືນ ID ຮາດແວ bus ເປັນສະຕຣິງ.
std::string nlc::BusHardwareId::toString () const
ຕອບສະຕຣິງ
8.3 BusHardwareOptions
ຊອກຫາຢູ່ໃນຊັ້ນຮຽນນີ້, ໃນບັນຊີລາຍຊື່ທີ່ສໍາຄັນຂອງສະຕຣິງ, ທາງເລືອກທັງຫມົດທີ່ຈໍາເປັນເພື່ອເປີດຮາດແວລົດເມ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
28
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
BusHardwareOptions () [1/2] ກໍ່ສ້າງວັດຖຸທາງເລືອກຮາດແວລົດເມໃໝ່.
nlc::BusHardwareOptions::BusHardwareOptions () ໃຊ້ຟັງຊັນ addOption () ເພື່ອເພີ່ມຄູ່ key-value.
BusHardwareOptions () [2/2] ກໍ່ສ້າງວັດຖຸທາງເລືອກຮາດແວລົດເມໃໝ່ ພ້ອມກັບແຜນທີ່ຄ່າສຳຄັນຢູ່ແລ້ວ.
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & ທາງເລືອກ)
ຕົວເລືອກພາລາມິເຕີ
ແຜນທີ່ທີ່ມີທາງເລືອກສໍາລັບຮາດແວລົດເມທີ່ຈະດໍາເນີນການ.
addOption () ສ້າງຄີເພີ່ມເຕີມແລະຄ່າ.
void nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)
ຄ່າຫຼັກຂອງພາລາມິເຕີ
Example: BAUD_RATE_OPTIONS_NAME, ເບິ່ງ bus_hw_options_ ຄ່າເລີ່ມຕົ້ນ
Example: BAUD_RATE_1000K, ເບິ່ງ bus_hw_options_defaults
equals () ປຽບທຽບ BusHardwareOptions ກັບອັນທີ່ມີຢູ່ແລ້ວ.
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & other) const
ພາຣາມິເຕີອື່ນໆ ກັບຄືນຄວາມຈິງ
ບໍ່ຖືກຕ້ອງ
ວັດຖຸອື່ນຂອງຫ້ອງຮຽນດຽວກັນ. ຖ້າວັດຖຸອື່ນມີຕົວເລືອກດຽວກັນຄືກັນ. ຖ້າວັດຖຸອື່ນມີກະແຈ ຫຼືຄ່າທີ່ແຕກຕ່າງກັນ.
getOptions () ອ່ານຄູ່ຄີ-ຄ່າທີ່ເພີ່ມທັງໝົດ.
std::ແຜນທີ່ nlc::BusHardwareOptions::getOptions () const
ສົ່ງຄືນແຜນທີ່ສະຕຣິງ
toString () ສົ່ງຄືນທຸກຄີ / ຄ່າເປັນ string.
std::string nlc::BusHardwareId::toString () const
ຕອບສະຕຣິງ
8.4 BusHwOptionsDefault
ຫ້ອງຮຽນຕົວເລືອກການຕັ້ງຄ່າເລີ່ມຕົ້ນນີ້ມີຄຸນສົມບັດສາທາລະນະຕໍ່ໄປນີ້:
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
29
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
const CanBus const Serial const RESTfulBus const EtherCATBus
canBus = CanBus () serial = Serial () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()
8.5 CanBaudRate
ໂຄງສ້າງທີ່ມີ CAN bus baudrates ໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” “100k” BAUD_RATE_100K = “50k” BAUD_RATE_50K = “20k” “20KAT_RATE” 10k” BAUD_RATE_10K = “5k” BAUD_RATE_5K = “XNUMXk” BAUD_RATE_XNUMXK = “XNUMXk”
8.6 CanBus
ຫ້ອງຮຽນຕົວເລືອກການຕັ້ງຄ່າເລີ່ມຕົ້ນທີ່ມີຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string const CanBaudRate const Ixxat
BAUD_RATE_OPTIONS_NAME = “ສາມາດປັບອັດຕາ baud” baudRate = CanBaudRate () ixxat = Ixxat ()
8.7 CanOpenNmtService
ສໍາລັບການບໍລິການ NMT, ໂຄງສ້າງນີ້ປະກອບດ້ວຍລັດ CANopen NMT ເປັນຄ່າສະຕຣິງໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string const std::string const std::string const std::string const std::string
START = “START” STOP = “STOP” PRE_OPERATIONAL = “PRE_OPERATIONAL” ຣີເຊັດ = “ຣີເຊັດ” RESET_COMMUNICATION = “RESET_COMMUNICATION”
8.8 CanOpenNmtState
ໂຄງສ້າງນີ້ມີລັດ CANopen NMT ເປັນຄ່າສະຕຣິງໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string const std::string const std::string const std::string const std::string
STOPPED = “STOPPED” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “ການດຳເນີນງານ” ການເລີ່ມຕົ້ນ = “ການເລີ່ມຕົ້ນ” UNKNOWN = “ບໍ່ຮູ້”
8.9 ໂຄງສ້າງ EtherCATBus
ໂຄງສ້າງນີ້ມີຕົວເລືອກການຕັ້ງຄ່າການສື່ສານ EtherCAT ໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
30
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
const std::string NETWORK_FIRMWARE_STATE_OP- ສະຖານະເຄືອຂ່າຍຖືກປະຕິບັດເປັນໂໝດເຟີມແວ. ຍອມຮັບໄດ້
TION_NAME = “ສະຖານະເຟີມແວເຄືອຂ່າຍ”
ຄ່າ (ຄ່າເລີ່ມຕົ້ນ = PRE_OPERATIONAL):
EtherCATSstate::PRE_OPERATIONAL EtherCATSstate::SAFE_OPERATIONAL EtherCATSstate::OPERATIONAL
const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”
const std::string EXCLUSIVE_LOCK_TIMEOUT_OP- ໝົດເວລາໃນ milliseconds ເພື່ອຮັບເອົາການລັອກສະເພາະໃນ
TION_NAME = “ໝົດເວລາລັອກທີ່ແບ່ງປັນແລ້ວ”
ເຄືອຂ່າຍ (ຄ່າເລີ່ມຕົ້ນ = 500 ms).
const unsigned int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”
const std::string SHARED_LOCK_TIMEOUT_OPTION_ ໝົດເວລາໃນ milliseconds ເພື່ອຮັບເອົາການລັອກທີ່ແບ່ງປັນ.
NAME = “ໝົດເວລາລັອກຮ່ວມກັນ”
ເຄືອຂ່າຍ (ຄ່າເລີ່ມຕົ້ນ = 250 ms).
const unsigned int DEFAULT_SHARED_LOCK_TIMEOUT = “250”
const std::string READ_TIMEOUT_OPTION_NAME = ໝົດເວລາໃນມິນລິວິນາທີສຳລັບຄຳສັ່ງການອ່ານ (ຄ່າເລີ່ມຕົ້ນ
“ໝົດເວລາອ່ານ”
= 700 ms).
const unsigned int DEFAULT_READ_TIMEOUT = “700”
const std::string WRITE_TIMEOUT_OPTION_NAME = ໝົດເວລາເປັນ milliseconds ສໍາລັບຄຳສັ່ງການຂຽນ (ຄ່າເລີ່ມຕົ້ນ
“ຂຽນໝົດເວລາ”
= 200 ms).
const unsigned int DEFAULT_WRITE_TIMEOUT = “200”
const std::string READ_WRITE_ATTEMPTS_OPTION_ ພະຍາຍາມອ່ານ ຫຼືຂຽນສູງສຸດ (ຄ່າທີ່ບໍ່ແມ່ນສູນ
NAME = “ອ່ານ/ຂຽນ ພະຍາຍາມ”
ເທົ່ານັ້ນ; ຄ່າເລີ່ມຕົ້ນ = 5).
const unsigned int DEFAULT_READ_WRITE_ATTEMPTS = “5”
const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “ປ່ຽນຄວາມພະຍາຍາມສະຖານະເຄືອຂ່າຍ”
ຈໍານວນຄວາມພະຍາຍາມທີ່ຈະປ່ຽນແປງສະຖານະເຄືອຂ່າຍສູງສຸດ (ຄ່າທີ່ບໍ່ແມ່ນສູນເທົ່ານັ້ນ; ຄ່າເລີ່ມຕົ້ນ = 10).
const unsigned int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”
const std::string PDO_IO_ENABLED_OPTION_NAME ເປີດ ຫຼືປິດການປະມວນຜົນ PDO ສໍາລັບດິຈິຕອນ in- /
= "PDO IO ເປີດໃຊ້ແລ້ວ"
ຜົນໄດ້ຮັບ ("ຄວາມຈິງ" ຫຼື "ຜິດ" ເທົ່ານັ້ນ; ຄ່າເລີ່ມຕົ້ນ = "ຖືກຕ້ອງ").
const std::string DEFAULT_PDO_IO_ENABLED = “ແທ້”
8.10 ໂຄງສ້າງ EtherCATSstate
ໂຄງສ້າງນີ້ປະກອບດ້ວຍ EtherCAT slave / network states ເປັນຄ່າສະຕຣິງໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້. ໝາຍເຫດ: ສະຖານະເລີ່ມຕົ້ນທີ່ເປີດແມ່ນ PRE_OPERATIONAL; NanoLib ສາມາດສະຫນອງສະຖານະ "OPERATIONAL" ທີ່ບໍ່ຫນ້າເຊື່ອຖືໃນລະບົບປະຕິບັດການທີ່ບໍ່ແມ່ນເວລາຈິງ:
const std::string const std::string const std::string const std::string const std::string const std::string
NONE = “ບໍ່ມີ” INIT = “INIT” PRE_OPERATIONAL = “PRE_OPERATIONAL” BOOT = “BOOT” SAFE_OPERATIONAL = “SAFE_OPERATIONAL” OPERATIONAL = “OPERATIONAL”
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
31
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
8.11 Ixxat
ໂຄງສ້າງນີ້ຖືຂໍ້ມູນທັງຫມົດສໍາລັບ Ixxat usb-to-can ໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = “ໝາຍເລກອາແດບເຕີ ixxat”
const IxxatAdapterBusNumber adapterBusNumber = IxxatAdapterBusNumber ()
8.12 IxxatAdapterBusNumber
ໂຄງສ້າງນີ້ຖືໝາຍເລກລົດເມສໍາລັບ Ixxat usb-to-can ໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string const std::string const std::string const std::string
BUS_NUMBER_0_DEFAULT = “0” BUS_NUMBER_1 = “1” BUS_NUMBER_2 = “2” BUS_NUMBER_3 = “3”
ປີ 8.13 ສູງສຸດ
ໂຄງສ້າງນີ້ຖືຂໍ້ມູນທັງຫມົດສໍາລັບ Peak usb-to-can ໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string
ADAPTER_BUS_NUMBER_OPTIONS_NAME = “ໝາຍເລກລົດເມອະແດັບເຕີສູງສຸດ”
const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()
8.14 PeakAdapterBusNumber
ໂຄງສ້າງນີ້ຖືໝາຍເລກລົດເມສຳລັບ Peak usb-to-can ໃນຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BUS_NUMBER_1_DEFAULT = std::to_string (PCAN_USBBUS1) BUS_NUMBER_2 = std::to_string (PCAN_USBBUS2) BUS_NUMBER_3 = std::to_string (PCAN_USBBUS3) BUS_NUMBER_4 = std::to_string (PCAN_USBBUS_4) (PCAN_USBBUS5) BUS_NUMBER_5 = std::to_string (PCAN_USBBUS6) BUS_NUMBER_6 = std::to_string (PCAN_USBBUS7) BUS_NUMBER_7 = std::to_string (PCAN_USBBUS8) BUS_NUMBER_8 = std::toBB_string (PCAN_USBBUS9) (PCAN_USBBUS9) BUS_NUMBER_10 = std::to_string (PCAN_USBBUS10) BUS_NUMBER_11 = std::to_string (PCAN_USBBUS11) BUS_NUMBER_12 = std::to_string (PCAN_USBBUS12) BUS_NUMBER_13 =std::to_stringPCAN_USBBUS13 std::to_string (PCAN_USBBUS14) BUS_NUMBER_14 = std::to_string (PCAN_USBBUS15)
8.15 DeviceHand
ຫ້ອງຮຽນນີ້ເປັນຕົວແທນຂອງຕົວຈັບສໍາລັບການຄວບຄຸມອຸປະກອນໃນລົດເມແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະດັ່ງຕໍ່ໄປນີ້.
DeviceHandle () DeviceHandle (uint32_t handle)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
32
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ເທົ່າກັບ () ປຽບທຽບຕົວມັນເອງກັບຕົວຈັບອຸປະກອນທີ່ໃຫ້.
bool ເທົ່າກັບ (DeviceHandle const other) const (uint32_t handle)
toString () ຕອບສະຕຣິງເປັນຕົວແທນຂອງຕົວຈັບອຸປະກອນ.
std::string toString() const
get () ກັບຄືນມືຈັບອຸປະກອນ.
uint32_t get () const
8.16 DeviceId
ໃຊ້ຫ້ອງຮຽນນີ້ (ບໍ່ສາມາດປ່ຽນແປງໄດ້ຈາກການສ້າງ) ເພື່ອລະບຸ ແລະຈໍາແນກອຸປະກອນໃນລົດເມ:
ຕົວລະບຸອະແດັບເຕີຮາດແວ
ຕົວລະບຸອຸປະກອນ
ລາຍລະອຽດ
ຄວາມຫມາຍຂອງ ID ອຸປະກອນ / ຄ່າຄໍາອະທິບາຍແມ່ນຂຶ້ນກັບລົດເມ. ຕົວຢ່າງampດັ່ງນັ້ນ, ລົດເມ CAN ອາດຈະໃຊ້ ID integer.
DeviceId () [1/3] ສ້າງວັດຖຸ ID ອຸປະກອນໃໝ່.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, unsigned int deviceId_, std::string const & description_)
ພາຣາມິເຕີ busHardwareId_ deviceId_ description_
ຕົວລະບຸລົດເມ. ດັດຊະນີ; ຂຶ້ນກັບລົດເມ (= CANopen node ID ແລະອື່ນໆ). ຄໍາອະທິບາຍ (ອາດຈະຫວ່າງເປົ່າ); ຂຶ້ນກັບລົດເມ.
DeviceId () [2/3] ກໍ່ສ້າງວັດຖຸ ID ອຸປະກອນໃໝ່ທີ່ມີຕົວເລືອກ ID ຂະຫຍາຍ.
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, unsigned int deviceId_, std::string const & description_ std::vector const & extraId_, std::string const & extraStringId_)
ພາຣາມິເຕີ busHardwareId_ deviceId_ description_ extraId_ extraStringId_
ຕົວລະບຸລົດເມ. ດັດຊະນີ; ຂຶ້ນກັບລົດເມ (= CANopen node ID ແລະອື່ນໆ). ຄໍາອະທິບາຍ (ອາດຈະຫວ່າງເປົ່າ); ຂຶ້ນກັບລົດເມ. ID ເພີ່ມເຕີມ (ອາດຈະຫວ່າງເປົ່າ); ຄວາມຫມາຍແມ່ນຂຶ້ນກັບລົດເມ. ID ສະຕຣິງເພີ່ມເຕີມ (ອາດຈະຫວ່າງເປົ່າ); ຄວາມຫມາຍແມ່ນຂຶ້ນກັບລົດເມ.
DeviceId () [3/3] ສ້າງສຳເນົາຂອງວັດຖຸ ID ອຸປະກອນ.
nlc::DeviceId::DeviceId (DeviceId const &)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
33
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ພາຣາມິເຕີ deviceId_
ID ອຸປະກອນທີ່ຈະສຳເນົາຈາກ.
equals () ປຽບທຽບໃຫມ່ກັບວັດຖຸທີ່ມີຢູ່ແລ້ວ.
bool nlc::DeviceId::equals (DeviceId const & other) const
ສົ່ງຄ່າ boolean
getBusHardwareId () ອ່ານ ID ຮາດແວລົດເມ.
BusHardwareId nlc::DeviceId::getBusHardwareId () const
ສົ່ງຄືນ BusHardwareId
getDescription () ອ່ານລາຍລະອຽດຂອງອຸປະກອນ (ອາດຈະບໍ່ໄດ້ໃຊ້).
std::string nlc::DeviceId::getDescription () const
ຕອບສະຕຣິງ
getDeviceId () ອ່ານ ID ອຸປະກອນ (ບາງທີບໍ່ໄດ້ໃຊ້).
unsigned int nlc::DeviceId::getDeviceId () const
ສົ່ງຄືນ int unsigned
toString () ສົ່ງຄືນວັດຖຸເປັນ string.
std::string nlc::DeviceId::toString () const
ຕອບສະຕຣິງ
getExtraId () ອ່ານ ID ເພີ່ມເຕີມຂອງອຸປະກອນ (ອາດຈະບໍ່ໄດ້ໃຊ້).
const std::vector &getExtraId () const
ຕອບ vector
vector ຂອງ ID ເພີ່ມເຕີມເພີ່ມເຕີມ (ອາດຈະຫວ່າງເປົ່າ); ຄວາມຫມາຍແມ່ນຂຶ້ນກັບລົດເມ.
getExtraStringId () ອ່ານລະຫັດສະຕຣິງພິເສດຂອງອຸປະກອນ (ອາດຈະບໍ່ໄດ້ໃຊ້).
std::string getExtraStringId () const
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
34
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ຕອບສະຕຣິງ
ID ສະຕຣິງເພີ່ມເຕີມ (ອາດຈະຫວ່າງເປົ່າ); ຄວາມຫມາຍແມ່ນຂຶ້ນກັບລົດເມ.
8.17 ຕົວແປງສັນຍານ LogLevel
ຫ້ອງຮຽນນີ້ສົ່ງຄືນລະດັບບັນທຶກຂອງເຈົ້າເປັນສະຕຣິງ. static std::string toString (nlc::LogLevel logLevel)
8.18 LogModuleConverter
ຫ້ອງຮຽນນີ້ສົ່ງຄືນຂໍ້ມູນບັນທຶກສະເພາະຫ້ອງສະໝຸດຂອງທ່ານ modulesetLoggingLevel () ເປັນສະຕຣິງ.
static std::string
toString (nlc::LogModule logModule)
static std::string toString (nlc::LogModule logModule)
8.19 ObjectDictionary
ຫ້ອງຮຽນນີ້ສະແດງເຖິງວັດຈະນານຸກົມວັດຖຸຂອງຕົວຄວບຄຸມ ແລະ ມີໜ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້: getDeviceHandle ()
virtual ResultDeviceHandle getDeviceHandle () const ກັບຄືນ ResultDeviceHandle
getObject () virtual ResultObjectSubEntry getObject (OdIndex const odIndex) ກັບຄືນ ResultObjectSubEntry
getObjectEntry () virtual ResultObjectEntry getObjectEntry (ດັດຊະນີ uint16_t)
ສົ່ງຜົນຕອບແທນ ResultObjectEntry
ແຈ້ງກ່ຽວກັບຄຸນສົມບັດຂອງວັດຖຸ.
getXmlFileຊື່ () virtual ResultString getXmlFileຊື່ () const
ຕອບ ResultString
ສົ່ງຄືນ XML file ຊື່ເປັນສະຕຣິງ.
readNumber () virtual ResultInt readNumber (OdIndex const odIndex) ຕອບ ResultInt
readNumberArray () virtual ResultArrayInt readNumberArray (ດັດຊະນີ uint16_t const)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
35
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ຕອບ ResultArrayInt readString ()
virtual ResultString readString (OdIndex const odIndex) ຕອບ ResultString readBytes () virtual ResultArrayByte readBytes (OdIndex const odIndex) ສົ່ງຜົນຕອບແທນ ResultArrayByte writeNumber () virtual ResultVoid writeNumber (OdIndex const odIndex, const ຜົນລັບ int64_yte virtual) writeBytes (OdIndex const OdIndex, std::vector
const & data) ກັບຄືນ ResultVoid ການເຊື່ອມຕໍ່ທີ່ກ່ຽວຂ້ອງ OdIndex
8.20 ການເຂົ້າວັດຖຸ
ຫ້ອງຮຽນນີ້ສະແດງເຖິງການເຂົ້າວັດຖຸຂອງວັດຈະນານຸກົມວັດຖຸ, ມີຄຸນສົມບັດປ້ອງກັນແບບຄົງທີ່ ແລະໜ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
static nlc::ObjectSubEntry invalidObject
getName () ອ່ານຊື່ຂອງວັດຖຸເປັນ string.
virtual std::string getName () const
getPrivate () ກວດເບິ່ງວ່າວັດຖຸເປັນສ່ວນຕົວ.
virtual bool getPrivate () const
getIndex () ອ່ານທີ່ຢູ່ຂອງດັດຊະນີວັດຖຸ.
virtual uint16_t getIndex () const
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
36
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
getDataType () ອ່ານປະເພດຂໍ້ມູນຂອງວັດຖຸ.
virtual nlc::ObjectEntryDataType getDataType () const
getObjectCode () ອ່ານລະຫັດວັດຖຸ:
Null Deftype Defstruct Var Array Record
0x00 0x05 0x06 0x07 0x08 0x09
virtual nlc::ObjectCode getObjectCode () const
getObjectSaveable () ກວດເບິ່ງວ່າວັດຖຸສາມາດບັນທຶກໄດ້ ແລະເປັນປະເພດ (ເບິ່ງຄູ່ມືຜະລິດຕະພັນສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, CUSTOMER, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVE
virtual nlc::ObjectSaveable getObjectSaveable () const
getMaxSubIndex () ອ່ານຈໍານວນຂອງ subindices ສະຫນັບສະຫນູນໂດຍວັດຖຸນີ້.
virtual uint8_t getMaxSubIndex () const
getSubEntry () virtual nlc::ObjectSubEntry & getSubEntry (uint8_t subIndex)
ເບິ່ງ ObjectSubEntry ນຳ.
8.21 ObjectSubEntry
ຫ້ອງຮຽນນີ້ສະແດງເຖິງການປ້ອນຂໍ້ມູນຍ່ອຍ (subindex) ຂອງວັດຈະນານຸກົມວັດຖຸ ແລະ ມີໜ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getName () ອ່ານຊື່ຂອງວັດຖຸເປັນ string.
virtual std::string getName () const
getSubIndex () ອ່ານທີ່ຢູ່ຂອງດັດຊະນີຍ່ອຍ.
virtual uint8_t getSubIndex () const
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
37
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
getDataType () ອ່ານປະເພດຂໍ້ມູນຂອງວັດຖຸ.
virtual nlc::ObjectEntryDataType getDataType () const
getSdoAccess () ກວດເບິ່ງວ່າດັດຊະນີຍ່ອຍສາມາດເຂົ້າເຖິງໄດ້ຜ່ານ SDO:
ອ່ານເທົ່ານັ້ນ
1
ຂຽນເທົ່ານັ້ນ
2
ReadWrite
3
ບໍ່ມີການເຂົ້າເຖິງ
0
virtual nlc::ObjectSdoAccessAttribute getSdoAccess () const
getPdoAccess () ກວດເບິ່ງວ່າ subindex ແມ່ນສາມາດເຂົ້າເຖິງໄດ້ / mappable ຜ່ານ PDO:
Tx
1
Rx
2
TxRx
3
ບໍ່
0
virtual nlc::ObjectPdoAccessAttribute getPdoAccess () const
getBitLength () ກວດເບິ່ງຄວາມຍາວຂອງດັດຊະນີຍ່ອຍ.
virtual uint32_t getBitLength () const
getDefaultValueAsNumeric () ອ່ານຄ່າເລີ່ມຕົ້ນຂອງດັດຊະນີຍ່ອຍສຳລັບປະເພດຂໍ້ມູນຕົວເລກ.
virtual ResultInt getDefaultValueAsNumeric (std::string const & key) const
getDefaultValueAsString () ອ່ານຄ່າເລີ່ມຕົ້ນຂອງດັດຊະນີຍ່ອຍສຳລັບປະເພດຂໍ້ມູນສະຕຣິງ.
virtual ResultString getDefaultValueAsString (std::string const & key) const
getDefaultValues () ອ່ານຄ່າເລີ່ມຕົ້ນຂອງດັດຊະນີຍ່ອຍ.
virtual std::ແຜນທີ່ getDefaultValues () const
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
38
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
readNumber () ອ່ານຄ່າຕົວຈິງຕົວເລກຂອງດັດຊະນີຍ່ອຍ.
virtual ResultInt readNumber () const
readString () ອ່ານ string ມູນຄ່າຕົວຈິງຂອງ subindex.
virtual ResultString readString () const
readBytes () ອ່ານຄ່າຕົວຈິງຂອງດັດຊະນີຍ່ອຍໃນ bytes.
virtual ResultArrayByte readBytes () const
writeNumber () ຂຽນຄ່າຕົວເລກໃນດັດຊະນີຍ່ອຍ.
virtual ResultVoid writeNumber (ຄ່າ const int64_t) const
writeBytes () ຂຽນຄ່າໃນດັດຊະນີຍ່ອຍເປັນ bytes.
virtual ResultVoid writeBytes (std::vector const & data) const
8.22 OdIndex
ໃຊ້ຊັ້ນຮຽນນີ້ (ບໍ່ສາມາດປ່ຽນແປງໄດ້ຈາກການສ້າງຢູ່) ເພື່ອຫໍ່ ແລະຊອກຫາຈຸດໄດເລກະທໍລີ/ດັດຊະນີຍ່ອຍ. OD ຂອງອຸປະກອນມີເຖິງ 65535 (0xFFFF) ແຖວ ແລະ 255 (0xFF) ຖັນ; ມີຊ່ອງຫວ່າງລະຫວ່າງແຖວທີ່ບໍ່ຕໍ່ເນື່ອງ. ເບິ່ງມາດຕະຖານ Canopen ແລະຄູ່ມືຜະລິດຕະພັນຂອງທ່ານສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.
OdIndex () ກໍ່ສ້າງວັດຖຸ OdIndex ໃຫມ່.
nlc::OdIndex::OdIndex (ດັດຊະນີ uint16_t, ດັດຊະນີຍ່ອຍ uint8_t)
ຕົວກໍານົດການດັດສະນີຍ່ອຍ
ຈາກ 0 ຫາ 65535 (0xFFFF) incl. ຈາກ 0 ເຖິງ 255 (0xFF) ລວມ.
getIndex () ອ່ານດັດສະນີ (ຈາກ 0x0000 ຫາ 0xFFFF).
uint16_t nlc::OdIndex::getIndex () const
ສົ່ງຄືນ uint16_t
getSubindex () ອ່ານດັດຊະນີຍ່ອຍ (ຈາກ 0x00 ຫາ 0xFF)
uint8_t nlc::OdIndex::getSubIndex () const
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
39
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ສົ່ງຄືນ uint8_t
toString () ສົ່ງຄືນດັດຊະນີ ແລະດັດຊະນີຍ່ອຍເປັນສະຕຣິງ. ສະຕຣິງເລີ່ມຕົ້ນ 0xIIII:0xSS ອ່ານດັ່ງນີ້:
I = ດັດສະນີຈາກ 0x0000 ຫາ 0xFFFF
S = ດັດຊະນີຍ່ອຍຈາກ 0x00 ຫາ 0xFF
std::string nlc::OdIndex::toString () const
ຕອບ 0xIII:0xSS
ການສະແດງສະຕຣິງເລີ່ມຕົ້ນ
8.23 OdLibrary
ໃຊ້ການໂຕ້ຕອບການຂຽນໂປຼແກຼມນີ້ເພື່ອສ້າງຕົວຢ່າງຂອງຫ້ອງຮຽນ ObjectDictionary ຈາກ XML. ໂດຍ assignObjectDictionary, ຫຼັງຈາກນັ້ນທ່ານສາມາດຜູກມັດແຕ່ລະຕົວຢ່າງກັບອຸປະກອນສະເພາະອັນເນື່ອງມາຈາກຕົວລະບຸທີ່ສ້າງຂຶ້ນສະເພາະ. ObjectDictionary instances ທີ່ສ້າງຂຶ້ນດັ່ງນັ້ນຈຶ່ງຖືກເກັບໄວ້ໃນ OdLibrary object ທີ່ຈະເຂົ້າເຖິງໂດຍດັດຊະນີ. ຫ້ອງຮຽນ ODLibrary ໂຫຼດລາຍການ ObjectDictionary ຈາກ file ຫຼື array, ເກັບຮັກສາພວກມັນ, ແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getObjectDictionaryCount () virtual uint32_t getObjectDictionaryCount () const
getObjectDictionary () virtual ResultObjectDictionary getObjectDictionary (uint32_t odIndex)
ຕອບ ResultObjectDictionary
addObjectDictionaryFromFile ()
Virtual ResultObjectDictionary addObjectDictionaryFromFile (std::string const & absoluteXmlFileເສັ້ນທາງ)
ຕອບ ResultObjectDictionary
addObjectDictionary ()
virtual ResultObjectDictionary addObjectDictionary (std::vector const & odXmlData, const std::string &xmlFileເສັ້ນທາງ = std::string ())
ຕອບ ResultObjectDictionary
8.24 OdTypesHelper
ນອກເໜືອໄປຈາກຟັງຊັນສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້, ຊັ້ນຮຽນນີ້ປະກອບມີປະເພດຂໍ້ມູນແບບກຳນົດເອງ. ໝາຍເຫດ: ເພື່ອກວດເບິ່ງປະເພດຂໍ້ມູນແບບກຳນົດເອງຂອງທ່ານ, ໃຫ້ຊອກຫາປະເພດ Enum class ObjectEntryDataType ໃນ od_types.hpp.
uintToObjectCode () ປ່ຽນຈຳນວນເຕັມທີ່ບໍ່ໄດ້ເຊັນເປັນລະຫັດວັດຖຸ:
Null Deftype
0x00 0x05
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
40
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
Defstruct Var Array Record
0x06 0x07 0x08 0x09
static ObjectCode uintToObjectCode (unsigned int objectCode)
isNumericDataType () ແຈ້ງຖ້າປະເພດຂໍ້ມູນເປັນຕົວເລກຫຼືບໍ່.
bool static ແມ່ນNumericDataType (ObjectEntryDataType dataType)
isDefstructIndex () ແຈ້ງຖ້າວັດຖຸເປັນດັດຊະນີໂຄງສ້າງຄໍານິຍາມຫຼືບໍ່.
bool static isDefstructIndex (uint16_t typeNum)
isDeftypeIndex () ແຈ້ງໃຫ້ຊາບວ່າວັດຖຸເປັນດັດຊະນີປະເພດຄໍານິຍາມຫຼືບໍ່.
bool static isDeftypeIndex (uint16_t typeNum)
isComplexDataType () ແຈ້ງໃຫ້ຊາບວ່າປະເພດຂໍ້ມູນມີຄວາມຊັບຊ້ອນຫຼືບໍ່.
static bool ແມ່ນComplexDataType (ObjectEntryDataType dataType)
uintToObjectEntryDataType () ປ່ຽນຈຳນວນເຕັມທີ່ບໍ່ໄດ້ເຊັນເປັນປະເພດຂໍ້ມູນ OD.
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t objectDataType)
objectEntryDataTypeToString () ປ່ຽນປະເພດຂໍ້ມູນ OD ເປັນສະຕຣິງ.
static std::string objectEntryDataTypeToString (ObjectEntryDataType odDataType)
stringToObjectEntryDatatype () ປ່ຽນສະຕຣິງເປັນປະເພດຂໍ້ມູນ OD ຖ້າເປັນໄປໄດ້. ຖ້າບໍ່ດັ່ງນັ້ນ, ຈະສົ່ງຄືນ UNKNOWN_DATATYPE.
static ObjectEntryDataType stringToObjectEntryDatatype (std::string dataTypeString)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
41
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
objectEntryDataTypeBitLength () ແຈ້ງກ່ຽວກັບຄວາມຍາວບິດຂອງປະເພດຂໍ້ມູນການປ້ອນວັດຖຸ.
static uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)
8.25 ໂຄງສ້າງ RESTfulBus
ໂຄງສ້າງນີ້ມີຕົວເລືອກການຕັ້ງຄ່າການສື່ສານສໍາລັບການໂຕ້ຕອບ RESTful (ຜ່ານອີເທີເນັດ). ມັນປະກອບດ້ວຍຄຸນສົມບັດສາທາລະນະດັ່ງຕໍ່ໄປນີ້:
const std::string const unsigned long const std::string const unsigned long const std::string const unsigned long
Connect_Timeout_Option_Name = "RestoBly_ToAd_OptionT_OptionT_Option_NOFTTION_OFTTION_OFTTION_OFTTION].
8.26 ProfinetDCP
ພາຍໃຕ້ Linux, ແອັບພລິເຄຊັນການໂທຕ້ອງການຄວາມສາມາດ CAP_NET_ADMIN ແລະ CAP_NET_RAW. ເພື່ອເປີດໃຊ້: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable. ໃນ Windows, ການໂຕ້ຕອບ ProfinetDCP ໃຊ້ WinPcap (ທົດສອບດ້ວຍເວີຊັນ 4.1.3) ຫຼື Npcap (ທົດສອບກັບເວີຊັນ 1.60 ແລະ 1.30). ດັ່ງນັ້ນຈຶ່ງຊອກຫາຫ້ອງສະໝຸດ wpcap.dll ທີ່ມີການໂຫຼດແບບເຄື່ອນໄຫວຕາມລຳດັບຕໍ່ໄປນີ້ (ໝາຍເຫດ: ບໍ່ຮອງຮັບ Win10Pcap ໃນປັດຈຸບັນ):
1. Nanolib.dll directory 2. Windows system directory SystemRoot%System32 3. Npcap installation directory SystemRoot%System32Npcap 4. ເສັ້ນທາງສະພາບແວດລ້ອມ
ຫ້ອງຮຽນນີ້ເປັນຕົວແທນຂອງການໂຕ້ຕອບ Profinet DCP ແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getScanTimeout () ແຈ້ງກ່ຽວກັບການຫມົດເວລາການສະແກນອຸປະກອນ (ຄ່າເລີ່ມຕົ້ນ = 2000 ms).
virtual uint32_t nlc::ProfinetDCP::getScanTimeout () const
setScanTimeout () ກໍານົດເວລາສະແກນອຸປະກອນ (ຄ່າເລີ່ມຕົ້ນ = 2000 ms).
virtual void nlc::setScanTimeout (uint32_t timeoutMsec)
getResponseTimeout () ແຈ້ງກ່ຽວກັບການຫມົດເວລາການຕອບສະຫນອງຂອງອຸປະກອນສໍາລັບການຕິດຕັ້ງ, ຕັ້ງຄ່າໃຫມ່ແລະການດໍາເນີນງານກະພິບ (ຄ່າເລີ່ມຕົ້ນ = 1000 ms).
virtual uint32_t nlc::ProfinetDCP::getResponseTimeout () const
setResponseTimeout () ແຈ້ງກ່ຽວກັບການຫມົດເວລາຕອບສະຫນອງອຸປະກອນສໍາລັບການຕິດຕັ້ງ, ຕັ້ງຄ່າໃຫມ່ແລະການດໍາເນີນງານກະພິບ (ຄ່າເລີ່ມຕົ້ນ = 1000 ms).
virtual void nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
42
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
isServiceAvailable ()
ໃຊ້ຟັງຊັນນີ້ເພື່ອກວດສອບການມີບໍລິການ Profinet DCP.
ຄວາມຖືກຕ້ອງຂອງອະແດບເຕີເຄືອຂ່າຍ / ຄວາມພ້ອມ Windows: WinPcap / Npcap ມີຢູ່ Linux: ຄວາມສາມາດ CAP_NET_ADMIN / CAP_NET_RAW
virtual ResultVoid nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)
ພາຣາມິເຕີ BusHardwareId ກັບຄືນຄວາມຈິງ
ບໍ່ຖືກຕ້ອງ
ID ຮາດແວຂອງບໍລິການ Profinet DCP ເພື່ອກວດສອບ. ມີບໍລິການ. ບໍລິການບໍ່ສາມາດໃຊ້ໄດ້.
scanProfinetDevices () ໃຊ້ຟັງຊັນນີ້ເພື່ອສະແກນຮາດແວ bus ສໍາລັບອຸປະກອນ Profinet.
virtual ResultProfinetDevices scanProfinetDevices (const BusHardwareId & busHardwareId)
ພາຣາມິເຕີ BusHardwareId ຕອບ ResultProfinetDevices
ລະບຸແຕ່ລະ fieldbus ທີ່ຈະເປີດ. ຮາດແວເປີດຢູ່.
setupProfinetDevice () ສ້າງການຕັ້ງຄ່າອຸປະກອນຕໍ່ໄປນີ້:
ຊື່ອຸປະກອນ
ທີ່ຢູ່ IP
ໜ້າກາກເຄືອຂ່າຍ
ປະຕູເລີ່ມຕົ້ນ
virtual ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)
resetProfinetDevice () ຢຸດອຸປະກອນ ແລະຣີເຊັດເປັນຄ່າເລີ່ມຕົ້ນຈາກໂຮງງານ.
virtual ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
blinkProfinetDevice () ສັ່ງໃຫ້ອຸປະກອນ Profinet ເລີ່ມກະພິບ LED Profinet ຂອງມັນ.
virtual ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)
validateProfinetDeviceIp () ໃຊ້ຟັງຊັນນີ້ເພື່ອກວດສອບທີ່ຢູ່ IP ຂອງອຸປະກອນ.
Virtual ResultVoid validateProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)
ພາລາມິເຕີ BusHardwareId ProfinetDevice
ລະບຸ ID ຮາດແວເພື່ອກວດສອບ. ລະບຸອຸປະກອນ Profinet ເພື່ອກວດສອບ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
43
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ກັບຄືນ ResultVoid
8.27 ໂຄງສ້າງ ProfinetDevice
ຂໍ້ມູນອຸປະກອນ Profinet ມີຄຸນສົມບັດສາທາລະນະຕໍ່ໄປນີ້:
std::string std::string std::array< uint8_t, 6 > uint32_t uint32_t uint32_t
deviceName deviceVendor macAddress ipAddress netMask defaultGateway
ທີ່ຢູ່ MAC ໄດ້ຖືກສະຫນອງໃຫ້ເປັນ array ໃນຮູບແບບ macAddress = {xx, xx, xx, xx, xx, xx}; ໃນຂະນະທີ່ທີ່ຢູ່ IP, ຫນ້າກາກເຄືອຂ່າຍແລະປະຕູຖືກຕີຄວາມຫມາຍທັງຫມົດເປັນຕົວເລກ hex endian ໃຫຍ່, ເຊັ່ນ:
ທີ່ຢູ່ IP: 192.168.0.2 ຫນ້າກາກເຄືອຂ່າຍ: 255.255.0.0 Gateway: 192.168.0.1
0xC0A80002 0xFFFF0000 0xC0A80001
8.28 ຫ້ອງຮຽນຜົນໄດ້ຮັບ
ໃຊ້ຄ່າຕອບແທນ "ທາງເລືອກ" ຂອງຊັ້ນຮຽນເຫຼົ່ານີ້ເພື່ອກວດເບິ່ງວ່າການເອີ້ນຟັງຊັນປະສົບຜົນ ສຳ ເລັດຫຼືບໍ່, ແລະຍັງຊອກຫາສາເຫດທີ່ລົ້ມເຫລວ. ເມື່ອປະສົບຜົນສໍາເລັດ, ຟັງຊັນ hasError () ກັບຄືນ false. ໂດຍ getResult (), ທ່ານສາມາດອ່ານມູນຄ່າຜົນໄດ້ຮັບຕາມປະເພດ (ResultInt ແລະອື່ນໆ). ຖ້າການໂທລົ້ມເຫລວ, ທ່ານອ່ານເຫດຜົນໂດຍ getError ().
ຄຸນລັກສະນະປ້ອງກັນ
string NlcErrorCode uint32_t
errorString errorCode exErrorCode
ນອກຈາກນີ້, ຫ້ອງຮຽນນີ້ມີຫນ້າທີ່ສະມາຊິກສາທາລະນະດັ່ງຕໍ່ໄປນີ້:
hasError () ອ່ານອອກ function call ສໍາເລັດ.
bool nlc::Result::hasError () const
ກັບຄືນ
ຜິດແທ້
ການໂທລົ້ມເຫລວ. ໃຊ້ getError () ເພື່ອອ່ານຄ່າ. ໂທສຳເລັດ. ໃຊ້ getResult () ເພື່ອອ່ານຄ່າ.
getError () ອ່ານເຫດຜົນຖ້າການເອີ້ນຟັງຊັນລົ້ມເຫລວ.
const std::string nlc::Result::getError () const
ຕອບຄ່າ const string
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
44
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ຜົນໄດ້ຮັບ () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບທີ່ແນ່ນອນ:
ຜົນໄດ້ຮັບ (std::string const & errorString_)
ຜົນໄດ້ຮັບ (NlcErrorCode const & errCode, std::string const & errorString_)
ຜົນໄດ້ຮັບ (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ຜົນໄດ້ຮັບ (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
getErrorCode () ອ່ານ NlcErrorCode.
NlcErrorCode getErrorCode () const
getExErrorCode () uint32_t getExErrorCode () const
8.28.1 ຜົນເສຍ
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນກັບຄືນມາເປັນໂມຄະ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະແລະຄຸນສົມບັດທີ່ໄດ້ຮັບການປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະດັ່ງຕໍ່ໄປນີ້:
ResultVoid () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບທີ່ແນ່ນອນ:
ResultVoid (std::string const &errorString_)
ResultVoid (NlcErrorCode const & errCode, std::string const & errorString_)
ResultVoid (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (ຜົນໄດ້ຮັບແລະຜົນໄດ້ຮັບ)
8.28.2 ResultInt
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນຈໍານວນເຕັມ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ສົ່ງຜົນເປັນຈຳນວນເຕັມຖ້າການເອີ້ນຟັງຊັນສຳເລັດຜົນ.
int64_t getResult () const
ສົ່ງຄືນ int64_t
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
45
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ResultInt () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບຈໍານວນເຕັມທີ່ແນ່ນອນ:
ResultInt (int64_t results_)
ResultInt (std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, std::string const & errorString_)
ResultInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.3 ResultString
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນສະຕຣິງ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານຜົນສະຕຣິງອອກຖ້າການເອີ້ນຟັງຊັນປະສົບຜົນສຳເລັດ.
const std::string nlc::ResultString::getResult () const
ຕອບຄ່າ const string
ResultString () ຟັງຊັນຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບ string ທີ່ແນ່ນອນ:
ResultString (std::string const & message, bool hasError_)
ResultString (NlcErrorCode const & errCode, std::string const & errorString_)
ResultString (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.4 ResultArrayByte
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນອາເຣ byte. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານ vector byte ຖ້າການເອີ້ນຟັງຊັນປະສົບຜົນ ສຳ ເລັດ.
const std::vector nlc::ResultArrayByte::getResult () const
ຕອບ const vector
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
46
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ResultArrayByte () ຟັງຊັນຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບ array byte ທີ່ແນ່ນອນ:
ResultArrayByte (std::vector const & ຜົນໄດ້ຮັບ_)
ResultArrayByte (std::string const & errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.5 ResultArrayInt
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນ array ຈຳນວນເຕັມ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານ vector integer ຖ້າການເອີ້ນຟັງຊັນປະສົບຜົນສໍາເລັດ.
const std::vector nlc::ResultArrayInt::getResult () const
ຕອບ const vector
ResultArrayInt () ຟັງຊັນຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນຂອງ array integer ທີ່ແນ່ນອນ:
ResultArrayInt (std::vector const & ຜົນໄດ້ຮັບ_)
ResultArrayInt (std::string const & errorString_)
ResultArrayInt (NlcErrorCode const & errCode, std::string const & error String_)
ResultArrayInt (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayInt (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.6 ResultBusHwIds
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນອາເຣ ID ຮາດແວລົດເມ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານ vector bus-hardware-ID ຖ້າການເອີ້ນຟັງຊັນສຳເລັດຜົນ.
const std::vector nlc::ResultBusHwIds::getResult () const
ພາລາມິເຕີ const vector
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
47
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ResultBusHwIds () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບທີ່ແນ່ນອນຂອງ bus-hardware-ID-array:
ResultBusHwIds (std::vector const & ຜົນໄດ້ຮັບ_)
ResultBusHwIds (std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultBusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.7 ResultDeviceId
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນ ID ອຸປະກອນ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານ vector ID ອຸປະກອນ ຖ້າການເອີ້ນຟັງຊັນສຳເລັດຜົນ.
DeviceId nlc::ResultDeviceId::getResult () const
ຕອບ const vector
ResultDeviceId () ຟັງຊັນຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບ ID ອຸປະກອນທີ່ແນ່ນອນ:
ResultDeviceId (DeviceId const & result_)
ResultDeviceId (std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.8 ResultDeviceIds
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນອາເຣ ID ອຸປະກອນ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ສົ່ງຄ່າ vector ID ອຸປະກອນຫາກການເອີ້ນຟັງຊັນສຳເລັດ.
DeviceId nlc::ResultDeviceIds::getResult () const
ຕອບ const vector
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
48
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ResultDeviceIds () ຟັງຊັນຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບທີ່ແນ່ນອນຂອງອຸປະກອນ-ID-array:
ResultDeviceIds (std::vector const & ຜົນໄດ້ຮັບ_)
ResultDeviceIds (std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.9 ResultDeviceHandle
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນຄ່າຂອງຕົວຈັບອຸປະກອນ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານຕົວຈັບອຸປະກອນ ຖ້າການເອີ້ນຟັງຊັນສຳເລັດຜົນ.
DeviceHandle nlc::ResultDeviceHandle::getResult () const
ສົ່ງຄືນ DeviceHandle
ResultDeviceHandle () ຟັງຊັນຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນການຈັບອຸປະກອນທີ່ແນ່ນອນ:
ResultDeviceHandle (DeviceHandle const & result_)
ResultDeviceHandle (std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, std::string const & errorString_)
ResultDeviceHandle (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.10 ResultObjectDictionary
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນເນື້ອຫາຂອງວັດຈະນານຸກົມວັດຖຸ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານ vector ID ອຸປະກອນ ຖ້າການເອີ້ນຟັງຊັນສຳເລັດຜົນ.
const nlc::ObjectDictionary & nlc::ResultObjectDictionary::getResult () const
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
49
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ກັບຄືນ
const vector
ResultObjectDictionary () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບຂອງວັດຈະນານຸກົມວັດຖຸທີ່ແນ່ນອນ:
ResultObjectDictionary (nlc::ObjectDictionary const & result_)
ResultObjectDictionary (std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectDictionary (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectDictionary (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.11 ResultConnectionState
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນຂໍ້ມູນອຸປະກອນ - ການເຊື່ອມຕໍ່ສະຖານະ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານຕົວຈັບອຸປະກອນ ຖ້າການເອີ້ນຟັງຊັນສຳເລັດຜົນ.
DeviceConnectionStateInfo nlc::ResultConnectionState::getResult () const
ສົ່ງຄືນ DeviceConnectionStateInfo Connected / Disconnected / ConnectedBootloader
ResultConnectionState () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບຂອງລັດການເຊື່ອມຕໍ່ທີ່ແນ່ນອນ:
ResultConnectionState (DeviceConnectionStateInfo const & result_)
ResultConnectionState (std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, std::string const & errorString_)
ResultConnectionState (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultConnectionState (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.12 ResultObjectEntry
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນການປ້ອນວັດຖຸ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
50
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
getResult () ສົ່ງຄ່າ vector ID ອຸປະກອນຫາກການເອີ້ນຟັງຊັນສຳເລັດ.
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
ກັບຄືນ const ObjectEntry
ResultObjectEntry () ຟັງຊັນຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນການເຂົ້າວັດຖຸທີ່ແນ່ນອນ:
ResultObjectEntry (nlc::ObjectEntry const & result_)
ResultObjectEntry (std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.13 ResultObjectSubEntry
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນການປ້ອນຂໍ້ມູນຍ່ອຍຂອງວັດຖຸ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ສົ່ງຄ່າ vector ID ອຸປະກອນຫາກການເອີ້ນຟັງຊັນສຳເລັດ.
nlc::ObjectSubEntry const & nlc::ResultObjectSubEntry::getResult () const
ກັບຄືນ const ObjectSubEntry
ResultObjectSubEntry () ຟັງຊັນຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດຜົນໄດ້ຮັບຍ່ອຍຂອງວັດຖຸທີ່ແນ່ນອນ:
ResultObjectSubEntry (nlc::ObjectEntry const & result_)
ResultObjectSubEntry (std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
8.28.14 ResultProfinetDevices
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນສົ່ງຄືນອຸປະກອນ Profinet. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
51
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
getResult () ອ່ານ vector ອຸປະກອນ Profinet ຖ້າການເອີ້ນຟັງຊັນປະສົບຜົນສໍາເລັດ.
const std::vector & getResult () const
ResultProfinetDevices () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດອຸປະກອນ Profinet ທີ່ແນ່ນອນ.
ResultProfinetDevices (const std::vector & profinetDevices)
ResultProfinetDevices (const ຜົນໄດ້ຮັບ & ຜົນໄດ້ຮັບ)
ResultProfinetDevices (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ຜົນການຄົ້ນຫາampleDataArray
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນກັບຄືນມາເປັນample array ຂໍ້ມູນ. ຊັ້ນຮຽນສືບທອດຫນ້າທີ່ສາທາລະນະ / ຄຸນລັກສະນະທີ່ຖືກປົກປ້ອງຈາກຊັ້ນຜົນໄດ້ຮັບແລະມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້:
getResult () ອ່ານ array ຂໍ້ມູນຖ້າການເອີ້ນຟັງຊັນປະສົບຜົນສໍາເລັດ.
const std::vector <SampleData> & getResult () const
ຜົນໄດ້ຮັບampleDataArray () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດອຸປະກອນ Profinet ທີ່ແນ່ນອນ.
ຜົນໄດ້ຮັບampleDataArray (const std::vector <SampleData> & dataArray)
ຜົນໄດ້ຮັບampleDataArray (const std::string &errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)
ຜົນໄດ້ຮັບampleDataArray (const ResultSampleDataArray ແລະອື່ນໆ)
ຜົນໄດ້ຮັບampleDataArray (const ຜົນໄດ້ຮັບແລະຜົນໄດ້ຮັບ)
8.28.16 ຜົນການຄົ້ນຫາamplerState
NanoLib ສົ່ງຕົວຢ່າງຂອງຊັ້ນນີ້ໃຫ້ທ່ານຖ້າຟັງຊັນກັບຄືນມາເປັນampler state.This classes inherits the public functions / protected attributes from the result class and has the following public member functions :
getResult () ອ່ານອອກ sampler state vector ຖ້າການເອີ້ນຟັງຊັນປະສົບຜົນສໍາເລັດ.
SamplerState getResult () const
ສົ່ງຄືນ SamplerState>
Unconfigured / Configured / ພ້ອມ / ແລ່ນ / ສໍາເລັດ / ລົ້ມເຫລວ / ຍົກເລີກ
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
52
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ຜົນໄດ້ຮັບamplerState () ຫນ້າທີ່ຕໍ່ໄປນີ້ຊ່ວຍໃນການກໍານົດ s ທີ່ແນ່ນອນampລັດ ler.
ຜົນໄດ້ຮັບamplerState (const Sampລັດ lerState)
ຜົນໄດ້ຮັບamplerState (const std::string & errorDesc, const NlcErrorCode errorCode = NlcErrorCode::GeneralError, const uint32_t
extendedErrorCode = 0)
ຜົນໄດ້ຮັບamplerState (const ResultSamplerState ແລະອື່ນໆ)
ຜົນໄດ້ຮັບamplerState (const ຜົນໄດ້ຮັບແລະຜົນໄດ້ຮັບ)
8.29 NlcErrorCode
ຖ້າມີບາງຢ່າງຜິດພາດ, ຫ້ອງຮຽນຜົນໄດ້ຮັບຈະລາຍງານລະຫັດຂໍ້ຜິດພາດອັນໃດອັນໜຶ່ງທີ່ຢູ່ໃນການນັບຈຳ ນວນນີ້.
ລະຫັດຄວາມຜິດພາດ Success GeneralError BusUnavailable CommunicationError ProtocolError
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
InvalidArguments AccessDenied ResourceNotFound ResourceUnavailable OutOfMemory TimeOutError
C: ປະເພດ D: ຄໍາອະທິບາຍ R: ເຫດຜົນ C: ບໍ່ມີ. D: ບໍ່ມີຂໍ້ຜິດພາດ. R: ການດໍາເນີນງານໄດ້ສໍາເລັດສົບຜົນສໍາເລັດ.
C: ບໍ່ໄດ້ລະບຸ. D: ຄວາມຜິດພາດທີ່ບໍ່ໄດ້ລະບຸ. R: ຄວາມລົ້ມເຫຼວທີ່ເຫມາະກັບປະເພດອື່ນທີ່ບໍ່ມີ.
C: ລົດເມ. D: ລົດເມຮາດແວບໍ່ສາມາດໃຊ້ໄດ້. R: ລົດເມບໍ່ມີຢູ່, ຖືກຕັດອອກ ຫຼືຜິດປົກກະຕິ.
C: ການສື່ສານ. D: ການສື່ສານບໍ່ຫນ້າເຊື່ອຖື. R: ຂໍ້ມູນທີ່ບໍ່ຄາດຄິດ, CRC ຜິດ, ຄວາມຜິດພາດຂອງກອບ ຫຼື parity, ແລະອື່ນໆ.
C: ພິທີການ. D: Protocol ຜິດພາດ. R: ການຕອບສະໜອງຫຼັງຈາກຕົວເລືອກໂປຣໂຕຄໍທີ່ບໍ່ຮອງຮັບ, ລາຍງານອຸປະກອນທີ່ບໍ່ຮອງຮັບໂປຣໂຕຄໍ, ຂໍ້ຜິດພາດໃນໂປຣໂຕຄໍ (ເວົ້າ, SDO segment sync bit), ແລະອື່ນໆ R: ລາຍງານການຕອບສະໜອງ ຫຼືອຸປະກອນຕໍ່ກັບໂປຣໂຕຄໍທີ່ບໍ່ຮອງຮັບ (ຕົວເລືອກ) ຫຼືຄວາມຜິດພາດໃນໂປຣໂຕຄໍ (ເວົ້າ, SDO segment sync bit), ແລະອື່ນໆ R: Unsupported protocol (options) or error in protocol (say, SDO segment sync bit), etc.
C: ວັດຈະນານຸກົມວັດຖຸ. D: OD address ບໍ່ມີຢູ່. R: ບໍ່ມີທີ່ຢູ່ດັ່ງກ່າວຢູ່ໃນວັດຈະນານຸກົມວັດຖຸ.
C: ວັດຈະນານຸກົມວັດຖຸ. D: ການເຂົ້າເຖິງທີ່ຢູ່ OD ບໍ່ຖືກຕ້ອງ. R: ພະຍາຍາມຂຽນແບບອ່ານເທົ່ານັ້ນ, ຫຼືອ່ານຈາກທີ່ຢູ່ຂຽນເທົ່ານັ້ນ.
C: ວັດຈະນານຸກົມວັດຖຸ. D: ພິມບໍ່ກົງກັນ. R: ຄ່າທີ່ບໍ່ໄດ້ປ່ຽນເປັນປະເພດທີ່ລະບຸ, ໃຫ້ເວົ້າວ່າ, ໃນຄວາມພະຍາຍາມທີ່ຈະປະຕິບັດ string ເປັນຕົວເລກ.
C: ຄໍາຮ້ອງສະຫມັກ. D: ຂະບວນການຖືກຍົກເລີກ. R: ຂະບວນການຕັດໂດຍການຮ້ອງຂໍຄໍາຮ້ອງສະຫມັກ. ສົ່ງຄືນພຽງແຕ່ໃນການດໍາເນີນງານຂັດຂວາງໂດຍຟັງຊັນໂທກັບ, ເວົ້າວ່າ, ຈາກການສະແກນລົດເມ.
C: ທົ່ວໄປ. D: ບໍ່ຮອງຮັບຂະບວນການ. R: ບໍ່ມີຮາດແວລົດເມ / ອຸປະກອນສະຫນັບສະຫນູນ.
C: ທົ່ວໄປ. D: ຂະບວນການບໍ່ຖືກຕ້ອງໃນສະພາບການປະຈຸບັນ, ຫຼືບໍ່ຖືກຕ້ອງກັບການໂຕ້ຖຽງປັດຈຸບັນ. R: ຄວາມພະຍາຍາມທີ່ຈະເຊື່ອມຕໍ່ຄືນໃໝ່ເພື່ອເຊື່ອມຕໍ່ລົດເມ / ອຸປະກອນແລ້ວ. ຄວາມພະຍາຍາມຕັດການເຊື່ອມຕໍ່ເພື່ອຕັດການເຊື່ອມຕໍ່ແລ້ວ. ຄວາມພະຍາຍາມດໍາເນີນການ bootloader ໃນໂຫມດເຟີມແວຫຼືໃນທາງກັບກັນ.
C: ທົ່ວໄປ. D: ການໂຕ້ຖຽງບໍ່ຖືກຕ້ອງ. R: ເຫດຜົນ ຫຼື syntax ຜິດ.
C: ທົ່ວໄປ. D: ການເຂົ້າເຖິງຖືກປະຕິເສດ. R: ຂາດສິດທິຫຼືຄວາມສາມາດໃນການປະຕິບັດການຮ້ອງຂໍ.
C: ທົ່ວໄປ. D: ບໍ່ພົບລາຍການທີ່ລະບຸ. R: ລົດເມຮາດແວ, ໂປຣໂຕຄໍ, ອຸປະກອນ, ທີ່ຢູ່ OD ໃນອຸປະກອນ, ຫຼື file ບໍ່ພົບ.
C: ທົ່ວໄປ. D: ບໍ່ພົບລາຍການທີ່ລະບຸ. R: ຫວ່າງ, ບໍ່ມີຢູ່, ຕັດອອກຫຼືຜິດປົກກະຕິ.
C: ທົ່ວໄປ. D: ຄວາມຈຳບໍ່ພຽງພໍ. R: ຄວາມຈຳໜ້ອຍເກີນໄປທີ່ຈະປະມວນຜົນຄຳສັ່ງນີ້.
C: ທົ່ວໄປ. D: ຂະບວນການໝົດເວລາ. R: ກັບຄືນຫຼັງຈາກຫມົດເວລາຫມົດເວລາ. Timeout ອາດຈະເປັນເວລາຕອບສະຫນອງອຸປະກອນ, ເວລາທີ່ຈະໄດ້ຮັບການເຂົ້າເຖິງຊັບພະຍາກອນທີ່ແບ່ງປັນຫຼືສະເພາະ, ຫຼືເວລາທີ່ຈະປ່ຽນລົດເມ / ອຸປະກອນໄປສູ່ສະຖານະທີ່ເຫມາະສົມ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
53
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
8.30 NlcCallback
ຊັ້ນແມ່ນີ້ສໍາລັບ callbacks ມີຫນ້າທີ່ສະມາຊິກສາທາລະນະດັ່ງຕໍ່ໄປນີ້: callback ()
ຜົນໄດ້ຮັບ virtualVoid callback ()
ກັບຄືນ
ຜົນໄດ້ຮັບ
8.31 NlcDataTransferCallback
ໃຊ້ຊັ້ນໂທກັບຄືນນີ້ສໍາລັບການໂອນຂໍ້ມູນ (ການອັບເດດເຟີມແວ, ການອັບໂຫລດ NanoJ ແລະອື່ນໆ). 1. ສໍາລັບການອັບໂຫລດເຟີມແວ: ກໍານົດ "ຊັ້ນຮ່ວມ" ຂະຫຍາຍອັນນີ້ດ້ວຍວິທີການໂທກັບທີ່ກໍານົດເອງ.
ການຈັດຕັ້ງປະຕິບັດ. 2. ໃຊ້ “co-class’s” instances ໃນ NanoLibAccessor.uploadFirmware () calls. ຫ້ອງຮຽນຕົ້ນຕໍຂອງມັນເອງມີຫນ້າທີ່ສະມາຊິກສາທາລະນະດັ່ງຕໍ່ໄປນີ້:
callback () virtual ResultVoid callback (nlc::DataTransferInfo, ຂໍ້ມູນ int32_t)
ກັບຄືນ
ຜົນໄດ້ຮັບ
8.32 NlcScanBusCallback
ໃຊ້ຫ້ອງຮຽນການໂທກັບນີ້ສໍາລັບການສະແກນລົດເມ. 1. ກຳນົດ “ຊັ້ນຮຽນຮ່ວມ” ຂະຫຍາຍອັນນີ້ດ້ວຍການຈັດຕັ້ງປະຕິບັດວິທີການໂທກັບທີ່ກຳນົດເອງ. 2. ໃຊ້ “co-class’s” instances ໃນ NanoLibAccessor.scanDevices () calls. ຫ້ອງຮຽນຕົ້ນຕໍຂອງມັນເອງມີຫນ້າທີ່ສະມາຊິກສາທາລະນະດັ່ງຕໍ່ໄປນີ້.
ໂທກັບ ()
virtual ResultVoid callback (nlc::ຂໍ້ມູນ BusScanInfo, std::vector const & ອຸປະກອນພົບ, ຂໍ້ມູນ int32_t)
ກັບຄືນ ResultVoid
8.33 NlcLoggingCallback
ໃຊ້ຫ້ອງຮຽນການໂທກັບນີ້ເພື່ອບັນທຶກການໂທກັບຄືນ. 1. ກຳນົດຊັ້ນຮຽນທີ່ຂະຫຍາຍຊັ້ນຮຽນນີ້ດ້ວຍການຈັດຕັ້ງປະຕິບັດວິທີການໂທຄືນແບບກຳນົດເອງ 2. ໃຊ້ຕົວຊີ້ໄປຫາຕົວຢ່າງຂອງມັນເພື່ອກຳນົດການເອີ້ນຄືນໂດຍ NanoLibAccessor >
setLoggingCallback (…).
virtual void callback (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)
8.34 ສamplerInterface
ໃຊ້ຫ້ອງຮຽນນີ້ເພື່ອຕັ້ງຄ່າ, ເລີ່ມຕົ້ນ ແລະຢຸດ sampler, ຫຼືເພື່ອໃຫ້ໄດ້ຮັບ sampນໍາພາຂໍ້ມູນແລະດຶງຂໍ້ມູນເປັນampສະຖານະພາບຂອງ ler ຫຼືຄວາມຜິດພາດສຸດທ້າຍ. ຫ້ອງຮຽນມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
54
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
configure () ກໍານົດເປັນampເລີ
virtual ResultVoid nlc::SamplerInterface::configure (const DeviceHandle deviceHandle, const SamplerConfiguration & samplerConfiguration)
ພາລາມິເຕີ [in] deviceHandle [in] samplerConfiguration
ກັບຄືນ ResultVoid
ກໍານົດອຸປະກອນໃດທີ່ຈະກໍາຫນົດຄ່າ sampler ສໍາລັບ. ລະບຸຄ່າຂອງຄຸນລັກສະນະການຕັ້ງຄ່າ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
getData () ໄດ້ຮັບ sampນໍາຂໍ້ມູນ.
ຜົນໄດ້ຮັບສະເໝືອນຈິງampleDataArray nlc::SamplerInterface::getData (const DeviceHandle deviceHandle)
ພາລາມິເຕີ [ໃນ] ອຸປະກອນHandle ກັບຄືນຜົນໄດ້ຮັບSampleDataArray
ລະບຸວ່າອຸປະກອນໃດທີ່ຈະໄດ້ຮັບຂໍ້ມູນສໍາລັບ.
ຈັດສົ່ງ sampຂໍ້ມູນນໍາພາ, ເຊິ່ງສາມາດເປັນ array ຫວ່າງເປົ່າຖ້າ samplerNotify ມີການເຄື່ອນໄຫວໃນຕອນເລີ່ມຕົ້ນ.
getLastError () ໄດ້ຮັບເປັນampຄວາມຜິດພາດສຸດທ້າຍຂອງ ler.
virtual ResultVoid nlc::SamplerInterface::getLastError (const DeviceHandle deviceHandle)
ກັບຄືນ ResultVoid
ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
getState () ໄດ້ຮັບເປັນampສະຖານະພາບຂອງ ler.
ຜົນໄດ້ຮັບສະເໝືອນຈິງamplerState nlc::SamplerInterface::getState (const DeviceHandle deviceHandle)
ຜົນໄດ້ຮັບSamplerState
ຈັດສົ່ງ sampລັດ ler.
start () ເລີ່ມເປັນampເລີ
virtual ResultVoid nlc::SamplerInterface::start (const DeviceHandle deviceHandle, SamplerNotify*samplerNotify, int64_t applicationData)
ພາລາມິເຕີ [ໃນ] ອຸປະກອນHandle [ໃນ] SamplerNotify [ໃນ] applicationData
ກັບຄືນ ResultVoid
ລະບຸວ່າອຸປະກອນໃດທີ່ຈະເລີ່ມ sampler ສໍາລັບ.
ລະບຸຂໍ້ມູນທາງເລືອກທີ່ຈະລາຍງານ (ສາມາດເປັນ nullptr).
ທາງເລືອກ: ສົ່ງຕໍ່ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກັບແອັບພລິເຄຊັນ (ອາເຣ 8-bit ທີ່ກໍານົດໂດຍຜູ້ໃຊ້ຂອງມູນຄ່າ / ID ອຸປະກອນ / ດັດຊະນີ, ຫຼືວັນທີ, ຕົວຊີ້ຂອງຕົວແປ / ຫນ້າທີ່, ແລະອື່ນໆ) ໄປຫາ s.ampler ແຈ້ງ.
ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
55
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
stop () ຢຸດເປັນampເລີ
virtual ResultVoid nlc::SamplerInterface::stop (const DeviceHandle deviceHandle)
ພາລາມິເຕີ [ໃນ] ອຸປະກອນHandle ກັບຄືນ ResultVoid
ລະບຸອຸປະກອນທີ່ຈະຢຸດ sampler ສໍາລັບ. ຢືນຢັນວ່າຟັງຊັນ void ໄດ້ດໍາເນີນການ.
8.35 ສamplerConfiguration struct
ໂຄງສ້າງນີ້ມີຂໍ້ມູນ sampຕົວເລືອກການຕັ້ງຄ່າຂອງ ler (static ຫຼືບໍ່).
ຄຸນສົມບັດສາທາລະນະ
std:: vector ທີ່ຢູ່ຕິດຕາມ
ເຖິງ 12 ທີ່ຢູ່ OD ທີ່ຈະເປັນ sampນຳ ພາ.
uint32_t
ສະບັບ
ສະບັບຂອງໂຄງສ້າງ.
uint32_t
ໄລຍະເວລາມິນລິວິນາທີ
Sampໄລຍະເວລາ ling ໃນ ms, ຈາກ 1 ຫາ 65535
uint16_t
ໄລຍະເວລາມິນລິວິນາທີ
Sampling period ໃນ ms.
uint16_t
numberOfSamples
Sampຈໍານວນ les.
uint16_t
preTriggerNumberOfSamples
Samples pre-trigger ຈໍານວນ.
ບູລ
ການນໍາໃຊ້ຊອບແວປະຕິບັດ
ໃຊ້ການຈັດຕັ້ງປະຕິບັດຊອບແວ.
ບູລ
ໃຊ້ NewFWSamplerImplementation ໃຊ້ການປະຕິບັດ FW ສໍາລັບອຸປະກອນທີ່ມີ a
FW ລຸ້ນ v24xx ຫຼືໃໝ່ກວ່າ.
SamplerMode
ໂໝດ
ປົກກະຕິ, ຊໍ້າຊ້ອນ ຫຼື ຢ່າງຕໍ່ເນື່ອງ sampລິງ.
SamplerTriggerCondition triggerCondition
ເງື່ອນໄຂເລີ່ມຕົ້ນ: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_XEATER TC_GREATER_OR_EQUAL = 0x15 TC_LESS = 0x16 TC_LESS_OR_EQUAL = 0x17 TC_EQUAL = 0x18 TC_NOT_EQUAL = 0x19A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE, 0x1 TC_MULTI_EDGE = 0x1B TC_MULTI_EDGE, XNUMXxXNUMXB x TC_MULTI_EDGE, OV
SamplerTrigger
SamplerTrigger
ຜົນກະທົບຕໍ່ເພື່ອເລີ່ມຕົ້ນເປັນampເລີ?
ຄຸນສົມບັດສາທາລະນະຄົງທີ່
static constexpr size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 static constexpr size_t MAX_TRACKED_ADDRESSES = 12
8.36 ສampler ແຈ້ງ
ໃຊ້ຫ້ອງຮຽນນີ້ເພື່ອເປີດໃຊ້ sampler ແຈ້ງໃນເວລາທີ່ທ່ານເລີ່ມຕົ້ນເປັນampເລີ. ຫ້ອງຮຽນມີຫນ້າທີ່ສະມາຊິກສາທາລະນະຕໍ່ໄປນີ້.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
56
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
ແຈ້ງ ()
ສົ່ງການເຂົ້າແຈ້ງການ.
virtual void nlc::SamplerNotify::notify (const ResultVoid & lastError, const SamplerState samplerState, const std::vector <SampleData> & sampleDatas, int64_t applicationData)
ພາລາມິເຕີ [in] LastError [in] samplerState
[ໃນ] sampleDatas [ໃນ] applicationData
ລາຍງານຄວາມຜິດພາດທີ່ສຸດທີ່ເກີດຂຶ້ນໃນຂະນະທີ່ sampລີງ. ລາຍງານ ສampler ສະຖານະພາບທີ່ໃຊ້ເວລາການແຈ້ງການ: Unconfigured / configured / ພ້ອມ / ແລ່ນ / ສໍາເລັດຮູບ / ລົ້ມເຫຼວ / ຍົກເລີກ. ລາຍງານ ສampled-data array. ລາຍງານຂໍ້ມູນສະເພາະແອັບພລິເຄຊັນ.
8.37 ສampໂຄງສ້າງ leData
ໂຄງສ້າງນີ້ປະກອບດ້ວຍ sampນໍາຂໍ້ມູນ.
uin64_t ເລກຊ້ຳ
ເລີ່ມຕົ້ນທີ່ 0 ແລະພຽງແຕ່ເພີ່ມຂຶ້ນໃນໂຫມດຊ້ໍາຊ້ອນ.
std::vector<SampledValues> ປະກອບດ້ວຍ he array ຂອງ sampມູນຄ່ານໍາພາ.
8.38 ສampledValue struct
ໂຄງສ້າງນີ້ປະກອບດ້ວຍ sampມູນຄ່ານໍາພາ.
in64_t ຄ່າ uin64_t CollectTimeMsec
ປະກອບມີຄ່າຂອງທີ່ຢູ່ OD ທີ່ຕິດຕາມ.
ປະກອບມີເວລາເກັບກໍາເປັນ milliseconds, ທຽບກັບ sampເລີ່ມຕົ້ນ.
8.39 ສampໂຄງສ້າງ lerTrigger
ໂຄງສ້າງນີ້ມີການຕັ້ງຄ່າຕົວກະຕຸ້ນຂອງ sampເລີ
SamplerTriggerCondition ເງື່ອນໄຂ
ຄ່າ OdIndex uin32_t
ເງື່ອນໄຂຂອງທຣິກເກີ: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_0 TC_GREATER_OR_EQUAL = 15x0 TC_LESS = 16x0 TC_LESS_OR_EQUAL = 17x0 TC_EQUAL = 18x0 TC_NOT_EQUAL = 19x0A TC_ONE_EDGE = 1x0B TC_MULTI_EDGE = 1
OdIndex ຂອງຕົວກະຕຸ້ນ (ທີ່ຢູ່).
ຄ່າເງື່ອນໄຂ ຫຼືຕົວເລກບິດ (ເລີ່ມຈາກບິດສູນ).
8.40 ໂຄງສ້າງ Serial
ຊອກຫາຕົວເລືອກການສື່ສານ serial ຂອງທ່ານແລະຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string const SerialBaudRate
BAUD_RATE_OPTIONS_NAME = “ອັດຕາ baud serial” baudRate =SerialBaudRate struct
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
57
8 ຫ້ອງຮຽນ / ຫນ້າທີ່ອ້າງອີງ
const std::string const SerialParity
PARITY_OPTIONS_NAME = “ຄວາມສະເໝີພາບຕາມລໍາດັບ” parity = ໂຄງສ້າງ SerialParity
8.41 ໂຄງສ້າງ SerialBaudRate
ຊອກຫາທີ່ນີ້ອັດຕາການຕິດຕໍ່ສື່ສານ serial baud ຂອງທ່ານແລະຄຸນລັກສະນະສາທາລະນະດັ່ງຕໍ່ໄປນີ້:
const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string const std::string
BAUD_RATE_7200 = “7200” BAUD_RATE_9600 = “9600” BAUD_RATE_14400 = “14400” BAUD_RATE_19200 = “19200” BAUD_RATE_38400 = “38400” BAUD_RATE_56000 = “56000” BAUD_57600 57600 = “115200” BAUD_RATE_115200 = “128000” BAUD_RATE_128000 = “256000” BAUD_RATE_256000 = “XNUMX”
8.42 ໂຄງສ້າງ SerialParity
ຊອກຫາຕົວເລືອກ serial parity ຂອງທ່ານແລະຄຸນລັກສະນະສາທາລະນະຕໍ່ໄປນີ້:
const std::string const std::string const std::string const std::string const std::string
NONE = “ບໍ່ມີ” ODD = “odd” EVEN = “ແມ້” MARK = “ເຄື່ອງໝາຍ” SPACE = “ຊ່ອງ”
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
58
9 ໃບອະນຸຍາດ
9 ໃບອະນຸຍາດ
ສ່ວນຫົວສ່ວນຕິດຕໍ່ NanoLib API ແລະ exampລະຫັດແຫຼ່ງແມ່ນໄດ້ຮັບອະນຸຍາດຈາກ Nanotec Electronic GmbH & Co. KG ພາຍໃຕ້ Creative Commons Attribution 3.0 Unported License (CC BY). ພາກສ່ວນຫ້ອງສະໝຸດທີ່ສະໜອງໃຫ້ໃນຮູບແບບຄູ່ (ຫ້ອງສະໝຸດການສື່ສານຫຼັກ ແລະສະໜາມບິນ) ແມ່ນໄດ້ຮັບອະນຸຍາດພາຍໃຕ້ Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND).
Creative Commons
ບົດສະຫຼຸບທີ່ມະນຸດສາມາດອ່ານໄດ້ຕໍ່ໄປນີ້ຈະບໍ່ປ່ຽນແທນໃບອະນຸຍາດຂອງຕົນເອງ. ທ່ານສາມາດຊອກຫາໃບອະນຸຍາດທີ່ກ່ຽວຂ້ອງໄດ້ທີ່ creativecommons.org ແລະເຊື່ອມຕໍ່ຂ້າງລຸ່ມນີ້. ເຈົ້າມີອິດສະຫຼະທີ່ຈະ:
CC BY 3.0
ແບ່ງປັນ: ເບິ່ງຂວາ. ປັບປຸງແກ້ໄຂ: Remix, ການຫັນປ່ຽນ, ແລະການກໍ່ສ້າງຕາມ
ອຸປະກອນການສໍາລັບຈຸດປະສົງໃດກໍ່ຕາມ, ເຖິງແມ່ນວ່າການຄ້າ.
CC BY-ND 4.0
ແບ່ງປັນ: ສຳເນົາ ແລະແຈກຢາຍເອກະສານຄືນໃໝ່ໃນທຸກສື່ ຫຼືຮູບແບບໃດນຶ່ງ.
ຜູ້ອອກໃບອະນຸຍາດບໍ່ສາມາດຖອນສິດເສລີພາບຂ້າງເທິງໄດ້ ຕາບໃດທີ່ທ່ານປະຕິບັດຕາມເງື່ອນໄຂການອະນຸຍາດຕໍ່ໄປນີ້:
CC BY 3.0
CC BY-ND 4.0
ຄຸນລັກສະນະ: ທ່ານຕ້ອງໃຫ້ສິນເຊື່ອທີ່ເຫມາະສົມ, ຄຸນລັກສະນະ: ເບິ່ງຊ້າຍ. ແຕ່: ສະຫນອງການເຊື່ອມຕໍ່ນີ້
ສະຫນອງການເຊື່ອມຕໍ່ກັບໃບອະນຸຍາດ, ແລະຊີ້ບອກຖ້າຫາກວ່າ
ໃບອະນຸຍາດອື່ນໆ.
ມີການປ່ຽນແປງ. ເຈົ້າອາດຈະເຮັດແນວນັ້ນໃນອັນໃດກໍໄດ້
ບໍ່ມີອະນຸພັນ: ຖ້າເຈົ້າຣີມິກ, ຫັນປ່ຽນ ຫຼືສ້າງ
ລັກສະນະທີ່ສົມເຫດສົມຜົນ, ແຕ່ບໍ່ແມ່ນໃນທາງໃດກໍ່ຕາມທີ່ຊີ້ໃຫ້ເຫັນເຖິງ
ຕາມວັດສະດຸ, ເຈົ້າອາດຈະບໍ່ແຈກຢາຍ
gests ຜູ້ອອກໃບອະນຸຍາດຮັບຮອງທ່ານຫຼືການນໍາໃຊ້ຂອງທ່ານ.
ອຸປະກອນການດັດແກ້.
ບໍ່ມີຂໍ້ຈໍາກັດເພີ່ມເຕີມ: ທ່ານອາດຈະບໍ່ນໍາໃຊ້ ບໍ່ມີຂໍ້ຈໍາກັດເພີ່ມເຕີມ: ເບິ່ງຊ້າຍ. ຂໍ້ກໍານົດທາງດ້ານກົດຫມາຍຫຼືມາດຕະການທາງດ້ານເຕັກໂນໂລຢີທີ່ຖືກຕ້ອງຕາມກົດຫມາຍ
ຈໍາກັດຜູ້ອື່ນຈາກການເຮັດຫຍັງໃບອະນຸຍາດ
ອະນຸຍາດ.
ຫມາຍເຫດ: ທ່ານບໍ່ຈໍາເປັນຕ້ອງປະຕິບັດຕາມໃບອະນຸຍາດສໍາລັບອົງປະກອບຂອງວັດສະດຸໃນສາທາລະນະຫຼືບ່ອນທີ່ການນໍາໃຊ້ຂອງທ່ານຖືກອະນຸຍາດໂດຍຂໍ້ຍົກເວັ້ນຫຼືຂໍ້ຈໍາກັດທີ່ກ່ຽວຂ້ອງ.
ໝາຍເຫດ: ບໍ່ມີການຮັບປະກັນໃຫ້. ໃບອະນຸຍາດອາດຈະບໍ່ໃຫ້ສິດທັງໝົດແກ່ເຈົ້າທີ່ຈໍາເປັນສໍາລັບການນໍາໃຊ້ທີ່ຕັ້ງໃຈຂອງເຈົ້າ. ຕົວຢ່າງample, ສິດທິອື່ນໆເຊັ່ນ: ການເປີດເຜີຍ, ຄວາມເປັນສ່ວນຕົວ, ຫຼືສິດທິທາງສິນທໍາອາດຈະຈໍາກັດວິທີທີ່ເຈົ້າໃຊ້ວັດສະດຸ.
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
59
ພິມ, ຕິດຕໍ່, ສະບັບ
©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 FeldkirchenGermanyTel.+49(0) 89 900 686-0Fax+49(0)89 900 686-50 info@nanotec.dewww.nanotec.com ສະຫງວນລິຂະສິດທັງໝົດ. ຄວາມຜິດພາດ, ການລະເວັ້ນ, ການປ່ຽນແປງດ້ານວິຊາການຫຼືເນື້ອໃນທີ່ເປັນໄປໄດ້ໂດຍບໍ່ມີການແຈ້ງການ. ຍີ່ຫໍ້/ຜະລິດຕະພັນທີ່ອ້າງເຖິງແມ່ນເຄື່ອງໝາຍການຄ້າຂອງເຈົ້າຂອງຂອງເຂົາເຈົ້າ ແລະຖືກປະຕິບັດເຊັ່ນນັ້ນ. ສະບັບຕົ້ນສະບັບ.
ເອກະສານ 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07.
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08
+ ເພີ່ມ> ປ່ຽນ # ແກ້ໄຂ> ການເຮັດວຽກຄືນໃຫມ່ຂອງ ex ໄດ້amples.
+ NanoLib Modbus: ເພີ່ມກົນໄກການລັອກອຸປະກອນສໍາລັບ Modbus VCP. # NanoLib Core: ກວດສອບສະຖານະການເຊື່ອມຕໍ່ຄົງທີ່. # ລະຫັດ NanoLib: ການກໍາຈັດການອ້າງອິງຮາດແວລົດເມທີ່ຖືກແກ້ໄຂ.
+ NanoLib-CANopen: ຮອງຮັບອະແດັບເຕີ Peak PCAN-USB (IPEH-002021/002022).
> NanoLib Core: ປ່ຽນການເຂົ້າບັນທຶກການໂຕ້ຕອບການໂທຄືນ (LogLevel ແທນທີ່ດ້ວຍ LogModule). # NanoLib Logger: ການແຍກລະຫວ່າງຫຼັກແລະໂມດູນໄດ້ຖືກແກ້ໄຂແລ້ວ. # Modbus TCP: ການອັບເດດເຟີມແວຄົງທີ່ສໍາລັບ FW4. # EtherCAT: ການອັບໂຫລດໂປຣແກຣມ NanoJ ຄົງທີ່ສຳລັບ Core5. # EtherCAT: ແກ້ໄຂອັບເດດເຟີມແວສຳລັບ Core5.
# Modbus RTU: ແກ້ໄຂບັນຫາເວລາທີ່ມີອັດຕາ baud ຕໍ່າໃນລະຫວ່າງການອັບເດດເຟີມແວ. # RESTful: ການອັບໂຫລດໂປຼແກຼມ NanoJ ຄົງທີ່.
# ໂມດູນ NanoLib Sampler: ການອ່ານທີ່ຖືກຕ້ອງຂອງ sampຄ່າ boolean ນໍາພາ.
+ Java 11 ຮອງຮັບທຸກເວທີ. + ຮອງຮັບ Python 3.11/3.12 ສໍາລັບທຸກເວທີ. + ການໂຕ້ຕອບການໂທກັບການບັນທຶກໃຫມ່ (ເບິ່ງຕົວຢ່າງamples). + Callback ຈົມລົງສໍາລັບ NanoLib Logger. > ອັບເດດຕົວບັນທຶກເປັນເວີຊັນ 1.12.0. > ໂມດູນ NanoLib Sampler: ສະຫນັບສະຫນູນໃນປັດຈຸບັນສໍາລັບ Nanotec controller firmware v24xx. > ໂມດູນ NanoLib Sampler: ການປ່ຽນແປງໂຄງສ້າງທີ່ໃຊ້ສໍາລັບ sampler ການຕັ້ງຄ່າ. > ໂມດູນ NanoLib Sampler: ຮູບແບບຢ່າງຕໍ່ເນື່ອງແມ່ນຄໍາສັບຄ້າຍຄືກັນກັບ endless; ສະພາບຕົວກະຕຸ້ນຖືກກວດກາຄັ້ງດຽວ; ຈໍານວນຂອງ samples ຕ້ອງເປັນ 0. > NanoLib Modules Sampler: ບູລິມະສິດປົກກະຕິສໍາລັບກະທູ້ທີ່ເກັບກໍາຂໍ້ມູນໃນຮູບແບບເຟີມແວ. > ໂມດູນ NanoLib Sampler: algorithm ຂຽນຄືນໃຫມ່ເພື່ອກວດຫາການປ່ຽນລະຫວ່າງສະຖານະ Ready & Running. # NanoLib Core: ບໍ່ມີການລະເມີດການເຂົ້າເຖິງເພີ່ມເຕີມ (0xC0000005) ໃນການປິດອຸປະກອນ 2 ຫຼືຫຼາຍກວ່ານັ້ນໂດຍໃຊ້ຮາດແວລົດເມດຽວກັນ. # NanoLib Core: ບໍ່ມີຂໍ້ບົກພ່ອງການແບ່ງສ່ວນເພີ່ມເຕີມຕໍ່ການຕິດອະແດບເຕີ PEAK ພາຍໃຕ້ Linux. # ໂມດູນ NanoLib Sampler: ຖືກຕ້ອງ sampການອ່ານຄ່າ led ໃນໂຫມດເຟີມແວ. # ໂມດູນ NanoLib Sampler: ການຕັ້ງຄ່າທີ່ຖືກຕ້ອງຂອງ 502X:04. # ໂມດູນ NanoLib Sampler: ການປະສົມ buffers ທີ່ຖືກຕ້ອງກັບຊ່ອງທາງ. # NanoLib-Canopen: ເພີ່ມໄລຍະເວລາຂອງ CAN ສໍາລັບຄວາມແຂງແຮງແລະການສະແກນທີ່ຖືກຕ້ອງຢູ່ທີ່ baudrates ຕ່ໍາ. # NanoLib-Modbus: ຂັ້ນຕອນການກວດຫາ VCP ສໍາລັບອຸປະກອນພິເສດ (USB-DA-IO).
+ ສະຫນັບສະຫນູນ EtherCAT.
+ ຫມາຍເຫດກ່ຽວກັບການຕັ້ງຄ່າໂຄງການ VS ໃນ Configure ໂຄງການຂອງທ່ານ.
+ getDeviceHardwareGroup (). + getProfinetDCP (isServiceAvailable). + getProfinetDCP (validateProfinetDeviceIp). + autoAssignObjectDictionary (). + getXmlFileຊື່ (). + const std::string & xmlFileເສັ້ນທາງໃນ addObjectDictionary (). + ໄດ້ຮັບSamplerInterface ().
ຜະລິດຕະພັນ 1.3.0 1.2.1 1.2.0 1.1.3
1.1.2 1.1.1 1.1.0
1.0.1 (B349) 1.0.0 (B344) 1.0.0 (B341)
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
60
10 ການພິມ, ຕິດຕໍ່, ສະບັບ
ເອກະສານ
1.1.2 2022.03 1.1.1 2021.11 1.1.0 2021.06 1.0.1 2021.06 1.0.0 2021.05 .
+ ເພີ່ມ > ປ່ຽນ # ແກ້ໄຂ + rebootDevice (). + ລະຫັດຂໍ້ຜິດພາດ ResourceUnavailable ສໍາລັບ getDeviceBootloaderVersion (), ~VendorId (), ~HardwareVersion (), ~SerialNumber, ແລະ ~Uid. > firmwareUploadFromFile ຕອນນີ້ອັບໂຫລດ FirmwareFromFile (). > firmwareUpload() now uploadFirmware(). > bootloaderUploadFromFile () ດຽວນີ້ uploadBootloaderFromFile (). > bootloaderUpload () ດຽວນີ້ uploadBootloader (). > bootloaderFirmwareUploadFromFile () ເພື່ອອັບໂຫລດBootloaderFirmwareFromFile (). > bootloaderFirmwareUpload () ດຽວນີ້ uploadBootloaderFirmware (). > nanojUploadFromFile () ຕອນນີ້ອັບໂຫລດNanoJFromFile (). > nanojUpload () ດຽວນີ້ uploadNanoJ (). > objectDictionaryLibrary () ດຽວນີ້ getObjectDictionaryLibrary (). > String_String_Map ດຽວນີ້ StringStringMap. > NanoLib-Common: ປະຕິບັດໄດ້ໄວຂຶ້ນຂອງ listAvailableBusHardware ແລະ openBusHardwareWithProtocol ດ້ວຍອະແດບເຕີ Ixxat. > NanoLib-CANopen: ການຕັ້ງຄ່າເລີ່ມຕົ້ນໃຊ້ (1000k baudrate, Ixxat bus number 0) ຖ້າຕົວເລືອກຮາດແວລົດເມຫວ່າງເປົ່າ. > NanoLib-RESTful: ການອະນຸຍາດ admin ລ້າສະໄຫມສໍາລັບການສື່ສານກັບ bootloaders Ethernet ພາຍໃຕ້ Windows ຖ້າ npcap / winpcap driver ສາມາດໃຊ້ໄດ້. # NanoLib-CANopen: ຮາດແວລົດເມດຽວນີ້ເປີດ crashless ດ້ວຍຕົວເລືອກຫວ່າງເປົ່າ. # NanoLib-Common: openBusHardwareWithProtocol () ທີ່ບໍ່ມີຄວາມຊົງຈໍາຮົ່ວໄຫຼໃນປັດຈຸບັນ.
+ ຮອງຮັບ Linux ARM64. + ບ່ອນຈັດເກັບຂໍ້ມູນ USB / REST / Profinet DCP ຮອງຮັບ. + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (ແທນທີ່ NanotecExceptions). + NanoLib Modbus: VCP / USB hub ລວມເປັນ USB. > ການສະແກນ Modbus TCP ໃຫ້ຜົນໄດ້ຮັບ. < Modbus TCP latency ການສື່ສານຄົງທີ່.
+ ObjectEntryDataType ເພີ່ມເຕີມ (ຊັບຊ້ອນແລະ profile- ສະເພາະ). + IOError ກັບຄືນມາຖ້າ connectDevice () ແລະ scanDevices () ຊອກຫາບໍ່ມີ. + ພຽງແຕ່ 100 ms ເວລາຫມົດເວລາສໍາລັບ CanOpen / Modbus.
+ ຮອງຮັບ Modbus (ບວກກັບ USB Hub ຜ່ານ VCP). + ບົດທີ່ສ້າງໂຄງການ Linux ຂອງທ່ານເອງ. + extraHardwareSpecifier ກັບ BusHardwareId (). + extraId_ ແລະ extraStringId_ ກັບ DeviceId ().
+ setBusState (). + getDeviceBootloaderBuildId (). + getDeviceFirmwareBuildId (). + getDeviceHardwareVersion (). # ແກ້ໄຂຂໍ້ຜິດພາດ.
ສະບັບ.
ຜະລິດຕະພັນ
0.8.0 0.7.1 0.7.0 0.5.1 0.5.1
ເວີຊັນ: doc 1.4.2 / NanoLib 1.3.0
61
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
ການຂຽນໂປລແກລມ Nanotic NanoLib C++ [pdf] ຄູ່ມືຜູ້ໃຊ້ ການຂຽນໂປລແກລມ NanoLib C, C Programming, Programming |