
在很多時候,涉及到單片機(jī)控制的產(chǎn)品都需要用到一個顯示界面(正確稱為人機(jī)界面最為合適,簡稱HMI),然而,單單顯示又是不夠的,很多單片機(jī)主板采集到的模擬量,數(shù)字量等數(shù)據(jù)需要進(jìn)行保存功能,人機(jī)界面與單片機(jī)斷電之后,等下次設(shè)備再次開機(jī)的時候,又需要把之前的數(shù)據(jù)以一定的表格,曲線顯示出來,這種功能稱之為斷電數(shù)據(jù)保存功能。解決的方案有2種:
1.單片機(jī)主板里面集成EEROM等掉電存儲芯片。這種是最為傳統(tǒng)的解決方案,優(yōu)點(diǎn)在于一般的單片機(jī)工程師都能夠想到,缺點(diǎn)是成本比較高,增加編程的難度,尤其是數(shù)據(jù)量大的時候,芯片的價格也相應(yīng)增長。如果是用在數(shù)據(jù)量比較少的場合,用普通的STC等單片機(jī)就可以了,因為單片機(jī)里面集成了EEROM,存儲量至少是 1K以上的。
2.選擇帶有數(shù)據(jù)保存功能的人機(jī)界面,更復(fù)雜的還有配方等功能。這種方案的優(yōu)勢很明顯,節(jié)約成本,單片機(jī)主板設(shè)計簡單,編程也方便,存儲容量更大,還可以時時把相關(guān)采集數(shù)據(jù)以excel等文件的格式復(fù)制到U盤。
現(xiàn)在就做個例程,介紹如何把單片機(jī)采集的各路數(shù)據(jù)進(jìn)行保存,整改,對比,復(fù)制到U盤等等。
該工程應(yīng)用實例是基于測控行業(yè)的一種儀器設(shè)計的,模擬量采集有16路,涉及到精確的數(shù)據(jù)顯示,我們采用32位有符號數(shù)表示(這個可以在人機(jī)界面編程的時候設(shè)計,步驟有說到)。
相關(guān)步驟如下:
1.安裝相應(yīng)的嵌入式組態(tài)軟件,這里以廣州三青創(chuàng)工自動化科技有限公司(http://www.lyctr.com/)開發(fā)單片機(jī)與人機(jī)界面通訊為例,因為涉及單片機(jī)開發(fā)的,它可以提供工業(yè)標(biāo)準(zhǔn)的Modbus RTU協(xié)議和簡單的自由協(xié)議接口函數(shù)。
安裝好組態(tài)軟件之后,雙擊桌面軟件圖標(biāo)

點(diǎn)擊 “新建”,如下圖:
2.選擇人機(jī)界面HMI的型號,這里選擇WQT_T8048_070(800×480),點(diǎn)擊下面的新增按鈕,表示新增與人機(jī)界面連接的設(shè)備串口
這里選用工業(yè)標(biāo)準(zhǔn)的Modbus RTU協(xié)議作為與單片機(jī)連接的協(xié)議,當(dāng)然也可以選擇自由協(xié)議(free protocol)。點(diǎn)擊下一步,進(jìn)入工程描述狀態(tài),這些根據(jù)個人情況填寫,填寫之后點(diǎn)擊確定進(jìn)入畫面編輯狀態(tài)。
3.再點(diǎn)擊菜單欄的設(shè)置菜單進(jìn)入“配方管理器”
4.進(jìn)入配方界面之后點(diǎn)擊“新增”,輸入配方的名稱。
在“寫配方到設(shè)備”選擇HMI 的LD寄存器地址 20000處,“從設(shè)備讀配方”同樣也是選擇HMI的LD寄存器20000處,因為本人機(jī)界面的數(shù)據(jù)保存功能寄存器是從LD20000到LD30000.
數(shù)據(jù) 那里選擇32位有符號數(shù),然后新增,因為是16路數(shù)據(jù)采集功能,所以是 16×2×5(2是因為32有符號數(shù),5等下解釋)=160,新增到RW161 .然后點(diǎn)擊確定,點(diǎn)擊確定配方界面。
5.建立配方數(shù)據(jù)表格,這個可以在人機(jī)界面元件中找到 配方表格
具體的屬性設(shè)置如下:在“控制”界面的“配方條目索引”選擇 你剛才定義的配方名稱即可
在表格顯示中增加列數(shù),分別是公差尺寸,公差上限,公差下限,標(biāo)準(zhǔn)差下限,標(biāo)準(zhǔn)差上限這5列。
如何保存這些數(shù)據(jù)呢?我們要在旁邊添加一個保存數(shù)據(jù)按鈕,稱為多功能按鈕,再增加一個備份按鈕,步驟設(shè)置屬性如下:
當(dāng)然為了安全清楚的把數(shù)據(jù)保存到U盤,可以用一個指示燈指示U盤保存數(shù)據(jù)情況
至于如何將單片機(jī)采集到的數(shù)據(jù)保存到HMI的LD20000到LD30000這些寄存器,需要用到一些簡單的宏指令編寫,也是簡單的C語言而已,這些就是如何保存數(shù)據(jù)的大概步驟。
本文摘自:http://www.lyctr.com/shownews.asp?id=170
|