www.pyramid.tech
FX4
Посібник програміста FX4
Ідентифікатор документа: 2711715845
Версія: v3
Програматор FX4
Ідентифікатор документа: 2711715845
FX4 – Посібник програміста FX4
ID документа: 2711650310
Автор | Метью Ніколс |
Власник | Керівник проекту |
призначення | Поясніть концепції програмування, необхідні для використання API та розширення продукту за допомогою зовнішніх програм. |
Область застосування | Концепції програмування, пов’язані з FX4. |
Цільова аудиторія | Розробники програмного забезпечення зацікавлені у використанні продукту. |
процес | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standard%20Manual%20Creation%20Process |
Навчання | НЕ ЗАЯВА |
Контроль версій
Версія | опис | Збережено | Збережено на | Статус |
v3 | Додано простий надview і більше ексampлес. | Метью Ніколс | 6 березня 2025 р. 10:29 | ЗАТВЕРДЖЕНО |
v2 | Додано цифрові інтерфейси вводу-виводу та посилання на IGX. | Метью Ніколс | 3 травня 2024 7:39 | ЗАТВЕРДЖЕНО |
v1 | Початковий випуск, робота ще триває. | Метью Ніколс | 21 лютого 2024 р. 11:25 | ЗАТВЕРДЖЕНО |
Документ контрольний Не Reviewed
Поточна версія документа: v.1
Ні повторногоviewers призначені.
1.1 Підписи
для останньої версії документа
П’ятниця, 7 березня 2025 р., 10:33 UTC
Метью Ніколс підписав ; значення: Review
Список літератури
документ | ID документа | Автор | Версія |
IGX – посібник програміста | 2439249921 | Метью Ніколс | 1 |
Програмування FX4 завершеноview
Процесор FX4 працює в середовищі під назвою IGX, яке побудовано на основі високонадійної операційної системи реального часу QNX від BlackBerry (QNX Webсайт¹). IGX надає гнучкий і комплексний інтерфейс прикладного програмування (API) для користувачів, які хочуть написати власне програмне забезпечення для хост-комп’ютера.
Середовище IGX є спільним для інших продуктів Pyramid, що дозволяє легко передавати програмні рішення, розроблені для одного продукту, на інші.
Програмісти можуть звернутися до повної документації для IGX, доступної на Pyramid webсайт за адресою: IGX | Сучасна модульна система управління для Web-додатки з підтримкою²
У цьому розділі наведено вступ до тестування двох методів API: HTTP із використанням формату JSON і EPICS. Для простоти Python (Python Webсайт³) використовується як прикладample мова хост-комп'ютера, яка доступна і проста у використанні для непрофесійних програмістів.
3.1 Використання Python і HTTP
Як колишнійample, припустимо, що ви хочете прочитати суму виміряних струмів за допомогою Python. Вам потрібно URL для цього конкретного IO. FX4 web GUI забезпечує простий спосіб знайти це: просто клацніть правою кнопкою миші в полі та виберіть «Копіювати HTTP». URL', щоб скопіювати рядок у буфер обміну.
Тепер ви можете використовувати Python для перевірки підключення до програмного забезпечення користувача через HTTP і JSON. Вам може знадобитися імпортувати запити та бібліотеки json для обробки HTTP-запитів і аналізу даних.
1 Простий Python HTTP Прample
3.2 Використання EPICS
Процес підключення FX4 через EPICS (Experimental Physics and Industrial Control System) аналогічний. EPICS — це набір програмних засобів і додатків, які використовуються для розробки та впровадження розподілених систем керування, які широко використовуються в наукових установах.
- Отримайте назву змінної процесу EPICS (PV) для потрібного вводу-виводу.
- Імпортуйте бібліотеку EPICS і прочитайте значення.
2 Отримайте назву EPICS PV
3 Simple Python EPICS Прample
Крім того, Піраміда створила утиліту (EPICS Connect⁴), що дозволяє відстежувати змінні процесу EPICS у режимі реального часу. Цей інструмент корисний для перевірки правильності назви PV EPICS і правильності обслуговування FX4 PV у вашій мережі.
4 PTC EPICS Connect
API програмування FX4
Концепції та методи, описані в цьому посібнику, базуються на концепціях, встановлених у IGX – Посібнику програміста. Перегляньте цей документ для пояснення та напрampопис того, як працюють базові програми та інтерфейси IGX. У цьому посібнику розглядатимуться лише особливості вводу-виводу та функції, які є унікальними для FX4.
4.1 Аналоговий вхід IO
Ці IO стосуються конфігурації та збору даних на аналогових струмових входах FX4. Одиниці вимірювання входів каналів базуються на настроюваному користувачем параметрі під назвою «Sample Units», дійсні параметри включають pA, nA, uA, mA та A.
Усі 4 канали використовують один і той самий інтерфейс вводу-виводу та контролюються незалежно. Замініть канал_x на канал_1, канал_2, канал_3 або канал_4 відповідно.
Шлях IO | опис |
/fx4/adc/channel_x | READONLY NUMBER Виміряний вхідний струм. |
/fx4/adc/channel_x/скаляр | NUMBER Простий безрозмірний скаляр, застосований до каналу, 1 за замовчуванням. |
/fx4/adc/channel_x/zero_offset | NUMBER Поточний зсув у нА для каналу. |
Наступний IO не є незалежним від каналу та застосовується до всіх каналів одночасно.
Шлях IO | опис |
/fx4/channel_sum | READONLY NUMBER Сума поточних вхідних каналів. |
/fx4/adc_unit | STRING Встановлює поточні одиниці вимірювання користувача для кожного каналу та суму. Варіанти: «па», «на», «уа», «ма», «а» |
/fx4/діапазон | STRING Встановлює поточний діапазон введення. Перегляньте GUI, щоб дізнатися, як кожен код діапазону відповідає максимальним поточним вхідним обмеженням і BW. Опції: «0», «1», «2», «3», «4», «5», «6», «7» |
/fx4/adc/sample_frequency | ЧИСЛО Частота в Гц, що sample дані будуть усереднені до. Це керує співвідношенням сигнал/шум і швидкістю передачі даних для всіх каналів. |
/fx4/adc/conversion_frequency | ЧИСЛО Частота в Гц, на якій АЦП перетворюватиме аналогові значення в цифрові. За замовчуванням це 100 кГц, і вам буде потрібно лише рідко змінювати це значення. |
/fx4/adc/offset_correction | READONLY NUMBER Сума поточних зсувів усіх каналів. |
4.2 Аналоговий вихід IO
Ці IO стосуються конфігурації аналогових виходів загального призначення FX4, розташованих під аналоговими входами на передній панелі. Усі 4 канали використовують один і той самий інтерфейс вводу-виводу та контролюються незалежно. Замініть канал_x на канал_1, канал_2, канал_3 або канал_4 відповідно.
Шлях IO | опис |
/fx4/dac /channel_x | NUMBER Command томtagе вихід. Це значення можна записати лише тоді, коли для режиму виведення встановлено ручний режим. |
/fx4/dac/channel_x/readback | READLY NUMBER Виміряний обсягtage вихід. Це найбільш корисно під час використання режиму виведення виразу. |
/fx4/dac/channel_x/output_mode | STRING Встановлює вихідний режим для каналу. Параметри: «ручний», «вираз», «контроль_процесу» |
/fx4/dac/channel _ x/slew_control_enable | BOOL Вмикає або вимикає обмеження швидкості наростання. |
/fx4/dac/channel_ x/slew_rate | NUMBER Швидкість наростання в В/с для каналу. |
/fx4/dac/channel_x/upper_limit | ЧИСЛО Максимально дозволена команда voltage для каналу. Застосовується для всіх режимів роботи. |
/fx4/dac/channel _ x/lower_limit | ЧИСЛО Мінімально дозволена команда voltage для каналу. Застосовується для всіх режимів роботи. |
/fx4/dac/channel _ x/ вихідний _ вираз | STRING Встановлює рядок виразу, який використовується каналом, коли він перебуває в режимі виведення виразу. |
/fx4/dac/channel _ x/reset_button | КНОПКА Скидає команду voltage до 0. |
4.3 Цифрові входи та виходи
Ці вводи-виводи стосуються керування різними цифровими входами та виходами загального призначення FX4.
Шлях IO | опис |
/fx4/fr1 | READLY BOOL Оптоволоконний приймач 1. |
/fx4/ft1 | Оптоволоконний передавач BOOL 1. |
/fx4/fr2 | READLY BOOL Оптоволоконний приймач 2. |
/fx4/ft2 | Оптоволоконний передавач BOOL 2. |
/fx4/fr3 | READLY 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 для конфігурації їхньої поведінки, включаючи робочий режим, який контролює роботу цього цифрового пристрою. Кожна цифра матиме різний набір доступних опцій. Перегляньте графічний інтерфейс користувача, щоб дізнатися, які параметри доступні для того чи іншого вводу-виводу.
Дочірній шлях вводу-виводу | опис |
…/режим | STRING Режим роботи для цифрового. Опції: «вхід», «вихід», «шім», «таймер», «кодер», «захоплення», «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 Видає команду на відкриття або закриття реле. Справжня команда намагатиметься замкнути реле, якщо надано блокування, а помилкова команда завжди розмикатиме реле. |
/fx4/relay _ x/state | READONLY STRING Поточний стан реле. Заблоковані реле розімкнуті, але не можуть бути замкнуті через блокування. Стани: «відкрито», «закрито» або «заблоковано» |
/fx4/relay _ x/automatically _ закрити | BOOL Якщо встановлено значення true, реле автоматично замикатиметься, коли буде надано блокування. За замовчуванням false. |
/fx4/relay _ x/ кількість циклів _ | READONLY NUMBER Кількість циклів реле з моменту останнього скидання. Корисно для відстеження терміну служби реле. |
4.5 Висока гучністьtage Модуль
Перегляньте IGX – Посібник програміста для отримання детальної інформації про FX4 high voltagелектронний інтерфейс. Батьківський шлях компонента – /fx4/high_votlage.
4.6 Контролер дози
Див. IGX – Посібник програміста, щоб дізнатися більше про інтерфейс контролера дози FX4. Батьківський шлях компонента – /fx4/dose_controller.
FX4 Python Exampлес
5.1 Реєстратор даних за допомогою HTTP
Цей колишнійample демонструє, як отримати кілька показань і зберегти їх у CSV file. Вибравши тривалу затримку між зчитуваннями, ви можете виконувати довгострокову реєстрацію даних, навіть якщо FX4 sampнорма лінгу встановлена вище. Це дозволяє безперервно збирати та зберігати вимірювання протягом тривалих періодів, не перевантажуючи систему, гарантуючи, що дані збираються з інтервалами, придатними для аналізу. Затримка між зчитуваннями допомагає регулювати швидкість реєстрації даних, забезпечуючи ефективне зберігання та знижуючи ризик пропуску точок даних, водночас користуючись перевагами високошвидкісних сampдля вимірювань у реальному часі.
5.2 Простий графічний інтерфейс Python
Другий ексample використовує інструмент GUI Tkinter, створений для Python, для створення відображення виміряних струмів. Цей інтерфейс дозволяє візуалізувати поточні показання в зручному графічному форматі. Розмір дисплея можна змінити, щоб зробити його достатньо великим, щоб читати з іншого боку кімнати, що робить його ідеальним для сценаріїв, коли потрібен моніторинг у реальному часі у великих просторах. Tkinter забезпечує простий спосіб створення інтерактивних інтерфейсів, і, інтегрувавши його з FX4, ви можете швидко створити візуальне відображення виміряних струмів, яке можна налаштувати відповідно до ваших конкретних потреб.
5.3 Простий WebРозетки Example
Цей колишнійample демонструє WebІнтерфейс сокетів, який є кращим методом для читання даних із FX4, коли потрібна максимальна пропускна здатність. WebСокети забезпечують повнодуплексний канал зв’язку в режимі реального часу, що забезпечує швидшу та ефективнішу передачу даних порівняно з іншими методами.
Колишнійample читає серію samples, повідомляє середній час за сample та максимальну затримку, а також зберігає дані у файлі CSV file для подальшого аналізу. Це налаштування забезпечує ефективний моніторинг у реальному часі та просте зберігання даних для подальшої обробки.
Конкретна продуктивність, якої можна досягти WebРозетки залежать від надійності вашого інтерфейсу Ethernet і відносного пріоритету вашої програми. Для досягнення оптимальних результатів переконайтеся, що ваша мережа стабільна та що передавання даних FX4 має пріоритет, якщо це необхідно.
Версія: v3
FX4 Python Exampліс: 21
Документи / Ресурси
![]() |
Програматор PYRAMID FX4 [pdfІнструкція з експлуатації Програматор FX4, FX4, програматор |