www.pyramid.tech
FX4
Sổ tay lập trình FX4
ID tài liệu: 2711715845
Phiên bản: v3
Lập trình viên FX4
ID tài liệu: 2711715845
FX4 – Sổ tay lập trình FX4
ID tài liệu: 2711650310
Tác giả | Matthew Nichols |
Người sở hữu | Trưởng dự án |
Mục đích | Giải thích các khái niệm lập trình cần thiết để sử dụng API và mở rộng sản phẩm thông qua các ứng dụng bên ngoài. |
Phạm vi | Các khái niệm lập trình liên quan đến FX4. |
Đối tượng dự kiến | Các nhà phát triển phần mềm quan tâm đến việc sử dụng sản phẩm. |
Quá trình | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Quy trình tạo thủ công chuẩn |
Đào tạo | KHÔNG ÁP DỤNG |
Kiểm soát phiên bản
Phiên bản | Sự miêu tả | Được lưu bởi | Đã lưu vào | Trạng thái |
v3 | Đã thêm một đơn giản hơnview và nhiều hơn nữaampđồng nghiệp. | Matthew Nichols | Ngày 6 tháng 2025 năm 10 29:XNUMX PM | TÁN THÀNH |
v2 | Đã thêm giao diện IO kỹ thuật số và tham chiếu trở lại IGX. | Matthew Nichols | Ngày 3 tháng 2024 năm 7 39:XNUMX CH | TÁN THÀNH |
v1 | Bản phát hành đầu tiên, vẫn đang trong quá trình hoàn thiện. | Matthew Nichols | 21 tháng 2024 năm 11 25:XNUMX PM | TÁN THÀNH |
Kiểm soát tài liệu không lạiviewed
Phiên bản tài liệu hiện tại: v.1
Không làm lạiviewđược giao.
1.1 Chữ ký
cho phiên bản tài liệu mới nhất
Thứ sáu, ngày 7 tháng 2025 năm 10, 33:XNUMX PM UTC
Matthew Nichols đã ký; nghĩa là: Review
Tài liệu tham khảo
Tài liệu | ID tài liệu | Tác giả | Phiên bản |
IGX – Hướng dẫn lập trình viên | 2439249921 | Matthew Nichols | 1 |
Lập trình FX4 trênview
Bộ xử lý FX4 chạy trên môi trường có tên là IGX, được xây dựng trên hệ điều hành thời gian thực độ tin cậy cao QNX của BlackBerry (QNX Webđịa điểm¹). IGX cung cấp giao diện lập trình ứng dụng (API) linh hoạt và toàn diện cho người dùng muốn viết phần mềm máy tính chủ của riêng mình.
Môi trường IGX được chia sẻ trên các sản phẩm Pyramid khác, cho phép các giải pháp phần mềm được phát triển cho một sản phẩm có thể dễ dàng chuyển giao sang các sản phẩm khác.
Các lập trình viên có thể tham khảo tài liệu đầy đủ về IGX có sẵn trên Pyramid webtrang web tại: IGX | Khung hệ thống điều khiển mô-đun hiện đại cho Web- Ứng dụng được kích hoạt²
Phần này cung cấp phần giới thiệu về việc thử nghiệm hai phương pháp API: HTTP sử dụng định dạng JSON và EPICS. Để đơn giản, Python (Trăn Webđịa điểm³) được sử dụng như một ví dụampngôn ngữ máy chủ dễ sử dụng và dễ tiếp cận đối với cả những lập trình viên không chuyên nghiệp.
3.1 Sử dụng Python và HTTP
Là một cựuample, giả sử bạn muốn đọc tổng các dòng điện được đo bằng Python. Bạn cần URL cho IO cụ thể đó. FX4 web GUI cung cấp một cách dễ dàng để tìm ra điều này: chỉ cần nhấp chuột phải vào trường và chọn 'Sao chép HTTP URL' để sao chép chuỗi vào bảng tạm.
Bây giờ bạn có thể sử dụng Python để kiểm tra kết nối với phần mềm người dùng qua HTTP và JSON. Bạn có thể cần nhập các yêu cầu và thư viện json để xử lý các yêu cầu HTTP và phân tích dữ liệu.
1 Python HTTP Ex đơn giảnample
3.2 Sử dụng EPICS
Quá trình kết nối FX4 thông qua EPICS (Hệ thống điều khiển công nghiệp và vật lý thực nghiệm) cũng tương tự. EPICS là một bộ công cụ phần mềm và ứng dụng được sử dụng để phát triển và triển khai các hệ thống điều khiển phân tán, được sử dụng rộng rãi trong các cơ sở khoa học.
- Lấy tên biến quy trình EPICS (PV) cho IO mong muốn.
- Nhập thư viện EPICS và đọc giá trị.
2 Nhận Tên EPICS PV
3 bài tập Python EPICS đơn giảnample
Ngoài ra, Pyramid đã tạo ra một tiện ích (Kết nối EPICS⁴) cho phép bạn theo dõi các biến quy trình EPICS theo thời gian thực. Công cụ này hữu ích để xác nhận xem tên PV EPICS có đúng không và FX4 có phục vụ PV đúng cách trên mạng của bạn không.
4 PTC EPICS Kết nối
API lập trình FX4
Các khái niệm và phương pháp được mô tả trong sách hướng dẫn này được xây dựng dựa trên các khái niệm được thiết lập trong IGX – Sổ tay lập trình viên. Vui lòng xem tài liệu đó để được giải thích và ví dụamphướng dẫn về cách thức hoạt động của lập trình và giao diện IGX cơ bản. Hướng dẫn này sẽ chỉ đề cập đến IO dành riêng cho thiết bị và chức năng độc đáo của FX4.
4.1 Đầu vào tương tự IO
Các IO này liên quan đến việc cấu hình và thu thập dữ liệu trên các đầu vào dòng điện tương tự của FX4. Các đơn vị của đầu vào kênh dựa trên cài đặt có thể cấu hình của người dùng được gọi là “Sample Units”, các tùy chọn hợp lệ bao gồm pA, nA, uA, mA và A.
Cả 4 kênh đều sử dụng cùng một giao diện IO và được điều khiển độc lập. Thay thế channel_x bằng channel_1, channel_2, channel_3 hoặc channel_4 tương ứng.
Đường dẫn IO | Sự miêu tả |
/fx4/adc/kênh_x | CHỈ ĐỌC SỐ Dòng điện đầu vào được đo. |
/fx4/adc/channel_x/vô hướng | SỐ Đơn vị đơn giản không có số vô hướng được áp dụng cho kênh, mặc định là 1. |
/fx4/adc/channel_x/zero_offset | SỐ Độ lệch dòng điện tính bằng nA cho kênh. |
Các IO sau đây không độc lập với kênh và được áp dụng cho tất cả các kênh cùng lúc.
Đường dẫn IO | Sự miêu tả |
/fx4/kênh_tổng | CHỈ ĐỌC SỐ Tổng số kênh đầu vào hiện tại. |
/fx4/adc_unit | STRING Đặt đơn vị người dùng hiện tại cho mỗi kênh và tổng. Tùy chọn: “pa”, “na”, “ua”, “ma”, “a” |
/fx4/phạm vi | STRING Đặt phạm vi đầu vào hiện tại. Xem GUI để biết cách mỗi mã phạm vi tương ứng với giới hạn đầu vào hiện tại tối đa và BW. Tùy chọn: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7” |
/fx4/adc/giâyamptần số | SỐ Tần số tính bằng Hz mà sampDữ liệu sẽ được tính trung bình. Điều này kiểm soát tỷ lệ tín hiệu trên nhiễu và tốc độ dữ liệu cho tất cả các kênh. |
/fx4/adc/tần số chuyển đổi | SỐ Tần số tính bằng Hz mà ADC sẽ chuyển đổi giá trị analog sang giá trị số. Theo mặc định, đây là 100kHz và bạn hiếm khi cần thay đổi giá trị này. |
/fx4/adc/offset_correction | SỐ CHỈ ĐỌC Tổng tất cả các độ lệch hiện tại của kênh. |
4.2 Đầu ra tương tự IO
Các IO này liên quan đến cấu hình đầu ra tương tự mục đích chung của FX4 nằm bên dưới đầu vào tương tự trên bảng điều khiển phía trước. Cả 4 kênh đều sử dụng cùng một giao diện IO và được điều khiển độc lập. Thay thế channel_x bằng channel_1, channel_2, channel_3 hoặc channel_4 tương ứng.
Đường dẫn IO | Sự miêu tả |
/fx4/dac /kênh_x | Số lệnh voltage đầu ra. Giá trị này chỉ có thể được ghi vào khi chế độ đầu ra được đặt thành thủ công. |
/fx4/dac/kênh_x/đọc lại | CHỈ ĐỌC SỐ Đo được thể tíchtage đầu ra. Điều này hữu ích nhất khi sử dụng chế độ đầu ra biểu thức. |
/fx4/dac/channel_x/chế độ đầu ra | STRING Thiết lập chế độ đầu ra cho kênh. Tùy chọn: “thủ công”, “biểu thức”, “quy trình_kiểm soát” |
/fx4/dac/kênh _ x/slew_control_enable | BOOL Bật hoặc tắt giới hạn tốc độ thay đổi. |
/fx4/dac/kênh_x/tốc_độ_lớn | SỐ Tốc độ quay tính bằng V/giây cho kênh. |
/fx4/dac/kênh_x/giới_hạn_trên | SỐ Lượng lệnh tối đa được phéptage cho kênh. Áp dụng cho tất cả các chế độ hoạt động. |
/fx4/dac/kênh _ x/lower_limit | SỐ Lượng lệnh tối thiểu được phéptage cho kênh. Áp dụng cho tất cả các chế độ hoạt động. |
/fx4/dac/channel _ x/ biểu thức đầu ra | STRING Đặt chuỗi biểu thức được kênh sử dụng khi ở chế độ đầu ra biểu thức. |
/fx4/dac/kênh _ nút x/reset | NÚT Đặt lại lệnh voltage đến 0. |
4.3 Đầu vào và đầu ra kỹ thuật số
Các IO này liên quan đến việc kiểm soát nhiều đầu vào và đầu ra kỹ thuật số đa năng khác nhau có trên FX4.
Đường dẫn IO | Sự miêu tả |
/fx4/fr1 | CHỈ ĐỌC BOOL Bộ thu sợi quang 1. |
/fx4/ft1 | Máy phát sợi quang BOOL 1. |
/fx4/fr2 | CHỈ ĐỌC BOOL Bộ thu sợi quang 2. |
/fx4/ft2 | Máy phát sợi quang BOOL 2. |
/fx4/fr3 | CHỈ ĐỌC BOOL Bộ thu sợi quang 3. |
/fx4/ft3 | Máy phát sợi quang BOOL 3. |
/fx4/mở rộng kỹ thuật số/d1 | Mở rộng kỹ thuật số hai chiều BOOL D1 IO. |
/fx4/mở rộng kỹ thuật số/d2 | Mở rộng kỹ thuật số hai chiều BOOL D2 IO. |
/fx4/mở rộng kỹ thuật số/d3 | Mở rộng kỹ thuật số hai chiều BOOL D3 IO. |
/fx4/mở rộng kỹ thuật số/d4 | Mở rộng kỹ thuật số hai chiều BOOL D4 IO. |
4.3.1 Cấu hình IO kỹ thuật số
Tất cả các digital đều có IO con để cấu hình hành vi của chúng bao gồm chế độ hoạt động kiểm soát cách digital đó hoạt động. Mỗi digital sẽ có một tập hợp các tùy chọn khả dụng khác nhau. Xem GUI để biết chi tiết về các tùy chọn khả dụng cho IO nào.
Đường dẫn IO con | Sự miêu tả |
…/cách thức | STRING Chế độ hoạt động cho kỹ thuật số. Tùy chọn: “input“, “output”, “pwm”, “timer”, “encoder”, “capture”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input” hoặc “pru_output” |
…/xử lý tín hiệu | CHUỖI Tên tín hiệu điều khiển quy trình, nếu có. |
…/chế độ kéo | STRING Chế độ kéo lên/xuống cho đầu vào kỹ thuật số. Tùy chọn: “lên”, “xuống” hoặc “vô hiệu hóa” |
4.4 Điều khiển rơle
Cả hai rơle đều được điều khiển độc lập và chia sẻ cùng một loại giao diện. Thay thế relay_x bằng relay_a hoặc relay_b tương ứng.
Đường dẫn IO | Sự miêu tả |
/fx4/relay _ lệnh x/permit /user | BOOL Lệnh mở hoặc đóng rơle. Lệnh true sẽ cố gắng đóng rơle nếu khóa liên động được cấp, và lệnh false sẽ luôn mở rơle. |
/fx4/relay _ x/trạng thái | CHUỖI CHỈ ĐỌC Trạng thái hiện tại của rơle. Rơ le khóa mở nhưng không thể đóng lại do có liên động. Trạng thái: “đã mở”, “đã đóng” hoặc “đã khóa” |
/fx4/relay _ x/tự động _ đóng | BOOL Khi được đặt thành true, rơ le sẽ tự động đóng khi khóa liên động được cấp. Mặc định là False. |
/fx4/relay _ x/ chu kỳ _ đếm | READONLY NUMBER Số chu kỳ rơle kể từ lần đặt lại cuối cùng. Hữu ích để theo dõi tuổi thọ rơle. |
4.5 Vol caotage Mô-đun
Xem IGX – Hướng dẫn lập trình để biết chi tiết về FX4 âm lượng caotagGiao diện e. Đường dẫn cha của thành phần là /fx4/high_votlage.
4.6 Bộ điều khiển liều lượng
Xem IGX – Hướng dẫn lập trình để biết chi tiết về giao diện bộ điều khiển liều FX4. Đường dẫn cha của thành phần là /fx4/dose_controller.
FX4 Python Examptập
5.1 Trình ghi dữ liệu sử dụng HTTP
Cái này cũample trình bày cách thu thập một số lượng các phép đọc và lưu chúng vào CSV file. Bằng cách chọn độ trễ dài giữa các lần đọc, bạn có thể thực hiện ghi dữ liệu dài hạn ngay cả khi FX4ampTốc độ ling được thiết lập cao hơn. Điều này cho phép bạn liên tục thu thập và lưu trữ các phép đo trong thời gian dài mà không làm quá tải hệ thống, đảm bảo dữ liệu được thu thập theo các khoảng thời gian phù hợp với phân tích của bạn. Độ trễ giữa các lần đọc giúp điều chỉnh tốc độ ghi dữ liệu, cho phép lưu trữ hiệu quả và giảm nguy cơ bỏ lỡ các điểm dữ liệu trong khi vẫn được hưởng lợi từ tốc độ caoampling để đo lường thời gian thực.
5.2 Giao diện người dùng Python đơn giản
Người yêu cũ thứ haiample sử dụng công cụ GUI Tkinter, được xây dựng cho Python, để tạo màn hình hiển thị các dòng điện đã đo. Giao diện này cho phép bạn trực quan hóa các số đọc hiện tại theo định dạng đồ họa thân thiện với người dùng. Màn hình có thể được thay đổi kích thước để đủ lớn để đọc từ khắp phòng, lý tưởng cho các tình huống cần giám sát thời gian thực trong không gian lớn hơn. Tkinter cung cấp một cách dễ dàng để tạo giao diện tương tác và bằng cách tích hợp nó với FX4, bạn có thể nhanh chóng xây dựng màn hình hiển thị trực quan các dòng điện đã đo có thể tùy chỉnh để phù hợp với nhu cầu cụ thể của mình.
5.3 Đơn giản WebỔ cắm Example
Cái này cũample chứng minh WebGiao diện socket là phương pháp được ưa chuộng để đọc dữ liệu từ FX4 khi cần băng thông tối đa. WebSocket cung cấp kênh truyền thông song công thời gian thực, cho phép truyền dữ liệu nhanh hơn và hiệu quả hơn so với các phương pháp khác.
Người cũample đọc một loạt các samples, báo cáo thời gian trung bình mỗi giâyample và độ trễ tối đa, và lưu dữ liệu vào CSV file để phân tích sau. Thiết lập này cho phép giám sát hiệu quả theo thời gian thực và lưu trữ dữ liệu dễ dàng để xử lý sau.
Hiệu suất cụ thể có thể đạt được với WebSockets phụ thuộc vào độ tin cậy của giao diện Ethernet và mức độ ưu tiên tương đối của ứng dụng. Để có kết quả tối ưu, hãy đảm bảo rằng mạng của bạn ổn định và việc truyền dữ liệu của FX4 được ưu tiên nếu cần.
Phiên bản: v3
FX4 Python Examples: 21
Tài liệu / Tài nguyên
![]() |
Lập trình viên PYRAMID FX4 [tập tin pdf] Hướng dẫn sử dụng Lập trình viên FX4, FX4, Lập trình viên |