Bu cihazı geçen yıl bir müşteride okudum, üç tane tuzağı var, büyük ihtimalle üçüne birden takıldınız 🙂
1. Baud: SDM120 fabrikadan 2400 baud geliyor, 9600 değil. Menüden değiştirmediyseniz 2400 kullanın, 8N1.
2. Fonksiyon kodu: ölçümler input register’larda, holding’de değil. Yani FC04, readInputRegisters. Gerilim 30001 yani adres 0x0000, akım 0x0006, aktif güç 0x000C, toplam aktif enerji 0x0156.
3. Veri tipi: her değer iki register’lık 32 bit float, büyük sonlu (yüksek word önce).
float regsToFloat(uint16_t hi, uint16_t lo) {
uint32_t v = ((uint32_t)hi << 16) | lo;
float f; memcpy(&f, &v, 4); return f;
}
if (node.readInputRegisters(0x0000, 2) == node.ku8MBSuccess) {
float volts = regsToFloat(node.getResponseBuffer(0), node.getResponseBuffer(1));
}
Bir de istekler arasında en az 100-200 ms bekleyin, ucuz analizörler peş peşe sorguya kızıyor. Hermetry’ye gönderirken enerjiyi kümülatif kWh olarak gönderin, günlük tüketimi orada «increase» ile alırsınız.
Kayıtta yoksa olmamıştır.

