TÖÖSTUSLIKUD SIDEVÕRGUD
TÖÖSTUSLIKUD TÖÖVÄLJA VÕRGUD
Tööstuslike tööväljavõrkude struktuur; Tööväljavõrk PROFIBUS; Tööväljavõrgud CANBUS ja MODBUS
Tööstuslike tööväljavõrkude struktuur
Tööväljavõrgud paiknevad tööstuslike süsteemide hierarhia kõige madalamal tasemel tootmise juhtimises (pilt 4.1). Nende peamine eesmärk on kanda andmeid terminali tööväljaseadmete (sensorid, ajurite jms) ning kõrgemate hierarhiatasemete seadmete (PLC, töö- ja operaatorjaamad) vahel. Tööväljavõrkusid iseloomustab struktuuri lihtsus, kõrge andmeedastuskiirus, paindlikkus ja sellesse kuuluvate komponentide madal hind. Lisaks hõlbustavad nad olulisel määral võrgusidega automaatsete juhtimissüsteemide diagnoosimist ja häälestamist. Tööväljavõrkude häälestus võimaldab erinevate tootjate seadmete integreerimist.
Kuigi suurem osa omaks võetud tööväljavõrkude spetsifikatsioonidest on algselt arendatud kui ühe ettevõtte toode, on täna automatiseerimisseadmete tootjad ühinenud mitmetes organisatsioonides, mis toetavad ühe või teise töövälja kommunikatsioonistandardit. Selle põhjuseks on fakt, et parem jõudlus ja odavus töövälja kommunikatsioonis kindlustab suurema turuosa. Hoolimata sellest et tööväljavõrgud on avatud näitab praktika, et erinevate tootjate seadmed ei tööta ühes võrgus.
Pilt 4. 1. Tööväljavõrkude struktuur
Tööväljavõrkude seadmete kokkusobivuse määravad nende seadmete omadused, mis on:
- Erinevad diagnostikafunktsioonid;
- Erinevate seadmete sidumine põhikaablitega ja neist eemaldamine, ilma ülejäänud sõlmede vahelist kommunikatsiooni segamata ja elektrivoolu välja lülitamata;
- Automaatne seadmete konfigureerimine ilma spetsialiseeritud seadmeid ja tarkvara kasutamata;
- Seadmete standardiseeritud profiilide kasutamine;
- Seadmete füüsilise võrkuühendamise standardiseeritud mehhanismid;
- Enesediagnoosimise funktsioonid;
- Ettemääratud funktsioonid kriitilise seisundi tuvastamiseks.
Pilt 4.2 esitab valiku tööväljavõrke, vaadates nende rakendamist erinevate tootmistehnoloogiaprotsesside juhtimissüsteemides.
Pilt 4. 2. Tööväljavõrgud [64]
Tööväljavõrkude rakendamisel tuleks järgida järgmisi tingimusi:
- Erinevate tootjate poolt tehtud seadmete kokkusobivus ja vahetatavus;
- Tööväljaterminalid peaksid automaatsetes juhtimissüsteemides toetama kiiret võrgusidet;
- Võimalik kiiresti paigaldada ja häälestada;
- Paindlik komponentide valik;
- Terminalidel on intelligentne enesediagnostika;
- Süsteeme saab paigaldada kuni 1000m füüsilise jaotuse/paigutusega;
- Kaabliga ühendatavate seadmete piiratud arv.
Tööväljavõrkude funktsionaalsus
Tööväljavõrgud täidavad võrgusidega automaatsetes juhtimissüsteemides järgmisi funktsioone:
- Andmete edastamine terminalide vahel nagu loogikakontrollerid, täiturid, sensorid jne;
- Seadmete konfiguratsiooni puudutava lisainformatsiooni edastamine.
- Tööväljavõrkude oluline omadus on võimalus ehitada avatud süsteeme, kuna puudub vajadus võrgustruktuuri keskse juhtimise järgi.
Tööväljavõrkudes kasutatud informatsiooni ülekandemeetodid
Tööväljavõrkude ülekandemeetodid võimaldavad edastada informatsiooni ühele või mitmele sõlmele võrgus. Informatsiooni võrgustamise baasüksused on kaadrid, andmepaketid ja datagrammid. Kaader koosneb bittide ja baitidega tööväljadest ja seostatakse OSI mudeli füüsilise kihiga, kusjuures andmepakett seostatakse selle mudeli kõrgemate kihtidega.
Tööväljavõrkude informatsiooni ülekandemeetodid on järgmised:
Üksikedastus (unicast, üks ühele)
Selle meetodi puhul edastatakse andmepakett saatjalt ühele vastuvõtjale (pilt 4.3).
Pilt 4. 3. Tööväljavõrkudes kasutatud informatsiooni ülekandemeetodid
Multiedastus (multicast, üks mitmele)
Multiedastusmeetodi puhul edastatakse andmepakett saatja poolt saajate hostile võrgus. Saatja adresseerib andmepaketi, kasutades saajate multiedastusaadressi, mispeale see saadetakse üle võrgu igale multiedastus-aadressis olevale saajale;
Leviedastus (broadcast, üks kõigile)
Leviedastusmeetodi puhul edastatakse andmepakett kõigile võrgus asuvatele seadmetele. Saatja adresseerib paketi, kasutades leviedastusaadressi, mispeale saadetakse see üle võrgu kõigile seadmetele.
Tööväljavõrkudes kasutatavate seadmete klassid
Tööväljavõrkudes jaotatakse seadmed järgmisteks klassidesse:
Ülemseadmed
Ülemseadmed määravad andmevahetusmeetodid võrgus ja täidavad juhtimis- või informatsioonijuhtimisfunktsioone. Need on aktiivsed seadmed, mis saadavad võrgus sõnumeid ilma eelnevate päringuteta, juhul kui neil on autoriseeritud ligipääsumarker antud võrku.
Alluvseadmed
Alluvseadmed on võrgusidega automaatsete juhtimissüsteemide terminalid: töövälja testrid/meetrid, muundurid, täiturid, sisend/väljundmoodulid, mõõtmisseadmed. Need on passiivsed seadmed, millel on piiratud juurdepääs võrku; nad kinnitavad vastu võetud või edastatud sõnumid juhtseadmetelt.
Tööväljavõrkude kommunikatsioonimehhanismid
Kommunikatsioonimehhanismid määravad seadmetevahelised loogilised ühendused, kommunikatsiooniprotokolli ja ühendused seadmetes asuvate objektide vahel. Tööväljavõrkudes kasutatakse kõige sagedamini järgmisi kommunikatsioonimehhanisme:
Klient/server
See on kaasaegsetes arvutivõrkudes põhiline kommunikatsioonimudel. Server jagab siin ressursse ja vastab klientide päringutele. Kliendid kasutavad serveri ressursse. Kliendil peaks olema oma ressursid, et käivitada rakendused, mis kasutavad serverilt saadavaid andmeid. Üsna tihti on mõned kliendi ja serveri osad arvutivõrkudes vahetatud, tehes sellega ülemseadmed klientideks samal ajal kui alluvseadmed on võrgus serverid. Ülemseadme funktsiooni saab täita vaid hajusjuhtimissüsteem (DCS), programmeeritav kontroller või personaalarvuti (PC) (pilt 4.4). Alluvseadmed on toorandmete allikad (töövälja testrid, andurid, mõõtmissüsteemid) teistele seadmetele, nagu täiturid, kaugsisend/väljundmoodulite. Kommunikatsioon võrgus algatatakse ülemseadme poolt, mis üritab võtta ühendust ühe või mitme alluvseadmega. Pärast tuvastusprotsessi konfigureerib ülemseade alamseadmed vastavalt neilt saadud informatsioonile nende kasutust arvestades. Töö ajal juhib ülemseade alluvseadmeid ja omab nende üle täielikku kontrolli, kuni otsustab oma ühenduse nendega katkestada.
Pilt 4. 4. Klient/server [64]
Selle mehhanismi oluliseks eeliseks on võrguandmete lihtsustatud käsitlemine; suurem osa andmetest on koondatud ülemseadmesse. Andmete ja kogu võrgu turvasüsteem on samuti lihtsustatud. Selle oluliseks puuduseks on see, et kogu võrgu töövõime võib ülemseadme kahjustuse korral ohtu sattuda.
Võrdõiguslik (peer-to-peer)
Selle kommunikatsioonimehhanismi tüüpiline omadus on see, et kõik võrku ühendatud seadmed on võrdväärsed ja võivad funktsioneerida samaaegselt nii alluvana kui ka ülemana (pilt 4.5). Võrdõiguslikkust kasutatakse identifitseeriva informatsiooni vahetamiseks alluv- ja ülemseadmete vahel ja see leiab rakendust tööstuslikes võrkudes nagu Profibus-FMS, LonWorks, WorldFIP.
Mitmik-ülemseadmed (multi-master)
Seda kommunikatsioonimehhanismi kasutatakse juhul, kui mitu ülemseadet vajavad ligipääsu andmetele, mis asuvad ühel ja samal alluvseadmel (pilt 4.6). Igal suvalisel ajahetkel saab ainult üks ülemseade juhtida ja konfigureerida mitme ülemseadme alluvuses olevaid alluvseadmeid.
Pilt 4. 5. Võrdõiguslik [64]
Pilt 4. 6 Mitmik-ülemseadmed [64]
Mitmik-ülemseadmetega mehhanism kasutatakse tööstuslikes võrkudes nagu Profibus-DP, DeviceNet jne.
Pollimine (poll)
Pollimise korral saadab ülemseade päringu igale alluvseadmele eesmärgil vahetada nendega andmeid. Alluvseade annab tingimusteta vastuse. See mehhanism ei ole piisavalt funktsionaalne, kuna teised seadmed ei pääse otse andmetele ligi, kuigi neil on neid vaja.
Impulss, üldlevi (strobe, broadcast)
Impulsi/üldlevi puhul saadab ülemseade päringu kõigile alluvseadmetele eesmärgil vahetada nendega andmeid. Sellele päringule saadavad vastuse ainult need seadmed, mis on üldlevisõnumis määratud.
Otsesõnumid (explicit messages)
Otsesõnumeid kasutatakse võrdõigusliku kommunikatsioonimehhanismi puhul. Seda tüüpi sõnumeid võivad genereerida kõik seadmed võrgus, kusjuures vastuvõtja peab saatma kinnituse. Otsesõnumite mehhanismi rakendatakse võrguseadmete esmasel identifitseerimisel, konfigureerimisel ja diagnostikal.
Killustatud sõnumid (fragmented messages)
Killustatud sõnumite mehhanismi tuleb kasutada juhul, kui tekib vajadus edastada sõnumit, mis on ületab korraga edastatavat andmemahtu. Selle mehhanismi puhul on andmed jagatud fragmentideks, mis hiljem vastuvõtja pool kokku pannakse, moodustades algse sõnumi.
Tsüklilised sõnumid (cyclic messages)
Tsüklilisi sõnumeid kasutatakse perioodiliseks andmete edastamiseks alluvseadmetelt ülemseadmetele. See mehhanism vähendab võrguliiklust ja ülemseadmete tööd.
Olekumuutus (change of state, COS)
Olekumuutuse mehhanismi puhul on alluvseadmed konfigureeritud nii, et nad saadavad andmeid ülemseadmetele ainult siis, kui nende olek/seisund muutub. Ülejäänud ajal kasutavad ülemseadmed viimast alluvseadmelt saadud andmeid protsessijuhtimise eesmärgil, vähendades sel moel olulisel määral võrguliiklust.
Tootja-tarbija (producer-consumer)
Tootja-tarbija mehhanismi puhul kantakse informatsioon perioodiliselt üle võrgu, kasutades üldlevimeetodit, kusjuures iga seade saab ilma viivituseta kätte selle osa informatsioonist, mida ta vajab. Iga seade (informatsiooni algataja) kirjutab andmepaketi päisesse ühenduse ID. Peale seda, kui anmdepakett on saadetud võrku, tuvastab iga seade, mis loeb ühenduse ID, kas see informatsioon on talle mõeldud ja kas ta seda vajab. Paketis on informatsiooni sisu piisav potentsiaalsete vastuvõtjate tuvastamiseks. See mehhanism leiab laialdast kasutust DeviceNet, ControlNet, Fieldbus Foundation spetsifikatsioonides. Tootja-tarbija meetod võimaldab täielikku võrgumeediumi kasutamist ja võrguliikluse vähendamist.
Allikas-sihtpunkt (source-destination)
See mehhanism on alternatiiv tootja-tarbija mehhanismile. Selle puhul saavad alluvseadmed ainult neid andmepakette, mis sisaldavad nende seadmete aadressi. Kui mitu seadet vajavad sama infot, siis tuleb seda edastada mitu korda. Sellised protseduurid on ebaefektiivsed ja võivad põhjustada terve hulga probleeme reaalajalise sünkroniseerimise ja töötamise puhul. Kuna seadmed, mis vajavad identset infot, saavad selle kätte erinevatel ajahetkedel. Allikas-sihtpunkt mehhanismi kasutatakse varasema generatsiooni spetsifikatsioonides nagu Profibus-DP, Modbus Plus ja Interbus S. Kommunikatsioon allika-sihtpunkti mehhanismi puhul on kohmakam kui tootja-tarbija mehhanismi puhul, kuna andmepaketid võrgus sisaldavad lisainfot, mida kasutatakse sõnumi adresseerimiseks ning sama sisuga sõnumeid võidakse saata erinevatele seadmetele.
Kaasaegsed tööväljavõrgud
Allpool vaadeldavad tööväljavõrgud on vaid murdosa tööstuses kasutatavatest tööväljavõrkudest, mis võimaldavad üles seada kaasaegse võrgusidega automaatse juhtimissüsteemi:
- AS-liides (AS-Interface) on üks kõige lihtsamatest tööväljavõrkudest. Seda kasutatakse elementaarsete sisend/väljundfunktsioonidega terminalide ühendamiseks.
- CAN liides (CAN Interface) – on jadakommunikatsioon tööstuslikes rakendustes, mis põhineb ISO-11898 standardil. Võimaldab turvalist ja kõrge täpsusega andmeedastust;
- DeviceNet – majanduslikult efektiivne võrgulahendus, kus kontrollerid ja tööstuslikud tööväljaseadmed on otseühenduses ilma tavapärase madalama taseme sisend- ja väljundkaabelduse vajaduseta.
- Profibus – avatud standardil baseeruv tööväljavõrk, mis on laialt rakendatav tootmise automatiseerimises. See võimaldab kasutada programmeeritavate hajutatud intelligentsusega kontrollereid jagatud võrgus;
- Modicon Modbus Plus – deterministlik tööväljavõrk klient/server kommunikatsiooniga ja kõrge andmevahetuskiirusega kontrollerite ja terminalide vahel;
- HART - kõige laialdasemalt kasutatud automatiseerimisvaldkonna tööväljavõrk, mis hõlmab kõiki tööstusalasid, sealhulgas energiatehnika, naftakeemia jne. See võimaldab edastada samaaegselt digitaal- ja analoogsignaale ning kasutada kõrgendatud turvalisusega võrkusid püsimatus ja ohtlikus keskkonnas;
- LonWorks – võrdõigusliku andmevahetusega tööväljavõrk (standardiseeritud), mida kasutatakse suure hulga terminalidega süsteemides;
- Interbus – määratleb ring-topoloogiaga tööväljavõrgud andmete edastamiseks;
- BACnet – kasutatakse peamiselt ehitusautomaatikas;
- SERCOS – tööväljavõrk kiireks andmevahetuseks optilisel kandjal; see on loodud multi-koordineeritud elektriajamite juhtimissüsteemide jaoks;
- Allen-Bradley Data Highway Plus (DH+) – kasutatakse kiire kommunikatsiooniga Allen-Bradley kontrollerite juures;
- General Electric Genius I/O, Allen-Bradley Remote I/O – see on mõeldud eelpool nimetatud tootjate sisend/väljund kaugmoodulite ühendumiseks ülemseadme(te)ga.
- FOUNDATION Tööväljasiin (fieldbus) – spetsiaalselt arendatud kõrge tundlikkusega rakendustele, mis vajavad kõrget turvalisustaset ja kiiret andmeedastust. Sobib tööstuslikuks kasutamiseks ohtlikus keskkonnas, kuna selle põhiomaduseks on täpne sünkronisatsioon juhtimise ja side vahel;
- Ethernet/IP – kõige laialdasemalt kasutatav reaalajaline side tööstuslikes rakendustes. Ethernet/IP on tööstuslik laiend Ethernet TCP/IP-le, mida iseloomustab kiire andmeside.
Tööväljavõrk PROFIBUS
Sissejuhatus
PROFIBUS tööväljaprotokoll töötati välja Siemensi, Boschi ja Klockner-Moeller poolt, et vastata nii diskreetse tootmise kui ka Euroopa standardite EN50170 ja EN50254 nõudmistele. Profibus võimaldab luua andmesidet erinevate tootjate poolt tehtud seadmete vahel ilma spetsiaalse liidesekohanduseta. Profibusi on võimalik kasutada kõrge kiirusega rakendustes ja komposiitandmevahetuses.
Protokolli kirjeldus
See on sobiv ka erinevate automatiseerimisülesannete lahendamiseks nii töövälja seadmete tasandil kui ka kõrgematel hierarhiatasanditel olevatel seadmetel. Profibusi eristatakse jada tööväljasüsteemide tehniliste spetsifikatsioonide tõttu, mis võimaldavad ühendada jagatud intelligentsusega digitaalseid programmeeritavaid kontrollereid ühisesse võrku. Võrgutopoloogia tingimustelt on Profibus mitmik-ülemseadmetega süsteem, mis võimaldab mitmete automatiseeritud süsteemide ja nende hajutatud perifeeriate tegutsemist samal magistraalliinil.
See kommunikatsioonitehnoloogia hõlmab kolme põhitüüpi protokolle: FMS, DP ja PA (pilt 5.1).
PROFIBUS-FMS (Fieldbus Message Specification, tööväljasiini sõnumi spetsifikatsioon) on olnud kasutusel alates 1990. aastast. See kavandati kõrgema hierarhiatasandi kommunikatsiooni jaoks ega ole seega sobilik kommunikatsioonivahend töövälja tasandil.
PROFIBUS-DP (Decentral Periphery) (1992) arendati andmevahetuseks programmeeritavate kontrollerite ja heterogeensete objektidega ühendatud seadmete vahel. See võimaldab andmevahetust kiirusega 12 Mbit/s. Kommunikatsioonimeetodiks on kas ülem/alluv või võrdõiguslik ligipääs. Füüsilisel tasandil on ülekandemeediumiks keerutatud juhtmepaar. Maksimaalselt saab ühendada Profibus DP võrku 126 sõlme (seadet) aadressidega 0 kuni 125. Selle tüüpilisteks rakendusaladeks on protsessihaldus ja tööstuslik automatiseerimine.
PROFIBUS-PA (Process Automation) (1997) on kavandatud andmevahetuseks tööväljatasandi süsteemide (kontrollerite, sensorite ja ajurite haldamise süsteemide) vahel konventsionaalses või Eks-tsoonis (kõrgendatud turvatsoonis). See protokoll vastab IEC 61158-2 rahvusvahelise standardi nõuetele.
Profibus PA on tunnustelt sarnane FOUNDATION Fieldbus’iga. Sellesthoolimata on Profibus PA puhul andmevahetuse kiirus umbes 30;Kbit/s, magistraalliin on kas ülem/alluv või võrdõigusliku ligipääsutüübiga ja maksimaalne sõlmede arv on üle 250 ühes võrgus.
Pilt 5.1. FMS, DP ja PA protokollid [64]
Pilt 5.2 FMS, DP ja PA protokollide tasandid [64]
PROFIBUS-DP funktsioneerimine
DP-liide tähistab „detsentraliseeritud perifeeriat“ (decentralized periphery), mis tähendab et hajutatud sisend/väljundseadmed on ühendatud keskse kontrolleriga kiire jadaühenduse kaudu.
See võrk baseerub universaalsetel rahvusvahelistel standarditel ja vastab avatud süsteemi (Open System Interconnection, OSI) mudelile, milles igal kommunikatsioonikihil on oma täpselt määratletud ülesanne (pilt 5.3). Selle mudeli esimene kiht defineerib kommunikatsiooni füüsilised tunnused. Teine kiht on andmelülikiht, mis defineerib ligipääsu ülekandemeediumile. Seitsmes kiht on rakenduskiht ja defineerib kasutaja funktsioonid. Profibus võrk kasutab ainult OSI mudeli kihte 1, 2 ja 7. Kihte kolm kuni kuus ei kasutata.
Saatja |
|
Vastuvõtja |
Kihi nimetus ja funktsioon |
|
7 |
|
7 |
Rakenduskiht |
|
6 |
|
6 |
Esitluskiht |
|
5 |
|
5 |
Seansikiht |
|
4 |
|
4 |
Transpordikiht |
|
3 |
|
3 |
Võrgukiht |
|
2 |
|
2 |
Kanalikiht |
|
1 |
|
1 |
Füüsiline kiht |
|
Saatemeedium |
|
|
Pilt 5.3.
Profibus süsteem kasutab Profibus ülemseadet, mis teostab mööda RS 485 magistraalliini (pilt 5.5) hajutatud alluvseadmete pollimist (pilt 5.4).
Alluvseadmed (sensorid, ajurid, käitusmehhanism või teised mõõteseadmed) moodustavad võrgus niinimetatud „passiivse jaama“, kuna neil ei ole autoriseeritud ligipääsu võrgule ja need ainult kinnitavad vastuvõetud sõnumeid või saadavad vastussõnumi ülemseadmelt saadud päringule. Siin tuleb öelda, et kõik alluvseadmed on võrdse prioriteediga ja kommunikatsiooni juhib ülemseade.
Ülemseade (Profibus ülem) on võrgus aktiivne jaam. Profibus’i spetsifikatsioon eristab kahte tüüpi ülemseadmeid. 1. ülemseade tüüp säilitab normaalset sidet ja andmevahetust sellega seotud alluvseadmetega (pilt 5.6). 2. ülemseade tüüp on spetsiaalne seade, mida kasutatakse peamiselt tarbijarakenduste üleslaadimiseks alluvseadmetesse diagnostika eesmärgil. Mõned ülemseadmed on kahe eelmise ülemseadme tüübi kombinatsioon, mis võimaldab neil täita mõlema ülemseadme funktsioone. Tavaliselt ei ole Profibus tööväljavõrgus ülemseadmete vaheline kommunikatsioon lubatud, välja arvatud kui ülemsüsteem annab teisele ülemseadmele ligipääsuloa tema alluvuses olevatele alamseadmetele.
Pilt 5.4. Profibus [64]
Pilt . 5.5 PROFIBUSi füüsiline kiht (RS 485)
Lubaringvõrgu (token ring) seadistus on võimalik ainult füüsiliselt lingitud seadmete vahel (võrgukaadri siseselt). Ülemseadmete (master-to-master) vaheline kommunikatsioon kahe võrgu vahel ühe-ülema-süsteemiga (pilt 5.7) on võimalik üle DP_DP-lüüsi. Ülemseade võib pöörduda individuaalse alluvseadme poole; viia läbi multiedastust pöördudes alluvseadmete grupi poole või teostada leviedastust, saates sõnumi kõigile alluvseadmetele. Alluvseade vastab kõigile temale otsesuunatud sõnumitele, kuid ei vasta multi- ja leviedastussõnumitele. Grupisõnumeid (levi- ja multiedastus) kasutatakse Profibus võrgus globaalseks juhtimiseks aadressiga 127 ja alluvseadmete sihtgrupi grupi numbriga.
Pilt 5.6 Ülemseadmete (master-to-master) vaheline kommunikatsioon [64]
Pilt 5.7. Ülemseadmete (master-to-master) vaheline kommunikatsioon
Sisend/väljundandmete pikkus, mis kantakse alluvseadmelt ülemseadmele, on ettemääratud alluvseadme andmebaasis või GSD failis. Kõikide võrku ühendatud seadmete GSD failid on salvestatud ülemseadmes tüüp 2. parameetrikirjena, mis sisaldab andmeid konfiguratsiooni, parameetrite aadressi jaotusnimekirja ja kõigi ühendatud jaamade võrguparameetrite kohta. Tööväljavõrgu parameetrikirje laaditakse ülemseadmesse riistvara konfigureerimise faasis.
Kaadri formaat [64]
LE Võrguandmete pikkus + DA, SA, FC, DSAP, SSAP
LE: Korduv pikkus
DA: Sihtaadress
SA: Lähteaadress
FC: Funktsioonikood (FC = 13, signaalide diagnostika andmed)
DSAP: Sihtpunkti teenuse ligipääsu punkt
SSAP: Lähtepunkti teenuse ligipääsu punkt
FCS: Kaadri kontrollsagedus
ED: Lõpueraldaja
Pilt 5.8. PROFIBUS - DP Andmeedastuse
Käivitumise ajal kommunikeerub ülemseade iga temaga seotud alluvseadmega ja aktiveerib tsüklilise andmehulga. Selles punktis on igal alluvseadmel unikaalne aadress vahemikus 0 - 125. Dünaamilise adresseerimisega seadmed (ehk aadress 126 varustamise sisselülitamisel) ootavad käsku „Määra alluva aadress“ (Set Slave Address) ülemseadmelt tüüp 2. enne parameetrite omistamist.
Kommunikatsiooniprotokoll ja selle kaader on kirjeldatud piltidel 5.8 ja 5.9.
Pilt 5.9 Andmeloki lugemise jada [64]
Siini ajastamine
Võrgus kasutatakse vastava ülemseadme poolt läbiviidavat pollimist. Reageerimisaeg (aeg, mis kulub alluvseadmel ülemseadmele vastamiseks) on konstantne (pilt 5.10) isegi juhul, kui kasutatakse ülemseadet tüüp 2 alluvseadme diagnoosimiseks selle kommunikatsioonis ülemseadmega tüüp 1. Kommunikatsiooni vahele jäävat aega kasutatakse diagnostika eesmärkidel.
Biti-aeg (Tbit) on ajahulk, mis on vajalik ühe biti informatsiooni ülekandmiseks vastavalt siini kiirusele.
Sünkroniseerimisaeg (TSYN)on miinimumaeg, mille jooksul tööjaam peab jääma jõudeolekusse, enne kui muutub kättesaadavaks järgmisele päringule. Profibus DP puhul on see aeg 33;Тbit.
Alluvseadme reageerimisaeg (TSDR) on aeg, mille jooksul alluvseade peab andma ülemseadme päringule vastuse. Minimaalne väärtus (minTSDR) määratakse alluvseadme initsialiseerimise käigus parameetri määramise käsu abil. Maksimaalväärtus (maxTSDR) sõltub andmevahetuskiirusest ja on vastavalt andmevahetuskiirustele määratud seadme GSD failis. Profibus DP puhul on vastavate aegade väärtused järgmised: ja .
Pilt 5.10. PROFIBUS - DP andmeedastus
Tööväljavõrgud CANBUS ja MODBUS
Tööväljavõrk CANBUS
Tööväljavõrgu CANBUS protokolli kirjeldus
Kontrollersidevõrk (Controller Area Network, CAN) on jadaliides andmete reaalajaliseks edastamiseks kiirusega kuni 1 Mbit/s (megabitti sekundis), mille eeliseks on suurepärased veaparanduse võimalused. Seda kasutatakse kõrge kiirusega ISO 11898 andmete ülekandmiseks ja ka madala kiirusega ISO 11519 rakendustes. Seadmetevaheliseks kommunikatsiooniks kasutatakse OKI, MICROCHIP, MOTOROLA jt toodetud liideseadaptereid.
Füüsiline võrgu elemendiks on paralleeljuhtme liin (pilt 6.1).
Pilt 6.1. Paralleeljuhtme liin [64]
Mööda CANi siini saadetakse samaaegselt edastatavad andmed kõigile võrguseadmetele laiali (pilt 6.2).
Pilt 6.2. CANi siin [64]
Tööpõhimõte
CAN-võrkude tööpõhimõte baseerub faktil, et iga moodul on võimeline sõnumeid edastama, kui siin vaba. Kuna igal sõnumil on prioriteet, siis mitme ülekandemooduli puhul edastatakse kõige kõrgema prioriteediga sõnum enne kui madalama prioriteediga. Analoogsel moel, kui mõnda moodulisse jõuab samaaegselt rohkem kui üks sõnum, siis käib vastuvõtmine vastavalt nende prioriteedile. Iga CAN-võrku kuuluv moodul võib nõuda sõnumite saatmist temale, saates selleks päringuid. Iga korrektselt vastu võetud sõnum kinnitatakse, saates vastav kinnitussõnum. Vastus saadetakse ka siis, kui sõnumi vastuvõtmine või täitmine ebaõnnestus mingi vea tõttu. CAN-võrk tunneb ära püsivigade esinemise ja sulgeb automaatselt vigase mooduli.
Sõnumi sisusse on kodeeritud spetsiaalne identifikaator – CAN-võrgu spetsiifiline, mis kannab informatsiooni edastatava sõnumi kohta (t, P, F).Kõik vastuvõtjad võtavad informatsiooni vastu ja igaüks testib identifikaatorit, et vaadata kas see sõnum on mõeldud vastuvõtjale. Kui sõnum on vastuvõtjale sobilik, võetakse see vastu ja töödeldakse, kui mitte, jäetakse see sõnum vahele. Identifikaator sisaldab infot sõnumi prioriteedi kohta, mis jaotatakse vähemalt kahele tasandile: kõrge ja madal. Informatsiooni edastamine käib üle paralleelse keerutatud juhtmepaari või telefoniliini, kui tekkivad häired ei ole kõrged.
CAN-võrk on paindlik ja võimaldab lisada uusi seadmeid juba toimivasse CAN-võrku ilma, et selles oleks vaja teha uusi riistvaralisi või tarkvaralisi lisamuudatusi.
CAN kasutab NRZ (Non Return to Zero) meetodit andmete kodeerimiseks. NRZ-kodeerimine tekitab lühikesed sõnumid minimaalse arvu üleminekutega ja ei ole väliste häirete poolt oluliselt mõjutatav.
CAN-võrkudes antakse kõrgem prioriteet nendele parameetritele (informatsioonile), mis muutuvad teistest kiiremini. Näiteks automootori pöörded muutuvad sagedamini kui selle temperatuur.
Parameetrite prioriteedi määramiseks kasutatakse liikluse ja põrke tuvastusega pöördusmeetodit (Carrier Sense, Multiple Access with Collision Detect (CSMA/CD). Sõnumi prioriteet salvestatakse identifikaatorisse süsteemi (CAN-võrgu) kavandamise esmases faasis. Kõige kõrgem prioriteet antakse kõige madalama digiväärtusega identifikaatorile.
Andmepaketi kirjeldus
CAN-süsteemis edastatakse ja võetakse vastu informatsioon andmepaketi formaadis (sõnumi kaader, message frame).
CAN-ist on 2 versiooni - 2.0А ja 2.0В. 2.0А versiooni iseloomustab 11-bitine identifikaator ja ehtne Bosh-i protokoll, samal ajal kui 2.0В versiooni iseloomustab 21-bitine identifikaator. Viimane on arendatud USAs Ameerika autotööstuse vajaduste tarbeks.
2.0A versioonile vastavad CAN-võrgud võtavad vastu ja edastavad informatsiooni seadmete vahel, mis on ehitatud ainult selle standardi kohaselt. 2.0B versiooni puhul võetakse vastu ja edastatakse informatsiooni segatud võrkudes, mis võivad sisaldavad mõlema CAN versiooni kontrollereid.
2.0A versiooni kaader on kujutatud pildil 6.3.
Fig. 6.3. 2.0A versiooni kaader
d ’dominantne’, r ’retsessiivne’
Pilt 6.4.
Andmebaitide arv |
Andmepikkuse kood |
||||
DLC3 |
DLC2 |
DLC1 |
DLC0 |
||
0 |
D |
d |
d |
d |
|
1 |
D |
d |
d |
r |
|
2 |
D |
d |
r |
d |
|
3 |
D |
d |
r |
r |
|
4 |
D |
r |
d |
d |
|
5 |
D |
r |
d |
r |
|
6 |
D |
r |
r |
d |
|
7 |
D |
r |
r |
r |
|
8 |
R |
d |
d |
d |
Pilt 6.5. CDR väli
Pilt 6.6. ACK väli
Algselt edastatakse mööda liini impulss mis muutub kõrgest potentsiaalist madalani mida kutsutakse alguskaadriks (StartOfFrame, SOF). Alguskaadrile järgneb 11-bitine identifikaator (arbitration), millesse on kodeeritud edastuse sisu. Sellele järgneb 1 bitine informatsioon kaugedastuspäringuna (Remote Transmission Request, RTR), mille abil küsitakse saatjalt autoriseeringut informatsiooni edastamiseks vastuvõtjale. Bitid r0 ja r1 on protokollis tühjad. Andmepikkuskoodi (Data Length Code, DLC) välja suurus on 4 bitti ja see sisaldab informatsiooni edastatava andmemahu kohta, mis edastatakse andmeintervalli ajal. Selle intervalli pikkus on 0 kuni 8 impulssi, mis on väljendatud andmepikkuskoodiga. DLC’le järgneb andmeväli (suurus 0 kuni 8 baiti), kuhu on salvestatud edastatav informatsioon. Järgmised 15 bitti moodustavad tsükkelkoodkontrolli (Cycle Redundance Code, CRC), mida kasutatakse vastuvõetud informatsiooni korrektsuse kontrollimiseks. Sellele järgneb DEL-ajavahemik. Informatsiooni edastava seadme tuvastamiseks kasutatakse kaht jaatusimpulssi (ACK), mis järgnevad DEL-ile. Andmepakett lõppeb kaadrilõpumärgiga (EOF), mille pikkus on 7 impulssi. Paketi lõppu tähistatakse 3 vaheaja (INTERMISSION) bitiga, peale mida vabastatakse liin järgmiste sõnumite jaoks.
Pilt 6.7.
Retsessiivne ja dominantne bitt
Ülekandemeediumist isoleerimise huvides väldib CAN binaarsete „0“ ja „1“ väärtustega sõnumi kirjeldamist. Selle asemel võetakse vastu „retsessiivseid“ ja „dominantseid“ signaale. Näiteks optilise ühenduse puhul võib „retsessiivne“ signaal olla pimedus ja „dominantne“ valgus. Elektriliste signaalide puhul võib „retsessiivne“ signaal tähendada kõrget elektrilist signaali ning „dominantne“ signaal selle puudumist.
Kaadrite tüübid
CAN-protokollis eristatakse neli kaadrit:
- Andmekaader – edastab andmeid;
- Päringukaader - esitab andmekaadrite edastamise päringuid antud identifikaatori kohta;
- Ülelaadimise kaader – kindlustab andmekaadrite või päringute vahelised vahed;
- Veakaader – see edastatakse sõlmest (jaamast), kus tuvastati viga.
Andmekaadrid ja päringu-on eelnevatest kaadritest eraldatud vahedega.
Päringukaadri formaat vastab CANi standardsele kaadrile või laiendatud formaadile kahe erandiga:
RTR-väljas on „dominantne“ signaal asendatud „retsessiivse“ signaaliga;
Andmeväli puudub.
Arbitreerimine andmeedastuse ajal
Kui siin on vaba võib iga sõlm CAN-võrgus alustada suvalisel ajal andmete edastamist. Andmeedastuse arbitreerimine toimub, kui kahest või enamast sõlmest (tööjaamast) edastatakse mitu kaadrit samaaegselt (pilt 6.8).
Prioriteet edastatakse koos sõnumiga, mis on salvestatud 11-bitisesse seadme identifikaatorisse (seadme aadressisse). Kõige madalama binaarväärtusega identifikaator on kõige kõrgema prioriteediga. Sõnumite prioriteet määratakse võrgu arendamise ajal ja seda ei saa dünaamiliselt (hiljem) muuta. Mitme kaardi edastamise ajal toimuvad kaadrite kokkupõrked lahendatakse igas tööjaamas omistatud identifikaatori numbrite võrdlemise teel. Pildil 6.8 on näide, mis illustreerib kirjeldatud juhtumit. Selles näites tahavad kolm CAN-sõlme oma andmeid edastada. Erinevalt Ethernet’ist ei ole CAN-võrgus pakettide kadu, nagu ka kokkupõrgete tekitamine, lubatud. CAN-võrgu suurimaks puuduseks on, et madala prioriteediga sõnumeid ei pruugi jõuda CAN-võrku ehk siis ei välju vastavast tööjaamast.
Pilt 6.8. Andmeedastuse arbitreerimine
Veajuhtimine
CANi suureks eeliseks on mitmete veajuhtimise ja vigade vältimise mehhanismide olemasolu:
- Andmeülekande juhtimine: Andmeülekande ajal võrreldakse võrgu bititasandit edastatavate bittidega;
- Biti täitmine: Peale viie identse biti jadamisi edastamist järgneb automaatne vastupidise tähendusega biti edastus. Sel moel on kõik andmeväljad ja päringukaader kodeeritud, ainukeseks erandiks on kontrollsumma (CRC) eraldaja ja EOF-märk.
- Kontrollsumma: Saatja arvutab andmepaketi kontrollsumma ning lisab selle edastatavasse kaadrisse. Vastuvõtja loeb reaalajas juhtringi, arvutab vastuvõetud kaadri kontrollsumma ja võrdleb neid;
- Töövälja väärtuse kontrollimine sõnumi edastamise ajal.
Edastamiskiirus ja võrgu pikkus
Kiiruse ulatus
Kõik võrgu sõlmed peaksid tegutsema võrdsel kiirusel. CAN-standard ei määra edastamiskiirust, siiski kasutavad enamus CAN-võrkusid katkematut edastust kiirusega 20;Kbit/s kuni 1;Mbit/s. Loomulikult on olemas ka lahendusi, mis töötavad väljaspool seda vahemikku.
Kriitiline võrgu pikkus
Ülalkirjeldatud veajuhtimise meetodid eeldavad üle kogu võrgu hajutamist kuni selle arvutamise hetkeni. See omakorda määrab ära võrgu maksimaalse pikkuse. Mida kõrgem on ülekande kiirus, seda väiksem on võrgu pikkus. Järgnevalt on esitatud sõnumi edastamiskiirus ja sellele vastava võrgu kriitiline pikkus ISO 11898 standardi järgi:
- 1 Mbit/s - 40 m;
- 500 Kbit/s - 100 m;
- 125 Kbit/s - 500 m;
- 10 Kbit/s - 5000 m;
Kõrgtaseme/kihi protokollid
CAN põhispetsifikatsioon pakub terve hulga lisa võimalusi nagu 8 baidist pikema andmehulga edastamine; automaatne sõlmedevaheline identifikaatorite jaotamine, homogeenne erinevat tüüpi ja erineva tootlikkusega seadmete juhtimine. Selle tõttu on kõrgema tasandi CAN protokolli modifikatsioonid olnud selle loomisest saadik pidevas arenduses. Kõrgema tasandi CAN protokollid on:
- CANopen;
- DeviceNet;
- CAN Kingdom;
- J1939;
- SDS.
CANi eelised
- Võimalus tegutseda fikseeritud reaalajalises režiimis;
- Lihtne rakendada ja minimaalsed operatiivkulud;
- Kõrge häirekindlus;
- Võrgu ligipääsu arbitreerimine ilma mahukadudeta;
- Usaldatav veajuhtimine sõnumi ülekandmise ja vastuvõtmise ajal;
- Lai sõnumi edastamiskiiruse ulatus;
- Suur seadmetevaliku.
CANi puudused
- Võrgu kriitiline pikkus on pöördvõrdelises seoses edastamiskiirusega;
- Suur teenusega (CANi protokolliga) seotud andmete hulk edastatavas sõnumis (võrreldes kasulike andmetega);
- Kõrgema tasandi CANi protokollide konventsionaalse standardi puudumine.
Standardne võrk pakub laialdasi võimalusi praktiliseks turvaliseks andmeedastuseks sõlmede vahel. Järgnevad tabelid sisaldavad CAN-võrgu ühenduseks kõige sagedamini kasutatavaid konnektoreid ja nende jalgade (pistiku kontaktide) kirjeldusi.
9 Pin (male) D-Sub CAN Bus PinOut |
||
Jalg # |
Signaalinimed |
Signaali kirjeldus |
1 |
Reserveeritud |
Ülenduse rada |
2 |
CAN_L |
Dominant, madal |
3 |
CAN_GND |
Maandus |
4 |
Reserveeritud |
Ülenduse rada |
5 |
CAN_SHLD |
Kilp, valikuline |
6 |
GND |
Maandus, valikuline |
7 |
CAN_H |
Dominant, kõrge |
8 |
Reserveeritud |
Ülenduse rada |
9 |
CAN_V+ |
Võimsus, valikuline |
10-Pin Header CAN Bus PinOut |
||
Pin # |
Signal Names |
Signal Description |
1 |
Reserveeritud |
Ülenduse rada |
2 |
GND |
Maandus, valikuline |
3 |
CAN_L |
Dominant, madal |
4 |
CAN_H |
Dominant, kõrge |
5 |
CAN_GND |
Maandus |
6 |
Reserveeritud |
Ülenduse rada |
7 |
Reserveeritud |
Ülenduse rada |
8 |
CAN_V+ |
Võimsus, valikuline |
9 |
Reserveeritud |
Ülenduse rada |
10 |
Reserveeritud |
Ülenduse rada |
7-Pin Open Style CAN Bus PinOut |
||
Jalg # |
Signaalinimed |
Signaali kirjeldus |
1 |
CAN_GND |
Maandus |
2 |
CAN_L |
Dominant, madal |
3 |
CAN_SHLD |
Kilp, valikuline |
4 |
CAN_H |
Dominant, kõrge |
5 |
CAN_V+ |
Võimsus, valikuline |
5-Pin Micro/Mini CAN Bus PinOut |
||
Jalg # |
Signaalinimed |
Signaali kirjeldus |
1 |
CAN_SHLD |
Kilp, valikuline |
2 |
CAN_V+ |
Võimsus, valikuline |
3 |
CAN_GND |
Maandus |
4 |
CAN_H |
Dominant, kõrge |
5 |
CAN_L |
Dominant, madal |
RJ10, RJ45 CAN Bus PinOut |
|||
RJ45 Jalg # |
RJ10 Jalg # |
Signaalinimi |
Signaali kirjeldus |
1 |
2 |
CAN_H |
Dominant, kõrge |
2 |
3 |
CAN_L |
Dominant, madal |
3 |
4 |
CAN_GND |
Maandus |
4 |
- |
Reserveeritud |
Ülenduse rada |
5 |
- |
Reserveeritud |
Ülenduse rada |
6 |
- |
CAN_SHLD |
CAN kilp, valikuline |
7 |
- |
CAN_GND |
Maandus |
8 |
1 |
CAN_V+ |
Võimsus, valikuline |
CAN Siini sisend/väljund omadused |
|
CANbus signaalitüüp |
Digitaalne liides |
Väljundpinge (kõrge) |
VOH +4 volti min, +5.5 volti maks |
Väljundpinge (madal) |
VOL +0 volti min, +1.5 volti maks |
Väljundpinge |
+16 volti (absoluutne maksimum) |
Väljundvool |
100mA |
Takistus |
124 oomi lõpetamine +/- terminalide vahel |
Lülituse tüüp |
Diferentsiaalne |
Bitiajad |
1uS @ 1Mb/s; 2uS @ .5Mb/s 4uS @ .25Mb/s |
Kodeerimisformaat |
Non-Return-to-Zero (NRZ) |
Edastuse/vastuvõtu sagedus |
1Mbit/s @ 40 meetrit |
Topoloogia |
Punkt-punkt |
Meedium |
Elektriline keerutatud paar (shielded Twisted pair, STP) 9-nõelaga D-Sub |
Ligipääsu juhtimine |
Liikluse ja põrke tuvastusega pöördus (carrier sense multiple access with collision detection, CSMA/CD) |
Ümar CAN Bus PinOut |
||||
9-Pin # |
8-Pin # |
7-Pin # |
Signaali nimed |
Signaali kirjeldus |
1 |
3 |
3 |
CAN-H |
Dominantne kõrge |
2 |
4 |
4 |
CAN-H |
Dominantne madal |
3 |
5 |
2 |
CAN_GND |
Maandus |
4 |
6 |
- |
- |
Reserveeritud |
5 |
7 |
- |
- |
Reserveeritud |
6 |
8 |
- |
- |
Reserveeritud |
7 |
1 |
1 |
CAN_V+ |
Võimsus, valikuline |
8 |
2 |
- |
GND |
Maandus |
9 |
- |
- |
- |
Reserveeritud |
- |
- |
5 |
DIL-1 |
DIP lüliti 1 ühenduses CAN_V+ |
- |
- |
6 |
DIL-2 |
DIP lüliti 2 ühenduses CAN_V+ |
- |
- |
7 |
DIL-3 |
DIP lüliti 3 ühenduses CAN_V+ |
9/12-Pin Round Flange Style CAN Bus PinOut |
|||
12-Pin # |
9-Pin # |
Signaali nimed |
Signaali kirjeldus |
1 |
- |
- |
Reserveeritud |
2 |
7 |
CAN-H |
Dominantne madal |
3 |
8 |
CAN_GND |
Maandus |
4 |
9 |
- |
Reserveeritud |
5 |
- |
- |
Reserveeritud |
6 |
- |
- |
Reserveeritud |
7 |
2 |
CAN-H |
Dominantne kõrge |
8 |
- |
- |
Ei kasutata |
9 |
- |
- |
Reserveeritud |
10 |
- |
GND |
Maandus, valikuline |
11 |
- |
- |
Reserveeritud |
12 |
1 |
CAN_V+ |
Võimsus, valikuline |
- |
3 |
DIL-1 |
DIP lüliti 1 ühenduses CAN_V+ |
- |
4 |
DIL-2 |
DIP lüliti 2 ühenduses CAN_V+ |
- |
5 |
DIL-3 |
DIP lüliti 3 ühenduses CAN_V+ |
- |
6 |
DIL-4 |
DIP lüliti 4 ühenduses CAN_V+ |
Tööväljavõrk MODBUS
Tööväljavõrgu MODBUS protokolli kirjeldus
Tööväljavõrgu Modbus sideprotokoll põhineb klient-server-arhitektuuril. See leiab laialdast kasutust tööstuses kontrolleritevahelise andmeside loomiseks. Andmete edastamiseks kasutatakse jadakanalied nagu RS-485, RS-422, RS-232 (pilt 6.9), või Ethernet võrku TCP/IP (Modbus TCP) (pilt 6.10).
Pilt 6.9.RS-485, RS-422, RS-232
Pilt 6.10. Ethernet võrk TCP/IP
Modbus on seotud OSI võrgumudeli rakendustasandi protokollidega. Kontrollerid, mis töötavad Modbusi võrgus, kasutavad klient-server-mudelit, mis baseerub päringutest ja vastustest koosnevatest andmeedastustest.
Tavaliselt on võrgus ainult üks ülemseade (server) ja mitu alluvseadet (klienti). Ülemseade algatab andmeedastused (sidepäringud), pöördudes individuaalselt iga alluvseadme poole või alluvseadmete grupi poole (pilt 6.11). Alluvseade omakorda moodustab sõnumi ülemseadmele poolt nõutud informatsioonist ja saadab selle ülemseadmele tagasi. Grupipäringu saamisel ei moodustata vastust.
Pilt 6.11. Serveri ja kliendi pöördumised
Kaadri (andmepaketi) formaat
Modbusi spetsifikatsioon kirjeldab päringute ja vastuste kaadrite formaat. Elementaarse paketijuhtimise tasandil nimetatakse neid kaadreid ka protokolliandmeüksusteks (Protocol Data Unit, PDU). Protokolliandmeüksuse formaat ei sõltu ühendusliini tüübist. See sisaldab juhtinfot ning andmevälja . Juhtinfo on kodeeritud ühe baidi pikkusesse välja ja võib vastu võtta väärtusi vahemikus 1..127. Vahemik 128..255 on reserveeritud veakoodile. Andmeväli on muutuva pikkusega ja selle pikkuse piirab protokolliandmeüksuse andmepaketi suuruse piirang, milleks on 253 baiti (pilt 6.12).
Modbus PDU |
|
Funktsiooni-kood |
Andmed |
1 bait |
N < 253 (baiti) |
Pilt 6.12.
Protokolliandmeüksus paneb lisaväljade sisu teise andmepaketti, et võimaldada paketi edastamist üle ühenduse füüsilise liini. Seda andmepaketti nimetatakse rakendusandmeüksuseks (Application Data Unit, ADU). Selle formaat sõltub ühendusliini tüübist.
Pilt 6.13. Üldine MODBUS kaader
Tööväljavõrgu Modbus protokollil on kolm põhilist rakendust. Kaks andmete edastamiseks mööda jadaliidest, modem EIA/TIA-232-E (RS-232), EIA-422, EIA/TIA-485-A (RS-485), optline ja raadioühendus:
Modbus RTU;
Modbus ASCII;
Kolmas rakendus on andmete edastamiseks mööda Etherneti TCP/IP võrku:
Modbus TCP.
Modbus RTU informatsiooni kaardi rakendusandmeüksuse üldine struktuur on kirjeldatud pildil 6.14:
Pilt 6.14. MODBUS RTU kaader
See koosneb järgmistest osadest:
- Tööjaama aadress – see on alluvseadme aadress, millele kirje (sõnum) on suunatud. Iga seade vastab ainult kirjele, mis sisaldab seadme enda aadressi võiseadmepaketi aadressi kuhu antud seade kuulub. Vastus algab samamoodi alluvseadme aadressiga. Seadmete aadressid on vahemikust 1 kuni 247. Aadressi 0 kasutatakse seadmetepaketi adresseerimiseks ja seda tunnevad kõik seadmed; aadressid vahemikus 248..255 on reserveeritud;
- Juhtinfo – ühe baidine väli, milles hoitakse täitmiskäsku (funktsiooni number);
- Andmed – sisaldab infot, mida seade vajab ülemseadme käsu täitmiseks või infot, mis on vajalik vastamiseks. Selle välja pikkus sõltub funktsiooni numbrist ja on vahemikus 0..252 baiti;
- Veakontroll (tsükkelkoodkontroll, CRC) – kontrollsumma kaadrisiseseks veakontrolliks. Liini sõnumi ülekande ajal kirjutatakse esimesena madalama järgu kontrollsumma bait.
Rakendusandmeüksuse maksimaalne suurus jadavõrgus RS232/RS485 on 256 baiti ja Ethernet TCP võrgus on see 260 baiti.
Modbus ASCII informatsiooni kaadri formaat on kirjeldatud pildil 6.15:
Pilt 6.15. Modbus ASCII informatsiooni kaader
Modbus ASCII kaadri individuaalsete väljade tähendused on esitatud tabelis 6.9.
Tabel 6.9
Nimi |
Pikkus |
Funktsioon |
Algus |
1 märk |
Kaardi algust tähistatakse kooloniga (;: , ASCII on selle väärtuseks 3A hex) |
Aadress |
2 märki |
Tööjaama aadress |
Juhtinfo |
2 märki |
Viitab juhtinfole (funktsiooni koodile) nagu näiteks loe keerde/sisendite väärtusi |
Andmed |
n märki |
Andmed - pikkus valitakse sõltuvalt sõnumi tüübist ja edastatavast andmemahust |
LRC kontroll |
2 märki |
Veakontroll |
Lõpp |
2 märki |
Kaardi lõppu tähistatakse reavahetuse märgipaariga (CRLF, ASCII on selle väärtuseks 0D& 0A hex) |
Modbus TCP informatsiooni kaadri struktuur on järgmine:
Pilt 6.16. Modbus TCP informatsiooni kaader
Pilt 6.17. Modbus TCP andmepaketi koostamine
Modbus TCP kaader koosneb järgmistest osadest:
- Tehingu ID – kahebaidine tehingu identifitseerimisnumber;
- Protokolli ID – kahebaidine protokolli identifitseerimisnumber;
- Pikkus – edastatavate andmete pikkus salvestatud kahes baidis;
- Üksuse ID – selle seadme aadress, millele päring on adresseeritud. Tavaliselt ignoreeritakse seda, kui side toimub ainult ühe seadmega.
Modbus TCP kaadril puudub kontrollsumma välja.
Pilt 6.18. Modbus TCP kaader
Juhtinfo kategooriad
Modbusis kasutatavates protokollides on kolm juhtinfo (juhtfunktsioonide) kategooriat: Standardiseeritud käsud; kasutajakäsud ja reserveeritud käsud (pilt 6.19).
Pilt 6.19.
Standardiseeritud käsud
Nende kirjeldus tuleb avaldada ja selle kinnitab Modbus-IDA. See kategooria hõlmab nii jaotatud kui ka vabu koode.
Tabel 6.10
Funktsiooni nr |
Vastused |
|||||
1 (0x01) |
A1 |
A0 |
Q1 |
Q0 |
|
|
N |
D (N baiti) |
|||||
2 (0x02) |
A1 |
A0 |
Q1 |
Q0 |
|
|
N |
D (N baiti) |
|||||
3 (0x03) |
A1 |
A0 |
Q1 |
Q0 |
|
|
N |
D (N baiti) |
|||||
4 (0x04) |
A1 |
A0 |
Q1 |
Q0 |
|
|
N |
D (N baiti) |
|||||
5 (0x05) |
A1 |
A0 |
D1 |
D0 |
|
|
A1 |
A0 |
D1 |
D0 |
|
||
6 (0x06) |
A1 |
A0 |
D1 |
D0 |
|
|
A1 |
A0 |
D1 |
D0 |
|
||
15 (0x0F) |
A1 |
A0 |
Q1 |
Q0 |
N |
D (N baiti) |
A1 |
A0 |
Q1 |
Q0 |
|
||
16 (0x10) |
A1 |
A0 |
Q1 |
Q0 |
N |
D (N baiti) |
A1 |
A0 |
Q1 |
Q0 |
|
||
|
Andmete lugemine
Väärtuste lugemiseks kasutatakse käskusid väärtustega 1 kuni 4.
- 1 (0x01) (Read Coil Status);– tagastab väärtuse mitmele olekuregistrile;
- 2 (0x02) (Read Discrete Inputs) – tagastab väärtuse mitmele diskreetsele sisendile;
- 3 (0x03) (Read Holding Registers);– tagastab väärtuse ooteregistritele;
- 4 (0x04) (Read Input Registers);– tagastab väärtuse mõnedele sisendregistritele;'
Päring koosneb esimesest elemendi aadressist, elemendi suurusest, ja loetavate elementide arvust. Nii aadress kui suurus omistatakse 16-bitise numbrina. Päritud andmed saadakse vastusega. Andmetele järgneb bait, mis sisaldab edastatud andmete suurust.
Tabel 6.11
Alamfunktsiooni kood |
Nimi |
|
Hex |
Dec |
|
00 |
00 |
Tagasta päringu andmed |
01 |
01 |
Taaskäivita kommunikatsioon |
02 |
02 |
Tagasta diagnostika register |
03 |
03 |
Muuda ASCII sisenderaldaja |
04 |
04 |
Juuruta ainult kuulamise reziim |
J |
05..09 |
Reserveeritud |
0A |
10 |
Nulli loendurid ja diagnostika register |
0B |
11 |
Tagasta siini sõnumiteloenduri väärtus |
0C |
12 |
Tagasta siini sidevigade loenduri väärtus |
0D |
13 |
Tagasta siini erandolukordade loenduri väärtus |
0E |
14 |
Tagasta alluvseadme sõnumiloenduri väärtus |
0F |
15 |
Tagasta alluvseadme puuduvate vastuste loenduri väärtus |
10 |
16 |
Tagasta alluvseadme eituste loenduri väärtus |
11 |
17 |
Tagasta alluvseadme hõivatud staatuse loenduri väärtus |
12 |
18 |
Tagasta siini märkide ülejooksu loenduri väärtus |
13 N.A |
19 21...65535 |
Reserveeritud |
Nulli ülejooksu loendur ja lipp |
||
Reserveeritud |
Kasutaja käsud
Need sisalduvad kahes koodivahemikus (65..72 ja 100..110), milles on võimalik realiseerida mitmeid erinevaid funktsioone kasutaja poolt. Siiski ei ole mingit kindlust, et need käsud ei ole kasutuses teistes seadmetes mingite funktsioonide realiseerimiseks.
Reserveeritud käsud
See funktsioonide sisendkoodide kategooria ei ole standardiseeritud, siiski kasutatakse neid erinevate firmade poolt toodetud seadmetes. Need koodid on: 9, 10, 13, 14, 41, 42, 90, 91, 125, 126 ja 127.
Andmemudel
Üks selle protokolli poolt teostatavaid standardiseeritud tegevusi on kontrollerite registrites andmete lugemine ja kirjutamine. Protokolli spetsifikatsioon määratleb neli andmetabelit, mis on toodud tabelis 6.12.
Tabel 6.12
Primaarsed tabelid |
Objekti tüüp |
Tüüp |
Kommentaarid |
Diskreetne sisend |
Üksik bitt |
Kirjutuskaitsega (read-only) |
Seda tüüpi andmed annab sisend/väljund süsteem. |
Diskreetne väärtus |
Üksik bitt |
Lugemine-kirjutamine |
Seda tüüpi andmeid saavad muuta kõik rakendusprogrammid. |
Sisendregistrid |
16-bitine sõna |
Kirjutuskaitsega (read-only) |
Seda tüüpi andmed annab sisend/väljund süsteem. |
Ooteregistrid |
16-bitine sõna |
Lugemine-kirjutamine |
Seda tüüpi andmeid saavad muuta kõik rakendusprogrammid. |
Igas tabelis toimub elementidele ligipääs 16-bitise aadressiga; esimene asukoht vastab aadressile 0. Sel moel võib iga tabel sisaldada kuni 65536 elementi. Spetsifikatsioon ei määra tabelis asuvate elementide füüsilist pikkust ega sisemist aadressi, millele need vastavad. Näiteks on võimalik moodustada kattuvaid tabeleid. Sellisel juhul käsud, mis töötavad diskreetsete andmetega ja 16-bitised registritega võivad adresseerida tegelikult sarnaseid andmeid.
Veakontroll Modbus RTU protokollis
Andmevahetusel Tööväljavõrgus Modbus RTUs võib tekkida kahte tüüpi vigu:
- Vead, mis on seotud informatsiooni moonutamisega andmete ülekandmisel;
- Loogikavead.
Esimest tüüpi vead tuvastatakse kaadri sümboli, paarsuskontrolli ja tsükkelkoodkontroll summa CRC-16-IBM (kasutatakse numbrilist polünoomi = 0xA001 ) abil.
Teist tüüpi vigade tuvastamiseks eeldab Modbus RTU protokoll, et seade ei ole vastust kätte saanud või vastus ise sisaldas veakoodi (tabel 6.13).Seda et vastus võib sisaldada veasõnumit, näitab käsukoodi kõrgema järgu bitt. Tööjaam tööväljavõrgus Modbus töötab vastavalt allpool olevale skeemile:
- Kui alluvseade on kätte saanud korrektse päringu ja on võimeline seda töötlema standardsel moel, saadab ta tagasi standardse vastuse;
- Kui alluvseade ei ole saanud ühtegi väärtust, ei genereeri ta ühtegi vastust. Sellisel juhul diagnoosib ülemseade aegumise (timeout) vea.
- Kui alluvseade on saanud päringu, kuid on ühtlasi tuvastanud ka vea (paarsus, LRC või CRC), siis ei genereeri ta ühtegi vastust. Sellisel juhul diagnoosib ülemseade aegumise (timeout) vea;
- Kui alluvseade on saanud päringu, kuid mingil põhjusel ei suuda seda töödelda, genereerib ta vastuse, mis näitab tekkinud vea tüüpi.
Tabel 6.13
Andmeedastuse suund |
Alluvseadme aadress |
Funktsiooni number |
Andmed (või veakood) |
CRC |
Järjekord (Ülem→Alluv) |
0x01 |
0x77 |
0xDD |
0xC7 0xA9 |
Päring (Alluv→Ülem) |
0x01 |
0xF7 |
0xEE |
0xE6 0x7C |
Tabel 6.14
Viga # |
Veateade |
0 |
Ei ole vigu |
1 |
Keelatud toiming |
2 |
Keelatud andmeaadress |
3 |
Keelatud andmeväärtus |
4 |
Ülemseade aegumine - - timeout |
5 |
Side puudub |
6 |
Sobimatu üksuse ID |
7 |
Sobimatu käsk |
8 |
Sõnumi pikkus |
9 |
Funktsioon ei ole toetatud |
10 |
Keelatud formaat |
11 |
Sobimatud vastuvõetud andmed |