Ana içeriğe geç

Modbus API

Limelight OS, (ipaddress):502 adresinde çalışan bir Modbus TCP sunucusu içerir

  • Tam Sayılar: Tam sayılar İŞARETLİ'dir ve ikiye tümleyen kullanılarak kodlanır. Bu yöntem evrensel olarak tanınır ve doğru işaret yorumlamasını sağlar.

  • Kayan Noktalı Sayılar: Float'lar IEEE 754 standardı kullanılarak kodlanır. Modbus protokolünün 16-bit register sınırlamasına uymak için kayan noktalı sayılar iki parçaya bölünür:

    • Yüksek dereceli 16 bit ikinci register'da, düşük dereceli 16 bit ise birinci register'da saklanır.
    • Little-endian formatı Modbus spesifikasyonu ile uyumluluğu sağlar.

USB ve Ethernet Limelight'lar ModbusTool ile test edilebilir

Modbus, parça denetimi ve endüstriyel otomasyon kullanım senaryoları için destek sağlar. Modbus ile başlamak için aşağıdakileri yapmanız gerekir:

  1. Limelight'ınıza Ethernet veya USB-C üzerinden bağlanın ve bir pipeline yapılandırın.

    • Tüm pipeline'lar modbus üzerinden sonuç çıktısı verirken, python snapscript pipeline'larımız özel giriş çıkış verilerini destekledikleri için endüstriyel kullanım senaryoları için son derece çok yönlüdür.
  2. Limelight'ınıza statik bir IP adresi verin

  3. Limelight'ınızı bir modbus ağına bağlayın.

Modbus Register Spesifikasyonu

Giriş / Salt Okunur Register'lar

RegisterAnahtarTipAçıklama
0hbintHeartbeat değeri. Her frame'de bir artar
1pipelineIndexintMevcut aktif pipeline indeksi (0 .. 9).
2validTargetintGeçerli bir hedef varsa 1, aksi halde 0.
3resultsCountintToplam sonuç sayısı. Tüm fiducial algılamaları, sinir ağı algılamaları vb. içerir
4IDintID / Takım Numarası
5modbusModeintModbus Sunucu Çıkış Modu.
6cpuTempintCPU sıcaklığı (Celsius).
7cpuUsageintCPU kullanım yüzdesi.
8ramUsageintRAM kullanım yüzdesi.
9currentFPSintMevcut saniye başına frame sayısı.
10captureLatencyintYakalama gecikmesi. (milisaniye)
11targetLatencyintİşleme gecikmesi. (milisaniye)
12-15ayrılmışint

Çıkış Modu 0 olarak ayarlandığında:

RegisterAnahtarTipAçıklama
16,17txfloat32Hedefe yatay açısal ofset (derece)
18,19tyfloat32Hedefe dikey açısal ofset (derece)
20,21txncfloat32Hedefe yatay açısal ofset (ana piksele göre) (derece)
22,23tyncfloat32Hedefe dikey açısal ofset (ana piksele göre) (derece)
24,25tafloat32 (0-1)Hedefin görüntü boyutunun yüzdesi olarak alanı
26fiducialIDintMevcut AprilTag ID'si
27classifierClassintMevcut sınıflandırıcı pipeline çıktısının Sınıf İndeksi. Sınıflandırıcı sonucu yoksa -1
28detectorClassintMevcut dedektör pipeline çıktısının Sınıf İndeksi. Dedektör sonucu yoksa -1
29ayrılmışint
30,31python[0]float32Özel python çıkış dizisi [0]
32,33python[1]float32Özel python çıkış dizisi [1]
34,35python[2]float32Özel python çıkış dizisi [2]
36,37python[3]float32Özel python çıkış dizisi [3]
38,39python[4]float32Özel python çıkış dizisi [4]
40,41python[5]float32Özel python çıkış dizisi [5]
42,43python[6]float32Özel python çıkış dizisi [6]
44,45python[7]float32Özel python çıkış dizisi [7]

Tutma / Salt Yazılır Register'lar

RegisterAnahtarTipAçıklama
0unlockedintPipeline'ın kilidini açar. Pipeline değiştirme ve özel giriş verilerini etkinleştirmek için 1 olarak ayarlayın
1pipeIndexint"unlocked" 1 olarak ayarlandığında pipeline indeksini ayarlar
2outputModeintÇıkış modunu ayarlar. 0 - standart, 1 - rawtargets (Yapım Aşamasında)
3ayrılmışint
4ayrılmışint
5ayrılmışint
6ayrılmışint
7ayrılmışint
8pythonInput[0]intÖzel python giriş dizisi [0]
9pythonInput[1]intÖzel python giriş dizisi [1]
10pythonInput[2]intÖzel python giriş dizisi [2]
11pythonInput[3]intÖzel python giriş dizisi [3]
12pythonInput[4]intÖzel python giriş dizisi [4]
13pythonInput[5]intÖzel python giriş dizisi [5]
14pythonInput[6]intÖzel python giriş dizisi [6]
15pythonInput[7]intÖzel python giriş dizisi [7]
16,17pythonInput[8]float32Özel python giriş dizisi [8]
18,19pythonInput[9]float32Özel python giriş dizisi [9]
20,21pythonInput[10]float32Özel python giriş dizisi [10]
22,23pythonInput[11]float32Özel python giriş dizisi [11]
24,25pythonInput[12]float32Özel python giriş dizisi [12]
26,27pythonInput[13]float32Özel python giriş dizisi [13]
28,29pythonInput[14]float32Özel python giriş dizisi [14]
30,31pythonInput[15]float32Özel python giriş dizisi [15]