www.pyramid.tech
FX4
FX4 程式設計師手冊
文檔 ID:2711715845
版本:v3
FX4 程式設計器
文檔 ID: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:XNUMX | 得到正式認可的 |
v2 | 新增了數位 IO 介面並引用回 IGX。 | 馬修·尼科爾斯 | 3 年 2024 月 7 日 下午 39:XNUMX | 得到正式認可的 |
v1 | 初始版本,仍在進行中。 | 馬修·尼科爾斯 | 21 年 2024 月 11 日下午 25:XNUMX | 得到正式認可的 |
文件控制 不重新viewed
目前文件版本: 1年XNUMX月XNUMX日
沒有重新view已分配。
1.1 簽名
最新文件版本
7 年 2025 月 10 日星期五,晚上 33:XNUMX(UTC)
馬修·尼科爾斯簽名;意思:回覆view
參考
文件 | 文件編號 | 作者 | 版本 |
IGX – 程式設計師手冊 | 2439249921 | 馬修·尼科爾斯 | 1 |
FX4 程式設計結束view
FX4 處理器在名為 IGX 的環境中運行,該環境基於 BlackBerry 的 QNX 高可靠性即時作業系統建置(QNX Web地點¹)。 IGX為想要編寫自己的主機軟體的使用者提供了靈活、全面的應用程式介面(API)。
IGX 環境與其他 Pyramid 產品共享,允許為一種產品開發的軟體解決方案輕鬆轉移到其他產品。
程式設計師可以參考 Pyramid 上提供的 IGX 完整文檔 web網站位於: IGX |現代模組化控制系統框架 Web的應用程式²
本節介紹測試兩種 API 方法:使用 JSON 格式的 HTTP 和 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
透過 EPICS(實驗物理和工業控制系統)連接 FX4 的過程類似。 EPICS 是一套用於開發和實施分散式控制系統的軟體工具和應用程序,廣泛應用於科學設施。
- 取得所需 IO 的 EPICS 流程變數 (PV) 名稱。
- 導入EPICS庫並讀取值。
2 取得 EPICS PV 名稱
3 個簡單的 Python EPICS 範例ample
此外,Pyramid 創建了一個實用程式(EPICS 連接⁴) 允許您即時監控 EPICS 過程變數。此工具有助於確認 EPICS PV 名稱是否正確以及 FX4 是否在您的網路上正確提供 PV。
4 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 。
IO路徑 | 描述 |
/fx4/adc/channel_x | 只讀數字測量的電流輸入。 |
/fx4/adc/channel_x/標量 | NUMBER 應用於通道的簡單無單位標量,預設為 1。 |
/fx4/adc/channel_x/zero_offset | NUMBER 通道的目前偏移量(以 nA 為單位)。 |
以下 IO 與通道無關,同時應用於所有通道。
IO路徑 | 描述 |
/fx4/channel_sum | 只讀數字目前輸入通道的總和。 |
/fx4/adc_單元 | STRING 設定每個通道和總和的目前使用者單位。 選項:“pa”、“na”、“ua”、“ma”、“a” |
/fx4/範圍 | STRING 設定目前輸入範圍。請參閱 GUI 以了解每個範圍代碼如何對應於最大電流輸入限制和 BW。 選項:“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7” |
/fx4/adc/sample_頻率 | NUMBER 頻率(Hz)ample 數據將被平均。這控制所有通道的信噪比和資料速率。 |
/fx4/adc/轉換頻率 | NUMBER ADC 將類比值轉換為數位值的頻率(以赫茲為單位)。預設情況下,該值為 100kHz,並且您很少需要更改該值。 |
/fx4/adc/offset_ Correction | 只讀數字所有通道目前偏移的總和。 |
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/讀回 | 只讀數字 測量體積tage 輸出。 這在使用表達式輸出模式時最有用。 |
/fx4/dac/channel_x/output_mode | 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 上的各種通用數位輸入和輸出有關。
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 用於配置其行為,包括控制該數字如何運作的操作模式。每個數字都有一組不同的可用選項。查看 GUI 以了解哪些 IO 有哪些可用選項的詳細資訊。
子 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_a或relay_b取代relay_x。
IO路徑 | 描述 |
/fx4/relay _ x/permit / 使用者 _ 指令 | BOOL 命令繼電器開啟或關閉。如果聯鎖被授予,則真實命令將嘗試關閉繼電器,而錯誤命令將始終打開繼電器。 |
/fx4/relay _ x/狀態 | 只讀字串繼電器的目前狀態。 鎖定的繼電器處於開啟狀態,但是由於聯鎖而無法關閉。 狀態:“開啟”、“關閉”或“鎖定” |
/fx4/relay_x/自動關閉 | BOOL 設定為真時,當聯鎖被授予時,繼電器將自動關閉。預設為 False。 |
/fx4/relay_x/週期_計數 | 只讀數字自上次重置以來的繼電器循環次數。對於追蹤繼電器壽命很有用。 |
4.5 高音量tage模塊
有關 FX4 高容量的詳細信息,請參閱 IGX - 程式設計師手冊tage 接口。組件父路徑為 /fx4/high_votlage 。
4.6 劑量控制器
有關 FX4 劑量控制器介面的詳細信息,請參閱 IGX - 程式設計師手冊。元件父路徑是 /fx4/dose_controller 。
FX4 Python 擴充amp萊斯
5.1 使用 HTTP 的資料記錄器
這個前任ample 示範如何擷取多個讀取並將其儲存為 CSV file。透過選擇讀數之間的較長延遲,您可以執行長期數據記錄,即使 FX4ampling 率設定得較高。這使得您可以在較長時間內連續收集和儲存測量數據,而不會使系統超負荷,從而確保以適合您的分析的時間間隔捕獲數據。讀數之間的延遲有助於調節資料記錄的速度,從而實現高效儲存並降低遺失資料點的風險,同時仍可受益於高速amp用於即時測量。
5.2 簡單的 Python GUI
第二個前任ample 使用為 Python 建構的 Tkinter GUI 工具來顯示測量的電流。此介面可讓您以使用者友善的圖形格式直觀地顯示當前讀數。顯示器可以調整大小,使其足夠大以便從房間的另一邊讀取,這使其成為需要在較大空間內進行即時監控的理想選擇。 Tkinter 提供了一種創建互動式介面的簡單方法,透過將其與 FX4 集成,您可以快速建立測量電流的可視化顯示,並可根據您的特定需求進行客製化。
5.3 簡單 Web插座防爆ample
這個前任ample 展示了 Web套接字接口,當需要最大頻寬時,這是從 FX4 讀取資料的首選方法。 Web套接字提供即時、全雙工通訊通道,與其他方法相比,可實現更快、更有效率的資料傳輸。
前任ample 閱讀一系列amples,報告每秒的平均時間ample 和最大延遲,並將資料儲存為 CSV file 以供後續分析。這種設定可以實現高效的即時監控,並能輕鬆儲存資料以供後期處理。
可以實現的具體性能 Web套接字取決於乙太網路介面的可靠性和應用程式的相對優先順序。為了獲得最佳效果,請確保您的網路穩定,並在必要時優先考慮 FX4 的資料傳輸。
版本:v3
FX4 Python 擴充amp萊斯:21
文件/資源
![]() |
PYRAMID FX4 程式設計器 [pdf] 使用說明書 FX4 程式設計器,FX4,程式設計器 |