Bu makale , iki tatlı su deposu ve bir yakıt deposundan oluşan örnek bir yapılandırma kullanarak, PredictWind DataHub NMEA 2000 depo seviyesi verilerini NMEA 0183 XDR cümlelerine nasıl dönüştürdüğünü açıklamaktadır.
Örnekler, bireysel tankların nasıl tanımlandığını, XDR cümle formatını ve verilerin ne sıklıkla iletildiğini göstermektedir.
Bu örnekte üç tank kullanılmış olsa da, aynı prensipler diğer tank konfigürasyonları ve desteklenen sıvı türleri için de geçerlidir.
1. Bağımsız tanklar ve örnek numaraları
Her tank, sıvı türü ve NMEA 2000 örnek numarasıyla tanımlanır ve her biri kendi XDR cümlesi haline gelir. Örnek numaraları 0 ve 1 olan iki tatlı su tankı, FRESHWATER#0 ve FRESHWATER#1 olarak kaydedilir. Yakıt tankı ise FUEL#0 olarak kaydedilir.
Sensörleri kurarken kontrol etmeniz gereken iki şey:
Her sıvı türü için benzersiz örnekler. Aynı örnek üzerinde iki tatlı su tankı aynı tanımlayıcıları üretecek ve birbirinden ayırt edilemeyecektir. NMEA 2000 sıvı örnekleri 0 ile 15 arasında değişmektedir.
Doğru akışkan türü. DataHub akışkan türlerini tanımlayıcı adlarla aşağıdaki şekilde eşleştirir:
Yakıt (dizel veya benzin) →
FUELTatlı su →
FRESHWATERGri/atık su →
WASTEWATERSiyah su →
BLACKWATERSağlıklı yaşayın →
LIVEWELLWATERPetrol →
OILDiğer tüm türler →
FLUID
2. Cümle biçimi
DataHub , OpenCPN'nin Engine Dashboard'unun da kullandığı NMEA 0183 v4.11 XDR standardını kullanmaktadır:
kod:
$IIXDR,E,<seviye>,P,<TİP>#<örnek>,V,<kapasite>,l,<TİP>#<örnek>*hh
E/P: Doluluk yüzdesi olarak seviye, 0-100, bir ondalık basamak hassasiyetinde gönderilir.V/l: litre cinsinden tank kapasitesi (küçük harf L)Kapasite grubu yalnızca sensör sıfırdan büyük geçerli bir kapasite bildirdiğinde dahil edilir. Tank sensörü kapasite göndermezse, cümle seviye grubundan sonra sona erer.
Bu örnekler, açıklayıcı değerlerle birlikte tam formatı göstermektedir:
kod:
$IIXDR,E,72.4,P,FRESHWATER#0,V,300.0,l,FRESHWATER#0*53
$IIXDR,E,55.0,P,FRESHWATER#1,V,150.0,l,FRESHWATER#1*55
$IIXDR,E,88.8,P,FUEL#0,V,400.0,l,FUEL#0*5D
Kapasite belirtilmediği takdirde, yakıtla ilgili cümle şu şekilde olurdu:
kod:
$IIXDR,E,88.8,P,FUEL#0*44
Seviye bilgisi mevcut değilse veya sıvı türü hatalı olarak işaretlenmişse, DataHub okuma işlemini tamamen atlar.
3. İletim frekansı
DataHub tank verileri için kendi zamanlama programını tutmaz. Sensörün ağa gönderdiği her PGN 127505 mesajı için bir XDR cümlesi gönderir. Bu nedenle hız, tank sensörünün ilettiğiyle eşleşir. Bu PGN için NMEA 2000 standart hızı her 2,5 saniyede birdir; Simarine, STR2'nin gerçek hızını doğrulayabilir.
Sensörler, değişikliklerden bağımsız olarak bu PGN'yi periyodik olarak yayınlar, bu nedenle seviye değişmediğinde bile cümleler tekrarlanır. Home Assistant'ta, yalnızca değişiklik olduğunda yapılan güncellemeler yerine sürekli bir güncelleme akışı göreceksiniz.
Sonraki Adımlar: Tank Sensörlerinizi Kurma
Uyumlu NMEA 2000 tank sensörlerini DataHub bağlarken:
Tank sensörlerinizi üreticinin talimatlarına göre yapılandırın ve her tankın doğru sıvı türüne ve o sıvı türü için benzersiz bir örnek numarasına sahip olduğundan emin olun.
Sensörleri NMEA 2000 ağınıza bağlayın ve DataHub da aynı ağa bağlı olduğundan emin olun.
Sensörlerin NMEA 2000 PGN 127505 protokolünü kullanarak tank seviyesi verilerini ilettiğini kontrol edin .
Dönüştürülen XDR cümlelerini görüntülemek için alıcı uygulamanızı DataHub yerel NMEA 0183 TCP akışına bağlayın.
Alıcı uygulamanızda tank okumalarını doğrulayın , her tankın doğru şekilde tanımlandığından ve bildirilen seviyelerin sensör okumalarıyla eşleştiğinden emin olun.
Not: DataHub NMEA 2000 ağından gelen tank seviyesi mesajlarını alır almaz dönüştürür. Güncelleme sıklığı sensörlere ve iletim ayarlarına bağlıdır. Bu dönüştürme için internet bağlantısı gerekli değildir.
