施志榮
[摘 要]課題組針對高職院校單片機(jī)應(yīng)用技術(shù)課程在實踐教學(xué)方式、實訓(xùn)設(shè)備維護(hù)等方面存在的問題,提出了將MCGS組態(tài)軟件與單片機(jī)最小系統(tǒng)板相結(jié)合的教學(xué)模式。教學(xué)實踐表明,將MCGS組態(tài)軟件引入單片機(jī)應(yīng)用技術(shù)課程的教學(xué)節(jié)約了實訓(xùn)設(shè)備的硬件成本,提高了實訓(xùn)課程的教學(xué)效果。
[關(guān)鍵詞]單片機(jī)應(yīng)用技術(shù);MCGS組態(tài)軟件;Modbus-RTU協(xié)議;實踐教學(xué)
[中圖分類號] G642。3 [文獻(xiàn)標(biāo)識碼] A [文章編號] 2095-3437(2020)01-0083-03
單片機(jī)應(yīng)用技術(shù)是高職院校電氣自動化技術(shù)專業(yè)的一門重要的職業(yè)核心課程,是學(xué)生掌握智能儀器設(shè)計理論和技術(shù)的基礎(chǔ),具有很強(qiáng)的實踐性[1]。對于職業(yè)院校相關(guān)專業(yè)的學(xué)生而言,掌握好單片機(jī)應(yīng)用技術(shù)這門課程是非常必要的,不僅能把所學(xué)的專業(yè)基礎(chǔ)課理論知識運用到實踐中,而且對今后的就業(yè)也是非常有幫助的。鑒于單片機(jī)應(yīng)用技術(shù)的重要性和實踐性,其實訓(xùn)教學(xué)環(huán)節(jié)就更是重中之重了。
一、單片機(jī)應(yīng)用技術(shù)實踐教學(xué)的現(xiàn)狀
早期的單片機(jī)應(yīng)用技術(shù)的實踐教學(xué)通常依靠單片機(jī)實訓(xùn)箱完成。其實踐教學(xué)內(nèi)容主要包含兩個方面:課內(nèi)實訓(xùn)和課程設(shè)計。在傳統(tǒng)的實訓(xùn)教學(xué)中,教師根據(jù)實訓(xùn)指導(dǎo)書的要求在規(guī)定的時間內(nèi)指導(dǎo)學(xué)生完成相應(yīng)的實訓(xùn)項目。任課教師向?qū)W生講解實訓(xùn)目標(biāo)和實訓(xùn)任務(wù),學(xué)生根據(jù)實訓(xùn)要求搭建實訓(xùn)電路、編寫程序、調(diào)試運行并驗證實訓(xùn)結(jié)果[2]。在此過程中,由于實訓(xùn)教學(xué)活動主要依靠硬件設(shè)備完成,導(dǎo)致實訓(xùn)教學(xué)環(huán)節(jié)不可避免地存在著一些問題。首先,實訓(xùn)任務(wù)的主要硬件電路已經(jīng)在實訓(xùn)箱內(nèi)部焊接完成,學(xué)生無法針對實訓(xùn)內(nèi)容和要求靈活地進(jìn)行硬件設(shè)計。其次,實訓(xùn)箱生產(chǎn)廠家提供的硬件資料往往不完全透明,當(dāng)實訓(xùn)過程出現(xiàn)偏差時,學(xué)生經(jīng)常無法獨立查找出故障原因。再次,實訓(xùn)箱的硬件電路固定,能完成的實訓(xùn)內(nèi)容也相對有限,實訓(xùn)的靈活性不夠。最后,實訓(xùn)箱的成本高,器件易損壞,實訓(xùn)設(shè)備難以維護(hù)。
針對上述問題,近年來部分高職院校將Proteus+Keil仿真的教學(xué)方式引入單片機(jī)類課程的實踐教學(xué)中,提高了學(xué)生的積極性和主動性,培養(yǎng)了學(xué)生對單片機(jī)系統(tǒng)設(shè)計的能力,降低了實訓(xùn)設(shè)備的硬件成本。但是,由于這種教學(xué)模式主要是以軟件仿真平臺為主,無法完全真實地讓學(xué)生學(xué)習(xí)單片機(jī)的硬件知識,導(dǎo)致許多學(xué)生上完這門課程后只會軟件仿真,一旦進(jìn)行真正的單片機(jī)系統(tǒng)調(diào)試,卻往往束手無策。
二、基于MCGS組態(tài)軟件的單片機(jī)應(yīng)用技術(shù)課程創(chuàng)新教學(xué)改革
20世紀(jì)80年代開始,國外的高校逐漸應(yīng)用虛擬實訓(xùn)技術(shù)進(jìn)行實訓(xùn)教學(xué)并進(jìn)行推廣 [3]。國內(nèi)高校開展虛擬教學(xué)實訓(xùn)起步較晚,高麗萍等在組態(tài)軟件MCGS的基礎(chǔ)上研究提出了虛擬PLC系統(tǒng)的方案[4]。課題組將MCGS組態(tài)軟件應(yīng)用于單片機(jī)應(yīng)用技術(shù)課程的實訓(xùn)教學(xué)并建立相應(yīng)的系統(tǒng)監(jiān)控平臺,降低了硬件成本,減輕了實訓(xùn)室管理人員的工作量,提高了單片機(jī)應(yīng)用技術(shù)課程的教學(xué)效果。
(一)組態(tài)軟件控制技術(shù)
組態(tài)(Configuration)即“配置”“設(shè)定”“設(shè)置”。隨著集散型控制系統(tǒng)的出現(xiàn),組態(tài)軟件慢慢地被廣大的電氣自動化技術(shù)人員所認(rèn)識和接受。組態(tài)軟件控制技術(shù)是一種先進(jìn)的計算機(jī)控制技術(shù),用戶可以通過類似“搭積木”的方式來開發(fā)自己所需要的應(yīng)用程序,而不需要編寫復(fù)雜的計算機(jī)程序。
MCGS即“監(jiān)視與控制通用系統(tǒng)”,英文全稱為:Monitor and Control Generated System,是一套國產(chǎn)的用于快速構(gòu)造和生成上位機(jī)監(jiān)控系統(tǒng)的軟件工具,具有組態(tài)方式靈活、易學(xué)易用等優(yōu)點,在國內(nèi)自動化領(lǐng)域應(yīng)用廣泛[5]。將MCGS應(yīng)用在單片機(jī)應(yīng)用技術(shù)教學(xué)中,可以用最小的硬件成本直觀生動地將單片機(jī)實訓(xùn)課程的具體操作過程以電腦動畫的形式展現(xiàn)出來,大大提高了單片機(jī)實訓(xùn)課程的趣味性和靈活性。
(二)Modbus-RTU協(xié)議
Modbus協(xié)議是法國莫迪康公司開發(fā)的一種基于主/從架構(gòu)的總線協(xié)議,允許一臺主機(jī)和多臺從機(jī)之間進(jìn)行數(shù)據(jù)傳輸[6]。物理層可以通過RS-232、RS-485或光纖等多種傳輸方式進(jìn)行數(shù)據(jù)傳輸,傳輸速率可以達(dá)到 115kbps,傳輸距離最遠(yuǎn)可以達(dá)到1200m?;贛odbus協(xié)議的控制系統(tǒng)理論上可以接一臺主站和247 臺從站,但在實際應(yīng)用中,最多可以接入一臺主站和32臺從站。
目前,Modbus協(xié)議已經(jīng)發(fā)展成為一種通用的工業(yè)標(biāo)準(zhǔn)并應(yīng)用于各種PLC、控制器及智能儀表,其主要有RTU和ASCII兩種通信模式[7]。與ASCII模式相比,采用RTU模式傳輸數(shù)據(jù)的效率比較高,因此,本系統(tǒng)采用RTU模式,其傳輸特性如表1所示。
Modbus協(xié)議采用主/從架構(gòu)的方式進(jìn)行數(shù)據(jù)通信,即主機(jī)發(fā)送相應(yīng)請求命令給從機(jī),符合相應(yīng)地址碼的從機(jī)接收命令。如果信息正確,從機(jī)根據(jù)功能碼執(zhí)行相應(yīng)的指令,然后把運行結(jié)果返回給主機(jī);如果信息出錯,從機(jī)則不返回任何信息。
Modbus協(xié)議數(shù)據(jù)幀的格式基本相同,主要由地址碼、功能碼、數(shù)據(jù)區(qū)和錯誤校驗碼組成。每幀數(shù)據(jù)之間至少需要3.5字符以上的時間間隔[8]。Modbus-RTU傳輸模式的數(shù)據(jù)幀格式一般如表2所示。
三、硬件設(shè)計
根據(jù)單片機(jī)應(yīng)用技術(shù)課程實訓(xùn)的教學(xué)要求,制作了基于STC89C52RC芯片為核心的單片機(jī)最小系統(tǒng)板作為實訓(xùn)教學(xué)的主要設(shè)備,最大程度地節(jié)約了硬件成本,減少了實訓(xùn)設(shè)備維護(hù)的工作量,并取得了較好的教學(xué)效果。
單片機(jī)最小系統(tǒng)板以STC89C52RC芯片為核心,包含電源、復(fù)位電路、外部晶振以及串行接口等基本電路。系統(tǒng)采用5v電源供電;11.0592MHz的晶振與30PF的旁路電容并聯(lián)接入XTAL1、XTAL2引腳,構(gòu)成 CPU 時鐘振蕩電路;P3.0、P3.1引腳主要用來實現(xiàn)程序下載和RS-232串口通信。單片機(jī)最小系統(tǒng)板上還留有相應(yīng)插槽,便于學(xué)生自主地進(jìn)行硬件擴(kuò)展。
四、軟件設(shè)計
(一)單片機(jī)的通信程序設(shè)計
51單片機(jī)在完成初始化后,實現(xiàn)Modbus-RTU協(xié)議的報文接受、解析、校驗、封幀及發(fā)送等功能。系統(tǒng)軟件流程如圖1所示。
單片機(jī)從站支持的Modbus-RTU功能碼如表3所示。
(二)上位機(jī)的軟件設(shè)計與組態(tài)
1.實訓(xùn)項目分析
分析實訓(xùn)項目的系統(tǒng)構(gòu)成、實訓(xùn)要求和控制流程,明確監(jiān)控要求和動畫顯示方式;分析實訓(xùn)項目中所采集信號的數(shù)據(jù)類型,明確實時數(shù)據(jù)庫中相應(yīng)數(shù)據(jù)對象的類型;分析上位機(jī)程序的變量構(gòu)成,明確所創(chuàng)建的變量在上位機(jī)程序運行中的作用,分清哪些變量與外部信號相連接,哪些變量在程序內(nèi)部傳遞數(shù)據(jù)。
2.建立實時數(shù)據(jù)庫
實時數(shù)據(jù)庫是上位機(jī)系統(tǒng)的數(shù)據(jù)處理中心,擔(dān)任著上位機(jī)和單片機(jī)中相應(yīng)的存儲單元進(jìn)行實時數(shù)據(jù)交互的任務(wù)。系統(tǒng)運行時,上位機(jī)通過實時數(shù)據(jù)庫將用戶的指令快速發(fā)送給單片機(jī);下位機(jī)通過實時數(shù)據(jù)庫將單片機(jī)寄存器的狀態(tài)以動畫的顯示反映在監(jiān)控界面上。因此,實時數(shù)據(jù)庫是MCGS組態(tài)軟件最核心的部分。
實時數(shù)據(jù)庫的基本組成單元是數(shù)據(jù)對象,定義數(shù)據(jù)對象的過程就是建立實時數(shù)據(jù)庫的過程。定義數(shù)據(jù)對象的工作主要包括定義數(shù)據(jù)對象的名稱、類型、初始值和數(shù)值范圍等。本實訓(xùn)工程定義了2個數(shù)值型數(shù)據(jù)對象與外界模擬量進(jìn)行交互,8個開關(guān)型數(shù)據(jù)對象與單片機(jī)的數(shù)字量進(jìn)行交互。系統(tǒng)主要的數(shù)據(jù)對象如表4所示,實訓(xùn)教師可以根據(jù)實際需要增加。
表4 主要數(shù)據(jù)對象一覽表
[數(shù)據(jù)對象名稱 類型 salver01_AI01 數(shù) 值 型 salver01_AO01 數(shù) 值 型 salver01_DI01 開 關(guān) 型 salver01_DI02 開 關(guān) 型 salver01_DI03 開 關(guān) 型 salver01_DI04 開 關(guān) 型 salver01_DO01 開 關(guān) 型 salver01_DO02 開 關(guān) 型 salver01_DO03 開 關(guān) 型 salver01_DO04 開 關(guān) 型 ]
3.建立窗口、制作動畫顯示
MCGS以窗口為單位構(gòu)造系統(tǒng)運行的圖形界面。實訓(xùn)教師可以根據(jù)實訓(xùn)項目的需求組態(tài)配置,生成各種類型和風(fēng)格的圖形界面,并且定義出窗口的具體屬性。整個動畫制作過程主要分為兩個步驟:靜態(tài)圖形設(shè)計和動態(tài)屬性設(shè)置。靜態(tài)圖形設(shè)計類似于“畫畫”,MCGS提供了豐富的動畫構(gòu)件,能夠方便模擬單片機(jī)實訓(xùn)項目中常用的物理器件的動作和功能,實訓(xùn)教師可以通過工具箱中的基本圖形元素及動畫構(gòu)件在用戶窗口內(nèi)組態(tài)生成各種復(fù)雜的畫面;動態(tài)屬性設(shè)置則需要將圖形的動畫屬性與實時數(shù)據(jù)庫中的數(shù)據(jù)對象建立連接關(guān)系,使相關(guān)的數(shù)據(jù)對象成為動畫圖形的驅(qū)動源。
4.連接設(shè)備驅(qū)動
MCGS組態(tài)軟件支持各種常用的外部設(shè)備,基本實現(xiàn)了“設(shè)備無關(guān)”,針對各種外部設(shè)備的不同特征,設(shè)立了設(shè)備工具箱,定義了多種設(shè)備構(gòu)件,不同的構(gòu)件對應(yīng)不同的硬件設(shè)備。當(dāng)用戶對某一構(gòu)件進(jìn)行操作或改動時,均不影響其他構(gòu)件和整個系統(tǒng)的結(jié)構(gòu)。根據(jù)所使用的外部硬件設(shè)備,在工具箱中選擇相應(yīng)的設(shè)備構(gòu)件,設(shè)置相關(guān)的構(gòu)件屬性,用戶就能方便地建立組態(tài)軟件與外部硬件設(shè)備的連接關(guān)系,使上位機(jī)能夠監(jiān)控外部設(shè)備的工作狀態(tài),實現(xiàn)組態(tài)軟件對外部設(shè)備的驅(qū)動和控制。本單片機(jī)實訓(xùn)系統(tǒng)的上位機(jī)監(jiān)控程序的通信設(shè)置如圖2所示。
五、MCGS組態(tài)軟件在單片機(jī)應(yīng)用技術(shù)課程教學(xué)上的優(yōu)勢
在單片機(jī)實訓(xùn)教學(xué)中引入MCGS組態(tài)軟件存在著諸多優(yōu)勢。用戶在計算機(jī)上稍微調(diào)整一下組態(tài)界面、數(shù)據(jù)連接和單片機(jī)程序就可以實現(xiàn)實訓(xùn)內(nèi)容的改變。因此,利用一套成本不高的51系列的單片機(jī)最小系統(tǒng)板就可以完成多種實訓(xùn)項目,很大程度上提高了實訓(xùn)教學(xué)的靈活性。在單片機(jī)應(yīng)用技術(shù)的實訓(xùn)教學(xué)中應(yīng)用MCGS組態(tài)軟件,將使實踐教學(xué)變得容易實現(xiàn)。教師可以很方便地把實際生產(chǎn)過程中的操作貼近學(xué)生的實訓(xùn)項目,從而提高學(xué)生的學(xué)習(xí)積極性和教師的實訓(xùn)教學(xué)質(zhì)量。同時,學(xué)??梢栽诓辉黾訉嵱?xùn)室和實訓(xùn)設(shè)備的情況下,輕松地利用現(xiàn)有的設(shè)備實現(xiàn)多樣化、低成本的實訓(xùn)教學(xué),豐富實訓(xùn)教學(xué)內(nèi)容。除此之外,基于MCGS組態(tài)軟件的實訓(xùn)項目開發(fā)時間短,易于維護(hù),可以同時開發(fā)多個監(jiān)控實訓(xùn)項目,達(dá)到全方位教學(xué)目的。在實訓(xùn)項目中,MCGS組態(tài)軟件與單片機(jī)最小系統(tǒng)板的結(jié)合具有良好的應(yīng)用價值,不僅節(jié)約了實訓(xùn)成本,豐富了實訓(xùn)教學(xué)內(nèi)容,同時很好地避免了學(xué)生只會軟件仿真的弊端。
高職院校的電氣自動化技術(shù)專業(yè)主要是培養(yǎng)具有良好職業(yè)道德和可持續(xù)發(fā)展能力,掌握自動控制理論、電氣設(shè)備運行規(guī)律、電力系統(tǒng)基本原理等專業(yè)理論知識,具備電氣自動化產(chǎn)品裝配、調(diào)試、檢測、技術(shù)管理、維護(hù)與維修等專業(yè)技能的職業(yè)技術(shù)型人才,其專業(yè)核心課程的實踐性和操作性很強(qiáng),只有經(jīng)過多次實訓(xùn)才能真正了解和掌握這些課程。但是,部分高職院校的實訓(xùn)配套資金缺乏,實訓(xùn)設(shè)備易損壞,學(xué)生難以繼續(xù)進(jìn)行更多的實訓(xùn)練習(xí),并且這一現(xiàn)狀在短時間內(nèi)很難得以改變。 因此,這種“先天不足”的矛盾只能依靠各個學(xué)校自行解決[9]。將MCGS組態(tài)軟件運用到單片機(jī)實訓(xùn)教學(xué)是一種有效的解決手段,很好地解決了硬件設(shè)備不易維護(hù)和資金短缺的問題,提高了學(xué)生對知識的掌握,改善了單片機(jī)實訓(xùn)課程的教學(xué)效果。
六、總結(jié)
課題組將MCGS組態(tài)軟件運用到單片機(jī)課程的實訓(xùn)教學(xué)中,并介紹了MCGS組態(tài)軟件與STC89C52單片機(jī)的通信過程。本實訓(xùn)系統(tǒng)具有良好的開放性和擴(kuò)展性,教師可以根據(jù)實際需要快速方便地開發(fā)出DS18B20數(shù)字溫度計、流水燈、交通指示燈等多種單片機(jī)實訓(xùn)項目的監(jiān)控程序。在實訓(xùn)中,借助MCGS組態(tài)軟件對單片機(jī)系統(tǒng)進(jìn)行監(jiān)測與控制,加深了學(xué)生對課堂知識點的理解,提高了實訓(xùn)課程的教學(xué)效果,避免了Proteus+Keil模式下學(xué)生只會仿真的弊端,為改進(jìn)單片機(jī)應(yīng)用技術(shù)的實訓(xùn)教學(xué)開辟出了一條新道路。
[ 參 考 文 獻(xiàn) ]
[1] 楊為民.改革單片機(jī)課程教學(xué) 提升學(xué)生的創(chuàng)新能力[J].大學(xué)教育,2017(4):42-43.
[2] 李斌.Proteus仿真在高職單片機(jī)課程教學(xué)中的應(yīng)用[J].遼寧高職學(xué)報,2017(1):55-57.
[3] 岳大靈,魏列江,劉增光.液壓系統(tǒng)PLC控制可視化虛擬教學(xué)實驗系統(tǒng)的設(shè)計[J].大學(xué)教育,2016(9):137-139.
[4] 高麗萍,鄭萍.基于MCGS的PLC虛擬控制系統(tǒng)研究[J].西華大學(xué)學(xué)報(自然科學(xué)版),2006(1):94-96.
[5] 北京昆侖通態(tài)自動化軟件科技有限公司.MCGS使用手冊[M].北京:昆侖通態(tài)公司,2005.
[6] 李慧靜,劉慧文,李棟敬.基于Modbus-RTU協(xié)議的串口通信軟件實現(xiàn)[J].內(nèi)蒙古科技大學(xué)學(xué)報,2017(1):55-57.
[7] 孟祥劍,黎向陽.基于Modbus-RTU協(xié)議的人機(jī)界面和單片機(jī)串行通信[J].重慶理工大學(xué)學(xué)報,2014(9):87-91.
[8] 張彥軍,楊闖.嵌入式與MCGS的Modbus通信方法[J].甘肅科學(xué)學(xué)報,2017(1):34-37.
[9] 王洪華.組態(tài)軟件在PLC控制應(yīng)用技術(shù)課程教學(xué)中的應(yīng)用[J] .中國現(xiàn)代教育裝備,2013(13):71-72.
[責(zé)任編輯:鐘 嵐]