PİRAMİT logosuwww.pyramid.tech
FX4
FX4 Programcı Kılavuzu
Belge Kimliği: 2711715845
Sürüm: v3PYRAMID FX4 Programlayıcı

FX4 Programcısı

Belge Kimliği: 2711715845
FX4 – FX4 Programlayıcı Kılavuzu

PYRAMID FX4 Programlayıcı - simge 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

PYRAMID FX4 Programlayıcı - simge 1 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.

PYRAMID FX4 Programcısı - Python ve HTTP Kullanımı

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.

PYRAMID FX4 Programcı - HTTP istekleri ve veri ayrıştırma1 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.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. İstenilen IO için EPICS işlem değişkeni (PV) adını alın.
  2. EPICS kütüphanesini içe aktarın ve değeri okuyun.

PYRAMID FX4 Programlayıcı - EPICS işlem değişkeni2 EPICS PV Adını AlınPYRAMID FX4 Programcısı - Basit Python EPICS Örn.ample3 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.

PYRAMID FX4 Programlayıcı - EPICS Connect4 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.

PYRAMID FX4 Programlayıcı - HTTP kullanan Veri KaydediciPYRAMID FX4 Programlayıcı - HTTP 2 kullanan Veri KaydediciPYRAMID FX4 Programlayıcı - HTTP 3 kullanan Veri KaydediciPYRAMID FX4 Programlayıcı - HTTP 4 kullanan Veri Kaydedici

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.

PYRAMID FX4 Programcısı - Basit Python GUIPYRAMID FX4 Programcısı - Basit Python GUI 2PYRAMID FX4 Programcısı - Basit Python GUI 3PYRAMID FX4 Programcısı - Basit Python GUI 4PYRAMID FX4 Programcısı - Basit Python GUI 5PYRAMID FX4 Programcısı - Basit Python GUI 6PYRAMID FX4 Programcısı - Basit Python GUI 7

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.

PYRAMID FX4 Programlayıcı - Basit WebSoketler EskiamplePYRAMID FX4 Programlayıcı - Basit WebSoketler Eskiamp2'ye kadarPYRAMID FX4 Programlayıcı - Basit WebSoketler Eskiamp3'ye kadar

Sürüm: v3
FX4 Python ÖrnampDosyalar: 21

Belgeler / Kaynaklar

PYRAMID FX4 Programlayıcı [pdf] Kullanım Kılavuzu
FX4 Programcısı, FX4, Programcı

Referanslar

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlenmiştir *