www.pyramid.tech
FX4
FX4 Programmer Manual
ID Dokumén: 2711715845
Vérsi: v3
Programmer FX4
ID Dokumén: 2711715845
FX4 - FX4 Programmer Manual
ID Dokumén: 2711650310
Pangarang | Matthew Nichols |
Nu boga | Proyék Lead |
Tujuan | Ngajelaskeun konsép programming perlu ngagunakeun API tur manjangkeun produk ngaliwatan aplikasi éksternal. |
Lingkup | FX4 konsép programming patali. |
Hadirin anu dimaksad | pamekar software kabetot dina ngagunakeun produk. |
Prosés | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standar%20Manual%20Creation%20Proses |
Latihan | HENTEU TIASA DIANGGO |
Vérsi Control
Vérsi | Katerangan | Disalametkeun ku | Disimpen dina | Status |
v3 | Ditambahkeun leuwih basajanview jeung leuwih examples. | Matthew Nichols | 6 deui 2025 10:29 | Disatujuan |
v2 | Ditambahkeun panganteur IO digital sarta rujukan deui ka IGX. | Matthew Nichols | 3 Méi 2024 7:39 | Disatujuan |
v1 | Pelepasan awal, masih aya dina kamajuan. | Matthew Nichols | 21 Pébruari 2024 11:25 | Disatujuan |
Dokumén Control Henteu Reviewed
Vérsi dokumén ayeuna: v.1
Taya deuiviewers ditugaskeun.
1.1 Tanda tangan
pikeun versi dokumén panganyarna
Jumaah 7 Mar 2025, 10:33 UTC
Matthew Nichols ditandatanganan; hartina: Review
Rujukan
Dokumén | Dokumén ID | Pangarang | Vérsi |
IGX - Manual Programmer | 2439249921 | Matthew Nichols | 1 |
FX4 Programming Leuwihview
Prosesor FX4 dijalankeun dina lingkungan anu disebut IGX, anu diwangun dina sistem operasi real-time QNX anu tiasa dipercaya ti BlackBerry (QNX Websitus¹). IGX nyadiakeun antarbeungeut program aplikasi fléksibel tur komprehensif (API) pikeun pamaké anu rék nulis software komputer host sorangan.
Lingkungan IGX dibagi kana produk Piramida anu sanés, ngamungkinkeun solusi parangkat lunak anu dikembangkeun pikeun hiji produk gampang dialihkeun ka anu sanés.
Programer tiasa ningali kana dokuméntasi lengkep pikeun IGX anu aya dina Piramida websitus di: IGX | Modern Modular Control System kerangka pikeun Web-Aplikasi diaktipkeun²
Bagian ieu nyayogikeun bubuka pikeun nguji dua metode API: HTTP nganggo format JSON sareng EPICS. Pikeun kesederhanaan, Python (Python Websitus³) dipaké salaku example host basa komputer, nu bisa diasupan sarta gampang ngagunakeun pikeun programer non-profésional.
3.1 Ngagunakeun Python jeung HTTP
Salaku urutample, anggap rék maca jumlah arus diukur kalawan Python. Anjeun peryogi éta URL pikeun IO tinangtu éta. FX4 web GUI nyadiakeun cara nu panggampangna pikeun manggihan ieu: saukur klik katuhu dina widang tur pilih 'Salin HTTP URL' pikeun nyalin string ka clipboard.
Ayeuna anjeun tiasa nganggo Python pikeun nguji konektipitas ka parangkat lunak pangguna ngalangkungan HTTP sareng JSON. Anjeun panginten kedah ngimpor pamundut sareng perpustakaan json pikeun nanganan pamundut HTTP sareng parsing data.
1 Basajan Python HTTP Example
3.2 Ngagunakeun EPICS
Prosés pikeun nyambungkeun FX4 ngaliwatan EPICS (Fisika Ékspérimén sarta Sistem Kontrol Industri) sarupa. EPICS mangrupikeun sakumpulan alat parangkat lunak sareng aplikasi anu dianggo pikeun ngembangkeun sareng nerapkeun sistem kontrol anu disebarkeun, seueur dianggo dina fasilitas ilmiah.
- Kéngingkeun nami variabel prosés EPICS (PV) pikeun IO anu dipikahoyong.
- Impor perpustakaan EPICS sareng baca nilaina.
2 Meunang Ngaran PV EPICS
3 Basajan Python EPICS Example
Salaku tambahan, Piramida nyiptakeun utilitas (EPICS Nyambung⁴) anu ngamungkinkeun anjeun ngawas variabel prosés EPICS sacara real-time. Alat ieu ngabantosan pikeun ngonfirmasi upami nami PV EPICS leres sareng FX4 ngalayanan PV leres dina jaringan anjeun.
4 PTC EPICS Nyambung
FX4 Programming API
Konsep sareng metode anu dijelaskeun dina manual ieu ngawangun konsép anu ditetepkeun dina IGX - Manual Programmer. Mangga tingali dokumen eta pikeun katerangan jeung examples kumaha dasar programming IGX sarta interfaces jalan. Manual ieu ngan bakal nutupan IO husus alat jeung pungsionalitas nu unik keur FX4.
4.1 Input analog IO
IO ieu aya hubunganana sareng ngonpigurasikeun sareng ngumpulkeun data dina input arus analog tina FX4. Unit input saluran dumasar kana setélan anu tiasa dikonfigurasi ku pangguna anu disebut "Sample Units", pilihan anu valid kalebet pA, nA, uA, mA, sareng A.
Sadaya saluran 4 nganggo antarmuka IO anu sami sareng dikawasa sacara mandiri. Ganti channel_x ku channel_1 , channel_2 , channel_3 , atawa channel_4 masing-masing.
Jalur IO | Katerangan |
/fx4/adc/channel_x | READONLY NUMBER Diukur input ayeuna. |
/fx4/adc/channel_x/scalar | NUMBER Skalar tanpa unit basajan dilarapkeun ka saluran, 1 sacara standar. |
/fx4/adc/channel_x/zero_offset | NUMBER Offset ayeuna dina nA pikeun saluran. |
IO di handap ieu teu saluran bebas sarta dilarapkeun ka sadaya saluran sakaligus.
Jalur IO | Katerangan |
/fx4/channel_sum | READONLY NUMBER Jumlah saluran input ayeuna. |
/fx4/adc_unit | STRING Nyetél unit pamaké ayeuna keur unggal saluran jeung jumlah. Pilihan: "pa", "na", "ua", "ma", "a" |
/fx4/rentang | STRING Nyetél rentang input ayeuna. Tempo GUI kumaha unggal kode rentang pakait jeung wates input arus maksimum sarta BW. Pilihan: "0", "1", "2", "3", "4", "5", "6", "7" |
/fx4/adc/sample_frequency | JUMLAH Frékuénsi dina Hz anu sampdata le bakal averaged ka. Ieu ngadalikeun sinyal-to-noise sareng laju data pikeun sadaya saluran. |
/fx4/adc/conversion_frequency | JUMLAH Frékuénsi dina Hz yén ADC bakal ngarobah analog kana nilai digital dina. Sacara standar, ieu 100kHz, sareng anjeun bakal jarang kedah ngarobih nilai ieu. |
/fx4/adc/offset_correction | READONLY NUMBER Jumlah sadaya offset saluran ayeuna. |
4.2 Kaluaran analog IO
IO ieu patali jeung konfigurasi kaluaran analog tujuan umum tina FX4 kapanggih dina inputs analog dina panel hareup. Sadaya saluran 4 nganggo antarmuka IO anu sami sareng dikawasa sacara mandiri. Ganti channel_x ku channel_1 , channel_2 , channel_3 , atawa channel_4 masing-masing.
Jalur IO | Katerangan |
/fx4/dac /channel_x | NUMBER Paréntah voltage kaluaran. Nilai ieu ngan ukur tiasa diserat nalika modeu kaluaran disetel ka manual. |
/fx4/dac/channel_x/readback | READONLY NOMOR Diukur voltage kaluaran. Ieu paling mantuan lamun ngagunakeun mode kaluaran ekspresi. |
/fx4/dac/channel_x/output_mode | STRING Nyetél mode kaluaran pikeun saluran. Pilihan: "manual", "ekspresi", "process_control" |
/fx4/dac/channel _ x/slew_control_enable | BOOL Aktipkeun atanapi nganonaktipkeun ngawatesan laju slew. |
/fx4/dac/channel_x/slew_rate | NUMBER Laju Slew dina V / s pikeun saluran. |
/fx4/dac/channel_x/upper_limit | NUMBER The maksimum diwenangkeun paréntah voltage pikeun saluran. Manglaku ka sadaya modeu operasi. |
/fx4/dac/saluran _ x/lower_limit | NUMBER Komando minimum anu diidinan voltage pikeun saluran. Manglaku ka sadaya modeu operasi. |
/fx4/dac/channel _ x/ output _ éksprési | STRING Nyetél string éksprési anu dipaké ku saluran nalika dina modeu kaluaran éksprési. |
/fx4/dac/saluran _ x/tombol_reset | BUTTON Ngareset paréntah voltage nuju 0. |
4.3 Input jeung Kaluaran Digital
IO ieu aya hubunganana sareng ngadalikeun rupa-rupa input digital tujuan umum sareng kaluaran anu aya dina FX4.
Jalur IO | Katerangan |
/fx4/fr1 | READONLY BOOL Panampi serat 1. |
/fx4/ft1 | Pangiriman serat BOOL 1. |
/fx4/fr2 | READONLY BOOL Panampi serat 2. |
/fx4/ft2 | Pangiriman serat BOOL 2. |
/fx4/fr3 | READONLY BOOL Panampi serat 3. |
/fx4/ft3 | Pangiriman serat BOOL 3. |
/fx4/digital_expansion/d1 | BOOL D1 ékspansi digital bidirectional IO. |
/fx4/digital_expansion/d2 | BOOL D2 ékspansi digital bidirectional IO. |
/fx4/digital_expansion/d3 | BOOL D3 ékspansi digital bidirectional IO. |
/fx4/digital_expansion/d4 | BOOL D4 ékspansi digital bidirectional IO. |
4.3.1 Konfigurasi IO Digital
Sadaya digital gaduh IO anak pikeun ngonpigurasikeun paripolahna kalebet mode operasi anu ngatur kumaha digital éta bakal beroperasi. Unggal digital bakal gaduh set béda tina pilihan anu sayogi. Tempo GUI pikeun detil ngeunaan naon pilihan sadia pikeun naon IO.
Budak IO Jalur | Katerangan |
…/modus | STRING Modeu operasi pikeun digital. Pilihan: "input", "output", "pwm", "timer", "encoder", "capture", "uart_rx", "uart_tx", "can_rx", "can_tx", "pru_input", atawa "pru_output" |
…/process_signal | STRING Ngaran sinyal kontrol prosés, lamun aya hiji. |
…/pull_mode | STRING Modeu tarik ka luhur/handap pikeun input digital. Pilihan: "up", "handap", atawa "nonaktipkeun" |
4.4 Relay Control
Duanana relay dikawasa sacara mandiri sareng ngabagikeun jinis antarmuka anu sami. Ngaganti relay_x kalawan relay_a atanapi relay_b mungguh.
Jalur IO | Katerangan |
/fx4/relay _ x/permit / pamaké _ paréntah | BOOL Maréntahkeun relay kabuka atanapi ditutup. Paréntah leres bakal nyobian nutup relay upami interlocks dipasihkeun, sareng paréntah palsu bakal salawasna muka relay. |
/fx4/relay _ x/kaayaan | READONLY STRING Kaayaan relay ayeuna. Relay nu dikonci dibuka tapi teu bisa ditutup alatan interlock. Nagara: "dibuka", "ditutup", atawa "dikonci" |
/fx4/relay _ x/otomatis _ nutup | BOOL Lamun disetel ka leres, relay bakal otomatis nutup nalika interlocks dibérékeun. Palsu sacara standar. |
/fx4/relay _ x/ cycle _ count | READONLY NUMBER Jumlah siklus relay saprak reset panungtungan. Mangpaat pikeun nyukcruk hirupna relay. |
4.5 Luhur Voltage Modul
Tempo IGX - Programmer Manual pikeun detil ngeunaan FX4 vol tinggitage panganteur. Jalur induk komponén nyaéta /fx4/high_votlage .
4.6 Dosis Controller
Tempo IGX - Programmer Manual pikeun detil ngeunaan FX4 dosis controller panganteur. Jalur induk komponén nyaéta /fx4/dose_controller.
FX4 Python Examples
5.1 Data Logger ngagunakeun HTTP
Mantan ieuample nunjukkeun kumaha cara nangkep sababaraha bacaan sareng simpen kana CSV file. Ku milih reureuh panjang antara bacaan, anjeun tiasa ngalakukeun logging data jangka panjang sanajan FX4 samplaju ling diatur leuwih luhur. Ieu ngamungkinkeun anjeun pikeun terus-terusan ngumpulkeun sareng nyimpen pangukuran dina waktos anu panjang tanpa ngaganggu sistem, mastikeun yén data dicandak dina interval anu cocog pikeun analisa anjeun. Reureuh antara bacaan mantuan ngatur laju di mana data asup, ngamungkinkeun pikeun neundeun efisien sarta ngurangan résiko titik data leungit bari tetep benefiting ti speed tinggi s.ampling pikeun pangukuran sacara real-time.
5.2 GUI Python basajan
Mantan kaduaample ngagunakeun alat GUI Tkinter, nu diwangun pikeun Python, pikeun nyieun hiji tampilan tina arus diukur. Antarbeungeut ieu ngamungkinkeun anjeun pikeun ngabayangkeun bacaan ayeuna dina format grafis anu ramah-pamaké. Pintonan tiasa dirobih ukuran supados cukup ageung pikeun maca ti peuntas rohangan, janten idéal pikeun skénario dimana ngawaskeun sacara real-time diperyogikeun dina rohangan anu langkung ageung. Tkinter nyadiakeun mangrupakeun cara nu panggampangna pikeun nyieun interfaces interaktif, sarta ku ngahijikeun eta kalawan FX4, anjeun bisa gancang ngawangun hiji tampilan visual tina arus diukur nu bisa ngaropéa pikeun nyocogkeun ka kabutuhan husus Anjeun.
5.3 Basajan WebSockets Example
Mantan ieuample nunjukkeun éta WebSockets panganteur, nu metoda pikaresep pikeun maca data ti FX4 lamun rubakpita maksimum diperlukeun. WebSockets nyadiakeun real-time, saluran komunikasi full-duplex, sahingga pikeun mindahkeun data gancang tur leuwih efisien dibandingkeun métode séjén.
Mantanample maca runtuyan samples, ngalaporkeun waktu rata per sample na latency maksimum, tur nyimpen data ka CSV a file pikeun analisis engké. Setélan ieu ngamungkinkeun pikeun ngawaskeun sacara real-time éfisién sareng panyimpen data anu gampang pikeun ngolah pos.
Kinerja husus nu bisa dihontal kalawan WebSockets gumantung kana reliabiliti panganteur Ethernet anjeun sarta prioritas relatif aplikasi Anjeun. Pikeun hasil anu optimal, pastikeun jaringan anjeun stabil sareng pangiriman data FX4 diprioritaskeun upami diperyogikeun.
Vérsi: v3
FX4 Python Examplebet: 21
Dokumén / Sumberdaya
![]() |
PIRAMID FX4 Programmer [pdf] Instruksi Manual FX4 Programmer, FX4, Programmer |