Tính cht Commport

Một phần của tài liệu Thiết kế và điều khiển hệ thống lò nhiệt độ sử dụng kit P89V51RD2 và PC (Trang 34)

Ð t c ng com du c s d ng: Object. ComPort [= Value] Value = 1 d n 16, m c d nh là 1 khi kh i d ng VB.

Tính ch t này ph i du c d t tru c khi m c ng, n u bi u th c trong ngo c không có thì tr v s c ng Com dang ho t d ng.

Hình 3.5

Ð t c u hình c ng

Object.settings [= value] Value = ”BBBB, P, D, S”

Giá tr m c d nh là “9600, N, 8, 1”. Trong tru ng h p d t sai thì giá tr báo l i. Các giá tr cho phép:

Baud rate: 110, 300, 2400, 9600 (defalut), 14400, 19200, 28800, 38400, 56000, 128000, 256000.

Parity bit: E (Even), M (Mark), N (Default), O (Odd), S (Space) Data bit: 4, 5, 6, 7, 8 (default)

Stop bit: 1, 1.5, 2 Ví d : MSComm2. Settings = “9600, N, 8, 1” M c ng Object.Portopen [= true/false] Value = true: m c ng.

Value = false: dóng c ng khi k t thúc chuong trình ng d ng.

- 30 - String$=Object.Input

D li u chu i b d m thu du c d c vào bi n String$. Có các l nh sau: Object.Inputlen [= numbyte%]

Inputlen: Quy d nh s ký t d c. Ch n inputlen = 0 d c toàn b vùng d m. Object.InbufferSize [= numbyte%]

Inbuffersize d t và tr v kích thu c theo byte c a b d m thu, m c d nh 1024 Object.Inbuffercount [= count%]

Inbuffercount: cho bi t s ký hi u có trong b d m nh n. Xóa b d m b ng cách cho inbuffercount = 0

Object.Inputmode [= value]

Inputmode: cho bi t lo i d li u là van b n hay nh phân. Value = 0: Cominputmodetext

Value = 1: Cominputmodebinary Ví d :

Dim Buffer as Vriant Dim Arr() as Byte

MSComm1.Commport=1 MSComm1.PortOpen = True MSComm1.InputMode=comInputModeBinary Do Until MSComm1.Inbuffercount<10 DoEvents Loop Buffer = MSComm1.Input Arr=Buffer Xu t d li u Object.output [= value]

Xu t chu i ký t hay chu i nh phân ra c ng COM. Gi ng nhu nh p d li u ta có các l nh h tr :

Outbuffersize: d t và tr l i kích thu c b d m truy n

Outbuffercount: tr l i s ký t trong b d m truy n

- 31 -

Private Sub Form_KeyPress (KeyAscii As Integer) Dim Buffer as Variant

MSComm1.ComPort = 1 MSComm1.PortOpen = True Buffer = Chr$(KeyAscii) MSComm1.Output = Buffer End Sub Ví d : ‘Send a string’

MSComm1.Output = “This is a text string” ‘Send a binary’

Dim Out() As Byte MSComm1.Output = Out

G i tín hi u Brake

Object.Break [= true/false]

Ð c tín hi u DCD

inCD = Object.CDHolding

N u inCD = true thì DCD m c cao, ngu c l i DCD m c th p.

Ð t th i gian ch sóng mang

Object.CDtimeout [= milliseconds]

Ch kho ng th i gian cho DCD m c cao, n u h t th i gian mà Cdholding =

false thì t o s ki n OnComm CDTO (Carrier detct timeout error).

Ð c CTS

Object.CTSHolding True: m c 1

False: m c 0

Ð t th i gian ch CTS

Khi DTE g i RTS thì modem ph i g i l i CTS. CTStimeout d nh th i gian ch , n u quá th i gian dó mà không có CTS thì t o s ki n CTSTO.

Ð c DSR

Object.DSRHolding

- 32 - Object.DSRTimeout

Ði u khi n DTR

Object.DTREnable [= true/false]

True: DTR m c 1 khi m c ng và m c 0 khi dóng c ng, False: DTR m c 0

Ði u khi n RTS

Object.RTSEnable [=true/false]

True: RTS s m c 1 khi m c ng và m c 0 khi dóng c ng

Sthreshold

Ð t s byte có trong b d m truy n d báo s ki n. Sthreshold = 1: g i Oncomm khi b d m truy n r ng. Sthreshold = 0: không g i

Ð t s byte c a b d m thu t i thi u d báo s ki n

Object.Rthreshold [= value]

N u d t = 1: g i Onncom khi nh n du c 1 ký t N u d t = 0 thì không g i

Giao th c b t tay

OBJECT.Handshacking [value] Value = 0: không b t tay

Value = 1: b t tay theo RTS/CTS Value = 2: b t tay theo XON/XOFF Value = 3: b t tay theo RTS/XON/XOFF Ví d :

Private Sub Frm_Load() Dim Buffer$ as String MSComm1.Comport = 1 MSComm1.Settings = “9600, N, 8, 1” MSComm1.Inputlen = 0 MSComm1.PortOpen = True MSComm1.Output = “ATVQ0”&Chr$(13) Do DoEvents

- 33 - Buffer$=Buffer$ & MSComm1.Input

Loop Until InStr (Buffer$, “OK” & VbCrLf) MSComm1.PortOpen=False

- 34 -

Chuong 4

THI T K H ÐI U KHI N

4.1. H TH NG ÐI U KHI N S4.1.1. Ð c tính h th ng di u khi n s

Một phần của tài liệu Thiết kế và điều khiển hệ thống lò nhiệt độ sử dụng kit P89V51RD2 và PC (Trang 34)

Tải bản đầy đủ (PDF)

(84 trang)