本人是一名在校大學生,去年十月份協助老師做一個項目,其中需要觸摸屏作為人機界面,由于我們的觸摸屏是在戶外使用的,所以需要一定的保護等級,后來我們買了維控的觸摸屏,型號為LEVI777T,老師解釋說選擇該觸摸屏的主要原因是它滿足IP65保護等級。但是當我們使用時才發現該觸摸屏的工作方式與之前的觸摸屏工作方式不太一樣,之前的觸摸屏是作為單片機的從機,單片機控制觸摸屏的顯示,而現在的觸摸屏卻反客為主,變成主機,并向單片機不斷發送消息,詢問自己的狀態。我意識到這是一種新的工作方式,沒辦法只能從頭開始學,從一開始模擬出開關的動作到zui后一步步*制作出項目需要的界面,我深深體會到該觸摸屏給我開發帶來的便利。下面我將從維控觸摸屏的工作方式,界面設計,基本控件的使用,腳本等方面分享自己的心得體會,希望大家在我的基礎上開發出更好的人機界面。
本人選擇的協議ModBus RTU Slave,由于是根據項目需要慢慢摸索的,所以介紹的也是zui常用的幾個方面。
1 觸摸屏的工作方式
在選擇協議為ModBus RTU Slave時,觸摸屏是作為主機的,與之相連的單片機是作為從機的,觸摸屏上的每一種控件都會實時的向單片機發送詢問消息(基于ModBus協議編寫),詢問本控件此時的狀態,單片機必須實時回復該消息,回復的消息也必須是基于ModBus協議的編寫的,觸摸屏如果在一定時限內沒有收到回復指令,那么在該屏的上方就會提示某些地址通訊超時。我們必須保持觸摸屏和單片機的連接,不能讓其出現超時的現象。
2 觸摸屏的界面設計
維控的觸摸屏提供了LEVI Studio工程編輯器這個開發工具幫助我們快速開發出適合自己項目的界面。LEVI Studio 擁有Windows zui流行的界面風格,提供豐富的設計資源,采用所見即所得的設計理念。通過簡單的控件拖放,文本添加,然后通過串口或者 Usb把這個工程下載到觸摸屏,就設計出了自己的人機界面。
下圖是項目的界面,在工程里先把需要的控件擺放妥當,再加上適當的文字說明,根據需要填寫控件的屬性。然后通過串口或者Usb把該工程下到觸摸屏里,觸摸屏顯示的內容跟我們在工程里看到的一模一樣。
主界面
子界面
主要用到的控件有:數字輸入\顯示控件(用于環境參數的顯示和時間等的設定),位開關,功能開關。
3 觸摸屏基本控件的使用
3.1 ModBus協議
由于在工程參數里設置的通訊協議是ModBus RTU Slave,那么屏與單片機之間的通信是基于ModBus協議的。所以有必要了解一下ModBus協議。ModBus協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成為一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。
查詢—回應周期
(1)查詢:查詢消息中的功能代碼告之被選中的從設備要執行何種功能。數據段包含了從設備要執行功能的任何附加信息。例如功能代碼03是要求從設備讀保持寄存器并返回它們的內容。數據段必須包含要告之從設備的信息:從何寄存器開始讀及要讀的寄存器數量。錯誤檢測域為從設備提供了一種驗證消息內容是否正確的方法。
(2)回應:在回應消息中的功能代碼是在查詢消息中的功能代碼的回應。數據段包括了從設備收集的數據:寄存器值或狀態。
2.RTU幀
起始位 設備地址 功能代碼 數據 CRC校驗 結束符
T1-T2-T3-T4 8Bit 8Bit n個8Bit 16Bit T1-T2-T3-T4
單片機與觸摸屏通信的消息都是按照上面這個格式來編寫的。
3.2 位開關的使用
位開關的地址分片內地址和片外地址,片內地址指的是觸摸屏的內部寄存器地址,對這些地址操作是不會引發觸摸屏發消息的。片外地址需要通過串口通信進行操作的。后面的介紹如沒有特殊說明都是指片外地址。
位開關有兩個地址需要設置,分別為操作地址和監控地址。在屏上點一下(觸發)位開關,屏就會發出一條操作地址所指的片外線圈的置位或復位請求。屏隔一段時間發送一條查詢消息來查詢監控地址所指的片外線圈的狀態,外部設備要實時返回該線圈的狀態,如果是開則返回置位狀態,那么觸摸屏上的位開關就會顯示成置位的狀態。把這兩個地址設成一樣(如2#060),以ON開關為例,此時的工作流程如下:在屏點一下開關,觸摸屏就向單片機發送一條置位請求(功能代碼:05),單片機在收到該消息以后,把60所指的位置位,并返回給觸摸屏一條消息,告知此位置位成功,那么觸摸屏上的位開關就會顯示切換到置位的狀態。如果過了段時間60所指的位在外部被復位,等到查詢60所指的位狀態的消息過來,返回給屏的消息告知此位已經復位,那么屏上的位開關就會切換到復位狀態。
涉及通訊的消息如下:
(1)查詢位狀態
請求 :
高字節 低字節 高字節 低字節
fe 01 00 3C 00 08 校驗碼
PLC站號 功能碼 起始位地址 查詢數量
當屏需要不只一個位開關時,每個位開關都需要向單片機發消息了解自己的狀態,這樣就需要發很多條消息。替代的方法是把這些消息聯合起來做一條發,從某個開關開始到zui后一個開關,總共有多少個片外地址,也就是查詢數量,從哪一個片外地址開始,也就是起始位地址,當然這幾個開關的監控地址必須設置成連續的。
響應:
fe 01 01 CD 校驗碼
PLC站號 功能碼 字節數(8個開關=1字節) 8個開關的狀態
響應信息中位開關的狀態與數據區的每一位的值相對應,低位對應低地址的狀態,高位對應高地址的狀態,1=ON,0=OFF。若返回的位開關數不是8的倍數,那么剩余的高位填0。8個位開關的狀態用CD表示,其二進制位表示為1100 1101,那么8個位開關從高地址(左)到低地址(右)的狀態為ON-ON-OFF-OFF-ON-ON-OFF-ON。
(2)強制單個開關
請求:
1. 請求置位 高字節 低字節
fe 05 00 3C FF 00 校驗碼
PLC站號 功能碼 位開關地址 置位請求
2.請求復位 高字節 低字節
fe 05 00 3C 00 00 校驗碼
PLC站號 功能碼 位開關地址 復位請求
FF00請求置位開關為ON狀態,0000請求復位開關為OFF狀態。
回應:與請求對應相同。
根據請求返回指令,告訴觸摸屏此時已經置位或復位成功,觸摸屏解析回復的指令,然后做相應的顯示。
3.3 數字輸入\顯示控件的使用
數字輸入\顯示控件也提供了兩個操作地址:讀取地址和寫入地址。這和位開關控件相似,讀取地址對應于監控地址,數字輸入\顯示控件也會隔一段時間向單片機發送一條消息查詢讀取地址所指的片外寄存器的值,單片機必須實時返回這個值,觸摸屏把返回回來的值在該控件上顯示。寫入地址則對應操作地址,在屏上點一下數字輸入\顯示控件(觸發一下),屏上就會出現一個小鍵盤,選擇點一個數字,屏就會把所選的數字包裝成一條消息發送給單片機,單片機在收到這條消息以后,把寫入地址對應的寄存器的值賦成成屏發過來的數字后,并返回一條消息,告訴屏賦值成功,屏就會在控件上顯示該數字。
一.涉及的通訊消息
(1) 查詢寄存器狀態
1. 請求:
高字節 低字節 高字節 低字節
fe 03 00 6b 00 03 校驗碼
PLC站號 功能碼 開始地址 查詢寄存器數量
2. 回應: 高字節 低字節 高 低 高 低
fe 03 06 00 01 00 02 00 03 校驗碼
PLC站號 功能碼 字節數 *個寄存器 第二個 第三個
用十六位二進制數來表示寄存器的數據,*個寄存器的值為1,第二個寄存器的值為2,第三個寄存器的值為3。
(2) 預置單個寄存器
1. 請求:
高字節 低字節 高字節 低字節
fe 06 00 01 00 03 校驗碼
PLC站號 功能碼 預置的寄存器地址 預置的值
2. 回應:與請求的相同,表示賦值成功。
預置的值可以是用戶從觸摸屏的小鍵盤輸入,也可以是在腳本中賦值。
二.數據處理
在項目中表示環境的一些參數需要用到浮點數和有符號數,在這里我簡單的介紹一下處理方法。
對于浮點數,在數據格式這個屬性項里可以設值小數點的位置,如我們要屏顯示數據格式為:保留一位小數,如15.6。我們就設置小數位為1位,然后把zui終顯示的數(15.6)按擴大十倍(156)來發送,屏接收到數據后會按設定的要求在的位置加上這個小數點,顯示成帶一位小數的格式。
對于有符號數,例如-50,就需要做如下的處理:-50+0xffff+1。其實是把-50首先擴展成16位的二進制數,高位補0,zui高位為符號位。然后再對這個數取補碼。負數的發送就是發送其補碼。
4 觸摸屏腳本的使用
維控觸摸屏提供的腳本豐富了控制手段。在腳本里可以把一些重要的數據存入掉電保護區。利用腳本可以實現一些控制,以項目為例:實現一個定時灌溉,如在近一個月內,每天早上的8點到9點打開閥門澆灌一個小時。這涉及用腳本定時打開和關閉位開關。實現的方法如下:設置個定時腳本,定時時間為1s,這樣這個腳本每一秒就執行一次,在這腳本里首先讀系統時間,然后與設置的時間來比較,如果時間在這個范圍內,就把閥門地址賦值為1,效果相當于點了一下閥門開關,那么屏就向單片機發送消息請求打開閥門,單片機在打開閥門以后,通知觸摸屏閥門已打開,觸摸屏收到消息后,就把閥門開關顯示成開的狀態。關閥門的流程與開閥門的類似。觸摸屏的輔助控制減輕的單片機的負擔,而且兩者結合能把許多問題簡單化,用戶可以根據自己的需求靈活得加以應用。
5 總結
本文從單片機開發的角度,分別從界面設計,基本控件的使用,腳本等幾個方面介紹維控觸摸屏。對于單片機開發維控觸摸屏具有一定的參考價值。只要了解一些基本的原理,用單片機來開發維控觸摸屏也是很簡單的。
上一篇:安全閥常見的故障以及消除方法
下一篇:機器視覺檢測技術及理論發展趨勢
全年征稿/資訊合作
聯系郵箱:1271141964@qq.com
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.xksjj.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025成都國際無人系統(機)技術及設備展覽會
展會城市:成都市展會時間:2025-10-10