โลโก้นาโนติก

การเขียนโปรแกรมนาโนติค NanoLib C++

Nanotic-NanoLib-C++-การเขียนโปรแกรม-ผลิตภัณฑ์

ข้อมูลสินค้า

ข้อมูลจำเพาะ

  • ชื่อสินค้า : นาโนลิบ
  • การเขียนโปรแกรม ภาษา: C++
  • รุ่นสินค้า: 1.3.0
  • คู่มือการใช้งานเวอร์ชัน: 1.4.2

ไลบรารี NanoLib ออกแบบมาเพื่อการเขียนโปรแกรมซอฟต์แวร์ควบคุมสำหรับคอนโทรลเลอร์ Nanotec โดยไลบรารีนี้ประกอบด้วยอินเทอร์เฟซผู้ใช้ ฟังก์ชันหลัก และไลบรารีการสื่อสารเพื่ออำนวยความสะดวกในการพัฒนาแอปพลิเคชันควบคุม

คำแนะนำการใช้ผลิตภัณฑ์

  • ก่อนที่คุณจะเริ่มต้น:
    • ตรวจสอบให้แน่ใจว่าระบบของคุณตรงตามข้อกำหนดฮาร์ดแวร์ที่ระบุในคู่มือ กลุ่มเป้าหมายของผลิตภัณฑ์นี้ได้แก่ นักพัฒนาที่ต้องการสร้างซอฟต์แวร์ควบคุมสำหรับคอนโทรลเลอร์ Nanotec
  • การเริ่มต้น:
    • หากต้องการเริ่มใช้ NanoLib ให้ทำตามขั้นตอนเหล่านี้:
    • เริ่มต้นด้วยการนำเข้า NanoLib เข้าสู่โครงการของคุณ
    • กำหนดค่าการตั้งค่าโครงการของคุณตามความต้องการ
    • สร้างโครงการของคุณเพื่อรวมฟังก์ชันการทำงานของ NanoLib
  • การสร้างโครงการ:
    • คุณสามารถสร้างโปรเจ็กต์สำหรับสภาพแวดล้อมทั้ง Windows และ Linux ได้ ปฏิบัติตามคำแนะนำเฉพาะที่ระบุไว้ในคู่มือสำหรับแต่ละแพลตฟอร์ม
  • คลาส / ฟังก์ชัน อ้างอิง:
    • โปรดอ่านคู่มือผู้ใช้เพื่อดูคำแนะนำโดยละเอียดเกี่ยวกับคลาสและฟังก์ชันต่างๆ ที่มีอยู่ใน NanoLib สำหรับการเขียนโปรแกรมซอฟต์แวร์ควบคุม

คำถามที่พบบ่อย

  • ถาม: จุดประสงค์ของ NanoLib คืออะไร?
    • A: NanoLib เป็นไลบรารีสำหรับการเขียนโปรแกรมซอฟต์แวร์ควบคุมสำหรับตัวควบคุม Nanotec ซึ่งให้ฟังก์ชันที่จำเป็นและความสามารถในการสื่อสาร
  • ถาม: ฉันจะเริ่มต้นใช้งาน NanoLib ได้อย่างไร?
    • A: เริ่มต้นด้วยการนำเข้า NanoLib เข้าสู่โครงการของคุณ กำหนดค่าการตั้งค่าโครงการ และสร้างโครงการของคุณเพื่อใช้ประโยชน์จากคุณลักษณะของ NanoLib

-

คู่มือการใช้งาน NanoLib
ซี++

ใช้ได้กับผลิตภัณฑ์เวอร์ชัน 1.3.0

คู่มือผู้ใช้เวอร์ชัน: 1.4.2

จุดมุ่งหมายและแบบแผนของเอกสาร

เอกสารนี้อธิบายการตั้งค่าและการใช้งานไลบรารี NanoLib และมีการอ้างอิงถึงคลาสและฟังก์ชันทั้งหมดสำหรับการเขียนโปรแกรมซอฟต์แวร์ควบคุมของคุณเองสำหรับตัวควบคุม Nanotec เราใช้แบบอักษรต่อไปนี้:
ข้อความที่ขีดเส้นใต้ถือเป็นการอ้างอิงโยงหรือไฮเปอร์ลิงก์
Example 1: สำหรับคำแนะนำโดยละเอียดเกี่ยวกับ NanoLibAccessor โปรดดูการตั้งค่า อดีตampไฟล์ที่ 2: ติดตั้งไดรเวอร์ Ixxat และเชื่อมต่ออะแดปเตอร์ CAN เป็น USB ข้อความตัวเอียงหมายถึง: นี่คือวัตถุที่มีชื่อ เส้นทางเมนู / รายการ แท็บ / file ชื่อหรือ (ถ้าจำเป็น) สำนวนภาษาต่างประเทศ
Exampเลอ 1: เลือก File > ใหม่ > เอกสารเปล่า เปิดแท็บเครื่องมือแล้วเลือกความคิดเห็น อดีตampไฟล์ที่ 2: เอกสารนี้แบ่งผู้ใช้ (= Nutzer; usuario; utente; utilisateur; utente ฯลฯ) จาก:
– ผู้ใช้บุคคลที่สาม (= Drittnutzer; tercero usuario; terceiro utente; tiers utilisateur; terzo utente ฯลฯ) – ผู้ใช้ปลายทาง (= Endnutzer; usuario สุดท้าย; utente สุดท้าย; utilisateur สุดท้าย; utente ตอนจบ ฯลฯ )
Courier ทำเครื่องหมายบล็อคโค้ดหรือคำสั่งการเขียนโปรแกรม อดีตample 1: ผ่าน Bash เรียก sudo make install เพื่อคัดลอกอ็อบเจ็กต์ที่แชร์ จากนั้นเรียก ldconfig อดีตampไฟล์ที่ 2: ใช้ฟังก์ชัน NanoLibAccessor ต่อไปนี้เพื่อเปลี่ยนระดับการบันทึกใน NanoLib:
// ***** ตัวแปร C++ *****
เป็นโมฆะ setLoggingLevel (ระดับ LogLevel);
ข้อความตัวหนาเน้นคำแต่ละคำที่มีความสำคัญอย่างยิ่ง เครื่องหมายอัศเจรีย์ในวงเล็บจะเน้นย้ำถึงความสำคัญที่สำคัญ (!)
Example 1: ป้องกันตัวคุณเอง ผู้อื่น และอุปกรณ์ของคุณ ปฏิบัติตามหมายเหตุด้านความปลอดภัยทั่วไปของเราซึ่งโดยทั่วไปใช้ได้กับผลิตภัณฑ์ Nanotec ทั้งหมด
Example 2: เพื่อการป้องกันของคุณเอง ให้ปฏิบัติตามหมายเหตุด้านความปลอดภัยเฉพาะที่ใช้กับผลิตภัณฑ์เฉพาะนี้ด้วย คำกริยาที่จะคลิกร่วมหมายถึงการคลิกด้วยปุ่มเมาส์รองเพื่อเปิดเมนูบริบท ฯลฯ
Exampไฟล์ที่ 1: คลิกร่วมบน fileเลือก เปลี่ยนชื่อ และเปลี่ยนชื่อ file. อดีตampไฟล์ที่ 2: หากต้องการตรวจสอบคุณสมบัติ ให้คลิกร่วมที่ file และเลือกคุณสมบัติ

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

4

ก่อนที่คุณจะเริ่มต้น

ก่อนที่คุณจะเริ่มใช้ NanoLib โปรดเตรียมพีซีของคุณและแจ้งตัวเองเกี่ยวกับวัตถุประสงค์การใช้งานและข้อจำกัดของไลบรารี
2.1 ข้อกำหนดของระบบและฮาร์ดแวร์

Nanotic-NanoLib-C++-การเขียนโปรแกรม-FIG- (1)
ข้อสังเกต การทำงานผิดปกติจากการใช้งาน 32 บิตหรือระบบที่เลิกผลิตแล้ว! ใช้และบำรุงรักษาระบบ 64 บิตอย่างสม่ำเสมอ ปฏิบัติตามการเลิกผลิตของ OEM และ ~คำแนะนำ

NanoLib 1.3.0 รองรับผลิตภัณฑ์ Nanotec ทั้งหมดที่มี CANopen, Modbus RTU (รวมถึง USB บนพอร์ต com เสมือน), Modbus TCP, EtherCat และ Profinet สำหรับ NanoLibs รุ่นเก่า: ดูบันทึกการเปลี่ยนแปลงในเอกสารเผยแพร่ การใช้งานในระบบรุ่นเก่าถือเป็นความเสี่ยงของคุณเท่านั้น หมายเหตุ: ปฏิบัติตามคำแนะนำของ OEM ที่ถูกต้องเพื่อตั้งค่าเวลาแฝงให้ต่ำที่สุดเท่าที่จะเป็นไปได้ หากคุณพบปัญหาเมื่อใช้ตัวแปลง USB ที่ใช้ FTDI

ข้อกำหนด (บังคับระบบ 64 บิต)
Windows 10 หรือ 11 พร้อม Visual Studio 2019 เวอร์ชัน 16.8 ขึ้นไป และ Windows SDK 10.0.20348.0 (เวอร์ชัน 2104) ขึ้นไป
C++ redistributables 2017 หรือสูงกว่า CANopen: ไดรเวอร์พื้นฐาน Ixxat VCI หรือ PCAN (ทางเลือก) โมดูล EtherCat / Profinet DCP: Npcap หรือ WinPcap โมดูล RESTful: Npcap, WinPcap หรือสิทธิ์ของผู้ดูแลระบบ
สื่อสารกับ bootloader อีเทอร์เน็ต
Linux พร้อม Ubuntu 20.04 LTS ถึง 24 (x64 และ ARM64 ทั้งหมด)
ส่วนหัวของเคอร์เนลและแพ็กเก็ต libpopt-dev Profinet DCP: CAP_NET_ADMIN และ CAP_NET_RAW สามารถ
ผูก CANopen: ไดรเวอร์ Ixxat ECI หรืออะแดปเตอร์ Peak PCAN-USB EtherCat: CAP_NET_ADMIN, CAP_NET_RAW และ
ความสามารถของ CAP_SYS_NICE RESTful: ความสามารถของ CAP_NET_ADMIN ในการสื่อสารกับ Eth-
ernet bootloaders (แนะนำด้วย: CAP_NET_RAW)

ภาษา, อะแดปเตอร์ฟิลด์บัส, สายเคเบิล
C++ GCC 7 หรือสูงกว่า (Linux)
EtherCAT: สายเคเบิลอีเธอร์เน็ต VCP / ฮับ USB: USB ที่เป็นมาตรฐานในปัจจุบัน อุปกรณ์จัดเก็บข้อมูล USB ขนาดใหญ่: สาย USB REST: สายเคเบิลอีเธอร์เน็ต CANopen: Ixxat USB-to-CAN V2; Na-
notec ZK-USB-CAN-1 อะแดปเตอร์ Peak PCANUSB ไม่รองรับ Ixxat สำหรับ Ubuntu บน arm64
Modbus RTU: Nanotec ZK-USB-RS485-1 หรืออะแดปเตอร์เทียบเท่า สาย USB บนพอร์ต COM เสมือน (VCP)
Modbus TCP: สายเคเบิลอีเทอร์เน็ตตามแผ่นข้อมูลผลิตภัณฑ์

2.2 วัตถุประสงค์การใช้งานและผู้ชม
NanoLib คือไลบรารีโปรแกรมและส่วนประกอบซอฟต์แวร์สำหรับการทำงานและการสื่อสารกับตัวควบคุม Nanotec ในการใช้งานทางอุตสาหกรรมที่หลากหลาย และสำหรับโปรแกรมเมอร์ที่มีทักษะเหมาะสมเท่านั้น
เนื่องจากฮาร์ดแวร์ (พีซี) และระบบปฏิบัติการไม่สามารถทำงานได้แบบเรียลไทม์ NanoLib จึงไม่เหมาะสำหรับใช้ในแอพพลิเคชั่นที่ต้องมีการเคลื่อนที่แบบหลายแกนพร้อมกันหรือโดยทั่วไปต้องมีการจำกัดเวลา
ห้ามรวม NanoLib เป็นส่วนประกอบด้านความปลอดภัยในผลิตภัณฑ์หรือระบบโดยเด็ดขาด เมื่อส่งมอบให้กับผู้ใช้ปลายทาง คุณจะต้องเพิ่มคำเตือนและคำแนะนำที่เกี่ยวข้องสำหรับการใช้งานและการทำงานที่ปลอดภัยให้กับผลิตภัณฑ์แต่ละชิ้นที่มีส่วนประกอบที่ผลิตโดย Nanotec คุณต้องส่งคำเตือนที่ Nanotec ออกทั้งหมดไปยังผู้ใช้ปลายทางโดยตรง
2.3 ขอบเขตการส่งมอบและการรับประกัน
NanoLib มาในรูปแบบโฟลเดอร์ *.zip จากการดาวน์โหลดของเรา webไซต์สำหรับ EMEA / APAC หรือ AMERICA จัดเก็บและแตกไฟล์ดาวน์โหลดของคุณอย่างถูกต้องก่อนการตั้งค่า แพ็คเกจ NanoLib ประกอบด้วย:

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

5

2 ก่อนที่คุณจะเริ่ม

ส่วนหัวอินเทอร์เฟซเป็นโค้ดต้นฉบับ (API)

ฟังก์ชั่นหลักเป็นไลบรารีในรูปแบบไบนารี: นาโน-

ไลบรารีที่ช่วยอำนวยความสะดวกในการสื่อสาร: nanolibm_ lib.dll

[yourfieldbus].dll เป็นต้น

Exampโครงการ: Example.sln (วิชวลสตูดิโอ

โครงการ) และอดีตample.cpp (หลัก file)

สำหรับขอบเขตการรับประกัน โปรดปฏิบัติตามข้อกำหนดและเงื่อนไขของเราสำหรับ EMEA/APAC หรือ AMERICA และ ข) ข้อกำหนดสิทธิ์การใช้งานทั้งหมด หมายเหตุ: Nanotec จะไม่รับผิดชอบต่อคุณภาพ การจัดการ การติดตั้ง การทำงาน การใช้งาน และการบำรุงรักษาอุปกรณ์ของบริษัทอื่นที่บกพร่องหรือไม่เหมาะสม เพื่อความปลอดภัย โปรดปฏิบัติตามคำแนะนำของ OEM ที่ถูกต้องเสมอ

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

6

สถาปัตยกรรม NanoLib

โครงสร้างซอฟต์แวร์แบบโมดูลาร์ของ NanoLib ช่วยให้คุณสามารถจัดเตรียมตัวควบคุมมอเตอร์/ฟังก์ชันฟิลด์บัสที่ปรับแต่งได้อย่างอิสระรอบๆ แกนที่สร้างไว้ล่วงหน้าอย่างเคร่งครัด NanoLib มีโมดูลดังต่อไปนี้:

ส่วนติดต่อผู้ใช้ (API)

แกนนาโนลิบ

ส่วนต่อประสานและคลาสตัวช่วยซึ่งไลบรารีซึ่ง

ห้องสมุดการสื่อสารเฉพาะห้องสมุด Fieldbus ซึ่ง

เข้าถึงตัวควบคุมของคุณโดยใช้ฟังก์ชันการทำงานของ API และอินเทอร์เฟซระหว่าง NanoLib

OD (พจนานุกรมวัตถุ)

โต้ตอบกับห้องสมุดรถบัส

ฮาร์ดแวร์หลักและบัส

ขึ้นอยู่กับฟังก์ชั่นหลักของ NanoLib-

ความเป็นตัวตน

3.1 ส่วนต่อประสานกับผู้ใช้

ส่วนต่อประสานกับผู้ใช้ประกอบด้วยส่วนต่อประสานส่วนหัว fileคุณสามารถใช้คลาสอินเทอร์เฟซผู้ใช้เพื่อเข้าถึงพารามิเตอร์ตัวควบคุมได้ คลาส/ฟังก์ชันที่อธิบายไว้ในเอกสารอ้างอิงคลาสช่วยให้คุณ:
เชื่อมต่อกับฮาร์ดแวร์ (อะแดปเตอร์ฟิลด์บัส) และอุปกรณ์ควบคุม เข้าถึง OD ของอุปกรณ์เพื่ออ่าน/เขียนพารามิเตอร์ของตัวควบคุม

3.2 แกนนาโนลิบ

แกนหลักของ 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

นาโนลิบม_usbmmsc.dll นาโนลิบม_profinet.dll

ไลบรารีทั้งหมดวางเลเยอร์นามธรรมของฮาร์ดแวร์ระหว่างคอร์และคอนโทรลเลอร์ แกนหลักจะโหลดพวกมันเมื่อเริ่มต้นจากโฟลเดอร์โปรเจ็กต์ที่กำหนด และใช้เพื่อสร้างการสื่อสารกับคอนโทรลเลอร์ด้วยโปรโตคอลที่เกี่ยวข้อง

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

7

การเริ่มต้น

อ่านวิธีตั้งค่า NanoLib สำหรับระบบปฏิบัติการของคุณอย่างถูกต้อง และวิธีการเชื่อมต่อฮาร์ดแวร์ตามความจำเป็น
4.1 เตรียมระบบของคุณ
ก่อนติดตั้งไดรเวอร์อะแดปเตอร์ ให้เตรียมพีซีของคุณให้พร้อมสำหรับระบบปฏิบัติการก่อน หากต้องการเตรียมพีซีให้พร้อมสำหรับระบบปฏิบัติการ Windows ให้ติดตั้ง 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 เพื่อเรียนรู้ว่าจะเปิดใช้งานพอร์ตเสมือน (VCP) ได้อย่างไร 1. ดาวน์โหลดและติดตั้งไดรเวอร์ VCI 4 ของ Ixxat สำหรับ Windows จาก www.ixxat.com2. เชื่อมต่ออะแดปเตอร์ขนาดกะทัดรัด USB-to-CAN V2 ของ Ixxat เข้ากับพีซีผ่าน USB 3. โดยใช้ Device Manager: ตรวจสอบว่าทั้งไดรเวอร์และอะแดปเตอร์ได้รับการติดตั้ง/รู้จักอย่างถูกต้อง
4.3 ติดตั้งไดรเวอร์อะแดปเตอร์ Peak สำหรับ Windows
หลังจากติดตั้งไดรเวอร์เรียบร้อยแล้ว คุณจึงจะใช้ตัวแปลง PCAN-USB ของ Peak ได้ อ่านคู่มือผลิตภัณฑ์ไดรฟ์ USB เพื่อเรียนรู้ว่าจะเปิดใช้งานพอร์ตเสมือน (VCP) ได้อย่างไร 1. ดาวน์โหลดและติดตั้งชุดติดตั้งไดรเวอร์อุปกรณ์ Windows (= แพ็คเกจการติดตั้งพร้อมไดรเวอร์อุปกรณ์ เครื่องมือ และ
APIs) จาก http://www.peak-system.com2. เชื่อมต่ออะแดปเตอร์ PCAN-USB ของ Peak เข้ากับพีซีผ่าน USB 3. โดยใช้ Device Manager: ตรวจสอบว่าไดรเวอร์และอะแดปเตอร์ได้รับการติดตั้ง/รู้จักอย่างถูกต้อง
4.4 ติดตั้งไดรเวอร์อะแดปเตอร์ Ixxat สำหรับ Linux
หลังจากติดตั้งไดรเวอร์เรียบร้อยแล้ว คุณจึงจะใช้ตัวแปลง USB-to-CAN V2 ของ Ixxat ได้ หมายเหตุ: ตัวแปลงที่รองรับอื่นๆ จำเป็นต้องได้รับการอนุญาตจากคุณก่อนโดยพิมพ์ sudo chmod +777/dev/ttyACM* (* หมายเลขอุปกรณ์) อ่านคู่มือผลิตภัณฑ์ของไดรฟ์ USB เพื่อเรียนรู้ว่าจะเปิดใช้งานพอร์ตเสมือน (VCP) ได้อย่างไร 1. ติดตั้งซอฟต์แวร์ที่จำเป็นสำหรับไดรเวอร์ ECI และแอปพลิเคชันสาธิต:
sudo apt-get อัปเดต apt-get ติดตั้ง libusb-1.0-0-dev libusb-0.1-4 libc6 libstdc++6 libgcc1 สร้างสิ่งจำเป็น
2. ดาวน์โหลดไดร์เวอร์ ECI-for-Linux จาก www.ixxat.com แตกไฟล์โดยใช้:
แตกไฟล์ eci_driver_linux_amd64.zip
3. ติดตั้งไดรเวอร์ผ่าน:
ซีดี /EciLinux_amd/src/KernelModule sudo make ติดตั้ง usb
4. ตรวจสอบการติดตั้งไดรเวอร์สำเร็จโดยการคอมไพล์และเริ่มต้นแอปพลิเคชันสาธิต:
ซีดี /EciLinux_amd/src/EciDemos/ sudo สร้างซีดี /EciLinux_amd/bin/release/ ./LinuxEciDemo

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

8

4 การเริ่มต้น
4.5 ติดตั้งไดรเวอร์อะแดปเตอร์ Peak สำหรับ Linux
หลังจากติดตั้งไดรเวอร์แล้วเท่านั้น คุณจึงจะใช้ตัวแปลง PCAN-USB ของ Peak ได้ หมายเหตุ: ตัวแปลงที่รองรับอื่นๆ จำเป็นต้องได้รับสิทธิ์จากคุณโดยพิมพ์ sudo chmod +777/dev/ttyACM* (* หมายเลขอุปกรณ์) อ่านคู่มือผลิตภัณฑ์ของไดรฟ์ USB เพื่อเรียนรู้ว่าจะเปิดใช้งานคอมพอร์ตเสมือน (VCP) ได้อย่างไร 1. ตรวจสอบว่า Linux ของคุณมีส่วนหัวของเคอร์เนลหรือไม่: ls /usr/src/linux-headers-`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. ในการแตกไฟล์ ให้ใช้: tar xzf peak-linux-driver-xxx.tar.gz 5. ในโฟลเดอร์ที่แตกไฟล์แล้ว: คอมไพล์และติดตั้งไดรเวอร์ไลบรารีฐาน PCAN ฯลฯ : สร้างทั้งหมด
sudo make install 6. หากต้องการตรวจสอบฟังก์ชัน ให้เสียบอะแดปเตอร์ PCAN-USB
ก) ตรวจสอบโมดูลเคอร์เนล:
lsmod | grep pcan b) … และไลบรารีที่แชร์:
ls -l /usr/lib/libpcan*
หมายเหตุ: หากเกิดปัญหา USB3 ให้ใช้พอร์ต USB2
4.6 เชื่อมต่อฮาร์ดแวร์ของคุณ
หากต้องการรันโปรเจ็กต์ NanoLib ให้เชื่อมต่อคอนโทรลเลอร์ Nanotec ที่เข้ากันได้เข้ากับพีซีโดยใช้ตัวแปลงของคุณ 1. เชื่อมต่ออะแดปเตอร์ของคุณเข้ากับคอนโทรลเลอร์ด้วยสายเคเบิลที่เหมาะสม 2. เชื่อมต่ออะแดปเตอร์เข้ากับพีซีตามแผ่นข้อมูลอะแดปเตอร์ 3. เปิดคอนโทรลเลอร์โดยใช้แหล่งจ่ายไฟที่เหมาะสม 4. หากจำเป็น ให้เปลี่ยนการตั้งค่าการสื่อสารของคอนโทรลเลอร์ Nanotec ตามคำแนะนำในคู่มือผลิตภัณฑ์
4.7 โหลด NanoLib
สำหรับการเริ่มต้นด้วยพื้นฐานที่ง่ายและรวดเร็ว คุณอาจ (แต่ต้องไม่) ใช้อดีตของเราampเลอโปรเจ็กต์ 1. ขึ้นอยู่กับภูมิภาคของคุณ: ดาวน์โหลด NanoLib จากเรา webไซต์สำหรับ EMEA / APAC หรือ AMERICA 2. แตกไฟล์แพ็คเกจ files / โฟลเดอร์แล้วเลือกหนึ่งตัวเลือก: สำหรับพื้นฐานที่ง่ายและรวดเร็ว: ดูการเริ่มต้นอดีตampโครงการ สำหรับการปรับแต่งขั้นสูงใน Windows: โปรดดู การสร้างโครงการ Windows ของคุณเอง สำหรับการปรับแต่งขั้นสูงใน Linux: โปรดดู การสร้างโครงการ Linux ของคุณเอง

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

9

การเริ่มต้นอดีตampเลอโปรเจ็กต์

เมื่อโหลด NanoLib อย่างถูกต้องแล้ว เช่นampโครงการ le จะแสดงให้คุณเห็นผ่านการใช้งาน NanoLib ด้วยตัวควบคุม Nanotec หมายเหตุ: สำหรับแต่ละขั้นตอน ให้แสดงความคิดเห็นในตัวอย่างที่ให้ไว้ampรหัส le อธิบายฟังก์ชันที่ใช้ อดีตampโครงการนี้ประกอบด้วย: `*_functions_exampเล.*' files ซึ่งประกอบด้วยการใช้งานสำหรับฟังก์ชันอินเทอร์เฟซ NanoLib `*_callback_exampเล.*' files ซึ่งมีการใช้งานสำหรับการโทรกลับต่างๆ (สแกน ข้อมูล และ
การบันทึก) `เมนู_*.*' fileซึ่งประกอบด้วยลอจิกเมนูและโค้ด Exampเลอ.* fileซึ่งเป็นโปรแกรมหลักในการสร้างเมนูและกำหนดค่าเริ่มต้นของพารามิเตอร์ที่ใช้ทั้งหมด Sampเลอเร็กซ์ampเลอ.* fileซึ่งประกอบด้วยอดีตampการดำเนินการสำหรับ sampการใช้งาน ler คุณสามารถค้นหาข้อมูลเพิ่มเติมได้amples พร้อมคำสั่งการเคลื่อนไหวสำหรับโหมดการทำงานต่างๆ ในฐานความรู้ที่ nanotec.com ทั้งหมดนี้สามารถใช้ได้ใน Windows หรือ Linux
ใน Windows ด้วย Visual Studio 1. เปิด Exampเลอ.สลิน file2. เปิด example.cpp. 3. คอมไพล์และรัน exampรหัส
ใน Linux ผ่าน Bash 1. แตกไฟล์ต้นฉบับ fileนำทางไปยังโฟลเดอร์ที่มีเนื้อหาที่แตกไฟล์แล้ว หลัก file สำหรับอดีตampฉันเป็น
example.cpp. 2. ใน bash ให้เรียก:
ก. “sudo make install” เพื่อคัดลอกอ็อบเจ็กต์ที่แชร์และเรียกใช้ ldconfig ข. “make all” เพื่อสร้างไฟล์ปฏิบัติการทดสอบ 3. โฟลเดอร์ bin มีไฟล์ปฏิบัติการ example fileโดย bash: ไปที่โฟลเดอร์ผลลัพธ์และพิมพ์ ./example. หากไม่มีข้อผิดพลาดเกิดขึ้น แสดงว่าวัตถุที่แชร์ของคุณได้รับการติดตั้งเรียบร้อยแล้ว และไลบรารีของคุณก็พร้อมใช้งานแล้ว หากข้อผิดพลาดแสดงเป็น ./example: ข้อผิดพลาดขณะโหลดไลบรารีที่แชร์: libnanolib.so: ไม่สามารถเปิดวัตถุที่แชร์ได้ file: ไม่มีเช่นนั้น file หรือไดเร็กทอรี การติดตั้งวัตถุที่แชร์ล้มเหลว ในกรณีนี้ ให้ทำตามขั้นตอนต่อไปนี้ 4. สร้างโฟลเดอร์ใหม่ใน /usr/local/lib (ต้องมีสิทธิ์ผู้ดูแลระบบ) ใน 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 7. เรียกใช้ ldconfig ในโฟลเดอร์นี้:
sudo ldconfig /usr/local/lib/nanotec/
อดีตample ถูกนำมาใช้งานเป็นแอปพลิเคชัน CLI และจัดเตรียมอินเทอร์เฟซเมนู รายการเมนูจะอิงตามบริบทและจะเปิดใช้งานหรือปิดใช้งาน ขึ้นอยู่กับสถานะบริบท รายการเมนูเหล่านี้ให้ความเป็นไปได้ในการเลือกและดำเนินการฟังก์ชันไลบรารีต่างๆ ตามเวิร์กโฟลว์ทั่วไปในการจัดการคอนโทรลเลอร์: 1. ตรวจสอบพีซีว่ามีฮาร์ดแวร์ (อะแดปเตอร์) ที่เชื่อมต่ออยู่หรือไม่ และแสดงรายการฮาร์ดแวร์เหล่านั้น 2. สร้างการเชื่อมต่อกับอะแดปเตอร์ 3. สแกนบัสว่ามีอุปกรณ์คอนโทรลเลอร์ที่เชื่อมต่ออยู่หรือไม่ 4. เชื่อมต่อกับอุปกรณ์

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

10

5 การเริ่มต้นอดีตampเลอโปรเจ็กต์
5. ทดสอบฟังก์ชันไลบรารีหนึ่งรายการหรือมากกว่านั้น: อ่าน/เขียนจาก/ไปยังพจนานุกรมวัตถุของตัวควบคุม อัปเดตเฟิร์มแวร์ อัปโหลดและเรียกใช้โปรแกรม NanoJ ทำให้มอเตอร์ทำงานและปรับแต่ง กำหนดค่าและใช้การบันทึกข้อมูลampเลอร์
6. ปิดการเชื่อมต่อกับอุปกรณ์ก่อน จากนั้นจึงเชื่อมต่อกับอะแดปเตอร์

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

11

การสร้างโครงการ Windows ของคุณเอง

สร้าง คอมไพล์ และรันโครงการ Windows ของคุณเองเพื่อใช้ NanoLib
6.1 นำเข้า NanoLib
นำเข้าส่วนหัวของ NanoLib fileและไลบรารีผ่าน MS Visual Studio
1. เปิด Visual Studio 2. ผ่าน Create new project > Console App C++ > Next: เลือกประเภทโครงการ 3. ตั้งชื่อโครงการของคุณ (ในที่นี้: NanolibTest) เพื่อสร้างโฟลเดอร์โครงการใน Solution Explorer 4. เลือก Finish (เสร็จสิ้น) 5. เปิดหน้าต่าง file explorer และนำทางไปยังโฟลเดอร์โครงการที่สร้างขึ้นใหม่ 6. สร้างโฟลเดอร์ใหม่ 7 โฟลเดอร์คือ inc และ lib 8. เปิดโฟลเดอร์แพ็กเกจ NanoLib XNUMX. จากตรงนั้น: คัดลอกส่วนหัว fileจากโฟลเดอร์ include เข้าไปในโฟลเดอร์โปรเจ็กต์ของคุณ inc และ .lib และ .dll ทั้งหมด
fileไปที่โฟลเดอร์โครงการใหม่ของคุณ lib. 9. ตรวจสอบโฟลเดอร์โครงการของคุณเพื่อดูโครงสร้างที่เหมาะสม เช่นampเลอ:

Nanotic-NanoLib-C++-การเขียนโปรแกรม-FIG- (2)โฟลเดอร์ ect สำหรับโครงสร้างที่เหมาะสม:
. NanolibTest รวม accessor_factory.hpp รหัส_ฮาร์ดแวร์บัส.hpp … od_index.hpp ผลลัพธ์_od_entry.hpp lib nanolibm_canopen.dll nanolib.dll … nanolib.lib NanolibTest.cpp NanolibTest.vcxproj NanolibTest.vcxproj.filters NanolibTest.vcxproj.user NanolibTest.sln
6.2 กำหนดค่าโครงการของคุณ
ใช้ Solution Explorer ใน MS Visual Studio เพื่อตั้งค่าโครงการ NanoLib หมายเหตุ: สำหรับการดำเนินการ NanoLib ที่ถูกต้อง ให้เลือกการกำหนดค่าการเผยแพร่ (ไม่ใช่ดีบัก!) ในการตั้งค่าโครงการ Visual C++ จากนั้นสร้างและเชื่อมโยงโครงการกับรันไทม์ VC ของไฟล์ที่แจกจ่ายต่อได้ของ C++ [2022]
1. ใน Solution Explorer: ไปที่โฟลเดอร์โครงการของคุณ (ที่นี่: NanolibTest) 2. คลิกร่วมกันที่โฟลเดอร์เพื่อเปิดเมนูบริบท 3. เลือก Properties 4. เปิดใช้งาน All configurations และ All platforms 5. เลือก C/C++ และไปที่ Additional Include Directories 6. แทรก: $(ProjectDir)Nanolib/includes;%(AdditionalIncludeDirectories) 7. เลือก Linker และไปที่ Additional Library Directories 8. แทรก: $(ProjectDir)Nanolib;%(AdditionalLibraryDirectories) 9. ขยาย Linker และเลือก Input 10. ไปที่ Additional Dependencies และแทรก: nanolib.lib;%(AdditionalDependencies) 11. ยืนยันโดยตกลง

เวอร์ชัน: 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. เปลี่ยน Active solution platforms เป็น x64 4. ยืนยันโดยปิด 5. เลือก Build > Build solution 6. ไม่มีข้อผิดพลาดใช่หรือไม่ ตรวจสอบว่าผลลัพธ์การคอมไพล์ของคุณรายงานอย่างถูกต้องหรือไม่:
1>—— เริ่มการล้างข้อมูล: โปรเจ็กต์: NanolibTest, การกำหนดค่า: ดีบัก x64 —–=========== การล้างข้อมูล: สำเร็จ 1 ครั้ง, ล้มเหลว 0 ครั้ง, ข้าม 0 ครั้ง ==========

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

13

7 การสร้างโครงการ Linux ของคุณเอง
7 การสร้างโครงการ Linux ของคุณเอง
สร้าง คอมไพล์ และรันโปรเจ็กต์ Linux ของคุณเองเพื่อใช้ NanoLib 1. ในชุดการติดตั้ง NanoLib ที่แตกไฟล์แล้ว: เปิด /nanotec_nanolib. 2. ค้นหาวัตถุที่แชร์ทั้งหมดใน tar.gz file3. เลือกหนึ่งตัวเลือก: ติดตั้งแต่ละไลบรารีด้วย Makefile หรือด้วยมือ
7.1 ติดตั้งวัตถุที่แชร์ด้วย Makefile
ใช้ทำfile ด้วย Linux Bash เพื่อติดตั้ง *.so เริ่มต้นทั้งหมดโดยอัตโนมัติ files. 1. ผ่าน Bash: ไปที่โฟลเดอร์ที่มี makefile2. คัดลอกวัตถุที่แชร์ผ่าน:
sudo make install 3. ยืนยันผ่าน:
การกำหนดค่า ld
7.2 ติดตั้งวัตถุที่ใช้ร่วมกันด้วยตนเอง
ใช้ Bash เพื่อติดตั้ง *.so ทั้งหมด fileของ NanoLib ด้วยตนเอง 1. ผ่าน Bash: สร้างโฟลเดอร์ใหม่ภายใน /usr/local/lib 2. ต้องมีสิทธิ์ผู้ดูแลระบบ! พิมพ์:
sudo mkdir /usr/local/lib/nanotec 3. เปลี่ยนเป็นโฟลเดอร์แพ็กเกจการติดตั้งที่แตกไฟล์แล้ว 4. คัดลอกวัตถุที่แชร์ทั้งหมดจากโฟลเดอร์ lib ผ่าน:
ติดตั้ง ./nanotec_nanolib/lib/*.so /usr/local/lib/nanotec/ 5. ตรวจสอบเนื้อหาของโฟลเดอร์เป้าหมายผ่านทาง:
ls -al /usr/local/lib/nanotec/ 6. ตรวจสอบว่ามีการแสดงรายการวัตถุที่แชร์ทั้งหมดจากโฟลเดอร์ lib หรือไม่ 7. เรียกใช้ ldconfig บนโฟลเดอร์นี้ผ่าน:
sudo ldconfig /usr/local/lib/nanotec/
7.3 สร้างโครงการของคุณ
เมื่อติดตั้งวัตถุที่แชร์แล้ว: สร้างโปรเจ็กต์ใหม่สำหรับ Linux NanoLib ของคุณ 1. ผ่าน Bash: สร้างโฟลเดอร์โปรเจ็กต์ใหม่ (ที่นี่: NanoLibTest) ผ่าน:
mkdir NanoLibTest ซีดี NanoLibTest
2. คัดลอกส่วนหัว files ไปยังโฟลเดอร์รวม (ที่นี่: inc) ผ่านทาง: mkdir inc cp / FILE IS>/nanotec_nanolib/inc/*.hpp เพิ่ม
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();
ถ้าผลลัพธ์มีข้อผิดพลาด ()) { std::cout << result.getError() << std::endl; }
else{ std::cout << “สำเร็จ” << std::endl; }
ลบ accessor; คืนค่า 0;
4. ตรวจสอบโฟลเดอร์โครงการของคุณเพื่อดูโครงสร้างที่เหมาะสม:

Nanotic-NanoLib-C++-การเขียนโปรแกรม-FIG- (3)
. การทดสอบ NanoLib
เพิ่ม accessor_factory.hpp bus_hardware_id.hpp … od_index.hpp result.hpp NanoLibTest.cpp
7.4 คอมไพล์และทดสอบโครงการของคุณ
ทำให้ Linux NanoLib ของคุณพร้อมใช้งานผ่าน Bash
1. ผ่าน Bash: คอมไพล์ไฟล์หลัก file ทาง:
g++ -Wall -Wextra -pedantic -I./inc -c NanoLibTest.cpp -o NanoLibTest
2. เชื่อมโยงไฟล์ปฏิบัติการเข้าด้วยกันผ่าน:
g++ -Wall -Wextra -pedantic -I./inc -o ทดสอบ NanoLibTest.o L/usr/local/lib/nanotec -lnanolib -ldl
3. รันโปรแกรมทดสอบผ่านทาง:
./ทดสอบ
4. ตรวจสอบว่า Bash ของคุณรายงานอย่างถูกต้องหรือไม่:
ความสำเร็จ

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

15

8 การอ้างอิงคลาส / ฟังก์ชั่น

8 การอ้างอิงคลาส / ฟังก์ชั่น

ค้นหารายการคลาสอินเทอร์เฟซผู้ใช้ของ NanoLib และฟังก์ชันสมาชิกของคลาสเหล่านี้ได้ที่นี่ คำอธิบายทั่วไปของฟังก์ชันประกอบด้วยการแนะนำสั้นๆ คำจำกัดความของฟังก์ชัน และพารามิเตอร์ / รายการส่งคืน:

ExampleFunction () บอกคุณสั้นๆ ว่าฟังก์ชันนี้ทำอะไร
ช่องว่างเสมือน nlc::NanoLibAccessor::Exampฟังก์ชัน le (Param_a const & param_a, Param_b const & param_B)

พารามิเตอร์ param_a param_b
ส่งกลับผลลัพธ์เป็นโมฆะ

ความคิดเห็นเพิ่มเติมหากจำเป็น ความคิดเห็นเพิ่มเติมหากจำเป็น

8.1 NanoLibAccessor

คลาสอินเทอร์เฟซที่ใช้เป็นจุดเข้าสู่ NanoLib ขั้นตอนการทำงานทั่วไปมีลักษณะดังนี้:
1. เริ่มต้นด้วยการสแกนหาฮาร์ดแวร์ด้วย NanoLibAccessor.listAvailableBusHardware () 2. ตั้งค่าการสื่อสารด้วย BusHardwareOptions () 3. เปิดการเชื่อมต่อฮาร์ดแวร์ด้วย NanoLibAccessor.openBusHardwareWithProtocol () 4. สแกนบัสเพื่อค้นหาอุปกรณ์ที่เชื่อมต่อด้วย NanoLibAccessor.scanDevices () 5. เพิ่มอุปกรณ์ด้วย NanoLibAccessor.addDevice () 6. เชื่อมต่อกับอุปกรณ์ด้วย NanoLibAccessor.connectDevice () 7. หลังจากเสร็จสิ้นการดำเนินการ ให้ถอดอุปกรณ์ออกด้วย NanoLibAccessor.disconnectDevice () 8. ถอดอุปกรณ์ออกด้วย NanoLibAccessor.removeDevice () 9. ปิดการเชื่อมต่อฮาร์ดแวร์ด้วย NanoLibAccessor.closeBusHardware ()
NanoLibAccessor มีฟังก์ชั่นสมาชิกสาธารณะดังต่อไปนี้:

listAvailableBusHardware () ใช้ฟังก์ชันนี้เพื่อแสดงรายการฮาร์ดแวร์ fieldbus ที่พร้อมใช้งาน
ResultBusHwIds เสมือน nlc::NanoLibAccessor::listAvailableBusHardware ()

ส่งกลับ ResultBusHwIds

มอบอาร์เรย์ ID ฟิลด์บัส

openBusHardwareWithProtocol () ใช้ฟังก์ชันนี้เพื่อเชื่อมต่อฮาร์ดแวร์บัส
ผลลัพธ์เสมือน Void nlc::NanoLibAccessor::openBusHardwareWithProtocol (BusHardwareId const & busHwId, BusHardwareOptions const & busHwOpt)

พารามิเตอร์ บัสHwId บัสHwOpt
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุ fieldbus ที่จะเปิด ระบุตัวเลือกการเปิด fieldbus ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

isBusHardwareOpen () ใช้ฟังก์ชันนี้เพื่อตรวจสอบว่าการเชื่อมต่อฮาร์ดแวร์ fieldbus ของคุณเปิดอยู่หรือไม่
ผลลัพธ์เสมือน Void nlc::NanoLibAccessor::openBusHardwareWithProtocol (const BusHardwareId & busHwId, const BusHardwareOptions & busHwOpt)

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

16

8 การอ้างอิงคลาส / ฟังก์ชั่น

พารามิเตอร์ BusHardwareId ส่งกลับค่าจริง
เท็จ

ระบุแต่ละ fieldbus ที่จะเปิด ฮาร์ดแวร์เปิดอยู่ ฮาร์ดแวร์ปิดอยู่

getProtocolSpecificAccessor () ใช้ฟังก์ชันนี้เพื่อรับวัตถุตัวเข้าถึงเฉพาะโปรโตคอล
ResultVoid เสมือน nlc::NanoLibAccessor::getProtocolSpecificAccessor (BusHardwareId const & busHwId)

พารามิเตอร์ busHwId ส่งคืน ResultVoid

ระบุ fieldbus เพื่อรับ accessor ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

getProfinetDCP () ใช้ฟังก์ชันนี้เพื่อส่งคืนการอ้างอิงไปยังอินเทอร์เฟซ Profinet DCP
ProfinetDCP เสมือนจริง & รับ ProfinetDCP ()

ส่งกลับ ProfinetDCP

ได้SamplerInterface () ใช้ฟังก์ชันนี้เพื่อรับการอ้างอิงถึง sampอินเทอร์เฟซเลอร์
เสมือนเอสamplerInterface และ getSamplerอินเทอร์เฟซ ()

ส่งกลับ SamplerInterface

หมายถึงสampคลาสอินเทอร์เฟซ ler

setBusState () ใช้ฟังก์ชันนี้เพื่อตั้งค่าสถานะเฉพาะโปรโตคอลบัส
ResultVoid เสมือน nlc::NanoLibAccessor::setBusState (const BusHardwareId & busHwId, const std::string & state)

พารามิเตอร์สถานะ busHwId
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุ fieldbus ที่จะเปิด กำหนดสถานะเฉพาะบัสเป็นค่าสตริง ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

scanDevices () ใช้ฟังก์ชันนี้เพื่อสแกนหาอุปกรณ์ในเครือข่าย
ResultDeviceIds เสมือน nlc::NanoLibAccessor::scanDevices (const BusHardwareId & busHwId, NlcScanBusCallback* คอลแบ็ก)

พารามิเตอร์การเรียกกลับ busHwId
ส่งกลับ ResultDeviceIds IOError

ระบุฟิลด์บัสที่จะสแกน ตัวติดตามความคืบหน้าของ NlcScanBusCallback มอบอาร์เรย์ ID อุปกรณ์ แจ้งว่าไม่พบอุปกรณ์

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

17

8 การอ้างอิงคลาส / ฟังก์ชั่น

เพิ่มอุปกรณ์()
ใช้ฟังก์ชันนี้เพื่อเพิ่มอุปกรณ์บัสที่อธิบายโดย deviceId ลงในรายการอุปกรณ์ภายในของ NanoLib และส่งคืน deviceHandle สำหรับอุปกรณ์นั้น
เสมือน ResultDeviceHandle nlc::NanoLibAccessor::addDevice (DeviceId const & deviceId)

พารามิเตอร์ deviceId ส่งคืน ResultDeviceHandle

ระบุอุปกรณ์ที่จะเพิ่มลงในรายการ มอบที่จับอุปกรณ์

ConnectDevice () ใช้ฟังก์ชันนี้เพื่อเชื่อมต่ออุปกรณ์ตาม DeviceHandle
ResultVoid เสมือน nlc::NanoLibAccessor::connectDevice (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultVoid
IOError

ระบุว่าอุปกรณ์บัส NanoLib เชื่อมต่ออยู่ ยืนยันว่าฟังก์ชัน void ทำงานแล้ว แจ้งว่าไม่พบอุปกรณ์

getDeviceName () ใช้ฟังก์ชันนี้เพื่อรับชื่ออุปกรณ์ตาม deviceHandle
ResultString เสมือน nlc::NanoLibAccessor::getDeviceName (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultString

ระบุว่าอุปกรณ์บัส NanoLib ใดได้รับชื่อนี้ ส่งชื่ออุปกรณ์เป็นสตริง

getDeviceProductCode () ใช้ฟังก์ชันนี้เพื่อรับรหัสผลิตภัณฑ์ของอุปกรณ์ตาม deviceHandle
ผลลัพธ์เสมือน nlc::NanoLibAccessor::getDeviceProductCode (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultInt

ระบุอุปกรณ์บัส NanoLib ที่ได้รับรหัสผลิตภัณฑ์ ส่งมอบรหัสผลิตภัณฑ์เป็นจำนวนเต็ม

getDeviceVendorId () ใช้ฟังก์ชันนี้เพื่อรับ ID ผู้จำหน่ายอุปกรณ์โดย deviceHandle
ผลลัพธ์เสมือน nlc::NanoLibAccessor::getDeviceVendorId (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultInt
ทรัพยากรไม่พร้อมใช้งาน

ระบุว่าอุปกรณ์บัสใด NanoLib ได้รับ ID ผู้จำหน่าย ส่งมอบรหัสผู้ขายเป็นจำนวนเต็ม แจ้งว่าไม่พบข้อมูล

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

18

8 การอ้างอิงคลาส / ฟังก์ชั่น

getDeviceId () ใช้ฟังก์ชันนี้เพื่อรับ ID ของอุปกรณ์เฉพาะจากรายการภายใน NanoLib
เสมือน ResultDeviceId nlc::NanoLibAccessor::getDeviceId (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultDeviceId

ระบุว่าอุปกรณ์บัสใดที่ NanoLib ได้รับรหัสอุปกรณ์ มอบรหัสอุปกรณ์

getDeviceIds () ใช้ฟังก์ชันนี้เพื่อรับ ID อุปกรณ์ทั้งหมดจากรายการภายใน NanoLib
เสมือน ResultDeviceIds nlc::NanoLibAccessor::getDeviceIds ()

ส่งกลับ ResultDeviceIds

มอบรายการรหัสอุปกรณ์

getDeviceUid () ใช้ฟังก์ชันนี้เพื่อรับ ID เฉพาะของอุปกรณ์ (96 บิต / 12 ไบต์) โดย deviceHandle
ResultArrayByte เสมือน nlc::NanoLibAccessor::getDeviceUid (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultArrayByte
ทรัพยากรไม่พร้อมใช้งาน

ระบุว่าอุปกรณ์บัสใด NanoLib ได้รับ ID เฉพาะสำหรับ มอบ ID ที่ไม่ซ้ำกันเป็นอาร์เรย์ไบต์ แจ้งว่าไม่พบข้อมูล

getDeviceSerialNumber () ใช้ฟังก์ชันนี้เพื่อรับหมายเลขซีเรียลของอุปกรณ์ตาม deviceHandle
ResultString เสมือน NanolibAccessor::getDeviceSerialNumber (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultString
ทรัพยากรไม่พร้อมใช้งาน

ระบุว่าอุปกรณ์บัส NanoLib ใดได้รับหมายเลขซีเรียล ส่งหมายเลขซีเรียลเป็นสตริง แจ้งว่าไม่พบข้อมูล

getDeviceHardwareGroup () ใช้ฟังก์ชันนี้เพื่อรับกลุ่มฮาร์ดแวร์ของอุปกรณ์บัสตาม deviceHandle
ResultDeviceId เสมือน nlc::NanoLibAccessor::getDeviceHardwareGroup (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultInt

ระบุว่าอุปกรณ์บัสใด NanoLib รับกลุ่มฮาร์ดแวร์มา
ส่งมอบกลุ่มฮาร์ดแวร์เป็นจำนวนเต็ม

getDeviceHardwareVersion () ใช้ฟังก์ชันนี้เพื่อรับเวอร์ชันฮาร์ดแวร์ของอุปกรณ์บัสตาม deviceHandle
ResultDeviceId เสมือน nlc::NanoLibAccessor::getDeviceHardwareVersion (DeviceHandle const deviceHandle)

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

19

8 การอ้างอิงคลาส / ฟังก์ชั่น

พารามิเตอร์อุปกรณ์จัดการ

การคืนสินค้า

ทรัพยากรสตริงผลลัพธ์ไม่พร้อมใช้งาน

ระบุว่าอุปกรณ์บัส NanoLib ใดที่ได้รับเวอร์ชันฮาร์ดแวร์ ส่งชื่ออุปกรณ์เป็นสตริง แจ้งว่าไม่พบข้อมูล

getDeviceFirmwareBuildId () ใช้ฟังก์ชันนี้เพื่อรับ ID บิวด์เฟิร์มแวร์ของอุปกรณ์บัสโดย deviceHandle
เสมือน ResultDeviceId nlc::NanoLibAccessor::getDeviceFirmwareBuildId (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultString

ระบุว่าอุปกรณ์บัสใด NanoLib ได้รับ ID บิวด์เฟิร์มแวร์
ส่งชื่ออุปกรณ์เป็นสตริง

getDeviceBootloaderVersion () ใช้ฟังก์ชันนี้เพื่อรับเวอร์ชัน bootloader ของอุปกรณ์บัสตาม deviceHandle
ผลลัพธ์เสมือน nlc::NanoLibAccessor::getDeviceBootloaderVersion (DeviceHandle const deviceHandle)

พารามิเตอร์อุปกรณ์จัดการ

การคืนสินค้า

ทรัพยากร ResultInt ไม่พร้อมใช้งาน

ระบุว่าอุปกรณ์บัส NanoLib ใดที่ได้รับเวอร์ชัน bootloader มอบเวอร์ชัน bootloader เป็นจำนวนเต็ม แจ้งว่าไม่พบข้อมูล

getDeviceBootloaderBuildId () ใช้ฟังก์ชันนี้เพื่อรับ ID บิลด์ bootloader ของอุปกรณ์บัสโดย deviceHandle
ResultDeviceId เสมือน nlc::NanoLibAccessor:: (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultString

ระบุว่าอุปกรณ์บัสใด NanoLib ได้รับ ID บิลด์ bootloader
ส่งชื่ออุปกรณ์เป็นสตริง

รีบูตอุปกรณ์ () ใช้ฟังก์ชันนี้เพื่อรีบูตอุปกรณ์โดย deviceHandle
เสมือน ResultVoid nlc::NanoLibAccessor::rebootDevice (const DeviceHandle deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultVoid

ระบุ fieldbus ที่จะรีบูต ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

getDeviceState () ใช้ฟังก์ชันนี้เพื่อรับสถานะเฉพาะโปรโตคอลอุปกรณ์
ResultString เสมือน nlc::NanoLibAccessor::getDeviceState (DeviceHandle const deviceHandle)

พารามิเตอร์อุปกรณ์จัดการ

ระบุว่าอุปกรณ์บัสใดที่ NanoLib จะรับสถานะ

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

20

8 การอ้างอิงคลาส / ฟังก์ชั่น

ส่งกลับสตริงผลลัพธ์

ส่งชื่ออุปกรณ์เป็นสตริง

setDeviceState () ใช้ฟังก์ชันนี้เพื่อตั้งค่าสถานะเฉพาะโปรโตคอลอุปกรณ์
ResultVoid เสมือน nlc::NanoLibAccessor::setDeviceState (const DeviceHandle deviceHandle, const std::string & state)

พารามิเตอร์สถานะอุปกรณ์จัดการ
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์บัสที่ NanoLib กำหนดสถานะ กำหนดสถานะเฉพาะบัสเป็นค่าสตริง ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

รับสถานะการเชื่อมต่อ()
ใช้ฟังก์ชั่นนี้เพื่อรับสถานะการเชื่อมต่อที่ทราบล่าสุดของอุปกรณ์เฉพาะโดย deviceHandle (= ตัดการเชื่อมต่อ, เชื่อมต่อแล้ว, ConnectedBootloader)
สถานะการเชื่อมต่อผลลัพธ์เสมือน nlc::NanoLibAccessor::getConnectionState (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultConnectionState

ระบุว่าอุปกรณ์บัสใด NanoLib ได้รับสถานะการเชื่อมต่อ
มอบสถานะการเชื่อมต่อ (= ตัดการเชื่อมต่อ, เชื่อมต่อ, ConnectedBootloader)

ตรวจสอบสถานะการเชื่อมต่อ()
เฉพาะในกรณีที่สถานะที่ทราบล่าสุดไม่ใช่การตัดการเชื่อมต่อ: ใช้ฟังก์ชันนี้เพื่อตรวจสอบและอาจอัปเดตสถานะการเชื่อมต่อของอุปกรณ์เฉพาะโดยใช้ deviceHandle และโดยการทดสอบการทำงานเฉพาะโหมดต่างๆ
สถานะการเชื่อมต่อผลลัพธ์เสมือน nlc::NanoLibAccessor::checkConnectionState (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultConnectionState

ระบุอุปกรณ์บัสที่ NanoLib ตรวจสอบสถานะการเชื่อมต่อ
มอบสถานะการเชื่อมต่อ (= ไม่ตัดการเชื่อมต่อ)

มอบหมายObjectDictionary () ใช้ฟังก์ชันแบบแมนนวลนี้เพื่อกำหนดพจนานุกรมวัตถุ (OD) ให้กับ deviceHandle ด้วยตัวคุณเอง
เสมือน ResultObjectDictionary nlc::NanoLibAccessor::assignObjectDictionary (DeviceHandle const deviceHandle, ObjectDictionary const & objectDictionary)

พารามิเตอร์อุปกรณ์จัดการวัตถุพจนานุกรม
ส่งกลับ ResultObjectDictionary

ระบุว่าอุปกรณ์บัส NanoLib กำหนด OD ให้กับอะไร แสดงคุณสมบัติของพจนานุกรมออบเจ็กต์

autoAssignObjectDictionary ()
ใช้ระบบอัตโนมัตินี้เพื่อให้ NanoLib กำหนดพจนานุกรมวัตถุ (OD) ให้กับ deviceHandle ในการค้นหาและโหลด OD ที่เหมาะสม NanoLib จะกำหนดให้กับอุปกรณ์โดยอัตโนมัติ หมายเหตุ: หากมีการโหลด OD ที่เข้ากันได้ในไลบรารีอ็อบเจ็กต์แล้ว NanoLib จะใช้มันโดยอัตโนมัติโดยไม่ต้องสแกนไดเร็กทอรีที่ส่งมา
เสมือน ResultObjectDictionary nlc::NanoLibAccessor::autoAssignObjectDictionary (DeviceHandle const deviceHandle, const std::string & dictionariesLocationPath)

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

21

8 การอ้างอิงคลาส / ฟังก์ชั่น

พารามิเตอร์อุปกรณ์จัดการ

การคืนสินค้า

พจนานุกรมตำแหน่งเส้นทางผลลัพธ์วัตถุพจนานุกรม

ระบุว่าอุปกรณ์บัสใด NanoLib ที่จะสแกนหา OD ที่เหมาะสมโดยอัตโนมัติ ระบุเส้นทางไปยังไดเร็กทอรี OD แสดงคุณสมบัติของพจนานุกรมออบเจ็กต์

รับพจนานุกรมวัตถุที่ได้รับมอบหมาย ()
ใช้ฟังก์ชันนี้เพื่อรับพจนานุกรมวัตถุที่กำหนดให้กับอุปกรณ์โดย deviceHandle
เสมือน ResultObjectDictionary nlc::NanoLibAccessor::getAssignedObjectDictionary (DeviceHandle const อุปกรณ์
รับมือ)

พารามิเตอร์ deviceHandle ส่งคืน ResultObjectDictionary

ระบุว่าอุปกรณ์บัสใด NanoLib ได้รับ OD ที่กำหนดไว้ แสดงคุณสมบัติของพจนานุกรมออบเจ็กต์

getObjectDictionaryLibrary () ฟังก์ชันนี้ส่งคืนการอ้างอิง OdLibrary
เสมือน OdLibrary& nlc::NanoLibAccessor::getObjectDictionaryLibrary()

ส่งกลับ OdLibrary&

เปิดไลบรารี OD ทั้งหมดและพจนานุกรมวัตถุ

setLoggingLevel () ใช้ฟังก์ชันนี้เพื่อตั้งค่ารายละเอียดบันทึกที่จำเป็น (และ log file ขนาด). ระดับเริ่มต้นคือข้อมูล
ช่องว่างเสมือน nlc::NanoLibAccessor::setLoggingLevel (ระดับ LogLevel)

ระดับพารามิเตอร์

รายละเอียดบันทึกต่อไปนี้เป็นไปได้:

0 = ติดตาม 1 = ดีบัก 2 = ข้อมูล 3 = เตือน 4 = ข้อผิดพลาด 5 = ร้ายแรง 6 = ปิด

ระดับต่ำสุด (บันทึกที่ใหญ่ที่สุด file- บันทึกรายละเอียดที่เป็นไปได้ รวมถึงเริ่ม/หยุดซอฟต์แวร์ บันทึกข้อมูลการแก้ไขจุดบกพร่อง (= ผลลัพธ์ระหว่างกาล เนื้อหาที่ส่งหรือรับ ฯลฯ) ระดับเริ่มต้น บันทึกข้อความที่ให้ข้อมูล บันทึกปัญหาที่เกิดขึ้นแต่จะไม่หยุดอัลกอริทึมปัจจุบัน บันทึกปัญหาร้ายแรงที่ทำให้อัลกอริทึมหยุดทำงาน ระดับสูงสุด (บันทึกที่เล็กที่สุด file- ปิดการเข้าสู่ระบบ ไม่มีบันทึกเพิ่มเติมเลย ไม่มีการบันทึกเลย

ตั้งค่าการเรียกกลับการบันทึก ()
ใช้ฟังก์ชันนี้เพื่อตั้งค่าตัวชี้การโทรกลับการบันทึกและโมดูลบันทึก (= ไลบรารี) สำหรับการโทรกลับนั้น (ไม่ใช่สำหรับตัวบันทึกเอง)
ช่องว่างเสมือน nlc::NanoLibAccessor::setLoggingCallback (NlcLoggingCallback* คอลแบ็ก, const nlc::LogModule & logModule)

พารามิเตอร์ * บันทึกการโทรกลับโมดูล

ตั้งค่าตัวชี้การโทรกลับ ปรับการโทรกลับ (ไม่ใช่ตัวบันทึก!) ให้ตรงกับไลบรารีของคุณ

0 = นาโนลิบคอร์ 1 = นาโนลิบCANopen 2 = นาโนลิบModbus 3 = นาโนลิบอีเธอร์CAT

เปิดใช้งานการโทรกลับสำหรับแกนหลักของ NanoLib เท่านั้น เปิดใช้งานการโทรกลับเฉพาะ CANopen เท่านั้น เปิดใช้งานการโทรกลับเฉพาะ Modbus เท่านั้น เปิดใช้งานการโทรกลับเฉพาะ EtherCAT เท่านั้น

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

22

8 การอ้างอิงคลาส / ฟังก์ชั่น

4 = นาโนลิบเรสท์ 5 = นาโนลิบยูเอสบี

เปิดใช้งานการโทรกลับแบบ REST เท่านั้น เปิดใช้งานการโทรกลับแบบ USB เท่านั้น

unsetLoggingCallback () ใช้ฟังก์ชันนี้เพื่อยกเลิกตัวชี้การโทรกลับการบันทึก
ช่องว่างเสมือน nlc::NanoLibAccessor::unsetLoggingCallback ()

readNumber () ใช้ฟังก์ชันนี้เพื่ออ่านค่าตัวเลขจากพจนานุกรมวัตถุ
ผลลัพธ์เสมือน nlc::NanoLibAccessor::readNumber (const DeviceHandle deviceHandle, const OdIndex odIndex)

พารามิเตอร์อุปกรณ์จัดการ odIndex
ส่งกลับผลลัพธ์Int

ระบุว่าอุปกรณ์บัส NanoLib อ่านจากอะไร ระบุดัชนี (ย่อย) ที่จะอ่าน ส่งค่าตัวเลขที่ไม่ได้ตีความ (สามารถลงนาม, ไม่ได้ลงนาม, แก้ไขค่า 16.16 บิต)

readNumberArray () ใช้ฟังก์ชันนี้เพื่ออ่านอาร์เรย์ตัวเลขจากพจนานุกรมวัตถุ
ResultArrayInt เสมือน nlc::NanoLibAccessor::readNumberArray (const DeviceHandle deviceHandle, const uint16_t index)

พารามิเตอร์ดัชนีอุปกรณ์จัดการ
ส่งกลับ ResultArrayInt

ระบุว่าอุปกรณ์บัส NanoLib อ่านจากอะไร ดัชนีวัตถุอาร์เรย์ มอบอาร์เรย์จำนวนเต็ม

readBytes () ใช้ฟังก์ชันนี้เพื่ออ่านไบต์ที่กำหนดเอง (ข้อมูลวัตถุโดเมน) จากพจนานุกรมวัตถุ
ResultArrayByte เสมือน nlc::NanoLibAccessor::readBytes (const DeviceHandle deviceHandle, const OdIndex odIndex)

พารามิเตอร์อุปกรณ์จัดการ odIndex
ส่งกลับผลลัพธ์ArrayByte

ระบุว่าอุปกรณ์บัส NanoLib อ่านจากอะไร ระบุดัชนี (ย่อย) ที่จะอ่าน มอบอาร์เรย์ไบต์

readString () ใช้ฟังก์ชันนี้เพื่ออ่านสตริงจากไดเร็กทอรีวัตถุ
ResultString เสมือน nlc::NanoLibAccessor::readString (const DeviceHandle deviceHandle, const OdIndex odIndex)

พารามิเตอร์อุปกรณ์จัดการ odIndex
ส่งกลับสตริงผลลัพธ์

ระบุว่าอุปกรณ์บัส NanoLib อ่านจากอะไร ระบุดัชนี (ย่อย) ที่จะอ่าน ส่งชื่ออุปกรณ์เป็นสตริง

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

23

8 การอ้างอิงคลาส / ฟังก์ชั่น

writeNumber () ใช้ฟังก์ชันนี้เพื่อเขียนค่าตัวเลขลงในไดเร็กทอรีอ็อบเจ็กต์
ResultVoid เสมือน nlc::NanoLibAccessor::writeNumber (const DeviceHandle deviceHandle, int64_t value, const OdIndex odIndex, unsigned int bitLength)

พารามิเตอร์ค่าอุปกรณ์จัดการ odIndex bitLength
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุว่าอุปกรณ์บัส NanoLib เขียนถึงอะไร ค่าที่ไม่ได้ตีความ (สามารถลงนาม, ไม่ได้ลงนาม, แก้ไข 16.16) ระบุดัชนี (ย่อย) ที่จะอ่าน ความยาวเป็นบิต ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

writeBytes () ใช้ฟังก์ชันนี้เพื่อเขียนไบต์ที่กำหนดเอง (ข้อมูลวัตถุโดเมน) ไปยังไดเร็กทอรีวัตถุ
ResultVoid เสมือน nlc::NanoLibAccessor::writeBytes (const DeviceHandle deviceHandle, const std::vector & ข้อมูล, const OdIndex odIndex)

พารามิเตอร์อุปกรณ์จัดการข้อมูล odIndex
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุว่าอุปกรณ์บัส NanoLib เขียนถึงอะไร ไบต์เวกเตอร์/อาร์เรย์ ระบุดัชนี (ย่อย) ที่จะอ่าน ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

อัพโหลดเฟิร์มแวร์()
ใช้ฟังก์ชันนี้เพื่ออัปเดตเฟิร์มแวร์คอนโทรลเลอร์ของคุณ
ResultVoid เสมือน nlc::NanoLibAccessor::uploadFirmware (const DeviceHandle deviceHandle, const std::vector & fwData, NlcDataTransferCallback* คอลแบ็ก)

พารามิเตอร์อุปกรณ์จัดการ fwData NlcDataTransferCallback
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์บัสที่จะอัพเดต NanoLib อาร์เรย์ที่มีข้อมูลเฟิร์มแวร์ ตัวติดตามความคืบหน้าของข้อมูล ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

อัพโหลด FirmwareFromFile ()
ใช้ฟังก์ชันนี้เพื่ออัปเดตเฟิร์มแวร์คอนโทรลเลอร์ของคุณโดยการอัปโหลด file.
ResultVoid เสมือน nlc::NanoLibAccessor::uploadFirmwareFromFile (const DeviceHandle deviceHandle, const std::string และแน่นอนFileเส้นทาง, NlcDataTransferCallback* คอลแบ็ก)

พารามิเตอร์อุปกรณ์จัดการสัมบูรณ์Fileเส้นทาง NlcDataTransferCallback
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์บัสที่จะอัพเดต NanoLib เส้นทางสู่ file มีข้อมูลเฟิร์มแวร์ (std::string) ตัวติดตามความคืบหน้าของข้อมูล ยืนยันว่าฟังก์ชัน void ได้ทำงานแล้ว

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

24

8 การอ้างอิงคลาส / ฟังก์ชั่น

อัพโหลดBootloader()
ใช้ฟังก์ชันนี้เพื่ออัปเดตบูตโหลดเดอร์คอนโทรลเลอร์ของคุณ
ResultVoid เสมือน nlc::NanoLibAccessor::uploadBootloader (const DeviceHandle deviceHandle, const std::vector & btData, NlcDataTransferCallback* คอลแบ็ก)

พารามิเตอร์อุปกรณ์จัดการ btData NlcDataTransferCallback
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์บัสที่จะอัพเดต NanoLib อาร์เรย์ที่มีข้อมูล bootloader ตัวติดตามความคืบหน้าของข้อมูล ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

อัพโหลด BootloaderFromFile ()
ใช้ฟังก์ชันนี้เพื่ออัปเดตบูตโหลดเดอร์คอนโทรลเลอร์ของคุณโดยการอัปโหลด file.
ResultVoid เสมือน nlc::NanoLibAccessor::uploadBootloaderFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileเส้นทาง, NlcDataTransferCallback* คอลแบ็ก)

พารามิเตอร์ อุปกรณ์จัดการ bootloaderAbsoluteFileเส้นทาง NlcDataTransferCallback
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์บัสที่จะอัพเดต NanoLib เส้นทางสู่ file มีข้อมูล bootloader (std::string) ตัวติดตามความคืบหน้าของข้อมูล ยืนยันว่าฟังก์ชัน void ได้ทำงานแล้ว

อัพโหลดเฟิร์มแวร์ Bootloader ()
ใช้ฟังก์ชันนี้เพื่ออัปเดตบูตโหลดเดอร์และเฟิร์มแวร์คอนโทรลเลอร์ของคุณ
เสมือน ResultVoid nlc::NanoLibAccessor::uploadBootloaderFirmware (const DeviceHandle deviceHandle, const std::vector & btData, const std::vector & fwData, NlcDataTransferCallback* คอลแบ็ก)

พารามิเตอร์อุปกรณ์จัดการ btData fwData NlcDataTransferCallback
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์บัสที่จะอัพเดต NanoLib อาร์เรย์ที่มีข้อมูล bootloader อาร์เรย์ที่มีข้อมูลเฟิร์มแวร์ ตัวติดตามความคืบหน้าของข้อมูล ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

อัพโหลด Bootloader FirmwareFromFile ()
ใช้ฟังก์ชันนี้เพื่ออัปเดตคอนโทรลเลอร์บูตโหลดเดอร์และเฟิร์มแวร์ของคุณโดยการอัพโหลดไฟล์ files.
ResultVoid เสมือน nlc::NanoLibAccessor::uploadBootloaderFirmwareFromFile (const DeviceHandle deviceHandle, const std::string & bootloaderAbsoluteFileเส้นทาง const std::string และ absoluteFileเส้นทาง, NlcDataTransferCallback* คอลแบ็ก)

พารามิเตอร์ อุปกรณ์จัดการ bootloaderAbsoluteFileเส้นทางที่แน่นอนFileเส้นทาง NlcDataTransferCallback
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์บัสที่จะอัพเดต NanoLib เส้นทางสู่ file ประกอบด้วยข้อมูล bootloader (std::string) เส้นทางไป file มีข้อมูลเฟิร์มแวร์ (uint8_t) ตัวติดตามความคืบหน้าของข้อมูล ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

25

8 การอ้างอิงคลาส / ฟังก์ชั่น

อัพโหลดNanoJ()
ใช้ฟังก์ชันสาธารณะนี้เพื่ออัปโหลดโปรแกรม NanoJ ไปยังตัวควบคุมของคุณ
เสมือน ResultVoid nlc::NanoLibAccessor::uploadNanoJ (DeviceHandle const deviceHandle, std::vector const & vmmData, NlcDataTransferCallback* คอลแบ็ก)

พารามิเตอร์อุปกรณ์จัดการ vmmData NlcDataTransferCallback
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุว่าอุปกรณ์บัส NanoLib จะอัปโหลดไปที่ใด อาร์เรย์ที่มีข้อมูล NanoJ ตัวติดตามความคืบหน้าของข้อมูล ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

อัพโหลดNanoJFromFile ()
ใช้ฟังก์ชันสาธารณะนี้เพื่ออัปโหลดโปรแกรม NanoJ ไปยังตัวควบคุมของคุณโดยการอัปโหลด file.
ResultVoid เสมือน nlc::NanoLibAccessor::uploadNanoJFromFile (const DeviceHandle deviceHandle, const std::string และแน่นอนFileเส้นทาง, NlcDataTransferCallback* คอลแบ็ก)

พารามิเตอร์อุปกรณ์จัดการสัมบูรณ์Fileเส้นทาง NlcDataTransferCallback
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุว่าอุปกรณ์บัส NanoLib จะอัปโหลดไปที่ใด เส้นทางสู่ file มีข้อมูล NanoJ (std::string) ตัวติดตามความคืบหน้าของข้อมูล ยืนยันว่าฟังก์ชัน void ได้ทำงานแล้ว

ตัดการเชื่อมต่ออุปกรณ์ () ใช้ฟังก์ชันนี้เพื่อตัดการเชื่อมต่ออุปกรณ์ของคุณตามอุปกรณ์ Handle
ResultVoid เสมือน nlc::NanoLibAccessor::disconnectDevice (DeviceHandle const deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultVoid

ระบุว่าอุปกรณ์บัสใดที่ NanoLib ตัดการเชื่อมต่อ ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

RemoveDevice () ใช้ฟังก์ชันนี้เพื่อลบอุปกรณ์ของคุณออกจากรายการอุปกรณ์ภายในของ NanoLib
เสมือน ResultVoid nlc::NanoLibAccessor::removeDevice (const DeviceHandle deviceHandle)

พารามิเตอร์ deviceHandle ส่งคืน ResultVoid

ระบุอุปกรณ์บัสที่ NanoLib เพิกถอน ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

closeBusHardware () ใช้ฟังก์ชันนี้เพื่อตัดการเชื่อมต่อจากฮาร์ดแวร์ fieldbus ของคุณ
เสมือน ResultVoid nlc::NanoLibAccessor::closeBusHardware (BusHardwareId const & busHwId)

พารามิเตอร์ busHwId ส่งคืน ResultVoid

ระบุ fieldbus ที่จะตัดการเชื่อมต่อ ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

26

8 การอ้างอิงคลาส / ฟังก์ชั่น

8.2 รหัสฮาร์ดแวร์บัส
ใช้คลาสนี้เพื่อระบุฮาร์ดแวร์บัสแบบหนึ่งต่อหนึ่ง หรือเพื่อแยกแยะฮาร์ดแวร์บัสที่แตกต่างกัน คลาสนี้ (โดยไม่มีฟังก์ชัน setter ที่จะเปลี่ยนรูปไม่ได้ตั้งแต่การสร้าง) ยังเก็บข้อมูลเกี่ยวกับ:
ฮาร์ดแวร์ (= ชื่ออะแดปเตอร์ อะแดปเตอร์เครือข่าย ฯลฯ) โปรโตคอลที่ใช้ (= Modbus TCP, CANopen ฯลฯ) ตัวระบุฮาร์ดแวร์บัส (= ชื่อพอร์ตอนุกรม ชื่อที่เป็นมิตรกับ MAC
ที่อยู่ ฯลฯ)

BusHardwareId () [1/3] คอนสตรัคเตอร์ที่สร้างวัตถุ ID ฮาร์ดแวร์บัสใหม่
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & name_)

พารามิเตอร์ busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

ประเภทฮาร์ดแวร์ (= ZK-USB-CAN-1 ฯลฯ) โปรโตคอลการสื่อสารบัส (= CANopen ฯลฯ) ตัวระบุของฮาร์ดแวร์ (= COM3 ฯลฯ) ตัวระบุเพิ่มเติมของฮาร์ดแวร์ (เช่น ข้อมูลตำแหน่ง USB) ชื่อที่จำง่าย (= AdapterName (พอร์ต) ฯลฯ )

BusHardwareId () [2/3] คอนสตรัคเตอร์ที่สร้างวัตถุ ID ฮาร์ดแวร์บัสใหม่ โดยมีตัวเลือกสำหรับการระบุฮาร์ดแวร์พิเศษ
nlc::BusHardwareId::BusHardwareId (std::string const & busHardware_, std::string const & protocol_, std::string const & hardwareSpecifier_, std::string const & extraHardwareSpecifier_, std::string const & name_)

พารามิเตอร์ busHardware_ protocol_ hardwareSpecifier_ extraHardwareSpecifier_ name_

ประเภทฮาร์ดแวร์ (= ZK-USB-CAN-1 ฯลฯ) โปรโตคอลการสื่อสารบัส (= CANopen ฯลฯ) ตัวระบุของฮาร์ดแวร์ (= COM3 ฯลฯ) ตัวระบุเพิ่มเติมของฮาร์ดแวร์ (เช่น ข้อมูลตำแหน่ง USB) ชื่อที่จำง่าย (= AdapterName (พอร์ต) ฯลฯ )

BusHardwareId () [3/3] ตัวสร้างที่คัดลอก busHardwareId ที่มีอยู่
nlc::BusHardwareId::BusHardwareId (BusHardwareId const &)

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

พารามิเตอร์ busHardwareId

ตั้งชื่อ ID ฮาร์ดแวร์บัสที่จะคัดลอกมา

เท่ากับ () เปรียบเทียบ ID ฮาร์ดแวร์บัสใหม่กับ ID ที่มีอยู่
bool nlc::BusHardwareId::equals (BusHardwareId const & อื่นๆ) const

พารามิเตอร์อื่นๆ ให้ผลตอบแทนเป็นจริง

วัตถุอื่นในคลาสเดียวกัน หากทั้งสองมีค่าเท่ากันในทุกค่า

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

27

8 การอ้างอิงคลาส / ฟังก์ชั่น

เท็จ

หากค่ามีความแตกต่างกัน

getBusHardware () อ่านสตริงฮาร์ดแวร์บัส
ค่ามาตรฐาน::สตริง nlc::BusHardwareId::getBusHardware () const

ส่งกลับสตริง

getHardwareSpecifier() อ่านสตริงตัวระบุฮาร์ดแวร์ของบัส (= ชื่อเครือข่าย เป็นต้น)
ค่ามาตรฐาน::สตริง nlc::BusHardwareId::getHardwareSpecifier() const

ส่งกลับสตริง

getExtraHardwareSpecifier () อ่านสตริงตัวระบุฮาร์ดแวร์พิเศษของบัส (= ที่อยู่ MAC เป็นต้น)
std::string nlc::BusHardwareId::getExtraHardwareSpecifier () const

ส่งกลับสตริง

getName () อ่านชื่อที่เป็นมิตรของฮาร์ดแวร์บัส
ค่ามาตรฐาน::สตริง nlc::BusHardwareId::getName () const

ส่งกลับสตริง

getProtocol () อ่านสตริงโปรโตคอลบัส
std::สตริง nlc::BusHardwareId::getProtocol() const

ส่งกลับสตริง

toString() ส่งคืน ID ฮาร์ดแวร์บัสเป็นสตริง
ค่ามาตรฐาน::สตริง nlc::BusHardwareId::toString () const

ส่งกลับสตริง
8.3 ตัวเลือกฮาร์ดแวร์บัส
ค้นหาในคลาสนี้ในรายการคีย์-ค่าของสตริงซึ่งมีตัวเลือกทั้งหมดที่จำเป็นในการเปิดฮาร์ดแวร์บัส

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

28

8 การอ้างอิงคลาส / ฟังก์ชั่น

BusHardwareOptions () [1/2] สร้างวัตถุตัวเลือกฮาร์ดแวร์บัสใหม่
nlc::BusHardwareOptions::BusHardwareOptions () ใช้ฟังก์ชัน addOption () เพื่อเพิ่มคู่คีย์-ค่า

BusHardwareOptions () [2/2] สร้างออบเจ็กต์ตัวเลือกฮาร์ดแวร์บัสใหม่โดยมีแผนคีย์-ค่าอยู่แล้ว
nlc::BusHardwareOptions::BusHardwareOptions (std::map const & ตัวเลือก)

ตัวเลือกพารามิเตอร์

แผนที่พร้อมตัวเลือกสำหรับการทำงานของฮาร์ดแวร์บัส

addOption () สร้างคีย์และค่าเพิ่มเติม
ว่างเปล่า nlc::BusHardwareOptions::addOption (std::string const & key, std::string const & value)

ค่าคีย์พารามิเตอร์

Example: BAUD_RATE_OPTIONS_NAME ดูค่าเริ่มต้นของ bus_hw_options_
Exampเลอ: BAUD_RATE_1000K ดูที่ bus_hw_options_defaults

เท่ากับ () เปรียบเทียบ BusHardwareOptions กับที่มีอยู่
bool nlc::BusHardwareOptions::equals (BusHardwareOptions const & อื่นๆ) const

พารามิเตอร์อื่นๆ ให้ผลตอบแทนเป็นจริง
เท็จ

อีกวัตถุหนึ่งของคลาสเดียวกัน หากวัตถุอื่นมีตัวเลือกเดียวกันทุกประการ หากวัตถุอื่นมีคีย์หรือค่าที่แตกต่างกัน

getOptions () อ่านคู่คีย์-ค่าที่เพิ่มทั้งหมด
มาตรฐาน::แผนที่ nlc::BusHardwareOptions::getOptions () const

ส่งกลับแผนที่สตริง

toString () ส่งกลับคีย์ / ค่าทั้งหมดเป็นสตริง
ค่ามาตรฐาน::สตริง nlc::BusHardwareId::toString () const

ส่งกลับสตริง
8.4 BusHwOptionsค่าเริ่มต้น
คลาสตัวเลือกการกำหนดค่าเริ่มต้นนี้มีคุณลักษณะสาธารณะดังต่อไปนี้:

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

29

8 การอ้างอิงคลาส / ฟังก์ชั่น

const CanBus const อนุกรม const RESTfulBus const EtherCATBus

canBus = CanBus () อนุกรม = อนุกรม () restfulBus = RESTfulBus() ethercatBus = EtherCATBus()

8.5 อัตราการถ่ายโอนข้อมูล

โครงสร้างที่มีบอดเรต CAN บัสในคุณลักษณะสาธารณะต่อไปนี้:

สตริง const std::string const std::string const std::string const std::string const std::string const std::string const std::string

BAUD_RATE_1000K = “1000k” BAUD_RATE_800K = “800k” BAUD_RATE_500K = “500k” BAUD_RATE_250K = “250k” BAUD_RATE_125K = “125k” BAUD_RATE_100K = “100k” BAUD_RATE_50K = “50k” ATE_20K = “20k” BAUD_RATE_10K = “10k” BAUD_RATE_5K = “5k”

8.6 แคนบัส

คลาสตัวเลือกการกำหนดค่าเริ่มต้นที่มีคุณสมบัติสาธารณะดังต่อไปนี้:

const std::string const อัตรา Baud ของ CanBaud คงที่ Ixxat

BAUD_RATE_OPTIONS_NAME = “อัตรารับส่งข้อมูลของอะแดปเตอร์สามารถ” baudRate = CanBaudRate () ixxat = Ixxat ()

8.7 CanOpenNmtService

สำหรับบริการ NMT โครงสร้างนี้ประกอบด้วยสถานะ CANopen NMT เป็นค่าสตริงในแอตทริบิวต์สาธารณะต่อไปนี้:

const std::สตริง const std::สตริง const std::สตริง const std::สตริง

START = “START” STOP = “STOP” PRE_OPERATIONAL = “PRE_OPERATIONAL” RESET = “รีเซ็ต” RESET_COMMUNICATION = “RESET_COMMUNICATION”

8.8 CanOpenNmtState

โครงสร้างนี้มีสถานะ CANopen NMT เป็นค่าสตริงในแอตทริบิวต์สาธารณะต่อไปนี้:

const std::สตริง const std::สตริง const std::สตริง const std::สตริง

STOPPED = “STOPPED” PRE_OPERATIONAL = “PRE_OPERATIONAL” OPERATIONAL = “OPERATIONAL” การเริ่มต้น = “การเริ่มต้น” UNKNOWN = “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):

EtherCATState::PRE_OPERATIONAL EtherCATState::SAFE_OPERATIONAL EtherCATState::OPERATIONAL

const std::string DEFAULT_NETWORK_FIRMWARE_ STATE = “PRE_OPERATIONAL”

const std::string EXCLUSIVE_LOCK_TIMEOUT_OP - หมดเวลาเป็นมิลลิวินาทีเพื่อรับการล็อกแบบพิเศษ

TION_NAME = “การหมดเวลาการล็อกร่วมกัน”

เครือข่าย (ค่าเริ่มต้น = 500 ms)

const ไม่ได้ลงนาม int DEFAULT_EXCLUSIVE_LOCK_ TIMEOUT = “500”

const std::string SHARED_LOCK_TIMEOUT_OPTION_ หมดเวลาเป็นมิลลิวินาทีในการรับล็อคที่ใช้ร่วมกัน

NAME = “การหมดเวลาการล็อคร่วมกัน”

เครือข่าย (ค่าเริ่มต้น = 250 ms)

const ไม่ได้ลงนาม int DEFAULT_SHARED_LOCK_TIMEOUT = “250”

const std::string READ_TIMEOUT_OPTION_NAME = เวลาหมดในหน่วยมิลลิวินาทีสำหรับการดำเนินการอ่าน (ค่าเริ่มต้น

“หมดเวลาอ่าน”

= 700 มิลลิวินาที)

const ไม่ได้ลงนาม int DEFAULT_READ_TIMEOUT = “700”

const std::string WRITE_TIMEOUT_OPTION_NAME = เวลาหมดเป็นมิลลิวินาทีสำหรับการดำเนินการเขียน (ค่าเริ่มต้น

“หมดเวลาเขียน”

= 200 มิลลิวินาที)

const ไม่ได้ลงนาม int DEFAULT_WRITE_TIMEOUT = “200”

const std::string READ_WRITE_ATTEMPTS_OPTION_ จำนวนครั้งในการอ่านหรือเขียนสูงสุด (ค่าไม่เป็นศูนย์

NAME = “ความพยายามในการอ่าน/เขียน”

เท่านั้น; ค่าเริ่มต้น = 5)

const ไม่ได้ลงนาม int DEFAULT_READ_WRITE_ATTEMPTS = “5”

const std::string CHANGE_NETWORK_STATE_ATTEMPTS_OPTION_NAME = “เปลี่ยนความพยายามในสถานะเครือข่าย”

จำนวนความพยายามสูงสุดในการเปลี่ยนแปลงสถานะเครือข่าย (ค่าที่ไม่ใช่ศูนย์เท่านั้น ค่าเริ่มต้น = 10)

const ไม่ได้ลงนาม int DEFAULT_CHANGE_NETWORK_ STATE_ATTEMPTS = “10”

const std::string PDO_IO_ENABLED_OPTION_NAME เปิดใช้งานหรือปิดใช้งานการประมวลผล PDO สำหรับข้อมูลดิจิทัล

= “เปิดใช้งาน PDO IO แล้ว”

เอาต์พุต (“จริง” หรือ “เท็จ” เท่านั้น; ค่าเริ่มต้น = “จริง”)

const std::string DEFAULT_PDO_IO_ENABLED = “จริง”

8.10 โครงสร้าง EtherCATState

โครงสร้างนี้มีสถานะทาส / เครือข่าย EtherCAT เป็นค่าสตริงในแอตทริบิวต์สาธารณะต่อไปนี้ หมายเหตุ: สถานะเริ่มต้นเมื่อเปิดเครื่องคือ PRE_OPERATIONAL; NanoLib ไม่สามารถให้สถานะ "OPERATIONAL" ที่เชื่อถือได้ในระบบปฏิบัติการที่ไม่ใช่เรียลไทม์:

const std::สตริง const std::สตริง const std::สตริง const std::สตริง const std::สตริง

NONE = “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 usb-to-can ในแอตทริบิวต์สาธารณะต่อไปนี้:

const std::สตริง

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “หมายเลขบัสอะแดปเตอร์ ixxat”

const IxxatAdapterBusNumber อะแดปเตอร์ BusNumber = IxxatAdapterBusNumber ()

8.12 IxxatAdapterBusNumber

โครงสร้างนี้เก็บหมายเลขบัสสำหรับ Ixxat usb-to-can ในแอตทริบิวต์สาธารณะต่อไปนี้:

const std::สตริง const std::สตริง const std::สตริง

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::สตริง

ADAPTER_BUS_NUMBER_OPTIONS_NAME = “หมายเลขบัสอะแดปเตอร์พีค”

const PeakAdapterBusNumber adapterBusNumber = PeakAdapterBusNumber ()

8.14 PeakAdapterBusNumber

โครงสร้างนี้เก็บหมายเลขบัสสำหรับ Peak usb-to-can ในแอตทริบิวต์สาธารณะต่อไปนี้:

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 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS1) BUS_NUMBER_2 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS2) BUS_NUMBER_3 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS3) BUS_NUMBER_4 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS4) BUS_NUMBER_5 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS5) BUS_NUMBER_6 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS6) BUS_NUMBER_7 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS7) BUS_NUMBER_8 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS8) BUS_NUMBER_9 = มาตรฐาน::ถึง_สตริง (PCAN_USBBUS9) BUS_NUMBER_10 = ค่ามาตรฐาน::to_string (PCAN_USBBUS10) หมายเลข BUS_11 = ค่ามาตรฐาน::to_string (PCAN_USBBUS11) หมายเลข BUS_NUMBER_12 = ค่ามาตรฐาน::to_string (PCAN_USBBUS12) หมายเลข BUS_NUMBER_13 = ค่ามาตรฐาน::to_string (PCAN_USBBUS13) หมายเลข BUS_NUMBER_14 = ค่ามาตรฐาน::to_string (PCAN_USBBUS14) หมายเลข BUS_NUMBER_15 = ค่ามาตรฐาน::to_string (PCAN_USBBUS15) หมายเลข BUS_NUMBER_16 = ค่ามาตรฐาน::to_string (PCAN_USBBUS16)

8.15 ตัวจัดการอุปกรณ์
คลาสนี้แสดงถึงตัวจัดการสำหรับการควบคุมอุปกรณ์บนบัสและมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้

DeviceHandle () ตัวจัดการอุปกรณ์ (ตัวจัดการ uint32_t)

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

32

8 การอ้างอิงคลาส / ฟังก์ชั่น

เท่ากับ () เปรียบเทียบตัวเองกับที่จับอุปกรณ์ที่กำหนด
bool เท่ากับ (DeviceHandle const other) const (uint32_t handle)

toString () ส่งกลับการแสดงสตริงของหมายเลขอ้างอิงอุปกรณ์
std::สตริง toString() const

get () คืนค่าตัวจับอุปกรณ์
uint32_t รับ () const

8.16 รหัสอุปกรณ์
ใช้คลาสนี้ (ไม่เปลี่ยนรูปตั้งแต่สร้าง) เพื่อระบุและแยกแยะอุปกรณ์บนบัส:

ตัวระบุอะแดปเตอร์ฮาร์ดแวร์

ตัวระบุอุปกรณ์

คำอธิบาย

ความหมายของค่า ID อุปกรณ์ / คำอธิบายขึ้นอยู่กับบัส สำหรับเช่นampในกรณีนี้ CAN บัสอาจใช้ ID จำนวนเต็ม

DeviceId () [1/3] สร้างวัตถุ ID อุปกรณ์ใหม่
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId_, อุปกรณ์ Id_ ที่ไม่ได้ลงนาม, std::สตริง const & คำอธิบาย_)

พารามิเตอร์ busHardwareId_ deviceId_ description_

ตัวระบุของรถบัส ดัชนี; ขึ้นอยู่กับบัส (= CANopen node ID เป็นต้น) คำอธิบาย (อาจว่างเปล่า); ขึ้นอยู่กับรถบัส

DeviceId () [2/3] สร้างวัตถุ ID อุปกรณ์ใหม่ด้วยตัวเลือก ID ที่ขยาย
nlc::DeviceId::DeviceId (BusHardwareId const & busHardwareId, อุปกรณ์ Id_ ที่ไม่ได้ลงนาม int, std::string const & คำอธิบาย_ std::vector const & extraId_, std::string const & extraStringId_)

พารามิเตอร์ busHardwareId_ deviceId_ description_ extraId_ extraStringId_

ตัวระบุบัส ดัชนี ขึ้นอยู่กับบัส (= ID โหนด CANopen เป็นต้น) คำอธิบาย (อาจว่างเปล่า) ขึ้นอยู่กับบัส ID เพิ่มเติม (อาจว่างเปล่า) ความหมายขึ้นอยู่กับบัส ID สตริงเพิ่มเติม (อาจว่างเปล่า) ความหมายขึ้นอยู่กับบัส

DeviceId () [3/3] สร้างสำเนาของวัตถุ ID อุปกรณ์
nlc::DeviceId::DeviceId (DeviceId const &)

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

33

8 การอ้างอิงคลาส / ฟังก์ชั่น

พารามิเตอร์อุปกรณ์ Id_

รหัสอุปกรณ์ที่จะคัดลอกมา

เท่ากับ () เปรียบเทียบสิ่งใหม่กับวัตถุที่มีอยู่
bool nlc::DeviceId::equals (DeviceId const & อื่นๆ) const

ส่งกลับค่าบูลีน

getBusHardwareId () อ่าน ID ฮาร์ดแวร์บัส
รหัสอุปกรณ์บัส nlc::DeviceId::getBusHardwareId () const

ส่งคืน BusHardwareId

getDescription () อ่านคำอธิบายอุปกรณ์ (อาจไม่ได้ใช้)
std::string nlc::DeviceId::getDescription() const

ส่งกลับสตริง

getDeviceId () อ่านรหัสอุปกรณ์ (อาจไม่ได้ใช้)
unsigned int nlc::DeviceId::getDeviceId () const

ส่งคืน int ที่ไม่ได้ลงนาม

toString () ส่งกลับวัตถุเป็นสตริง
std::string nlc::DeviceId::toString () const

ส่งกลับสตริง

getExtraId () อ่าน ID พิเศษของอุปกรณ์ (อาจไม่ได้ใช้)
ค่าคงที่ std::เวกเตอร์ &getExtraId() คงที่

คืนค่าเวกเตอร์

เวกเตอร์ของ ID พิเศษเพิ่มเติม (อาจว่างเปล่า) ความหมายขึ้นอยู่กับรถบัส

getExtraStringId () อ่าน ID สตริงพิเศษของอุปกรณ์ (อาจไม่ได้ใช้)
std::string getExtraStringId () const

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

34

8 การอ้างอิงคลาส / ฟังก์ชั่น

ส่งกลับสตริง

รหัสสตริงเพิ่มเติม (อาจว่างเปล่า) ความหมายขึ้นอยู่กับรถบัส

8.17 LogLevelConverter

คลาสนี้จะส่งคืนระดับบันทึกของคุณเป็นสตริง static std::string toString (nlc::LogLevel logLevel)

8.18 ตัวแปลงโมดูลบันทึก

คลาสนี้จะส่งคืนโมดูลบันทึกเฉพาะไลบรารีของคุณ setLoggingLevel() เป็นสตริง

std::สตริงคงที่

toString (nlc::LogModule โมดูลบันทึก)

std::string แบบคงที่ toString (nlc::LogModule logModule)

8.19 ออบเจ็กต์พจนานุกรม
คลาสนี้แสดงถึงพจนานุกรมวัตถุของคอนโทรลเลอร์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้: getDeviceHandle ()
เสมือน ResultDeviceHandle getDeviceHandle () const คืนค่า ResultDeviceHandle

getObject() เสมือน ResultObjectSubEntry getObject (OdIndex const odIndex) คืนค่า ResultObjectSubEntry

getObjectEntry() เสมือน ResultObjectEntry getObjectEntry (ดัชนี uint16_t)

ส่งกลับ ResultObjectEntry

แจ้งคุณสมบัติของวัตถุ

getXmlFileชื่อ () เสมือน ResultString getXmlFileชื่อ () const

ส่งกลับสตริงผลลัพธ์

ส่งกลับ XML file ชื่อเป็นสตริง

readNumber() ผลลัพธ์เสมือน readNumber(OdIndex const odIndex) คืนค่า ResultInt
readNumberArray() ผลลัพธ์เสมือนของ ReadNumberArray (uint16_t const index)

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

35

8 การอ้างอิงคลาส / ฟังก์ชั่น
ส่งกลับ ResultArrayInt readString ()
เสมือน ResultString readString (OdIndex const odIndex) ส่งคืน ResultString readBytes () เสมือน ResultArrayByte readBytes (OdIndex const odIndex) ส่งคืน ResultArrayByte writeNumber () เสมือน ResultVoid writeNumber (OdIndex const odIndex, const int64_t value) ส่งคืน ResultVoid writeBytes () เสมือน ResultVoid writeBytes (OdIndex const OdIndex, std::vector
const & data) ส่งคืน ResultVoid ลิงค์ที่เกี่ยวข้อง OdIndex
8.20 รายการออบเจ็กต์
คลาสนี้แสดงถึงรายการวัตถุของพจนานุกรมวัตถุ มีแอตทริบิวต์ที่ได้รับการป้องกันแบบคงที่และฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
nlc::ObjectSubEntry แบบคงที่ Object ไม่ถูกต้อง
getName () อ่านชื่อของวัตถุในรูปแบบสตริง
เสมือน std::string getName() const
getPrivate () ตรวจสอบว่าวัตถุนั้นเป็นส่วนตัวหรือไม่
เสมือน bool getPrivate() const
getIndex () อ่านที่อยู่ของดัชนีวัตถุ
เสมือน uint16_t getIndex () const

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

36

8 การอ้างอิงคลาส / ฟังก์ชั่น

getDataType () อ่านประเภทข้อมูลของวัตถุ
เสมือน nlc::ObjectEntryDataType getDataType () const

getObjectCode () อ่านรหัสวัตถุ:

Null Deftype Defstruct Var Array Record

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

เสมือน nlc::ObjectCode getObjectCode() const

getObjectSaveable () ตรวจสอบว่าอ็อบเจ็กต์สามารถบันทึกได้และเป็นหมวดหมู่หรือไม่ (ดูคู่มือผลิตภัณฑ์สำหรับรายละเอียดเพิ่มเติม): APPLICATION, COMMUNICATION, DRIVE, MISC_CONFIG, MODBUS_RTU, NO, TUNING, Customers, ETHERNET, CANOPEN, VERIFY1020, UNKNOWN_SAVEABLE_TYPE
เสมือน nlc::ObjectSaveable getObjectSaveable () const

getMaxSubIndex () อ่านจำนวนดัชนีย่อยที่วัตถุนี้รองรับ
เสมือน uint8_t getMaxSubIndex () const

getSubEntry() nlc::ObjectSubEntry เสมือน & getSubEntry (uint8_t subIndex)
ดูเพิ่มเติมที่ ObjectSubEntry
8.21 ออบเจ็กต์ย่อยเอนทรี
คลาสนี้แสดงถึงรายการย่อยของวัตถุ (subindex) ของพจนานุกรมวัตถุและมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getName () อ่านชื่อของวัตถุในรูปแบบสตริง
เสมือน std::string getName() const

getSubIndex () อ่านที่อยู่ของดัชนีย่อย
เสมือน uint8_t getSubIndex () const

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

37

8 การอ้างอิงคลาส / ฟังก์ชั่น

getDataType () อ่านประเภทข้อมูลของวัตถุ
เสมือน nlc::ObjectEntryDataType getDataType () const

getSdoAccess () ตรวจสอบว่าสามารถเข้าถึงดัชนีย่อยผ่าน SDO หรือไม่:

อ่านอย่างเดียว

1

เขียนเท่านั้น

2

อ่านเขียน

3

ไม่มีการเข้าถึง

0

nlc เสมือน::ObjectSdoAccessAttribute getSdoAccess () const

getPdoAccess () ตรวจสอบว่าดัชนีย่อยสามารถเข้าถึงได้/สามารถแมปผ่าน PDO ได้หรือไม่:

Tx

1

Rx

2

ทีเอ็กซ์อาร์เอ็กซ์

3

เลขที่

0

nlc เสมือน::ObjectPdoAccessAttribute getPdoAccess () const

getBitLength () ตรวจสอบความยาวของดัชนีย่อย
เสมือน uint32_t getBitLength () const

getDefaultValueAsNumeric () อ่านค่าเริ่มต้นของดัชนีย่อยสำหรับประเภทข้อมูลตัวเลข
เสมือน ResultInt getDefaultValueAsNumeric (std::string const & key) const

getDefaultValueAsString () อ่านค่าเริ่มต้นของดัชนีย่อยสำหรับชนิดข้อมูลสตริง
ResultString เสมือน getDefaultValueAsString (std::string const & key) const

getDefaultValues ​​() อ่านค่าเริ่มต้นของดัชนีย่อย
std::map เสมือน รับค่าเริ่มต้น () const

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

38

8 การอ้างอิงคลาส / ฟังก์ชั่น

readNumber () อ่านค่าจริงที่เป็นตัวเลขของดัชนีย่อย
เสมือน ResultInt readNumber () const

readString () อ่านค่าสตริงที่แท้จริงของดัชนีย่อย
เสมือน ResultString readString () const

readBytes () อ่านค่าที่แท้จริงของดัชนีย่อยเป็นไบต์
เสมือน ResultArrayByte readBytes () const

writeNumber () เขียนค่าตัวเลขในดัชนีย่อย
เสมือน ResultVoid writeNumber (const int64_t value) const

writeBytes () เขียนค่าในดัชนีย่อยเป็นไบต์
เสมือน ResultVoid writeBytes (std::vector const & ข้อมูล) const

8.22 ดัชนี OdIndex
ใช้คลาสนี้ (ไม่เปลี่ยนรูปตั้งแต่การสร้าง) เพื่อตัดและค้นหาดัชนีไดเร็กทอรีวัตถุ / ดัชนีย่อย OD ของอุปกรณ์มีได้ถึง 65535 (0xFFFF) แถวและ 255 (0xFF) คอลัมน์ มีช่องว่างระหว่างแถวไม่ต่อเนื่องกัน ดูมาตรฐาน CANopen และคู่มือผลิตภัณฑ์ของคุณสำหรับรายละเอียดเพิ่มเติม
OdIndex () สร้างวัตถุ OdIndex ใหม่
nlc::OdIndex::OdIndex (ดัชนี uint16_t, ดัชนีย่อย uint8_t)

พารามิเตอร์ดัชนีดัชนีย่อย

ตั้งแต่ 0 ถึง 65535 (0xFFFF) รวม ตั้งแต่ 0 ถึง 255 (0xFF) รวม

getIndex () อ่านดัชนี (ตั้งแต่ 0x0000 ถึง 0xFFFF)
uint16_t nlc::OdIndex::getIndex() คงที่

ส่งคืน uint16_t

getSubindex () อ่านดัชนีย่อย (ตั้งแต่ 0x00 ถึง 0xFF)
uint8_t nlc::OdIndex::getSubIndex() คงที่

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

39

8 การอ้างอิงคลาส / ฟังก์ชั่น

ส่งคืน uint8_t

toString () ส่งกลับดัชนีและดัชนีย่อยเป็นสตริง สตริงเริ่มต้น 0xIII:0xSS อ่านดังนี้:

I = ดัชนีจาก 0x0000 ถึง 0xFFFF

S = ดัชนีย่อยจาก 0x00 ถึง 0xFF

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

ส่งกลับ 0xIII:0xSS

การแสดงสตริงเริ่มต้น

8.23 OdLibrary
ใช้อินเทอร์เฟซการเขียนโปรแกรมนี้เพื่อสร้างอินสแตนซ์ของคลาส ObjectDictionary จาก XML ด้วย assignObjectDictionary คุณสามารถเชื่อมโยงแต่ละอินสแตนซ์เข้ากับอุปกรณ์เฉพาะได้เนื่องจากตัวระบุที่สร้างขึ้นโดยเฉพาะ อินสแตนซ์ ObjectDictionary ที่สร้างขึ้นจึงถูกจัดเก็บไว้ในวัตถุ OdLibrary ที่จะเข้าถึงได้โดยดัชนี คลาส ODLibrary โหลดรายการ ObjectDictionary จาก file หรืออาร์เรย์ จัดเก็บไว้ และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:

getObjectDictionaryCount() เสมือน uint32_t getObjectDictionaryCount() const

getObjectDictionary () เสมือน ResultObjectDictionary getObjectDictionary (uint32_t odIndex)

ส่งกลับ ResultObjectDictionary

addObjectDictionaryFromFile ()
เสมือน ResultObjectDictionary addObjectDictionaryFromFile (std::string const และ absoluteXmlFileเส้นทาง)

ส่งกลับ ResultObjectDictionary

เพิ่มพจนานุกรมวัตถุ()
ResultObjectDictionary เสมือน addObjectDictionary (std::vector const และ odXmlData, const std::string และ xmlFileเส้นทาง = std::สตริง ())

ส่งกลับ ResultObjectDictionary
8.24 OdTypesHelper
นอกเหนือจากฟังก์ชันสมาชิกสาธารณะต่อไปนี้แล้ว คลาสนี้ยังมีประเภทข้อมูลที่กำหนดเอง หมายเหตุ: หากต้องการตรวจสอบประเภทข้อมูลที่กำหนดเอง ให้ค้นหาคลาส enum ObjectEntryDataType ใน od_types.hpp

uintToObjectCode () แปลงจำนวนเต็มที่ไม่ได้ลงนามเป็นรหัสวัตถุ:

ประเภทค่าว่าง

0x00 0x05

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

40

8 การอ้างอิงคลาส / ฟังก์ชั่น

Defstruct บันทึกอาร์เรย์ Var

0x06 0x07 0x08 0x09

ObjectCode แบบคงที่ uintToObjectCode (รหัส objectCode แบบ int ที่ไม่มีเครื่องหมาย)

isNumericDataType () แจ้งว่าชนิดข้อมูลเป็นตัวเลขหรือไม่
บูลีนแบบคงที่คือ NumericDataType (ObjectEntryDataType dataType)

isDefstructIndex () แจ้งให้ทราบว่าวัตถุเป็นดัชนีโครงสร้างคำจำกัดความหรือไม่
บูลแบบคงที่ isDefstructIndex (uint16_t typeNum)

isDeftypeIndex () แจ้งให้ทราบว่าวัตถุเป็นดัชนีประเภทคำจำกัดความหรือไม่
บูลแบบคงที่ isDeftypeIndex (uint16_t typeNum)

isComplexDataType () แจ้งว่าชนิดข้อมูลมีความซับซ้อนหรือไม่
บูลีนคงที่ isComplexDataType (ObjectEntryDataType dataType)

uintToObjectEntryDataType () แปลงจำนวนเต็มที่ไม่ได้ลงนามให้เป็นชนิดข้อมูล OD
sstatic ObjectEntryDataType uintToObjectEntryDataType (uint16_t ประเภทข้อมูลวัตถุ)

objectEntryDataTypeToString () แปลงชนิดข้อมูล OD เป็นสตริง
วัตถุ std::string แบบคงที่ EntryDataTypeToString (ObjectEntryDataType odDataType)

stringToObjectEntryDatatype () แปลงสตริงเป็นชนิดข้อมูล OD ถ้าเป็นไปได้ มิฉะนั้น ส่งคืน UNKNOWN_DATATYPE
ObjectEntryDataType แบบคงที่ stringToObjectEntryDatatype (std::string dataTypeString)

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

41

8 การอ้างอิงคลาส / ฟังก์ชั่น

objectEntryDataTypeBitLength () แจ้งความยาวบิตของชนิดข้อมูลรายการออบเจ็กต์
คงที่ uint32_t objectEntryDataTypeBitLength (ObjectEntryDataType const & dataType)

8.25 โครงสร้าง RESTfulBus

โครงสร้างนี้มีตัวเลือกการกำหนดค่าการสื่อสารสำหรับอินเทอร์เฟซ RESTful (ผ่านอีเทอร์เน็ต) มันมีคุณสมบัติสาธารณะดังต่อไปนี้:

const std::string const แบบยาวที่ไม่ได้ลงนาม const std::string const แบบยาวที่ไม่ได้ลงนาม const std::string const แบบยาวที่ไม่ได้ลงนาม

CONNECT_TIMEOUT_OPTION_NAME = “การหมดเวลาการเชื่อมต่อ RESTful” DEFAULT_CONNECT_TIMEOUT = 200 REQUEST_TIMEOUT_OPTION_NAME = “การร้องขอการหมดเวลา RESTful” DEFAULT_REQUEST_TIMEOUT = 200 RESPONSE_TIMEOUT_OPTION_NAME = “การหมดเวลาการตอบสนอง RESTful” DEFAULT_RESPONSE_TIMEOUT = 750

8.26 ProfinetDCP
ภายใต้ Linux แอปพลิเคชันที่เรียกต้องใช้ความสามารถ CAP_NET_ADMIN และ CAP_NET_RAW หากต้องการเปิดใช้งาน: sudo setcap 'cap_net_admin,cap_net_raw+eip' ./executable ใน Windows อินเทอร์เฟซ ProfinetDCP จะใช้ WinPcap (ทดสอบด้วยเวอร์ชัน 4.1.3) หรือ Npcap (ทดสอบด้วยเวอร์ชัน 1.60 และ 1.30) ดังนั้นจึงค้นหาไลบรารี wpcap.dll ที่โหลดแบบไดนามิกตามลำดับต่อไปนี้ (หมายเหตุ: ไม่รองรับ Win10Pcap ในปัจจุบัน):
1. ไดเร็กทอรี Nanolib.dll 2. ไดเร็กทอรีระบบ Windows SystemRoot%System32 3. ไดเร็กทอรีการติดตั้ง Npcap SystemRoot%System32Npcap 4. พาธสภาพแวดล้อม
คลาสนี้แสดงถึงอินเทอร์เฟซ Profinet DCP และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:

getScanTimeout () แจ้งการหมดเวลาการสแกนอุปกรณ์ (ค่าเริ่มต้น = 2000 ms)
เสมือน uint32_t nlc::ProfinetDCP::getScanTimeout () const

setScanTimeout () ตั้งค่าการหมดเวลาการสแกนอุปกรณ์ (ค่าเริ่มต้น = 2000 ms)
ช่องว่างเสมือน nlc::setScanTimeout (uint32_t timeoutMsec)

getResponseTimeout () แจ้งการหมดเวลาตอบสนองของอุปกรณ์สำหรับการตั้งค่า รีเซ็ต และการดำเนินการกะพริบ (ค่าเริ่มต้น = 1000 ms)
เสมือน uint32_t nlc::ProfinetDCP::getResponseTimeout () const

setResponseTimeout () แจ้งการหมดเวลาตอบสนองของอุปกรณ์สำหรับการตั้งค่า รีเซ็ต และการดำเนินการกะพริบ (ค่าเริ่มต้น = 1000 ms)
ช่องว่างเสมือน nlc::ProfinetDCP::setResponseTimeout (uint32_t timeoutMsec)

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

42

8 การอ้างอิงคลาส / ฟังก์ชั่น

คือบริการที่มีอยู่ ()
ใช้ฟังก์ชันนี้เพื่อตรวจสอบความพร้อมใช้งานของบริการ Profinet DCP
ความถูกต้อง/ความพร้อมใช้งานของอะแดปเตอร์เครือข่าย Windows: ความพร้อมใช้งานของ WinPcap / Npcap Linux: ความสามารถ CAP_NET_ADMIN / CAP_NET_RAW
ResultVoid เสมือน nlc::ProfinetDCP::isServiceAvailable (const BusHardwareId & busHardwareId)

พารามิเตอร์ BusHardwareId ส่งกลับค่าจริง
เท็จ

ID ฮาร์ดแวร์ของบริการ Profinet DCP เพื่อตรวจสอบ มีบริการ. บริการไม่พร้อมใช้งาน

scanProfinetDevices () ใช้ฟังก์ชันนี้เพื่อสแกนบัสฮาร์ดแวร์เพื่อดูว่ามีอุปกรณ์ Profinet หรือไม่
การสแกนอุปกรณ์ ProfinetDevices เสมือนจริง (const BusHardwareId & busHardwareId)

พารามิเตอร์ BusHardwareId ส่งคืน ResultProfinetDevices

ระบุแต่ละ fieldbus ที่จะเปิด ฮาร์ดแวร์เปิดอยู่

setupProfinetDevice () สร้างการตั้งค่าอุปกรณ์ต่อไปนี้:

ชื่ออุปกรณ์

ที่อยู่ IP

หน้ากากเครือข่าย

เกตเวย์เริ่มต้น

เสมือน ResultVoid nlc::setupProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice struct & profinetDevice, bool savePermanent)

ResetProfinetDevice () หยุดอุปกรณ์และรีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน
เสมือน ResultVoid nlc::resetProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice & profinetDevice)

BlinkProfinetDevice () สั่งให้อุปกรณ์ Profinet เริ่มกระพริบไฟ LED Profinet
เสมือน ResultVoid nlc::blinkProfinetDevice (const BusHardwareId & busHardwareId, const ProfinetDevice &profinetDevice)

validateProfinetDeviceIp () ใช้ฟังก์ชันนี้เพื่อตรวจสอบที่อยู่ IP ของอุปกรณ์
เสมือน ResultVoid ตรวจสอบ ProfinetDeviceIp (const BusHardwareId &busHardwareId, const ProfinetDevice & profinetDevice)

พารามิเตอร์ BusHardwareId ProfinetDevice

ระบุ ID ฮาร์ดแวร์ที่จะตรวจสอบ ระบุอุปกรณ์ Profinet เพื่อตรวจสอบ

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

43

8 การอ้างอิงคลาส / ฟังก์ชั่น

ส่งกลับผลลัพธ์เป็นโมฆะ

8.27 โครงสร้าง ProfinetDevice

ข้อมูลอุปกรณ์ Profinet มีคุณสมบัติสาธารณะดังต่อไปนี้:

std::สตริง std::สตริง std::array< uint8_t, 6 > uint32_t uint32_t uint32_t

ชื่ออุปกรณ์ ผู้จำหน่ายอุปกรณ์ ที่อยู่ mac ที่อยู่ ip หน้ากากเน็ตเกตเวย์เริ่มต้น

ที่อยู่ MAC ให้ไว้เป็นอาร์เรย์ในรูปแบบ macAddress = {xx, xx, xx, xx, xx, xx}; ในขณะที่ที่อยู่ IP, เน็ตเวิร์กมาสก์ และเกตเวย์ล้วนถูกตีความว่าเป็นเลขฐานสิบหก endian ขนาดใหญ่ เช่น:

ที่อยู่ IP: 192.168.0.2 มาสก์เครือข่าย: 255.255.0.0 เกตเวย์: 192.168.0.1

0xC0A80002 0xFFFF0000 0xC0A80001

8.28 คลาสผลลัพธ์

ใช้ค่าที่ส่งคืน "เป็นทางเลือก" ของคลาสเหล่านี้เพื่อตรวจสอบว่าการเรียกใช้ฟังก์ชันสำเร็จหรือไม่ และค้นหาสาเหตุที่ล้มเหลวด้วย เมื่อสำเร็จ ฟังก์ชัน hasError () จะคืนค่าเท็จ โดย getResult () คุณสามารถอ่านค่าผลลัพธ์ตามประเภท (ResultInt ฯลฯ) หากการโทรล้มเหลว คุณจะอ่านเหตุผลโดย getError ()

คุณลักษณะที่ได้รับการป้องกัน

สตริง NlcErrorCode uint32_t

errorString รหัสข้อผิดพลาด exErrorCode

นอกจากนี้ คลาสนี้ยังมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:

hasError () อ่านความสำเร็จของการเรียกใช้ฟังก์ชัน
บูลีน nlc::Result::hasError () const

การคืนสินค้า

จริงเท็จ

โทรล้มเหลว ใช้ getError () เพื่ออ่านค่า โทรสำเร็จ. ใช้ getResult () เพื่ออ่านค่า

getError () อ่านเหตุผลหากการเรียกใช้ฟังก์ชันล้มเหลว
const std::string nlc::Result::getError () const

ส่งกลับสตริง const

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

44

8 การอ้างอิงคลาส / ฟังก์ชั่น
ผลลัพธ์ () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์ที่แน่นอน:
ผลลัพธ์ (std::string const & errorString_)
ผลลัพธ์ (NlcErrorCode const & errCode, std::string const & errorString_)
ผลลัพธ์ (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ผลลัพธ์ (Result const & result)
getErrorCode () อ่าน NlcErrorCode
NlcErrorCode รับรหัสข้อผิดพลาด () const
รับรหัสข้อผิดพลาด ExError () uint32_t รับรหัสข้อผิดพลาด ExError () const
8.28.1 ผลลัพธ์ถือเป็นโมฆะ
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันคืนค่าเป็นโมฆะ คลาสสืบทอดฟังก์ชันสาธารณะและแอ็ตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
ResultVoid () ฟังก์ชั่นต่อไปนี้ช่วยในการกำหนดผลลัพธ์ที่เป็นโมฆะที่แน่นอน:
ผลลัพธ์เป็นโมฆะ (std::string const &errorString_)
ผลลัพธ์เป็นโมฆะ (NlcErrorCode const & errCode, std::string const & errorString_)
ผลลัพธ์เป็นโมฆะ (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultVoid (ผลลัพธ์คงที่และผลลัพธ์)
8.28.2 ผลการแข่งขัน
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนจำนวนเต็ม คลาสสืบทอดฟังก์ชันสาธารณะ / คุณลักษณะที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult () ส่งกลับผลลัพธ์จำนวนเต็มหากการเรียกใช้ฟังก์ชันสำเร็จ
int64_t รับผลลัพธ์ () const
ส่งคืน int64_t

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

45

8 การอ้างอิงคลาส / ฟังก์ชั่น
ResultInt () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์จำนวนเต็มที่แน่นอน:
ผลลัพธ์Int (ผลลัพธ์ int64_t)
ผลลัพธ์Int (std::string const และ errorString_)
ผลลัพธ์Int (NlcErrorCode const & errCode, std::string const & errorString_)
ผลลัพธ์ Int (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultInt (ผลลัพธ์ const และผลลัพธ์)
8.28.3 สตริงผลลัพธ์
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนสตริง คลาสสืบทอดฟังก์ชันสาธารณะ / คุณลักษณะที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult () อ่านผลลัพธ์ของสตริงหากการเรียกใช้ฟังก์ชันสำเร็จ
const std::string nlc::ResultString::getResult () const
ส่งกลับสตริง const
ResultString () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์สตริงที่แน่นอน:
ResultString (std::string const & ข้อความ, bool hasError_)
สตริงผลลัพธ์ (NlcErrorCode const & errCode, std::string const & errorString_)
สตริงผลลัพธ์ (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultString (ผลลัพธ์ const และผลลัพธ์)
8.28.4 ผลลัพธ์อาร์เรย์ไบต์
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนอาร์เรย์ไบต์ คลาสนี้สืบทอดฟังก์ชันสาธารณะ/แอตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult() อ่านเวกเตอร์ไบต์ออกมาถ้าการเรียกใช้ฟังก์ชันประสบความสำเร็จ
ค่าคงที่ std::เวกเตอร์ nlc::ResultArrayByte::getResult() คงที่
คืนค่าเวกเตอร์ const

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

46

8 การอ้างอิงคลาส / ฟังก์ชั่น
ResultArrayByte () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์อาร์เรย์ไบต์ที่แน่นอน:
ผลลัพธ์อาร์เรย์ไบต์ (std::vector const & ผลลัพธ์_)
ResultArrayByte (std::string const และ errorString_)
ResultArrayByte (NlcErrorCode const & errCode, std::string const & error String_)
ผลลัพธ์ของ ArrayByte (NlcErrorCode const & errCode, const uint32_t exErrCode, std:: string const & errorString_)
ResultArrayByte (ผลลัพธ์คงที่และผลลัพธ์)
8.28.5 ResultArrayInt
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนอาร์เรย์จำนวนเต็ม คลาสนี้สืบทอดฟังก์ชันสาธารณะ/แอตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult() อ่านเวกเตอร์จำนวนเต็มออกมาถ้าการเรียกใช้ฟังก์ชันประสบความสำเร็จ
ค่าคงที่ std::เวกเตอร์ nlc::ResultArrayInt::getResult() คงที่
คืนค่าเวกเตอร์ const
ResultArrayInt () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์อาร์เรย์จำนวนเต็มที่แน่นอน:
ผลลัพธ์ของ ArrayInt (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 (ผลลัพธ์ const และผลลัพธ์)
8.28.6 ผลลัพธ์บัส HwId
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนอาร์เรย์ ID ฮาร์ดแวร์ของบัส คลาสนี้สืบทอดฟังก์ชันสาธารณะ / แอตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult() อ่านเวกเตอร์ bus-hardware-ID ถ้าการเรียกใช้ฟังก์ชันประสบความสำเร็จ
ค่าคงที่ std::เวกเตอร์ nlc::ResultBusHwIds::getResult () คงที่
พารามิเตอร์ const vector

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

47

8 การอ้างอิงคลาส / ฟังก์ชั่น
ResultBusHwIds () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์บัส-ฮาร์ดแวร์-ID-อาร์เรย์ที่แน่นอน:
ผลลัพธ์BusHwIds (std::vector const & ผลลัพธ์_)
ผลลัพธ์BusHwIds (std::string const และ errorString_)
ผลลัพธ์BusHwIds (NlcErrorCode const & errCode, std::string const & errorString_)
ผลลัพธ์BusHwIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultBusHwIds (ผลลัพธ์ const และผลลัพธ์)
8.28.7 ผลลัพธ์ DeviceId
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืน ID อุปกรณ์ คลาสนี้สืบทอดฟังก์ชันสาธารณะ/แอตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult () อ่านเวกเตอร์ ID อุปกรณ์หากการเรียกใช้ฟังก์ชันสำเร็จ
DeviceId nlc::ResultDeviceId::getResult () const
ส่งกลับเวกเตอร์ const
ResultDeviceId () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์รหัสอุปกรณ์ที่แน่นอน:
ResultDeviceId (รหัสอุปกรณ์ const & result_)
ผลลัพธ์DeviceId (std::string const และ errorString_)
ผลลัพธ์DeviceId (NlcErrorCode const & errCode, std::string const & errorString_)
ผลลัพธ์DeviceId (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string errorString_)
ResultDeviceId (ผลลัพธ์คงที่และผลลัพธ์)
8.28.8 ผลลัพธ์ DeviceIds
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนอาร์เรย์ ID อุปกรณ์ คลาสนี้สืบทอดฟังก์ชันสาธารณะ/แอตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult() ส่งคืนเวกเตอร์ ID อุปกรณ์ถ้าการเรียกใช้ฟังก์ชันประสบความสำเร็จ
DeviceId nlc::ResultDeviceIds::getResult () const
ส่งกลับเวกเตอร์ const

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

48

8 การอ้างอิงคลาส / ฟังก์ชั่น
ResultDeviceIds () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์อาร์เรย์ ID อุปกรณ์ที่แน่นอน:
ผลลัพธ์DeviceIds (std::vector const & ผลลัพธ์_)
ผลลัพธ์DeviceIds (std::string const และ errorString_)
ผลลัพธ์DeviceIds (NlcErrorCode const & errCode, std::string const & errorString_)
ผลลัพธ์DeviceIds (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceIds (ผลลัพธ์คงที่และผลลัพธ์)
8.28.9 ผลลัพธ์DeviceHandle
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนค่าของตัวจัดการอุปกรณ์ คลาสนี้สืบทอดฟังก์ชันสาธารณะ/แอตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult () อ่านหมายเลขอ้างอิงอุปกรณ์หากการเรียกใช้ฟังก์ชันสำเร็จ
อุปกรณ์จับยึด nlc::ResultDeviceHandle::getResult () const
ส่งคืน DeviceHandle
ResultDeviceHandle () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์การจัดการอุปกรณ์ที่แน่นอน:
ตัวจัดการอุปกรณ์ผลลัพธ์ (ตัวจัดการอุปกรณ์ const & result_)
ตัวจัดการอุปกรณ์ผลลัพธ์ (std::string const & errorString_)
ตัวจัดการอุปกรณ์ผลลัพธ์ (NlcErrorCode const & errCode, std::string const & errorString_)
ตัวจัดการอุปกรณ์ผลลัพธ์ (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultDeviceHandle (ผลลัพธ์คงที่และผลลัพธ์)
8.28.10 พจนานุกรมผลลัพธ์ObjectDictionary
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนเนื้อหาของพจนานุกรมออบเจ็กต์ คลาสสืบทอดฟังก์ชันสาธารณะ / คุณลักษณะที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult () อ่านเวกเตอร์ ID อุปกรณ์หากการเรียกใช้ฟังก์ชันสำเร็จ
const nlc::ObjectDictionary และ nlc::ResultObjectDictionary::getResult () const

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

49

8 การอ้างอิงคลาส / ฟังก์ชั่น

การคืนสินค้า

เวกเตอร์คอนสตรัค

ResultObjectDictionary () ฟังก์ชั่นต่อไปนี้ช่วยในการกำหนดผลลัพธ์พจนานุกรมวัตถุที่แน่นอน:
พจนานุกรมผลลัพธ์วัตถุ (nlc::ObjectDictionary const & result_)

พจนานุกรมผลลัพธ์วัตถุ (std::string const & errorString_)

พจนานุกรมผลลัพธ์วัตถุ (NlcErrorCode const & errCode, std::string const & errorString_)

พจนานุกรมผลลัพธ์วัตถุ (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)

ResultObjectDictionary (ผลลัพธ์ const และผลลัพธ์)

8.28.11 สถานะการเชื่อมต่อผลลัพธ์
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนข้อมูลสถานะการเชื่อมต่ออุปกรณ์ คลาสสืบทอดฟังก์ชันสาธารณะ / คุณลักษณะที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult () อ่านหมายเลขอ้างอิงอุปกรณ์หากการเรียกใช้ฟังก์ชันสำเร็จ
ข้อมูลสถานะการเชื่อมต่ออุปกรณ์ nlc::ResultConnectionState::getResult () const

ส่งคืน DeviceConnectionStateInfo ที่เชื่อมต่อ / ตัดการเชื่อมต่อ / เชื่อมต่อ Bootloader

ResultConnectionState () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์สถานะการเชื่อมต่อที่แน่นอน:
ผลลัพธ์การเชื่อมต่อสถานะ (DeviceConnectionStateInfo const & result_)

ผลลัพธ์การเชื่อมต่อสถานะ (std::string const & errorString_)

สถานะการเชื่อมต่อผลลัพธ์ (NlcErrorCode const & errCode, std::string const & errorString_)

สถานะการเชื่อมต่อผลลัพธ์ (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)

ResultConnectionState (ผลลัพธ์ const และผลลัพธ์)

8.28.12 รายการผลลัพธ์Object
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนรายการอ็อบเจ็กต์ คลาสนี้สืบทอดฟังก์ชันสาธารณะ/แอตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

50

8 การอ้างอิงคลาส / ฟังก์ชั่น
getResult() ส่งคืนเวกเตอร์ ID อุปกรณ์ถ้าการเรียกใช้ฟังก์ชันประสบความสำเร็จ
nlc::ObjectEntry const& nlc::ResultObjectEntry::getResult () const
ส่งกลับค่า const ObjectEntry
ResultObjectEntry () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์รายการออบเจ็กต์ที่แน่นอน:
ผลลัพธ์ของ ObjectEntry (nlc::ObjectEntry const & result_)
ผลลัพธ์วัตถุEntry (std::string const และ errorString_)
ผลลัพธ์ของ ObjectEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ผลลัพธ์ของ ObjectEntry (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectEntry (ผลลัพธ์ const และผลลัพธ์)
8.28.13 ResultObjectSubEntry
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนรายการย่อยของอ็อบเจ็กต์ คลาสนี้สืบทอดฟังก์ชันสาธารณะ/แอตทริบิวต์ที่ได้รับการป้องกันจากคลาสผลลัพธ์ และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult() ส่งคืนเวกเตอร์ ID อุปกรณ์ถ้าการเรียกใช้ฟังก์ชันประสบความสำเร็จ
nlc::ObjectSubEntry const และ nlc::ResultObjectSubEntry::getResult () const
ส่งกลับค่า const ObjectSubEntry
ResultObjectSubEntry () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดผลลัพธ์รายการย่อยของวัตถุที่แน่นอน:
ResultObjectSubEntry (nlc::ObjectEntry const และ result_)
ResultObjectSubEntry (std::string const และ errorString_)
ResultObjectSubEntry (NlcErrorCode const & errCode, std::string const & errorString_)
ผลลัพธ์วัตถุย่อย (NlcErrorCode const & errCode, const uint32_t exErrCode, std::string const & errorString_)
ResultObjectSubEntry (ผลลัพธ์ const และผลลัพธ์)
8.28.14 ผลลัพธ์ProfinetDevices
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนอุปกรณ์ Profinet คลาสสืบทอดฟังก์ชันสาธารณะ / คุณลักษณะที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

51

8 การอ้างอิงคลาส / ฟังก์ชั่น

getResult () อ่านเวกเตอร์อุปกรณ์ Profinet หากการเรียกใช้ฟังก์ชันสำเร็จ
ค่าคงที่ std::เวกเตอร์ & รับผลลัพธ์ () const

ResultProfinetDevices () ฟังก์ชันต่อไปนี้ช่วยในการกำหนดอุปกรณ์ Profinet ที่แน่นอน
อุปกรณ์ผลลัพธ์ Profinet (const std::vector และโปรไฟเน็ตดีไวซ์)
ResultProfinetDevices (ผลลัพธ์คงที่ & ผลลัพธ์)
อุปกรณ์ผลลัพธ์ Profinet (const std::string &errorText, NlcErrorCode errorCode = NlcErrorCode::GeneralError, uint32_t extendedErrorCode = 0)
8.28.15 ผลการแข่งขันampleDataArray
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนเป็นampอาร์เรย์ข้อมูล คลาสสืบทอดฟังก์ชันสาธารณะ / คุณลักษณะที่ได้รับการป้องกันจากคลาสผลลัพธ์และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:
getResult () อ่านอาร์เรย์ข้อมูลหากการเรียกใช้ฟังก์ชันสำเร็จ
const std::vector <วินาทีampleData> & รับผลลัพธ์ () const

ผลลัพธ์ampleDataArray () ฟังก์ชั่นต่อไปนี้ช่วยในการกำหนดอุปกรณ์ Profinet ที่แน่นอน
ผลลัพธ์ampleDataArray (const std::vector <SampleData> และ dataArray)

ผลลัพธ์ampleDataArray (const std::string &errorDesc, const NlcErrorCode รหัสข้อผิดพลาด = NlcErrorCode::GeneralError, const uint32_t extendedErrorCode = 0)

ผลลัพธ์ampleDataArray (ผลลัพธ์คงที่ampleDataArray และอื่นๆ)

ผลลัพธ์ampleDataArray (ผลลัพธ์คงที่ & ผลลัพธ์)

8.28.16 ผลการแข่งขันamplerState
NanoLib จะส่งอินสแตนซ์ของคลาสนี้ให้คุณหากฟังก์ชันส่งคืนเป็นampรัฐเลอร์ คลาสนี้สืบทอดฟังก์ชันสาธารณะ / คุณลักษณะที่ได้รับการป้องกันจากคลาสผลลัพธ์ และมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:

getResult () อ่านค่า sampเวกเตอร์สถานะ ler หากการเรียกใช้ฟังก์ชันสำเร็จ
SamplerState รับผลลัพธ์ () const

ส่งกลับ SamplerState>

ไม่ได้กำหนดค่า / กำหนดค่า / พร้อม / ทำงาน / เสร็จสมบูรณ์ / ล้มเหลว / ยกเลิก

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

52

8 การอ้างอิงคลาส / ฟังก์ชั่น

ผลลัพธ์amplerState () ฟังก์ชันต่อไปนี้ช่วยในการกำหนด s ที่แน่นอนampรัฐเลอร์
ผลลัพธ์amplerState (ค่าคงที่ Sampรัฐ lerState)

ผลลัพธ์amplerState (const std::string & errorDesc, const NlcErrorCode รหัสข้อผิดพลาด = NlcErrorCode::GeneralError, const uint32_t
รหัสข้อผิดพลาดขยาย = 0)

ผลลัพธ์amplerState (ผลลัพธ์คงที่amplerState & อื่นๆ)

ผลลัพธ์amplerState (ผลลัพธ์คงที่ & ผลลัพธ์)

8.29 รหัสข้อผิดพลาด Nlc

หากมีข้อผิดพลาดเกิดขึ้น คลาสผลลัพธ์จะรายงานรหัสข้อผิดพลาดรายการใดรายการหนึ่งในการแจงนับนี้

รหัสข้อผิดพลาด Success General Error BusUavailable Communication Error Protocol Error
ODDoesNotExist ODInvalidAccess ODTypeMismatch OperationAborted OperationNotSupported InvalidOperation
การเข้าถึงอาร์กิวเมนต์ไม่ถูกต้องถูกปฏิเสธทรัพยากรไม่พบทรัพยากรไม่พร้อมใช้งาน OutOfMemory TimeOutError

C: หมวด D: คำอธิบาย R: เหตุผล C: ไม่มี ง: ไม่มีข้อผิดพลาด R: การดำเนินการเสร็จสมบูรณ์เรียบร้อยแล้ว
ซี: ไม่ระบุ D: ข้อผิดพลาดที่ไม่ได้ระบุ R: ความล้มเหลวที่ไม่เหมาะกับหมวดหมู่อื่น
ค: รถบัส. D: บัสฮาร์ดแวร์ไม่พร้อมใช้งาน R: ไม่มีบัส, ถูกตัดขาดหรือชำรุด
ค: การสื่อสาร D: การสื่อสารไม่น่าเชื่อถือ R: ข้อมูลที่ไม่คาดคิด, CRC ผิด, ข้อผิดพลาดของเฟรมหรือพาริตี ฯลฯ
ค: พิธีสาร D: ข้อผิดพลาดของโปรโตคอล R: การตอบสนองหลังจากตัวเลือกโปรโตคอลที่ไม่รองรับ รายงานอุปกรณ์ที่ไม่รองรับโปรโตคอล ข้อผิดพลาดในโปรโตคอล (เช่น บิตการซิงค์ส่วน SDO) ฯลฯ R: การตอบสนองหรือรายงานอุปกรณ์ไปยังโปรโตคอลที่ไม่รองรับ (ตัวเลือก) หรือข้อผิดพลาดในโปรโตคอล (เช่น SDO บิตการซิงค์ส่วน) เป็นต้น R: โปรโตคอลที่ไม่รองรับ (ตัวเลือก) หรือข้อผิดพลาดในโปรโตคอล (เช่น บิตการซิงค์ส่วน SDO) เป็นต้น
C: พจนานุกรมวัตถุ D: ที่อยู่ OD ไม่มีอยู่ R: ไม่มีที่อยู่ดังกล่าวในพจนานุกรมวัตถุ
C: พจนานุกรมวัตถุ D: การเข้าถึงที่อยู่ OD ไม่ถูกต้อง R: พยายามเขียนแบบอ่านอย่างเดียวหรืออ่านจากที่อยู่แบบเขียนอย่างเดียว
C: พจนานุกรมวัตถุ D: ประเภทไม่ตรงกัน R: ค่าที่ไม่ได้แปลงเป็นประเภทที่ระบุ เช่น ในความพยายามที่จะถือว่าสตริงเป็นตัวเลข
ค: การสมัคร D: กระบวนการถูกยกเลิก R: กระบวนการตัดตามคำขอของแอปพลิเคชัน ส่งคืนเฉพาะเมื่อการดำเนินการขัดจังหวะด้วยฟังก์ชันการโทรกลับ เช่น จากการสแกนบัส
ซี: ทั่วไป D: กระบวนการไม่รองรับ R: ไม่รองรับบัสฮาร์ดแวร์ / อุปกรณ์
ซี: ทั่วไป D: กระบวนการไม่ถูกต้องในบริบทปัจจุบัน หรือไม่ถูกต้องกับอาร์กิวเมนต์ปัจจุบัน R: ความพยายามในการเชื่อมต่อใหม่กับบัส / อุปกรณ์ที่เชื่อมต่ออยู่แล้ว ความพยายามในการยกเลิกการเชื่อมต่อเพื่อยกเลิกการเชื่อมต่อแล้ว ความพยายามดำเนินการ bootloader ในโหมดเฟิร์มแวร์หรือในทางกลับกัน
ซี: ทั่วไป D: อาร์กิวเมนต์ไม่ถูกต้อง R: ตรรกะหรือไวยากรณ์ผิด
ซี: ทั่วไป D: การเข้าถึงถูกปฏิเสธ R: ขาดสิทธิ์หรือความสามารถในการดำเนินการตามที่ร้องขอ
ซี: ทั่วไป D: ไม่พบรายการที่ระบุ R: บัสฮาร์ดแวร์ โปรโตคอล อุปกรณ์ ที่อยู่ OD บนอุปกรณ์ หรือ file ไม่พบ.
ซี: ทั่วไป D: ไม่พบรายการที่ระบุ R: ไม่ว่าง ไม่มีอยู่ ขาดหาย หรือชำรุด
ซี: ทั่วไป D: หน่วยความจำไม่เพียงพอ R: หน่วยความจำน้อยเกินไปที่จะประมวลผลคำสั่งนี้
ซี: ทั่วไป D: กระบวนการหมดเวลา R: กลับมาหลังจากหมดเวลา การหมดเวลาอาจเป็นเวลาตอบสนองของอุปกรณ์ เวลาในการเข้าถึงทรัพยากรที่ใช้ร่วมกันหรือเฉพาะตัว หรือเวลาในการเปลี่ยนบัส / อุปกรณ์ไปสู่สถานะที่เหมาะสม

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

53

8 การอ้างอิงคลาส / ฟังก์ชั่น

8.30 Nlc โทรกลับ
คลาสหลักสำหรับการโทรกลับนี้มีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้: callback ()
การโทรกลับ ResultVoid เสมือน ()

การคืนสินค้า

ผลลัพธ์เป็นโมฆะ

8.31 NlcDataTransferCallback
ใช้คลาสคอลแบ็กนี้สำหรับการถ่ายโอนข้อมูล (อัปเดตเฟิร์มแวร์ อัปโหลด NanoJ เป็นต้น) 1. สำหรับการอัปโหลดเฟิร์มแวร์: กำหนด "คลาสร่วม" ที่ขยายคลาสนี้ด้วยเมธอดคอลแบ็กแบบกำหนดเอง
การใช้งาน 2. ใช้อินสแตนซ์ของ “co-class” ในการเรียกใช้ NanoLibAccessor.uploadFirmware () คลาสหลักเองมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้:

การโทรกลับ () การโทรกลับ ResultVoid เสมือน (nlc::DataTransferInfo info, int32_t data)

การคืนสินค้า

ผลลัพธ์เป็นโมฆะ

8.32 น. NlcScanBusโทรกลับ
ใช้คลาสคอลแบ็กนี้สำหรับการสแกนบัส 1. กำหนด “co-class” ที่ขยายคลาสนี้ด้วยการใช้งานเมธอดคอลแบ็กแบบกำหนดเอง 2. ใช้อินสแตนซ์ของ “co-class” ในการเรียก NanoLibAccessor.scanDevices () คลาสหลักเองมีฟังก์ชันสมาชิกสาธารณะดังต่อไปนี้

โทรกลับ ()
การโทรกลับ ResultVoid เสมือน (nlc::BusScanInfo info, std::vector const & devicesFound, int32_t data)

ส่งกลับผลลัพธ์เป็นโมฆะ
8.33 NlcLoggingCallback
ใช้คลาสการโทรกลับนี้เพื่อบันทึกการโทรกลับ 1. กำหนดคลาสที่ขยายคลาสนี้ด้วยการใช้วิธีเรียกกลับแบบกำหนดเอง 2. ใช้ตัวชี้ไปยังอินสแตนซ์เพื่อตั้งค่าการเรียกกลับโดย NanoLibAccessor >
setLoggingCallback (...)
คอลแบ็กเสมือนแบบว่างเปล่า (const std::string & payload_str, const std::string & formatted_str, const std::string & logger_name, const unsigned int log_level, const std::uint64_t time_since_epoch, const size_t thread_id)

8.34 วินาทีamplerInterface
ใช้คลาสนี้เพื่อกำหนดค่า เริ่มต้น และหยุดการทำงานของ samplerหรือเพื่อรับsampนำข้อมูลและดึงข้อมูลเป็นampสถานะของเลอร์หรือข้อผิดพลาดครั้งล่าสุด ชั้นเรียนมีหน้าที่สมาชิกสาธารณะดังต่อไปนี้

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

54

8 การอ้างอิงคลาส / ฟังก์ชั่น

กำหนดค่า () กำหนดค่าเป็นampเลอร์
ResultVoid เสมือน nlc::SamplerInterface::configure (อุปกรณ์จับยึดอุปกรณ์จับยึด, const SamplerConfiguration และ samplerConfiguration)

พารามิเตอร์ [ใน] อุปกรณ์จัดการ [ใน] sampการกำหนดค่าเลอร์
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์ที่จะกำหนดค่า sampรอเพื่อ ระบุค่าของแอ็ตทริบิวต์คอนฟิกูเรชัน ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

getData () รับ sampข้อมูลนำ
ผลลัพธ์เสมือนจริงampอาร์เรย์ข้อมูล nlc::SamplerInterface::getData (อุปกรณ์จับยึดอุปกรณ์จับยึด)

พารามิเตอร์ [ใน] deviceHandle ส่งคืนผลลัพธ์ SampleDataArray

ระบุอุปกรณ์ที่จะรับข้อมูล
มอบสampนำข้อมูลซึ่งสามารถเป็นอาร์เรย์ว่างได้ถ้าamplerNotify ทำงานเมื่อเริ่มต้น

getLastError () ได้รับเป็นampข้อผิดพลาดครั้งสุดท้ายของเลอร์
ResultVoid เสมือน nlc::SamplerInterface::getLastError (ตัวจัดการอุปกรณ์ตัวจัดการอุปกรณ์)

ส่งกลับผลลัพธ์เป็นโมฆะ

ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

getState () ได้รับเป็นampสถานะของเลอร์
ผลลัพธ์เสมือนจริงamplerState nlc::SamplerInterface::getState (อุปกรณ์จับยึดอุปกรณ์จับยึด)

ส่งกลับผลลัพธ์SamplerState

มอบสampรัฐเลอร์

start () เริ่มเป็นampเลอร์
ResultVoid เสมือน nlc::SamplerInterface::start (อุปกรณ์จับยึดอุปกรณ์จับยึด SamplerNotify* samplerNotify, ข้อมูลแอปพลิเคชัน int64_t)

พารามิเตอร์ [ใน] อุปกรณ์จับ [ใน] SamplerNotify [ใน] applicationData
ส่งกลับผลลัพธ์เป็นโมฆะ

ระบุอุปกรณ์ที่จะเริ่มต้น sampรอเพื่อ
ระบุข้อมูลทางเลือกที่จะรายงาน (อาจเป็น nullptr)
ตัวเลือก: ส่งต่อข้อมูลที่เกี่ยวข้องกับแอปพลิเคชัน (อาร์เรย์ 8 บิตที่ผู้ใช้กำหนดของค่า / ID อุปกรณ์ / ดัชนี หรือวันที่และเวลา ตัวชี้ของตัวแปร / ฟังก์ชัน ฯลฯ) ไปยัง samplerNotify.
ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

55

8 การอ้างอิงคลาส / ฟังก์ชั่น

หยุด () หยุดเป็นampเลอร์
ResultVoid เสมือน nlc::SamplerInterface::stop (อุปกรณ์จับยึดอุปกรณ์จับยึด)

พารามิเตอร์ [ใน] deviceHandle ส่งคืน ResultVoid

ระบุอุปกรณ์ที่จะหยุด sampรอเพื่อ ยืนยันว่าฟังก์ชัน void ทำงานแล้ว

8.35 วินาทีampโครงสร้าง lerConfiguration

โครงสร้างนี้มีข้อมูลampตัวเลือกการกำหนดค่าของ ler (คงที่หรือไม่)

คุณลักษณะสาธารณะ

มาตรฐาน::เวกเตอร์ ติดตามที่อยู่

มากถึง 12 ที่อยู่ OD ที่จะampนำ

ยูอินต์32_ต

เวอร์ชัน

เวอร์ชันของโครงสร้าง

ยูอินต์32_ต

ระยะเวลามิลลิวินาที

Sampระยะเวลา ling ในหน่วย ms ตั้งแต่ 1 ถึง 65535

ยูอินต์16_ต

ระยะเวลามิลลิวินาที

Sampระยะเวลาหลิงในหน่วยมิลลิวินาที

ยูอินต์16_ต

หมายเลขของSampเลส

Sampและจำนวนเงิน

ยูอินต์16_ต

preTriggerNumberOfSampเลส

Sampและจำนวนเงินที่กระตุ้นล่วงหน้า

บูล

การใช้การติดตั้งซอฟต์แวร์

ใช้การใช้งานซอฟต์แวร์

บูล

โดยใช้NewFWSamplerImplementation ใช้การใช้งาน FW สำหรับอุปกรณ์ที่มี

FW เวอร์ชัน v24xx หรือใหม่กว่า

SamplerMode

โหมด

ปกติ ซ้ำ หรือต่อเนื่องampหลิง.

SamplerTriggerCondition triggerCondition

เงื่อนไขการทริกเกอร์เริ่มต้น: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C, OdIndex, triggerValue

SamplerTrigger

SamplerTrigger

ทริกเกอร์ที่จะเริ่มต้นเป็นampเลอร์?

คุณลักษณะสาธารณะแบบคงที่
constexpr แบบคงที่ size_t SAMPLER_CONFIGURATION_VERSION = 0x01000000 ขนาดคอนเท็กซ์คงที่_t MAX_TRACKED_ADDRESSES = 12
8.36 วินาทีamplerNotify
ใช้คลาสนี้เพื่อเปิดใช้งาน sampการแจ้งเตือนเมื่อคุณเริ่มต้นเป็นampเลอร์ ชั้นเรียนมีหน้าที่สมาชิกสาธารณะดังต่อไปนี้

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

56

8 การอ้างอิงคลาส / ฟังก์ชั่น

แจ้งเตือน ()
ส่งมอบรายการแจ้งเตือน
ช่องว่างเสมือน nlc::SamplerNotify::notify (const ResultVoid & lastError, const Sampเลอร์สเตตamplerState, const std::vector <SampleData> และ sampleDatas, ข้อมูลแอปพลิเคชัน int64_t)

พารามิเตอร์ [ใน] ข้อผิดพลาดล่าสุด [ใน] samplerState
[ใน] วิampleDatas [ใน] applicationData

รายงานข้อผิดพลาดครั้งล่าสุดที่เกิดขึ้นในขณะที่ sampหลิง รายงานสampสถานะ ler ณ เวลาแจ้งเตือน: ไม่ได้กำหนดค่า / กำหนดค่า / พร้อม / ทำงาน / เสร็จสมบูรณ์ / ล้มเหลว / ยกเลิก รายงานสampอาร์เรย์ข้อมูล LED รายงานข้อมูลเฉพาะแอปพลิเคชัน

8.37 วินาทีampโครงสร้าง leData

โครงสร้างนี้มี sampข้อมูลนำ

uin64_t หมายเลขซ้ำ

เริ่มต้นที่ 0 และเพิ่มขึ้นในโหมดซ้ำเท่านั้น

มาตรฐาน::เวกเตอร์<SampledValues> ประกอบด้วยอาร์เรย์ของ sampค่านำ

8.38 วินาทีampโครงสร้างค่า led

โครงสร้างนี้มี sampค่านำ

ค่า in64_t uin64_t CollectTimeMsec

ประกอบด้วยค่าของที่อยู่ OD ที่ถูกติดตาม
ประกอบด้วยเวลาในการรวบรวมเป็นมิลลิวินาที ซึ่งสัมพันธ์กับ sampการเริ่มต้น

8.39 วินาทีampโครงสร้าง lerTrigger

โครงสร้างนี้มีการตั้งค่าทริกเกอร์ของ sampเลอร์

Sampเงื่อนไข lerTriggerCondition
ค่า OdIndex uin32_t

เงื่อนไขทริกเกอร์: TC_FALSE = 0x00 TC_TRUE = 0x01 TC_SET = 0x10 TC_CLEAR = 0x11 TC_RISING_EDGE = 0x12 TC_FALLING_EDGE = 0x13 TC_BIT_TOGGLE = 0x14 TC_GREATER = 0x15 TC_GREATER_OR_EQUAL = 0x16 TC_LESS = 0x17 TC_LESS_OR_EQUAL = 0x18 TC_EQUAL = 0x19 TC_NOT_EQUAL = 0x1A TC_ONE_EDGE = 0x1B TC_MULTI_EDGE = 0x1C
OdIndex ของทริกเกอร์ (ที่อยู่)
ค่าเงื่อนไขหรือหมายเลขบิต (เริ่มจากบิตศูนย์)

8.40 โครงสร้างแบบอนุกรม

ค้นหาตัวเลือกการสื่อสารแบบอนุกรมของคุณและคุณลักษณะสาธารณะต่อไปนี้:

const std::string const อัตราบอดแบบอนุกรม

BAUD_RATE_OPTIONS_NAME = “อัตราบอดแบบอนุกรม” baudRate = โครงสร้างอัตราบอดแบบอนุกรม

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

57

8 การอ้างอิงคลาส / ฟังก์ชั่น

const std::string const อนุกรมพาริตี้

PARITY_OPTIONS_NAME = “พาริตี้แบบอนุกรม” พาริตี้ = โครงสร้าง SerialParity

8.41 โครงสร้าง SerialBaudRate

ค้นหาอัตรารับส่งข้อมูลการสื่อสารแบบอนุกรมของคุณที่นี่และคุณลักษณะสาธารณะต่อไปนี้:

สตริง 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_RATE_57600 = “ 57600” BAUD_RATE_115200 = “115200” BAUD_RATE_128000 = “128000” BAUD_RATE_256000 = “256000”

8.42 โครงสร้าง SerialParity

ค้นหาตัวเลือกพาริตีอนุกรมของคุณและคุณลักษณะสาธารณะต่อไปนี้:

const std::สตริง const std::สตริง const std::สตริง const std::สตริง

NONE = “ไม่มี” ODD = “คี่” EVEN = “คู่” MARK = “ทำเครื่องหมาย” SPACE = “ช่องว่าง”

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

58

ใบอนุญาต 9

ใบอนุญาต 9

ส่วนหัวอินเทอร์เฟซ API ของ NanoLib และ exampซอร์สโค้ดได้รับอนุญาตจาก Nanotec Electronic GmbH & Co. KG ภายใต้ Creative Commons Attribution 3.0 Unported License (CC BY) ส่วนของไลบรารีที่มีให้ในรูปแบบไบนารี (ไลบรารีการสื่อสาร core และ fieldbus) ได้รับอนุญาตภายใต้ Creative Commons AttributionNoDerivatives 4.0 International License (CC BY ND)

ครีเอทีฟคอมมอนส์
ข้อมูลสรุปที่มนุษย์อ่านได้ต่อไปนี้จะไม่ทดแทนใบอนุญาต คุณสามารถค้นหาใบอนุญาตที่เกี่ยวข้องได้ที่ creativecommons.org และลิงก์ด้านล่าง คุณมีอิสระที่จะ:

ซีซี บาย 3.0
แชร์: ดูทางขวา. ดัดแปลง: รีมิกซ์ แปลงร่าง และสร้างต่อยอด
วัสดุเพื่อวัตถุประสงค์ใด ๆ แม้แต่ในเชิงพาณิชย์

CC BY-ND 4.0
แบ่งปัน: คัดลอกและแจกจ่ายเนื้อหาในรูปแบบสื่อหรือรูปแบบใดก็ได้

ผู้อนุญาตไม่สามารถเพิกถอนเสรีภาพข้างต้นได้ตราบใดที่คุณปฏิบัติตามข้อกำหนดสิทธิ์การใช้งานต่อไปนี้:

ซีซี บาย 3.0

CC BY-ND 4.0

การแสดงที่มา: คุณต้องให้เครดิตที่เหมาะสม การแสดงที่มา: ดูด้านซ้าย แต่: ระบุลิงก์ไปยังสิ่งนี้

ระบุลิงก์ไปยังใบอนุญาตและระบุว่า

ใบอนุญาตอื่น ๆ

มีการเปลี่ยนแปลง ท่านสามารถกระทำการดังกล่าวได้ในประการใด

ไม่มีอนุพันธ์: หากคุณรีมิกซ์ แปลงร่าง หรือสร้าง

อย่างสมเหตุสมผล แต่ไม่ใช่ในลักษณะที่เป็นการชี้นำ

คุณไม่สามารถแจกจ่ายเนื้อหาได้

แสดงว่าผู้อนุญาตรับรองคุณหรือการใช้งานของคุณ

วัสดุดัดแปลง

ไม่มีข้อจำกัดเพิ่มเติม: คุณไม่สามารถนำไปใช้ได้ ไม่มีข้อจำกัดเพิ่มเติม: ดูด้านซ้าย เงื่อนไขทางกฎหมายหรือมาตรการทางเทคโนโลยีที่ถูกต้องตามกฎหมาย

จำกัดผู้อื่นไม่ให้ทำอะไรตามใบอนุญาต

ใบอนุญาต

หมายเหตุ: คุณไม่จำเป็นต้องปฏิบัติตามใบอนุญาตสำหรับองค์ประกอบของเนื้อหาที่เป็นสาธารณสมบัติ หรือในกรณีที่การใช้งานของคุณได้รับอนุญาตตามข้อยกเว้นหรือข้อจำกัดที่เกี่ยวข้อง
หมายเหตุ: ไม่มีการรับประกันใดๆ ใบอนุญาตอาจไม่ให้สิทธิ์ทั้งหมดที่จำเป็นสำหรับการใช้งานตามที่คุณตั้งใจ สำหรับเช่นampสิทธิ์อื่นๆ เช่น การเผยแพร่ ความเป็นส่วนตัว หรือสิทธิ์ทางศีลธรรม อาจจำกัดวิธีที่คุณใช้เนื้อหา

เวอร์ชัน: doc 1.4.2 / NanoLib 1.3.0

59

ข้อมูลติดต่อ เวอร์ชัน

©2024 Nanotec Electronic GmbH & Co.KGKapellenstr.685622 Feldkirchenเยอรมนีโทร. +49(0) 89 900 686-0แฟกซ์ +49(0)89 900 686-50 info@nanotec.dewww.nanotec.com สงวนลิขสิทธิ์ © 2016 ข้อผิดพลาด การละเว้น การเปลี่ยนแปลงทางเทคนิคหรือเนื้อหาอาจเกิดขึ้นได้โดยไม่ต้องแจ้งให้ทราบล่วงหน้า แบรนด์/ผลิตภัณฑ์ที่อ้างถึงเป็นเครื่องหมายการค้าของเจ้าของและต้องปฏิบัติตามนั้น เวอร์ชันต้นฉบับ

เอกสาร 1.4.2 2024.12 1.4.1 2024.10 1.4.0 2024.09 1.3.3 2024.07
1.3.2 2024.05 1.3.1 2024.04 1.3.0 2024.02
1.2.2 2022.09 1.2.1 2022.08 1.2.0 2022.08

+ เพิ่ม > เปลี่ยนแปลง # แก้ไข > การทำงานซ้ำของ ex ที่ให้มาampเลส.
+ 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: แก้ไขปัญหาเกี่ยวกับเวลาที่มีอัตราการรับส่งข้อมูลต่ำระหว่างการอัพเดตเฟิร์มแวร์ # RESTful: แก้ไขการอัปโหลดโปรแกรม NanoJ
# โมดูล NanoLib Sampler: การอ่าน s ถูกต้องampนำค่าบูลีน
+ รองรับ Java 11 สำหรับทุกแพลตฟอร์ม + รองรับ Python 3.11/3.12 สำหรับทุกแพลตฟอร์ม + อินเทอร์เฟซการโทรกลับการบันทึกใหม่ (ดูตัวอย่างampเล) + โทรกลับจมสำหรับ NanoLib Logger > อัปเดตตัวบันทึกเป็นเวอร์ชัน 1.12.0 > โมดูล NanoLib Sampler: รองรับเฟิร์มแวร์ตัวควบคุม Nanotec v24xx แล้ว > โมดูล NanoLib Sampler: การเปลี่ยนแปลงโครงสร้างที่ใช้สำหรับ sampการกำหนดค่าเลอร์ > โมดูล NanoLib Sampler: โหมดต่อเนื่องมีความหมายเหมือนกันกับความไม่มีที่สิ้นสุด มีการตรวจสอบเงื่อนไขทริกเกอร์หนึ่งครั้ง จำนวนสampต้องเป็น 0 > โมดูล NanoLib Sampler: ลำดับความสำคัญปกติสำหรับเธรดที่รวบรวมข้อมูลในโหมดเฟิร์มแวร์ > โมดูล NanoLib Sampler: อัลกอริธึมที่เขียนใหม่เพื่อตรวจจับการเปลี่ยนแปลงระหว่างสถานะ Ready & Running # NanoLib Core: ไม่มีการละเมิดการเข้าถึงอีกต่อไป (0xC0000005) เมื่อปิดอุปกรณ์ 2 เครื่องขึ้นไปโดยใช้ฮาร์ดแวร์บัสเดียวกัน # NanoLib Core: ไม่มีข้อผิดพลาดในการแบ่งส่วนอีกต่อไปในการแนบอะแดปเตอร์ PEAK ภายใต้ Linux # โมดูล NanoLib Sampler: ถูกต้องแล้วampการอ่านค่า led ในโหมดเฟิร์มแวร์ # โมดูล NanoLib Sampler: การกำหนดค่าที่ถูกต้องของ 502X:04 # โมดูล NanoLib Sampler: การผสมบัฟเฟอร์กับแชนเนลที่ถูกต้อง # NanoLib-Canopen: เพิ่มการหมดเวลา CAN เพื่อความทนทานและการสแกนที่ถูกต้องที่ baudrates ที่ต่ำกว่า # NanoLib-Modbus: อัลกอริธึมการตรวจจับ VCP สำหรับอุปกรณ์พิเศษ (USB-DA-IO)
+ รองรับ EtherCAT
+ หมายเหตุเกี่ยวกับการตั้งค่าโครงการ VS ในการกำหนดค่าโครงการของคุณ
+ getDeviceHardwareGroup().+ getProfinetDCP(isServiceAvailable).+ getProfinetDCP(validateProfinetDeviceIp).+ autoAssignObjectDictionary().+ getXmlFileชื่อ (). + const std::string & xmlFileเส้นทางใน addObjectDictionary (). + getSamplerInterface() อินเทอร์เฟซผู้ใช้

สินค้า 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 ตอนนี้อัพโหลดเฟิร์มแวร์จากFile (). > อัพโหลดเฟิร์มแวร์ () ตอนนี้อัพโหลดเฟิร์มแวร์ (). > อัพโหลดตัวบูตจากFile () ตอนนี้อัปโหลดBootloaderจากFile (). > bootloaderUpload() ตอนนี้ uploadBootloader(). > bootloaderFirmwareUploadFromFile () เพื่ออัพโหลดBootloaderFirmwareจากFile (). > bootloaderFirmwareUpload() ตอนนี้ uploadBootloaderFirmware(). > nanojUploadFromFile () ตอนนี้อัปโหลดNanoJFromFile (). > nanojUpload() now uploadNanoJ(). > objectDictionaryLibrary() now getObjectDictionaryLibrary(). > String_String_Map now StringStringMap. > NanoLib-Common: การดำเนินการ listAvailableBusHardware และ openBusHardwareWithProtocol เร็วขึ้นด้วยอะแดปเตอร์ Ixxat > NanoLib-CANopen: การตั้งค่าเริ่มต้นที่ใช้ (บอดเรต 1000k, หมายเลขบัส Ixxat 0) ถ้าตัวเลือกฮาร์ดแวร์บัสว่างเปล่า > NanoLib-RESTful: สิทธิ์ผู้ดูแลระบบล้าสมัยสำหรับการสื่อสารกับบูตโหลดเดอร์อีเทอร์เน็ตใน Windows ถ้ามีไดรเวอร์ npcap / winpcap # NanoLib-CANopen: ตอนนี้ฮาร์ดแวร์บัสเปิดได้โดยไม่มีข้อผิดพลาดพร้อมตัวเลือกว่างเปล่า # NanoLib-Common: openBusHardwareWithProtocol() โดยไม่มีการรั่วไหลของหน่วยความจำอีกต่อไป
+ รองรับ Linux ARM64 + รองรับ USB mass storage / REST / Profinet DCP + checkConnectionState (). + getDeviceBootloaderVersion (). + ResultProfinetDevices. + NlcErrorCode (แทนที่ NanotecExceptions) + NanoLib Modbus: ฮับ VCP/USB รวมเป็น USB > การสแกน Modbus TCP ส่งคืนผลลัพธ์ < ความหน่วงในการสื่อสาร Modbus TCP ยังคงเท่าเดิม
+ เพิ่มเติม ObjectEntryDataType (ซับซ้อนและมืออาชีพfile-เฉพาะ) + IOError ส่งคืนหาก connectDevice () และ scanDevices () ไม่พบสิ่งใดเลย + มีเวลาหมดเวลาที่กำหนดเพียง 100 มิลลิวินาทีสำหรับ 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

เอกสาร / แหล่งข้อมูล

การเขียนโปรแกรมนาโนติค NanoLib C++ [พีดีเอฟ] คู่มือการใช้งาน
NanoLib การเขียนโปรแกรม C, การเขียนโปรแกรม C, การเขียนโปรแกรม

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *