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單片機系列
主站蜘蛛池模板: 99ri精品视频在线观看播放| 999精品色在线观看| 激情乱人伦| 丁香婷婷激情网| 男女性午夜福利网站| 亚洲AV无码不卡无码| 青草娱乐极品免费视频| 欧美色图久久| 亚洲性日韩精品一区二区| 日本免费一区视频| 中文字幕av无码不卡免费| 成人免费一级片| 中文字幕亚洲第一| 综合网天天| 国产亚洲精品97在线观看| 欧美精品在线免费| 亚洲人成网站在线观看播放不卡| av午夜福利一片免费看| av免费在线观看美女叉开腿| 亚洲AV无码乱码在线观看代蜜桃| 国模极品一区二区三区| 欧美色图第一页| 九九热精品视频在线| 国产在线一区二区视频| 18禁黄无遮挡免费动漫网站| 成年人福利视频| 欧美成人午夜视频免看| 自拍欧美亚洲| 成人中文在线| 国产欧美日韩综合在线第一| 欧美国产日韩一区二区三区精品影视| 黄色片中文字幕| 国产99精品视频| 亚洲中文无码av永久伊人| 亚洲国产系列| 中文无码精品A∨在线观看不卡 | 99精品久久精品| 国产一在线观看| 人妻91无码色偷偷色噜噜噜| 在线国产欧美| 国产日韩AV高潮在线| 国产成人免费高清AⅤ| 国产一级裸网站| 国产成年女人特黄特色大片免费| 日韩AV无码免费一二三区| 丁香婷婷综合激情| 区国产精品搜索视频| 欧美在线一二区| 亚洲第一页在线观看| 国产在线一二三区| 国产成人精品免费av| 国产一区二区网站| 欧美在线视频a| 欧美亚洲国产精品久久蜜芽| 国模视频一区二区| 亚洲自偷自拍另类小说| 久久中文字幕不卡一二区| 日韩精品中文字幕一区三区| 另类综合视频| a毛片免费在线观看| 亚洲国产午夜精华无码福利| 成人亚洲国产| 亚洲第一成年免费网站| 国产在线一区视频| 亚洲中文字幕在线观看| 亚洲精品第一在线观看视频| 亚洲啪啪网| 国产成人AV大片大片在线播放 | 国产99视频精品免费视频7 | 成·人免费午夜无码视频在线观看 | 老司机精品99在线播放| 国内精品一区二区在线观看| 九色综合伊人久久富二代| 四虎AV麻豆| 欧美在线一二区| 美女一级免费毛片| 國產尤物AV尤物在線觀看| 亚洲成a人片77777在线播放| 久久性妇女精品免费| 国产精品香蕉在线| 都市激情亚洲综合久久| 国产精品第三页在线看|