隨著觸摸屏的應(yīng)用和產(chǎn)量的增加,價(jià)格下降。因而有可能使用觸摸屏作為單片機(jī)控制設(shè)備的鍵盤和顯示裝置,提高單片機(jī)控制設(shè)備的檔次。觸摸屏與PLC聯(lián)合使用時(shí),觸摸屏的主要功能是:
①顯示PLC輸入,輸出端13或輔助繼電器的開關(guān)狀態(tài)。
②用觸摸按鍵強(qiáng)制PLC輸入,輸出端口或輔助繼電器的開/關(guān)。
③顯示PLC中定時(shí)器、計(jì)數(shù)器和數(shù)據(jù)寄存器的內(nèi)容。
④用觸摸屏鍵盤把設(shè)定數(shù)據(jù)送入PLC的數(shù)據(jù)寄存器中。
可規(guī)納成觸摸屏與PLC問(wèn)對(duì)應(yīng)地址的數(shù)據(jù)位、字的讀和寫。因此可以利用MOD—BUS通信協(xié)議來(lái)實(shí)現(xiàn)觸摸屏與單片機(jī)的通信和控制,或觸摸屏與多臺(tái)單片機(jī)通信,構(gòu)成一個(gè)集散控制系統(tǒng)。
1 觸摸屏與單片機(jī)的硬件聯(lián)接
采用MT500觸摸屏與AT89C52單片機(jī)一對(duì)一通信。把觸摸屏的PLC232 9針插座與帶有RS232接口的AT89C52單片機(jī)相連接。如圖1所示。注意:通信電纜DB9是2-2、3—3、5-5。
這種接法的電纜也可用于與PC機(jī)通信或做通信摸擬。作PC機(jī)通信時(shí)在連接PC機(jī)端的DB9短接4—6、7—8。由于AT89C52單片機(jī)無(wú)RS232接口,因此需要擴(kuò)展一片MAx232,把RXD、T×D的TTL電平轉(zhuǎn)換成RS232電平。
圖1 觸摸屏與單片機(jī)通信聯(lián)接方法
2 建立觸摸屏與單片機(jī)的內(nèi)部存儲(chǔ)器地址對(duì)應(yīng)關(guān)系
打開觸摸屏組態(tài)軟件,從[編輯]下拉菜單中選[系統(tǒng)參數(shù)],彈出如圖2所示參數(shù)設(shè)置對(duì)話框。觸摸屏的系統(tǒng)參數(shù)中PLc類型設(shè)置成MODBUS RTU,通信參數(shù)設(shè)置必需與單片機(jī)通信參數(shù)設(shè)置一致。通信口類型設(shè)置成RS232,數(shù)據(jù)位設(shè)置成8位,1個(gè)停止位,波特率9600,校驗(yàn)位設(shè)置與單片機(jī)編程一致,PLC站號(hào)是單片機(jī)定義的站地址一樣,站號(hào)需從1開始。參數(shù)設(shè)置完成,按確定鍵。
圖2參數(shù)設(shè)置對(duì)話框
這時(shí)觸摸屏的可操地址范圍如表1所示。
表1 觸摸屏在設(shè)置成MODBUS RTU摸式時(shí)可操作地址范圍
Ox1—Ox9999、1×1—1x9999用于位操作的存儲(chǔ)器,3xl一3x9999、4xl一4x9999用于字操作的存儲(chǔ)器。lxl一1x9999作為輸入節(jié)點(diǎn)(只讀)位操作的存儲(chǔ)器,用作觸摸屏上的位狀態(tài)指示燈。Oxl~oX9999可讀可寫,可作位狀態(tài)指示燈、按鍵、觸發(fā)控制摸位等。3xl-3x9999作為輸入數(shù)據(jù)存儲(chǔ)器,可作觸摸屏中的數(shù)值顯示元件和多狀態(tài)指示燈等。4xl一4x9999可讀可寫,可作觸摸屏中的數(shù)值輸入元件和多狀態(tài)設(shè)定元件等。其地址采用十進(jìn)制數(shù)表示。OxO、lx0、3xO、4x0不可使用,否則編譯時(shí)會(huì)出錯(cuò)。
在單片機(jī)中可自由定義分配與觸摸屏相對(duì)應(yīng)的寄存器地址。
如假設(shè)P2、P3口為輸入口,P0、P1為輸出口。為了便于單片機(jī)編程,可以把P2、P3口的引腳狀態(tài)映射到20H、21H,與觸摸屏lxl一1x16相對(duì)應(yīng)。把P0、P1輸出口數(shù)據(jù)存到寄存器22H、23H,與觸摸屏0xl一0x16相對(duì)應(yīng)。24H一28H作為位操作存儲(chǔ)區(qū),與觸摸屏0x16-1x56相對(duì)應(yīng)。把30H-3F:H設(shè)置成8個(gè)數(shù)據(jù)顯示寄存器,與觸摸屏3xl-3x8相對(duì)應(yīng)。把40H一4FH設(shè)置成8個(gè)數(shù)據(jù)設(shè)置寄存器,與觸摸屏4x1-4x8相對(duì)應(yīng)。這樣可列出觸摸屏與單片機(jī)通信地址對(duì)應(yīng)表,位地址如表2所示。字地址如表3所示。
表2摸屏與單片機(jī)通信位地址對(duì)應(yīng)表
表3摸屏與單片機(jī)通信字地址對(duì)應(yīng)表
3 觸摸屏組態(tài)軟件編輯
打開觸摸屏組態(tài)軟件,先按上述方法設(shè)置[系統(tǒng)參數(shù)],光標(biāo)移到[窗口/元件選擇列表框],單擊鼠標(biāo)右鍵,新建一個(gè)窗口,按要求填寫對(duì)話框。按確定鍵,出現(xiàn)一個(gè)編輯窗,下面以設(shè)置一個(gè)位狀態(tài)顯示元件(指示燈)和一個(gè)數(shù)值顯示元件(數(shù)據(jù)顯示窗)為例,說(shuō)明觸摸屏編輯的地址與單片機(jī)內(nèi)的地址建立相互聯(lián)系的方法。現(xiàn)以要顯示單片機(jī)中位20H(24H.0)的狀態(tài)和顯示40H、41H的數(shù)值為例。把鼠標(biāo)點(diǎn)擊元件工具箱中的元件圖或從菜單[元件]的選項(xiàng)中拖出一個(gè)位狀態(tài)指示元件。并彈出位狀態(tài)顯示元件屬性對(duì)話框。
在讀取地址欄[設(shè)備類型]中選0x,[設(shè)備地址]寫入17,見表2,0x17對(duì)應(yīng)20H,選擇適當(dāng)?shù)膱D形、標(biāo)簽、大小和位置。按確定鍵。對(duì)話框消失,在編輯窗口出現(xiàn)一個(gè)位狀態(tài)顯示元件L1。一旦建立了正確的通信關(guān)系,則這個(gè)位狀態(tài)顯示元件的不同顯示狀態(tài)反應(yīng)了單片機(jī)中位20H狀態(tài)的變化。
把鼠標(biāo)點(diǎn)擊元件工具箱中的元件圖或從菜單[元件]的選項(xiàng)中拖出一個(gè)數(shù)值顯示元件。并彈出數(shù)值顯示元件屬性對(duì)話框。如圖3所示。
圖3數(shù)值顯示元件一性對(duì)話框
在讀取地址欄[設(shè)備類型]中選敘,[設(shè)備地址]寫入1,見表3,3xl對(duì)應(yīng)40H(高位),41H(低位),選擇適當(dāng)?shù)膱D形、標(biāo)簽、大小和位置。按確定鍵,對(duì)話框消失。
在編輯窗口出現(xiàn)一個(gè)數(shù)值顯示元件,一旦建立了正確的通信關(guān)系,則這個(gè)數(shù)值顯示元件顯示單片機(jī)中位40H(高位),41H(低位)的數(shù)值。
4 MODBUS RTU(遠(yuǎn)程終端設(shè)備)通信協(xié)議簡(jiǎn)介
觸摸屏與單片機(jī)通信是主從通信方式,觸摸屏是主機(jī),單片機(jī)是從機(jī)。觸摸屏根據(jù)畫面編輯的控件,不斷發(fā)送位、字的讀或?qū)懙闹噶睢纹瑱C(jī)不斷應(yīng)答指令。
本文介紹MODBUS RTU通信格式,字符幀由8個(gè)數(shù)據(jù)位,1個(gè)起始位,1個(gè)停止位,1個(gè)奇偶校驗(yàn)位(當(dāng)不采用校驗(yàn)位時(shí),則設(shè)置2個(gè)停止位)。發(fā)送或接收每個(gè)字節(jié),必需經(jīng)過(guò)一次CRC出錯(cuò)校驗(yàn)運(yùn)算。運(yùn)算方法詳見參考文獻(xiàn)。
一個(gè)指令幀由從機(jī)地址、功能碼、數(shù)據(jù)域和CRC校驗(yàn)碼組成。數(shù)據(jù)域由讀、寫位或字?jǐn)?shù)據(jù)的十六位首地址(高位在前,低位在后)、十六位操作數(shù)(高位在前,低位在后)、最后為十六位CRC校驗(yàn)碼(低位在前,高位在后)。發(fā)送或接收前后必需有大于3.5MS的延時(shí),以示一個(gè)指令幀的開始或結(jié)束。地址碼和功能碼均為一個(gè)字節(jié)。
下面舉例說(shuō)明用MODBUS RTU通信協(xié)議的通信格式:
1)讀觸摸屏指定首地址0x17對(duì)應(yīng)單片機(jī)中首地址20H的一個(gè)字(十六位)的位狀態(tài)。
觸摸屏發(fā)送通信格式:
單片機(jī)應(yīng)答通信格式:
觸摸屏位地址0x17對(duì)應(yīng)單片機(jī)首地址24H.0,回送24H.
0~20H.7,25H.0-25H.7,十六位狀態(tài)。
2)讀觸摸屏指定首地址4xl對(duì)應(yīng)單片機(jī)中首地址40H的一個(gè)字(40H。41H)的數(shù)值。
觸摸屏發(fā)送通信格式:
單片機(jī)應(yīng)答通信格式:
3)將觸摸屏指定地址位0x18對(duì)應(yīng)單片機(jī)中21H(24H.1)位置1或清零。
觸摸屏發(fā)送通信格式:
單片機(jī)應(yīng)答通信格式:
表中置位命令0FF00H為置1,0000H為清零。
4)將觸摸屏指定首地址4x2對(duì)應(yīng)單片機(jī)中首地址42H的一個(gè)字42H,43H寫入一個(gè)設(shè)定值oal64H。
觸摸屏發(fā)送通信格式:
單片機(jī)應(yīng)答通信格式:
用類似的方法,根據(jù)項(xiàng)目要求,選擇控件和編輯控件屬性。
建立觸摸屏與單片機(jī)的地址聯(lián)系,按照MODBUS協(xié)議編寫單片機(jī)與觸摸屏的通信程序。則可實(shí)現(xiàn)用觸摸屏顯示單片機(jī)中位狀態(tài)變化,設(shè)定數(shù)值或顯示數(shù)值。
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44498瀏覽量
632155 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6517瀏覽量
110391 -
觸摸屏
+關(guān)注
關(guān)注
42文章
2285瀏覽量
115832
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論