www.pyramid.tech
FX4
FX4 Programcı Kılavuzu
Belge Kimliği: 2711715845
Sürüm: v3
FX4 Programcısı
Belge Kimliği: 2711715845
FX4 – FX4 Programlayıcı Kılavuzu
Belge Kimliği: 2711650310
Yazar | Matthew Nichols |
Mal sahibi | Proje Lideri |
Amaç | API'yi kullanmak ve ürünü harici uygulamalar aracılığıyla genişletmek için gerekli programlama kavramlarını açıklayın. |
Kapsam | FX4 ile ilgili programlama kavramları. |
Hedef Kitle | Ürünü kullanmakla ilgilenen yazılım geliştiricileri. |
İşlem | https://pyramidtc.atlassian.net/wiki/pages/createpage.action? spaceKey=PQ&title=Standart%20Manuel%20Oluşturma%20İşlemi |
Eğitim | UYGULANAMAZ |
Sürüm Kontrolü
Sürüm | Tanım | Tarafından kaydedildi | Kaydedildi | Durum |
v3 | Basit bir ekleme yapıldıview ve daha fazlasıamples. | Matthew Nichols | 6 Mart 2025 10:29 | ONAYLI |
v2 | Dijital IO arayüzleri ve referansları IGX'e geri eklendi. | Matthew Nichols | 3 Mayıs 2024 7:39 | ONAYLI |
v1 | İlk sürüm, hala üzerinde çalışılıyor. | Matthew Nichols | 21 Şub 2024 11:25 | ONAYLI |
Döküman kontrolu yeniden değilviewed
Güncel belge sürümü: sürüm 1
yeniden hayırviewatandı.
1.1 İmzalar
en yeni belge sürümü için
Cuma, 7 Mar 2025, 10:33 UTC
Matthew Nichols imzaladı; anlamı: Yenidenview
Referanslar
Belge | Belge Kimliği | Yazar | Sürüm |
IGX – Programcı Kılavuzu | 2439249921 | Matthew Nichols | 1 |
FX4 Programlama Bittiview
FX4 işlemcisi, BlackBerry'nin QNX yüksek güvenilirlikli gerçek zamanlı işletim sistemi üzerine kurulu IGX adlı bir ortamda çalışır (QNX Webalan¹). IGX, kendi ana bilgisayar yazılımlarını yazmak isteyen kullanıcılar için esnek ve kapsamlı bir uygulama programlama arayüzü (API) sağlar.
IGX ortamı diğer Pyramid ürünleriyle paylaşılır ve bu sayede bir ürün için geliştirilen yazılım çözümlerinin diğerlerine kolayca aktarılması sağlanır.
Programcılar, Pyramid'de bulunan IGX için eksiksiz belgelere başvurabilirler website şu adreste: IGX | Modern Modüler Kontrol Sistemi Çerçevesi Web-etkinleştirilmiş Uygulamalar²
Bu bölüm, API yöntemlerinden ikisinin test edilmesine yönelik bir giriş sağlar: JSON biçimini kullanan HTTP ve EPICS. Basitlik açısından, Python (piton Webalan³) bir örnek olarak kullanılırampProfesyonel olmayan programcıların bile anlayabileceği ve kullanabileceği ana bilgisayar dilidir.
3.1 Python ve HTTP Kullanımı
Eski bir sevgili olarakample, Python ile ölçülen akımların toplamını okumak istediğinizi varsayalım. İhtiyacınız olan şey URL o belirli IO için. FX4 web GUI bunu bulmanın kolay bir yolunu sunar: sadece alana sağ tıklayın ve 'HTTP'yi Kopyala'yı seçin URL' dizesini panoya kopyalamak için.
Artık HTTP ve JSON aracılığıyla kullanıcı yazılımına bağlantıyı test etmek için Python'ı kullanabilirsiniz. HTTP isteklerini ve veri ayrıştırmayı işlemek için istekleri ve json kitaplıklarını içe aktarmanız gerekebilir.
1 Basit Python HTTP Örneğiample
3.2 EPICS'i kullanma
FX4'ü EPICS (Deneysel Fizik ve Endüstriyel Kontrol Sistemi) üzerinden bağlama süreci benzerdir. EPICS, bilimsel tesislerde yaygın olarak kullanılan dağıtılmış kontrol sistemlerini geliştirmek ve uygulamak için kullanılan bir dizi yazılım aracı ve uygulamasıdır.
- İstenilen IO için EPICS işlem değişkeni (PV) adını alın.
- EPICS kütüphanesini içe aktarın ve değeri okuyun.
2 EPICS PV Adını Alın
3 Basit Python EPICS Örneğiample
Ek olarak, Pyramid bir yardımcı program oluşturdu (EPICS Bağlantısı⁴) EPICS proses değişkenlerini gerçek zamanlı olarak izlemenize olanak tanır. Bu araç, EPICS PV adının doğru olup olmadığını ve FX4'ün ağınızda PV'ye doğru şekilde hizmet verip vermediğini doğrulamak için yararlıdır.
4 PTC EPICS Bağlantısı
FX4 Programlama API'si
Bu kılavuzda açıklanan kavramlar ve yöntemler, IGX – Programcı Kılavuzunda oluşturulan kavramlara dayanmaktadır. Açıklama ve örnek için lütfen bu belgeye bakın.ampTemel IGX programlama ve arayüzlerinin nasıl çalıştığına dair bilgiler. Bu kılavuz yalnızca FX4'e özgü cihaza özgü IO ve işlevselliği kapsayacaktır.
4.1 Analog Giriş IO
Bu IO, FX4'ün analog akım girişlerindeki verileri yapılandırma ve toplama ile ilgilidir. Kanal girişlerinin birimleri, "S" adı verilen kullanıcı tarafından yapılandırılabilir ayara dayanmaktadır.ample Birimleri”, geçerli seçenekler arasında pA, nA, uA, mA ve A bulunur.
Tüm 4 kanal aynı arayüz IO'yu kullanır ve bağımsız olarak kontrol edilir. channel_x'i sırasıyla channel_1 , channel_2 , channel_3 veya channel_4 ile değiştirin.
IO Yolu | Tanım |
/fx4/adc/kanal_x | SALT OKUNABİLİR SAYI Ölçülen akım girişi. |
/fx4/adc/kanal_x/skaler | NUMBER Kanala uygulanan basit birimsiz skaler, varsayılan olarak 1. |
/fx4/adc/kanal_x/sıfır_ofset | SAYI Kanal için nA cinsinden akım ofseti. |
Aşağıdaki IO'lar kanaldan bağımsız değildir ve tüm kanallara aynı anda uygulanır.
IO Yolu | Tanım |
/fx4/kanal_toplamı | SALT OKUNUR SAYI Mevcut giriş kanallarının toplamı. |
/fx4/adc_birimi | DİZİ Her kanal ve toplam için geçerli kullanıcı birimlerini ayarlar. Seçenekler: “pa”, “na”, “ua”, “ma”, “a” |
/fx4/aralığı | STRING Mevcut giriş aralığını ayarlar. Her aralık kodunun maksimum akım giriş sınırlarına ve BW'ye nasıl karşılık geldiğini görmek için GUI'ye bakın. Seçenekler: “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7” |
/fx4/adc/sample_frekansı | NUMARA Hz cinsinden frekansampVeriler ortalama olarak alınacaktır. Bu, tüm kanallar için sinyal-gürültü ve veri hızını kontrol eder. |
/fx4/adc/dönüşüm_frekansı | NUMARA ADC'nin analog değerleri dijital değerlere dönüştüreceği Hz cinsinden frekans. Varsayılan olarak bu 100kHz'dir ve bu değeri nadiren değiştirmeniz gerekecektir. |
/fx4/adc/ofset_düzeltmesi | SALT OKUNABİLİR SAYI Tüm kanalların geçerli ofsetlerinin toplamı. |
4.2 Analog Çıkış IO
Bu IO, ön paneldeki analog girişlerin altında bulunan FX4'ün genel amaçlı analog çıkışlarının yapılandırmasıyla ilgilidir. Tüm 4 kanal aynı arayüz IO'sunu kullanır ve bağımsız olarak kontrol edilir. channel_x'i sırasıyla channel_1, channel_2, channel_3 veya channel_4 ile değiştirin.
IO Yolu | Tanım |
/fx4/dac /kanal_x | NUMBER Komut voltage çıktı. Bu değere yalnızca çıkış modu manuel olarak ayarlandığında yazılabilir. |
/fx4/dac/channel_x/geri okuma | SADECE OKUNABİLİR SAYI Ölçülen hacimtage çıktı. Bu, ifade çıktı modunu kullanırken en yararlıdır. |
/fx4/dac/channel_x/çıktı_modu | STRING Kanalın çıkış modunu ayarlar. Seçenekler: “manuel”, “ifade”, “işlem_kontrolü” |
/fx4/dac/kanal _ x/slew_control_enable | BOOL Eğim hızı sınırlamasını etkinleştirir veya devre dışı bırakır. |
/fx4/dac/channel_x/slew_rate | SAYI Kanal için V/s cinsinden eğim hızı. |
/fx4/dac/kanal_x/üst_sınır | NUMARA İzin verilen maksimum komut hacmitage kanal içindir. Tüm çalışma modlarına uygulanır. |
/fx4/dac/kanal _ x/alt_sınır | NUMARA İzin verilen minimum komut hacmitage kanal içindir. Tüm çalışma modlarına uygulanır. |
/fx4/dac/channel _ x/ çıktı _ ifadesi | STRING Kanalın ifade çıkış modundayken kullandığı ifade dizesini ayarlar. |
/fx4/dac/kanal _ x/sıfırlama_düğmesi | DÜĞME Komut vol'ünü sıfırlartage'den 0'a. |
4.3 Dijital Giriş ve Çıkışlar
Bu IO'lar FX4'te bulunan çeşitli genel amaçlı dijital giriş ve çıkışların kontrolüyle ilgilidir.
IO Yolu | Tanım |
/fx4/fr1 | READONLY BOOL Fiber alıcı 1. |
/fx4/ft1 | BOOL Fiber verici 1. |
/fx4/fr2 | READONLY BOOL Fiber alıcı 2. |
/fx4/ft2 | BOOL Fiber verici 2. |
/fx4/fr3 | READONLY BOOL Fiber alıcı 3. |
/fx4/ft3 | BOOL Fiber verici 3. |
/fx4/dijital_genişleme/d1 | BOOL D1 çift yönlü dijital genişleme G/Ç. |
/fx4/dijital_genişleme/d2 | BOOL D2 çift yönlü dijital genişleme G/Ç. |
/fx4/dijital_genişleme/d3 | BOOL D3 çift yönlü dijital genişleme G/Ç. |
/fx4/dijital_genişleme/d4 | BOOL D4 çift yönlü dijital genişleme G/Ç. |
4.3.1 Dijital IO Yapılandırması
Tüm dijitallerin davranışlarını yapılandırmak için bir alt IO'su vardır ve bu dijitalin nasıl çalışacağını kontrol eden bir çalışma modu da buna dahildir. Her dijitalin farklı bir kullanılabilir seçenek kümesi olacaktır. Hangi IO için hangi seçeneklerin mevcut olduğu hakkında ayrıntılar için GUI'ye bakın.
Çocuk IO Yolu | Tanım |
…/mod | STRING Dijital için çalışma modu. Seçenekler: “giriş“, “çıkış”, “pwm”, “zamanlayıcı”, “kodlayıcı”, “yakalama”, “uart_rx”, “uart_tx”, “can_rx”, “can_tx”, “pru_input” veya “pru_output” |
…/işlem_sinyali | DİZİ Varsa, proses kontrol sinyali adı. |
…/çekme_modu | STRING Dijital giriş için yukarı/aşağı çekme modu. Seçenekler: “yukarı“, “aşağı” veya “devre dışı bırak” |
4.4 Röle Kontrolü
Her iki röle de bağımsız olarak kontrol edilir ve aynı arayüz türünü paylaşır. relay_x'i sırasıyla relay_a veya relay_b ile değiştirin.
IO Yolu | Tanım |
/fx4/relay _ x/permit / user _ komutu | BOOL Rölenin açılmasını veya kapanmasını emreder. Doğru bir komut, kilitlemeler verilirse röleyi kapatmaya çalışır ve yanlış komut her zaman röleyi açar. |
/fx4/röle _ x/durum | Salt Okunur Dize Rölenin geçerli durumu. Kilitli röleler açıktır ancak kilitleme nedeniyle kapatılamazlar. Durumlar: “açık”, “kapalı” veya “kilitli” |
/fx4/relay _ x/otomatik olarak _ kapat | BOOL True olarak ayarlandığında, kilitlemeler verildiğinde röle otomatik olarak kapanacaktır. Varsayılan olarak False'dur. |
/fx4/relay _ x/ döngü _ sayımı | SADECE OKUNUR SAYISI Son sıfırlamadan bu yana röle çevrimlerinin sayısı. Röle ömrünü izlemek için kullanışlıdır. |
4.5 Yüksek Hacimtage Modülü
FX4 yüksek hacimli program hakkında ayrıntılı bilgi için IGX – Programcı Kılavuzuna bakıntage arayüzü. Bileşenin üst yolu /fx4/high_votlage'dır.
4.6 Doz Kontrolörü
FX4 doz denetleyicisi arayüzü hakkında ayrıntılar için IGX – Programcı Kılavuzuna bakın. Bileşenin ana yolu /fx4/dose_controller'dır.
FX4 Python Örnamples
5.1 HTTP kullanan Veri Kaydedici
Bu eskiample, bir dizi okumanın nasıl yakalanacağını ve bunların bir CSV'ye nasıl kaydedileceğini gösterir fileOkumalar arasında uzun bir gecikme seçerek, FX4'ler kullanılsa bile uzun vadeli veri kaydı yapabilirsiniz.ampling oranı daha yüksek ayarlanır. Bu, sistemi aşırı yüklemeden uzun süreler boyunca ölçümleri sürekli olarak toplamanıza ve depolamanıza olanak tanır ve verilerin analiziniz için uygun aralıklarla yakalanmasını sağlar. Okumalar arasındaki gecikme, verilerin kaydedildiği hızı düzenlemeye yardımcı olur, verimli depolama sağlar ve yüksek hızlı s'den faydalanırken veri noktalarını kaçırma riskini azaltırampGerçek zamanlı ölçümler için ling.
5.2 Basit Python GUI
ikinci eskiample, ölçülen akımların bir görüntüsünü oluşturmak için Python için oluşturulmuş Tkinter GUI aracını kullanır. Bu arayüz, akım okumalarını kullanıcı dostu bir grafik biçiminde görselleştirmenize olanak tanır. Ekran, bir odanın diğer ucundan okunabilecek kadar büyük olacak şekilde yeniden boyutlandırılabilir ve bu da onu daha büyük alanlarda gerçek zamanlı izlemenin gerektiği senaryolar için ideal hale getirir. Tkinter, etkileşimli arayüzler oluşturmak için kolay bir yol sunar ve bunu FX4 ile entegre ederek, özel ihtiyaçlarınıza uyacak şekilde özelleştirilebilen ölçülen akımların görsel bir görüntüsünü hızla oluşturabilirsiniz.
5.3 Basit WebSoketler Eskiample
Bu eskiample gösterir WebFX4'ten veri okumak için maksimum bant genişliği gerektiğinde tercih edilen yöntem olan soket arayüzü. WebSoketler, diğer yöntemlere kıyasla daha hızlı ve daha verimli veri aktarımına olanak tanıyan gerçek zamanlı, tam çift yönlü bir iletişim kanalı sağlar.
Eski sevgiliample bir dizi s okuramples, saniye başına ortalama süreyi bildirirample ve maksimum gecikmeyi azaltır ve verileri bir CSV'ye kaydeder file Daha sonraki analizler için. Bu kurulum, verimli gerçek zamanlı izleme ve son işlem için kolay veri depolama olanağı sağlar.
Elde edilebilecek belirli performans WebSoketler Ethernet arayüzünüzün güvenilirliğine ve uygulamanızın göreceli önceliğine bağlıdır. En iyi sonuçlar için ağınızın kararlı olduğundan ve gerekirse FX4'ün veri iletiminin önceliklendirildiğinden emin olun.
Sürüm: v3
FX4 Python ÖrnampDosyalar: 21
Belgeler / Kaynaklar
![]() |
PYRAMID FX4 Programlayıcı [pdf] Kullanım Kılavuzu FX4 Programcısı, FX4, Programcı |