|
在此我先簡(jiǎn)單描述一下我們的項(xiàng)目,以及為何選擇這個(gè)屏,屏的優(yōu)缺點(diǎn)等等。
我們做了個(gè)便攜式污染源監(jiān)測(cè)系統(tǒng),由監(jiān)測(cè)平臺(tái)和一個(gè)以上的便攜式污染源監(jiān)測(cè)終端組成;監(jiān)測(cè)平臺(tái)無(wú)線連接各便攜式污染源監(jiān)測(cè)終端。便攜式污染源監(jiān)測(cè)終端包括污染源檢測(cè)模塊、控制器、衛(wèi)星通信模塊、顯示模塊和指紋識(shí)別模塊;它的檢測(cè)位置方便靈活;便于分析污染源的方位和來(lái)源;明確檢測(cè)記錄的操作人員,進(jìn)行績(jī)效統(tǒng)計(jì)。
我九月份做污水處理廠PH值超標(biāo)檢測(cè)聯(lián)動(dòng)報(bào)警系統(tǒng)時(shí),用的是淘晶馳的HMI屏,應(yīng)用中遇到不少的問(wèn)題,經(jīng)過(guò)十來(lái)天的磨合,已經(jīng)掌握了他的應(yīng)用規(guī)律,盡量來(lái)用自己的軟硬件來(lái)適應(yīng)HMI屏.
當(dāng)然存在一些不太完美的地方(在此聲明以下,我已經(jīng)用自己的軟件和硬件克服了屏的不完美),所以就在網(wǎng)上找啊找到了迪文的屏,迪文的屏從網(wǎng)上不是很容易索道的。
這是我剛做的一個(gè)簡(jiǎn)單界面,如下圖所示:

設(shè)計(jì)的界面


實(shí)際運(yùn)行界面
先說(shuō)特點(diǎn)吧:最大的特點(diǎn)是所有的控件都以地址區(qū)分,大家注意了是地址(字地址,即一個(gè)地址對(duì)應(yīng)兩個(gè)字節(jié)的存儲(chǔ)區(qū)),類似C51的地址指針,比如我PM2.5后面就有一個(gè)數(shù)值型變量控件,我把它的地址定義為0x0008,那我如果想讓PM2.5的數(shù)值238顯示在界面上,就得往0x0008地址內(nèi)寫(xiě)入0x00EE就可以了,簡(jiǎn)單吧。并且這個(gè)地址是對(duì)應(yīng)的存儲(chǔ)空間是獨(dú)占的,分給誰(shuí)了就是誰(shuí)的,共享了就會(huì)顯示出現(xiàn)錯(cuò)。
所有的空間都是用地址來(lái)標(biāo)示!。。。。
我把它理解成雙口RAM,我定義好什么地方放上什么數(shù)據(jù)或參數(shù),那HMI屏就按照我定義好的來(lái)對(duì)外提取數(shù)據(jù)展示在界面上,當(dāng)然是不同的界面需要的數(shù)據(jù)是不同的,屏?xí)鶕?jù)控件分配的地址提取相應(yīng)的數(shù)據(jù)展示,我當(dāng)讓可以隨時(shí)跟新數(shù)據(jù),盡管跟新的數(shù)據(jù)不一定是屏幕現(xiàn)在需要的。這樣就不會(huì)存在數(shù)據(jù)串屏等問(wèn)題。
第二是,自己可以編寫(xiě)程序放到屏的系統(tǒng)了去執(zhí)行,進(jìn)行數(shù)據(jù)處理,數(shù)值比較,頁(yè)面切換等等,就像是在屏里給你了一段程序區(qū),你可以根據(jù)自己的需求編寫(xiě)程序代碼,唯一的不好就是,這段代碼的用匯編語(yǔ)言編寫(xiě),匯編語(yǔ)言也不是標(biāo)準(zhǔn)的匯編語(yǔ)言,是的按廠家自定義的匯編語(yǔ)言編寫(xiě),不過(guò)對(duì)于用過(guò)匯編語(yǔ)言做個(gè)項(xiàng)目的人來(lái)說(shuō)也是很好理解和使用的,大不了不清楚的地方翻翻廠家的語(yǔ)句說(shuō)明即可,還好我04到06年一直用匯編語(yǔ)言做了不少項(xiàng)目。下面是我做的一個(gè)簡(jiǎn)單的提取界面登錄用戶名和密碼的一段,讓大家見(jiàn)笑了
CALL Change_password
END
;===========================================================
Change_password:
LDWR R0,0X0007 ;
MOVXR R10,1,1 ;
IJNE R11,5AH,Go_End ;重建密碼碼確認(rèn)鍵是否按下
LDWR R0,0X0003 ;讀新建密碼框
MOVXR R10,1,2
LDBR R14,0,1
OR R14,R10,1
OR R14,R11,1
OR R14,R12,1
OR R14,R13,1
IJNE R14,0,DATA1>0 ;密碼框不為0
LDWR R0,0X0005 ;讀再次輸入密碼框
MOVXR R10,1,2
LDBR R14,0,1
OR R14,R10,1
OR R14,R11,1
OR R14,R12,1
OR R14,R13,1
IJNE R14,0,DATA1>0 ;密碼框不為0
;LDWR R0,0x0003 ;
;LDBR R240,0,10
;MOVXR R240,0,5 ;清空密碼輸入框 按鍵
GOTO Go_End
DATA1>0:
LDWR R0,0003H
MOVXR R20,1,2 ;將第一次輸入的新密碼讀到R20,R21,R22,R23
LDWR R0,0005H
MOVXR R30,1,2 ;將第二次輸入的新密碼讀到R30,R31,R32,R33
;CJNE R20,R30,M_O_ERR ;
;CJNE R21,R31,M_O_ERR ;
;CJNE R22,R32,M_O_ERR ;
;CJNE R23,R33,M_O_ERR ;判斷兩次密碼是否相同,相同則繼續(xù)執(zhí)行,不同則跳轉(zhuǎn)
GOTO SAVE_M
M_O_ERR:
LDWR R10,5 ;切換到第5頁(yè)兩次密碼不一致。
MOVRD R10,3,2 ;
LDWR R0,0x0003 ;
LDBR R240,0,10
MOVXR R240,0,5 ;清空密碼輸入框 清空確認(rèn)鍵
GOTO Go_End
SAVE_M:
LDWR R240,0x5AA5 ;文件頭
LDBR R242,0x0E,1 ;數(shù)據(jù)長(zhǎng)度
LDBR R243,0x83,1 ;命令字
LDWR R244,0x0003 ;數(shù)據(jù)地址
LDBR R246,0x05,1 ;數(shù)據(jù)字?jǐn)?shù)
LDWR R0,0x0003 ;
MOVXR R247,1,5 ;數(shù)據(jù)
;LDWR R0,0x0005 ;
;MOVXR R244,1,2 ;
LDWR R10,17
COMTXD 0,R240,R11 ;
LDWR R0,0x0003 ;
LDBR R240,0,17
MOVXR R240,0,5 ;清空密碼輸入框 按鍵
;LDWR R10,10
;COMTXD 0,R240,R11 ;
;LDWR R10,2 ;切換到第02頁(yè)
;MOVRD R10,3,2
Go_End:
RET
還有就是同樣尺寸平的價(jià)格稍微便宜些比淘金吃的。
具體應(yīng)用細(xì)節(jié)我們可以溝通交流,或者你有神馬好的HMI屏告訴不要憐惜我啊
我還有個(gè)想法,你有什么好的想法或?qū)懙男牡皿w會(huì)可以發(fā)給我,我很樂(lè)意為你效勞發(fā)布的,當(dāng)讓作者還是你。
|
|