Deskripsi kontrol komunikasi 1mscomm.vbx
Kontrol komunikasi mcomm.vbx dapat langsung ditambahkan ke formulir formulir dari kotak alat VB, dan dapat digunakan untuk komunikasi. Jika tidak ada kontrol seperti itu di kotak alat, gunakan kontrol khusus alat untuk menambahkan mcomm.vbx dari subdirektori sistem windows ke kotak alat vb.
1.1 Metode komunikasi
mcomm.vbx memiliki 2 cara berbeda untuk menangani dan menyelesaikan masalah pengembangan dan desain berbagai perangkat lunak komunikasi
1. Didorong oleh peristiwa. Ini mirip dengan fungsi panggilan balik jendela saat menulis perangkat lunak Windows dalam C/C, dan merupakan cara ampuh untuk mengatasi masalah. Dalam pekerjaan sebenarnya, kita sering harus berurusan dengan banyak peristiwa terkait dalam komunikasi. Misalnya: ketika data jalur tiba di ujung lokal atau status jalur sinyal cd dan rts berubah, kita diharuskan menggunakan peristiwa terkait untuk melakukan hal tersebut. track dan proses. Kontrol ini digunakan Peristiwa oncomm diimplementasikan, yang juga mencakup pendeteksian dan penanganan kesalahan komunikasi dan masalah lainnya. Contoh kesalahan dan kejadian terperinci dari pengendalian komunikasi meliputi:
mcomm-er-break menerima 1 sinyal break
batas waktu sinyal mcomm-er-cdtocd habis
…
sinyal mcomm-ev-cdcd berubah
…
2. Metode penyelidikan. Merupakan tanggung jawab programmer untuk membaca nilai commevent dan menangani kesalahan atau kejadian yang terjadi. Biasanya desain aplikasi sederhana dapat mengadopsi pendekatan ini.
1.2 Sifat pengendalian komunikasi
Kunci dalam menggunakan pengendalian komunikasi untuk menyusun program komunikasi adalah dengan memahami dan mengatur properti pengendalian komunikasi secara akurat. mcomm.vbx menyediakan 27 properti tentang kontrol komunikasi, seperti:
commport: Mengatur atau mengembalikan nomor port komunikasi.
setting : Mengatur atau mengembalikan format komunikasi data dalam bentuk string: baud rate, parity, data bits dan stop bits.
portopen: Mengatur atau mengembalikan status port komunikasi (termasuk membuka dan menutup port komunikasi)
…
3. Contoh
Latar belakang aplikasi program ini adalah perangkat lunak sistem pemantauan otomatis electrostatic precipitator dcc95, yang memecahkan masalah komunikasi antara 1 pc komputer industri (stasiun master) dan 32 mikrokontroler (gardu induk). Struktur jaringan bus antara stasiun induk dan gardu induk mengadopsi standar komunikasi RS-485 dan melakukan komunikasi data secara tanya jawab. Karena 32 gardu induk mengirimkan perintah komunikasi (perintah downlink) ke stasiun master, stasiun master terus mengirimkan perintah downlink setelah menerima perintah balasan terkait (perintah uplink) yang dikirim kembali oleh gardu induk. Sesuai dengan kebutuhan fungsi sistem, stasiun master perlu mengirimkan dua jenis perintah: (1) Perintah sinkron, yang dipicu oleh pengatur waktu dan dikirim sekali setiap siklus ls; (2) Perintah aperiodik, yang dipicu oleh operator Disebabkan dengan menggerakkan tombol perintah yang sesuai, ini dikirim secara berkala. Perangkat lunak sistem pemantauan otomatis dipasang di stasiun utama, dan program komunikasi juga diinstal di stasiun utama sebagai bagian dari perangkat lunak sistem pemantauan otomatis.
Artikel ini hanya mencantumkan daftar program demo dasar untuk pengujian saat men-debug program komunikasi. Selama pengujian, satu PC digunakan sebagai stasiun utama, dan PC lainnya mensimulasikan kerja 32 gardu induk. Kedua PC tersebut menggunakan komunikasi port serial rs232c. Tambahkan 1 kontrol komunikasi, 2 kontrol pengatur waktu, dan 1 kontrol tombol perintah ke formulir program demonstrasi komunikasi (formulir) stasiun utama. Kontrol komunikasi (mscomm1) digunakan untuk mengakses port serial, mengirim dan menerima data; periodik) digunakan untuk mengontrol stasiun induk untuk mengirimkan perintah periodik ke masing-masing gardu induk setiap detik; tombol kendali kendali (nonperiodic-command) dan kendali pengatur waktu nonperiodik (nonperiodik) digunakan untuk mengirimkan perintah aperiodik. Transmisi data menggunakan komunikasi berbasis peristiwa. Atribut rtreshlod diatur sesuai dengan perintah pengiriman yang berbeda, sehingga menyebabkan peristiwa oncomm menerima data.
2.1 Prosedur inisialisasi untuk setiap kontrol dalam formulir
Atur parameter kerja port serial komunikasi, atur interval interupsi pengatur waktu periodik ke ls, dan interval interupsi pengatur waktu nonperiodik ke 0,5 detik.
beban-subformulir()
mscomm1.commport=2'Pilih port serial com2
mcomm1.settings="9600,n8,1"'Baud rate 9600, tanpa bit paritas, 8 bit data, dan 1 bit stop
mscomm1.inputlen=0'input akan membaca seluruh isi buffer penerima
mcomm1.inbuffersize=1024'Atur panjang byte buffer penerima
mscomm1.portopen=true'Buka port komunikasi
mscomm1.inbuffercount=0'Hapus data buffer pengiriman
mscomm1.outbuffercount=0'Hapus data buffer penerimaan
periodik.inteval=100'Atur interval waktu ls sehingga perintah telemetri dikirim setiap ls
nonperiodic.inteval=500' Tetapkan interval waktu 0,5 detik dan tanyakan apakah tombol perintah diaktifkan untuk menentukan apakah akan mengirim perintah berkala
command-PRessed=false'Tombol perintah tidak aktif
selama-periodik=false'Transmisi data perintah periodik belum dimulai
selama-nonperiodic=false'transmisi data perintah non-periodik belum dimulai
sub akhir
2.2 Program pengiriman perintah aperiodik
Menurut status tombol perintah dan status transmisi data perintah periodik, perintah aperiodik dikirim dalam program interupsi pengatur waktu nonperiodik.
klik-perintah-subnonperiodik()
command-pressed=true'aktivasi tombol perintah
sub akhir
pengatur waktu subnonperiodik()
ifselama-periodik=benaratauperintah-ditekan=salah
kemudianexitsub' Jika pengiriman data perintah periodik belum berakhir atau tombol perintah diaktifkan, keluar dari program yang mengirimkan perintah aperiodik.
command-pressed=false'Tombol perintah kembali ke keadaan tidak aktif
callenddata(perintah-nonperiodik)'Kirim perintah non-periodik
mscomm1.rthreshold=r-nonperiodic-byte'Setelah mengirimkan perintah aperiodik, atur atribut rthreshold sehingga stasiun master memicu peristiwa oncomm setelah menerima jumlah byte yang ditetapkan.
sub akhir
2.3 program pengatur waktu berkala
Kirim perintah periodik dalam program interupsi pengatur waktu periodik:
pengatur waktu subperiodik()
ifduring-nonperiodic=truethenexitsub'Jika transmisi data perintah non-periodik belum berakhir, keluar dari program pengiriman perintah aperiodik.
selama-periodik=true' menyetel status transmisi data perintah periodik ke sedang berlangsung
panggilanenddata(perintah-periodik)'kirim perintah periodik
mscomm1.rthreshold=r-periodic-byte'Setelah mengirimkan perintah periodik, stasiun master menerima r-remot-edata-byte byte, yang dapat memicu kejadian oncomm
sub akhir
2.4 program acara umum
Menurut nilai pengaturan atribut rthreshold, ketika karakter byte yang sesuai diterima di buffer penerima, peristiwa oncomm dipicu dan data diterima dalam program interupsi.
submscomm1-oncomm()
selectcasemscomm1.commevent'Di sini Anda dapat memasukkan kode untuk menangani berbagai kesalahan atau kejadian.
casemscomm-ev-terima
menerimastring$=mscomm1.input
pilihcasemscomm1.rthreshold
data respon caser-periodic-byte dari perintah periodik
calldisposedata(periodic-command)'memproses data yang diterima
selamaperiodik=false' mengatur status transmisi data perintah periodik ke akhir
data respons perintah caser-nonperiodic-byte'non-periodik
calldisposedata(nonperiodic-command)'proses data yang diterima
selama-nonperiodik=false' menyetel status transmisi data perintah non-periodik ke akhir
pilih akhir
pilih akhir
sub akhir
Dengan peningkatan berkelanjutan versi vb, vb akan menjadi alat pengembangan aplikasi tercepat, termudah untuk digunakan, dan kuat, dan salah satu alat pilihan untuk pengembangan perangkat lunak aplikasi klien/server tingkat perusahaan. ->