孫 冰,汪文彬,馬玉春
(瓊州學院 海南省嵌入式系統重點實驗室,海南 三亞 572022)
?
計算機監控系統仿真開發實驗室的創建與教學應用研究
孫 冰,汪文彬,馬玉春
(瓊州學院 海南省嵌入式系統重點實驗室,海南 三亞 572022)
提高教學質量,培養應用型人才是當前我國高等教育辦學的主要目標之一.本文以通用計算機房為載體,結合自主知識產權的模塊仿真軟件搭建可裁剪的計算機監控系統仿真開發平臺,綜合了計算機導論、匯編語言、C語言、.NET程序設計、計算機接口技術、計算機網絡、數據庫系統等專業平臺課的內容,將各種理論知識應用到實際的項目中,從不同的角度實現相關技術,強化理論與實踐的結合,在不增加課時的情況下,使得學生熟練掌握計算機監控技術,從而實現教學質量的提高.
計算機監控;RS-485;數據處理;教學應用
《國務院關于加快發展現代職業教育的決定》指出,職業教育要服務經濟社會發展和人的全面發展,推動專業設置與產業需求對接,課程內容與職業標準對接,教學過程與生產過程對接,畢業證書與職業資格證書對接,職業教育與終身學習對接.重點提高青年就業能力.要大力宣傳高素質勞動者和技術技能人才的先進事跡和重要貢獻,引導全社會確立尊重勞動、尊重知識、尊重技術、尊重創新的觀念,促進形成“崇尚一技之長、不唯學歷憑能力”的社會氛圍,提高職業教育社會影響力和吸引力.擴大優質教育資源,激發學校發展活力,促進職業教育與社會需求緊密對接.支持一批本科高等學校轉型發展為應用技術類型高等學校[1].
教育部新辦本科院校合格評估方案中要求教師隊伍中碩士、博士比例大于50%,這在目前我國每年碩士、博士畢業生大量增加的情況下不難做到.然而,比學歷更重要、也更難解決的是教師的實踐經歷和能力.現在的青年教師,無論是碩士還是博士,都普遍缺少實踐經歷,而光靠書本知識是不可能培養出高質量應用型人才的.所以新建本科院校的教師隊伍建設,不僅要追求高學歷,更要追求“雙師型”,一定要通過多種渠道,盡快為中青年教師補上實踐經歷這一課,使更多的教師真正成為“雙師型”[2].
計算機監控系統集成了計算機軟件、硬件和信息通信系統,綜合了計算機相關專業數據處理的基礎知識、C語言程序設計、.NET程序設計、數據結構、計算機接口、計算機網絡、數據庫系統、移動通信等知識,適用專業廣,而且,這些知識的獲取,其時間跨度大,因而,對計算機監控系統研發學習,可以貫穿于計算機相關專業的整個學制,融入各門具體的課程,使得學生學有所用,可以有效提高學習興趣,并使得他們在畢業時即可獲得工程項目經驗.跟教育部合格評估的要求“提高教學質量,培養應用型人才”不謀而合.而且,任課教師通過研究和實際研發計算機監控系統,可以有效成為雙師型教師.
本文以現有通用計算機房為基礎,通過自主知識產權的仿真軟件搭建可裁剪的仿真計算機監控系統平臺,并提供軟件開發包和測試工具,除計算機外無需任何設備成本即可創建仿真開發實驗室,用于行業技能培訓和綜合知識的實踐.
計算機監控系統是以監測控制計算機為主體,加上檢測裝置、執行機構與被監測控制的對象共同構成的整體.在這個系統中,計算機直接參與被監控對象的檢測、監督和控制.檢測主要是通過傳感器和相應的輸入模塊來取得被監控對象的狀態數據,監督主要是對狀態數據進行分析后給操作員提供手動操作的參考,控制則是手動或按照一定的策略自動地對被監控對象執行相應的操作[3].
工業控制總線RS-485在計算機監控系統中應用較多,因為這種總線結構聯網方便,簡單可靠,傳輸距離可達1200米,文獻[4]中的井下多級機站通風監控系統就采用了RS-485總線.隨著網絡技術的發展,采用網絡接口RJ-45的模塊逐漸增多.監控用的計算機一般稱為主控機(或上位機),各種檢測與控制模塊或嵌入式系統一般稱為受控機(或下位機).
主控機軟件一般采用可視化高級語言(如.NET)進行開發;受控機軟件沒有軟件界面,僅實現相關的邏輯功能,一般采用C語言、匯編語言和梯形圖等進行開發,通過調試后,再下載到受控機系統中.主控機可通過RS-485或者RJ-45接口與受控機通信,進行數據的查詢與命令的發送.各種控制策略、設備的狀態等的保存,都需要使用數據庫技術.有時,為了使用方便或者架設有線比較困難,還需要使用無線通信技術來傳輸數據或者進行短信報警.
因而,實現一個計算機監控系統,需要綜合使用多種相關專業知識,利用計算機監控技術作為計算機專業實踐訓練的主線,可以較好地培養學生知識的綜合應用能力,而且,學有所用,可以有效提高學生的學習興趣.
沒有信息通信系統,計算機監控系統就不能完成系統內部和系統外部的信息傳輸.所謂的信息通信,可以簡單地理解為“有特定意義”的字節數據的發送和接收.雙方通信必須遵循的規范就是所謂的通信協議,如下所示是通信協議的常用格式:
前導字符,地址碼,功能碼[,數據字節][,校驗碼][,結尾碼]
相同廠家或類型的模塊往往有相同的前導字符;地址碼一般為一個字節長度,是對一條數據總線上的設備標識,就象IP地址是對網絡計算機的標識一樣;功能碼表示這條協議是讀取對方模塊中的數據,還是發送控制命令等,如果是返回的狀態查詢協議,一般會跟若干數據字節;校驗碼用來檢查所發送或接收的數據是否正確;結尾碼是協議結束的標志.對方收到此協議后,首先對協議進行檢查:前導字符、地址碼、校驗碼與結尾碼是否正確,如果錯誤,就不予理睬;如果正確,就開始檢查功能碼,根據功能碼做出相應的處理.
按照協議的表達來分,有字符型協議與字節型協議.字符型協議便于接收顯示,但是,需要轉換為相應的字節,才能提取其中的數據.例如,下一節介紹的DCON協議就是一種字符協議[5],讀取模塊的命令為:
$ 01 6 BB (CR)
其中“$”為前導字符,“01”為地址碼,“6”為讀取模塊數據的功能碼,“BB”為累加和校驗碼,是“$016”四個字符的ASCII碼累加取低字節得到0xBB,然后再轉換為對應的字符串“BB”,CR為回車符,對應字節0x0D.主控機在發送命令的時候,需要將校驗碼轉換為字符串,同樣,主控機在收到受控機響應數據的時候,也需要將字符串形式的數據轉換為對應的字節,才能進行處理,如位測試,用于判斷開關是否閉合或斷開.
無論是主控機還是受控機,校驗碼的計算,數據的位操作處理等環節,都需要進行計算,主控機資源比較豐富,可以采用.NET類的開發工具或者Java技術.但是,受控機系統需要采用C語言或匯編語言來實現,相對繁瑣一些.
每所高校都有通用計算機房,為了便于安排全國計算機等級考試,計算機都要通過交換機連接在一起,這些計算機可以用于計算機基礎和計算機相關專業的軟件開發的教學實踐.每臺計算機一般都有網口和USB接口,插上一個“USB/RS-485”轉接口(40元以內即可),即可構建工業控制RS-485總線網絡.
I-7065D模塊是跨國企業集團臺灣泓格公司的產品,采用RS-485接口,DCON通信協議,配有5路繼電器輸出(可外接指示燈作為輸出控制對象),4路開關量輸入(采用光電傳感器采集輸入數據).這里采用I-7065D模塊仿真軟件[6]來進行教學工作.如圖1所示即是仿真軟件的原理圖,中間粗線框為模塊的平面實物圖,【輸入/輸出】指示燈根據狀態變化進行動態顯示,用紅色圓形圖片表示燈亮,用原始灰色圓形背景表示燈滅;輸出開關也進行動態顯示,如果輸出開關閉合,則在輸出開關的兩個接線端子之間顯示一條紅線,否則隱藏紅線.

圖1 1-7065D仿真模塊原理圖
圖1下半部分的光電傳感器、開關電源、初始化(連線)、RS-485接口都是實物圖片,通過點擊復選框連接到I-7065D.I-7065D加電后,鼠標在光電傳感器的信號采集部分移動,鼠標指針變為手指的形狀,表示有輸入信號;離開敏感區域,則表示沒有輸入信號,輸入信號與輸入指示燈的變化相對應.
I-7065D有4個光電傳感器,在實際操作中,可以隨機遮擋其中的一個或者幾個,為了模仿該動作,設置3種“輸入切換”模式,在“手動”模式下,只有當鼠標移動到光電傳感器的敏感部位才產生信號變化;“自動”模式下,用照片隨機遮擋0-4個傳感器;“鎖定”模式下,鼠標移動到光電傳感器的敏感區域,即在該區域顯示一張照片(遮擋光電傳感器).由于引入了“輸入切換”功能,I-7065D模塊仿真軟件用于教學更加方便.
在仿真模塊軟件的主界面上,還顯示查詢和控制I-7065D模塊的DCON協議,這樣就不需要查詢產品說明書.由于通信是真實的,I-7065D仿真模塊軟件的通信協議和內部控制邏輯與實物模塊的都一致,因而,監控仿真模塊的軟件一樣可以監控實物模塊,不需要修改任何代碼.另外,本實驗平臺還設計了I-7013D仿真模塊,可以通過溫度傳感器采集溫度數據,與I-7065D屬于同一系列,也使用DCON通信協議.
利用I-7065D和I-7013D模塊仿真軟件,即可搭建可裁剪的計算機監控系統仿真開發平臺,每臺計算機通過“USB/RS-485”轉接口充當一個I-7065D或I-7013D模塊,主控機(另一臺計算機充當)可以監控一個仿真模塊,也可監控若干個仿真模塊或者兩種仿真模塊的組合.如圖2所示,每個粗線框都表示一臺計算機,主控機監控3個仿真模塊.對于信號的變化,主控機可以通過E-mail轉短信的方式進行報警,也可通過外接短信貓直接發送短信進行報警.由于主控機與仿真模塊之間的通信是通過RS-485網絡進行,因而,為了遠程查看模塊狀態,可以用一臺計算機充當RS-485/TCP轉換接口,這樣,即可通過遠程機了解模塊的狀態,報警功能也可在遠程機上實現.

圖2 系統架構實例
在監控系統的研發中,需要進行各種測試,本實驗平臺還準備了基于RS-485和TCP客戶機的“通用多功能計算機監控系統測試軟件”、各種輔助工具和演示軟件,以及關于Visual Basic 2010版本的主控機軟件包及基于C語言的受控機軟件包,可以用來快速研發和測試計算機監控系統.
計算機監控系統綜合了計算機專業的多門主干課程,可以將計算機監控技術有效融入各個教學環節中,介紹本門課程中的知識點在計算機監控系統中所起的作用,通過實際的計算機監控系統激發學生的學習興趣,讓學生看得到自己的進步.在新生入學教育中,可以向學生介紹創新平臺的基本功能與應用,讓學生操作創新平臺,產生感性認識.
4.1 計算機導論中的應用
不同的數據采集和控制模塊經常有不同的編碼方式,為了跟這些模塊打交道,就必須采用其認可的編碼方式,因而,掌握字節、16進制字符串、字符的ASCII碼、漢字的Unicode編碼(可用于中文短信編碼)的基本概念及其相互轉換,就為數據處理打下良好的基礎.
“與”、“或”、“非”、“異或”是編程實踐中的基本條件判斷和計算思維的重要基礎.在計算機監控系統中,通常用二進制數1和0來表示開關的狀態,因而,1個字節可以表示8位開關的狀態,通過“與”運算可以用來測試開關的狀態,通過“或”運算置位,通過“非”運算取反,通過“異或”運算測試開關是否發生變化.
計算機導論是計算機相關專業的第一門專業基礎課程,將編碼與位運算知識點跟計算機監控系統結合起來,講授變得具體而有針對性,在考試中適當加大字節編碼和兩個字節的位運算所占分數,將可以有效引導學生的學習,而并不占用任何額外的教學時間.
4.2 C語言和匯編語言的應用
C語言是計算機專業的一門基礎課,也是理工類非計算機專業學習計算機語言、建立和培養編程思想與程序語言能力和素質的基礎課程.C語言與其它高級語言相比有其顯著的優點,它既具有高級語言的特點,又具有低級語言的許多特點,廣泛應用于嵌入式系統、單片機系統及物聯網系統集成中.
在計算機導論課程中學習了字節編碼與兩個字節的位運算的基本概念,在C語言中可以適當擴展,引入通信協議的概念.可以利用C語言設計異或校驗碼的生成程序,即對給定的一批字節,計算其異或校驗碼;對于含異或校驗碼的一批字節,編寫子程序檢查其是否正確.同理,可以編寫其它校驗碼處理程序.還可以設計對一個字節進行位測試、置位與復位的子程序以及編碼實現的子程序,在此基礎之上,進一步講解在一個C語言項目中集成子程序的方法.學生如果掌握了這些方法,就基本掌握了用C語言開發受控機軟件的主要技術.
匯編語言是符號化了的面向機器的語言,用C語言實現的操作,都可以用匯編語言來實現.相同的功能,可以比較兩種語言所編寫的源代碼,所編譯完成的應用程序的大小,由此可以觀察程序運行的效率.通過C語言和匯編語言的強化,數據處理的技術必將得到良好的提升,可為后續的計算機組成原理課程的學習奠定匯編語言基礎.
4.3 計算機接口技術的應用
RS-485接口和RS-232接口的編程相似,不但廣泛應用于計算機監控系統中,而且,物聯網系統中也廣泛采用.在計算機接口中講解“串行通信技術”時,可以分別通過C語言和匯編語言設置串口參數,對串口進行初始化,然后,發送字節數據,讀取I-7065D的狀態數據,控制輸出開關的變化.這里就用到了字節編碼、位運算、通信協議的處理等知識點.在數據傳輸過程中,會發現字節流不連續,這就涉及到數據的可靠接收問題.可以借助通用多功能計算機監控系統測試軟件[7]觀察數據的收發,不斷改進通信程序的可靠性.4.4 計算機網絡的應用
在C語言、匯編語言,以及計算機接口技術中都涉及到RS-485通信的字節數據流,這就是串行通信協議,通過此協議,可以自然過渡到TCP/IP協議.串行通信協議中主要采用異或、累加和與循環冗余校驗碼,而TCP/IP協議采用累加求補校驗碼,前導課程所學的串行通信協議與校驗碼的處理,對計算機網絡課程是一個很好的鋪墊.
圖2中的“RS-485/TCP”協議轉換軟件,在網口端,該計算機既可以服務器方式工作,等候遠程客戶機的連接;也可以客戶機的方式工作,主動連接到遠程服務器,從而實現串口數據到網口數據的透明傳輸.文獻[3]中設計了TCP客戶機和服務器類,可以用于快速開發客戶機與服務器軟件.
4.5 數據庫與.NET的應用
數據庫主要用于存儲控制策略、通信協議及設備的狀態數據、報警記錄等.主控程序可以使用.NET框架中的Visual Basic快速開發版來實現,這種開發工具可以方便地調用數據庫,實現各種編碼與位運算以及完善地解決串行通信方案和網絡通信方案.
計算機監控系統仿真開發實驗室以現有通用計算機房為載體,結合自主研發的I-7065D開關量輸入與輸出模塊仿真軟件和I-7013D溫度采集模塊仿真軟件,通過“USB/RS-485”轉接口和現有TCP網絡設施,即可搭建可裁剪的基于工業控制總線RS-485網絡和TCP網絡的混合結構的計算機監控系統,將多門計算機專業的主干課程用于工程實踐.實驗條件無需硬件設備,因而,學生可以在宿舍自主學習計算機監控技術.為了更好地提升教學效果,高校可以設置小批量的實物實驗室,以加深學生的感性認識,為更好地宣傳和利用仿真模塊做好鋪墊.
[1]國務院.國務院關于加快發展現代職業教育的決定(國發[2014]19號) [EB/OL]. (2014-06)[2014-11-10].http://www.moe.edu.cn/publicfiles/business/htmlfiles/moe/moe_1778/201406/170691.html.
[2]教育部高等教育司.提高質量 內涵發展——全面提高高等教育質量工作會議文件匯編(2012年)[M].北京:高等教育出版社,2012.
[3]馬玉春.計算機監控系統的仿真開發[M].北京:國防工業出版社,2015.
[4]賈安民.井下多級機站通風監控與節能技術研究[J].金屬礦山,2012(6):113-119.
[5]孫冰,汪文彬,馬玉春.一種DCON協議通信的快速處理方法[J].瓊州學院學報,2014,21(5):26-29.
[6]馬玉春.I-7065D模塊仿真軟件:中國,2014SR069070[P].2014-05-29.
[7]馬玉春.通用多功能計算機監控系統測試軟件:中國,2011SR025314[P].2011-5-3.
Teaching Application of Simulated Laboratory on Computer Monitoring System
SUN Bing, WANG Wen-bin, MA Yu-chun
(Hainan Key Laboratory of Embedded Systems, Qiongzhou University, Sanya Hainan, 572022, China)
To improve the quality of teaching and train application-oriented talents is one of the main goals of Chinese higher education at present. In this paper, a simulated platform of computer monitoring system is constructed based on general computer laboratory, which theory can be integrated into many subjects such as introduction to computers, assembly language, C language, .NET programming, computer interface technology, computer network, database system etc. without adding any burden to students. Finally, engineering technology of computer monitoring is mastered and quality of teaching is improved by practice the platform.
computer monitoring; RS-485; data processing; teaching application
2014-11-10
海南省自然科學基金項目(613170);三亞市院地科技合作項目(2013YD29)
孫冰(1974-),女,湖南隆回人,瓊州學院電子信息工程學院助理實驗師,研究方向為Web技術與計算機監控系統應用.
馬玉春(1969-),男,江蘇南京人,瓊州學院電子信息工程學院教授,博士,研究方向為計算機監控技術.
TP311.5
A
1008-6722(2015) 02-0118-05
10.13307/j.issn.1008-6722.2015.02.25