一種APF系統(tǒng)信息的顯示方案
基于拓普微智能顯示模塊
一、引言
科技的進(jìn)步影響了所有產(chǎn)業(yè)的發(fā)展,其中電力發(fā)展速度是前所未有的,基本所有行業(yè)都需要電力支持。目前用電安全、節(jié)能、環(huán)保、經(jīng)濟(jì)等關(guān)鍵詞不斷被重申,這使得APF有源濾波器的應(yīng)用更加普遍。
與此同時,隨著APF應(yīng)用廣泛,市場拓展,需要面對的使用場景也更復(fù)雜。其中用戶對機(jī)器的界面交互體驗(yàn)尤為重視。迫使我們對APF產(chǎn)品的交互設(shè)計(jì)有新的要求。目前接觸了拓普微的智能顯示模塊HMT070ETD-1D,是一款高分辨率,高性能組態(tài)設(shè)計(jì)的串口屏。我們將通過該屏幕優(yōu)化APF系統(tǒng)信息交互,提升用戶體驗(yàn)。
二、目標(biāo)
基于HMT070ETD-1D的APF系統(tǒng)的界面開發(fā),我們將優(yōu)化所有參數(shù)的顯示,讓數(shù)據(jù)更迅速、直觀且準(zhǔn)確的呈現(xiàn)在用戶面前。不同于傳統(tǒng)項(xiàng)目開發(fā),此次設(shè)計(jì)僅針對界面交互進(jìn)行優(yōu)化,因此我們需要縮短常規(guī)開發(fā)周期,加快開發(fā)速度,并且有利于后續(xù)升級管理。主要實(shí)現(xiàn)以下目標(biāo):
1、實(shí)時顯示APF各項(xiàng)參數(shù)的數(shù)據(jù)
在有源濾波器運(yùn)行過程中,系統(tǒng)的運(yùn)行狀態(tài)以及各項(xiàng)參數(shù)信息需要進(jìn)行實(shí)時上報(bào)供用戶查閱。屏幕可以根據(jù)信息類別、重要程度,優(yōu)先等級等,調(diào)整顯示格式。
2、便捷交互,方便控制、切換、修改參數(shù)
用戶可以通過屏幕控制切換顯示APF中不同種類的參數(shù)信息,并且可以對某些參數(shù)進(jìn)行設(shè)置,例如開關(guān)切換、長按賦值、滑動切換、滑動賦值、鍵盤輸入修改等操作。
3、部分?jǐn)?shù)據(jù)信息需要有圖形化顯示,
為了給用戶更直觀的顯示效果,屏幕可以支持將數(shù)據(jù)以柱狀圖、趨勢曲線圖、餅狀圖、表盤的形式顯示出來。
4、支持遠(yuǎn)程數(shù)據(jù)查詢,遠(yuǎn)程顯示工程更新
APF系統(tǒng)上屏幕顯示的數(shù)據(jù)信息,可以支持遠(yuǎn)程查詢,或者遠(yuǎn)程控制。同時屏幕中顯示工程也可以通過遠(yuǎn)程進(jìn)行更新升級。
三、功能需求分析
此次設(shè)計(jì)將通過智能顯示模塊HMT070ETD-1D和官方提供的上位機(jī)軟件SGTools。開發(fā)設(shè)計(jì)APF系統(tǒng)信息的顯示部分。將所有界面信息顯示,交互操作都集中在屏幕中實(shí)現(xiàn)。為了實(shí)現(xiàn)以上目標(biāo)功能,APF系統(tǒng)信息顯示部分有如下功能需求:
1、變量數(shù)據(jù)刷新與數(shù)據(jù)格式化顯示
通過上位機(jī)開發(fā)工具SGTools,可以預(yù)先定義APF中各項(xiàng)參數(shù)的數(shù)字變量地址,添加數(shù)字控件到頁面中進(jìn)行顯示。數(shù)字控件通過關(guān)聯(lián)數(shù)字變量后,底層通過協(xié)議指令,將數(shù)據(jù)發(fā)送到屏幕顯示。同時數(shù)字控件支持設(shè)置顯示的字體類型,顯示字體的大小,顯示字體的顏色,格式化顯示如小數(shù)點(diǎn)、浮點(diǎn)數(shù)等進(jìn)行顯示。示意圖如下:
![pYYBAGIqvAuAc7bgAAA9IBlONi4906.png](https://file.elecfans.com/web2/M00/35/67/pYYBAGIqvAuAc7bgAAA9IBlONi4906.png)
圖3-1 變量數(shù)據(jù)刷新與數(shù)據(jù)格式化顯示示意圖
2、屏幕便捷控制與控制數(shù)據(jù)下發(fā)
智能顯示模塊HMT070ETD-1D自帶電容觸摸屏,在開發(fā)工具SGTools中,有不同功能的觸摸鍵控件,通過添加這些控件可以在屏幕中實(shí)現(xiàn)相應(yīng)的功能,例如切換頁面、開關(guān)切換、長按賦值、滑動切換、滑動賦值、鍵盤輸入等。觸摸鍵進(jìn)行的變量賦值,數(shù)據(jù)操作,彈出鍵盤(菜單)的數(shù)據(jù)輸入會實(shí)時下發(fā)到串口中,供APF底層MCU判斷執(zhí)行對應(yīng)任務(wù)。示意圖如下:
![pYYBAGIqvCiAOaFEAABA6dZbaKs464.png](https://file.elecfans.com/web2/M00/35/67/pYYBAGIqvCiAOaFEAABA6dZbaKs464.png)
圖3-2 屏幕便捷控制與控制數(shù)據(jù)下發(fā)示意圖
3、屏幕對數(shù)據(jù)的圖形化顯示
SGTools開發(fā)工具中,有進(jìn)度條,曲線,表盤這三個我比較常用的控件。三類控件都可以在屬性欄中進(jìn)行顯示模式的配置,進(jìn)度條支持顏色模式,圖標(biāo)模式,圖標(biāo)填充模式;曲線控件支持顯示點(diǎn)、線、頂部、底部、區(qū)域填充模式;表盤控件支持環(huán)形變色、混色、變盤指針、表盤旋轉(zhuǎn)等模式。以上控件可以更直觀的體現(xiàn)APF中的相關(guān)數(shù)據(jù)。實(shí)現(xiàn)方式與變量數(shù)據(jù)刷新一致。
![poYBAGIqvEWAC5_PAAA6YkwOtCA380.png](https://file.elecfans.com/web2/M00/35/61/poYBAGIqvEWAC5_PAAA6YkwOtCA380.png)
圖3-3 屏幕對數(shù)據(jù)的圖形化顯示
4、遠(yuǎn)程屏幕的數(shù)據(jù)控制與訪問,工程更新升級
智能顯示模塊HMT070ETD-1D支持網(wǎng)絡(luò)TCP/IP通信,在開發(fā)工具中可以定義屏幕的IP地址信息,TCP端口,TFTP端口號等信息。下載到屏幕中后IP信息會自動生效,然后可以在局域網(wǎng)內(nèi)連接相應(yīng)的IP進(jìn)行APF遠(yuǎn)程協(xié)議的數(shù)據(jù)交互。并且可以通過IP信息對遠(yuǎn)程屏幕進(jìn)行TFTP文件上載,從而實(shí)現(xiàn)遠(yuǎn)程APF系統(tǒng)界面升級。
![pYYBAGIqvHSATF_2AABKZRP7Br4964.png](https://file.elecfans.com/web2/M00/35/67/pYYBAGIqvHSATF_2AABKZRP7Br4964.png)
圖3-4 遠(yuǎn)程屏幕的數(shù)據(jù)控制與訪問以及工程更新升級
四、設(shè)計(jì)實(shí)現(xiàn)
1、變量數(shù)據(jù)刷新與數(shù)據(jù)格式化顯示
APF的系統(tǒng)參數(shù)信息在我們底層有相應(yīng)的寄存器的進(jìn)行存儲,因此刷新到屏幕中的數(shù)據(jù)可以直接通過底層調(diào)用獲取。定義數(shù)據(jù)指針“Buf”。
構(gòu)建底層數(shù)據(jù)刷新函數(shù)“topway_value()”;
說明:函數(shù)可以根據(jù)傳入的APF變量地址(Address)、參數(shù)類型(Type)、數(shù)據(jù)長度(Length)、寄存器數(shù)據(jù)指針(Buf),將信息實(shí)時通過串口刷新至屏幕對應(yīng)位置進(jìn)行顯示。
/******************************************************************************* * Function Name : topway_value * Description : 刷新變量數(shù)據(jù) * Input : Address 變量地址Type變量類型Length數(shù)據(jù)長度Buf數(shù)據(jù)指針 * Output : None * Return : None *******************************************************************************/ void topway_value(uint16_t Address,uint8_t Type,uint8_t Length,uint16_t *Buf) { uint16_t len; if(Type == TOPWAY_VALUE_ADRESS)//16位數(shù)據(jù)地址 { topway_buf[0] = TOPWAY_DATA_START;// AA頭數(shù)據(jù)幀 topway_buf[1] = TOPWAY_VALUE_FNCCODE;// 82 功能碼 topway_buf[2] = TOPWAY_PARAMETER_ID1;// 00 地址ID高8位 topway_buf[3] = TOPWAY_PARAMETER_ID0;// 08 地址ID低8位 topway_buf[4] = (Address & 0xff00) >> 8;//地址高8位 topway_buf[5] = Address & 0xff; //地址低8位 topway_buf[6] = Length;//數(shù)據(jù)長度 for(len=0;len { topway_buf[len + 7] = (*Buf & 0xff00) >> 8;//數(shù)據(jù)高8位 topway_buf[len + 8] = (*Buf & 0xff);//數(shù)據(jù)低8位 Buf++; } topway_buf[7+Length*2] = TOPWAY_DATA_END_1;//尾數(shù)據(jù)幀1:0xCC topway_buf[8+Length*2] = TOPWAY_DATA_END_2;//尾數(shù)據(jù)幀2:0x33 topway_buf[9+Length*2] = TOPWAY_DATA_END_3;//尾數(shù)據(jù)幀3:0xC3 topway_buf[10+Length*2] = TOPWAY_DATA_END_4;//尾數(shù)據(jù)幀4:0x3C BufPut(&topway,topway_buf,11+Length*2); } else if(Type == TOPWAY_VALUE_POINT)//圖標(biāo)地址 { for(len=0;len { uint16_t Write_value = *Buf + len; topway_buf[0] = TOPWAY_DATA_START;// AA頭數(shù)據(jù)幀 topway_buf[1] = TOPWAY_VALUE_FNCCODE_1;// 3D 功能碼 topway_buf[2] = TOPWAY_PARAMETER_ID1;// 00 地址ID高8位 topway_buf[3] = TOPWAY_PARAMETER_ID0;// 08 地址ID低8位 topway_buf[4] = (Address & 0xff00) >> 8;//地址高8位 topway_buf[5] = Address & 0xff; //地址低8位 topway_buf[6] = (Write_value & 0xff00) >> 8;//數(shù)據(jù)高8位 topway_buf[7] = (Write_value & 0xff);//數(shù)據(jù)低8位 topway_buf[8] = TOPWAY_DATA_END_1;//尾數(shù)據(jù)幀1:0xCC topway_buf[9] = TOPWAY_DATA_END_2;//尾數(shù)據(jù)幀2:0x33 topway_buf[10] = TOPWAY_DATA_END_3;//尾數(shù)據(jù)幀3:0xC3 topway_buf[11] = TOPWAY_DATA_END_4;//尾數(shù)據(jù)幀4:0x3C Address+=0x2;//取下一個地址 BufPut(&topway,topway_buf,12); } } else if(Type == TOPWAY_VALUE_32BIT)//32位數(shù)據(jù)地址 {topway_buf[0] = TOPWAY_DATA_START;// AA頭數(shù)據(jù)幀 topway_buf[1] = TOPWAY_VALUE_FNCCODE;// 82 功能碼 topway_buf[2] = TOPWAY_PARAMETER_ID1;// 00 地址ID高8位 topway_buf[3] = TOPWAY_PARAMETER_ID0;// 08 地址ID低8位 topway_buf[4] = (Address & 0xff00) >> 8;//地址高8位 topway_buf[5] = Address & 0xff; //地址低8位 topway_buf[6] = Length/2;//數(shù)據(jù)長度 for(len=0;len { topway_buf[len+7] = (*Buf & 0xff);//數(shù)據(jù)低8位 Buf++; } topway_buf[7+Length] = TOPWAY_DATA_END_1;//尾數(shù)據(jù)幀1:0xCC topway_buf[8+Length] = TOPWAY_DATA_END_2;// 尾數(shù)據(jù)幀2:0x33 topway_buf[9+Length] = TOPWAY_DATA_END_3;// 尾數(shù)據(jù)幀3:0xC3 topway_buf[10+Length] = TOPWAY_DATA_END_4;//尾數(shù)據(jù)幀4:0x3C BufPut(&topway,topway_buf,11+Length); } } |
測試屏幕數(shù)據(jù)刷新如下顯示,其中有對部分參數(shù)進(jìn)行格式化顯示,控制字符間距。
![poYBAGIqvKKATiW4AATc7UwPx1o996.png](https://file.elecfans.com/web2/M00/35/61/poYBAGIqvKKATiW4AATc7UwPx1o996.png)
2、屏幕便捷控制與控制數(shù)據(jù)下發(fā)
APF系統(tǒng)的屏幕通過觸摸鍵進(jìn)行的VP控制操作,按鍵信息返回操作都會下發(fā)數(shù)據(jù)到串口,因此我們需要對屏幕發(fā)出的串口數(shù)據(jù)進(jìn)行甄別,獲取目標(biāo)數(shù)據(jù)實(shí)現(xiàn)APF的控制。
構(gòu)建串口的協(xié)議解析函數(shù)“queue_find_cmd()”
說明:函數(shù)用于監(jiān)視串口的數(shù)據(jù)接收,并將接收的信息篩選獲取符合協(xié)議的指令,返回有效指令數(shù)組(buffer),供控制程序進(jìn)行判斷處理,執(zhí)行相應(yīng)功能。
/****************************************************************************** * 函數(shù)名稱: queue_find_cmd * 函數(shù)功能: 獲取串口接收隊(duì)列中一個完整的幀 * 輸入?yún)?shù): 緩存地址和大小 * 輸出參數(shù): 無 * 返 回 值: 無 *******************************************************************************/ INT16U queue_find_cmd(INT8U *buffer,INT16U buf_len) { INT16U cmd_size = 0; INT8U _data = 0; while(queue_size()>0)//判斷隊(duì)列是否為空 { queue_pop(&_data);//非空則提取數(shù)據(jù) if(cmd_index==0&&_data!=CMD_HEAD)//幀頭出錯,跳過 { continue; } if(cmd_index { buffer[cmd_index++] = _data; } if(_data==CMD_TAIL_CC)//判斷是否為0xCC { //如果檢查0xCC成功,則下一步檢查0x33 //否則重新檢查 if(cmd_state==CMD_CHECK_TAIL_CC) { cmd_state=CMD_CHECK_TAIL_33; } else{cmd_state=CMD_CHECK_TAIL_CC;} } else if(_data==CMD_TAIL_33) { //如果檢查0x33成功,則下一步檢查0xc3 //否則重新檢查 if(cmd_state==CMD_CHECK_TAIL_33) { cmd_state=CMD_CHECK_TAIL_C3; } else{cmd_state=CMD_CHECK_TAIL_CC;} } else if(_data==CMD_TAIL_C3) { //如果檢查0xC3成功,則下一步檢查0x3C //否則重新檢查 if(cmd_state==CMD_CHECK_TAIL_C3) { cmd_state=CMD_CHECK_TAIL_3C; } else{cmd_state=CMD_CHECK_TAIL_CC;} } else if(_data==CMD_TAIL_3C) { //如果檢查0x3C成功,則幀尾正確,否則重新檢查 if(cmd_state==CMD_CHECK_TAIL_3C) { cmd_state=CMD_CHECK_TAIL_OK; } else{cmd_state=CMD_CHECK_TAIL_CC;} } else { cmd_state = CMD_CHECK_TAIL_CC; } //得到正確的一幀指令 if(cmd_state==CMD_CHECK_TAIL_OK) {//重置標(biāo)志位,返回?cái)?shù)據(jù)長度 cmd_size = cmd_index; cmd_state = CMD_CHECK_TAIL_CC; cmd_index = 0; que._head = 0; que._tail = 0; return cmd_size; } } return 0; } |
3、屏幕對數(shù)據(jù)的圖形化顯示
屏幕對數(shù)據(jù)的圖形化顯示與數(shù)據(jù)顯示實(shí)現(xiàn)的方式一致,主要通過底層實(shí)時刷新數(shù)據(jù),屏幕接收變量數(shù)據(jù)后將會依據(jù)控件的屬性設(shè)置顯示對應(yīng)效果的圖形。
底層的數(shù)據(jù)刷新類似第1點(diǎn)。這里不作設(shè)計(jì)解析。圖形化顯示效果如圖:
![poYBAGIqvLqAJlYJAAbVggPKQ7Y060.png](https://file.elecfans.com/web2/M00/35/61/poYBAGIqvLqAJlYJAAbVggPKQ7Y060.png)
圖4-2 曲線顯示
![pYYBAGIqvMqAYN9AAAgCZGIxerk550.png](https://file.elecfans.com/web2/M00/35/67/pYYBAGIqvMqAYN9AAAgCZGIxerk550.png)
圖4-3 功率狀態(tài)顯示
4、遠(yuǎn)程屏幕的數(shù)據(jù)控制與訪問,工程更新升級
屏幕的網(wǎng)絡(luò)IP、TCP端口、TFTP端口、網(wǎng)關(guān)設(shè)置如圖:
![poYBAGIqvPGAPhNaAArRkO1to-s409.png](https://file.elecfans.com/web2/M00/35/61/poYBAGIqvPGAPhNaAArRkO1to-s409.png)
圖4-4 網(wǎng)絡(luò)設(shè)置
①屏幕支持RJ45網(wǎng)口,可以通過該接口實(shí)現(xiàn)TCP/IP協(xié)議通信,網(wǎng)絡(luò)的通信設(shè)計(jì)類似第1點(diǎn)的串口設(shè)計(jì)。以下不作詳細(xì)解析,根據(jù)屏幕的IP信息,網(wǎng)絡(luò)端口做以下設(shè)置。測試如圖:
![poYBAGIqvOaATArGAAxEzvav8mQ120.png](https://file.elecfans.com/web2/M00/35/61/poYBAGIqvOaATArGAAxEzvav8mQ120.png)
圖4-5 TCP/IP協(xié)議通信測試
②遠(yuǎn)程文件更新測試,首先遠(yuǎn)程通過TCP/IP協(xié)議發(fā)送屏幕復(fù)位指令,讓屏幕進(jìn)入遠(yuǎn)程更新模式。然后通過命令行“cmd”執(zhí)行tftp應(yīng)用的相關(guān)上載命令,進(jìn)行顯示工程升級,我的測試結(jié)果如圖4-6。期間工程文件傳輸都成功完成,在網(wǎng)絡(luò)連接正常的情況下沒有出現(xiàn)錯誤。
![pYYBAGIqvPyAa3oiAAxPmxr0C9c635.png](https://file.elecfans.com/web2/M00/35/67/pYYBAGIqvPyAa3oiAAxPmxr0C9c635.png)
圖4-6 遠(yuǎn)程TFTP文件傳輸測試1
另外也可以通過拓普微官方提供的“遠(yuǎn)程升級工具”進(jìn)行TFTP文件上載。測試如圖:
![pYYBAGIqvQWABFmUAAthjXtFX5Q892.png](https://file.elecfans.com/web2/M00/35/67/pYYBAGIqvQWABFmUAAthjXtFX5Q892.png)
圖4-7 遠(yuǎn)程TFTP文件傳輸測試2
五、總結(jié)
智能顯示模塊HMT070ETD-1D顯示方案綜合測試下來比較順利,期間進(jìn)行的測試都能通過。圖像數(shù)據(jù)顯示流暢,按鍵反饋迅速,功能測試正常。在官方提供的上位機(jī)軟件SGTools中,可以很方便的設(shè)計(jì)出數(shù)據(jù)相關(guān)的UI顯示效果。上位機(jī)軟件也很直觀,資源欄、屬性欄、控件區(qū)、工具欄、輸出欄視圖排布接近主流軟件使用習(xí)慣,個人比較容易上手。
此次基于拓普微平臺的智能模塊開發(fā)還算比較成功,滿足了我們開發(fā)的設(shè)計(jì)需求。并且官方提供的技術(shù)支持也非常及時,加速了我們整個項(xiàng)目組的開發(fā)進(jìn)程。
-
lcd
+關(guān)注
關(guān)注
34文章
4438瀏覽量
168492 -
HMI
+關(guān)注
關(guān)注
9文章
601瀏覽量
48780 -
串口屏
+關(guān)注
關(guān)注
8文章
549瀏覽量
37599 -
智能模塊
+關(guān)注
關(guān)注
0文章
32瀏覽量
6235
發(fā)布評論請先 登錄
相關(guān)推薦
拓普集團(tuán)斥資2億元成立子公司
拓維信息與螞蟻數(shù)科達(dá)成戰(zhàn)略合作,加速移動應(yīng)用鴻蒙化
![<b class='flag-5'>拓</b>維<b class='flag-5'>信息</b>與螞蟻數(shù)科達(dá)成戰(zhàn)略合作,加速移動應(yīng)用鴻蒙化](https://file.elecfans.com/web2/M00/46/D0/pYYBAGKV5wiAQkFLAAA0HUPKaH4034.jpg)
2024德國EUHA聽力展進(jìn)行時:拓普聯(lián)科新品發(fā)布,精彩紛呈
![2024德國EUHA聽力展進(jìn)行時:<b class='flag-5'>拓</b><b class='flag-5'>普</b>聯(lián)科新品發(fā)布,精彩紛呈](https://file1.elecfans.com/web1/M00/F3/30/wKgaoWcRx4iAIP_2AADccUE_orc200.png)
液晶顯示屏與led顯示屏的區(qū)別
商顯領(lǐng)域的國產(chǎn)一體機(jī)主板,提升顯示效果的解決方案
小白指南:LED顯示屏的尺寸與規(guī)格計(jì)算方案
熙泰科技(眉山)微顯示模組項(xiàng)目開工
顯示技術(shù)---Mini LED方案解析
![<b class='flag-5'>顯示</b>技術(shù)---Mini LED<b class='flag-5'>方案</b>解析](https://file1.elecfans.com/web2/M00/C7/C2/wKgZomYWN1CAAn60AAFNgI2JZuM667.png)
基于機(jī)智云物聯(lián)網(wǎng)平臺的智能垃圾回收箱與控制系統(tǒng)研究
LED顯示屏設(shè)計(jì)方案
深耕顯示行業(yè):藍(lán)普視訊顯示技術(shù)產(chǎn)業(yè)園正式開園
![深耕<b class='flag-5'>顯示</b>行業(yè):藍(lán)<b class='flag-5'>普</b>視訊<b class='flag-5'>顯示</b>技術(shù)產(chǎn)業(yè)園正式開園](https://file1.elecfans.com//web2/M00/C4/DD/wKgaomXvxk6AI8qVAAM8ZJh0ofY25.jpeg)
智能防雷監(jiān)測預(yù)警系統(tǒng)綜合應(yīng)用方案
![<b class='flag-5'>智能</b>防雷監(jiān)測預(yù)警<b class='flag-5'>系統(tǒng)</b>綜合應(yīng)用<b class='flag-5'>方案</b>](https://file1.elecfans.com/web2/M00/BA/53/wKgaomWOLkOAc86BADV4_4nEiP0002.png)
評論