本發(fā)明是一種無線實時圖形化對控制器編程控制的方法,主要用于解決對電子硬件簡易實時編程控制和需要大量運算處理的問題,屬于電子信息領(lǐng)域。
背景技術(shù):
:對可編程控制器進行編程控制,需要使用高級語言編程,例如,C、C++、JAVA、python等。一般情況對可編程控制器編程都需要以下步驟:PC(電腦)端建立項目工程文件;用高級語言編輯各個工程文件;編譯鏈接工程文件生成對應(yīng)的HEX文件(16進制文件)或者BIN文件(2進制文件);將生成的文件燒錄到控制芯片中,最終實現(xiàn)整個編程控制過程。藍牙4.0設(shè)備之間可以實現(xiàn)1主機對最多7從機的微微網(wǎng)組建。當(dāng)然藍牙4.0也能實現(xiàn)1對1的連接,即1臺主機設(shè)備連接1臺從機設(shè)備,連接前設(shè)定藍牙設(shè)備的模式,連接上之后可以實現(xiàn)其他設(shè)備無法加入到這個1對1網(wǎng)絡(luò)的效果。由于藍牙4.0設(shè)備的硬件能力限制,使用藍牙4.0進行無線串口透傳數(shù)據(jù)時,數(shù)據(jù)量最好在每包數(shù)據(jù)20字節(jié)以內(nèi)。圖形化編程語言可以說是新一代的高級編程語言,編程者不需要熟悉指令用法,復(fù)雜的編程語法,只需要用語句把想要實現(xiàn)的效果表達出來。圖形化編程語言改變了傳統(tǒng)的編程模式,用“圖標(biāo)”或者“模塊”代替了“文本指令”。在圖形化編程環(huán)境中,用戶只需要將各個“圖標(biāo)”或者“模塊”連接起來,組織成用戶想要表達的意思。編程的效率會得到大大的提高?,F(xiàn)有的對控制器編程圖形化語言,基本是用戶通過圖形化界面組織操作連接“圖標(biāo)”或者“模塊”,后臺自動生成高級語言的文本,如C、C++語言,再利用編譯構(gòu)建代碼的工具鏈,編譯鏈接高級語言工程,最后將生成的HEX文件或者BIN文件燒寫入控制芯片,燒錄過程都是通過有線方式連接PC端和控制器端。每次修改代碼之后都需要再次編譯、鏈接、燒錄新的工程代碼,才能實現(xiàn)控制器的控制更新。發(fā)明目的本發(fā)明的目的就是提供一種無線實時圖形化的對控制器編程控制的方法??刂破魇状螣浿螅涂梢酝ㄟ^藍牙,無線實時接收PC(電腦)端發(fā)送的控制指令,同時實時返回采集的數(shù)據(jù)給PC端??刂破髦恍鑸?zhí)行控制指令和采集反饋傳感器數(shù)據(jù)等信息,所有的數(shù)據(jù)處理、邏輯運算都在PC端執(zhí)行實現(xiàn)。這樣就避免了繁瑣的編譯、鏈接、燒寫過程,同時降低了控制器端的運算負擔(dān)。用戶在PC端,可以利用圖形化編程軟件簡易實時的對控制器編程操作。技術(shù)方案本發(fā)明的目的是通過如下措施來達到:1)控制器硬件需要搭載藍牙4.0串口無線透傳設(shè)備,同時能夠響應(yīng)串口中斷信號。PC端也需要搭載藍牙4.0串口無線透傳設(shè)備??刂破鞫说乃{牙設(shè)備作為從設(shè)備,PC端的藍牙作為主設(shè)備。PC端的藍牙設(shè)備可以搜索周圍的從設(shè)備藍牙,選擇連接對應(yīng)的從設(shè)備藍牙之后,就可以進行全雙工的數(shù)據(jù)傳輸。此時硬件設(shè)備準(zhǔn)備完畢。2)控制器端需要燒寫固件,固件具體功能是接收串口中斷指令,改變控制器的控制狀態(tài),同時能夠?qū)崟r給PC端返回控制器的狀態(tài)數(shù)據(jù)。固件的制作是通過控制器對應(yīng)的PC端工具鏈實現(xiàn)。按照制定好的通訊協(xié)議,控制器能夠解析串口接收到的運行指令,并執(zhí)行相應(yīng)的動作。同時控制器將它外圍設(shè)備采集到的數(shù)據(jù)或者它自身的狀態(tài),按照制定好的通訊協(xié)議,通過藍牙發(fā)送到PC端。3)PC端需要安裝圖形化界面編程軟件,軟件具備編程的必備邏輯功能,運算功能,數(shù)據(jù)處理功能。軟件圖形化語言所有的邏輯組織,數(shù)據(jù)處理,都由“圖標(biāo)”和“模塊”連接排列的模式實現(xiàn)。各個模塊的連接、放置都是以“選擇抓取”、“拖拽擺放”、“連接堆疊”的方式進行組織操作。最終實現(xiàn)的效果就是每個人都能從上往下依次讀懂圖形化語言想要表達的控制過程。圖形化語言的編程過程,相當(dāng)于寫一篇作文,作文內(nèi)容就是你想要控制器做什么,怎么做。4)硬件設(shè)備以及軟件環(huán)境搭建好之后,就可以進行PC端對控制器端的無線實時圖形化編程控制。打開控制器端的電源,確??刂破鞫说乃{牙處于從狀態(tài),等待藍牙主機的搜索配對。PC端將USB口轉(zhuǎn)為串口和藍牙主設(shè)備連接,向藍牙主設(shè)備發(fā)送AT指令(控制藍牙模塊的指令)搜索附近的藍牙從設(shè)備。5)藍牙主模塊會將搜索到的從設(shè)備藍牙m(xù)ac地址(每個藍牙設(shè)備都有他們唯一的地址序號)反饋給PC端,用戶向主藍牙設(shè)備發(fā)送連接指定從設(shè)備藍牙的AT指令。主從藍牙設(shè)備配對連接上之后,用戶就可以進行對控制器的實時編程操作。6)PC端向控制器端按照如下的通訊協(xié)議實時不間斷發(fā)送指令,數(shù)據(jù)包頭控制指令集數(shù)據(jù)包尾XXXX……XXXX數(shù)據(jù)包頭(XX)表示數(shù)據(jù)的開頭,其中包含一些特定的標(biāo)志性字符,或者還包含軟件版本信息等??刂浦噶罴?XX……XX)包含信息最為豐富,其中包含讓控制器執(zhí)行動作的指令集,讓控制器如何控制外圍設(shè)備的運作,讓控制器返回指定的數(shù)據(jù)信息。數(shù)據(jù)包尾(XX)表示一幀數(shù)據(jù)的結(jié)尾,其中包含一些特定的標(biāo)志性字符,或者還包含一些數(shù)據(jù)校驗和。7)PC端實時發(fā)送的控制指令集數(shù)據(jù)幀狀態(tài)是通過圖形化軟件修改的。圖形化軟件在組織邏輯的過程中,或者進行運算的過程中都可能會改變指令集的狀態(tài)。從而達到對控制器的實時編程控制,PC端負責(zé)一切的邏輯運算,數(shù)據(jù)處理。8)控制器端實時接收控制器端的控制指令,不停的進入串口中斷,當(dāng)指令狀態(tài)有所改變時,串口中斷的對應(yīng)函數(shù)就會執(zhí)行,或者改變控制器的當(dāng)前狀態(tài)全局變量??刂破鞫送瑫r也將自身的狀態(tài)信息,外圍設(shè)備數(shù)據(jù)反饋給PC端,方便PC端進行邏輯判斷,數(shù)據(jù)處理??刂破鞫朔祷氐耐ㄓ崊f(xié)議如下,數(shù)據(jù)包頭數(shù)據(jù)信息數(shù)據(jù)包尾XXXX……XXXX數(shù)據(jù)包頭(XX)表示數(shù)據(jù)的開頭,其中包含一些特定的標(biāo)志性字符,或者還包含控制器固件的版本信息等。數(shù)據(jù)信息(XX……XX)包含有控制器外圍設(shè)備的參數(shù)信息,外圍傳感器采集到的數(shù)據(jù)信息,以及控制器自身的狀態(tài)信息。數(shù)據(jù)包尾(XX)表示一幀數(shù)據(jù)的結(jié)尾,其中包含一些特定的標(biāo)志性字符,或者還包含一些數(shù)據(jù)校驗和。有益效果:本發(fā)明提出了一種基于藍牙4.0的無線實時圖形化對控制器編程方法,主要用于對控制器的實時編程,簡易操作,無需每次都經(jīng)過編輯、編譯、鏈接和燒寫的編程步驟。對控制器的編程操作是實時進行的,所以調(diào)試效果能立即展現(xiàn),提高了編程控制的效率。藍牙無線圖形化編程的方式使對控制器的編程更為便捷,用戶操作也會變得快捷容易。所有的邏輯運算、決策命令和數(shù)據(jù)處理都在PC端進行,可以將終端控制器的成本極大的降低,因為控制芯片不需要處理大量的數(shù)據(jù)以及進行復(fù)雜的邏輯運算。附圖說明圖1是無線實時編程實現(xiàn)的流程圖,所有步驟都是在控制器和PC這兩類終端上進行操作。圖2是控制器、PC、藍牙設(shè)備的連接關(guān)系,以及控制器與PC端數(shù)據(jù)交換的路徑。藍牙從設(shè)備集成在控制器上,藍牙主設(shè)備外接在PC的USB接口上。具體實施方式為了方便描述,我們假設(shè)有如下應(yīng)用實例:有一套模塊化機器人套件,機器人的形態(tài)需要拼搭構(gòu)建。機器人的控制器留有外部接口,用于電機、舵機、步進電機和傳感器等設(shè)備的模塊化連接。需要用這套器件實現(xiàn)不同的功能,比如智能花房的控制,掃地機器人的控制,貨運機器人的控制。其具體的實施方案為:一、首先控制器的藍牙已設(shè)置為從模式,并且藍牙模塊連接在控制器的串口上,控制器連接藍牙的串口能響應(yīng)串口中斷;二、PC端的藍牙設(shè)置為主模式,通過USB接口,將藍牙模塊與PC的串口連接;三、將控制器的固件燒寫到控制器芯片,固件的燒寫只需要一次,除非之后需要對固件進行升級。固件的作用是解析通訊協(xié)議,執(zhí)行控制命令,反饋外設(shè)信息;四、根據(jù)功能需求不同,搭建出不同形態(tài)的設(shè)備,選用合適的外接傳感器和動力設(shè)備。智能花房就需要外接濕度傳感器、溫度傳感器、二氧化碳濃度傳感器、光敏傳感器、步進電機、灑水噴頭、加熱器、排風(fēng)扇等,掃地機器人需要直流電機,紅外傳感器、超聲波傳感器等,貨運機器人需要直流電機、步進電機,紅外傳感器,超聲波傳感器等;五、PC端安裝圖形化編程軟件,發(fā)送AT指令給藍牙主模塊,搜索周圍的藍牙從模塊,找到指定從模塊后配對連接;六、PC端用圖形化編程軟件進行編程。智能花房的邏輯設(shè)計如下:實時監(jiān)測花房的溫度、濕度、二氧化碳濃度和光照強度,將溫度,濕度,二氧化碳濃度,光照強度控制在一定范圍內(nèi),保證植物的生長環(huán)境是最優(yōu)狀態(tài),至于控制執(zhí)行則是通過控制器控制排風(fēng)扇、步進電機、灑水噴頭、加熱器等來實現(xiàn)的。掃地機器人的邏輯如下:在控制器周圍安裝紅外傳感器或者超聲波傳感器,當(dāng)傳感器檢測到障礙物的時候,控制器控制機器人改變行駛路線,同時控制器在機器人行進過程中開啟掃地模式清掃垃圾。貨運機器人邏輯如下:將紅外傳感器和超聲波傳感器安裝在機器人外圍,用于檢測行駛路線,機器人到達指定位置后控制步進電機來裝運或者卸載貨物;七、PC端程序運行后,控制器端會接收到PC端發(fā)送的指令集,控制器會根據(jù)收到的指令集來執(zhí)行動作。同時控制器會將傳感器信息和狀態(tài)信息發(fā)送給PC端,PC端運行的程序通過接收到的控制器信息,來做數(shù)據(jù)處理和邏輯判斷;八、在運行過程中發(fā)現(xiàn)程序需要修改,用戶可以直接拖拽圖形化模塊進行編程,無需編譯、連接和下載燒錄,從而達到無線實時的對控制器調(diào)試編程。當(dāng)前第1頁1 2 3