<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 監(jiān)控軟件設(shè)備驅(qū)動(dòng)程序的編程與實(shí)現(xiàn)

          監(jiān)控軟件設(shè)備驅(qū)動(dòng)程序的編程與實(shí)現(xiàn)

          作者: 時(shí)間:2013-12-04 來源:網(wǎng)絡(luò) 收藏
          M: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 20px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 14px/25px 宋體, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  對(duì)于那些不需要定時(shí)采集的數(shù)據(jù),如設(shè)備的量程上下限,或其他一些參數(shù),只有用戶改變了后,才需要重新讀回來,還有一些往設(shè)備輸出的參數(shù),也是不定時(shí)的,MCGS為這些特殊的情況定義了一個(gè)接口函數(shù):PublicFunctionRunDevCommand(DatObjAsObject,ByValCmdAsString)AsLong。在MCGS的腳本程序里執(zhí)行函數(shù)!SetDevice(“子設(shè)備名”,6,“帶有參數(shù)的命令名”),MCGS就會(huì)調(diào)用RunDevCommand函數(shù),并把“帶參數(shù)的命令”傳給了字符串變量“cmd”。如以天辰PID控制儀為例,用戶想改變儀表的設(shè)定值(SV值),我們就可以定義一條這樣的命令,SetValue(dat1,dat2),這時(shí)MCGS就把命令傳到了cmd中,cmd=“SetValue(Dat1,Dat2)”。使用字符串函數(shù)把命令中的兩個(gè)參數(shù)取出來,兩個(gè)參數(shù)的意思是,dat1表是設(shè)定在儀表中存放的地址,dat2為要設(shè)定的值,獲得了這兩個(gè)參數(shù)的值后,就可以根據(jù)協(xié)議的規(guī)定發(fā)送一條設(shè)定(SV值)的命令來改變SV值。其他的參數(shù)設(shè)定也是類似的。至此設(shè)備的驅(qū)動(dòng)程序就基本完成。

           還有一個(gè)接口函數(shù):PublicFunctionGetChlType(DatAsVariant,msgAsVariant)AsLong。其作用就是讀取設(shè)備通道數(shù)據(jù)的類型和設(shè)備通道類型說明。例如:

            監(jiān)控軟件設(shè)備驅(qū)動(dòng)程序編制原理與實(shí)現(xiàn)

            所以每一個(gè)程序要做的主要工作是編寫以上三個(gè)接口函數(shù)。接口軟件編程流程圖如圖2所示。

            2.2智能儀表類

            智能儀表類包括各種智能儀表和智能模塊。它們必須通過與計(jì)算機(jī)的串口(通常叫com口)連接才能與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信。串口通信原理圖如圖3所示:

            監(jiān)控軟件設(shè)備驅(qū)動(dòng)程序編制原理與實(shí)現(xiàn)

            設(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ù),包括

            監(jiān)控軟件設(shè)備驅(qū)動(dòng)程序編制原理與實(shí)現(xiàn)

            其中輸入輸出數(shù)據(jù)或命令都放在數(shù)組OutPutByte()中。串口父設(shè)備才真正與計(jì)算機(jī)的串口打交道。編制串口子程序的原理和格式與編制獨(dú)立板卡類程序的原理和格式是一樣的。只不過獨(dú)立板卡類設(shè)備驅(qū)動(dòng)程序調(diào)用的是設(shè)備核心函數(shù);而串口子設(shè)備驅(qū)動(dòng)程序調(diào)用的是串口父設(shè)備通信函數(shù)。

          3 接口軟件編程框架

            以下是MCGS設(shè)備驅(qū)動(dòng)程序編程框架。該程序框架用VisualBasic語言編制,對(duì)獨(dú)立板卡類和智能儀表類設(shè)備都適用。用戶在具體編程時(shí)只要將程序框架中省略部分補(bǔ)充完整即可。程序編制完成之后,再對(duì)其進(jìn)行“不兼容”和“二進(jìn)制兼容”兩次編譯。將編譯后得到的“*.dll”文件拷貝到D:\MCGS\Pro-

            監(jiān)控軟件設(shè)備驅(qū)動(dòng)程序編制原理與實(shí)現(xiàn)

            



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();