wqlcdchen
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 8 個(gè)
工控威望: 124 點(diǎn)
下載積分: 554 分
在線時(shí)間: 8(小時(shí))
注冊(cè)時(shí)間: 2012-05-14
最后登錄: 2012-10-30
查看wqlcdchen的 主題 / 回貼
樓主  發(fā)表于: 2012-05-22 12:58
微嵌組態(tài)人機(jī)界面(HMI)與單片機(jī)通信及數(shù)據(jù)保存的應(yīng)用


   
我們做開(kāi)發(fā)很多時(shí)候,涉及到單片機(jī)控制的產(chǎn)品都需要用到一個(gè)顯示界面(正確稱為人機(jī)界面最為合適,簡(jiǎn)稱HMI),然而,單單顯示又是不夠的,很多單片機(jī)主板采集到的模擬量,數(shù)字量等數(shù)據(jù)需要進(jìn)行保存功能,人機(jī)界面與單片機(jī)斷電之后,等下次設(shè)備再次開(kāi)機(jī)的時(shí)候,又需要把之前的數(shù)據(jù)以一定的表格,曲線顯示出來(lái),這種功能稱之為斷電數(shù)據(jù)保存功能。解決的方案有2種:
     1.
單片機(jī)主板里面集成EEROM等掉電存儲(chǔ)芯片。這種是最為傳統(tǒng)的解決方案,優(yōu)點(diǎn)在于一般的單片機(jī)工程師都能夠想到,缺點(diǎn)是成本比較高,增加編程的難度,尤其是數(shù)據(jù)量大的時(shí)候,芯片的價(jià)格也相應(yīng)增長(zhǎng)。如果是用在數(shù)據(jù)量比較少的場(chǎng)合,用單片機(jī)里面的EEROM就可以了。

     2.
選擇帶有數(shù)據(jù)保存功能的人機(jī)界面,更復(fù)雜的還有配方等功能。這種方案的優(yōu)勢(shì)很明顯,節(jié)約成本,單片機(jī)主板設(shè)計(jì)簡(jiǎn)單,編程也方便,存儲(chǔ)容量更大,還可以時(shí)時(shí)把相關(guān)采集數(shù)據(jù)以excel等文件的格式復(fù)制到U盤(pán)。

     
現(xiàn)在就做個(gè)例程,介紹如何把單片機(jī)采集的各路數(shù)據(jù)進(jìn)行保存,整改,對(duì)比,復(fù)制到U盤(pán)等等。

該工程應(yīng)用實(shí)例是基于測(cè)控行業(yè)的一種儀器設(shè)計(jì)的,模擬量采集有16路,涉及到精確的數(shù)據(jù)我們可以采用32位有符號(hào)數(shù)表示。

   
相關(guān)步驟如下:

1.
安裝相應(yīng)的嵌入式組態(tài)軟件,這里以微嵌組態(tài)軟件為例,它可以提供工業(yè)標(biāo)準(zhǔn)的Modbus RTU協(xié)議和簡(jiǎn)單的自由協(xié)議接口函數(shù)。

   
安裝好組態(tài)軟件之后,打開(kāi)軟件
點(diǎn)擊 “新建,如下圖:


2.
選擇人機(jī)界面HMI的型號(hào),這里選擇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ù)個(gè)人情況填寫(xiě),填寫(xiě)之后點(diǎn)擊確定進(jìn)入畫(huà)面編輯狀態(tài)。


3.
再點(diǎn)擊菜單欄的設(shè)置菜單進(jìn)入配方管理器


4.
進(jìn)入配方界面之后點(diǎn)擊新增,輸入配方的名稱。


寫(xiě)配方到設(shè)備選擇HMI LD寄存器地址 20000處,從設(shè)備讀配方同樣也是選擇HMILD寄存器20000處,因?yàn)楸救藱C(jī)界面的數(shù)據(jù)保存功能寄存器是從LD20000LD30000.
數(shù)據(jù) 那里選擇32位有符號(hào)數(shù),然后新增,因?yàn)槭?/font>16路數(shù)據(jù)采集功能,所以是 16*2*52是因?yàn)?/font>32有符號(hào)數(shù),5等下解釋)=160,新增到RW161 .然后點(diǎn)擊確定,點(diǎn)擊確定配方界面。


5.
建立配方數(shù)據(jù)表格,這個(gè)可以在人機(jī)界面元件中找到 配方表格


具體的屬性設(shè)置如下:在控制界面的配方條目索引選擇 你剛才定義的配方名稱即可
                             
在表格顯示中增加列數(shù),分別是公差尺寸,公差上限,公差下限,標(biāo)準(zhǔn)差下限,標(biāo)準(zhǔn)差上限這5列。



如何保存這些數(shù)據(jù)呢?我們要在旁邊添加一個(gè)保存數(shù)據(jù)按鈕,稱為多功能按鈕,再增加一個(gè)備份按鈕,步驟設(shè)置屬性如下:


當(dāng)然為了安全清楚的把數(shù)據(jù)保存到U盤(pán),可以用一個(gè)指示燈指示U盤(pán)保存數(shù)據(jù)情況


至于如何將單片機(jī)采集到的數(shù)據(jù)保存到HMILD20000LD30000這些寄存器,需要用到一些簡(jiǎn)單的宏指令編寫(xiě),也是簡(jiǎn)單的C語(yǔ)言而已,這些就是如何保存數(shù)據(jù)的大概步驟。
微嵌科技!