PC-styrning av Bergvärmepump

Planering och tankar kring eventuella framtida projekt.
fredriksimon
Inlägg: 1
Blev medlem: 5 juli 2011, 13:18:25

Re: PC-styrning av Bergvärmepump

Inlägg av fredriksimon »

Hej,

Någon som har lite kod som man kan utgå ifråm? Känns lite dumt att uppfinna hjulet igen.

/Fredrik
bitschubser0815
Inlägg: 2
Blev medlem: 18 november 2012, 12:12:20

Re: PC-styrning av Bergvärmepump

Inlägg av bitschubser0815 »

Hej Fredrik,

if you're wondering why I'm doing this - Nibe changed the communication interface in the current product line. That's why the RMU-40 only is compatible with the F1245, F370, F750 etc.

Rgds!
RadioDJ
Inlägg: 402
Blev medlem: 7 november 2005, 16:18:15
Ort: Helsingborg

Re: PC-styrning av Bergvärmepump

Inlägg av RadioDJ »

Hej alla.
Jag har kommit lite sent in i denna dialogen men ändå.
Jag har precis blivit med en Nibe F1145a.

Nu har jag lite frågor at ställa till alla Er som verkar ha koll på detta.

Jag tänker koppla min pump till en programvara som heter UniView för att få fullständig kontroll över pumpen.

Nu kommer mina frågor.
Fungerar pumpen som en master eller slav?
När svarar den på en fråga?
Jag har upptäckt att om jag säger till pumpen att det finns en Modbus-40 så skickar den data hela tiden samt att jag får ett fel i pumpen som säger att enheten saknas.
Måste den få ett svar tillbaka och i så fall vad?

Kan jag få den att bli en slav så att den enbart bara svarar på mina frågor?

Jag kommer att koppla ett Westermo-modem mellan pumpen och min dator.

Det får räcka för nu. Fler frågor kan komma senare.

Tack på förhand.
//Bosse
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Jag har för mig att jag fick två programvaror från Nibe för 4-5 år sedan när jag installerade bergvärme förra gången. Jag installerade aldrig min Modbus 40 den gången. Nu har jag installerat igen och installerade Modbus40 på en gång. Hittar dock inte igen den andra mjukvaran hos Nibe.

Någon som har koll på den eller om det finns någon annan bra mjukvara för avläsning och styrning av pannan?
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Äntligen! Fick igång snacket med pannan. Över Modbus40 då och inte direkt på pannan som den här tråden verkar handla mest om. Men med tanke på att förra posten är över ett år gammalt så kan jag väl kapa in lite.

Kör med RealTerm. http://realterm.sourceforge.net/
Knappar in Hex[space] på Display-tabben. Half duplex.
9600 BAUD, 8 bits data, 1 bits stop och RS485-rts på Hard Ware Flow Control under Port-tabben.
Under Send-tabben väljer man +crc under EOL och sedan MOdbus16 från dropdown-menyn.

Sedan matar jag in 0x01 0x03 0x9C 0x44 0x00 0x01 i send-rutan.
[0x01] till master, [0x03] Read holding register dvs läs, [0x9C][0x44] är 40004 som betyder läs utomhustemperaturen och så [0x00][0x01] vilket jag antar är hur långt svar jag vill ha(???), hur många register jag vill läsa vilket alltid är 16-bitars register(???). Eller så beror det på vilket typ av register det är.

Svaret blir:
01 03 02 00 21 78 5C
[0x01] från master, [0x03] du ville läsa, [0x02] du får här två bytes med svar, [0x00][0x21] utomhustemperaturen är 3.3 grader, [0x78][0x5C] är CRC för felberäkning på meddelandet.

Nu behöver man slänga ihop nått C#-hack som läser av det här åt mig och skriver till fil. Fast först behöver jag lista ut hur CRC beräknas på Modbus16 när jag inte har RealTerm som gör det åt mig. Borde google kunna svara på.

Förslag på register att läsa finns här: http://www.nibe.se/Pages/42625/Exempel- ... dbus40.pdf
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

CRC kan vara knepigt att få till då det finns olika varianter på samma metod.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Kod: Markera allt

// Compute the MODBUS RTU CRC
UInt16 ModRTU_CRC(byte[] buf, int len)
{
  UInt16 crc = 0xFFFF;
 
  for (int pos = 0; pos < len; pos++) {
    crc ^= (UInt16)buf[pos];          // XOR byte into least sig. byte of crc
 
    for (int i = 8; i != 0; i--) {    // Loop over each bit
      if ((crc & 0x0001) != 0) {      // If the LSB is set
        crc >>= 1;                    // Shift right and XOR 0xA001
        crc ^= 0xA001;
      }
      else                            // Else LSB is not set
        crc >>= 1;                    // Just shift right
    }
  }
  // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)
  return crc;  
}
Inte så svårt. Men om man har ett gäng fasta meddelanden så är det ju bara att kolla vad RealTerm räknar fram för vardera meddelande och använda CRC:n därifrån. Fungerar så länge man bara skall läsa värden.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Bara att mata på med register så att jag får in all data jag vill ha. Och sedan jobba lite på interfacet. Tanken är sedan att länka det till något passande hemautomationsprogram så att jag kan övervaka och styra den från tabben mm. Behöver få in lite grafer också. Skalan på tempmätaren skall vara sådär, jag förväntar mig varm sommar nästa år.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

CRC-rutinen jag postade ovan fungerar precis som den är rakt in i C#. Bara man tänker på sista kommentaren som står i den koden.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Modbus Manager från Nibe var perfekta verktyget att skörda register ifrån. Där får man en beskrivning av vad de flesta register betyder också.

Nästa steg är att skriva till pannan för att göra inställningar. Sedan behövs nog ett steg tillbaka och generalisera koden så att den blir mer överblickbar och får lättare att lägga till kommandon att läsa/skriva.

Pannan är inte färdiginstallerad än, därför ser några värden lite märkliga ut.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

Vad är "Modbus Manager" från Nibe för något? trodde all åtkomst direkt till styrenheten utan det där Ethernet-tillbehöret vart helt utan dokumentation eller program.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

http://www.nibe.se/Pages/97939/NIBE_Mod ... _1.0.8.exe
Används för att tala om för pannan vilka register som skall ha prioriterad läsning med Modbus40-tillbehöret. I programmet ser man vilka register som är vad, och om jag inte misstar mig helt, så är det ingen skillnad på registerpositionerna om man använder Modbus40 eller går direkt på pannans interna Modbus. Jag går på Modbus40 eftersom det är så Nibe tänkt sig att man skall koppla in sig.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

Vad är Modbus40 ..?
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: PC-styrning av Bergvärmepump

Inlägg av Agwan »

Nibes tillbehör för att prata modbus mellan pumpen och dator. En liten elektronikdosa. Samma elektronik som SMS40 som jag förstått det. Fast utan telemodulen.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: PC-styrning av Bergvärmepump

Inlägg av blueint »

Vilket gränssnitt har denna elektronikdosa gentemot PC datorn?

(btw, En virtuell COM-port skulle kunna användas för att systematiskt och effektivt plocka ur dessa register)
Skriv svar