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