監(jiān)控軟件設(shè)備驅(qū)動(dòng)程序的編程與實(shí)現(xiàn)
還有一個(gè)接口函數(shù):PublicFunctionGetChlType(DatAsVariant,msgAsVariant)AsLong。其作用就是讀取設(shè)備通道數(shù)據(jù)的類型和設(shè)備通道類型說明。例如:
所以每一個(gè)設(shè)備驅(qū)動(dòng)程序要做的主要工作是編寫以上三個(gè)接口函數(shù)。接口軟件編程流程圖如圖2所示。
2.2智能儀表類
智能儀表類包括各種智能儀表和智能模塊。它們必須通過與計(jì)算機(jī)的串口(通常叫com口)連接才能與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信。串口通信原理圖如圖3所示:
設(shè)備通過計(jì)算機(jī)的串口,采用各種通信協(xié)議與計(jì)算機(jī)進(jìn)行通信。必要的通信參數(shù)有波特率大小,數(shù)據(jù)位長度,停止位位數(shù),有無奇偶校驗(yàn)等。對(duì)于與串口通信有關(guān)的設(shè)備,必須調(diào)用一個(gè)串口父設(shè)備,子設(shè)備只負(fù)責(zé)按通信協(xié)議形成設(shè)備命令,并把命令放到一個(gè)固定的字節(jié)數(shù)組中,然后子設(shè)備調(diào)用父設(shè)備的幾個(gè)通信函數(shù),包括
其中輸入輸出數(shù)據(jù)或命令都放在數(shù)組OutPutByte()中。串口父設(shè)備才真正與計(jì)算機(jī)的串口打交道。編制串口子設(shè)備驅(qū)動(dòng)程序的原理和格式與編制獨(dú)立板卡類設(shè)備驅(qū)動(dòng)程序的原理和格式是一樣的。只不過獨(dú)立板卡類設(shè)備驅(qū)動(dòng)程序調(diào)用的是設(shè)備核心函數(shù);而串口子設(shè)備驅(qū)動(dòng)程序調(diào)用的是串口父設(shè)備通信函數(shù)。
3 接口軟件編程框架
以下是MCGS監(jiān)控軟件設(shè)備驅(qū)動(dòng)程序編程框架。該程序框架用VisualBasic語言編制,對(duì)獨(dú)立板卡類和智能儀表類設(shè)備都適用。用戶在具體編程時(shí)只要將程序框架中省略部分補(bǔ)充完整即可。程序編制完成之后,再對(duì)其進(jìn)行“不兼容”和“二進(jìn)制兼容”兩次編譯。將編譯后得到的“*.dll”文件拷貝到D:\MCGS\Pro-
評(píng)論