Modbus Modbus on yleisesti käytetty, avoin ja lisenssimaksuton master-slave-sarjaliikenneprotokolla. Modbus määrittelee viestien rakenteen ja käsittelytavan, kun taas EIA-485-standardi määrittelee tiedonsiirron fyysisen kerroksen. Tässä ohjeessa on perustietoa Modbus RTU -protokollasta ja EIA-485-standardista. Tarkempia tietoja Modbusprotokollasta löytyy osoitteesta www.modbus.org. Huom.! Kaikissa Fläkt Woodsin laitteissa on laitekohtaisia tiedonsiirtoasetuksia, rekistereitä ja tuettuja funktioita, joita ei ole esitelty tässä ohjeessa. Laitekohtaiset ohjeet löytyvät osoitteesta www.flaktwoods.fi. 1 (7) Oikeudet muutoksiin pidätetään.
Modbus-perusperiaate master-slave Master-slave-protokolla tarkoittaa sitä, että samaan väylään on samaan aikaan kytkettynä yksi master-laite ja vähintään yksi slave-laite. Tiedonsiirron aloittaa aina master. Slave-laitteet eivät kommunikoi keskenään eivätkä lähetä myöskään master-laitteelle pyyntöjä tai muitakaan viestejä, ellei master niitä erikseen pyydä. Täsmälähetyksessä master lähettää pyynnön ensin yhdelle tietylle slave-laitteelle ja odottaa sen vastausta. Slave-laitteella on yksilöllinen osoite välillä 1...247. Kuva 1: Lähde: Modbus over serial line specification and implementation guide Yleislähetyksessä master lähettää pyynnön kaikille slave-laitteille osoitteeseen 0. Slave-laitteet eivät vastaa yleislähetyksenä lähetettyihin pyyntöihin. Kuva 2: Lähde: Modbus over serial line specification and implementation guide Yhteen sarjaliikenneväylään voidaan teoriassa kytkeä enimmillään 247 slave-laitetta. Käytännössä se, kuinka monta slave-laitetta väylään voidaan kytkeä ilman toistinta, riippuu siitä, mikä on laitteiden kuorma EIA-485:n määritelmän mukaan. Maksimimäärä on 32 laitetta, jos kunkin laitteen kuorma vastaa yhtä kokonaista laitetta. Esimerkiksi säätimen 227VM-MB, 227PM-MB, 309VM-MB tai GT-MB kuorma vastaa ¼ laitetta. Yhteen sarjaliikenneväylään voidaan tällöin ilman toistinta kytkeä enintään 128 slave-laitetta. 2 (7) Oikeudet muutoksiin pidätetään.
Modbus-datatyypit Slave-laitteeseen voidaan tallentaa kahdenlaista tietoa: päällä/pois-tietoja ja kokonaislukuja. Molemmille datatyypeille on valittavissa vaihtoehtoisesti vain luku tai luku ja kirjoitus. Modbus ei määrittele rekistereiden käyttöä, joten slave-laite ei välttämättä tue kaikkia rekisterityyppejä. Rekisterityyppi Datatyyppi Master-oikeudet Discrete Input 1 bitti Vain luku Coil 1 bitti Luku/kirjoitus Input Register 16-bittinen sana Vain luku Holding Register 16-bittinen sana Luku/kirjoitus Huom.! Koska murtolukuja ei tueta, murto-osan sisältävät arvot skaalataan usein kokonaisluvuiksi. Modbus-kehys (RTU) Modbus-tiedonsiirtotapoja on kaksi: RTU ja ASCII. Tiedonsiirtotavan perusteella määräytyy tavun datakehys. RTU on pakollinen, ja kaikki Fläkt Woodsin laitteet käyttävät sitä oletuksena. ASCII-muotoa tuetaan vain harvoin. RTU-viestikehys Osoite Funktiokoodi Tiedot CRC Lopetus 1 tavu 1 tavu N * 1 tavu 2 tavua (CRC_Lbyte, CRC_Hbyte) 3,5 merkkiä Osoite Määrittelee slave-laitteen. Jokaisella laitteella on oltava yksilöllinen osoite, Funktiokoodi Määrittelee pyynnön, jonka master-laite lähettää slavelaitteelle. Yleisimmin tuetut funktiokoodit on lueteltu seuraavassa taulukossa. Funktiokoodi Kuvaus 01 Coils luku 02 Discrete Inputs luku 03 Holding Registers luku 04 Input Registers luku 05 Single Coil kirjoitus 06 Single Register kirjoitus 15 Multiple Coil kirjoitus 16 Multiple Registers kirjoitus Tiedot Sisältää pyydetyt tai pyynnön suorittamiseen vaaditut tiedot. CRC Virheentarkistus, jolla varmistetaan, etteivät tiedot ole muuttuneet tiedonsiirron aikana. Lopetus Viestikehysten välinen tauko, vähintään 3,5 merkkiä. Kertoo laitteelle, että viesti on päättynyt. Tiedonsiirtoasetukset Sarjaliikenteessä asetettavia parametreja ovat baudinopeus, pariteetti ja stop-bitit. Kaikkien samassa väylässä olevien laitteiden tiedonsiirtoasetusten on oltava samoja, ja ne on asetettava jokaiseen laitteeseen erikseen. Jos parametrit asetetaan väärin, slave-laite ei pysty vastaamaan master-laitteen lähettämiin pyyntöihin. 3 (7) Oikeudet muutoksiin pidätetään.
Virheiden käsittely Jos slave-laite havaitsee virheen sille lähetetyssä pyynnössä, se ei vastaa. Jos slave ei pysty käsittelemään pyyntöä, vaikka siinä ei olisikaan virhettä, se voi vastata poikkeusviestillä, joka kertoo master-laitteelle, millaisesta ongelmasta on kyse. Poikkeusviestin kehys Osoite Funktiokoodi Virhekoodi CRC Lopetus + 80h 1 tavu 1 tavu 1 tavu 2 tavua (CRC_Lbyte, C_Hbyte) 3,5 merkkiä EIA-485 EIA-485 on standardi lähettimen ja vastaanottimen välisen balansoidun sarjaliikenteen fyysisen kerroksen määrittelemiseen OSI-mallin mukaisesti. Standardi määrittelee vuorosuuntaisen monipisteverkon, jossa tietoa voidaan lähettää kumpaankin suuntaan, mutta vain yhteen suuntaan kerrallaan. Tiedonsiirtoon käytetään kahta signaalijohdinta, kumpaakin sekä lähettämiseen että vastaanottamiseen. Signaalin looginen taso määräytyy johtimien välisen eron perusteella. Tämä differentiaalinen tiedonsiirto yhdessä parikierretyn kaapelin kanssa suojaa tehokkaasti häiriöiltä. Huom.! EIA/RS-485-johtimien nimeämisessä on paljon vaihtelua. Signaalijohtimien paikkaa voidaan joutua vaihtamaan, jotta tiedonsiirto toimisi. Virheellinen signaalijohtimien napaisuus ei vaurioita laitteita. 4 (7) Oikeudet muutoksiin pidätetään.
Verkon topologia Suositeltava verkon rakenne on sellainen, jossa laitteet on kytketty suoraan tai lyhyillä haaroilla yhteen runkokaapeliin. Haara tarkoittaa laitteen ja runkokaapelin välistä etäisyyttä. Haarojen tulee olla mahdollisimman lyhyitä, jotta vältyttäisiin signaalien heijastumiselta. Modbus-ohjeiston mukaan haaran ei koskaan pitäisi olla yli 20m. Tiedonsiirtoväylässä tulee olla lähellä kumpaakin päätä 120 ohmin päätevastus heijastumisen estämiseksi. Verkkotopologiana ei saa olla tähti tai rengas eikä runkoväylä, johon on kytketty tähtiä tai ryppäitä. Kaikki tällaiset rakenteet on poistettava verkosta. Oikeanlainen EIA/RS-485-verkko Kuva 6: Runkoväylä ja tähtiä tai ryppäitä Kuva 3: Ketjutus Kuva 7: Tähti Kuva 4: Runkoväylä ja haaroja Vääränlainen EIA/RS-485-verkko Kuva 5: Rengas 5 (7) Oikeudet muutoksiin pidätetään.
Tiedonsiirtokaapelit Modbus/RTU-tiedonsiirtoon tulee käyttää kierrettyjä parikaapeleita, jotka ovat EIA-485-standardin kaksijohdinjärjestelmille määrittelemien vaatimusten mukaisia. Tiedonsiirtoon käytetään kahta toistensa ympäri kierrettyä johdinta, ja kolmantena johtimena tulee olla laitteiden välinen signaalireferenssimaa. Kaikkien samaan väylään liitettyjen laitteiden signaalireferenssimaat on kytkettävä yhteen. Kaapelin suojan maadoitusjohdinta ei saa käyttää signaalin referenssijohtimena. Vältä suurjännitekaapeleiden ylittämistä. Kaapelit on pidettävä erillään merkittävistä häiriölähteistä, kuten generaattoreista, releistä ja taajuusmuuttajista. Jos ympäristössä on häiriölähteitä, kaapeleiden tulee olla suojattuja. Parisuojatun kaapelin suojan maadoitusjohdin voidaan tarvittaessa kytkeä suojamaahan häiriöiden ehkäisemiseksi. Kytkentä tulee tehdä vain suojavaipan toisesta päästä, esimerkiksi aina säätimeltä lähtevään kaapeliin. Kaapelin pituus Kaapelin ohjeellinen maksimipituus riippuu tiedonsiirtonopeudesta ja kaapelin ominaisuuksista, kuten ominaisimpedanssista ja paksuudesta. Modbusohjeistossa maksimipituudeksi määritellään 1 000 metriä, jos kaapelin poikkipinta-ala on siihen riittävä. Kun baudinopeus on 19 200 bps tai enemmän, suositeltava ominaisimpedanssi on 100 ohmia. Kaapelin maksimipituus riippuu johtimien laadusta, ympäristöstä ja siitä, kuinka pitkältä matkalta johdinparia on kierretty auki liitäntöjen kohdalta. Todellinen maksimipituus voi siis olla lyhyempi kuin 1 000 m. Tiedonsiirtonopeuden kasvaessa järjestelmästä tulee häiriöalttiimpi. Tunnettuja kaapelivalmistajia ovat mm. Alpha Wire, Batt Cables, Belden, Draka, Nexans and Lapp Kabel. Alla on joidenkin kaapeleiden tiedot sisältävä pikaohje. Valmistaja Kaapelin tunnus Kuvaus/lisätietoja Belden 9842 24AWG, 2 kierrettyä paria, polyeteenieriste Belden 3106A 22AWG, 1 kierretty pari + 1 johdin, Datalene-eriste Belden 3107A 22AWG, 2 kierrettyä paria, Datalene-eriste Batt Cables 91084 Batt Cablesin versio Beldenin 9842- kaapelista Batt Cables 91421 Halogeeniton (LSZH) versio edellisestä Alpha Wire 6455 22AWG, 2 kierrettyä paria, eristeenä vaahdotettu HDPE Nexans Draka Draka TRONIC-CY-TP (LiYCY- TP) 2x2x0.25 NOMAK 2X2X0,5+0.5 Datajamak 2x(2+1)x0.24 0,25 mm 2, 2 0,5 mm 2, 2 0,24 mm 2, 2 Lapp Kabel UNITRONIC 2x0.25 0,24 mm 2, 2 6 (7) Oikeudet muutoksiin pidätetään.
Vianetsinnän tarkistuslista Ei tiedonsiirtoa Tarkista, että slave-laitteen osoite on oikea. Tarkista, ettei samaa osoitetta ole useammalla slavelaitteella. Tarkista tiedonsiirtoasetukset (tiedonsiirtotapa, baudinopeus, pariteetti, stop-bitit). Asetusten on oltava samoin kaikissa sarjayhteydessä olevissa laitteissa. Tarkista, ettei signaalijohtimien napaisuus (A, B) ole vahingossa vaihtunut. signaalijohtimet (A,B) ristiin. EIA/RS-485-johtimien nimeämisissä on paljon vaihtelua. Tarkista liittimet ja ruuviliitännät. Tarkista, että signaalireferenssimaa on kytketty kaikki laitteisiin. Heikko signaali Tarkista, että sarjaliikenneväylässä on asianmukaiset päätevastukset molemmissa päissä. Tarkista verkon topologia. Tähdet, renkaat ja runkoväylät, joihin on kytketty tähtiä tai ryppäitä, on poistettava verkosta. Lyhennä runkokaapeliin liitettyjä haaroja. Tarkista kaapeleiden sijainti. Älä ylitä suurjännitekaapeleita. Pidä kaapelit ja laitteet erillään merkittävistä häiriölähteistä. Tarkista, että kaapelin suojan maadoitusjohdin on maadoitettu asianmukaisesti. Tarkista, onko tiedonsiirtokaapelin suojaus riittävä. 7 (7) Oikeudet muutoksiin pidätetään.