Komunikasi Serial Pada PC - Copy(Edit)

24
Komunikasi Serial pada PC dengan Visual Basic 6 Eko Henfri B

description

komunikasi serial

Transcript of Komunikasi Serial Pada PC - Copy(Edit)

Page 1: Komunikasi Serial Pada PC - Copy(Edit)

Komunikasi Serial pada PC dengan Visual Basic 6

Eko Henfri B

Page 2: Komunikasi Serial Pada PC - Copy(Edit)

Dasar Komunikasi Serial

• Serial port :– penerjemah antara CPU dan serial device

Page 3: Komunikasi Serial Pada PC - Copy(Edit)

Communication Control

• Communication Control– fungsi bawaan VB untuk melakukan– komunikasi serial dengan serial device

• Nama obyek : MS Comm Control

Page 4: Komunikasi Serial Pada PC - Copy(Edit)

Properties of MSComm • Commport : Specifies the port number for MSComm

• DTREnable : DTR stands for Data Terminal Ready ( this is a pin ).Set this to true. Setting this false would stop the data transfer.

• EOFEnable : Determines whether MSComm detects EOF ( End of File ).By default it is false.

• Handshaking : This handshaking will be between the DTE ( Data Terminal Equipment, the Computer ) and the DCE ( Data Communication Equipment . Say,the modem).

• Inbuffersize : It won't be out of place to mention that we will have two buffers, an InputBuffer, for holding the data as it arrives and an OutputBuffer for holding the data sent for transmission. Inbuffersize specifies the input buffer size for holding the data as it arrives from the port. Later we shall learn how to read the contents of this buffer

• InputLen : The number of characters the input property ( will come to it later ) reads from the buffer. Setting this to 0 indicates that MSComm would read all characters in the buffer.

Page 5: Komunikasi Serial Pada PC - Copy(Edit)

Properties of MSComm• Commport: Menentukan nomor port untuk MSComm

DTREnable: singkatan DTR Data Terminal Ready (ini adalah pin a) Set ini menjadi true.. Pengaturan ini palsu akan menghentikan transfer data.

EOFEnable: Menentukan apakah MSComm mendeteksi EOF (End of File) Secara default adalah palsu.

Handshaking: Ini akan handshaking antara DTE (Data Terminal Equipment, Computer) dan DCE (Data Alat Komunikasi Katakanlah, modem.).

Inbuffersize: Ini tidak akan keluar dari tempat untuk menyebutkan bahwa kita akan memiliki dua buffer, sebuah InputBuffer, untuk memegang data saat tiba dan OutputBuffer untuk memegang data yang dikirim untuk transmisi. Inbuffersize menentukan ukuran buffer input untuk memegang data saat tiba dari pelabuhan. Kemudian kita akan belajar bagaimana untuk membaca isi buffer ini

InputLen: Jumlah karakter properti input (akan datang nanti) membaca dari buffer. Pengaturan ini untuk 0 menunjukkan bahwa MSComm akan membaca semua karakter dalam buffer.

Page 6: Komunikasi Serial Pada PC - Copy(Edit)

Properties of MSComm• InputMode : This is important ! There are two modes-binary and text. If you intend to

receive binary control characters too, then use binary mode or else use text mode. In simpler terms, if you intend to receive data from text files only, you should stick to the text mode and if you intend to receive data from all kinds of files, such as exe's, jpg's etc, then go for binary mode. Text data can be transferred in binary mode too. The problem with binary files is that they potentially produce control codes in the ASCII sequence less than 32 (decimal) and may also produce control codes from 127 to 159.If you wish to transfer binary data in text mode, you will have to use a conversion algorithm to convert the binary data to text.

• NullDiscard : Important. This determines whether NULL character ( Binary 0 ) is discarded or not. In text mode, positively set this to true otherwise you may face weird problems.

• OutBufferSize : Specifies the size of the output buffer.

• ParityReplace: In case of parity error, this is used to replace the character in error.

Page 7: Komunikasi Serial Pada PC - Copy(Edit)

Properties of MSComm• InputMode: Hal ini penting! Ada dua mode-biner dan teks. Jika Anda berniat

untuk menerima karakter kontrol biner juga, kemudian menggunakan mode binary atau modus menggunakan teks. Secara sederhana, jika Anda berniat untuk menerima data dari file teks saja, Anda harus tetap ke modus teks dan jika Anda berniat untuk menerima data dari semua jenis file, seperti exe's, jpg's dll, kemudian pergi untuk mode biner. Teks data dapat ditransfer dalam mode biner juga. Masalah dengan file biner adalah bahwa mereka berpotensi menghasilkan kode kontrol dalam urutan ASCII kurang dari 32 (desimal) dan juga dapat menghasilkan kode kontrol 127-159. Jika Anda ingin mentransfer data biner dalam mode teks, Anda akan harus menggunakan algoritma konversi untuk mengkonversi data biner ke teks.

NullDiscard: Penting. Ini menentukan apakah karakter NULL (Binary 0) dibuang atau tidak. Dalam modus teks, positif set ini ke true jika tidak, anda mungkin menghadapi masalah aneh.

OutBufferSize: Menentukan ukuran output buffer.

ParityReplace: Dalam kasus kesalahan paritas, ini digunakan untuk mengganti karakter dalam kesalahan.

Page 8: Komunikasi Serial Pada PC - Copy(Edit)

Properties of MSComm• RThreshold : This determines when MSComm is fired...I mean, in event

driven languages, an event is triggered or fired by an action. The code written for MSComm fires when Rtheshold number of characters are in the buffer. If set to zero, disables firing of MSComm's oncomm event.

• RTSEnable : Important. RTS stands for Request To Send. Set this to True.

• Setting : Use this to set the baud rate, parity, data bits and stop bits. This has the following format : "B,P,D,S" where B is the baud rate, by default

– 9600bp– P is the parity bit, N for none– D is the number of data bits, default 8– S is the stop bit, default 1.

• SThreshold : When SThreshold number of characters are gathered in the outbuffer, it is transmitted

Page 9: Komunikasi Serial Pada PC - Copy(Edit)

Properties of MSComm• RThreshold: ini menentukan saat MSComm dipecat ... maksudku, dalam

bahasa event driven, peristiwa dipicu atau dipecat oleh tindakan. Kode ditulis untuk MSComm kebakaran saat nomor Rtheshold karakter dalam buffer. Jika diatur ke nol, Menonaktifkan penembakan acara oncomm MSComm's.

RTSEnable: Penting. RTS singkatan Request To Send. Set ini ke True.

Tempat: Gunakan ini untuk mengatur nilai baud, paritas, bit data dan stop bit. Ini memiliki format berikut: "B, P, D, S" dimana B adalah tingkat baud, secara default9600bpP adalah bit paritas, N untuk tidak adaD adalah jumlah bit data, default 8S adalah stop bit, default 1.

SThreshold: Ketika SThreshold jumlah karakter yang berkumpul di outbuffer, itu ditularkan

Page 10: Komunikasi Serial Pada PC - Copy(Edit)

Fungsi Communication Control

• Mengadakan hubungan dengan serial port PC

• Berhubungan dengan alat komunikasi lain (contoh : modem)

• Melakukan pertukaran data

• Memonitor dan merespon event dan error yang terjadi pada hubungan serial

Page 11: Komunikasi Serial Pada PC - Copy(Edit)

Establishing Serial Connection

• Opening the serial port

• Working with serial device

• Setting Receive and Transmit Buffer

• Managing Receive and Transmit Buffer

Page 12: Komunikasi Serial Pada PC - Copy(Edit)

Opening the Serial Port

• Properti MS Comm yang digunakan :– Comm Port : menentukan nomor port

komunikasi– Setting : menentukan baud rate, parity, data

bits, stop bits dalam string– PortOpen : membuka dan menutup port

Page 13: Komunikasi Serial Pada PC - Copy(Edit)

Opening the Serial Port

• Opening the serial port

Contoh :– Open the serial port– MSComm1.ComPort = 2– MSComm1.Settings = “9600,N,8,1”– MSComm1.PortOpen = True

Page 14: Komunikasi Serial Pada PC - Copy(Edit)

Setting Receive and TransmitBuffer Properties

• Ketika sebuah port dibuka, receive dan

transmit buffer juga dibuat.

• Buffer memory allocation– InBufferSize : ukuran receive buffer– OutBufferSize : ukuran transmit buffer

Page 15: Komunikasi Serial Pada PC - Copy(Edit)

Setting Receive and TransmitBuffer Properties

• Rthreshold and Sthreshold Properties– Menentukan jumlah karakter yang diterima

oleh receive dan transmit buffer sebelum OnComm event dipicu

• Rthreshold di receive buffer• Sthreshold di transmit buffer

– Jika bernilai 0 tidak pernah dipicu– Jika bernilai 1 dipicu setiap satu karakter

diterima

Page 16: Komunikasi Serial Pada PC - Copy(Edit)

Setting Receive and TransmitBuffer Properties

• InputLen :– menentukan jumlah karakter yang dibaca

CPU dari receive buffer– Jika bernilai “ 0 “, maka seluruh isi receive

buffer akan dibaca CPU

• EOF (End Of File)– Mendeteksi adanya karakter EOF pada data

input

Page 17: Komunikasi Serial Pada PC - Copy(Edit)

Managing Receive Buffer

• Input property :– Untuk menyimpan dan mengambil data dari

receive buffer– Contoh :

• TxtDisplay.Text = MSComm1.Input• Untuk membaca semua, InputLen = 0

Page 18: Komunikasi Serial Pada PC - Copy(Edit)

Managing Receive Buffer

• Jenis konstanta :– comInputModeText string– comInputModeBinary data biner

• Mengawasi jumlah bit di receive buffer dengan :– InBufferCount– Jika diberi nilai 0 membersihkan receive

buffer

Page 19: Komunikasi Serial Pada PC - Copy(Edit)

Managing Transmit Buffer

• Output property :

• Untuk mengirim perintah dan data ke transmit buffer

• Contoh :– ‘Send a text string– MSComm1.Output = “Ini nilai string”

• Transmit line biasanya diakhiri carriage return charater (vbCr)

Page 20: Komunikasi Serial Pada PC - Copy(Edit)

Managing Transmit Buffer

• Mengawasi jumlah bit di transmit buffer dengan :– OutBufferCount– Jika diberi nilai 0 membersihkan transmit

bufer

Page 21: Komunikasi Serial Pada PC - Copy(Edit)

Handshaking

• Memastikan data tidak hilang akibat buffer overrun (jika tiba terlalu cepat)

• Properti :– comNone no handshaking– comXonXoff handshaking via software– comRTS handshaking via hardware– comRTSXOnXoff menggunakan keduanya

Page 22: Komunikasi Serial Pada PC - Copy(Edit)

OnComOnComm Event danCommEvent property

• Untuk memonitor dan merespons jika terjadi event dan error pada jaluar komunikasi

• OnComm event :– comEvSend Mengirim jumlah karakter di

transmit bit– comEvReceive Menerima jumlah karater di

receive bit– Etc

Page 23: Komunikasi Serial Pada PC - Copy(Edit)

OnComOnComm Event danCommEvent property

• OnComm error:– comEventBreak– comEventFrame– comEventRx over– comEventTX Full– Etc

Page 24: Komunikasi Serial Pada PC - Copy(Edit)

• bit per detik (bps disingkat atau bit / detik) adalah ukuran umum kecepatan data untuk komputer modem dan transmisi operator (adalah standar umum untuk kecepatan transmisi data). Sebagai istilah menyiratkan, kecepatan dalam bps adalah sama dengan jumlah bit yang ditransmisikan atau diterima setiap detik.

• bit data adalah Jumlah bit yang digunakan untuk mewakili satu karakter data. Ketika transmisi teks ASCII melalui modem, baik tujuh atau delapan bit dapat digunakan. bentuk lain Sebagian besar data membutuhkan delapan bit.

• flow control adalah proses mengelola tingkat transmisi data antara dua node untuk mencegah pengirim yang cepat dari kehabisan receiver lambat. Ini menyediakan sebuah mekanisme untuk penerima untuk mengontrol kecepatan transmisi, sehingga node penerima tidak kewalahan dengan data dari transmisi node.

• bit paritas adalah bit yang ditambahkan untuk memastikan bahwa jumlah bit dengan nilai satu dalam satu set bit genap atau ganjil. (bit paritas adalah sedikit yang ditambahkan untuk memastikan bahwa jumlah bit dengan satu nilai di set bit genap

atau ganjil)