999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MCGS平臺下51單片機驅動構件開發與應用

2011-07-26 11:03:48包建華張興奎胡福年
自動化儀表 2011年11期
關鍵詞:單片機設置設備

包建華 張興奎 胡福年

(徐州師范大學電氣工程及自動化學院,江蘇 徐州 221116)

0 引言

工控組態軟件(monitor and control generated system,MCGS)是指在數據采集和過程控制中使用的專用軟件,它提供了監控層的軟件平臺和開發環境,一般用于自動控制系統的監控層,其靈活的組態方式,可使用戶快速構建專業級的工業自動監控系統[1]。

工控組態軟件是一套基于WindowsNT/2000/XP操作系統、可用來快速構造和生成上位機監控系統的組態軟件系統。它為用戶提供了從設備驅動、數據采集到數據處理、報警處理、流程控制、動畫顯示、報表輸出等用來解決實際工程問題的完整方案和開發平臺[2]。在實際應用中,由于所用設備的特殊性或實際工程的需要以及用戶的個性化需求,MCGS提供了一套開放的、可擴充的接口規范和配套的高級開發工具包,允許用戶根據自己的需要來開發設備驅動構件[3]。本文開發的基于MCGS的AT89C52單片機驅動構件可完成現場終端和上位機間的可靠通信,從而實現對房間溫度的遠程監測和報警限值的在線設置。

1 MCGS設備驅動構件概況

MCGS采用Active DLL構件的方式來實現設備驅動程序,并通過規范的對象鏈接與嵌入(object linking and embedding,OLE)接口,將Active DLL構件掛接到MCGS中,使其構成一個整體。由于設備驅動構件和MCGS運行在同一個進程內,故設備構件的運行速度快、可靠性高。OLE是一個可擴充的開放標準,用于實現不同軟件之間的相互操作,因此,可以使用VB、VC、Delphi等語言來編制MCGS的設備驅動程序。鑒于Visual Basic的通用性和簡單性,且VB6.0以上的版本是以二進制碼來編譯執行程序,其運行速度巳接近或超過VC,完全能滿足設備驅動構件所需的速度要求,因此,本文采用VB6.0進行單片機驅動構件的開發。

與MCGS相連接的外部設備分為獨立設備、父設備和子設備3類。獨立設備是可獨立工作、完成特定數據輸入輸出功能的設備,如用于模擬量輸入輸出、數字量輸入輸出的PC接口卡等;父設備是本身不直接處理數據輸入輸出,但能管理其他設備的工作,如串行口設備等;子設備是本身具有處理數據輸入輸出的功能,但只有和對應的父設備一起才能構成完整的工作系統的設備,如PLC設備、帶智能通信功能的儀器儀表等。單片機是工作在串行口父設備下的子設備,MCGS提供了串行口父設備驅動構件,需要開發的是掛接在串行口父設備下的子設備驅動構件[4-5]。MCGS與單片機通信結構框圖如圖1所示。

圖1 通信結構框圖Fig.1 Block diagram of communication

MCGS設備驅動構件的實現方法和原理與標準VB的ActiveDLL基本一致,不同的是MCGS規定了一套接口規范,只有遵守這些接口規范的ActiveDLL,才能用作 MCGS的設備驅動構件。具體來說,開發MCGS設備驅動構件的過程就是根據通信協議制定的數據幀格式,對MCGS接口規范中的5個屬性函數和8個方法函數進行定義、編程、調試和掛接,從而完成設備功能的配置。

2 MCGS設備驅動構件的開發

對MCGS設備驅動構件的開發可以采用以下兩種方法加以完成:一種是利用開發向導生成框架,然后在Visual Basic編程環境中加入自己的驅動程序部分;另一種是利用現有的設備驅動程序進行移植。本文采用的是前一種方法。

2.1 通信協議與數據格式

數據交互涉及通信協議問題。MCGS設備驅動構件的幀格式如圖2所示。51單片機串口集成了一個全雙工通用異步接收發送器UART。這里采用UART工作在模式1下,按照字節傳輸數據,數據幀格式為1位起始位、8位數據位和1位停止位[6]。

圖2 幀格式Fig.2 Format of frame

2.2 串口操作函數

編寫子設備驅動程序時,主要是對串行端口進行操作。MCGS把復雜的對串行端口的設置(如波特率、數據位長度、數據校驗方式等)、初始化和讀寫操作全部封裝在MCGS提供的串口父設備中。子設備按照通信協議將數據打包,然后調用串口父設備提供的標準串口讀寫函數,即可完成對數據的讀取和發送工作[7]。常用的串行端口操作函數如下。

2.3 屬性接口

MCGS提供的接口規范中共有5個屬性接口,編程者可通過調用屬性接口函數來對設備屬性進行設置。通過設置這5個屬性,可以標明設備的類型、類別、設備的通道個數、設備所用I/O地址的個數和設備所用I/O的基地址。由于是子設備,故單片機驅動構件不需占用系統I/O。本設計需要對某房間的溫度、溫度上/下限報警限值、房間燈盞進行遠程監測與控制,因此,設定的通道個數為7個。5個屬性接口設置代碼具體如下。

2.4 方法接口

MCGS在組態環境和運行環境下需要調用方法接口來實現特定的功能,如實現初始化、數據的輸入與輸出、通道的數據類型說明等功能。

2.4.1 組態環境中調用接口的方法

GetDevName接口供MCGS讀取設備的類型名稱,MCGS將把這個名稱顯示在設備工具箱中。本文設置如下:GetDevName=“單片機控制器”;GetDevHelp接口用以顯示設備構件的在線幫助;SetDevPage接口用以設置設備構件的內部屬性頁。當把設備從設備工具箱中選取到設備窗口中時,調用InitNewDev接口,設置設備的缺省屬性值。

2.4.2 運行環境中調用接口的方法

運行環境中調用接口的方法具體如下。

①在MCGS運行環境啟動時調用InitDevRun接口一次,用于對設備構件進行初始化工作。

②MCGS調用GetChlType接口讀取設備各通道的數據類型和通道內容的文字描述,在設備屬性設置窗口的通道連接屬性頁中所顯示的內容來自本接口。本設計需設置7個通道,第1~4通道用于遠程控制房間四盞燈的亮滅,使用51 單片機的 P1.0~P1.3;第 5 通道用于實時采集房間的溫度值;第6、第7通道用于在線設置房間溫度上/下限報警值。程序代碼如下。

③在MCGS運行環境中,從設備采集數據或向設備輸出數據通過定時調用CollectDevDat接口來完成。設備構件首先調用父設備的串口操作函數ComOutIn-Dat,把命令字寫到串行端口,再輸出到單片機控制器,單片機控制器收到命令字后發送數據到串行端口,串行端口讀取返回的數據,再把數據存入到數組Output-Byte()中,然后將數組中的數據解包,把所需要的變量值存放到通道數組asngdatavalue()中,供MCGS進行處理。

按照通信協議,發送幀格式采用“#”+“地址編號”+“命令數據”+“!”,然后將該字符串轉換為ASCII碼發送至單片機控制器。數據接收幀格式與之類似。

在CollectDevDat接口中編制的程序代碼如下。

在VB的程序模塊DevBas.bas中編制的源程序代碼如下。

通過調用父設備的串口操作函數ComOutInDat,實現與單片機控制器交互數據,相應的程序代碼如下。

④在MCGS中,周期性讀寫參數都是在通道連接中實現的。因此,本設計中沒有對RunDevCommand接口函數進行編程。

3 下位機的通信程序設計

本文選用Atmel公司的AT89C52單片機作為下位機,房間溫度傳感器選用 DALLAS公司的DS18B20。DS18B20采用1-Wire總線,可將溫度直接轉換成串行數字信號供微控制器處理,測溫范圍為-55~+125℃,最大分辨率可達0.0625 K[8]。

下位單片機通過串口和上位機交換數據,采用T1作為UART的波特率發生器。單片機晶振頻率選為11.0592 MHz,設置 SMOD=0、TH1=0FDH,可得到波特率為9600 bit/s。這樣獲得的波特率誤差率為0,提高了串口通信的可靠性。為提高數據交互的實時性,單片機收/發數據采用中斷方式。按照前述數據通信協議約定,單片機串行口的中斷服務程序流程如圖3所示。

圖3 中斷服務程序流程圖Fig.3 Flowchart of the interrupt service

4 驅動構件測試與應用

MCGS為設備驅動構件提供了一套在VB環境下進行在線調試的運行機制,使用戶能夠隨時在VB源代碼一級對構件的接口函數進行調試、測試,以驗證編程正確性。編程調試工作完成后,經編譯,生成*.dll文件,只要把此文件拷貝到D:MCGSProgramDrivers的目錄下(假定MCGS系統安裝時的目錄為D:MCGS),即完成設備驅動構件的掛接工作[9]。

啟動MCGS組態環境,在工作臺中打開設備組態窗口,再通過設備工具箱的“設備管理”窗口,完成自主開發的單片機驅動構件在Windows中的登記工作。

本文開發的基于MCGS的51單片機驅動構件可實現對房間溫度的實時監測,并能夠在上位機中對房間溫度的上/下限報警限值進行在線設置。系統運行中一旦溫度超限,上位機監控可立即實現漢語語音報警,其中的聲音文件由中科大訊飛信息科技公司“InterPhonic CN語音合成系統”產生,效果如真人發音[10]。同時,系統可實現在上位機上對房間的4個燈盞進行遠程開啟與關閉。

5 結束語

工控組態軟件開發的計算機監控系統具有系統配置靈活、開發周期短、通用性強、可靠性高等特點,MCGS提供了一套規范的設備驅動程序接口,用戶可方便靈活地開發設備驅動程序。熟練掌握MCGS設備驅動構件的開發方法不僅大大拓寬了硬件選型范圍,也為開發基于MCGS的計算機監控系統提供技術保證。實際運行表明,本文開發的基于MCGS的51單片機驅動構件效果良好,數據交互及時可靠。

[1]曹輝,馬棟萍,王暄,等.組態軟件技術及應用[M].北京:電子工業出版社,2009:1.

[2]包建華,丁啟勝,張興奎.工控組態軟件MCGS及其應用[J].工礦自動化,2007(3):92.

[3]邱小文,汪仁和.基于MCGS組態軟件的設備驅動開發[J].露天采礦技術,2007(5):51.

[4]周杰,林沂杰.基于MCGS的51單片機驅動構件實現方法[J].微計算機應用,2009,30(11):76-77.

[5]邱小文,汪仁和.基于MCGS的凌陽單片機驅動程序的設計[J].微計算機信息,2006,22(7):113.

[6]王曉光,鄭萍,馬巧娟,等.基于MCGS的51系列單片機通用驅動程序設計[J].儀表技術與傳感器,2010(5):38.

[7]潘崢嶸,張巖,郭凱,等.基于MCGS的C8051F020單片機驅動程序的設計與應用[J].微計算機應用,2009,30(2):49.

[8]李光飛,樓然苗,胡佳文,等.單片機課程設計實例指導[M].北京:北京航空航天大學出版社,2004:105-115.

[9]馬海瑞,周愛軍.MCGS的可擴充性及其設備驅動構件[J].兵工自動化,2005,24(2):80.

[10]包建華,張興奎.空壓機組監控軟件應用中的若干技術處理[J].工業控制計算機,2007,20(10):45.

猜你喜歡
單片機設置設備
諧響應分析在設備減振中的應用
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 国产亚洲精品97AA片在线播放| 日韩在线中文| 欧美激情视频二区三区| 国产美女主播一级成人毛片| 免费不卡视频| 日韩无码黄色| 99一级毛片| 欧美色图久久| 国产极品美女在线观看| 在线免费不卡视频| 亚洲精品男人天堂| 九色免费视频| 在线观看国产精品第一区免费| 热这里只有精品国产热门精品| 日本成人不卡视频| 国产手机在线小视频免费观看| 91精品国产一区自在线拍| 亚洲一区波多野结衣二区三区| 欧美亚洲香蕉| 狠狠亚洲五月天| 亚洲一级毛片| 国精品91人妻无码一区二区三区| 精久久久久无码区中文字幕| 91无码国产视频| 青青热久麻豆精品视频在线观看| 日韩欧美亚洲国产成人综合| 热伊人99re久久精品最新地| 久久久久久久久久国产精品| 亚洲av成人无码网站在线观看| 91在线播放免费不卡无毒| 中文字幕永久在线看| 国产草草影院18成年视频| 久久精品66| 国产精品美女在线| 国产成人无码综合亚洲日韩不卡| 亚洲欧美日韩中文字幕在线一区| 99热这里只有精品在线播放| 激情无码视频在线看| 色哟哟国产精品一区二区| 日日拍夜夜操| 最新亚洲人成网站在线观看| 无码专区在线观看| 午夜a级毛片| 国产91透明丝袜美腿在线| a天堂视频| 自拍偷拍欧美| 一级毛片在线免费视频| 无码国产偷倩在线播放老年人| av色爱 天堂网| 热久久这里是精品6免费观看| 视频一本大道香蕉久在线播放| 青青草原偷拍视频| 日韩美毛片| 91av成人日本不卡三区| 国产成人禁片在线观看| 手机在线看片不卡中文字幕| 亚洲乱亚洲乱妇24p| 在线观看无码av免费不卡网站| 99久久人妻精品免费二区| 国产青青操| 国产99热| 香蕉视频在线观看www| 国产高清在线丝袜精品一区| 特级aaaaaaaaa毛片免费视频| 欧美日韩中文国产| 欧美日韩一区二区在线免费观看 | 亚洲AV成人一区二区三区AV| 亚洲AV人人澡人人双人| 亚洲清纯自偷自拍另类专区| 四虎国产精品永久一区| 久久久久国产一级毛片高清板| 欧美一级一级做性视频| AV在线天堂进入| 无码人中文字幕| a级毛片免费在线观看| 国产一二三区视频| 91在线国内在线播放老师| 精品国产aⅴ一区二区三区| 91麻豆国产在线| 国产精品无码AⅤ在线观看播放| 99精品热视频这里只有精品7| 亚洲高清日韩heyzo|