logo PIRAMIDAwww.piramida.tech
FX4
Podręcznik programisty FX4
Identyfikator dokumentu: 2711715845
Wersja: v3Programista PYRAMID FX4

Programista FX4

Identyfikator dokumentu: 2711715845
FX4 – Podręcznik programisty FX4

Programista PYRAMID FX4 - ikona Identyfikator dokumentu: 2711650310

Autor Matthew Nichols
Właściciel Lider projektu
Zamiar Wyjaśnij koncepcje programistyczne niezbędne do korzystania z API i rozszerzania produktu o aplikacje zewnętrzne.
Zakres Koncepcje programistyczne związane z FX4.
Docelowa grupa odbiorców Twórcy oprogramowania zainteresowani użyciem produktu.
Proces https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Standardowy%20ręczny%20proces%20tworzenia
Szkolenie NIE DOTYCZY

Kontrola wersji

Wersja Opis  Zapisane przez  Zapisano na  Status
v3 Dodano prosty overview i więcej byłychamples. Matthew Nichols 6 mar 2025 10:29 ZATWIERDZONY
v2 Dodano cyfrowe interfejsy IO i odwołania do IGX. Matthew Nichols 3 maja 2024 7:39 ZATWIERDZONY
v1 Wersja pierwsza, prace wciąż w toku. Matthew Nichols 21 lut 2024 11:25 ZATWIERDZONY

Programista PYRAMID FX4 - ikona 1 Kontrola dokumentów Nie Reviewed
Aktualna wersja dokumentu: wersja 1
Nie, ponownieviewprzydzieleni.

1.1 Podpisy
dla najnowszej wersji dokumentu
Piątek, 7 marca 2025, 10:33 UTC
Matthew Nichols podpisał ; co oznacza: Review

Odniesienia

Dokument Identyfikator dokumentu  Autor  Wersja
IGX – Podręcznik programisty 2439249921 Matthew Nichols 1

Koniec programowania FX4view

Procesor FX4 działa w środowisku o nazwie IGX, które zbudowano na niezawodnym systemie operacyjnym czasu rzeczywistego QNX firmy BlackBerry (QNX Webstrona¹). IGX zapewnia elastyczny i kompleksowy interfejs programowania aplikacji (API) dla użytkowników, którzy chcą pisać własne oprogramowanie komputera hosta.
Środowisko IGX jest współdzielone przez inne produkty Pyramid, co pozwala na łatwe przenoszenie rozwiązań programowych opracowanych dla jednego produktu do innych.
Programiści mogą zapoznać się z pełną dokumentacją IGX dostępną na Pyramid webstrona pod adresem: IGX | Nowoczesny modułowy system sterowania dla Web-włączone aplikacje²

Ta sekcja zawiera wprowadzenie do testowania dwóch metod API: HTTP przy użyciu formatu JSON i EPICS. Dla uproszczenia Python (Pyton Webstrona³) jest używany jako byłyampjęzyk programowania komputera hosta, który jest przystępny i łatwy w użyciu nawet dla programistów nieprofesjonalnych.

3.1 Korzystanie z Pythona i HTTP
Jako byłyample, załóżmy, że chcesz odczytać sumę zmierzonych prądów za pomocą Pythona. Potrzebujesz URL dla tego konkretnego IO. FX4 web Interfejs graficzny użytkownika zapewnia łatwy sposób na znalezienie tego: wystarczy kliknąć prawym przyciskiem myszy w polu i wybrać opcję „Kopiuj protokół HTTP”. URL' aby skopiować ciąg do schowka.

Programista PYRAMID FX4 — korzystanie z Pythona i protokołu HTTP

Teraz możesz użyć Pythona do testowania łączności z oprogramowaniem użytkownika przez HTTP i JSON. Może być konieczne zaimportowanie bibliotek żądań i json w celu obsługi żądań HTTP i analizy danych.

Programista PYRAMID FX4 - żądania HTTP i parsowanie danych1 Prosty Python HTTP Example

3.2 Korzystanie z EPICS
Proces łączenia FX4 przez EPICS (Experimental Physics and Industrial Control System) jest podobny. EPICS to zestaw narzędzi programowych i aplikacji służących do opracowywania i wdrażania rozproszonych systemów sterowania, szeroko stosowanych w placówkach naukowych.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Pobierz nazwę zmiennej procesowej EPICS (PV) dla żądanego wejścia/wyjścia.
  2. Zaimportuj bibliotekę EPICS i odczytaj wartość.

Programista PYRAMID FX4 - zmienna procesu EPICS2 Uzyskaj nazwę EPICS PVProgramista PYRAMID FX4 - Simple Python EPICS Example3 proste EPICS Python Example

Dodatkowo Pyramid stworzył narzędzie (Połącz EPICS⁴) umożliwiające monitorowanie zmiennych procesu EPICS w czasie rzeczywistym. To narzędzie jest pomocne w potwierdzeniu, czy nazwa EPICS PV jest poprawna i czy FX4 prawidłowo obsługuje PV w sieci.

Programista PYRAMID FX4 - EPICS Connect4 Połącz PTC EPICS

Interfejs API programowania FX4

Koncepcje i metody opisane w tym podręczniku opierają się na koncepcjach ustalonych w IGX – Podręcznik programisty. Proszę zapoznać się z tym dokumentem w celu uzyskania wyjaśnień i npampwięcej informacji o tym, jak działa podstawowe oprogramowanie i interfejsy IGX. Niniejsza instrukcja opisuje wyłącznie wejścia/wyjścia specyficzne dla urządzenia i funkcjonalność, która jest unikalna dla FX4.

4.1 Wejście analogowe I/O
Te wejścia/wyjścia dotyczą konfiguracji i gromadzenia danych na analogowych wejściach prądowych FX4. Jednostki wejść kanałów oparte są na konfigurowalnym przez użytkownika ustawieniu o nazwie „Sample Units”, prawidłowe opcje obejmują pA, nA, uA, mA i A.
Wszystkie 4 kanały korzystają z tego samego interfejsu IO i są niezależnie sterowane. Zamień kanał_x odpowiednio na kanał_1 , kanał_2 , kanał_3 lub kanał_4 .

Ścieżka wejścia/wyjścia Opis
/fx4/adc/kanał_x LICZBA TYLKO DO ODCZYTU Zmierzony prąd wejściowy.
/fx4/adc/kanał_x/scalar LICZBA Prosty skalar bez jednostek stosowany do kanału, domyślnie 1.
/fx4/adc/kanał_x/zero_offset LICZBA Aktualne przesunięcie w nA dla kanału.

Poniższe IO nie są niezależne od kanału i są stosowane do wszystkich kanałów jednocześnie.

Ścieżka wejścia/wyjścia  Opis
/fx4/suma_kanału LICZBA TYLKO DO ODCZYTU Suma bieżących kanałów wejściowych.
/fx4/adc_unit STRING Ustawia bieżące jednostki użytkownika dla każdego kanału i sumę.
Opcje: „pa”, „na”, „ua”, „ma”, „a”
/fx4/zakres STRING Ustawia bieżący zakres wejściowy. Zobacz GUI, aby dowiedzieć się, jak każdy kod zakresu odpowiada maksymalnym bieżącym limitom wejściowym i BW.
Opcje: „0”, „1”, „2”, „3”, „4”, „5”, „6”, „7”
/fx4/adc/sample_częstotliwość LICZBA Częstotliwość w Hz, któraampdane zostaną uśrednione. Kontroluje stosunek sygnału do szumu i szybkość transmisji danych dla wszystkich kanałów.
/fx4/adc/częstotliwość_konwersji NUMBER Częstotliwość w Hz, przy której ADC będzie konwertować wartości analogowe na cyfrowe. Domyślnie jest to 100 kHz i rzadko będziesz musiał zmieniać tę wartość.
/fx4/adc/offset_korekta LICZBA TYLKO DO ODCZYTU Suma wszystkich bieżących przesunięć kanału.

4.2 Wyjście analogowe I/O
Te wejścia/wyjścia odnoszą się do konfiguracji wyjść analogowych ogólnego przeznaczenia FX4 znajdujących się pod wejściami analogowymi na panelu przednim. Wszystkie 4 kanały korzystają z tego samego interfejsu IO i są niezależnie sterowane. Zamień kanał_x odpowiednio na kanał_1, kanał_2, kanał_3 lub kanał_4.

Ścieżka wejścia/wyjścia  Opis
/fx4/dac /kanał_x NUMBER Polecenie voltagwyjście. Wartość tę można zapisać tylko wtedy, gdy tryb wyjścia jest ustawiony na ręczny.
/fx4/dac/channel_x/readback LICZBA TYLKO DO ODCZYTU Zmierzona objętośćtage wyjście.
Jest to najbardziej przydatne w przypadku korzystania z trybu wyjścia wyrażenia.
/fx4/dac/kanał_x/tryb_wyjściowy STRING Ustawia tryb wyjściowy dla kanału.
Opcje: „manual”, „expression”, „process_control”
/fx4/dac/kanał _ x/slew_control_enable BOOL Włącza lub wyłącza ograniczanie szybkości narastania.
/fx4/dac/kanał_x/szybkość_narastania LICZBA Szybkość narastania sygnału w V/s dla danego kanału.
/fx4/dac/kanał_x/górny_limit LICZBA Maksymalna dozwolona objętość poleceniatage dla kanału. Dotyczy wszystkich trybów pracy.
/fx4/dac/kanał _ x/dolny_limit LICZBA Minimalna dozwolona objętość poleceniatage dla kanału. Dotyczy wszystkich trybów pracy.
/fx4/dac/channel _ x/ output _ wyrażenie STRING Ustawia ciąg wyrażenia używany przez kanał, gdy znajduje się w trybie wyjścia wyrażenia.
/fx4/dac/kanał _ x/reset_button PRZYCISK Resetuje polecenie voltage do 0.

4.3 Wejścia i wyjścia cyfrowe
Te wejścia/wyjścia odpowiadają za sterowanie różnymi uniwersalnymi wejściami i wyjściami cyfrowymi dostępnymi w komputerze FX4.

Ścieżka wejścia/wyjścia  Opis
/fx4/fr1 TYLKO DO ODCZYTU BOOL Odbiornik światłowodowy 1.
/fx4/ft1 BOOL Nadajnik światłowodowy 1.
/fx4/fr2 TYLKO DO ODCZYTU BOOL Odbiornik światłowodowy 2.
/fx4/ft2 BOOL Nadajnik światłowodowy 2.
/fx4/fr3 TYLKO DO ODCZYTU BOOL Odbiornik światłowodowy 3.
/fx4/ft3 BOOL Nadajnik światłowodowy 3.
/fx4/rozszerzenie_cyfrowe/d1 BOOL D1 dwukierunkowe cyfrowe rozszerzenie IO.
/fx4/rozszerzenie_cyfrowe/d2 BOOL D2 dwukierunkowe cyfrowe rozszerzenie IO.
/fx4/rozszerzenie_cyfrowe/d3 BOOL D3 dwukierunkowe cyfrowe rozszerzenie IO.
/fx4/rozszerzenie_cyfrowe/d4 BOOL D4 dwukierunkowe cyfrowe rozszerzenie IO.

4.3.1 Konfiguracja cyfrowego wejścia/wyjścia
Wszystkie cyfrowe mają podrzędne IO do konfigurowania ich zachowania, w tym tryb działania, który kontroluje sposób działania danego cyfrowego. Każdy cyfrowy będzie miał inny zestaw dostępnych opcji. Zobacz GUI, aby uzyskać szczegółowe informacje na temat tego, jakie opcje są dostępne dla danego IO.

Ścieżka IO dziecka Opis
…/tryb STRING Tryb pracy dla cyfrowego.
Opcje: „input”, „output”, „pwm”, „timer”, „enkoder”, „capture”, „uart_rx”, „uart_tx”, „can_rx”, „can_tx”, „pru_input” lub „pru_output”
…/process_signal STRING Nazwa sygnału sterującego procesem, jeśli taka istnieje.
…/tryb_pull STRING Tryb pull up/down dla wejścia cyfrowego.
Opcje: „w górę”, „w dół” lub „wyłącz”

4.4 Sterowanie przekaźnikiem
Oba przekaźniki są niezależnie kontrolowane i współdzielą ten sam typ interfejsu. Zamień relay_x na relay_a lub relay_b odpowiednio.

Ścieżka wejścia/wyjścia  Opis
/fx4/relay _ x/permit / user _ polecenie BOOL Polecenie otwiera lub zamyka przekaźnik. Polecenie true spróbuje zamknąć przekaźnik, jeśli blokady zostaną przyznane, a polecenie false zawsze otworzy przekaźnik.
/fx4/przekaźnik _ x/stan TYLKO DO ODCZYTU CIĄG Aktualny stan przekaźnika.
Zablokowane przekaźniki są otwarte, ale nie mogą zostać zamknięte ze względu na blokadę.
Stany: „otwarty”, „zamknięty” lub „zablokowany”
/fx4/relay _ x/automatycznie _ zamknij BOOL Gdy ustawione na true, przekaźnik automatycznie zamknie się, gdy blokady zostaną przyznane. Domyślnie false.
/fx4/relay _ x/ liczba cykli READONLY NUMBER Liczba cykli przekaźnika od ostatniego resetu. Przydatne do śledzenia żywotności przekaźnika.

4.5 Wysoka objętośćtage Moduł
Więcej szczegółów na temat regulatora głośności FX4 można znaleźć w podręczniku programisty IGX.taginterfejs. Ścieżka nadrzędna komponentu to /fx4/high_votlage .

4.6 Kontroler dawki
Szczegóły dotyczące interfejsu kontrolera dawki FX4 można znaleźć w podręczniku IGX – Programmer Manual. Ścieżka nadrzędna komponentu to /fx4/dose_controller .

FX4 Python Examples

5.1 Rejestrator danych wykorzystujący protokół HTTP
Ten byłyamppokazuje, jak przechwycić szereg odczytów i zapisać je w pliku CSV fileWybierając długie opóźnienie między odczytami, możesz wykonywać długoterminowe rejestrowanie danych, nawet jeśli FX4 sampling rate jest ustawiony na wyższą wartość. Pozwala to na ciągłe zbieranie i przechowywanie pomiarów przez dłuższy czas bez przeciążania systemu, zapewniając, że dane są przechwytywane w odstępach czasu odpowiednich do analizy. Opóźnienie między odczytami pomaga regulować tempo, w jakim dane są rejestrowane, umożliwiając wydajne przechowywanie i zmniejszając ryzyko pominięcia punktów danych, a jednocześnie korzystając z szybkich sampling umożliwiający pomiary w czasie rzeczywistym.

Programator PYRAMID FX4 - Rejestrator danych z wykorzystaniem protokołu HTTPProgramator PYRAMID FX4 - Rejestrator danych wykorzystujący protokół HTTP 2Programator PYRAMID FX4 - Rejestrator danych wykorzystujący protokół HTTP 3Programator PYRAMID FX4 - Rejestrator danych wykorzystujący protokół HTTP 4

5.2 Prosty interfejs użytkownika Pythona
Drugi example używa narzędzia Tkinter GUI, które jest zbudowane dla Pythona, aby utworzyć wyświetlacz zmierzonych prądów. Ten interfejs pozwala na wizualizację bieżących odczytów w przyjaznym dla użytkownika formacie graficznym. Wyświetlacz można zmienić, aby był wystarczająco duży, aby można go było odczytać z drugiego końca pokoju, co czyni go idealnym do scenariuszy, w których monitorowanie w czasie rzeczywistym jest potrzebne w większych przestrzeniach. Tkinter zapewnia łatwy sposób tworzenia interaktywnych interfejsów, a integrując go z FX4, można szybko zbudować wizualny wyświetlacz zmierzonych prądów, który można dostosować do swoich konkretnych potrzeb.

Programista PYRAMID FX4 - prosty interfejs użytkownika PythonProgramista PYRAMID FX4 - Prosty interfejs użytkownika Python 2Programista PYRAMID FX4 - Prosty interfejs użytkownika Python 3Programista PYRAMID FX4 - Prosty interfejs użytkownika Python 4Programista PYRAMID FX4 - Prosty interfejs użytkownika Python 5Programista PYRAMID FX4 - Prosty interfejs użytkownika Python 6Programista PYRAMID FX4 - Prosty interfejs użytkownika Python 7

5.3 Proste WebGniazda Example
Ten byłyample demonstruje WebInterfejs gniazd, który jest preferowaną metodą odczytu danych z FX4, gdy wymagana jest maksymalna przepustowość. WebGniazda zapewniają kanał komunikacyjny w czasie rzeczywistym i w trybie pełnego dupleksu, umożliwiając szybszy i wydajniejszy transfer danych w porównaniu z innymi metodami.
Byłyampczyta serię samples, raportuje średni czas na sekundęample i maksymalne opóźnienie, a następnie zapisuje dane do pliku CSV file do późniejszej analizy. Ta konfiguracja umożliwia wydajne monitorowanie w czasie rzeczywistym i łatwe przechowywanie danych do późniejszego przetwarzania.
Konkretna wydajność, jaką można osiągnąć dzięki WebGniazda zależą od niezawodności interfejsu Ethernet i względnego priorytetu aplikacji. Aby uzyskać optymalne wyniki, upewnij się, że sieć jest stabilna i że transmisja danych FX4 jest priorytetyzowana, jeśli to konieczne.

Programista PYRAMID FX4 - prosty WebGniazda ExampleProgramista PYRAMID FX4 - prosty WebGniazda Examp2Programista PYRAMID FX4 - prosty WebGniazda Examp3

Wersja: v3
FX4 Python Examppliki: 21

Dokumenty / Zasoby

Programista PYRAMID FX4 [plik PDF] Instrukcja obsługi
Programista FX4, FX4, Programista

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *