1. Pagrindiniai komunikacijos metodai
Yra du pagrindiniai komunikacijos metodai: lygiagretus ryšys ir serijinė komunikacija.
Lygiagretus ryšys: Tai yra komunikacijos metodas, kurio metu kiekvienas duomenų bitas perduodamas tuo pačiu metu.
Serijinė komunikacija: Tai yra ryšio metodas, kai duomenys vienu po vieną perduodami vienu iš eilės.
2. Dviejų tipų serijinės komunikacijos rūšys
Dvi pagrindinės serijinės komunikacijos formos: sinchroninis ryšys ir asinchroninis bendravimas.
Asinchroninis ryšys perduoda duomenų rėmo formatą, susidedantį iš pradžios bitų, nuo 1 iki 9 duomenų bitų ir nuo 1 iki 2 sustabdymo bitų, remdamasis pradžios ir sustabdymo bitais, kad būtų galima sinchronizuoti;
Sinchroninio ryšio duomenų rėmo formatas sudarytas iš kelių kadrų baitų, kiekvienas kadras turi du (arba vieno) sinchronizacijos simbolius kaip pradžią, kad suaktyvintų sinchronizacijos laikrodį, kad būtų galima pradėti siųsti ar gauti duomenis.
3. Klasifikacija pagal perdavimo kryptį
Serijinį ryšį galima toliau suskirstyti į „Simplex“, pusiau dvipusę ir visą dvipusę pagal informacijos perdavimo kryptį. Jei bet kuriuo komunikacijos proceso momentu informacija gali būti perduodama tik iš vienos šalies A į kitą B šalis, ji vadinama simplex. Jei bet kuriuo metu informacija gali būti perduodama tiek iš A į B, tiek iš B į A, tačiau tik perduodant vieną kryptimi, ji vadinama pusiau duplekso perdavimu. Jei bet kuriuo metu dvikryptis signalizavimas yra linijoje nuo A iki B ir B į A, jis vadinamas visu dupleksu.
4. Serijinės komunikacijos sąsaja
Serijinė komunikacijos fizinė sąsaja pagal elektros standartus ir protokolus, į kuriuos įeina RS -232, RS -422, Rs485 ir kt., Čia daugiausia apie kai kuriuos dažniausiai naudojamus RS485 sąsają.
5. Rs485 sąsajagrandinė
Kaip demonstracinė grandinė, SP485R lustas dažnai naudojamas ir gali būti tiesiogiai įterptas į tikrąjį RS -485 programos grandinę. Standartinis mikroprocesoriaus nuoseklusis prievadas yra tiesiogiai prijungtas prie SP485R lusto RO kaiščio per RXD ir su SP485R lusto DI kaiščiu per TXD.
R/D signalo išėjimas iš mikroprocesoriaus tiesiogiai kontroliuoja SP485R lusto siųstuvą/imtuvą Įgalinkite: R/D signalą „1“, SP485R lusto siųstuvas galioja, imtuvas yra draudžiamas, šiuo metu mikroprocesorius gali būti R. -485 autobusas, skirtas siųsti duomenų baitus; R / D signalas R / D signalui yra „0“, tada SP485R lusto siųstuvas yra išjungtas, imtuvas galioja, šiuo metu mikroprocesorius gali gauti duomenų baitus iš RS -485 magistralės magistralės . Šioje grandinėje bet kuris SP485R lusto „imtuvo“ ir „siųstuvo“ momentas gali turėti tik darbinę būseną.
Išsitraukimo rezistorius R7, prijungtas prie PIN A ir išskleidžiamojo rezistoriaus R8, prijungtas prie B PIN B mazgas ir tinklas.
Jei SP485R yra prijungtas prie mikroprocesoriaus 80C51 lusto UART serijinio prievado, SP485R mikroschemos RO kaiščiui nereikia ištraukti; Priešingu atveju būtina apsvarstyti, ar pridėti maždaug 10K tempimo rezistorių prie RO kaiščio pagal tikrąją situaciją.
6. Serial Modbus Communication
„Modbus“ kaip duomenų keitimo pramoninės komunikacijos grandinėse taisyklė buvo plačiai naudojama įvairiose srityse, todėl patogu bendrauti su įrenginiais su „Modbus Communication“ protokolu, tokiais kaip PLC, keitikliai, srauto matuokliai, temperatūra ir drėgmė, kompiuterio grupės konfigūracijos programinė įranga, kompiuterių konfigūracijos programinė įranga, ir įvairūs jutikliai ir instrumentai.
„Modbus“ ryšio protokolas yra suskirstytas į du nuosekliojo ryšio režimus: ASCII ir RTU ryšio režimus. Naudojama, turite nustatyti ryšio režimą ir nuoseklųjį prievadą RS232, RS485 Ryšio parametrai (Baudo sparta, paritetas, vergo adresas, duomenų bitai, sustabdymo bitai, baitų tvarka), visi „Modbus“ magistralės įrenginiai turėtų turėti tą patį ryšio režimą ir Serijinio ryšio parametrai.
„Modbus“ pranešimų rėmo struktūra
| adresas | Funkcijos kodas | Duomenų adresas | 1 duomenys | Duomenys ... | Duomenys n |
CRC16 |
7. „Modbus“ komandos pranešimas
Skaitykite duomenis
Meistras siunčia
| adresas | Funkcijos kodas | Duomenų pradžios adresas yra didelis | Duomenų pradžios adresas žemas | Aukšto duomenų skaičius | Duomenų skaičius žemas | CRC16 Aukšta | CRC16 MAŽAS BIT |
Grąžinimas:
| adresas | Funkcijos kodas | Baito ilgis | 1 duomenys | 1 duomenys žemi | 2 duomenys | 2 duomenys žemi |
… |
CRC16 Aukšta | CRC16 žemas |
8. „Modbus“ pagrindinės sąvokos
(1) Viršutinis kompiuteris skaito duomenis kiekvieną kartą, kai intervalas paprastai yra ne mažesnis kaip 100ms
(2) Įrenginio adresas: „Modbus“ vergo ryšio adresas, tinkle negali būti dviejų identiškų adresų. (3) Funkcijos kodas: funkcijos kodas, nurodytas „Modbus Protocol“.
(4) Registracijos adresas ir registrų skaičius
„Master“ komandos parametras yra registras iš registro adreso, skaitykite Nregistrų registro ilgį. (5) vergų atsakymo duomenys
Vergų atsakymo duomenys yra: baitų ir N skaitinio skyriaus duomenų skaičius.
9. „Modbus Master“ bendros operacijos
(1) Skaitykite optimizavimą:Duomenų skaitymui apie nepertraukiamą adresą, nesvarbu, ar jis trunka supakuotą skaityti, ar ne, tada sistema naudoja supakuotą skaitymo komandą, kad baigtų kelių adresų skaitymą vienu metu.
(2) Skaitymo optimizavimo intervalas:Skaitydami optimizavimą, jei intervalas tarp adresų yra mažesnis už šį intervalą, jie bus supakuoti kartu ir perskaityti vienu metu naudojant kelis skaitymo komandas.
(3) Maksimalus paketo ilgis:Maksimalus duomenų ilgis leidžia vienam ryšiui.
(4) BYTE užsakymas:Sureguliuokite 32- bitų dvigubų žodžių dekodavimo tvarką.
Paimkite 32- bitų sveikąjį skaičių kaip pavyzdį, kaip iliustruoti baitų tvarkos prasmę :.
1234:Nurodo, kad dvigubo žodžio komponentai nėra apdoroti tiesiogiai dekoduoti.
Pvz.: Duomenys, nuskaityti iš nuosekliojo prievado, yra 0000 00 01 reiškia 1.
2143:Nurodo, kad aukštų ir žemų žodžių dvigubų žodžių komponentai nėra atvirkštiniai, tačiau žodis aukštuose ir žemuose baituose yra atvirkštinis.
Pavyzdžiui, duomenys, nuskaityti iš nuosekliojo prievado, yra {{0}}}} reiškia 0x00000100 (ty 256).
3412:Nurodo, kad aukštas ir žemas dvigubo žodžio komponento žodžiai yra atvirkštiniai, tačiau aukštos ir žemos žodžio baitai nėra atvirkštiniai.
Pavyzdžiui, duomenys, nuskaityti iš nuosekliojo prievado, yra {{0}}, tai reiškia 0x00010000 (ty 65536).
4321: Nurodo, kad visi 4 baitai dvigubo žodžio elemente yra atvirkštiniai.
Pvz.: Duomenys, perskaityti iš nuosekliojo prievado, yra {{0}}} reiškia 0x 0100 0000 (ty 1677 721).
10. „Modbus“ paleidimo programinės įrangos „Modbus Pull“
Paimkite vergo adresą kaip 1, „Baud“ rodiklis 9600, perskaitykite visus realaus laiko duomenis kaip pavyzdį, nustatymo metodas yra toks.
Pagal 2 lentelę: Pradėti registro adresą 4113 registrų skaičius yra 22
1. Sąrankos įsigijimo komandose yra įrenginio adresas (1), „Modbus“ funkcijos kodas (04), registro adresas (4113), registro ilgis (2) ir įsigijimo intervalas (1000).
2. Nustatykite nuoseklųjį prievado duomenis
Pagal vergo nuosekliojo prievado formatą (1 bitų pradžios bitas, 8 bitų duomenų bitas, 1 bitų sustojimo bitas, be pariteto), nustatykite šį paveikslą:
3. Duomenų ekrano formato nustatymas
4. Ryšio sėkmės ekranas




