在工控行業里,經常需要采集一些數據和控制動作,通過PLC來實現的話不但成本昂貴,而且靈活度和擴展都是問題。如果需要獨立開發一種特殊功能,又需要連接觸摸屏通訊,工程師在這個方面往往需要花費很大功夫,單片機與人機界面觸摸屏通訊的最簡單,最有效的 2種方法,其實就是分為2種通訊協議,即工業標準的 Modbus RTU協議和工程師自己定義的自由協議。 我采用了廣州微嵌公司(公司網站:555555">http://www.wqlcd.com)的人機界面作為參考,因為其提供了一些技術支持和單片機源代碼,此人機界面可支持自由協議,開發工程比較方便。 方案比較: 方案一 modbus—rtu協議: 優點:工業標準通訊協議,具有通用性,,傳輸數據量大 缺點:需要時間去了解協議的格式和以及按照規定編寫通訊程序 (廣州微嵌提供MODBUS-RTU源代碼,直接移植就可以) 方案二 自由協議: 優點:數據格式客戶自己定義,靈活多變,定制性強,可以模擬任何已知報文的通訊協議 缺點:傳輸數據量不大,通用性不強,移植不方便 工程師可以根據以上兩種通訊協議的優缺點來選擇理想的方案; 現在先介紹微嵌公司的人機界面的modbus—rtu協議。 首先下載人機界面的組態軟件: http://www.wqlcd.com/new/league.asp?keyno=34(現在公司出來了4.0的新版本,增加了不少新功能,所以我以此版本作介紹) 下載安裝好軟件之后,新建一個工程文件,型號對應的是公司出產產品型號, 然后點擊下面的通道選擇modbus—rtu協議: 可以通過[新增]擴展通訊接口設置擴展數量由硬件決定,微嵌的人機界面串口既可以做RS232,又可以做RS485,根據客戶工程需求接線,通訊協議對應的就是單片機工程師需要用的協議,其中有Modbus rtu協議,自由協議Free Protocol,當然還包括西門子200,臺達PLC,歐姆龍,三菱等協議。 我們隨便建一個比較簡單實用的采集單片機的數據(AD采集)顯示在組態軟件的點陣數碼管(單片機可以通過串口與計算機連接在線模擬,方便開發工程) 然后我們要給各通道指定一個寄存器地址,方法實現如下: 所有的通道都設置好后把工程下載到人機界面顯示屏里(或在線模擬)。 給單片機板燒錄modbus—rtu協議及簡單的四路模擬量采集功能: 附件內有部分單片機modbus—rtu協議源碼及方案說明 技術支持QQ:315033726 |