生產(chǎn)用環(huán)境參數(shù)自動(dòng)監(jiān)測系統(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:分析了一個(gè)基于C8051單片機(jī)的生產(chǎn)用環(huán)境參數(shù)自動(dòng)監(jiān)測系統(tǒng)軟件的設(shè)計(jì)原理和實(shí)現(xiàn)過程,同時(shí)給出了系統(tǒng)的結(jié)構(gòu)、工作原理以及上、中、下位機(jī)軟件的詳細(xì)設(shè)計(jì)方法。
關(guān)鍵詞:環(huán)境參數(shù);自動(dòng)檢測;C8051;軟件設(shè)計(jì)
0 引言
在實(shí)際生產(chǎn)中各個(gè)工藝的溫濕度都有相應(yīng)的標(biāo)準(zhǔn),要對生產(chǎn)過程的環(huán)境溫濕度進(jìn)行嚴(yán)格控制,必須首先要精確測試。作者參加的一個(gè)實(shí)際項(xiàng)目主要是根據(jù)生產(chǎn)的實(shí)際情況和要求,研制生產(chǎn)用環(huán)境參數(shù)自動(dòng)監(jiān)測系統(tǒng)。該系統(tǒng)投入運(yùn)行后,極大地提高了產(chǎn)房溫濕度測試精度和自動(dòng)化程度,大大減輕了工人的勞動(dòng)強(qiáng)度,為提高產(chǎn)品質(zhì)量提供了保證。
1 系統(tǒng)概述
1.1 系統(tǒng)的技術(shù)指標(biāo)及功能
本文介紹的生產(chǎn)用環(huán)境參數(shù)自動(dòng)監(jiān)測系統(tǒng)的主要技術(shù)指標(biāo)及功能如下:
(1)溫濕度測試點(diǎn)數(shù):4個(gè)車間,每個(gè)車間6~10點(diǎn);
(2)測試范圍及精度:溫度:0~80℃,精度:+0 5℃;濕度:0%~100%,精度:+5%RH;
(3)顯示方式:各車間內(nèi)和主機(jī)房內(nèi)分別循環(huán)顯示;
(4)通訊距離:車間和主機(jī)房之間的通訊距離不超過700 m;
(5)數(shù)據(jù)記錄:每過20分鐘主機(jī)房內(nèi)計(jì)算機(jī)記錄一次,一晝夜存盤一次;
(6)測量方式:各車間參數(shù)巡回監(jiān)測,主機(jī)每過20分鐘向各車間采集數(shù)據(jù)一次;
(7)報(bào)警處理:對昕監(jiān)測參數(shù)進(jìn)行超限判斷,如超限,給出聲關(guān)報(bào)警;
(8)打印功能:可隨時(shí)打印,也可整日打印。
1.2 系統(tǒng)結(jié)構(gòu)與工作原理
系統(tǒng)采用分散式三級系統(tǒng)方案,即下位機(jī)、中位機(jī)以及上位機(jī)。下位機(jī)主要是每個(gè)車間內(nèi)的數(shù)據(jù)采集單元,用于本車間內(nèi)參數(shù)采集及顯示,同時(shí)還將測量結(jié)果傳輸?shù)街鳈C(jī)房;中位機(jī)則土要負(fù)責(zé)從各下位機(jī)獲取數(shù)據(jù),進(jìn)行綜合顯示,數(shù)據(jù)超限判斷,報(bào)警,最近24小時(shí)數(shù)據(jù)保存等;上位機(jī)由普通x86微機(jī)承擔(dān),主要用于查詢數(shù)據(jù)或?qū)y量數(shù)據(jù)定時(shí)存盤以及打印等。
整個(gè)系統(tǒng)由傳感器、下位機(jī)、中位機(jī)和上位機(jī)組成,系統(tǒng)結(jié)構(gòu)框圖如圖1所示,整個(gè)系統(tǒng)的工作原理框圖如圖2所示。由圖可見,各車間的溫濕度參數(shù)經(jīng)各自的傳感器變換成電流傳送給各自的下位機(jī),每臺(tái)下位機(jī)對本車間內(nèi)的溫濕度參數(shù)進(jìn)行循環(huán)采集、處理、顯示,當(dāng)中位機(jī)尋址到該下位機(jī)時(shí),該下位機(jī)通過電流環(huán)串行通訊方式傳輸給中位機(jī)。中位機(jī)與下位機(jī)是主從關(guān)系,中位機(jī)采用主動(dòng)尋址方式收集各個(gè)下位機(jī)采集到的數(shù)據(jù)。上位機(jī)與中位機(jī)也是主從關(guān)系,當(dāng)上位機(jī)需要中位機(jī)的數(shù)據(jù)時(shí),上位機(jī)將通過并行口得到中位機(jī)匯總好的測試數(shù)據(jù)。
2 系統(tǒng)上位機(jī)軟件設(shè)計(jì)
2.1 軟件功能
系統(tǒng)上位機(jī)軟件主要用于實(shí)現(xiàn)5項(xiàng)功能。
(1)查詢功能
查詢當(dāng)前時(shí)刻前24小時(shí)內(nèi)溫濕度的測量數(shù)據(jù)和報(bào)警數(shù)據(jù),以及當(dāng)前時(shí)刻的溫濕度測量數(shù)據(jù)和報(bào)警數(shù)據(jù);
(2)存盤功能
將24小時(shí)內(nèi)的測量數(shù)據(jù)和報(bào)警信息存盤,以備將來查詢;
(3)顯示和打印功能
通過系統(tǒng)隨時(shí)顯示和打印歷史測量數(shù)據(jù);
(4)修改功能
可修改上位機(jī)系統(tǒng)時(shí)間和中位機(jī)內(nèi)的時(shí)間、傳感器好壞標(biāo)志、報(bào)警上下限,以及下位機(jī)重新設(shè)置信息;
(5)曲線和報(bào)表生成功能
系統(tǒng)可將24小時(shí)的數(shù)據(jù)自動(dòng)生成曲線和報(bào)表。
2. 2 軟件組成
上位機(jī)軟件用C語言編寫,由三個(gè)源程序模塊y-high.c,y-common.c,y-menu.c組成。其中y-high.c為主程序模塊,y-common.c是大量子函數(shù)的集合,y-menu.c是人機(jī)界面函數(shù)的集合。它們?nèi)咧g的相互關(guān)系如圖3所示。
2.3 上位機(jī)軟件主程序流程圖
上位機(jī)軟件采用子上而下的模塊設(shè)計(jì)思想,從功能模塊的劃分開始,逐級細(xì)化。其主程序流程圖如圖4所示。
3 中位機(jī)軟件設(shè)計(jì)
3.1 軟件功能
系統(tǒng)中位機(jī)軟件主要應(yīng)實(shí)現(xiàn)的功能如下:
(1)定時(shí)讀取各下位機(jī)的測試數(shù)據(jù)(20分鐘一次);
(2)監(jiān)測按鍵,當(dāng)有鍵按下時(shí),CPU做出相應(yīng)處理;
(3)循環(huán)顯示各車間的溫濕度測試數(shù)據(jù);
(4)定時(shí)顯示報(bào)警信息;
(5)及時(shí)響應(yīng)上位機(jī)的通訊信號(hào)。
根據(jù)用戶要求,設(shè)計(jì)時(shí)可選擇功能3作為主程序部分:功能4、5由系統(tǒng)中斷服務(wù)子程序完成;功能1、2由主程序的兩個(gè)子程序完成。
3.2 主程序
系統(tǒng)中位機(jī)的主程序流程圖如圖5所示。中位機(jī)每過20分鐘讀取各下位機(jī)數(shù)據(jù)一次,中位機(jī)巡回顯示四個(gè)車間的溫濕度,每個(gè)車間有6個(gè)溫度傳感器。
3.3 通訊程序
3.3.1 中位機(jī)與上位機(jī)的通訊程序
中位機(jī)和上位機(jī)的通訊協(xié)議是上位機(jī)與中位機(jī)的并行通訊采取主從關(guān)系的通訊方式,當(dāng)上位機(jī)向中位機(jī)傳輸數(shù)據(jù)時(shí),上位機(jī)采用查詢方式,中位機(jī)采用中斷方式;當(dāng)中位機(jī)向上位機(jī)傳輸數(shù)據(jù)時(shí),中位機(jī)和上位機(jī)均采用查詢方式。
在中位機(jī)與上位機(jī)的通訊服務(wù)程序中,中位機(jī)的并行通訊中斷子程序如圖6所示。
3.3.2 中位機(jī)與下位機(jī)的通訊程序
系統(tǒng)中的中位機(jī)與下位機(jī)的串行多機(jī)通訊協(xié)議約定如下:
系統(tǒng)中下位機(jī)容量為8臺(tái),地址分配為01H~08H;地址FFH是對所有下位都起作用的控制命令,命令各下位機(jī)恢復(fù)SM2=1的狀態(tài);制定中位機(jī)的控制命令代碼,代碼按00H,01H,02H,03H順序設(shè)置,其它均為非法代碼。
通訊服務(wù)程序中的中位機(jī)串行通訊程序流程如圖7所示。
其中的中位機(jī)工作寄存器設(shè)定為:
R5:從機(jī)地址;R6:命令
4 下位機(jī)軟件設(shè)計(jì)
4.1 軟件功能
系統(tǒng)下位機(jī)軟件所要實(shí)現(xiàn)的功能有:①循環(huán)采集最多24路環(huán)境溫濕度參數(shù);②進(jìn)行軟件濾波;③實(shí)現(xiàn)本車間數(shù)據(jù)的循環(huán)顯示;④實(shí)時(shí)響應(yīng)中位機(jī)的通訊要求。
4.2 軟件設(shè)計(jì)
系統(tǒng)下位機(jī)的主程序流程圖如圖8所示。
系統(tǒng)下位機(jī)的功能主要是循環(huán)采集和顯示車間內(nèi)的各點(diǎn)溫濕度參數(shù)值。一般情況下,下位機(jī)采用中斷方式與中位機(jī)進(jìn)行數(shù)據(jù)傳輸。
5 結(jié)語
本文從系統(tǒng)架構(gòu)方面綜合考慮了生產(chǎn)用環(huán)境參數(shù)自動(dòng)檢測系統(tǒng)的適用性、可靠性、可維護(hù)性、擴(kuò)充性、操作簡便性,深入分析了生產(chǎn)用環(huán)境參數(shù)自動(dòng)監(jiān)測系統(tǒng)上、中、下位機(jī)的軟件設(shè)計(jì)與實(shí)現(xiàn)過程。系統(tǒng)使用證明,該系統(tǒng)在實(shí)際運(yùn)行中效益良好。