لوگوی PYRAMIDwww.pyramid.tech
FX4
راهنمای برنامه نویس FX4
شناسه سند: 2711715845
نسخه: v3برنامه نویس PYRAMID FX4

برنامه نویس FX4

شناسه سند: 2711715845
راهنمای برنامه نویس FX4 – FX4

برنامه نویس PYRAMID 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 ب.ظ تایید شد

برنامه نویس PYRAMID FX4 - نماد 1 کنترل اسناد نه 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برای کپی کردن رشته در کلیپ بورد.

برنامه نویس PYRAMID FX4 - با استفاده از Python و HTTP

اکنون می توانید از پایتون برای آزمایش اتصال به نرم افزار کاربر از طریق HTTP و JSON استفاده کنید. ممکن است لازم باشد درخواست‌ها و کتابخانه‌های json را برای رسیدگی به درخواست‌های HTTP و تجزیه داده‌ها وارد کنید.

برنامه نویس PYRAMID FX4 - درخواست های HTTP و تجزیه داده ها1 HTTP ساده پایتون مثالample

3.2 استفاده از EPICS
فرآیند اتصال FX4 از طریق EPICS (فیزیک تجربی و سیستم کنترل صنعتی) مشابه است. EPICS مجموعه‌ای از ابزارها و برنامه‌های نرم‌افزاری است که برای توسعه و پیاده‌سازی سیستم‌های کنترل توزیع‌شده استفاده می‌شود و به طور گسترده در امکانات علمی استفاده می‌شود.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. نام متغیر فرآیند EPICS (PV) را برای IO مورد نظر دریافت کنید.
  2. کتابخانه EPICS را وارد کنید و مقدار را بخوانید.

PYRAMID FX4 Programmer - متغیر فرآیند EPICS2 نام EPICS PV را دریافت کنیدبرنامه نویس PYRAMID FX4 - Simple Python EPICS Example3 Simple Python EPICS مثالample

علاوه بر این، Pyramid یک ابزار (EPICS اتصال4) که به شما امکان می دهد متغیرهای فرآیند EPICS را در زمان واقعی نظارت کنید. این ابزار برای تأیید اینکه آیا نام EPICS PV درست است و FXXNUMX به درستی PV را در شبکه شما ارائه می دهد مفید است.

برنامه نویس PYRAMID FX4 - EPICS Connect4 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 برای اندازه گیری زمان واقعی.

برنامه نویس PYRAMID FX4 - Data Logger با استفاده از HTTPبرنامه نویس PYRAMID FX4 - Data Logger با استفاده از HTTP 2برنامه نویس PYRAMID FX4 - Data Logger با استفاده از HTTP 3برنامه نویس PYRAMID FX4 - Data Logger با استفاده از HTTP 4

5.2 رابط کاربری گرافیکی ساده پایتون
سابق دومample از ابزار Tkinter GUI که برای پایتون ساخته شده است برای ایجاد نمایشی از جریان های اندازه گیری شده استفاده می کند. این رابط به شما امکان می دهد خوانش های فعلی را در قالب گرافیکی کاربر پسند تجسم کنید. اندازه نمایشگر را می توان تغییر داد تا به اندازه کافی بزرگ باشد تا از سراسر اتاق بخواند، و برای سناریوهایی که در آن به نظارت بلادرنگ در فضاهای بزرگتر نیاز است، ایده آل است. Tkinter یک راه آسان برای ایجاد رابط های تعاملی ارائه می دهد و با ادغام آن با FX4، می توانید به سرعت یک نمایش بصری از جریان های اندازه گیری شده بسازید که می تواند متناسب با نیازهای خاص شما سفارشی شود.

برنامه نویس PYRAMID FX4 - رابط کاربری گرافیکی ساده پایتونبرنامه نویس PYRAMID FX4 - ساده Python GUI 2برنامه نویس PYRAMID FX4 - ساده Python GUI 3برنامه نویس PYRAMID FX4 - ساده Python GUI 4برنامه نویس PYRAMID FX4 - ساده Python GUI 5برنامه نویس PYRAMID FX4 - ساده Python GUI 6برنامه نویس PYRAMID FX4 - ساده Python GUI 7

5.3 ساده Webسوکت هاample
این سابقample را نشان می دهد Webرابط سوکت ها، که روش ارجح برای خواندن داده ها از FX4 در مواقعی که حداکثر پهنای باند مورد نیاز است. Webسوکت ها یک کانال ارتباطی بلادرنگ و تمام دوبلکس را فراهم می کنند که امکان انتقال سریعتر و کارآمدتر داده ها را در مقایسه با روش های دیگر فراهم می کند.
سابقampیک سری از s را می خواندamples، میانگین زمان در هر ثانیه را گزارش می کندample و حداکثر تأخیر، و داده ها را در یک CSV ذخیره می کند file برای تحلیل بعدی این تنظیمات امکان نظارت کارآمد در زمان واقعی و ذخیره سازی آسان داده ها را برای پس پردازش فراهم می کند.
عملکرد خاصی که می توان با آن به دست آورد Webسوکت ها به قابلیت اطمینان رابط اترنت و اولویت نسبی برنامه شما بستگی دارد. برای نتایج بهینه، اطمینان حاصل کنید که شبکه شما پایدار است و در صورت لزوم انتقال داده های FX4 اولویت بندی شده است.

برنامه نویس PYRAMID FX4 - ساده Webسوکت هاampleبرنامه نویس PYRAMID FX4 - ساده Webسوکت هاample 2برنامه نویس PYRAMID FX4 - ساده Webسوکت هاample 3

نسخه: v3
FX4 Python Exampتعداد: 21

اسناد / منابع

برنامه نویس PYRAMID FX4 [pdfدفترچه راهنما
برنامه نویس FX4، FX4، برنامه نویس

مراجع

نظر بدهید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند *