楊大奎,曹川川,譚修彥
(1.重慶城市職業(yè)學(xué)院;2.重慶文理學(xué)院,重慶402160)
基于迪文DGUS屏在PM2.5自動(dòng)換膜采樣器中的應(yīng)用研究
楊大奎1,曹川川2,譚修彥2
(1.重慶城市職業(yè)學(xué)院;2.重慶文理學(xué)院,重慶402160)
介紹了迪文DGUS屏如何和ARM單片機(jī)及上位機(jī)進(jìn)行通訊,論述了迪文DGUS屏某些硬件設(shè)置,詳述了迪文DGUS屏中某些重要功能的實(shí)現(xiàn)過程。
迪文DGUS屏;單片機(jī);通訊
迪文屏是迪文科技有限公司研發(fā)的用于人機(jī)界面控制的一款產(chǎn)品,迪文屏已廣泛的運(yùn)用在各個(gè)領(lǐng)域。PM2.5自動(dòng)換膜采樣器的功能控制也離不開人機(jī)界面,采用了迪文DGUS屏實(shí)現(xiàn)對PM2.5的功能控制,通過對迪文DGUS屏的界面操作達(dá)到對PM2.5的功能控制。但迪文DGUS屏具體功能的實(shí)現(xiàn),要通過和下位機(jī)的通訊才能得以實(shí)現(xiàn)。
DGUS迪文屏通過串口工具與上位機(jī)之間實(shí)現(xiàn)通訊,如圖1所示:
圖1
則圖2中的空白區(qū)域就會(huì)出現(xiàn)啟動(dòng)按鈕所對應(yīng)的指令
若在圖3方框中輸入指令5A A5 05 82 00 02 00 01,點(diǎn)擊手動(dòng)發(fā)送,則圖中啟動(dòng)按鈕顏色將由淺藍(lán)色變?yōu)樯钏{(lán)色。
圖2
串口操作。迪文DGUS屏采用異 步、全雙工串口(UART),串口模式為8n1(51單片機(jī)的MOD1,9bit UART),即每個(gè)數(shù)據(jù)傳送采用10個(gè)位:一個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位。
串口波特率通過SD卡來配置。串口的所有指令或者數(shù)據(jù)都是16進(jìn)制(HEX)格式:對于字型(2字節(jié))數(shù)據(jù),總是采用高字節(jié)先傳送(MSB)方式。比如0X1234傳送時(shí)先傳送0X12。
圖3
數(shù)據(jù)幀架構(gòu)。迪 文DGUS屏的串口數(shù)據(jù)幀由四個(gè)數(shù)據(jù)塊組成,如表1所述:
表1
一個(gè)數(shù)據(jù)包能夠傳送的最大數(shù)據(jù)長度為254字節(jié)(不要CRC校驗(yàn))或252字節(jié)(帶CRC驗(yàn))。其中,CRC校驗(yàn)不包括幀頭和數(shù)據(jù)長度,僅針對指令和數(shù)據(jù),采用ANSI CRC-16(X16+X15+X2+1)格式。
指令集??蓪?shí)現(xiàn)訪問控制寄存器的指令有兩個(gè),分別為0x80、0x81。0x80用于指定地址寫寄存器數(shù)據(jù);0x81用于讀寄存器的DGUS屏應(yīng)答。可實(shí)現(xiàn)訪問數(shù)據(jù)寄存器的指令也有兩個(gè),分別為0x82、0x83。0x82用于指定地址開始寫入數(shù)據(jù)串(字?jǐn)?shù)據(jù))到變量存儲區(qū)。0x83用于讀取數(shù)據(jù)寄存器的DGUS屏應(yīng)答。
將圖片添加到DGUS軟件之前,要根據(jù)“0_首頁.BMP”(0代表第一張圖片)圖片格式對圖片進(jìn)行命名。例:“1_主界面.BMP”代表第二張圖片,并可依次類推。若想彈出迪文屏中第50張界面,則只需發(fā)送指令:
5A A5 04 80 03 00 32;其中32代表要彈出界面所在的位置(轉(zhuǎn)為十六進(jìn)制),其余不變。其中5A A5為幀頭;04為長度(包括指令及數(shù)據(jù));80為指令;03為寄存器地址(與控制界面切換相關(guān)聯(lián));00 32為切換界面ID。再例,比如要彈出第33張界面,則發(fā)送指令5A A5 04 80 03 00 21,其中21亦代表要彈出界面所在的位置(轉(zhuǎn)為十六進(jìn)制)。即要彈出界面的位置轉(zhuǎn)換為十六進(jìn)制即可。
為了提高工作效率及減少指令發(fā)送過程中的錯(cuò)誤,由單片機(jī)向DGUS迪文屏成串發(fā)送指令就變得尤為重要。
若單片機(jī)向屏中地址為00 36,00 37,00 38,00 39,00 40的位置分別發(fā)送數(shù)據(jù)1、2、3、4、5,則發(fā)送指令為5A A5 0D 82 00 36 00 01 00 02 00 03 00 04 00 05,則屏中地址為00 36的位置顯示數(shù)據(jù)為1,00 37的位置顯示數(shù)據(jù)為2,并依次類推。
在對DGUS迪文屏應(yīng)用的過程中,對時(shí)間的顯示是必不可少的,那么該怎樣在迪文屏中實(shí)現(xiàn)對年、月、日、星期、時(shí)、分、秒的顯示?若要實(shí)現(xiàn)對2014年2月23日、1周日、16時(shí)35分00秒的顯示,則需發(fā)送指令如下:
5A A5 0A 80 1F 5A 14 02 23 07 16 35 00
注:由單片機(jī)發(fā)送時(shí)間顯示指令時(shí),需將要顯示的時(shí)間轉(zhuǎn)換為十六進(jìn)制。
對右圖進(jìn)行變量圖標(biāo)觸控配置,在貼圖之前須先從圖標(biāo)文件中選擇相應(yīng)圖標(biāo)所放置的文件。變量下限(0)即為原始圖標(biāo),把貼圖圖標(biāo)按照1、2、3順序依次排列好。在該圖中,紅色按鈕對應(yīng)橘黃色按鈕對應(yīng)變量上限2。
圖4
方法一:
在DGUS迪文屏中輸入文字,掉電重啟后,文字消失,若讓DGUS迪文屏掉電重啟后自動(dòng)顯示上次輸入的文字,則需和單片機(jī)緊密結(jié)合。首先確認(rèn)DGUS迪文屏與單片機(jī)的可靠通訊,然后在迪文屏的鍵盤中輸入文字,輸入完畢后,點(diǎn)擊鍵盤中的確認(rèn)按鈕;此時(shí)單片機(jī)已接收到每個(gè)數(shù)據(jù)所對應(yīng)的數(shù)據(jù),并對這些數(shù)據(jù)進(jìn)行保存。待單片機(jī)檢測到DGUS迪文屏掉電重啟后,就會(huì)向DGUS迪文屏傳送上次掉電前所保存的數(shù)據(jù),繼而在迪文屏開機(jī)后,文字就可自動(dòng)顯示在屏中。
操作步驟說明:1.手動(dòng)輸入天津科技有限公司,在當(dāng)前頁面上顯示天津科技有限公司;2.單片機(jī)接受到的數(shù)據(jù)為5A A5 1A 83 05 00 0B CC EC BD F2 BF C6 BC BC D3 D0 CF DE B9 AB CB BE FF FF;3.當(dāng)單片機(jī)檢測到DGUS迪文屏掉電重啟后,就會(huì)自動(dòng)發(fā)送該指令給給迪文屏,繼而文字就會(huì)顯示到屏中相應(yīng)位置。
方法二:
1.手動(dòng)輸入天津科技有限公司,當(dāng)前界面上顯示天津科技有限公司;2.發(fā)送命令:5A A5 0C 80 40 5A 50 42 00 00 00 05 00 00 20,命令解釋:將變量地址0010的數(shù)據(jù)存放到字庫ID為66的000000地址里,字庫存放的數(shù)據(jù)可以實(shí)現(xiàn)掉電保存功能;50:代表把變量數(shù)據(jù)寫入到字庫空間里;3.給屏掉電;4.給屏重新上電;5.上電后重新給屏發(fā)送命令,將上次錄入的數(shù)據(jù)顯示出來,發(fā)送命令如下:5A A5 0C 80 40 5A A0 42 00 00 00 05 00 00 20,命令解釋:將字庫ID號為66的000000地址里的內(nèi)容拿出來送給變量0500;A0:代表把字庫空間的數(shù)據(jù)讀出到變量地址里。
在DGUS迪文屏中同一位置放置如下圖所示三個(gè)不同顏色的按鈕,假設(shè)此確認(rèn)按鈕在屏中地址為00 20;圖(a)灰色按鈕為初始狀態(tài),點(diǎn)擊此按鈕,按鈕顏色變?yōu)榫G色(圖(b)),說明單片機(jī)已成功接收到指令;經(jīng)過幾秒后,單片機(jī)發(fā)送指令5A A5 06 82 00 20 01 00 01,按鈕顏色恢復(fù)到原來顏色(灰色);同樣也可以發(fā)送指令5A A5 06 82 00 20 01 00 02使灰色按鈕變?yōu)榧t色來實(shí)現(xiàn)迪文屏對外部設(shè)備的某一控制功能。
圖5
迪文DGUS屏的廣泛運(yùn)用,為對系統(tǒng)的控制操作提供了極大的方便,同時(shí)迪文DGUS屏作為PM2.5的人機(jī)界面,不僅系統(tǒng)可靠性高,而且功能全面,整個(gè)系統(tǒng)運(yùn)行穩(wěn)定、精確,同時(shí)還可以根據(jù)自身需要進(jìn)行二次開發(fā) 。
[1]北京迪文科技有限公司.DGUS屏使用指南[K].
[2]北京迪文科技有限公司.DGUS屏開發(fā)指南[K].
[3]北京迪文科技有限公司.迪文HMI二次開發(fā)指令及產(chǎn)品開發(fā)指南[K].
10.16640/j.cnki.37-1222/t.2016.22.014