www.pyramid.tech
FX4
מדריך מתכנת FX4
מזהה מסמך: 2711715845
גרסה: v3
מתכנת FX4
מזהה מסמך: 2711715845
מדריך למתכנת FX4 – FX4
מזהה מסמך: 2711650310
מְחַבֵּר | מתיו ניקולס |
בַּעַל | מוביל פרויקט |
מַטָרָה | הסבר את מושגי התכנות הדרושים לשימוש ב-API ולהרחיב את המוצר באמצעות יישומים חיצוניים. |
תְחוּם | מושגי תכנות הקשורים ל-FX4. |
קהל מיועד | מפתחי תוכנה המעוניינים להשתמש במוצר. |
תַהֲלִיך | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=תהליך יצירה%20ידני%20סטנדרטי |
הַדְרָכָה | לא ישים |
בקרת גרסה
גִרְסָה | תֵאוּר | נשמר על ידי | נשמר ב | סטָטוּס |
v3 | הוסיפו מעבר פשוטview ועוד אקסamples. | מתיו ניקולס | 6 במרץ 2025 10:29 | מְאוּשָׁר |
v2 | נוספו ממשקי IO דיגיטליים והפניות חזרה ל-IGX. | מתיו ניקולס | 3 במאי 2024 7:39 | מְאוּשָׁר |
v1 | שחרור ראשוני, עדיין בעבודה. | מתיו ניקולס | 21 בפברואר 2024 11:25 | מְאוּשָׁר |
בקרת מסמכים לא Reviewed
גרסת המסמך הנוכחית: v.1
לא מחדשviewהוקצו.
1.1 חתימות
עבור גרסת המסמך העדכנית ביותר
יום שישי, 7 במרץ, 2025, 10:33 UTC
מתיו ניקולס חתם; משמעות: Review
הפניות
מִסְמָך | מזהה מסמך | מְחַבֵּר | גִרְסָה |
IGX - מדריך למתכנת | 2439249921 | מתיו ניקולס | 1 |
תכנות FX4 נגמרview
מעבד ה-FX4 פועל על סביבה בשם IGX, הבנויה על מערכת ההפעלה QNX בזמן אמת בעלת אמינות גבוהה של בלקברי (QNX WebאֲתַרIGX מספקת ממשק תכנות יישומים (API) גמיש ומקיף עבור משתמשים המעוניינים לכתוב תוכנת מחשב מארח משלהם.
סביבת IGX משותפת בין מוצרי פירמידה אחרים, מה שמאפשר להעביר בקלות פתרונות תוכנה שפותחו עבור מוצר אחד לאחר.
מתכנתים יכולים לעיין בתיעוד המלא עבור IGX הזמין בפירמידה webאתר בכתובת: IGX | מסגרת מערכת בקרה מודולרית מודרנית עבור Webיישומים מופעלים²
סעיף זה מספק מבוא לבדיקת שתיים משיטות ה-API: HTTP באמצעות פורמט JSON ו-EPICS. לשם פשטות, Python (פִּיתוֹן Webאֲתַר³) משמש כדוגמהampשפת המחשב המארחת, הנגישה וקלה לשימוש עבור מתכנתים לא מקצועיים.
3.1 שימוש ב-Python ו-HTTP
בתור אקסיתample, נניח שאתה רוצה לקרוא את סכום הזרמים הנמדדים עם Python. אתה צריך את URL עבור ה-IO המסוים הזה. ה-FX4 web GUI מספק דרך קלה למצוא זאת: פשוט לחץ לחיצה ימנית בשדה ובחר 'העתק HTTP URLכדי להעתיק את המחרוזת ללוח.
כעת אתה יכול להשתמש ב-Python כדי לבדוק קישוריות לתוכנת משתמש באמצעות HTTP ו-JSON. ייתכן שיהיה עליך לייבא את הבקשות ואת ספריות ה-json כדי לטפל בבקשות ה-HTTP ובניתוח הנתונים.
1 פשוט Python HTTP Example
3.2 שימוש ב-EPICS
תהליך חיבור ה-FX4 דרך EPICS (פיסיקה ניסויית ומערכת בקרה תעשייתית) דומה. EPICS היא קבוצה של כלי תוכנה ויישומים המשמשים לפיתוח ויישום מערכות בקרה מבוזרות, בשימוש נרחב במתקנים מדעיים.
- קבל את שם משתנה התהליך (PV) של EPICS עבור ה-IO הרצוי.
- ייבא את ספריית EPICS וקרא את הערך.
2 קבל את שם PV EPICS
3 EPICS פשוטים של Python Example
בנוסף, Pyramid יצרה כלי עזר (אפיקס קונקט⁴) המאפשר לך לנטר משתני תהליך של EPICS בזמן אמת. כלי זה מועיל לאישור האם שם ה-PV של EPICS נכון וה-FX4 משרת את ה-PV בצורה נכונה ברשת שלך.
4 PTC EPICS Connect
ממשק API לתכנות FX4
המושגים והשיטות המתוארים במדריך זה מבוססים על המושגים שנקבעו במדריך IGX – מתכנת. אנא עיין במסמך זה להסבר ודוגמהampמידע על אופן הפעולה של תכנות וממשקי IGX בסיסיים. מדריך זה יכסה רק את ה-IO והפונקציונליות הספציפיים למכשיר הייחודיים ל-FX4.
4.1 קלט אנלוגי IO
IO אלה מתייחסים לקביעת תצורה ואיסוף נתונים על כניסות הזרם האנלוגיות של ה-FX4. היחידות של כניסות הערוץ מבוססות על ההגדרה הניתנת להגדרה של המשתמש בשם "Sample Units", אפשרויות תקפות כוללות pA, nA, uA, mA ו-A.
כל 4 הערוצים משתמשים באותו ממשק IO ונשלטים באופן עצמאי. החלף את channel_x ב-channel_1 , channel_2 , channel_3 או channel_4 בהתאמה.
נתיב IO | תֵאוּר |
/fx4/adc/channel_x | מספר לקריאה בלבד קלט זרם נמדד. |
/fx4/adc/channel_x/scalar | NUMBER סקלר פשוט ללא יחידות המוחל על הערוץ, 1 כברירת מחדל. |
/fx4/adc/channel_x/zero_offset | NUMBER קיזוז זרם ב-nA עבור הערוץ. |
ה-IO הבא אינם עצמאיים בערוץ והם מוחלים על כל הערוצים בו זמנית.
נתיב IO | תֵאוּר |
/fx4/channel_sum | מספר לקריאה בלבד סכום ערוצי הקלט הנוכחיים. |
/fx4/adc_unit | STRING מגדיר את יחידות המשתמש הנוכחיות עבור כל ערוץ וסכום. אפשרויות: "pa", "na", "ua", "ma", "a" |
/fx4/range | STRING מגדיר את טווח הקלט הנוכחי. עיין בממשק המשתמש הגרפי לקבלת מידע על האופן שבו כל קוד טווח תואם למגבלות הזרם המרביות של הקלט ול-BW. אפשרויות: "0", "1", "2", "3", "4", "5", "6", "7" |
/fx4/adc/sample_frequency | NUMBER התדר בהרץ שampממוצע הנתונים יהיה ל. זה שולט בקצב האות לרעש וקצב הנתונים עבור כל הערוצים. |
/fx4/adc/conversion_frequency | NUMBER התדר בהרץ שבו ה-ADC ימיר ערכים אנלוגיים לדיגיטליים. כברירת מחדל, זהו 100kHz, ותצטרך לשנות ערך זה רק לעתים רחוקות. |
/fx4/adc/offset_correction | מספר לקריאה בלבד סכום כל ההיסטים הנוכחיים של הערוץ. |
4.2 יציאה אנלוגית IO
IO אלה מתייחסים לתצורה של היציאות האנלוגיות לשימוש כללי של ה-FX4 שנמצאות מתחת לכניסות האנלוגיות בפאנל הקדמי. כל 4 הערוצים משתמשים באותו ממשק IO ונשלטים באופן עצמאי. החלף את channel_x ב-channel_1 , channel_2 , channel_3 או channel_4 בהתאמה.
נתיב IO | תֵאוּר |
/fx4/dac /channel_x | פקודה מספר כרךtagפלט e. ניתן לכתוב ערך זה רק כאשר מצב הפלט מוגדר ידני. |
/fx4/dac/channel_x/readback | מספר לקריאה בלבד נפח נמדדtagפלט e. זה מועיל ביותר בעת שימוש במצב פלט ביטוי. |
/fx4/dac/channel_x/output_mode | STRING מגדיר את מצב הפלט עבור הערוץ. אפשרויות: "ידני", "ביטוי", "בקרת_תהליך" |
/fx4/dac/channel _ x/slew_control_enable | BOOL מאפשר או מבטל את הגבלת קצב הסיבוב. |
/fx4/dac/channel_x/slew_rate | NUMBER קצב שינוי (Slew) ב-V/s עבור הערוץ. |
/fx4/dac/channel_x/upper_limit | NUMBER נפח הפקודה המרבי המותרtage עבור הערוץ. חל על כל מצבי הפעולה. |
/fx4/dac/channel _ x/lower_limit | NUMBER נפח הפקודה המינימלי המותרtage עבור הערוץ. חל על כל מצבי הפעולה. |
/fx4/dac/channel _ x/ פלט _ ביטוי | STRING מגדיר את מחרוזת הביטוי שבה משתמש הערוץ כאשר הוא נמצא במצב פלט ביטוי. |
/fx4/dac/channel _ x/reset_button | כפתור מאפס את עוצמת הפקודהtagה עד 0. |
4.3 כניסות ויציאות דיגיטליות
IO אלה מתייחסים לשליטה בכניסות ויציאות דיגיטליות למטרות כלליות שונות שנמצאות ב-FX4.
נתיב IO | תֵאוּר |
/fx4/fr1 | מקלט סיבים אופטיים BOOL לקריאה בלבד 1. |
/fx4/ft1 | משדר סיבים BOOL 1. |
/fx4/fr2 | מקלט סיבים אופטיים BOOL לקריאה בלבד 2. |
/fx4/ft2 | משדר סיבים BOOL 2. |
/fx4/fr3 | מקלט סיבים אופטיים BOOL לקריאה בלבד 3. |
/fx4/ft3 | משדר סיבים BOOL 3. |
/fx4/digital_expansion/d1 | IO להרחבה דיגיטלית דו-כיוונית BOOL D1. |
/fx4/digital_expansion/d2 | IO להרחבה דיגיטלית דו-כיוונית BOOL D2. |
/fx4/digital_expansion/d3 | IO להרחבה דיגיטלית דו-כיוונית BOOL D3. |
/fx4/digital_expansion/d4 | IO להרחבה דיגיטלית דו-כיוונית BOOL D4. |
4.3.1 תצורת IO דיגיטלית
לכל הדיגיטליים יש IO ילד לקביעת ההתנהגות שלהם, כולל מצב הפעלה השולט כיצד הדיגיטל הזה יפעל. לכל דיגיטל תהיה קבוצה שונה של אפשרויות זמינות. עיין ב-GUI לפרטים על האפשרויות הזמינות עבור איזה IO.
נתיב IO של ילד | תֵאוּר |
…/מצב | מצב פעולה STRING עבור הדיגיטלי. אפשרויות: "קלט", "פלט", "PWM", "טיימר", "מקודד", "לכידה", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input" או "pru_output" |
…/process_signal | STRING שם אות בקרת התהליך, אם קיים. |
…/pull_mode | STRING מצב משיכה למעלה/למטה עבור קלט דיגיטלי. אפשרויות: "למעלה", "למטה" או "השבת" |
4.4 בקרת ממסר
שני הממסרים נשלטים באופן עצמאי וחולקים את אותו סוג ממשק. החלף את relay_x ב-relay_a או relay_b בהתאמה.
נתיב IO | תֵאוּר |
/fx4/relay_x/permit / פקודת משתמש | BOOL מצווה על פתיחה או סגירה של הממסר. פקודת אמת תנסה לסגור את הממסר אם נעילת האינטרולים מתאפשרת, ופקודת שקר תמיד תפתח את הממסר. |
/fx4/ממסר _ x/מצב | מחרוזת לקריאה בלבד המצב הנוכחי של הממסר. ממסרים נעולים פתוחים אך לא ניתן לסגור אותם עקב אינטרלוק. מדינות: "פתוח", "סגור" או "נעול" |
/fx4/relay_x/נסגר אוטומטית | BOOL כאשר מוגדר כ-true, הממסר ייסגר אוטומטית כאשר יורשו נעילת האינטרולים. False כברירת מחדל. |
/fx4/relay_x/ ספירת מחזורים | מספר לקריאה בלבד מספר מחזורי הממסר מאז האיפוס האחרון. שימושי למעקב אחר חיי הממסר. |
4.5 כרך גבוהtagמודול
עיין במדריך IGX – מתכנת לפרטים על FX4 high voltagממשק אלקטרוני. נתיב האב של הרכיב הוא /fx4/high_votlage .
4.6 בקר מינון
עיין במדריך IGX – מתכנת לפרטים על ממשק בקר המינון FX4. נתיב האב של הרכיב הוא /fx4/dose_controller .
FX4 Python Examples
5.1 לוגר נתונים באמצעות HTTP
האקסית הזוample מדגים כיצד ללכוד מספר קריאות ולשמור אותן ב-CSV file. על ידי בחירת השהיה ארוכה בין הקריאה, תוכל לבצע רישום נתונים לטווח ארוך גם אם ה-FX4 sampשיעור ling מוגדר גבוה יותר. זה מאפשר לך לאסוף ולאחסן מדידות באופן רציף על פני תקופות ממושכות מבלי להכריע את המערכת, מה שמבטיח שהנתונים ייקלטו במרווחים המתאימים לניתוח שלך. ההשהיה בין הקריאה עוזרת לווסת את קצב רישום הנתונים, ומאפשרת אחסון יעיל והפחתת הסיכון להחמצת נקודות נתונים, תוך כדי הנאה ממהירות גבוהה.ampling למדידות בזמן אמת.
5.2 ממשק משתמש פשוט של Python
האקס השניample משתמש בכלי Tkinter GUI, אשר בנוי עבור Python, כדי ליצור תצוגה של הזרמים הנמדדים. ממשק זה מאפשר לך לדמיין את הקריאות הנוכחיות בפורמט גרפי ידידותי למשתמש. ניתן לשנות את גודל התצוגה כדי להפוך אותה לגדולה מספיק לקריאה מרחבי החדר, מה שהופך אותה לאידיאלית עבור תרחישים שבהם יש צורך בניטור בזמן אמת בחללים גדולים יותר. Tkinter מספק דרך קלה ליצור ממשקים אינטראקטיביים, ועל ידי שילובו עם ה-FX4, אתה יכול לבנות במהירות תצוגה ויזואלית של הזרמים הנמדדים שניתן להתאים אישית לצרכים הספציפיים שלך.
5.3 פשוט Webשקעים Example
האקסית הזוample מדגים את Webממשק Sockets, שהיא השיטה המועדפת לקריאת נתונים מה-FX4 כאשר נדרש רוחב פס מרבי. Webשקעים מספקים ערוץ תקשורת בזמן אמת דופלקס מלא, המאפשר העברת נתונים מהירה ויעילה יותר בהשוואה לשיטות אחרות.
האקסיתample קורא סדרה של samples, מדווח על הזמן הממוצע לשנייהample והשהייה המקסימלית, ושומר את הנתונים ב-CSV file לניתוח מאוחר יותר. הגדרה זו מאפשרת ניטור יעיל בזמן אמת ואחסון נתונים קל לעיבוד לאחר.
הביצועים הספציפיים שאפשר להשיג איתם Webשקעים תלויים באמינות של ממשק ה-Ethernet שלך ובעדיפות היחסית של היישום שלך. לקבלת תוצאות מיטביות, ודא שהרשת שלך יציבה ושהעברת הנתונים של ה-FX4 מקבלת עדיפות במידת הצורך.
גרסה: v3
FX4 Python Exampשיעורים: 21
מסמכים / משאבים
![]() |
מתכנת PYRAMID FX4 [pdfמדריך הוראות מתכנת FX4, FX4, מתכנת |