金字塔标志www.pyramid.tech
FX4
FX4 程序员手册
文档编号:2711715845
版本:v3PYRAMID FX4 编程器

FX4 编程器

文档编号:2711715845
FX4 – FX4 程序员手册

PYRAMID 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:XNUMX 得到正式认可的
v2 添加了数字 IO 接口并引用回 IGX。 马修·尼科尔斯 3 年 2024 月 7 日下午 39:XNUMX 得到正式认可的
v1 初始版本,仍在进行中。 马修·尼科尔斯 21 年 2024 月 11 日下午 25:XNUMX 得到正式认可的

PYRAMID FX4 编程器 - 图标 1 文档控制 不重新viewed
当前文档版本: v.1
没有重新view已分配。

1.1 签名
最新文档版本
7 年 2025 月 10 日星期五,晚上 33:XNUMX(UTC)
马修·尼科尔斯签名;含义:回复view

参考

文档 文档编号  作者  版本
IGX – 程序员手册 2439249921 马修·尼科尔斯 1

FX4 编程结束view

FX4 处理器在名为 IGX 的环境中运行,该环境基于 BlackBerry 的 QNX 高可靠性实时操作系统构建(微软 Web地点¹)IGX为想要编写自己的主机软件的用户提供了灵活、全面的应用程序编程接口(API)。
IGX 环境与其他 Pyramid 产品共享,允许为一种产品开发的软件解决方案轻松转移到其他产品。
程序员可以参考 Pyramid 上提供的 IGX 完整文档 web网站位于: IGX | 现代模块化控制系统框架 Web的应用程序²

本节介绍如何测试两种 API 方法:使用 JSON 格式的 HTTP 和 EPICS。为简单起见,Python (Python Web地点³) 用作前ample主机语言,非专业程序员也可以轻松理解和使用。

3.1 使用 Python 和 HTTP
作为前任amp例如,假设你想用 Python 读取测量电流的总和。你需要 URL 针对该特定 IO。FX4 web GUI 提供了一种简单的方法来找到它:只需在字段中单击鼠标右键,然后选择“复制 HTTP URL' 将字符串复制到剪贴板。

PYRAMID FX4 程序员 - 使用 Python 和 HTTP

现在,您可以使用 Python 通过 HTTP 和 JSON 测试与用户软件的连接。您可能需要导入请求和 json 库来处理 HTTP 请求和数据解析。

PYRAMID FX4 程序员 - HTTP 请求和数据解析1 个简单的 Python HTTP 示例ample

3.2 使用 EPICS
通过 EPICS(实验物理和工业控制系统)连接 FX4 的过程类似。EPICS 是一套用于开发和实施分布式控制系统的软件工具和应用程序,广泛应用于科学设施。

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. 获取所需 IO 的 EPICS 过程变量 (PV) 名称。
  2. 导入EPICS库并读取值。

PYRAMID FX4 编程器 - EPICS 过程变量2 获取 EPICS PV 名称PYRAMID FX4 程序员 - 简单的 Python EPICS Example3 个简单的 Python EPICS 示例ample

此外,Pyramid 创建了一个实用程序(EPICS 连接⁴) 可让您实时监控 EPICS 流程变量。此工具有助于确认 EPICS PV 名称是否正确以及 FX4 是否在您的网络上正确为 PV 提供服务。

PYRAMID FX4 编程器 - EPICS Connect4 PTC EPICS 连接

FX4 编程 API

本手册中描述的概念和方法建立在 IGX – 程序员手册中建立的概念之上。请参阅该文档以获取解释和示例amp请参阅有关基本 IGX 编程和接口工作原理的文档。本手册仅涵盖 FX4 独有的设备特定 IO 和功能。

4.1 模拟输入IO
这些 IO 与配置和收集 FX4 模拟电流输入的数据有关。通道输入的单位基于用户可配置的设置“Sample Units”,有效选项包括 pA、nA、uA、mA 和 A。
所有 4 个通道使用相同的接口 IO 并独立控制。分别将 channel_x 替换为 channel_1 、 channel_2 、 channel_3 或 channel_4 。

输入输出路径 描述
/fx4/adc/channel_x 只读数字测量的电流输入。
/fx4/adc/channel_x/标量 NUMBER 应用于通道的简单无单位标量,默认为 1。
/fx4/adc/channel_x/zero_offset NUMBER 通道的当前偏移量(以 nA 为单位)。

以下 IO 不独立于通道,且同时应用于所有通道。

输入输出路径  描述
/fx4/channel_sum 只读数字当前输入通道的总和。
/fx4/adc_unit STRING 设置每个通道和总和的当前用户单位。
选项:“pa”、“na”、“ua”、“ma”、“a”
/fx4/范围 STRING 设置电流输入范围。请参阅 GUI 了解每个范围代码如何与最大电流输入限制和 BW 相对应。
选项:“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”
/fx4/adc/samp频率 NUMBER 频率(Hz)amp数据将被平均化。这控制所有通道的信噪比和数据速率。
/fx4/adc/转换频率 NUMBER ADC 将模拟值转换为数字值的频率(单位为 Hz)。默认情况下,此频率为 100kHz,您很少需要更改此值。
/fx4/adc/offset_correction 只读数字所有通道当前偏移的总和。

4.2 模拟输出IO
这些 IO 与前面板上模拟输入下的 FX4 通用模拟输出的配置有关。所有 4 个通道都使用相同的接口 IO 并独立控制。分别将 channel_x 替换为 channel_1 、 channel_2 、 channel_3 或 channel_4 。

输入输出路径  描述
/fx4/dac /c​​hannel_x NUMBER 命令卷tage 输出。仅当输出模式设置为手动时才可写入此值。
/fx4/dac/channel_x/读回 只读数字 测量体积tage 输出。
这在使用表达式输出模式时最有用。
/fx4/dac/channel_x/输出模式 STRING 设置通道的输出模式。
选项:“manual”、“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/lower_limit NUMBER 允许的最小命令音量tage 为通道。适用于所有操作模式。
/fx4/dac/channel _ x/输出_表达式 STRING 设置通道处于表达式输出模式时使用的表达式字符串。
/fx4/dac/channel _ x/reset_button 按钮重置命令音量tage 至 0。

4.3 数字输入和输出
这些 IO 与控制 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/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 可用的选项的详细信息,请参阅 GUI。

子 IO 路径 描述
…/模式 STRING 操作模式为数字。
选项:“input”、“output”、“pwm”、“timer”、“encoder”、“capture”、“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 命令继电器打开或关闭。如果联锁被授予,则 true 命令将尝试关闭继电器,false 命令将始终打开继电器。
/fx4/relay _ x/状态 只读字符串继电器的当前状态。
锁定的继电器处于打开状态,但是由于联锁而无法关闭。
状态:“打开”、“关闭”或“锁定”
/fx4/relay_x/自动关闭 BOOL 设置为 true 时,继电器将在联锁被授予时自动关闭。默认为 False。
/fx4/relay_x/周期_计数 只读数字 自上次重置以来的继电器循环次数。可用于跟踪继电器寿命。

4.5 高音量tag电子模块
有关 FX4 高容量的详细信息,请参阅 IGX - 程序员手册tage 接口。组件父路径为 /fx4/high_votlage 。

4.6 剂量控制器
有关 FX4 剂量控制器接口的详细信息,请参阅 IGX – 程序员手册。组件父路径为 /fx4/dose_controller 。

FX4 Python 扩展amp莱斯

5.1 使用 HTTP 的数据记录器
这个前任ample 演示如何捕获多个读数并将其保存为 CSV file。通过选择读数之间的较长延迟,即使 FX4 的amp速率设置得越高,您就越能连续收集和存储较长时间的测量数据,而不会使系统超负荷,从而确保以适合您的分析的间隔捕获数据。读数之间的延迟有助于调节记录数据的速度,从而实现高效存储并降低丢失数据点的风险,同时仍可从高速 s 中获益amp用于实时测量。

PYRAMID FX4 编程器 - 使用 HTTP 的数据记录器PYRAMID FX4 编程器 - 使用 HTTP 2 的数据记录器PYRAMID FX4 编程器 - 使用 HTTP 3 的数据记录器PYRAMID FX4 编程器 - 使用 HTTP 4 的数据记录器

5.2 简单的 Python GUI
第二个前任ample 使用为 Python 构建的 Tkinter GUI 工具来创建测量电流的显示。此界面允许您以用户友好的图形格式可视化电流读数。可以调整显示大小,使其足够大,可以从房间的另一边读取,非常适合需要在较大空间进行实时监控的场景。Tkinter 提供了一种创建交互式界面的简单方法,通过将其与 FX4 集成,您可以快速构建测量电流的可视化显示,并可以根据您的特定需求进行自定义。

PYRAMID FX4 编程器 - 简单的 Python GUIPYRAMID FX4 程序员 - 简单的 Python GUI 2PYRAMID FX4 程序员 - 简单的 Python GUI 3PYRAMID FX4 程序员 - 简单的 Python GUI 4PYRAMID FX4 程序员 - 简单的 Python GUI 5PYRAMID FX4 程序员 - 简单的 Python GUI 6PYRAMID FX4 程序员 - 简单的 Python GUI 7

5.3 简单 Web插座防爆ample
这个前任ample 展示了 Web套接字接口,当需要最大带宽时,这是从 FX4 读取数据的首选方法。 Web套接字提供实时、全双工通信通道,与其他方法相比,可以实现更快、更高效的数据传输。
前任ample 阅读一系列amples,报告每秒的平均时间ample 和最大延迟,并将数据保存为 CSV file 以便日后分析。此设置可实现高效的实时监控,并可轻松存储数据以供后期处理。
可以实现的具体性能 Web套接字取决于以太网接口的可靠性和应用程序的相对优先级。为获得最佳效果,请确保网络稳定,并在必要时优先考虑 FX4 的数据传输。

PYRAMID FX4 编程器 - 简单 Web插座防爆amplePYRAMID FX4 编程器 - 简单 Web插座防爆amp乐 2PYRAMID FX4 编程器 - 简单 Web插座防爆amp乐 3

版本:v3
FX4 Python 扩展amp莱斯:21

文件/资源

PYRAMID FX4 编程器 [pdf] 使用说明书
FX4 编程器, FX4, 编程器

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *