ממשק Modbus
מערכת ההפעלה Limelight כוללת שרת Modbus TCP הפועל בכתובת (ipaddress):502
- 
מספרים שלמים: המספרים השלמים הם בעלי סימן (SIGNED) ומקודדים באמצעות משלים לשתיים. שיטה זו מוכרת באופן אוניברסלי ומבטיחה פירוש נכון של הסימן. 
- 
מספרים בנקודה צפה: מספרים בנקודה צפה מקודדים באמצעות תקן IEEE 754. כדי לעמוד במגבלת האוגר של 16 סיביות בפרוטוקול Modbus, מספרים בנקודה צפה מחולקים לשני חלקים: - 16 הסיביות העליונות מאוחסנות באוגר השני, ו-16 הסיביות התחתונות באוגר הראשון.
- פורמט little-endian מבטיח תאימות עם מפרט Modbus.
 
ניתן לבדוק את התקני Limelight המחוברים ב-USB ואתרנט באמצעות ModbusTool
Modbus מאפשר תמיכה במקרי שימוש של בדיקת חלקים ואוטומציה תעשייתית. כדי להתחיל עם Modbus, עליך לבצע את הפעולות הבאות:
- 
התחבר ל-Limelight שלך דרך אתרנט או USB-C והגדר צינור עיבוד (pipeline). - בעוד שכל צינורות העיבוד יפלטו תוצאות דרך modbus, צינורות העיבוד של python snapscript שלנו הם ורסטיליים במיוחד למקרי שימוש תעשייתיים מכיוון שהם תומכים בנתוני קלט/פלט מותאמים אישית.
 
- 
תן ל-Limelight שלך כתובת IP סטטית 
- 
חבר את ה-Limelight שלך לרשת modbus. 
מפרט אוגרי Modbus
אוגרי קלט / לקריאה בלבד
| אוגר | מפתח | סוג | תיאור | 
|---|---|---|---|
| 0 | hb | int | ערך דופק לב. עולה פעם אחת בכל פריים | 
| 1 | pipelineIndex | int | אינדקס צינור העיבוד הפעיל הנוכחי (0 .. 9). | 
| 2 | validTarget | int | 1 אם קיימת מטרה תקפה, 0 אחרת. | 
| 3 | resultsCount | int | ספירת תוצאות כוללת. כולל את כל זיהויי הסמנים, זיהויי רשת עצבית וכו' | 
| 4 | ID | int | מזהה / מספר קבוצה | 
| 5 | modbusMode | int | מצב פלט שרת Modbus. | 
| 6 | cpuTemp | int | טמפרטורת המעבד במעלות צלזיוס. | 
| 7 | cpuUsage | int | אחוז ניצול המעבד. | 
| 8 | ramUsage | int | אחוז ניצול הזיכרון. | 
| 9 | currentFPS | int | מספר פריימים לשנייה נוכחי. | 
| 10 | captureLatency | int | השהיית לכידה. (מילישניות) | 
| 11 | targetLatency | int | השהיית עיבוד. (מילישניות) | 
| 12-15 | שמור | int | 
אם מצב הפלט מוגדר ל-0:
| אוגר | מפתח | סוג | תיאור | 
|---|---|---|---|
| 16,17 | tx | float32 | היסט זוויתי אופקי למטרה במעלות | 
| 18,19 | ty | float32 | היסט זוויתי אנכי למטרה במעלות | 
| 20,21 | txnc | float32 | היסט זוויתי אופקי למטרה (ביחס לפיקסל הראשי) במעלות | 
| 22,23 | tync | float32 | היסט זוויתי אנכי למטרה (ביחס לפיקסל הראשי) במעלות | 
| 24,25 | ta | float32 (0-1) | שטח המטרה כאחוז מגודל התמונה | 
| 26 | fiducialID | int | מזהה AprilTag נוכחי | 
| 27 | classifierClass | int | אינדקס המחלקה של פלט צינור המסווג הנוכחי. -1 אם אין תוצאות מסווג | 
| 28 | detectorClass | int | אינדקס המחלקה של פלט צינור הגלאי הנוכחי. -1 אם אין תוצאות גלאי | 
| 29 | שמור | int | |
| 30,31 | python[0] | float32 | מערך פלט python מותאם אישית [0] | 
| 32,33 | python[1] | float32 | מערך פלט python מותאם אישית [1] | 
| 34,35 | python[2] | float32 | מערך פלט python מותאם אישית [2] | 
| 36,37 | python[3] | float32 | מערך פלט python מותאם אישית [3] | 
| 38,39 | python[4] | float32 | מערך פלט python מותאם אישית [4] | 
| 40,41 | python[5] | float32 | מערך פלט python מותאם אישית [5] | 
| 42,43 | python[6] | float32 | מערך פלט python מותאם אישית [6] | 
| 44,45 | python[7] | float32 | מערך פלט python מותאם אישית [7] | 
אוגרי החזקה / לכתיבה בלבד
| אוגר | מפתח | סוג | תיאור | 
|---|---|---|---|
| 0 | unlocked | int | משחרר את צינור העיבוד. הגדר ל-1 כדי לאפשר החלפת צינור עיבוד ונתוני קלט מותאמים אישית | 
| 1 | pipeIndex | int | קובע את אינדקס צינור העיבוד אם "unlocked" מוגדר ל-1 | 
| 2 | outputMode | int | קובע את מצב הפלט. 0 - סטנדרטי, 1 - מטרות גולמיות (בפיתוח) | 
| 3 | שמור | int | |
| 4 | שמור | int | |
| 5 | שמור | int | |
| 6 | שמור | int | |
| 7 | שמור | int | |
| 8 | pythonInput[0] | int | מערך קלט python מותאם אישית [0] | 
| 9 | pythonInput[1] | int | מערך קלט python מותאם אישית [1] | 
| 10 | pythonInput[2] | int | מערך קלט python מותאם אישית [2] | 
| 11 | pythonInput[3] | int | מערך קלט python מותאם אישית [3] | 
| 12 | pythonInput[4] | int | מערך קלט python מותאם אישית [4] | 
| 13 | pythonInput[5] | int | מערך קלט python מותאם אישית [5] | 
| 14 | pythonInput[6] | int | מערך קלט python מותאם אישית [6] | 
| 15 | pythonInput[7] | int | מערך קלט python מותאם אישית [7] | 
| 16,17 | pythonInput[8] | float32 | מערך קלט python מותאם אישית [8] | 
| 18,19 | pythonInput[9] | float32 | מערך קלט python מותאם אישית [9] | 
| 20,21 | pythonInput[10] | float32 | מערך קלט python מותאם אישית [10] | 
| 22,23 | pythonInput[11] | float32 | מערך קלט python מותאם אישית [11] | 
| 24,25 | pythonInput[12] | float32 | מערך קלט python מותאם אישית [12] | 
| 26,27 | pythonInput[13] | float32 | מערך קלט python מותאם אישית [13] | 
| 28,29 | pythonInput[14] | float32 | מערך קלט python מותאם אישית [14] | 
| 30,31 | pythonInput[15] | float32 | מערך קלט python מותאם אישית [15] |