觸摸屏與單片機(jī)的通信實現(xiàn)
3觸摸屏組態(tài)軟件編輯
打開觸摸屏組態(tài)軟件,先按上述方法設(shè)置[系統(tǒng)參數(shù)],光標(biāo)移到[窗口/元件選擇列表框],單擊鼠標(biāo)右鍵,新建一個窗口,按要求填寫對話框。按確定鍵,出現(xiàn)一個編輯窗,下面以設(shè)置一個位狀態(tài)顯示元件(指示燈)和一個數(shù)值顯示元件(數(shù)據(jù)顯示窗)為例,說明觸摸屏編輯的地址與單片機(jī)內(nèi)的地址建立相互聯(lián)系的方法。現(xiàn)以要顯示單片機(jī)中位20H(24H.0)的狀態(tài)和顯示40H、41H的數(shù)值為例。把鼠標(biāo)點擊元件工具箱中的元件圖或從菜單[元件]的選項中拖出一個位狀態(tài)指示元件。并彈出位狀態(tài)顯示元件屬性對話框。
在讀取地址欄[設(shè)備類型]中選0x,[設(shè)備地址]寫入17,見表2,0x17對應(yīng)20H,選擇適當(dāng)?shù)膱D形、標(biāo)簽、大小和位置。按確定鍵。對話框消失,在編輯窗口出現(xiàn)一個位狀態(tài)顯示元件L1。一旦建立了正確的通信關(guān)系,則這個位狀態(tài)顯示元件的不同顯示狀態(tài)反應(yīng)了單片機(jī)中位20H狀態(tài)的變化。
把鼠標(biāo)點擊元件工具箱中的元件圖或從菜單[元件]的選項中拖出一個數(shù)值顯示元件。并彈出數(shù)值顯示元件屬性對話框。如圖3所示。
圖3數(shù)值顯示元件一性對話框
在讀取地址欄[設(shè)備類型]中選敘,[設(shè)備地址]寫入1,見表3,3xl對應(yīng)40H(高位),41H(低位),選擇適當(dāng)?shù)膱D形、標(biāo)簽、大小和位置。按確定鍵,對話框消失。
在編輯窗口出現(xiàn)一個數(shù)值顯示元件,一旦建立了正確的通信關(guān)系,則這個數(shù)值顯示元件顯示單片機(jī)中位40H(高位),41H(低位)的數(shù)值。
4 MODBUS RTU(遠(yuǎn)程終端設(shè)備)通信協(xié)議簡介
觸摸屏與單片機(jī)通信是主從通信方式,觸摸屏是主機(jī),單片機(jī)是從機(jī)。觸摸屏根據(jù)畫面編輯的控件,不斷發(fā)送位、字的讀或?qū)懙闹噶?。單片機(jī)不斷應(yīng)答指令。
本文介紹MODBUS RTU通信格式,字符幀由8個數(shù)據(jù)位,1個起始位,1個停止位,1個奇偶校驗位(當(dāng)不采用校驗位時,則設(shè)置2個停止位)。發(fā)送或接收每個字節(jié),必需經(jīng)過一次CRC出錯校驗運算。運算方法詳見參考文獻(xiàn)。
一個指令幀由從機(jī)地址、功能碼、數(shù)據(jù)域和CRC校驗碼組成。數(shù)據(jù)域由讀、寫位或字?jǐn)?shù)據(jù)的十六位首地址(高位在前,低位在后)、十六位操作數(shù)(高位在前,低位在后)、最后為十六位CRC校驗碼(低位在前,高位在后)。發(fā)送或接收前后必需有大于3.5MS的延時,以示一個指令幀的開始或結(jié)束。地址碼和功能碼均為一個字節(jié)。
下面舉例說明用MODBUS RTU通信協(xié)議的通信格式:
1)讀觸摸屏指定首地址0x17對應(yīng)單片機(jī)中首地址20H的一個字(十六位)的位狀態(tài)。
觸摸屏發(fā)送通信格式:
單片機(jī)應(yīng)答通信格式:
觸摸屏位地址0x17對應(yīng)單片機(jī)首地址24H.0,回送24H.
0~20H.7,25H.0-25H.7,十六位狀態(tài)。
2)讀觸摸屏指定首地址4xl對應(yīng)單片機(jī)中首地址40H的一個字(40H。41H)的數(shù)值。
觸摸屏發(fā)送通信格式:
單片機(jī)應(yīng)答通信格式:
3)將觸摸屏指定地址位0x18對應(yīng)單片機(jī)中21H(24H.1)位置1或清零。
觸摸屏發(fā)送通信格式:
單片機(jī)應(yīng)答通信格式:
表中置位命令0FF00H為置1,0000H為清零。
4)將觸摸屏指定首地址4x2對應(yīng)單片機(jī)中首地址42H的一個字42H,43H寫入一個設(shè)定值oal64H。
觸摸屏發(fā)送通信格式:
單片機(jī)應(yīng)答通信格式:
用類似的方法,根據(jù)項目要求,選擇控件和編輯控件屬性。
建立觸摸屏與單片機(jī)的地址聯(lián)系,按照MODBUS協(xié)議編寫單片機(jī)與觸摸屏的通信程序。則可實現(xiàn)用觸摸屏顯示單片機(jī)中位狀態(tài)變化,設(shè)定數(shù)值或顯示數(shù)值。
評論