谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

Modbus協議在皮帶秤計量係統中的應用

發布時間:2021-04-08 14:18:22 |來源:網絡轉載

重鋼股份公司下屬的鐵前各工序,比如物運、焦化、燒結、球團、煉鐵都是采用皮帶秤計量作為各工序成本核算的依據。為了保證計量數據的準確性,同時又基於硬件、軟件投資利潤率和性能價格比的考慮,對各工序皮帶秤計量建立了一個數據釆集網絡,通過Modbus通訊協議直接讀取各稱重儀表數據,完成各種物資重量數據釆集,生成計量報表。通過該係統可以實現各工序原料、產量的準確計量,滿足工序成本核算的需要,為優化各工序生產提供數據支持。同時,對各工序皮帶秤要安裝視頻監視,為計量數據提供視頻依據。
1網絡配置
鋼鐵生產線鐵前生產工藝包島物商儲運、焦化、燒結、球團和煉鐵工序。礦石、原輔料的轉運和燒結礦、球團礦、焦炭、焦末等的轉運都要通過皮帶秤計量,核算各工序的生產成本。
由於各工序區域分散,皮帶秤安裝位置分散,要保證工作效率就需要建立一個計量數據釆集網絡。該網絡釆用主從式點對點的通訊方式,由18台皮帶秤稱重儀表(比如BW500)和1台PC機構成。根據皮帶秤安裝位置,將網絡上的18台設備分成了3條RS485總線,每條RS485總線分別接入串口服務器,串口服務器的RJ45接口通過雙絞線與上位機網卡相連。上位機編程采用Modbus通訊協議直接讀取稱重儀表中的數據,釆集後將數據送入計量管理係統。同時,現場視頻通過數據光端機將視頻信號傳入視頻編碼器,遠傳後,通過解碼器顯示出來。數據采集原理如圖1所示。皮帶秤計量係統網絡連接如圖2所示。

數據采集原理圖

皮帶秤計量係統網絡連接圖

2係統功能
該係統針對鋼鐵行業鐵前工序皮帶秤建立了一套數據釆集網絡,上位機通過ModbusRTU協議讀取各條RS485總線上的皮帶秤稱重儀表中的計量數據,並及時將讀取的計量數據傳遞給計量管理係統,生成計量報表,同時,通過實時計量數據,可以對皮帶秤的運行狀況進行有效監控,及時發現設備故障及時處理,為計量數據的準確性提供了保障。該方式與傳統的皮帶秤計量統計方式相比,保證了計量數據的準確性。傳統皮帶秤計量,其中一種方式是通過稱重儀表將重量信號轉換成電流信號送進PLC模板,通過積分計算出腥數據;另一種方式麺過皮帶秤稱重儀表脈衝信號的累積計量數據。由於第一種方式沒有考慮補償因素,其誤差較大;第二種方式受稱重儀表到PLC距離的限製,距離太遠時,傳遞的計量數據存在較大的誤差,而該係統通過直接讀取稱重儀表上的計量數據,可以保證計量數據的準確性。
鐵前工序皮帶秤安裝位置分散,係統根據皮帶秤的分布情況,建立了3條RS485總線,分別接入串口服務器,完成串口在PC機中的映射,實現RS485到RS232的轉換。實際讀數時,對3個串口所掛設備分別讀數。在串行通訊中,主要是借助VB開發平台下的MSComm,Timer控件來實現,計量畫麵如圖3所示。

皮帶秤計量畫麵圖

3Modbus通訊協議對係統功能的實現
Modbus通訊協議采用主從工作方式,允許1台主機和多台從機通信。每台從機地址由用戶設定,地址範圍為1~255.通信采用命令/應答方式,每一種命令幀對應一個應答幀。命令幀由主機發出,所有從機都將收到報文,但隻有被尋址的從機才會響應相應命令,返回相應的應答幀。
圖4是一個完整的主從査詢一回應周期。如果報文中尋址地址為0,則被視為全局廣播,所有從機都把它當一條命令執行,不返回應答幀。

完整的主從査詢一回應周期圖

3.1Modbus通訊協議
Modbus通訊協議有兩種傳送方式,RTU方式和ASCII方式。
ASCII模式:當控製器或智能儀表在Modbus網絡上以ASCII模式通信,在消息中的每八比特字節將作為2個ASCn字符被發送。這種傳送方式的主要優點是字符發送時間間隔可達到1s,而不發生錯誤。
RTU模式:當控製器或智能儀表在Modbus網絡上以RTU模式通信,在消息中的每八比特字節包含2個4bit的十六進製字符。這種傳送方式的主要優點是相對於ASCII模式,RTU模式表達相同的信息需要較少的位數,且在相同通訊速率下具有更大的數據K8凯发登录入口。在通常情況下,一般工業智能儀表都是釆用RTU模式的Modbus規約。本文所使用的稱重儀表BW500、ICS-300均支持ModbusRTU通訊模式。
3.2ModbusRTU消息幀格式
使用RTU模式時,消息發送至少要以3.5個字符時間的停頓間隔開始(如圖5中的Tl—T2—T3—T4所示)。傳輸的第一個域是設備地址,可以使用的傳輸字符是十六進製的0~9,A~Fo網絡設備不斷偵測網絡總線,當接收到第一個域(地址域),每個設備都將進行解碼,以判斷是否是發給自己的。在最後一個字符傳輸之後,一個至少3.5個字符時間的停頓標定了消息的結束,一個新的消息可在此停頓後開始,整個消息幀必須作為連續的流傳輸。如果在幀完成之前有超過3.5個字符時間的停頓時間,接收設備將刷新不完整的消息,並假定下一字節是一個新消息的地址域。同樣地,如果一個新消息在小於3.5個字符時間內接著前一消息開始,接收的設備將認為它是前一消息的延續。這將會導致一個錯誤,因為在最後的CRC域的值不可能是正確的。典型的RTU模式的消息結構如圖5所示。

RTU模式的消息結構圖

3.3主機通訊軟件的設計
皮帶秤稱重儀表BW500、ICS-300都支持ModbusRTU協議,儀表中的信息包含動態信息、查詢信息和控製信息。該係統主要是完成對計量數據和設備運行狀態信息的釆集,上位機釆集數據時,主要是釆用輪巡的方式,由於皮帶秤分布在鐵前物運、焦化、燒結和球團各工序中,比較分散,如圖1所示,將18台皮帶秤劃分成3條RS485總線,分別接入串口服務器,在PC機上安裝串口映射軟件後,針對使用的串口釆用周期性輪巡的方式采集稱重儀表的數據。
3.3.1MSComm控件與串行通信
從稱重儀表RS485接口傳輸的信號通過串口服務器後,完成了從RS485信號到RS232信號的轉換。通過主機上串口服務器端口映射軟件的串口映射,實質上主機中的通訊軟件就是對RS232通訊端口進行編程。使用多個通訊端口時,就需對每個端口進行通訊編程。本文中使用了3個串口。
主機通信軟件釆用Windows環境下的VB6.0進行編程。
VB6.0與Windows係統有著非常完美的接口,VB6.0提供了一個非常方便的MSComm通信控件。應用程序嵌入MSComm通信控件,通過MSComm通信控件提供的事件驅動或查詢方式進行串行通信管理。
3.3.2編程關鍵點
Modbus通訊協議規範:起始符+設備地址+功能代碼+數據+校驗和+結束符。通過協議規範不難看出,“校效和”在整個規範中非常重要。RS232通訊格式裏的奇偶校驗方式並不能保證每個字符都正確,所以,需要把所有字符的值按照某種規律計算,將計算得到的字符(校驗和)傳給接收方。接收時,再把接收到的字符值按照某種規律計算,將得到的字符與發送方傳送過來的校驗和字符進行比較——如果相等,就算接收正確了。
3.3.2.1實現校驗
ModbusRTU通訊方式的"校驗和”,即CRC校驗有兩種方法:計算法和查表法。計算法就是依據CRC校驗碼的產生原理來設計程序。其優點是模塊代碼少、修改靈活、可移植性好;其缺點是計算量大。而査表法的優缺點正好與計算法相反,因為對於固定字節CRC校驗計算的多項式因子,其CRC值是固定的,因而,釆用查表法可以簡化計算過程、節省應答時間、提高通信效率。本文采用的是計算法,計算步驟如下:
參與CRC計算的是設備地址、功能代碼和數據。①設置CRC寄存器,並給其賦值FFFF(十六進製);②將參與校驗的第一個字節與16位CRC寄存器的低8位進行異或,並把結果存入CRC寄存器;③CRC寄存器向右移1位,MSB補0,移出並檢査LSB;④如果LSB為0,重複上一步;如果LSB為1,CRC寄存器與多項式碼A001(十六進製)相異或;⑤重複③和④,直到8次移位全部完成,此時第一個字節數據處理完畢;⑥重複②~⑤,直到所有字節數據全部處理完成;⑦)最終CRC寄存器的內容即為CRC值;⑧發送時,先發CRC寄存器低字完成對計量數據和設備運行狀態信息的釆集,上位機釆集數據時,主要是釆用輪巡的方式,由於皮帶秤分布在鐵前物運、焦化、燒結和球團各工序中,比較分散,如圖1所示,將18台皮帶秤劃分成3條RS485總線,分別接入串口服務器,在PC機上安裝串口映射軟件後,針對使用的串口釆用周期性輪巡的方式采集稱重儀表的數據。
3.3.1MSComm控件與串行通信
從稱重儀表RS485接口傳輸的信號通過串口服務器後,完成了從RS485信號到RS232信號的轉換。通過主機上串口服務器端口映射軟件的串口映射,實質上主機中的通訊軟件就是對RS232通訊端口進行編程。使用多個通訊端口時,就需對每個端口進行通訊編程。本文中使用了3個串口。
主機通信軟件釆用Windows環境下的VB6.0進行編程。
VB6.0與Windows係統有著非常完美的接口,VB6.0提供了一個非常方便的MSComm通信控件。應用程序嵌入MSComm通信控件,通過MSComm通信控件提供的事件驅動或查詢方式進行串行通信管理。
3.3.2編程關鍵點
Modbus通訊協議規範:起始符+設備地址+功能代碼+數據+校驗和+結束符。通過協議規範不難看出,“校效和”在整個規範中非常重要。RS232通訊格式裏的奇偶校驗方式並不能保證每個字符都正確,所以,需要把所有字符的值按照某種規律計算,將計算得到的字符(校驗和)傳給接收方。接收時,再把接收到的字符值按照某種規律計算,將得到的字符與發送方傳送過來的校驗和字符進行比較——如果相等,就算接收正確了。
3.3.2.1實現校驗
ModbusRTU通訊方式的"校驗和”,即CRC校驗有兩種方法:計算法和查表法。計算法就是依據CRC校驗碼的產生原理來設計程序。其優點是模塊代碼少、修改靈活、可移植性好;其缺點是計算量大。而査表法的優缺點正好與計算法相反,因為對於固定字節CRC校驗計算的多項式因子,其CRC值是固定的,因而,釆用查表法可以簡化計算過程、節省應答時間、提高通信效率。本文采用的是計算法,計算步驟如下:
參與CRC計算的是設備地址、功能代碼和數據。①設置CRC寄存器,並給其賦值FFFF(十六進製);②將參與校驗的第一個字節與16位CRC寄存器的低8位進行異或,並把結果存入CRC寄存器;③CRC寄存器向右移1位,MSB補0,移出並檢査LSB;④如果LSB為0,重複上一步;如果LSB為1,CRC寄存器與多項式碼A001(十六進製)相異或;⑤重複③和④,直到8次移位全部完成,此時第一個字節數據處理完畢;⑥重複②~⑤,直到所有字節數據全部處理完成;⑦)最終CRC寄存器的內容即為CRC值;⑧發送時,先發CRC寄存器低字節,後發CRC寄存器高字節。
MSB是MostSignificantBit的縮寫,意為最高有效位;LSB是LeastSignificantBit的縮寫,意為最低有效位。通常,MSB位於二進製數的最左側,LSB位於二進製數的最右側。
主機發送查詢命令或接收從機應答數據時,校驗碼的計算是通過調用函數Chr_crc()實現的,函數Chr_crc()放在程序模塊中。
3.3.2.2實現周期性輪巡發送
為T保證主機不斷地將查詢命令下達到各個從機,對每條RS485總線即每個使用的COM串口,程序中使用1個定時器控件Timer1,將Timer控件的間隔屬性設置為100mso在定時器的Timer事件過程中寫入主機向1台從機發送查詢信息。這樣,每隔100ms調用一次子程序,即主機向1台從機完成一次命令發送。
如果主機是對各個從機的同一個數據信息進行查詢,那査詢信息幀的命令內容是完全相同的,除了從機地址碼不同外,其格式基本相同。發送命令子程序流程圖如圖6所示。

發送命令子程序流程圖

具體代碼如下:
3.3.2.3判斷CommEvent事件實現循環接收
主機接收從機的響應數據時,通過判斷CommEvent事件實現數據的循環接收。對於固定信號的智能儀表或控製器,當査詢信息確定後,返回的數據格式是固定的,為數據接收解析提供了固定方式。
具體代碼如下:

儀表具體代碼圖
33.2.4窗體載入事件過程
窗體載入事件FormLoad在程序剛開始時被調用,負責設置通信端口參數,啟動定時器Timerl.主要程序代碼如下:

儀表主要程序代碼圖
儀表主要程序代碼圖

4結束語
在該數據釆集係統中,共18台皮帶秤稱重儀表。根據皮帶秤的分布情況,將18台設備分別掛在了3條RS485總線上,每條RS485總線分別接入串口服務器。通過串口映射,軟件中使用了3個串口COM1,COM2,COM3分別對3個串口編寫通訊程序讀取數據,所選用的傳輸波特率為9600bps,在PC機上每隔1s更新一次。在實際通訊過程中,可根據工業現場具體情況調整傳輸波特率和輪巡周期。
本文中介紹的通信軟件已被應用於皮帶秤計量係統中,實踐證明,該係統能夠正常運行,上位機與下位機的通信穩定可靠,軟件使用方便,保證了計量數據的準確性,實現了皮帶秤的遠程無人值守計量,為公司各工序成本核算提供了準確的數據。

作者:鄒劍峰

 

深圳市k8凯发版官网儀器有限公司是一家專門從事稱重儀表和全自動包裝碼垛生產線的研發及生產的高新技術企業,所生產的JY500係列稱重顯示控製器(包括配料秤儀表、皮帶秤儀表、包裝秤儀表、重量變送器等)高速高精度,使用壽命長。k8凯发版官网儀器有十數年的現場校驗經驗,在業內有良好的口碑,且有專門的售後工程師幫忙解決產品使用過程中遇到的技術問題,客戶可以放心省心順心的使用我司的產品。如果對我司的產品感興趣,歡迎谘詢。

 

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8