Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!
  • Moskus
    Moskus

    Mini-guide: Hvordan bruke Modbus (med HomeSeer)

    Med en Modbus-plugin og et hardware-interface kan du enkelt få til å styre utstyr som støtter det. Modbus er ikke en uvanlig standard når det gjelder ventilasjonsutstyr og varmepumper, bl.a. fordi den er enkel å implementere i utstyret og relativt enkel for andre å bruke.

     

    Vi fikk montert et Systemair VTR-500 anlegg rundt påske, og fikk beskjed om at det gamle Z-wave adapteret dessverre ikke ville fungere med dette (som jeg fremdeles mener hadde vært den foretrukne metoden). Da ble Modbus redningen. :)

     

    Modbus er i utgangspunktet en forholdsvis enkel protokoll, hvor det spørres om eller sendes informasjon på en adresse (dvs. et heltall). Ulempen med den er at det er litt arbeid å få det til, fordi det ikke finnes noen ferdige oppsett.

     

    PS. Denne guiden er i utgangspunktet ment for HomeSeer-brukere, men prinsippet vil gjelde for alle.

    Jeg fikk hjelp til mitt første oppsett av en vennlig sjel på HomeSeer-forumet, det følgende er nærmest en gjenfortelling. Takk skal du ha, du vet hvem du er! :) 

     

    Hva du trenger:

    • Interface.
      Du trenger et. I praksis er det to valg; enten et som kobles til via USB eller et som går via nettverket. Jeg valgte det siste, og kjøpte dette interfacet for vi har fått lagt opp nettverk til loftet hvor aggregatet står fra teknisk rom i kjeller.
       
    • Modbus-plugin
      Installer, aktiver og start. Den ligger under "Lighting & Primary Technology"

     

     

    1. Oppkobling.

    Den korte versjonen: Kolbe A til A, B til B og G til G.

     

    Jeg brukte en CAT6-kabel og rensket endene på lederne. Tvinnet lederne sammen pr. farge, og brukte orange for A, grønn for B og brun for G.

     

    image.png

     

    Det samme på selve aggregatet. RS485-porten er øverst til høyre (eller nederst til venstre, alt etter som du ser på livet), merket med A(+), B(-) og G.

     

    image.png

     

    Koble så adapteret til nettverket og til strøm.

    image.png

     

    2. Konfigurasjon (for de med nettverksinterface)

    Utfordringen kan være å finne boksen. Der kan en nettverksscanner (f.eks. Advanced IP Scanner) være til hjelp. Finn enheten som har den samme MAC-adressen som står på baksiden av interfacet. Jeg har en Fingbox, og fikk selvfølgelig notifikasjon da den ble plugget inn.

     

    Tast inn IP-adressen i nettleseren med http:// foran, f.eks. http://192.168.0.174. Brukernavn og passord er "admin".

     

    Endre IP-adresse til en fast adresse:

    Gå til Local IP config. Endre IP Type til Static IP, og sett inn en adresse som er ledig. Trykk Save.

    image.png
     

    Sett nå inn den nye IPen i nettleseren. :)

     

    RS485 konfigureres slik (de røde innstillingene er viktige):

    image.png

    Baud-rate må settes til det som er støttet for ditt spesifikke aggregat. Nyere modeller har 115200 som maks hastighet, mens eldre modeller har lavere hastigheter. Ellers er data size = 8, Parity = None, Stop-bit = 1, og Flow kan fint være RTS/CTS.

     

    Workmode skal være "TCP Server" og "ModbusTCP". Hvorfor standardport ikke funker vet jeg ikke, men HS-forum-fyren hadde også endret denne. Det måtte jeg også. 8234 fungerer fint.

     

    Trykk Save. ;)

     

     

    3. Plugin-installasjon

    Modbus-plugin'en ligger i Updateren, dvs nederst under "Additional Interfaces" -> "Lighting & Primary Technology" (øverst).

    Velg denne, og trykk Installer-knappen som dukker opp under plugin-listen din.

    Aktiver plugin'en.

     

     

    4. Plugin konfigurasjon

    Gå til Plugins -> Modbus -> Modbus Config.

    image.png

    Nå skal vi legge til interfacet ditt.

    Har du et IP-interface som jeg, så trykker du på knappen til venstre (Add IP-RTU Master), hvis du har et som kobles til med USB, så trykker du på knappen til høyre (Add Serial RTU-Master).

     

    Trykk, og du blir videresendt til konfigurasjon av interface-devicen. Her kommer oppsett for IP-interfacet:

    image.png

    Endre IP og port  til det du satte opp interfacet til å bruke.

    Om polling spurte jeg SystemAir, og fikk til svar at det ikke var noe problem å polle hvert sekund om jeg ville. Jeg safer den litt med 10 sekunder. Dette kan imidlertid være avhengig av hvilket aggregat du har og hvor gammelt det er.

     

    5. Oppsett

    Nå begynner det spennende. Eller kjedeligste, alt ettersom hvordan man ser det. Hver parameter man vil lese ut må man legge inn manuelt. Det som gjør det ekstra spennende er at adressene ikke er standardiserte som man kunne ønske seg. De er forskjellige fra leverandør til leverandør, men også fra modell til modell og til og med forskjellig mellom revisjoner eller årsmodeller.

     

    Vi har et VTR-500. Det har hatt det samme modellnummeret lenge, men har blitt oppgradert fra år til år. Da var det ikke bare å google for å finne frem (noe som forøvrig anbefales). Jeg fant til slutt beskrivelsen av Modbus-adressene på systemair.com. Jeg søkte etter "modbus", og under "Documents" på søkeresultater fant jeg til slutt SAVE Modbus Variable List 20190116 (Rev. 29).pdf (1 214 kb).

     

    Du må altså finne ut hvilke parametre ditt aggregat bruker.

     

    Når du har funnet den er det bare å legge inn de verdiene du vil. Problemet er vel kanskje å finne hvilke du ønsker deg...

     

     

    Eksempel 1: Hastighet på viftene for tilluft og fratrekk.

    I PDF-dokumentet over fant jeg denne:

    image.png

     

    Altså må jeg bruke modbus-adresse 12401 for tilluft-hastigheten og 12402 for fratrekk. Det er et "Read Input Register", det vil si at man kun kan lese variabelen.

     

    Gå til Plugins -> Modbus -> Modbus Config. Der ser du interfacet og en knapp hvor det står "Add Device".

    image.png

    Trykk på "Add Device".

     

    Da kommer du til en ny Device. Der konfigurerer vi Modbus-parametre ihht. adressen vi legger til.

    image.png

     

    Det kan være en idé å endre Status Graphics også:

    image.png

     

     

    Eksempel 2: Viftehastighet

    For meg er det register 1131 og 1132:

    image.png

     

    Dette er et "Holding Register", dvs. man kan skrive verdier til den. Det legges inn på samme måte, men nå bruker man "Holding Register" istedenfor "Input Register".

     

    image.png

     

    Det er litt ulogisk at vi skal ha en "Read Only Device", men ellers får man et tekstfelt og vi må jo gjøre det litt mer praktisk enn det.

    image.png

     

     

     

    ... så er det bare å legge til andre verdier. Dette er mine:

    image.png

     

    ... som jeg har konfigurert slik:

    image.png

     

    Dette gir tilstrekkelig informasjon kontroll over anlegget, men det er mulig jeg har oversett noe.

    Hvilke verdier har du lagt inn? :) 

     

     

    PS! Det er en ganske solid bug i konfigurasjonen pr. dags dato (juni 2019) når man skal sette "Multiplier". Se under:

    Spoiler

     

    Denne er viktig å ha riktig hvis man f.eks. skal lese ut temperaturer ettersom de er multiplisert med 10, dvs. 15,8 grader rapporteres som 158. For å få riktig verdi i HomeSeer, skal man altså gange det tallet med 0,1.

     

    Problemet er at man ikke kan sette noe annet enn 1 med andre nettlesere enn Internet Explorer, av alle ting:

     

    image.png

     

     

    Endret av Moskus

    Brukertilbakemelding

    Anbefalte kommentarer



    Ser i en annen manual ut som om pin 6 til høyre der er jord, så da bruker jeg den hvis det ikke er noen som mener G ikke er jord.

     

    Så må jeg bare finne ut av hvor selve panelet er.. Foreløpig bare bladd i papirene :P

    IMG_20191215_144051.jpg

    Lenke til kommentar
    Del på andre sider

    Har ett vsr-500 aggregat jeg forsøker å koble opp mot knx via en modbus/knx-gateway. Så langt har jeg ikke fått ut noe data/register uten at jeg vet hva jeg gjør galt. Ser det var noen som fikk iam modulen tilsendt, hvorfor det? Systemair har anbefallt meg å oppdatere softwaren, men kan jo ikke det uten modulen.

    Ellers blir jeg glad for tips!

    Lenke til kommentar
    Del på andre sider

    På 24.12.2019 den 4.52, bergen77 skrev:

    Ser det var noen som fikk iam modulen tilsendt, hvorfor det? Systemair har anbefallt meg å oppdatere softwaren, men kan jo ikke det uten modulen.

    Det er ikke normalt å få den tilsendt uten videre, så ikke regn med det. Den er imidlertid ikke svindyr. Og montøren din burde kunne låne deg en for oppdateringen.

     

     

    Lenke til kommentar
    Del på andre sider

    On 25/12/2019 at 21:39, Moskus said:

    Det er ikke normalt å få den tilsendt uten videre, så ikke regn med det. Den er imidlertid ikke svindyr. Og montøren din burde kunne låne deg en for oppdateringen.

     

     

    Har montert selv. Skulle gjerne visst hva som var årsaken til at de anbefaller oppdatering av software, er det noe som ikke virker skulle en gjerne fått en oppdatering kostnadsfritt. Må vel finne changelog eller noe da.

    Lenke til kommentar
    Del på andre sider

    Modbus burde vel virke uansett. Men kanskje du kunne utfordre SystemAir på å låne deg et, da? Rart at de har et system som krever en tredje komponent for å kunne oppdateres, men sånn er det vel enn så lenge.

    Lenke til kommentar
    Del på andre sider

    Jeg har spurt om man kan oppdatere uten men det svarte de nei til. Tipper IAM er den enkle måten å gjøre det på. Det meste av utstyr kan jo flashes på ett vis, men får vel neppe den oppskriften.

    Lenke til kommentar
    Del på andre sider

    On 24/12/2019 at 04:52, bergen77 said:

    Har ett vsr-500 aggregat jeg forsøker å koble opp mot knx via en modbus/knx-gateway. Så langt har jeg ikke fått ut noe data/register uten at jeg vet hva jeg gjør galt. Ser det var noen som fikk iam modulen tilsendt, hvorfor det? Systemair har anbefallt meg å oppdatere softwaren, men kan jo ikke det uten modulen.

    Ellers blir jeg glad for tips!

     

    Jeg har fått den tilsendt. Tror det er fordi den var levert med for gammel software eller noe. Men jeg lurer på om jeg uansett gjorde en feil når jeg mottok den. Jeg kjørte en oppdatering av software men mulig jeg også skulle lagt inn en spesifikk konfig fra IAM. Usikker på hvordan dette henger sammen. De hadde i hvert fall lagt inn en fil på IAM som jeg skulle benytte. Jeg begynte å se på modbus igjen nå før Jul og har sendt de en mail. 

     

    On 27/12/2019 at 20:47, bergen77 said:

    Har montert selv. Skulle gjerne visst hva som var årsaken til at de anbefaller oppdatering av software, er det noe som ikke virker skulle en gjerne fått en oppdatering kostnadsfritt. Må vel finne changelog eller noe da.

     

    Det står en slags changelog helt i bunnen i PDFen fra Systemair. Ser at samme PDFen er å finne for alle aggregatene, bl.a. ditt, under DOKUMENTER:

    https://shop.systemair.com/no-NO/save--vsr--500/p413787

     

    PDF:

    https://shop.systemair.com/upload/assets/SAVE_MODBUS_VARIABLE_LIST_20190116__REV__29_.PDF

     

    Når jeg legger inn verdier som @Moskus har benyttet i guiden og som jeg finner i listen klarer jeg f.eks. ikke å lese ut register 1161 som Input Register. Merkelig nok feiler den ikke når jeg forsøker som Holding Register men får alltid 0 i retur. Usikker på om det er Modbus-biblioteket som er begrenset eller om den er mer tilgivende. Kanskje derfor man bør oppdatere software?

     

    I forsøk på å få oversikt over galskapen så lagde jeg et Java-program som kan scanne en range eller liste fra en CSV-fil for så å dumpe ut verdiene.

    https://www.hjemmeautomasjon.no/forums/topic/5832-scanne-modbus-register-i-bulk/

     

     

    Lenke til kommentar
    Del på andre sider

    Ellers må jeg takke deg for innsatsen @Moskus, det var god starthjelp med en guide.

     

    Har opprettet events på Co2 fra Netatmo. Når den går over 800 settes viftene til høy og tilbake til normal når den går under 600. Så langt fungerer det bra :)

    • Like 1
    Lenke til kommentar
    Del på andre sider

    Strips, hva bruker du for å lese ut modbus?
    Fikk du tilsendt modulen kostnadsfritt, husker du hvorfor du trengte oppdatering?
    Fint om du også har innstillinger av modbus parametrene på din rtu, og gjerne ett eksempel på ett register du får lest eller skrevet til.

    Lenke til kommentar
    Del på andre sider

    13 timer siden, strips skrev:

    Når jeg legger inn verdier som @Moskus har benyttet i guiden og som jeg finner i listen klarer jeg f.eks. ikke å lese ut register 1161 som Input Register. Merkelig nok feiler den ikke når jeg forsøker som Holding Register men får alltid 0 i retur. Usikker på om det er Modbus-biblioteket som er begrenset eller om den er mer tilgivende. Kanskje derfor man bør oppdatere software?

     

     

     

    @strips

    At 1161 returnerer "0" er korrekt om du har satt anlegget i Auto. Prøv å sett anlegget i Manuell eller Borte og se om du får annen tilbakemelding.

    Du kan ikke endre noe på register 1161 kun lese. Bruk holding register, ikke input register.

     

    Blir forøvrig overrasket om en update hjelper på noe som helst.. ?

     

     

    @bergen77 kan du legge ut en skjermdump på hvordan du skriver til aggregatet? Så blir det litt lettere å se hva vi kan hjelpe med :)

    Endret av MrE
    Lenke til kommentar
    Del på andre sider

    14 minutes ago, MrE said:

    @bergen77 kan du legge ut en skjermdump på hvordan du skriver til aggregatet? Så blir det litt lettere å se hva vi kan hjelpe med :)

     

    Jeg har kun forsøkt å polle registre. Jeg har forsøkt med forskjellig baurdater, paritet, polaritet, MSB/LSB first og adress type (0/1). Ser du skriver at man skal bruke holding registre og ikke input registre, husker ikke hva jeg har brukt.

    Manualen til gatewayen min finnes her, der ser du på side 3 hvilke innstillinger som kan settes: https://www.weinzierl.de/images/download/products/886/Weinzierl-886-KNX-Modbus-RTU-Gateway-5256-Manual-EN.pdf

     

    Lenke til kommentar
    Del på andre sider

    Innstillingene til KNX-Modbus må være lik den du finner i aggregatets innstilinger (Innstillinger-Kommunikasjon-Modbus)

     

    Hos meg er det (standard)

    baud 115200

    paritet ingen

    stopbits 1 (fixed)

    slave adresse 2

     

    Når du forsøker å polle registre, hva skjer da? Hvilken feilmelding får du?

    Lenke til kommentar
    Del på andre sider

    Ja jeg forsøker jo å matche opp disse innstillingene men får ikke noe svar på poll.

    Jeg har slaveadresse 1 på aggregatet, det burde vel ikke være noe problem?

     

    Gatewayen min gir ikke feilmeldinger, den er laget slik at registre som blir pollet blir sendt ut på knx busen. Jeg får ingenting sendt ut.

    Jeg har aktivert diagnose objekter som forteller om gatewayen mottar resons fra modbus slave eller ikke, denne har jeg aldri fått til å gi ut ok, alarmen på denne er alltid aktiv.
     

    Hvis du ser i manualen på gatewayen fra side 9 (K.1.2) er det vist hvordan man setter opp hvert register som skal polles, jeg er usikker på om jeg har satt dette korrekt. Gatewayen er designet slik at hvis den feiler så vil den ikke spørre etter det neste registeret i hver serie (datapoint 1-10, 11-20 etc). Det er listet flere måter å sette opp polling av hvert register og jeg ser etter hvordan dette må settes opp. Såvidt jeg har skjønt er alle registre 16bit på nye vsr-500 aggregat (etter 2017).

     

    Lenke til kommentar
    Del på andre sider

    Jeg har bestillt en slik sak med wifi og ethernet som kommer fra Kina. Så satser på å kunne bruke den for debugging ja. Har null monitorering på gatewayen.
    Mener det var en hf-2211 jeg bestillte.

    Lenke til kommentar
    Del på andre sider

    On 31/12/2019 at 14:19, bergen77 said:

    Strips, hva bruker du for å lese ut modbus?
    Fikk du tilsendt modulen kostnadsfritt, husker du hvorfor du trengte oppdatering?
    Fint om du også har innstillinger av modbus parametrene på din rtu, og gjerne ett eksempel på ett register du får lest eller skrevet til.

     

    Jeg bruker Systemair IAM som Modbus til Ethernet gateway. Jeg er faktisk litt usikker på hvorfor jeg fikk den gratis. Men tror det er at jeg hadde for gammel software og og eller feil konfigurasjon. De sa at jeg måtte oppgradere og så skulle de legge inn en ny konfig-fil som ble lagt inn på Ventilatoren. Men jeg gjorde nok en feil og etter en fabrikkresett av IAM så mistet jeg konfig-filen. Så logget Systemair seg inn når IAM var satt i Cloud-modus og la inn ny konfig-fil for meg.

     

    IAM bare funker. Det er en webside for å sette opp DHCP eller statisk IP-adresse hvor man kan sette den i Cloud eller Modbus-TCP. Den støtter både Wifi og kablet ethernet.

     

    Jeg sliter med en del "Read Input Register" som nekter å la se lese. Får feil som sier at funksjonen ikke er støttet på adressen. Derimot så kan noen av de leses som Holding Register. Det som er forvirrende er at alle adresser lar seg lese som Holding Register og man får 0 i retur. 

     

    Status Kode Register Adresse Min Maks Beskrivelse
    Fungerer ikke REG_USERMODE_MODE Read Input Register (Function 04) 1161 0 12 Active User mode.0: Auto1: Manual2: Crowded3: Refresh4: Fireplace5: Away6: Holiday7: Cooker Hood8: Vacuum Cleaner9: CDI110: CDI211: CDI312: PressureGuard
    Fungerer REG_USERMODE_HMI_CHANGE_ REQUEST Holding Register (Function 03/06/16) 1162 0 7 New desired user mode as requested by HMI0: None1: AUTO2: Manual 3: Crowded4: Refresh5: Fireplace6: Away7: Holiday

     

     

    Jeg driver å tester registere og ser hva jeg finner ut. Kjører full scan så endrer en instilling så tar en diff etterpå.

    Lenke til kommentar
    Del på andre sider

    Hvis du bruker Modbus TCP/IP skal du kun benytte Holding Register.

     

    1161 er for å lese brukermodus (0=auto)

    1162 er for å endre brukermodus.

     

    Holding register benyttes til begge.

    Lenke til kommentar
    Del på andre sider

    14 hours ago, MrE said:

    Hvis du bruker Modbus TCP/IP skal du kun benytte Holding Register.

     

    1161 er for å lese brukermodus (0=auto)

    1162 er for å endre brukermodus.

     

    Holding register benyttes til begge.

     

    Takk for info. Usikker på hva IAM faktisk leverer av protokoll. Det som står er "Modbus Gateway TCP-RTU/RS485"

     

    Men en del register fungerer å lese som Input Register men mange feiler også.

     

    Har du noe lesestoff om temaet? Jeg Har lest en del men nå ser jeg etter det du snakker om at Modbus TCP kun støtter Holding Register.

    Lenke til kommentar
    Del på andre sider

    På Systemair sine aggregater er betjeningspanelet RS485.

    Når du satte opp IAM så brukte du en Y-splitt for å koble til både aggregat og betjeningspanel. Dette er RS485.

    IAM kommuniserer med aggregatet via RS485, men kommuniserer eksternt via TCP/IP.

     

    Det står mye bra info i Systemair sin Modbus variable list, under avsnitt 1.

    At du skal bruke holding register (RW) på TCP/IP står under pt 1.2 Transmission Modes.

    Lenke til kommentar
    Del på andre sider

    2 hours ago, MrE said:

    På Systemair sine aggregater er betjeningspanelet RS485.

    Når du satte opp IAM så brukte du en Y-splitt for å koble til både aggregat og betjeningspanel. Dette er RS485.

    IAM kommuniserer med aggregatet via RS485, men kommuniserer eksternt via TCP/IP.

     

    På nye vsr-500 loftsmodell er tilkoblingen utvendig på aggregatet på rekkeklemmer merket A og B. Det er her jeg har koblet til. Sitter også en RJ plugg på kretskortet, sikkert for å laste program fra fabrikk eller noe. Blir litt i tvil når jeg ser IAM kobles på rj plugg.

    Lenke til kommentar
    Del på andre sider

    Edit:

    Strips, du har vegghengt aggregat? På loftsmodellen bruker man rj11 pluggen til iam og betjeningspanel, da må man benytte splitten.

    Endret av MrE
    Lenke til kommentar
    Del på andre sider

    3 hours ago, MrE said:

    Edit:

    Strips, du har vegghengt aggregat? På loftsmodellen bruker man rj11 pluggen til iam og betjeningspanel, da må man benytte splitten.

    Korrekt, vegghengt med rør-tilkoblinger på topp. Hvis du ser bildet i linken under er det en trekantet plastboks oppå aggregatet. Der er det en ledig RJ11.

     

    https://shop.systemair.com/no-NO/save--vtr--300b--l/p413776

     

     

    Lenke til kommentar
    Del på andre sider




    Bli med i samtalen

    Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

    Gjest
    Skriv en kommentar...

    ×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

      Du kan kun bruke opp til 75 smilefjes.

    ×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

    ×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

    ×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.




×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.