1. Kaedah komunikasi asas
Terdapat dua kaedah komunikasi asas: komunikasi selari dan komunikasi siri.
Komunikasi selari: Ini adalah kaedah komunikasi di mana setiap bit data dihantar pada masa yang sama.
Komunikasi Serial: Ini adalah kaedah komunikasi di mana data dihantar satu persatu dengan cara yang berurutan.
2. Dua jenis komunikasi bersiri
Dua bentuk asas komunikasi siri: komunikasi segerak dan komunikasi tak segerak.
Komunikasi asynchronous menghantar format bingkai data yang terdiri daripada bit mula, 1 hingga 9 bit data, dan 1 hingga 2 bit berhenti, bergantung pada permulaan dan menghentikan bit untuk terus disegerakkan;
Format bingkai data komunikasi segerak terdiri daripada pelbagai bait bingkai, setiap bingkai mempunyai dua (atau satu) aksara penyegerakan sebagai bit permulaan untuk mencetuskan jam penyegerakan untuk mula menghantar atau menerima data.
3. Klasifikasi mengikut arah penghantaran
Komunikasi bersiri boleh dikategorikan lagi ke dalam simplex, separuh dupleks dan penuh-dupleks mengikut arah penghantaran maklumat. Jika dalam apa -apa masa proses komunikasi, maklumat itu hanya boleh dihantar dari satu pihak A ke pihak lain B, ia dipanggil simplex. Jika pada bila-bila masa, maklumat boleh dihantar dari A ke B dan dari B ke A, tetapi hanya dengan kehadiran penghantaran dalam satu arah, ia dipanggil setengah dupleks penghantaran. Jika, pada bila -bila masa dalam masa, isyarat bidirectional wujud pada baris dari A ke B dan dari B ke A, ia dipanggil Duplex Penuh.
4. Antara muka komunikasi siri
Antara muka fizikal komunikasi Serial mengikut piawaian dan protokol elektrik untuk memasukkan Rs -232, Rs -422, RS485, dan lain -lain, di sini terutamanya mengenai beberapa antara muka RS485 yang paling biasa digunakan.
5. RS485 antara mukalitar
Sebagai litar demonstrasi cip SP485R sering digunakan dan boleh terus tertanam dalam litar aplikasi RS -485 sebenar. Port siri standard mikropemproses disambungkan secara langsung ke pin RO cip SP485R melalui RXD dan ke pin DI cip SP485R melalui TXD.
Output isyarat R/D dari mikropemproses secara langsung mengawal pemancar/penerima cip SP485R membolehkan: R/D isyarat untuk "1", pemancar cip SP485R adalah sah, penerima dilarang, pada masa ini mikropemproses boleh ke RS -485 bas untuk menghantar bytes data; Isyarat R / D untuk isyarat R / D ialah "0", maka pemancar cip SP485R dilumpuhkan, penerima sah, pada masa ini mikropemproses boleh menerima bait data dari bas -485 . Dalam litar ini, setiap saat dalam "penerima" cip SP485R dan "pemancar" hanya boleh mempunyai keadaan kerja.
Pull-Up Resistor R7 yang disambungkan ke pin A dan perintang pull-down R8 yang disambungkan ke pin B digunakan untuk memastikan bahawa cip SP485R yang tidak berkaitan berada dalam keadaan terbiar, memberikan perlindungan kegagalan rangkaian untuk meningkatkan kebolehpercayaan Rs -485 nod dan rangkaian.
Jika SP485R disambungkan ke port bersiri UART cip mikropemproses 80C51, pin RO cip SP485R tidak perlu ditarik; Jika tidak, adalah perlu untuk mempertimbangkan sama ada atau tidak untuk menambah perintang pull-up kira-kira 10k ke pin RO mengikut keadaan sebenar.
6. Komunikasi Modbus Serial
Modbus sebagai peraturan pertukaran data dalam litar komunikasi perindustrian telah digunakan secara meluas dalam pelbagai bidang, menjadikannya mudah untuk berkomunikasi dengan peranti dengan protokol komunikasi modbus, seperti PLC, inverter, meter aliran, suhu dan kelembapan, perisian konfigurasi kumpulan komputer,, dan pelbagai sensor dan instrumen.
Protokol komunikasi Modbus dibahagikan kepada dua mod komunikasi siri, mod komunikasi ASCII dan RTU. Digunakan, anda perlu menetapkan mod komunikasi dan port siri RS232, parameter komunikasi rs485 (kadar baud, pariti, alamat hamba, bit data, bit berhenti, pesanan byte), semua peranti di bas modbus harus mempunyai mod komunikasi yang sama dan Parameter komunikasi siri.
Struktur bingkai mesej modbus
| alamat | Kod fungsi | Alamat data | Data 1 | Data ... | Data n |
CRC16 |
7. Mesej Perintah Modbus
Baca data
Sarjana menghantar
| alamat | Kod fungsi | Data Start Alamat Tinggi | Alamat Mula Data Rendah | Bilangan data tinggi | Bilangan data rendah | CRC16 Tinggi | CRC16 BIT LOW |
Kembali:
| alamat | Kod fungsi | Panjang byte | Data 1 tinggi | Data 1 rendah | Data 2 tinggi | Data 2 rendah |
… |
CRC16 Tinggi | CRC16 Rendah |
8. Konsep Utama Modbus
(1) Komputer atas membaca data setiap kali selang biasanya tidak kurang dari 100ms
(2) Alamat Peranti: Alamat Komunikasi Hamba Modbus, tidak boleh ada dua alamat yang sama dalam rangkaian. (3) Kod Fungsi: Kod Fungsi yang ditentukan oleh Protokol Modbus.
(4) Daftar alamat dan bilangan daftar
Parameter dalam arahan induk adalah daftar dari alamat daftar, baca daftar panjang daftar N. (5) data tindak balas hamba
Data tindak balas hamba adalah: bilangan bait dan data seksyen n angka.
9. Modbus menguasai operasi umum
(1) Baca pengoptimuman:Untuk bacaan data alamat yang tidak berterusan, sama ada ia mengambil baca atau tidak, maka sistem menggunakan perintah baca yang dibungkus untuk menyelesaikan bacaan pelbagai alamat pada satu masa.
(2) Baca selang pengoptimuman:Apabila membaca pengoptimuman, jika selang antara alamat adalah kurang daripada selang ini, mereka akan dibungkus bersama dan dibaca pada satu masa menggunakan pelbagai arahan baca.
(3) Panjang paket maksimum:Panjang data maksimum dibenarkan untuk satu komunikasi.
(4) pesanan byte:Laraskan urutan penyahkodan 32- bit kata dua kali ganda.
Ambil 32- bit integer sebagai contoh untuk menggambarkan makna pesanan byte:.
1234:menunjukkan bahawa komponen dua perkataan tidak diproses secara langsung,.
Sebagai contoh: Data yang dibaca dari port bersiri adalah 0000 00 01 bermakna 1.
2143:menunjukkan bahawa komponen dua perkataan kata-kata yang tinggi dan rendah tidak dibalikkan, tetapi perkataan dalam bait yang tinggi dan rendah dibalikkan.
Sebagai contoh, data yang dibaca dari port bersiri ialah {{0}} bermakna 0x00000100 (iaitu 256).
3412:menunjukkan bahawa kata-kata tinggi dan rendah komponen dua perkataan dibalikkan, tetapi bait yang tinggi dan rendah perkataan tidak dibalikkan.
Sebagai contoh, data yang dibaca dari port bersiri ialah {{0}} yang bermaksud 0x00010000 (iaitu 65536).
4321: Menunjukkan bahawa semua 4 bait dalam elemen perkataan berganda diterbalikkan.
Sebagai contoh: data yang dibaca dari port siri adalah {{0}} bermakna 0x 0100 0000 (iaitu 1677 721).
10. Perisian pentauliahan modbus modbus tarik
Ambil alamat hamba sebagai 1, kadar baud 9600, baca semua data masa nyata sebagai contoh, kaedah penetapan adalah seperti berikut.
Menurut Jadual 2: Mula Daftar Alamat 4113 Bilangan daftar adalah 22
1. Perintah pengambilalihan persediaan termasuk alamat peranti (1), kod fungsi Modbus (04), alamat daftar (4113), panjang daftar (2), dan selang pengambilalihan (1000).
2. Tetapkan data port siri
Menurut format port siri hamba (bit mula 1 bit, bit data 8 bit, bit berhenti 1 bit, tiada pariti), tetapkan angka berikut:
3. Menetapkan format paparan data
4. Skrin Kejayaan Komunikasi




