(北京林業(yè)大學(xué)工學(xué)院,北京 100083)
“監(jiān)控系統(tǒng)程序設(shè)計(jì)”是北京林業(yè)大學(xué)工學(xué)院自動(dòng)化專業(yè)的專業(yè)必修課程,共計(jì)48學(xué)時(shí),另有24學(xué)時(shí)的課程實(shí)驗(yàn),是學(xué)校工科自動(dòng)化學(xué)科門類重要的基礎(chǔ)編程課程,同時(shí)也是教育部工程教育專業(yè)認(rèn)證培訓(xùn)環(huán)節(jié)中的一門重要課程。該課程以監(jiān)控系統(tǒng)程序設(shè)計(jì)為綱,著重界面操作、演示與實(shí)驗(yàn)相結(jié)合,全面、系統(tǒng)地闡述有關(guān)Visual C++語言學(xué)習(xí)、上位機(jī)軟件編寫與外接硬件設(shè)備的連接等方面的基本知識(shí),要求學(xué)生掌握串行通信接口編程、RJ-45接口及網(wǎng)絡(luò)通信、界面設(shè)計(jì)、圖形設(shè)計(jì)、Windows事務(wù)提醒程序、串口與網(wǎng)口的編程操作等知識(shí)。筆者針對近幾年該課程教學(xué)存在的問題,對人機(jī)界面交互、改善美工畫面、提高程序運(yùn)行效率等方面進(jìn)行了總結(jié)與探討。
“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程教學(xué)內(nèi)容具有學(xué)科的開放性、交叉性等特點(diǎn),很難確認(rèn)其專業(yè)歸屬。從監(jiān)控系統(tǒng)的安裝設(shè)計(jì)、運(yùn)行目標(biāo)上來說,應(yīng)該歸于物業(yè)管理專業(yè);從設(shè)備接線安裝、日常維護(hù)、檢修來說,應(yīng)該歸于電氣類專業(yè);從系統(tǒng)的信息上傳、網(wǎng)絡(luò)維護(hù)來說,應(yīng)該歸于網(wǎng)絡(luò)工程專業(yè)。甚至在部分高校,還出現(xiàn)幾個(gè)專業(yè)同時(shí)開設(shè)該課程的現(xiàn)象。
“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程教學(xué)大綱要求學(xué)生通過該課程的學(xué)習(xí),具有以下能力:熟悉工廠自動(dòng)化設(shè)備監(jiān)測系統(tǒng)的組成、功能、工作原理,以及設(shè)計(jì)選型的原則;掌握各類接口協(xié)議原理、參數(shù)及使用方法;掌握上位機(jī)程序編寫、調(diào)試、測試和使用的方法;了解工廠環(huán)境監(jiān)控系統(tǒng)的日常管理和維護(hù)制度。
由于現(xiàn)有監(jiān)控系統(tǒng)程序設(shè)計(jì)的功能、硬件及接口的規(guī)范性、兼容性較差,并且具有行業(yè)特點(diǎn),所以很難把握教材編寫的統(tǒng)一方向。目前,在國內(nèi)圖書市場上,還沒有統(tǒng)一的適用于所有行業(yè)的監(jiān)控系統(tǒng)程序設(shè)計(jì)方面的教材,現(xiàn)有教材更偏向于行業(yè)特色,比如煤礦監(jiān)測、安防監(jiān)測、鋼鐵行業(yè)監(jiān)測,等等。這些教材的內(nèi)容也基本以所在行業(yè)的大型設(shè)備產(chǎn)品為監(jiān)控主體,有針對性地進(jìn)行教學(xué)展開,缺乏監(jiān)控系統(tǒng)的設(shè)計(jì)選型、信息傳輸與處理、日常管理、維護(hù)制度等內(nèi)容,而且這些書籍與“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程教學(xué)大綱的要求不匹配,與北京林業(yè)大學(xué)自動(dòng)化專業(yè)培養(yǎng)目標(biāo)相差甚遠(yuǎn)。
“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程理論教學(xué)與實(shí)驗(yàn)教學(xué)的界限不明顯,現(xiàn)有實(shí)驗(yàn)完全輔助于理論教學(xué),缺乏將理論知識(shí)應(yīng)用于工程領(lǐng)域的延伸和內(nèi)涵。另外,“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程是編程類課程,課堂教學(xué)抽象、不生動(dòng)形象、學(xué)生不易接受。Visual C++是一種有代表性的、較流行的可視化語言,被廣泛應(yīng)用于“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程中。在該課程學(xué)習(xí)過程中教師要求學(xué)生掌握可視化面向?qū)ο缶幊痰幕靖拍睿煜isual C++開發(fā)工具的基本使用方法,學(xué)會(huì)圖形用戶界面簡單應(yīng)用系統(tǒng)的開發(fā)技術(shù)。這些內(nèi)容的課堂教學(xué)較為枯燥,需要在課堂和課堂外調(diào)動(dòng)起學(xué)生學(xué)習(xí)的積極性。
“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程實(shí)驗(yàn)室的建設(shè)剛剛起步,較突出的問題如下:實(shí)驗(yàn)室安全監(jiān)控系統(tǒng)不具備代表性、傳感器種類少、調(diào)試設(shè)備缺乏、網(wǎng)絡(luò)系統(tǒng)未形成;儀器的布置、安裝等工作不符合相關(guān)標(biāo)準(zhǔn),仿真效果差;實(shí)訓(xùn)項(xiàng)目少,實(shí)驗(yàn)效果不理想;實(shí)驗(yàn)室工廠安全監(jiān)控系統(tǒng)與教材內(nèi)容不符;日常維護(hù)管理工作不到位,系統(tǒng)調(diào)試工作不正常、升級(jí)換代更新較慢。另外,在實(shí)驗(yàn)手段上,缺乏培養(yǎng)學(xué)生自主創(chuàng)新、提出問題、分析問題、解決科學(xué)問題的相關(guān)實(shí)驗(yàn)設(shè)計(jì)。
由于“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程是在教育部工程教育認(rèn)證培訓(xùn)背景下開設(shè)的一門新課程,因此根據(jù)以往相關(guān)類似課程的實(shí)踐教學(xué)經(jīng)驗(yàn),筆者對該門課程的實(shí)驗(yàn)教學(xué)題目、內(nèi)容、方法等進(jìn)行了改革和探討,旨在讓學(xué)生更深入理解并提高實(shí)際動(dòng)手能力,培養(yǎng)其創(chuàng)新能力與學(xué)科交叉能力。在“監(jiān)控系統(tǒng)程序設(shè)計(jì)”理論課學(xué)習(xí)上,使自動(dòng)化專業(yè)學(xué)生從課本知識(shí)的角度,掌握現(xiàn)行工業(yè)工廠中監(jiān)控系統(tǒng)狀態(tài)、大型車床監(jiān)測、大型儀器控制面板的一般處理方法和科學(xué)原理,為學(xué)生今后在工業(yè)工廠、林業(yè)監(jiān)測、安防監(jiān)測等相關(guān)領(lǐng)域應(yīng)用打下良好的基礎(chǔ)[1]。在“監(jiān)控系統(tǒng)程序設(shè)計(jì)”實(shí)驗(yàn)課上,以Visual C++為工具,利用“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程在圖形化界面、接口編程、協(xié)議過渡等方面的優(yōu)勢,設(shè)計(jì)符合自動(dòng)化專業(yè)特色的若干個(gè)實(shí)驗(yàn)。因此,筆者認(rèn)為“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程教學(xué)改革可為林業(yè)自動(dòng)化專業(yè)提供監(jiān)控系統(tǒng)程序設(shè)計(jì)方面的人才,為學(xué)生提供切實(shí)可行的上機(jī)操作經(jīng)驗(yàn),從而推動(dòng)Visual C++工具在工科類院校中的普及和應(yīng)用[2-3]。
根據(jù)“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程的特點(diǎn),筆者將課程內(nèi)容分類整合為監(jiān)控系統(tǒng)概述、編程語言基礎(chǔ)、上機(jī)操作和實(shí)戰(zhàn)項(xiàng)目開發(fā)等4部分內(nèi)容。這4部分內(nèi)容基本覆蓋了計(jì)算機(jī)監(jiān)控系統(tǒng)開發(fā)所需掌握的全部知識(shí),這種由淺入深,由基礎(chǔ)到實(shí)踐,再上升到項(xiàng)目實(shí)戰(zhàn)的內(nèi)容調(diào)整,有助于學(xué)生快速掌握編程語言技術(shù)和教學(xué)內(nèi)容。
第一部分,監(jiān)控系統(tǒng)概述。在這部分,筆者講述了監(jiān)控系統(tǒng)程序設(shè)計(jì)的基礎(chǔ)知識(shí),并將真實(shí)案例搬入課堂,以林業(yè)生態(tài)信息監(jiān)測案例作為引入點(diǎn),從傳感器、數(shù)據(jù)采集器、接口、通訊、協(xié)議、上位機(jī)等一整套監(jiān)控系統(tǒng)的完整數(shù)據(jù)鏈路開始,進(jìn)行案例教學(xué),講述實(shí)際工程中遇到的問題以及解決的辦法。
第二部分,編程語言基礎(chǔ)。由于自動(dòng)化專業(yè)學(xué)生已經(jīng)在 “監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程開設(shè)之前學(xué)過Visual C++,所以該課程對編程語言直接進(jìn)行了實(shí)戰(zhàn)化教學(xué)。在“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程教學(xué)過程中,筆者讓學(xué)生在實(shí)驗(yàn)課堂上運(yùn)用Visual C++語言開發(fā)一套監(jiān)控軟件,將目標(biāo)對象進(jìn)行圖像化界面顯示。
第三部分,上機(jī)操作。在實(shí)驗(yàn)室,筆者向?qū)W生講授串口通信與網(wǎng)絡(luò)通信的基本協(xié)議、C++編程基礎(chǔ)、軟件界面編寫、控件、接口協(xié)議、模/數(shù)、數(shù)/模轉(zhuǎn)換等內(nèi)容,并手把手教學(xué)生開發(fā)幾個(gè)操作界面軟件,實(shí)現(xiàn)點(diǎn)對點(diǎn)的串口通信,并繪制圖形程序等。
第四部分,實(shí)戰(zhàn)項(xiàng)目開發(fā)。在實(shí)戰(zhàn)項(xiàng)目開發(fā)過程中,筆者向?qū)W生布置一個(gè)具體的項(xiàng)目案例,讓學(xué)生從需求到交付整個(gè)項(xiàng)目周期分組獨(dú)立完成,并交付項(xiàng)目源代碼和相關(guān)支持文檔。另外,考慮到一些計(jì)算機(jī)監(jiān)控技術(shù)的新發(fā)展,又有很多新概念(智能家居、智能交通等)涌現(xiàn)出來,因此在該課程教學(xué)的過程中可以適當(dāng)穿插介紹一些前沿技術(shù)、最新監(jiān)控手段以及先進(jìn)硬件設(shè)備等知識(shí)。
“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程知識(shí)更新快、上機(jī)操作實(shí)踐性強(qiáng),教師在教學(xué)過程中需要轉(zhuǎn)換學(xué)生邏輯思維方式[4]。因此,為保證教學(xué)質(zhì)量,筆者對傳統(tǒng)的教學(xué)方法進(jìn)行了改革,引入了啟發(fā)式教學(xué)和專題討論教學(xué)法、項(xiàng)目式教學(xué)法,使學(xué)生能夠迅速掌握監(jiān)控系統(tǒng)程序軟件編程的方法,提高了該課程課堂教學(xué)效率,培養(yǎng)了學(xué)生的創(chuàng)造力[5],為自動(dòng)化專業(yè)申請教育部工程教育認(rèn)證奠定了良好的課程基礎(chǔ)。
1.啟發(fā)式教學(xué)和專題討論教學(xué)法
啟發(fā)式教學(xué)和專題討論教學(xué)法是目前教學(xué)改革中普遍關(guān)注的方法。在“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課堂上,由指導(dǎo)教師將全班學(xué)生分成若干個(gè)小組,并對某個(gè)技術(shù)問題展開專題討論。指導(dǎo)教師在拋磚引玉的同時(shí),要注意所選論題是否合適,能否引起學(xué)生的注意和興趣,這是啟發(fā)式教學(xué)和專題討論教學(xué)法的關(guān)鍵。另外,所選題目要源于教材,并且具有適當(dāng)?shù)碾y度,要引起學(xué)生的思考。因此,針對“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程,筆者選擇了以下幾個(gè)專題進(jìn)行討論:①請舉出你所知道的現(xiàn)有的監(jiān)控系統(tǒng)案例以及所用到的最新技術(shù);②對監(jiān)控軟件有什么認(rèn)識(shí),對現(xiàn)在工廠中的大型儀器設(shè)備、監(jiān)控面板、控制方法、生產(chǎn)實(shí)際等方面的應(yīng)用有什么了解,上位機(jī)軟件都包含哪些功能以及這些功能該如何實(shí)現(xiàn);③語言的串口通信控件有哪些重要參數(shù)和事件;④如何示范、演示接口協(xié)議、儀器儀表等編程操作。
2.項(xiàng)目式教學(xué)法
“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程的教學(xué)更偏重于實(shí)際應(yīng)用,因此筆者結(jié)合大學(xué)生創(chuàng)新大賽、物聯(lián)網(wǎng)大賽等幾個(gè)項(xiàng)目,讓學(xué)生分組,以小組的方式參與到實(shí)際項(xiàng)目中去,并以實(shí)際項(xiàng)目的驗(yàn)收標(biāo)準(zhǔn)對學(xué)生進(jìn)行項(xiàng)目驗(yàn)收,以此項(xiàng)目實(shí)戰(zhàn)帶動(dòng)教學(xué)工作。這樣不僅使教學(xué)和工廠生產(chǎn)、大學(xué)生創(chuàng)新項(xiàng)目等有機(jī)聯(lián)系起來,而且也使學(xué)生從中獲益,使學(xué)生的工程背景更加穩(wěn)固、實(shí)踐能力更強(qiáng)。另外,教師可根據(jù)學(xué)生的興趣愛好,讓學(xué)生做不同的項(xiàng)目,有系統(tǒng)類的、有數(shù)據(jù)庫類的、有PLC控制類的,等等。同時(shí),教師可根據(jù)學(xué)生各自的興趣和項(xiàng)目需求對學(xué)生進(jìn)行分組,學(xué)生以小組為單位參與項(xiàng)目的詳細(xì)設(shè)計(jì)、軟件開發(fā)、系統(tǒng)調(diào)式等各個(gè)教學(xué)環(huán)節(jié)。項(xiàng)目式教學(xué)法的實(shí)施步驟和方法如下:①讓學(xué)生收集用戶信息,整理需求,最終形成文檔形式的說明材料;②形成概要設(shè)計(jì)內(nèi)容,并對需求進(jìn)行分析與理解,形成大概的技術(shù)組成框架圖和程序流程;③在概要設(shè)計(jì)的基礎(chǔ)上,對項(xiàng)目每一個(gè)分支進(jìn)行細(xì)化、設(shè)計(jì),并確定技術(shù)路線、組織架構(gòu)、編碼規(guī)范、測試用例等;④按照上述步驟實(shí)現(xiàn)項(xiàng)目目標(biāo),進(jìn)行編碼、調(diào)試以及后期安裝;⑤對出現(xiàn)的問題進(jìn)行測試,并派項(xiàng)目組成員進(jìn)行維護(hù);⑥總結(jié)經(jīng)驗(yàn),為下一個(gè)項(xiàng)目的開展做準(zhǔn)備。
作為工科自動(dòng)化專業(yè),學(xué)生動(dòng)手操作和實(shí)戰(zhàn)課程都是必不可少的內(nèi)容,尤其是整個(gè)工業(yè)環(huán)境下的監(jiān)控平臺(tái)搭建,更是極為重要的一個(gè)工程環(huán)節(jié)。因此,“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程更看重學(xué)生在實(shí)際操作過程中學(xué)習(xí)和思考的“過程”,只有進(jìn)入學(xué)生思考的過程中,把每一個(gè)碰到的問題逐一解決,才能真正提高學(xué)生解決問題的水平,同時(shí)也對學(xué)生的邏輯思考能力是一種提升和鍛煉。讓學(xué)生充分自主地思考問題、延長和加大項(xiàng)目思考的“過程”、讓學(xué)生一步一步自己獨(dú)立編寫源代碼,是符合專業(yè)工程教育認(rèn)證目標(biāo)和方向的,這提高了學(xué)生的動(dòng)手能力,開發(fā)了學(xué)生創(chuàng)新的潛質(zhì)。因此,在考核方式上,筆者更重視對學(xué)生進(jìn)行平時(shí)“過程”考核。比如,在每次的實(shí)驗(yàn)、項(xiàng)目實(shí)戰(zhàn)中,都針對每組學(xué)生在實(shí)驗(yàn)、項(xiàng)目實(shí)戰(zhàn)中的貢獻(xiàn)程度打分,對于完成實(shí)驗(yàn)的核心學(xué)生以及在程序編寫過程中思考代碼、硬件電路搭建承擔(dān)主要工作的學(xué)生給予較高的成績。通過此方式,鼓勵(lì)學(xué)生自行思考、獨(dú)立創(chuàng)作、積極完成教師交待的工程項(xiàng)目。
“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程通過上述一系列的改革,成效顯著。①提高了自動(dòng)化專業(yè)學(xué)生的動(dòng)手能力。對具有Visual C++編程基礎(chǔ)的自動(dòng)化專業(yè)大三學(xué)生,最能增加專業(yè)知識(shí)能力的就是親身體會(huì)編寫上位機(jī)程序、工業(yè)監(jiān)控程序等的實(shí)際操作過程。②培養(yǎng)了學(xué)生編程思考能力。程序編寫需要縝密的思維邏輯,而該門課程涉及的實(shí)驗(yàn)、課程設(shè)計(jì)等環(huán)節(jié)都是具有針對性的算法程序,需要學(xué)生仔細(xì)思考、畫流程圖、編寫代碼等一步步去實(shí)現(xiàn),這一過程既培養(yǎng)了學(xué)生獨(dú)立思考的能力,又使學(xué)生適應(yīng)了今后的技術(shù)工作。
通過學(xué)生的反饋來看,他們認(rèn)為,改革后的“監(jiān)控系統(tǒng)程序設(shè)計(jì)”課程課堂教學(xué)不枯燥,教師能用實(shí)際生產(chǎn)當(dāng)中的案例進(jìn)行講解;實(shí)驗(yàn)環(huán)節(jié)題目很有針對性、內(nèi)容充實(shí);課程設(shè)計(jì)環(huán)節(jié)工作量合理,包括上位機(jī)、下位機(jī),鍛煉了學(xué)生編寫程序、設(shè)計(jì)方案、系統(tǒng)調(diào)試等方面的能力。
資助項(xiàng)目:2017年北京林業(yè)大學(xué)教育教學(xué)改革研究項(xiàng)目——“監(jiān)控系統(tǒng)程序設(shè)計(jì)”多元化教學(xué)研究與實(shí)踐,項(xiàng)目編號(hào)BJFU2017JY028。
[1] 李金龍.關(guān)于“煤礦安全監(jiān)控系統(tǒng)”課程的教學(xué)思考[J].山西煤炭,2008,28(6):54-55.
[2] 張俊梅,郭文會(huì),王東林,等.“微機(jī)原理及接口技術(shù)”實(shí)驗(yàn)教學(xué)改革與探索[J].中國林業(yè)教育,2009,27(增刊1):73-75.
[3] 張俊梅,燕飛,王東林,等.自動(dòng)化專業(yè)微機(jī)類課程的教學(xué)改革探索[J].中國現(xiàn)代教育裝備,2011(23):86-87.
[4] 闞江明,張超一,林劍輝,等.物聯(lián)網(wǎng)專業(yè)“信號(hào)與系統(tǒng)”課程教學(xué)改革與探索[J].中國現(xiàn)代教育裝備,2017(4):25-27.
[5] 林劍輝.語音實(shí)例教學(xué)方法在“數(shù)字信號(hào)處理”課程教學(xué)中的運(yùn)用[J].中國林業(yè)教育,2015,33(6):52-55.