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İDİR ve iki 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: Kayan noktalı sayılar IEEE 754 standardı kullanılarak kodlanır. Modbus protokolünün 16-bit kayıt sınırlamasına uymak için, kayan noktalı sayılar iki parçaya ayrılır:

    • Yüksek sıralı 16 bit ikinci kayıtta, düşük sıralı 16 bit ise ilk kayıtta saklanır.
    • Küçük endian formatı, Modbus spesifikasyonuyla uyumluluğu sağlar.

USB ve Ethernet Limelight'lar ModbusTool ile test edilebilir.

Modbus, parça inceleme ve endüstriyel otomasyon kullanım durumları 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çlar çıkarsa da, python snapscript pipeline'larımız özel giriş çıkış verilerini desteklediği için endüstriyel kullanım durumları 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 Kayıt Spesifikasyonu

Giriş / Salt Okunur Kayıtlar

KayıtAnahtarTürAçıklama
0hbintHeartbeat değeri. Her kare başına bir kez artar
1pipelineIndexintMevcut aktif pipeline indeksi (0 .. 9).
2validTargetintGeçerli bir hedef varsa 1, yoksa 0.
3resultsCountintToplam sonuç sayısı. Tüm fiducial tespitlerini, sinir ağı tespitlerini 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 saniyedeki kare sayısı.
10captureLatencyintYakalama gecikmesi. (milisaniye)
11targetLatencyintİşleme gecikmesi. (milisaniye)
12-15rezerve edilmişint

Çıkış Modu 0'a ayarlanırsa:

KayıtAnahtarTürAçı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 alanı (görüntü boyutunun yüzdesi olarak)
26fiducialIDintMevcut AprilTag ID'si
27classifierClassintMevcut sınıflandırıcı pipeline çıktısının Sınıf İndeksi. Sınıflandırıcı sonuçları yoksa -1
28detectorClassintMevcut dedektör pipeline çıktısının Sınıf İndeksi. Dedektör sonuçları yoksa -1
29rezerve edilmiş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]

Holding / Yazma Kayıtları

KayıtAnahtarTürAçıklama
0unlockedintPipeline'ı açar. Pipeline değiştirmeyi ve özel giriş verilerini etkinleştirmek için 1'e ayarlayın
1pipeIndexint"unlocked" 1'e ayarlanmışsa pipeline indeksini ayarlar
2outputModeintÇıkış modunu ayarlar. 0 - standart, 1 - rawtargets (Yapım Aşamasında)
3rezerve edilmişint
4rezerve edilmişint
5rezerve edilmişint
6rezerve edilmişint
7rezerve edilmiş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]