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Процесс%20Создания |
| Обучение | НЕПРИГОДНЫЙ |
Контроль версий
| Версия | Описание | Сохранено | Сохранено на | Статус |
| v3 | Добавлен простой оверview и больше бывшихampлес. | Мэтью Николс | 6 марта 2025 г. 10:29 PM | ОДОБРЕННЫЙ |
| v2 | Добавлены цифровые интерфейсы ввода-вывода и ссылки на IGX. | Мэтью Николс | 3 мая 2024 г. 7:39 | ОДОБРЕННЫЙ |
| v1 | Первоначальный релиз, работа над которым все еще продолжается. | Мэтью Николс | 21 февр. 2024 г. 11:25 PM | ОДОБРЕННЫЙ |
Документ контрольный Не реviewed
Текущая версия документа: в.1
Нет реviewназначены.
1.1 Подписи
для самой последней версии документа
Пятница, 7 марта 2025 г., 10:33 UTC
Мэтью Николс подписал ; значение: Review
Ссылки
| Документ | Идентификатор документа | Автор | Версия |
| IGX – Руководство программиста | 2439249921 | Мэтью Николс | 1 |
Программирование FX4 завершеноview
Процессор FX4 работает в среде IGX, которая создана на основе высоконадежной операционной системы реального времени QNX от BlackBerry (QNX Webсайт¹). IGX предоставляет гибкий и комплексный интерфейс прикладного программирования (API) для пользователей, желающих написать собственное программное обеспечение для хост-компьютера.
Среда IGX используется совместно с другими продуктами Pyramid, что позволяет легко переносить программные решения, разработанные для одного продукта, на другие.
Программисты могут обратиться к полной документации по IGX, доступной на Pyramid. webсайт по адресу: IGX | Современная модульная система управления Framework для WebПриложения с поддержкой²
В этом разделе представлено введение в тестирование двух методов API: HTTP с использованием формата JSON и EPICS. Для простоты Python (Питон Webсайт³) используется как бывш.ample host компьютерный язык, который доступен и прост в использовании для непрофессиональных программистов.
3.1 Использование Python и HTTP
Как бывшийample, предположим, вы хотите прочитать сумму измеренных токов с помощью Python. Вам нужно URL для этого конкретного IO. FX4 web GUI предоставляет простой способ найти это: просто щелкните правой кнопкой мыши в поле и выберите «Копировать HTTP». URL', чтобы скопировать строку в буфер обмена.

Теперь вы можете использовать Python для тестирования подключения к пользовательскому программному обеспечению через HTTP и JSON. Вам может потребоваться импортировать запросы и библиотеки json для обработки HTTP-запросов и анализа данных.
1 Простой пример Python HTTPample
3.2 Использование ЭПИКОВ
Процесс подключения FX4 через EPICS (Experimental Physics and Industrial Control System) аналогичен. EPICS — это набор программных инструментов и приложений, используемых для разработки и внедрения распределенных систем управления, широко используемых в научных учреждениях.
- Получите имя переменной процесса EPICS (PV) для нужного ввода-вывода.
- Импортируйте библиотеку EPICS и считайте значение.
2 Получить EPICS PV Имя
3 простых примера Python EPICSample
Кроме того, Pyramid создала утилиту (EPICS Подключиться⁴), который позволяет вам отслеживать переменные процесса EPICS в режиме реального времени. Этот инструмент полезен для подтверждения того, что имя EPICS PV правильное и FX4 правильно обслуживает PV в вашей сети.
4 PTC EPICS Connect
API программирования FX4
Концепции и методы, описанные в этом руководстве, основаны на концепциях, изложенных в IGX – Руководстве программиста. Пожалуйста, обратитесь к этому документу за объяснением и примерами.ampфайлы о том, как работает базовое программирование и интерфейсы IGX. В этом руководстве описываются только входы-выходы и функциональные возможности конкретного устройства, уникальные для FX4.
4.1 Аналоговый ввод-вывод
Эти входы-выходы относятся к настройке и сбору данных на аналоговых токовых входах FX4. Единицы входных каналов основаны на настраиваемой пользователем настройке под названием «S».ample Units», допустимые варианты включают pA, nA, uA, мА и A.
Все 4 канала используют один и тот же интерфейс ввода-вывода и управляются независимо. Замените «channel_x» на «channel_1», «channel_2», «channel_3» или «channel_4» соответственно.
| Путь ввода-вывода | Описание |
| /fx4/adc/channel_x | ЧТЕНИЕ ТОЛЬКО НОМЕР Измеренный входной ток. |
| /fx4/adc/channel_x/скаляр | ЧИСЛО Простой безразмерный скаляр, применяемый к каналу, по умолчанию 1. |
| /fx4/adc/channel_x/zero_offset | НОМЕР Текущее смещение в нА для канала. |
Следующие операции ввода-вывода не являются независимыми от канала и применяются ко всем каналам одновременно.
| Путь ввода-вывода | Описание |
| /fx4/channel_sum | ЧИТАТЬ ТОЛЬКО ЧТЕНИЕ НОМЕР Сумма текущих входных каналов. |
| /fx4/adc_unit | STRING Устанавливает текущие пользовательские единицы для каждого канала и суммы. Варианты: «па», «на», «уа», «ма», «а» |
| /fx4/диапазон | STRING Устанавливает текущий диапазон входного сигнала. Смотрите GUI, как каждый код диапазона соответствует максимальным текущим пределам входного сигнала и полосе пропускания. Варианты: «0», «1», «2», «3», «4», «5», «6», «7». |
| /fx4/adc/sample_ Frequency | НОМЕР Частота в Гц, котораяampДанные будут усреднены. Это контролирует соотношение сигнал-шум и скорость передачи данных для всех каналов. |
| /fx4/adc/частота_преобразования | НОМЕР Частота в Гц, на которой АЦП будет преобразовывать аналоговые значения в цифровые. По умолчанию это 100 кГц, и вам редко придется менять это значение. |
| /fx4/adc/offset_correction | ЧИТАТЬ ТОЛЬКО ЧТЕНИЕ Сумма текущих смещений всех каналов. |
4.2 Аналоговый выход ввода-вывода
Эти входы-выходы относятся к конфигурации аналоговых выходов общего назначения FX4, расположенных под аналоговыми входами на передней панели. Все 4 канала используют один и тот же интерфейс ввода-вывода и управляются независимо. Замените «channel_x» на «channel_1», «channel_2», «channel_3» или «channel_4» соответственно.
| Путь ввода-вывода | Описание |
| /fx4/dac /channel_x | НОМЕР Команда томаtagе выход. Это значение можно записать только в том случае, если режим вывода установлен на ручной. |
| /fx4/dac/channel_x/readback | ЧТЕНИЕ ТОЛЬКО НОМЕР Измеренный объемtagе вывод. Это особенно полезно при использовании режима вывода выражений. |
| /fx4/dac/channel_x/output_mode | STRING Устанавливает режим вывода для канала. Опции: «вручную», «выражение», «управление_процессом». |
| /fx4/dac/channel _ x/slew_control_enable | BOOL Включает или отключает ограничение скорости нарастания выходного напряжения. |
| /fx4/dac/channel_ x/скорость_нарастания | НОМЕР Скорость нарастания в В/с для канала. |
| /fx4/dac/channel_x/upper_limit | НОМЕР Максимально допустимый объем командыtagе для канала. Применяется ко всем режимам работы. |
| /fx4/dac/канал _ x/нижний_лимит | НОМЕР Минимально допустимый объем командыtagе для канала. Применяется ко всем режимам работы. |
| /fx4/dac/channel _ x/ выходное _ выражение | STRING Устанавливает строку выражения, используемую каналом, когда он находится в режиме вывода выражения. |
| /fx4/dac/канал _ x/кнопка_сброса | КНОПКА Сбрасывает громкость командыtagе до 0. |
4.3 Цифровые входы и выходы
Эти входы и выходы относятся к управлению различными цифровыми входами и выходами общего назначения, имеющимися на FX4.
| Путь ввода-вывода | Описание |
| /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/цифровое_расширение/d1 | BOOL D1 двунаправленный цифровой ввод-вывод расширения. |
| /fx4/цифровое_расширение/d2 | BOOL D2 двунаправленный цифровой ввод-вывод расширения. |
| /fx4/цифровое_расширение/d3 | BOOL D3 двунаправленный цифровой ввод-вывод расширения. |
| /fx4/цифровое_расширение/d4 | BOOL D4 двунаправленный цифровой ввод-вывод расширения. |
4.3.1 Конфигурация цифрового ввода-вывода
Все цифровые устройства имеют дочерние IO для настройки их поведения, включая режим работы, который управляет тем, как будет работать цифровое устройство. Каждое цифровое устройство будет иметь разный набор доступных опций. Подробности о том, какие опции доступны для какого IO, см. в GUI.
| Путь дочернего ввода-вывода | Описание |
| …/режим | STRING Режим работы для цифрового. Варианты: «вход», «выход», «ШИМ», «таймер», «энкодер», «захват», «uart_rx», «uart_tx», «can_rx», «can_tx», «pru_input» или «pru_output» |
| …/обработать_сигнал | STRING Имя сигнала управления процессом, если таковое имеется. |
| …/pull_mode | STRING Режим повышения/понижения для цифрового входа. Варианты: «вверх», «вниз» или «отключить» |
4.4 Релейное управление
Оба реле управляются независимо и используют один и тот же тип интерфейса. Замените relay_x на relay_a или relay_b соответственно.
| Путь ввода-вывода | Описание |
| /fx4/relay _ x/permit / пользователь _ команда | BOOL Дает команду реле открыть или закрыть. Истинная команда попытается закрыть реле, если блокировки разрешены, а ложная команда всегда откроет реле. |
| /fx4/реле _ x/состояние | СТРОКА ТОЛЬКО ДЛЯ ЧТЕНИЯ Текущее состояние реле. Заблокированные реле открыты, но не могут быть закрыты из-за блокировки. Состояния: «открыто», «закрыто» или «закрыто». |
| /fx4/реле _ x/автоматически _ закрыть | BOOL При установке значения true реле автоматически замкнется при предоставлении блокировок. По умолчанию — false. |
| /fx4/relay _ x/ цикл _ количество | READONLY NUMBER Количество циклов реле с момента последнего сброса. Полезно для отслеживания срока службы реле. |
4.5 Высокая громкостьtage Модуль
См. IGX – Руководство программиста для получения подробной информации о FX4 high vol.tagэлектронный интерфейс. Родительский путь компонента — /fx4/high_votlage.
4.6 Контроллер дозы
Подробную информацию об интерфейсе контроллера дозы FX4 см. в руководстве по программированию IGX. Родительский путь компонента — /fx4/dose_controller.
FX4 Питон Exampле
5.1 Регистратор данных с использованием HTTP
Этот бывшийample демонстрирует, как захватить ряд показаний и сохранить их в CSV-файле. file. Выбрав большую задержку между показаниями, вы можете выполнять длительную регистрацию данных, даже если FX4ampскорость ling установлена выше. Это позволяет вам непрерывно собирать и хранить измерения в течение длительных периодов времени, не перегружая систему, гарантируя, что данные будут собираться с интервалами, подходящими для вашего анализа. Задержка между показаниями помогает регулировать скорость, с которой данные регистрируются, что позволяет эффективно хранить и снижать риск пропуска точек данных, при этом по-прежнему извлекая выгоду из высокоскоростных sampling для измерений в реальном времени.




5.2 Простой графический интерфейс Python
Второй бывшийample использует инструмент Tkinter GUI, созданный для Python, для создания отображения измеренных токов. Этот интерфейс позволяет визуализировать текущие показания в удобном графическом формате. Размер дисплея можно изменить, чтобы сделать его достаточно большим для чтения с другого конца комнаты, что делает его идеальным для сценариев, где требуется мониторинг в реальном времени в больших помещениях. Tkinter предоставляет простой способ создания интерактивных интерфейсов, и, интегрировав его с FX4, вы можете быстро создать визуальное отображение измеренных токов, которое можно настроить в соответствии с вашими конкретными потребностями.







5.3 Простой WebГнезда Example
Этот бывшийampле демонстрирует WebИнтерфейс сокетов, который является предпочтительным методом считывания данных с FX4, когда требуется максимальная пропускная способность. WebСокеты обеспечивают полнодуплексный канал связи в реальном времени, позволяя передавать данные быстрее и эффективнее по сравнению с другими методами.
Бывшийample читает серию samples, сообщает среднее время в секундуampфайл и максимальную задержку, а также сохраняет данные в CSV file для последующего анализа. Эта настройка обеспечивает эффективный мониторинг в реальном времени и простое хранение данных для последующей обработки.
Конкретная производительность, которая может быть достигнута с помощью WebSockets зависит от надежности вашего интерфейса Ethernet и относительного приоритета вашего приложения. Для оптимальных результатов убедитесь, что ваша сеть стабильна и что передача данных FX4 имеет приоритет, если это необходимо.



Версия: v3
FX4 Питон Exampлес: 21
Документы/Ресурсы
![]() |
Программатор PYRAMID FX4 [pdf] Руководство по эксплуатации Программатор FX4, FX4, Программист |
