2.1 硬件構成
D07-12A型質(zhì)量流量傳感器采用毛細管傳熱溫差量熱法原理測量氣體的質(zhì)量流量(無(wú)需溫度壓力補償)。將傳感器加熱電橋測得的流量信號送入放大器放大,放大后的流量檢測電壓與設定電壓進(jìn)行比較,再將差值信號放大后去控制調節閥門(mén),閉環(huán)控制流過(guò)通道的流量使之與設定的流量相等。當本流量積算儀與MFC(質(zhì)量流量計)配套使用時(shí),只需用電纜通過(guò)D型插頭將流量積算儀與MFC連接起來(lái)即可。然后采用一臺上位機與一臺D08-8CZM流量積算儀進(jìn)行通信的方式,使用RS232通訊方式:將2引腳(TXD)與上位機串口的RXD(工控機串口的2引腳)相連;3引腳(RXD)與上位機串口的TXD(工控機串口的3引腳)相連;5引腳(SG)與上位機串口的SG(工控機串口的5引腳)相連。
2.2 通訊原理
工控機作為上位機與從機(數字流量積算儀)采用主從應答方式進(jìn)行通信,一個(gè)網(wǎng)絡(luò )中只有一個(gè)主機(上位機,節點(diǎn)地址為0),主機通過(guò)站號(數字流量積算儀的*地址)區分不同的從機。上位機始終處于主動(dòng)狀態(tài),根據程序運行的需要向(通信端口)數字流量積算儀發(fā)出讀寫(xiě)等命令;從機處于被動(dòng)狀態(tài),接收并響應上位機的命令。需要讀采樣數據時(shí),上位機通過(guò)通信口向地址的數字流量積算儀發(fā)出讀數據命令,數字流量積算儀響應并將數據準備好,按統一的數據通信幀格式編成響應字符串,主機再次讀通信口接收緩沖區即可讀到所需的數據。向數字流量積算儀寫(xiě)數據時(shí),上位機向數字流量積算儀發(fā)出寫(xiě)命令及參數數據,積算儀即可接受并返回響應情況。上位機通過(guò)RS-232通信進(jìn)行運行狀態(tài)監控、參數設置、診斷等遠程測控功能,實(shí)現這些功能采用了不同的通信格式。其中MODBUS協(xié)議通訊原理圖如下:
圖1 MODBUS協(xié)議的詢(xún)問(wèn)應答環(huán)路
2.3 通訊協(xié)議
本通信協(xié)議應用于D08-8CZM型流量積算儀與上位機的通信,數據以16進(jìn)制格式傳輸,波特率:9600;數據位8位;停止位:1位;效驗位:無(wú)。本協(xié)議與MODBUS協(xié)議兼容,可以通過(guò)上位機顯示流量積算儀的瞬時(shí)流量、累積流量、滿(mǎn)量程、單位和閥狀態(tài)(包括閥控、關(guān)閉和清洗),而且可以通過(guò)上位機設定流量積算儀的瞬時(shí)流量、使流量積算儀的累積流量清零。因此在本協(xié)議用到了MODBUS協(xié)議的命令$03(Reading 1~9words)、命令$05(Force single coil)和命令$06(Writing 1 word)。
使用命令$03可以通過(guò)上位機讀流量積算儀的當前狀態(tài),其通信協(xié)議的具體格式為:
上位機 積算儀:01 03 00 02 00 08 E5 CC
各字節含義:
01: MODBUS地址;
03: 功能碼03(Reading 1~9words);
00 02:起始地址,00為高8位,02為低8位;
00 08:讀取的字數;
E5 CC:CRC效驗值,E5為CRC的低8位,CC為高8位。
上位機 積算儀:01 03 10 (1)~(16) CRCL CRCH
各字節含義:
01:MODBUS地址;
03:MODBUS命令號;
10:上傳的字節數;
?。?)~(4):瞬時(shí)流量值;“00~09”表示數字“0~9”,“10~19”表示“0.~9.”;
?。?)~(10):流量累積值;同上;
?。?1)~(14):滿(mǎn)量程;同上;
?。?5):流量單位;00表示SCCM和SCC,01表示SCCM和SL,11表示SLM和SL;
?。?6):閥狀態(tài);00表示關(guān)閉,80表示閥控,FF表示清洗;
CRCL:CRC的低八位;CRCH:CRC的高8位。
3、用VB實(shí)現串行通訊
3.1 MSComm控件
VB的通信控件MSComm能夠提供串行通信的全部功能,程序編寫(xiě)、調試簡(jiǎn)單方便,開(kāi)發(fā)速度快,該控件封裝了通信過(guò)程中的底層操作程序,用戶(hù)只需設置和監控控件的屬性和事件,就可以方便地實(shí)現異步串行通信。
采用MSComm控件接收數據,按照接收方式分兩種形式:事件驅動(dòng)方式,定時(shí)查詢(xún)方式。本例為適應流量的實(shí)時(shí)控制采用定時(shí)驅動(dòng)方式,若定時(shí)器計時(shí)到,通過(guò)串行通信口向地址流量積算儀發(fā)出讀寫(xiě)等操作命令,等待時(shí)間到則檢查InBufferCount屬性值來(lái)判斷輸入緩沖區中是否接受到了相應數目的字符,從而進(jìn)行讀取、判斷數據合法性和數據存儲、處理等操作。
電話(huà)
微信掃一掃