精品视频一区二区观看,欧美一区二区视频三区,日韩一区二区三区不卡,欧美中文综合在线视频,欧美综合网亚洲综合网

      ? ? ? ?

      咨詢電話

      ENGLISH0755-88840386
      新聞中心

      咨詢電話

      0755-88840386
      您的位置:首頁 > 學習專題 > 專業(yè)技術專題 > 工業(yè)自動化稱重儀表>詳情頁

      基于Modbus協(xié)議的觸摸屏與多個稱重儀表通信的研究與實現(xiàn)

      發(fā)布時間:2020-10-21 11:08:26 |來源:網(wǎng)絡轉載

      1引言
      Modbus協(xié)議是某公司于1979年開發(fā)的一種通信協(xié)議,可實現(xiàn)與控制器之間的通信。Modbus協(xié)議被大部分數(shù)據(jù)采集與監(jiān)控系統(tǒng)和人機界面軟件支持,它已經(jīng)成為一種通用工業(yè)標準。
      傳統(tǒng)的稱重控制行業(yè)稱重數(shù)據(jù)的上傳一般是通過稱重控制器將重量信號轉換成電流信號(一般是4mA-20mA信號),傳遞的稱重數(shù)據(jù)存在較大的誤差,而如果通過串口總線直接讀取多臺稱重儀表上的計量數(shù)據(jù),可以保證數(shù)據(jù)的實時準確性。Modbus協(xié)議是主從站通信協(xié)議,用異步串口完成通信,物理層采用RS484或RS232。傳輸速率可以達到115kb/s。通信采用命令/應答方式,每一種命令幀對應一個應答帔。命令幀由主機發(fā)出,所有從機都將收到報文,但只有被尋址的從機才會響應命令,返回相應的應答幀,如果報文中尋址地址為0,則被視為全局廣播,所有從機都把它當一條命令執(zhí)行,不返回應答幀。Modbus通信協(xié)議有兩種傳送方式,RTU方式和ASCII方式。RTU模式相對于ASCII模式主要優(yōu)點是表達相同的信息需要較少的位數(shù),且在相同通訊速率下具有更大的數(shù)據(jù)流量。在通常情況下,一般工業(yè)智能儀表都是采用RTU模式的Modbus規(guī)約。
      上海某稱重系統(tǒng)有限公司最近推出的控制儀表XK3190-C801和XK3190-C802(以下簡稱C801和C802)都已內建了標準的ModbusRTU傳輸格式的標準協(xié)議,經(jīng)測試可與眾多廠家的組態(tài)軟件適配,如亞控科技的組態(tài)王軟件,北京三維力控的Forcecontrol,威綸通科技的EB8000組態(tài)系列,昆侖通泰的MCGSE組態(tài)軟件,都有成功的應用范例。本文主要是詳解C801和C802儀表通過ModbusRTU協(xié)議與威綸通觸摸屏通信的研究與實現(xiàn)。
      2系統(tǒng)控制方案
      本系統(tǒng)主要采用觸摸屏、稱重控制器、電流表、模擬傳感器組成。一臺觸摸屏通過RS485總線連接四臺稱重控制器。

      如圖1所示系統(tǒng)組成部分為:2.1模擬傳感器:輸出為mV信號。

      稱重儀表系統(tǒng)總體結構方框圖

      2.2稱重控制儀表:C801和C802是同步研發(fā)的兩款稱重控制儀表,他們都具有體積小、強變送、AD轉換精度高、采用32位高速高性能ARM處理器、帶全隔離0-5V/0-10V/4-20mA模擬量輸出以及光電隔離20mA電流環(huán)大屏幕顯示接口等優(yōu)點,兩者功能基本相同,都支持Modbus-Rtu協(xié)議,他們的主要不同點是安裝方式不同,C801是35mm導軌安裝,C802是面板嵌入式安裝,開口尺寸是91mmx45mm;C801標配隔離式開關量三入三出控制,C802標配隔離式開關量二入二出控制;C801開關量輸出和大屏幕顯示接口互相獨立,可同時使用,而C802開關量輸出和光電隔離20mA電流環(huán)大屏幕顯示接口復用,不能同時使用??傊瓹801和C802都適用于各種高速與高精度稱重要求的控制場合,都集成了加法秤、減法秤、分選秤等功能,用戶可根據(jù)現(xiàn)場需求自主選擇所用儀表。本系統(tǒng)以C801為例。
      2.3觸摸屏:本系統(tǒng)采用某科技有限公司生產(chǎn)的觸摸屏,型號是TK6070ip,具有強大的圖形顯示功能和數(shù)據(jù)處理功能,并支持RS-232和RS-485兩種通訊接口,廣泛應用于機械、紡織、電氣、包裝、化工等行業(yè)。配備圖形功能強大且簡單易用的組態(tài)軟件EasyBuilder8000o用戶可創(chuàng)建出直觀的屏幕畫面,完成監(jiān)控、數(shù)據(jù)上傳顯示和修改等畫面的設計。
      2.4電流表:控制儀表C801接電流表演示4mA-20mA模擬量輸出,模擬量輸出跟C801儀表稱重數(shù)據(jù)線性同步,準確度0.2%;另外用戶可根據(jù)需要修改C801主板上模擬量短路環(huán)的位置將儀表改為0V-5V或0V-10V輸出。
      3系統(tǒng)控制軟件設計
      本系統(tǒng)可通過觸摸屏連接稱重儀表實現(xiàn)功能:
      (1)4臺稱重儀表稱重數(shù)據(jù)和指示燈狀態(tài)信息可在觸摸屏上實時同步顯示;
      (2)按鍵功能實現(xiàn)置零、除皮、啟動和停止配料程序;
      (3)可實現(xiàn)標定,標定密碼可修改;
      (4)可查詢和修改儀表配料參數(shù);
      (5)可査詢配料累計次數(shù)和累計重量;
      (6)可査詢和修改儀表通信站號,修改后需重新連接通信;
      3.1觸摸屏界面設計及功能實現(xiàn)
      本系統(tǒng)設計了以下界面:
      (1)主監(jiān)控界面:如圖2所示四臺儀表主監(jiān)控界面可直觀顯示整個配料控制系統(tǒng)的輸入輸出工作狀況、儀表狀態(tài)信息,從主監(jiān)控界面單按下置零、除皮、啟動、停止按鈕,可分別對C801儀表實現(xiàn)置零、除皮、啟動、停止動作,按下設置按鈕還可以進入每個儀表的配方界面,按下標定按鈕還可以進入每個儀表的標定界面。

      儀表主監(jiān)控界面圖

      (2)配方界面:如圖3所示,可查詢到單個儀表的配方參數(shù)并可以修改同步上傳到C801儀表,也可在該界面査詢到配料累計次數(shù)和累計重量,無法查詢到單次配料重量,累計次數(shù)大于999次時儀表會報錯并清除以前數(shù)據(jù)重新開始累計。

      儀表配方界面圖

      (3)標定界面:如圖4所示,按照界面提示信息選擇儀表分度值、小數(shù)位,并輸入儀表滿量程,在空載點和加載標準秩碼點分別操作實現(xiàn)C801儀表兩點標定。

      儀表標定界面圖

      (4)標定密碼修改界面:觸摸屏默認進入標定密碼為801,在標定密碼修改界面可修改標定密碼。
      (5)儀表通信站號修改界面:用戶在可該界面修改每個儀表通信站號,修改后需斷開重新連接通信。
      觸摸屏界面編程需用到組態(tài)軟件EasyBuilder8000,觸摸屏元件地址屬性參考表1對應設置。如圖5所示讀重量數(shù)值元件設置和圖6所示啟動按鈕位狀態(tài)元件設置所示,觸摸屏上元件地址屬性需在儀表Modbus對應寄存器地址基礎上加lo圖中varO為觸摸屏VarO站號變量,地址為LW-10000,保存有l(wèi)#C801儀表站號地址信息。

      讀重量數(shù)值元件設置圖和啟動按鈕位狀態(tài)元件設置圖

      威綸通功能說明表

      3.2儀表程序設計及功能實現(xiàn)
      通訊數(shù)據(jù)幀分為査詢消息幀和從機響應幀兩類。通用Modbus-Rtu協(xié)議的數(shù)據(jù)幀由一個字節(jié)的地址碼、一個字節(jié)的功能碼和N個字節(jié)的數(shù)據(jù)碼以及兩個字節(jié)的校驗碼構成,并約定在一幀數(shù)據(jù)中最后一個傳送字符的后面,必須有一個至少3.5字符時間間隔標志著信息的結束,下一幀數(shù)據(jù)在這個間隔之后開始。
      C801儀表單片機Modbus驅動程序總體可分為串口和定時器1初始化、RS-485總線數(shù)據(jù)釆集、Modbus報文處理及應答3個基本模塊,其中RS-485總線數(shù)據(jù)采集程序由串口中斷和定時器1中斷配合完成。儀表通信時首先要進行初始化操作,例如設置波特率、選用的通訊方式、串口中斷使能、定時器1工作模式、預分頻系數(shù)、定時器中斷使能等。
      串口收發(fā)器初始默認為接收使能,發(fā)送關閉狀態(tài),當總線空閑,儀表單片機無數(shù)據(jù)接收時,不會進入數(shù)據(jù)處理子程序,循環(huán)執(zhí)行主程序其他部分;當總線有數(shù)據(jù)接收時,如圖7(a)所示,進入串口中斷子程序,將串口數(shù)據(jù)幀放入接收數(shù)據(jù)數(shù)組緩沖區(qū)RxBuffer[Ridx]中,隨即接收緩沖區(qū)指針Ridx自增、初始化定時器1并啟動定時器1后退出本次中斷,以此不斷循環(huán)直到接收最后一個字符幀后,如圖7(b)所示利用定時器1中斷等待總線3.5個字符的空閑時間后,置有通訊數(shù)據(jù)未處理標志。
      如圖7(c)所示,當主程序循環(huán)掃描到有通訊數(shù)據(jù)未處理時,進入數(shù)據(jù)處理子程序,首先檢査報文數(shù)據(jù)長度是否正確(至少為4個字節(jié)),長度正確則驗證報文中從站的站號,站號正確則驗證該報文的CRC16校驗碼是否正確,校驗通過后再根據(jù)報文中的功能碼類別執(zhí)行switch語句的相應分支程序,在這些分支程序里執(zhí)行上位機通過總線
      傳達過來的命令并生成應答報文,填充報文發(fā)送緩沖區(qū)數(shù)組TxBuffer[Sidx],Sidx為發(fā)送數(shù)據(jù)緩沖區(qū)指針,填充完畢后使能收發(fā)器發(fā)送,使用單片機UART_Write(UART_T*UART,uint8_t*pu8TxBuf,uint32_tu32WriteBytes)庫函數(shù)發(fā)送串口數(shù)據(jù),該庫函數(shù)使用査詢方式發(fā)送串口數(shù)據(jù),UART指向使用的串口寄存器地址,Pu8TxBuf指向要發(fā)送的數(shù)據(jù)數(shù)組首地址,u32WriteBytes變量指要發(fā)送的數(shù)據(jù)報文長度,最后單片機在退出數(shù)據(jù)處理子程序之前,都會清接收緩沖器指針和通訊數(shù)據(jù)未處理標志位,置發(fā)送緩沖區(qū)指針,關收發(fā)器發(fā)送使能,表示通訊數(shù)據(jù)處理已結束。

      儀表驅動軟件程序框圖

      C801實現(xiàn)的Modbus功能見表2

      功能表

      C80I和觸摸屏通信用到的寄存器、離散量輸入和線圈見表3-表8,其中表3-表5為C801標準程序就有寄存器、離散量輸入和線圈地址,表6-表8為本系統(tǒng)標定功能添加的寄存器、離散量輸入和線圈地址,以下表格只列出了本系統(tǒng)界面設計用到的功能碼地址,如需完整的功能碼地址信息可査閱C801或C802說明書。需要注意的是,不同的用戶對儀表功能和觸摸屏界面都有自己獨特的需求,某公司都可以通過定制實現(xiàn)不同客戶的需求。
      (1)標準程序自帶寄存器、離散量輸入和線圈

      保存寄存器表

      (2)為了實現(xiàn)通過觸摸屏進行標定操作,增加了以下幾項:

      保存寄存器表

      4 儀表和觸摸屏通信出現(xiàn)的問題和注意要點(系統(tǒng)調試)
      設備在整個調試過程中有一些注意事項及碰到的問題羅列如下:

      (1)提高抗干擾辦法:
      在RS485通訊連線時,要注意采取一些信號抗干擾措施,比如通信線連線時遵循鏈式手拉手的接線方式,防止出現(xiàn)星型連接;推薦采用帶屏蔽的RS485電纜;當線路較長,波特率較高的情況下應在總線首尾端增加匹配電阻,減少反射;485收發(fā)器在規(guī)定的共模電壓-7V至+12V之間時,才能正常工作,如果超出此范圍會影響通訊,嚴重的會損壞通訊接口,共模干擾會增大上述共模電壓,消除共模干擾的有效手段之一是將485通訊線的屏蔽層用作地線,將機具、電腦等網(wǎng)絡中的設備地連接在一起,并由一點可靠地接入大地。
      (2)觸摸屏和儀表通訊參數(shù)配置:
      觸摸屏通信設置如圖8所示,超時延時不宜設置過長,C801儀表通信響應時間為幾毫秒級別,如超過100毫秒儀表對觸摸屏發(fā)送數(shù)據(jù)無響應就已經(jīng)超時了,故將此參數(shù)推薦設為0.1秒,為穩(wěn)定切換數(shù)據(jù)鏈路的收發(fā)狀態(tài),通信延時可設置為50ms,另外C801儀表和觸摸屏通信參數(shù)設置一定要對應,C801儀表通信撥動開關一定要撥向RS485側。

      觸摸屏通信設置界面圖

      (3)C801儀表通信響應時間(上位機發(fā)送結束到儀表開始響應這段時間):
      C801儀表編程時要注意對上位機發(fā)送數(shù)據(jù)的響應的實時性和準確性。
      如圖9,在調試C801儀表程序過程中,曾出現(xiàn)過一個問題,用RS485轉RS232轉接頭將C801儀表連接電腦,用串口調試助手以100ms的周期發(fā)送讀重量命令,可以看到串口調試助手上會有錯誤數(shù)據(jù)出現(xiàn)(總線沖突引起,程序升級后不再出現(xiàn)此類問題)。
      用示波器觀察總線上的通信波形,如圖10,會發(fā)現(xiàn)C801儀表對上位機發(fā)送過來的讀重量命令響應時間不固定,少則10ms,多則超過100ms,說明此問題系總線沖突引起,C801儀表Mod-bus-Rtu通信程序部分存在一定的問題,檢査C801儀表程序發(fā)現(xiàn),儀表將串口數(shù)據(jù)處理子函數(shù)LoadUartlCom_C8010放在一個100ms定時循環(huán)體內,儀表會在定時器。中斷中每隔100ms將b_100ms標志位置位,在主程序循環(huán)體中,儀表會不斷査詢b_l00ms是否為1,如為1才會執(zhí)行串口數(shù)據(jù)處理子函數(shù)LoadUartlCom_C801Q,這樣設計會明顯影響串口數(shù)據(jù)的即時響應,應把串口數(shù)據(jù)處理子函數(shù)LoadUartlCom_C801Q放在100ms定時循環(huán)體外,主程序循環(huán)體中,按照此方法升級標準程序后,燒錄新的程序到C801儀表中,用示波器觀察總線上的通信波形如圖11,C801通信響應時間是固定的,約5ms左右,圖9的問題也不再出現(xiàn)。

      總線上的通信波形圖

      5小結
      總之,通過本系統(tǒng)C801/C802儀表與威綸通觸摸屏通信的研究,可以發(fā)現(xiàn)C801/C802儀表ModbusRTU通信能夠正常實現(xiàn),上位機與下位機的通信穩(wěn)定可靠,傳輸數(shù)據(jù)準確及時,人機界面使用方便,非常適合用于無人值守和集中控制場合,是值得廣大用戶值得信賴的選擇。

       

       

      文章來源于網(wǎng)絡轉載,侵刪

      分享到