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



    Hei,

    Prøver å få dette til mot et Flexit nordic S4 aggregat.

     

    Har samme modbus til IP adapter som moskus. 

    Modbus plugin i HS3 har kontakt med adapteret på IP.

    Men der stopper det litt opp. Noen som har dette aggregatet og har fått det til å fungere?

    Eller kjenner adressene som må mappes til device? 

    Jeg er jo ikke sikker på at jeg har rett oppsett på modbus-siden av adapteret. Lite info og muligheter for debug på den siden.

    Så fortsatt litt mange ukjente for å vite helt for feilen ligger.

     

    Mvh

    Einar

     

    Lenke til kommentar
    Del på andre sider

    Hei

    Jeg vet ikke om det er bare meg som har slitt med å få modbus til å fungere, men jeg har holdt på ganske lenge og var rimelig fortvilet over at jeg ikke fikk kommunikasjon mot mitt VSR500 aggregat fra Systemair. Jeg har en IAM og en sånn modbus boks som @Moskus anbefaler i guiden. Jeg har hele tiden fått kontakt med modbus boksen, men ikke derfra videre mot aggregatet helt til jeg plutselig oppdaget i appen fra Systemair at både touch displayet og appen kommuniserer med en baud rate på 1200...ikke 115200 som det står i guiden her. Endret oppsett i modbus boksen til det samme som var i appen og vips så funket det. Anbefaler de som sliter med å få modbus til å fungere om å dobbeltsjekke at alt kommuniserer med samme baud rate. 

     

    Tusen takk for en glimrende guide @Moskus. Jeg hadde aldri klart dette uten din guide!

     

    Mvh Øyvind

    • Like 1
    Lenke til kommentar
    Del på andre sider

    6 minutes ago, Luftvaffel said:

    Hei

    Jeg vet ikke om det er bare meg som har slitt med å få modbus til å fungere, men jeg har holdt på ganske lenge og var rimelig fortvilet over at jeg ikke fikk kommunikasjon mot mitt VSR500 aggregat fra Systemair. Jeg har en IAM og en sånn modbus boks som @Moskus anbefaler i guiden. Jeg har hele tiden fått kontakt med modbus boksen, men ikke derfra videre mot aggregatet helt til jeg plutselig oppdaget i appen fra Systemair at både touch displayet og appen kommuniserer med en baud rate på 1200...ikke 115200 som det står i guiden her. Endret oppsett i modbus boksen til det samme som var i appen og vips så funket det. Anbefaler de som sliter med å få modbus til å fungere om å dobbeltsjekke at alt kommuniserer med samme baud rate. 

     

    Tusen takk for en glimrende guide @Moskus. Jeg hadde aldri klart dette uten din guide!

     

    Mvh Øyvind

    Men da kommuniserer du med modbus tcp/ip antar jeg? Hvor gammelt er aggregatet ditt, har du slik fargeskjerm? Såvidt jeg forstår er modbus baudrate innstillingen på displayet baudraten som brukes på RTU porten på aggregatet, ikke på display/IAM porten. Det er vel ikke samme sak er det? Merkelig at ikke Systemair i Sandnes er oppdatert på dette.

    Lenke til kommentar
    Del på andre sider

    Jeg kjøpte aggregatet mitt i høst og displayet er med farger ja. Når det gjelder baud raten må jeg melde pass @bergen77. Hvis jeg har forstått dette riktig så kommuniserer vel displayet og IAM på samme port/bus/utgang eller hva man nå skal kalle det, som modbus utgangen på tilleggskortet. Altså må alt som kommuniserer på denne busen ha samme baud rate. Mulig jeg er helt på jordet eller sier noe helt feil her, men det funket i hvert fall for meg.

    Lenke til kommentar
    Del på andre sider

    Antar Luftvaffel bruker IAM for å bruke Systemair sin app, og har i tillegg benyttet Modbus RTU for å få aggregatet inn i homeseer(?).

     

    baud rate kan settes i kommunikasjon->modbus. Fra 9600 til 115200. 115200 mener jeg er standard.

    Lenke til kommentar
    Del på andre sider

    Det var rart. Hos meg (vsr300 og IAM) var det plug n play - nesten for enkelt.

    Når du satt i IAM i modbus modus, hva mener du med at du fikk kontakt med IAM og ikke aggregatet. Var dette når du prøvde å lese registre?

    det er forskjell på registrene om man bruker modbus TCP/IP (IAM) og nør man bruker modbus RTU

    Lenke til kommentar
    Del på andre sider

    Det var definitivt ikke plug`n play her....mer plug`n pray

    I IAM oppsettet ser det nå sånn ut

    image.png.8e34401876a01c7a3b761879a6ffeebe.png

     

    Da jeg satt den i modbus modus fikk jeg "connected" mot MB, men ikke mot cloud. Jeg fikk kontakt med IAM gjennom homeseer, men klarte ikke å lese ut noe. Mulig jeg forklarer meg klønete her nå.

    Lenke til kommentar
    Del på andre sider

    Jeg henger med. Med IAM må du velge enten eller, du kan ikke få begge. Setter du den i Modbus modus så vil ikke cloud (appen) virke.

    Når du har satt den i modbus modus er det egentlig bare å begynne å lese registre..

     

    edit:

    Slik ser min IAM side ut i modbus modus.

    image.png.171b83d0e2346eb5427d9097393f5a2d.png

    Endret av MrE
    Lenke til kommentar
    Del på andre sider

    Ja, det var det jeg også trodde, men jeg fikk det ikke til.

    Uansett så står nå IAM i "cloud" modus og det gjør at jeg kan bruke appen på mobilen og modbus adapteret (usr.tcp232-410s) står for modbus kommunikasjonen mot HS. Da får jeg i pose og sekk ?

    Lenke til kommentar
    Del på andre sider

    Det kan hende at det er brannmuren min som har tulla det til for meg. Jeg har en Sophos XG brannmur som var såpass streng at jeg ikke fikk til IAM bak brannmuren da jeg installerte anlegget tidligere i høst, og måtte sette opp en vlan foran brannmuren som bare den er tilkoblet. Jeg synes det er veldig rart likevel. Da jeg la inn IAM i HS fikk jeg kontakt med den, men klarte ikke å lese ut noe som helst. I og med at den klarer å lese ut av aggregatet når den står i "cloud" modus burde den jo klare det i modbus modus også.

    Lenke til kommentar
    Del på andre sider

    @Luftvaffel Da er du en av de heldige - jeg fikk IKKE appen til å fungere :)

    edit: Ja den burde klare å se ut når cloud fungerer, kan det hende du la inn modbus innstillingen feil i homeseer? At du har korrekt port og spør på holding register, ikke input register og slikt. Modbus TCP bruker port 502, i guiden til Moskus, som er for RTU, benyttes det en annen port.

     

     

    @einarli Kom du noen vei med Flexit aggregatet? Modbus listen ligger her:

    https://www.flexit.no/globalassets/catalog/documents/27014_modbus-3.xlsx

     

     

    Endret av MrE
    Lenke til kommentar
    Del på andre sider

    Jeg er så godt som 100% sikker på at jeg har lagt inn de riktige oppslagene...men i og med at det ikke fungerte så skal jeg vel kanskje ikke være så skråsikker på at jeg har lagt det inn riktig likevel  ?

    Jeg måtte legge inn riktig port (502) for å få kontakt med IAM fra HS, men som sagt fikk jeg ikke ut noen verdier fra aggregatet uasnett hvor mye jeg forsøkte.

     

    Lenke til kommentar
    Del på andre sider

    3 hours ago, Luftvaffel said:

    Jeg kjøpte aggregatet mitt i høst og displayet er med farger ja. Når det gjelder baud raten må jeg melde pass @bergen77. Hvis jeg har forstått dette riktig så kommuniserer vel displayet og IAM på samme port/bus/utgang eller hva man nå skal kalle det, som modbus utgangen på tilleggskortet. Altså må alt som kommuniserer på denne busen ha samme baud rate. Mulig jeg er helt på jordet eller sier noe helt feil her, men det funket i hvert fall for meg.

    Slik jeg leser de siste innleggene dine så kommuniserer du kun over nettverk via IAM gatewayen. Ved å sette samme baudrate som displayet og IAM så får du lest modbus over tcp samtidig som IAM fungerer mot cloud.

    Kan du lese av hvilken software du har, dette finner du i displayet.

     

    Jeg skal snakke med aggregatet på en litt annen måte, jeg skal ikke bruke nettverk men Modbus RTU, som er terminalene på det utvendige kortet på aggregatet (loftsmodell).

    Lenke til kommentar
    Del på andre sider

    @Luftvaffel, antar at både touch-panel og IAM er koblet via samme RJ-11 porten på den trekantet koblingsboksen? I så fall skal IAM og Touch-panel ha samme baud-rate og går via den samme bussen.

     

    Jeg har IAM og får Modbus TCP til å virke mot den på port 502. Hvis du logger på IAM og ser Mainboar connection: Connected burde baud-rate være korrekt. Som det kom frem tidligere her må man kun benytte Holding Registere til alt på Modbus TCP.

     

    Men hvis du får til Modbus via det andre adapteret samtidig som Cloud på IAM er du vel i boks? Som du selv sa, pose og sekk :)

     

    @bergen77

    Hva mener du med på en annen måte? Selv om det er andre kontakter så er det fortsatt Modbus RTU via en seriell-kobling. Så har vi litt forskjellige adaptere for å videresende dette via Ethernet / TCP. Eller tenker du å koble seriell-porten rett på en PC/RPI? 

     

     

     

    Ellers er jeg har jeg ingen erfaring med Modbus annet en det jeg har lært her. Jeg sliter litt med topologien på Systemair sin Modbus. Det kan bare være en RTU master. Da stusser jeg over touchpanel og IAM eller annet adapter koblet på samme buss. Der man har egne terminaler i tillegg til RJ11-porten er det vel 2 separate busser. Men I IAM-manuelen så kan man koble den i parallell med eksternt panel. Hva blir master da?

     

    Lenke til kommentar
    Del på andre sider

    Modbus TCP og Modbus RTU er to forkjellige ting, selv om dataene inneholder det samme.

    Jeg skal ikke ha noe modbus-tcp forbindelse. Jeg skal ha Modbus RTU - KNX interface.

    Jeg er tilhenger av at det intigreres mot knx busen fremfor IP, da er jeg sikker på at alle mine KNX enheter kan ta i bruk signalet uavhengig av kompabilitet, drivere, software osv.

    Ulempen med gatewayen min er at den har ingen form for monitorering, om jeg ikke kommer i havn nå så får jeg forsøkte modbus poll med ett ip interface slik som dere bruker).

     

    Jeg har nå kommet i kontakt med supporten til produsenten så satser på at jeg får gode svar der!

    • Like 1
    Lenke til kommentar
    Del på andre sider

    Hei

    @bergen77, nei, jeg kommuniserer ikke bare via IAM. Jeg bruker IAM i cloud modus og denne brukes derfor bare for å få kontakt via appen på mobilen. Modbus adapteret (som @Moskus beskriver i guiden) har jeg koblet på LAN'et og dette bruker jeg til å kommunisere mellom HS og ventilasjonsaggregatet. Jeg bruker med andre ord 2 adaptere for kommunikasjon.

     

    @strips, hvis jeg har forstått Systemair anleggets oppbygning så går HMI, IAM og modbus terminalene på tilleggskortet på samme buss. Alle displayene og andre ting som er koblet på denne bussen vil motta de samme signalene da de blir sendt ut på hele bussen, og dermed kan f.eks alle signalene fanges opp av alle displayene og evnt modbus adaptere (som det jeg har installert i tillegg til IAM).

    Lenke til kommentar
    Del på andre sider

    @Luftvaffel bare litt nysgjerrig - men om du går på touchpanelet til aggregatet og går på Innstillinger - kommunikasjon - modbus, hva står det som baud rate der?

    hvis du blir møtt av passord mener jeg det er 1111.

    edit: støtter forøvrig teorien din om oppbyggingen av modbus på aggregatet. IAM-modulen er bare en gateway modbus rtu -> modbus tcp.

    man kan hekte på flere modbus enheter på bussen, så lenge de får forskjellige adresser.

     

    Endret av MrE
    Lenke til kommentar
    Del på andre sider

    @MrE, der står det 1200 i baud rate, det samme står det i skjermbildet på appen. Appens skjermbilde og touchpanelet (HMI) fanger står jo i samme sløyde/buss og bør jo derfor vise det samme. Det var på bakgrunn av dette at jeg prøvde å endre baud rate i modbus adapteret mitt til samme verdi, og alt virket ?

    Lenke til kommentar
    Del på andre sider

    Det var også noe av grunnen til at jeg ikke tenkte tanken på baud rate før etter laaaaaang tid og hvis andre kan slippe unna med å gjøre samme feil som meg så er det verdt å informere om det her.

    Lenke til kommentar
    Del på andre sider

    2 hours ago, Luftvaffel said:

     

    @strips, hvis jeg har forstått Systemair anleggets oppbygning så går HMI, IAM og modbus terminalene på tilleggskortet på samme buss. Alle displayene og andre ting som er koblet på denne bussen vil motta de samme signalene da de blir sendt ut på hele bussen, og dermed kan f.eks alle signalene fanges opp av alle displayene og evnt modbus adaptere (som det jeg har installert i tillegg til IAM).

     

     

    Dette er ikke riktig. Modbus porten merket A og B er ikke samme som HMI busen mellom display, IAM og aggregatet.

    Når IAM settes til modbus tcp gateway vil IAM konvertere den interne HMI busen til modbus tcp.

    Modbus innstillingene i displayet påvirker kun modbus RTU, altså terminalene A og B. Selve displayet og IAM kommuniserer på annet vis.

    Du må selvsagt ha samme baudrate i gatewayen som det som står i displayet. Om du velger å forandre det i appen istedet er det fortsatt det samme du gjør. Om det skulle vert slik du tenker ville du måtte forandre det i appen og i displayet, du får prøve å forandre ene plassen og se hva som skjer med den andre.

    Man kan oppdatere software på aggregatet via IAM modulen eller med ett display som inneholder nyere software. Systemair skriver også at det ikke er andre måter å gjøre oppgraderinger av software.

     

    Sitat Systemair support:

    "SAVE units have it is own internal communication protocol between displays, IAM and mainboard."

    " If You are planning to use it with Modbus communication it is recommended to update, because Modbus communication is improved in latest version."

    Lenke til kommentar
    Del på andre sider

    Du blingser litt. Den interne bussen er Modbus RTU (mellom aggregat og betjeningspanel og IAM). IAM konverterer Modbus RTU til Modbus TCP. Dette står flere plasser i dokumentasjonen fra Systemair.

    Om det er samme bus eller om det er 2 atskilte busser på aggregatet er jeg ikke sikker på - meget mulig det er en intern og en ekstern.

     

    Du nevner at det brukes et ip interfsce for monitorering - det eneste interfacet som brukes er homeseer. Du må jo ha noen form for grensesnitt hvor du kan lese av en verdi på registeret du spør etter? Alternativt laste ned modbus poll og kjøre registerene der.

    det er ingen forskjell på modbus rtu og modbus tcp annet enn at man kan få en høyere hastighet med modbus tcp (Grovt fortalt) Modbus TCP er bare modbus RTU wrapped i ethernet.

     

    Mitt aggregat ble levert med første spftware versjon, og jeg hadde ingen problemer med å polle registre.
     

    kan du poste skjermbilde av hvordan du poller ett register så kanskje det blir enklere å forstå hvor du stopper opp hen?

    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.