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=Standard%20Manual%20Creation%20Process |
آموزش | قابل اجرا نیست |
کنترل نسخه
نسخه | توضیحات | ذخیره شده توسط | ذخیره شده در | وضعیت |
v3 | اضافه شده ساده بیش ازview و بیشتر سابقamples | متیو نیکولز | 6 مارس 2025، 10:29 ب.ظ | تایید شد |
v2 | رابط های دیجیتال IO و مراجع به IGX اضافه شد. | متیو نیکولز | 3 مه 2024، 7:39 ب.ظ | تایید شد |
v1 | انتشار اولیه، هنوز کار در حال انجام است. | متیو نیکولز | فوریه 21, 2024 11:25 ب.ظ | تایید شد |
کنترل اسناد نه Reviewed
نسخه سند فعلی: نسخه 1
نه دوبارهviewافراد اختصاص داده شده است.
1.1 امضاها
برای آخرین نسخه سند
جمعه، 7 مارس 2025، ساعت 10:33 UTC
متیو نیکولز امضا کرد. معنی: Review
مراجع
سند | شناسه سند | نویسنده | نسخه |
IGX - راهنمای برنامه نویس | 2439249921 | متیو نیکولز | 1 |
برنامه نویسی FX4 به پایان رسیده استview
پردازنده FX4 بر روی محیطی به نام IGX اجرا می شود که بر روی سیستم عامل بیدرنگ QNX با قابلیت اطمینان بالا از BlackBerry ساخته شده است.QNX Webسایت1). IGX یک رابط برنامه نویسی کاربردی انعطاف پذیر و جامع (API) برای کاربرانی که می خواهند نرم افزار کامپیوتر میزبان خود را بنویسند، فراهم می کند.
محیط IGX در سایر محصولات Pyramid به اشتراک گذاشته شده است و به راه حل های نرم افزاری توسعه یافته برای یک محصول اجازه می دهد تا به راحتی به محصولات دیگر منتقل شوند.
برنامه نویسان می توانند به مستندات کامل IGX موجود در Pyramid مراجعه کنند webسایت در: IGX | چارچوب سیستم کنترل مدولار مدرن برای Webبرنامه های کاربردی فعال²
این بخش مقدمه ای برای آزمایش دو روش API ارائه می دهد: HTTP با استفاده از فرمت JSON و EPICS. برای سادگی، پایتون (پایتون Webسایت³) به عنوان مثال استفاده می شودampزبان کامپیوتر ل میزبان، که برای برنامه نویسان غیرحرفه ای قابل دسترس و آسان است.
3.1 استفاده از پایتون و HTTP
به عنوان یک سابقample، فرض کنید می خواهید مجموع جریان های اندازه گیری شده را با پایتون بخوانید. شما نیاز دارید URL برای آن IO خاص. FX4 web رابط کاربری گرافیکی یک راه آسان برای یافتن این موضوع ارائه میکند: به سادگی در قسمت مورد نظر راست کلیک کرده و «Copy HTTP» را انتخاب کنید URLبرای کپی کردن رشته در کلیپ بورد.
اکنون می توانید از پایتون برای آزمایش اتصال به نرم افزار کاربر از طریق HTTP و JSON استفاده کنید. ممکن است لازم باشد درخواستها و کتابخانههای json را برای رسیدگی به درخواستهای HTTP و تجزیه دادهها وارد کنید.
1 HTTP ساده پایتون مثالample
3.2 استفاده از EPICS
فرآیند اتصال FX4 از طریق EPICS (فیزیک تجربی و سیستم کنترل صنعتی) مشابه است. EPICS مجموعهای از ابزارها و برنامههای نرمافزاری است که برای توسعه و پیادهسازی سیستمهای کنترل توزیعشده استفاده میشود و به طور گسترده در امکانات علمی استفاده میشود.
- نام متغیر فرآیند EPICS (PV) را برای IO مورد نظر دریافت کنید.
- کتابخانه EPICS را وارد کنید و مقدار را بخوانید.
2 نام EPICS PV را دریافت کنید
3 Simple Python EPICS مثالample
علاوه بر این، Pyramid یک ابزار (EPICS اتصال4) که به شما امکان می دهد متغیرهای فرآیند EPICS را در زمان واقعی نظارت کنید. این ابزار برای تأیید اینکه آیا نام EPICS PV درست است و FXXNUMX به درستی PV را در شبکه شما ارائه می دهد مفید است.
4 PTC EPICS اتصال
API برنامه نویسی FX4
مفاهیم و روش های شرح داده شده در این راهنما مبتنی بر مفاهیمی است که در کتابچه راهنمای برنامه نویس IGX ایجاد شده است. لطفاً آن سند را برای توضیح و نمونه قبلی ببینیدampنکاتی درباره نحوه عملکرد برنامه نویسی و رابط های اولیه IGX. این دفترچه راهنما فقط IO خاص دستگاه و عملکردی را که مختص FX4 است پوشش می دهد.
4.1 ورودی آنالوگ ورودی
این 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 | RADONLY NUMBER ورودی جریان اندازهگیری شده. |
/fx4/adc/channel_x/scalar | NUMBER اسکالر بدون واحد ساده روی کانال اعمال می شود، به طور پیش فرض 1. |
/fx4/adc/channel_x/zero_offset | NUMBER آفست فعلی در nA برای کانال. |
IO زیر مستقل از کانال نیستند و به طور همزمان برای همه کانال ها اعمال می شوند.
مسیر IO | توضیحات |
/fx4/channel_sum | RADONLY NUMBER مجموع کانال های ورودی فعلی. |
/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 فرکانس بر حسب هرتز که sampداده های le به طور میانگین به. این سیگنال به نویز و نرخ داده را برای همه کانال ها کنترل می کند. |
/fx4/adc/conversion_frequency | NUMBER فرکانس بر حسب هرتز که ADC مقادیر آنالوگ را به دیجیتال در آن تبدیل می کند. به طور پیش فرض، این 100 کیلوهرتز است و به ندرت نیاز به تغییر این مقدار خواهید داشت. |
/fx4/adc/offset_correction | READONLY NUMBER مجموع تمام افست های فعلی کانال. |
4.2 خروجی آنالوگ IO
این IO مربوط به پیکربندی خروجی های آنالوگ همه منظوره FX4 است که در زیر ورودی های آنالوگ در پنل جلویی وجود دارد. هر 4 کانال از یک رابط IO استفاده می کنند و به طور مستقل کنترل می شوند. channel_x را به ترتیب با channel_1، channel_2، channel_3، یا channel_4 جایگزین کنید.
مسیر IO | توضیحات |
/fx4/dac /channel_x | NUMBER فرمان جلدtage خروجی این مقدار را فقط زمانی می توان نوشت که حالت خروجی روی دستی تنظیم شده باشد. |
/fx4/dac/channel_x/readback | READONLY NUMBER جلد اندازهگیری شدtage خروجی این هنگام استفاده از حالت خروجی بیان بسیار مفید است. |
/fx4/dac/channel_x/output_mode | STRING حالت خروجی را برای کانال تنظیم می کند. گزینهها: "دستی"، "expression"، "process_control" |
/fx4/dac/channel _ x/slew_control_enable | BOOL محدود کردن سرعت حرکت را فعال یا غیرفعال می کند. |
/fx4/dac/channel_ x/slew_rate | NUMBER سرعت حرکت بر حسب V/s برای کانال. |
/fx4/dac/channel_x/upper_limit | NUMBER حداکثر فرمان مجاز جلدtage برای کانال برای همه حالت های عملیاتی اعمال می شود. |
/fx4/dac/channel _ x/low_limit | NUMBER حداقل دستور مجاز جلدtage برای کانال برای همه حالت های عملیاتی اعمال می شود. |
/fx4/dac/channel _ x/ خروجی _ عبارت | STRING رشته عبارت استفاده شده توسط کانال را هنگامی که در حالت خروجی عبارت است را تنظیم می کند. |
/fx4/dac/channel _ x/reset_button | BUTTON دستور vol را بازنشانی می کندtage تا 0. |
4.3 ورودی و خروجی دیجیتال
این IO مربوط به کنترل ورودیها و خروجیهای دیجیتال با هدف عمومی مختلف در FX4 است.
مسیر IO | توضیحات |
/fx4/fr1 | گیرنده فیبر READONLY BOOL 1. |
/fx4/ft1 | فرستنده فیبر BOOL 1. |
/fx4/fr2 | گیرنده فیبر READONLY BOOL 2. |
/fx4/ft2 | فرستنده فیبر BOOL 2. |
/fx4/fr3 | گیرنده فیبر READONLY BOOL 3. |
/fx4/ft3 | فرستنده فیبر BOOL 3. |
/fx4/digital_expansion/d1 | BOOL D1 توسعه دیجیتال دوطرفه IO. |
/fx4/digital_expansion/d2 | BOOL D2 توسعه دیجیتال دوطرفه IO. |
/fx4/digital_expansion/d3 | BOOL D3 توسعه دیجیتال دوطرفه IO. |
/fx4/digital_expansion/d4 | BOOL D4 توسعه دیجیتال دوطرفه IO. |
4.3.1 پیکربندی IO دیجیتال
همه دیجیتال ها دارای IO فرزند برای پیکربندی رفتار خود هستند، از جمله حالت عملیاتی که نحوه عملکرد آن دیجیتال را کنترل می کند. هر دیجیتال مجموعه متفاوتی از گزینه های موجود خواهد داشت. برای جزئیات بیشتر در مورد گزینه هایی که برای چه 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 / user _ | BOOL دستور باز یا بسته شدن رله را می دهد. یک فرمان true سعی می کند رله را ببندد اگر اینترلاک ها اعطا شوند و دستور false همیشه رله را باز می کند. |
/fx4/رله _ x/state | READONLY STRING وضعیت فعلی رله. رله های قفل شده باز هستند اما به دلیل اینترلاک نمی توانند بسته شوند. حالت ها: "باز"، "بسته" یا "قفل" |
/fx4/رله _ x/به طور خودکار _ بسته شود | BOOL هنگامی که روی true تنظیم می شود، رله به طور خودکار بسته می شود زمانی که اینترلاک ها اعطا شوند. به طور پیش فرض نادرست است. |
/fx4/رله _ x/ سیکل _ شمارش | READONLY NUMBER تعداد چرخه های رله از آخرین تنظیم مجدد. مفید برای ردیابی طول عمر رله. |
4.5 حجم بالاtagماژول e
برای جزئیات بیشتر در مورد FX4 high vol به IGX – Manual Programmer مراجعه کنیدtagرابط e. مسیر والد جزء /fx4/high_votlage است.
4.6 کنترل کننده دوز
برای جزئیات بیشتر در مورد رابط کنترل دوز FX4 به راهنمای برنامه نویس IGX مراجعه کنید. مسیر والد جزء /fx4/dose_controller است.
FX4 Python Examples
5.1 Data Logger با استفاده از HTTP
این سابقample نشان می دهد که چگونه می توان تعدادی از خواندن ها را ضبط کرد و آنها را در یک CSV ذخیره کرد file. با انتخاب یک تاخیر طولانی بین خواندن، می توانید ثبت اطلاعات طولانی مدت انجام دهید حتی اگر FX4 sampنرخ لینگ بالاتر تنظیم شده است. این به شما این امکان را می دهد که به طور مداوم اندازه گیری ها را در دوره های طولانی بدون تحت فشار قرار دادن سیستم جمع آوری و ذخیره کنید و اطمینان حاصل کنید که داده ها در فواصل زمانی مناسب برای تجزیه و تحلیل شما جمع آوری می شوند. تأخیر بین خواندن به تنظیم سرعت ثبت داده ها کمک می کند و امکان ذخیره سازی کارآمد و کاهش خطر از دست دادن نقاط داده را کاهش می دهد در حالی که همچنان از سرعت بالا بهره مند می شوید.ampling برای اندازه گیری زمان واقعی.
5.2 رابط کاربری گرافیکی ساده پایتون
سابق دومample از ابزار Tkinter GUI که برای پایتون ساخته شده است برای ایجاد نمایشی از جریان های اندازه گیری شده استفاده می کند. این رابط به شما امکان می دهد خوانش های فعلی را در قالب گرافیکی کاربر پسند تجسم کنید. اندازه نمایشگر را می توان تغییر داد تا به اندازه کافی بزرگ باشد تا از سراسر اتاق بخواند، و برای سناریوهایی که در آن به نظارت بلادرنگ در فضاهای بزرگتر نیاز است، ایده آل است. Tkinter یک راه آسان برای ایجاد رابط های تعاملی ارائه می دهد و با ادغام آن با FX4، می توانید به سرعت یک نمایش بصری از جریان های اندازه گیری شده بسازید که می تواند متناسب با نیازهای خاص شما سفارشی شود.
5.3 ساده Webسوکت هاample
این سابقample را نشان می دهد Webرابط سوکت ها، که روش ارجح برای خواندن داده ها از FX4 در مواقعی که حداکثر پهنای باند مورد نیاز است. Webسوکت ها یک کانال ارتباطی بلادرنگ و تمام دوبلکس را فراهم می کنند که امکان انتقال سریعتر و کارآمدتر داده ها را در مقایسه با روش های دیگر فراهم می کند.
سابقampیک سری از s را می خواندamples، میانگین زمان در هر ثانیه را گزارش می کندample و حداکثر تأخیر، و داده ها را در یک CSV ذخیره می کند file برای تحلیل بعدی این تنظیمات امکان نظارت کارآمد در زمان واقعی و ذخیره سازی آسان داده ها را برای پس پردازش فراهم می کند.
عملکرد خاصی که می توان با آن به دست آورد Webسوکت ها به قابلیت اطمینان رابط اترنت و اولویت نسبی برنامه شما بستگی دارد. برای نتایج بهینه، اطمینان حاصل کنید که شبکه شما پایدار است و در صورت لزوم انتقال داده های FX4 اولویت بندی شده است.
نسخه: v3
FX4 Python Exampتعداد: 21
اسناد / منابع
![]() |
برنامه نویس PYRAMID FX4 [pdfدفترچه راهنما برنامه نویس FX4، FX4، برنامه نویس |