VB6.0的工控機(jī)與智能流量積算儀的串口通信
(15):流量單位;00表示SCCM和SCC,01表示SCCM和SL,11表示SLM和SL; (16):閥狀態(tài);00表示關(guān)閉,80表示閥控,F(xiàn)F表示清洗; CRCL:CRC的低八位;CRCH:CRC的高8位。 3、用VB實(shí)現(xiàn)串行通訊 3.1 MSComm控件 VB的通信控件MSComm能夠提供串行通信的全部功能,程序編寫(xiě)、調(diào)試簡(jiǎn)單方便,開(kāi)發(fā)速度快,該控件封裝了通信過(guò)程中的底層操作程序,用戶只需設(shè)置和監(jiān)控控件的屬性和事件,就可以方便地實(shí)現(xiàn)異步串行通信。 采用MSComm控件接收數(shù)據(jù),按照接收方式分兩種形式:事件驅(qū)動(dòng)方式,定時(shí)查詢方式。本例為適應(yīng)流量的實(shí)時(shí)控制采用定時(shí)驅(qū)動(dòng)方式,若定時(shí)器計(jì)時(shí)到,通過(guò)串行通信口向指定地址流量積算儀發(fā)出讀寫(xiě)等操作命令,等待時(shí)間到則檢查InBufferCount屬性值來(lái)判斷輸入緩沖區(qū)中是否接受到了相應(yīng)數(shù)目的字符,從而進(jìn)行讀取、判斷數(shù)據(jù)合法性和數(shù)據(jù)存儲(chǔ)、處理等操作。 3.2 通信功能的編程實(shí)現(xiàn) 程序框圖如下:
串口初始化:MSComm1.CommPort = 1 打開(kāi)串口并定時(shí)發(fā)送數(shù)據(jù)命令:Private Sub Timer1_Timer() |