咨詢電話
ENGLISH0755-88840386發(fā)布時間:2021-04-08 14:18:22 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
重鋼股份公司下屬的鐵前各工序,比如物運、焦化、燒結(jié)、球團(tuán)、煉鐵都是采用皮帶秤計量作為各工序成本核算的依據(jù)。為了保證計量數(shù)據(jù)的準(zhǔn)確性,同時又基于硬件、軟件投資利潤率和性能價格比的考慮,對各工序皮帶秤計量建立了一個數(shù)據(jù)釆集網(wǎng)絡(luò),通過Modbus通訊協(xié)議直接讀取各稱重儀表數(shù)據(jù),完成各種物資重量數(shù)據(jù)釆集,生成計量報表。通過該系統(tǒng)可以實現(xiàn)各工序原料、產(chǎn)量的準(zhǔn)確計量,滿足工序成本核算的需要,為優(yōu)化各工序生產(chǎn)提供數(shù)據(jù)支持。同時,對各工序皮帶秤要安裝視頻監(jiān)視,為計量數(shù)據(jù)提供視頻依據(jù)。
1網(wǎng)絡(luò)配置
鋼鐵生產(chǎn)線鐵前生產(chǎn)工藝包島物商儲運、焦化、燒結(jié)、球團(tuán)和煉鐵工序。礦石、原輔料的轉(zhuǎn)運和燒結(jié)礦、球團(tuán)礦、焦炭、焦末等的轉(zhuǎn)運都要通過皮帶秤計量,核算各工序的生產(chǎn)成本。
由于各工序區(qū)域分散,皮帶秤安裝位置分散,要保證工作效率就需要建立一個計量數(shù)據(jù)釆集網(wǎng)絡(luò)。該網(wǎng)絡(luò)釆用主從式點對點的通訊方式,由18臺皮帶秤稱重儀表(比如BW500)和1臺PC機(jī)構(gòu)成。根據(jù)皮帶秤安裝位置,將網(wǎng)絡(luò)上的18臺設(shè)備分成了3條RS485總線,每條RS485總線分別接入串口服務(wù)器,串口服務(wù)器的RJ45接口通過雙絞線與上位機(jī)網(wǎng)卡相連。上位機(jī)編程采用Modbus通訊協(xié)議直接讀取稱重儀表中的數(shù)據(jù),釆集后將數(shù)據(jù)送入計量管理系統(tǒng)。同時,現(xiàn)場視頻通過數(shù)據(jù)光端機(jī)將視頻信號傳入視頻編碼器,遠(yuǎn)傳后,通過解碼器顯示出來。數(shù)據(jù)采集原理如圖1所示。皮帶秤計量系統(tǒng)網(wǎng)絡(luò)連接如圖2所示。
2系統(tǒng)功能
該系統(tǒng)針對鋼鐵行業(yè)鐵前工序皮帶秤建立了一套數(shù)據(jù)釆集網(wǎng)絡(luò),上位機(jī)通過ModbusRTU協(xié)議讀取各條RS485總線上的皮帶秤稱重儀表中的計量數(shù)據(jù),并及時將讀取的計量數(shù)據(jù)傳遞給計量管理系統(tǒng),生成計量報表,同時,通過實時計量數(shù)據(jù),可以對皮帶秤的運行狀況進(jìn)行有效監(jiān)控,及時發(fā)現(xiàn)設(shè)備故障及時處理,為計量數(shù)據(jù)的準(zhǔn)確性提供了保障。該方式與傳統(tǒng)的皮帶秤計量統(tǒng)計方式相比,保證了計量數(shù)據(jù)的準(zhǔn)確性。傳統(tǒng)皮帶秤計量,其中一種方式是通過稱重儀表將重量信號轉(zhuǎn)換成電流信號送進(jìn)PLC模板,通過積分計算出腥數(shù)據(jù);另一種方式麺過皮帶秤稱重儀表脈沖信號的累積計量數(shù)據(jù)。由于第一種方式?jīng)]有考慮補(bǔ)償因素,其誤差較大;第二種方式受稱重儀表到PLC距離的限制,距離太遠(yuǎn)時,傳遞的計量數(shù)據(jù)存在較大的誤差,而該系統(tǒng)通過直接讀取稱重儀表上的計量數(shù)據(jù),可以保證計量數(shù)據(jù)的準(zhǔn)確性。
鐵前工序皮帶秤安裝位置分散,系統(tǒng)根據(jù)皮帶秤的分布情況,建立了3條RS485總線,分別接入串口服務(wù)器,完成串口在PC機(jī)中的映射,實現(xiàn)RS485到RS232的轉(zhuǎn)換。實際讀數(shù)時,對3個串口所掛設(shè)備分別讀數(shù)。在串行通訊中,主要是借助VB開發(fā)平臺下的MSComm,Timer控件來實現(xiàn),計量畫面如圖3所示。
3Modbus通訊協(xié)議對系統(tǒng)功能的實現(xiàn)
Modbus通訊協(xié)議采用主從工作方式,允許1臺主機(jī)和多臺從機(jī)通信。每臺從機(jī)地址由用戶設(shè)定,地址范圍為1~255.通信采用命令/應(yīng)答方式,每一種命令幀對應(yīng)一個應(yīng)答幀。命令幀由主機(jī)發(fā)出,所有從機(jī)都將收到報文,但只有被尋址的從機(jī)才會響應(yīng)相應(yīng)命令,返回相應(yīng)的應(yīng)答幀。
圖4是一個完整的主從査詢一回應(yīng)周期。如果報文中尋址地址為0,則被視為全局廣播,所有從機(jī)都把它當(dāng)一條命令執(zhí)行,不返回應(yīng)答幀。
3.1Modbus通訊協(xié)議
Modbus通訊協(xié)議有兩種傳送方式,RTU方式和ASCII方式。
ASCII模式:當(dāng)控制器或智能儀表在Modbus網(wǎng)絡(luò)上以ASCII模式通信,在消息中的每八比特字節(jié)將作為2個ASCn字符被發(fā)送。這種傳送方式的主要優(yōu)點是字符發(fā)送時間間隔可達(dá)到1s,而不發(fā)生錯誤。
RTU模式:當(dāng)控制器或智能儀表在Modbus網(wǎng)絡(luò)上以RTU模式通信,在消息中的每八比特字節(jié)包含2個4bit的十六進(jìn)制字符。這種傳送方式的主要優(yōu)點是相對于ASCII模式,RTU模式表達(dá)相同的信息需要較少的位數(shù),且在相同通訊速率下具有更大的數(shù)據(jù)流量。在通常情況下,一般工業(yè)智能儀表都是釆用RTU模式的Modbus規(guī)約。本文所使用的稱重儀表BW500、ICS-300均支持ModbusRTU通訊模式。
3.2ModbusRTU消息幀格式
使用RTU模式時,消息發(fā)送至少要以3.5個字符時間的停頓間隔開始(如圖5中的Tl—T2—T3—T4所示)。傳輸?shù)牡谝粋€域是設(shè)備地址,可以使用的傳輸字符是十六進(jìn)制的0~9,A~Fo網(wǎng)絡(luò)設(shè)備不斷偵測網(wǎng)絡(luò)總線,當(dāng)接收到第一個域(地址域),每個設(shè)備都將進(jìn)行解碼,以判斷是否是發(fā)給自己的。在最后一個字符傳輸之后,一個至少3.5個字符時間的停頓標(biāo)定了消息的結(jié)束,一個新的消息可在此停頓后開始,整個消息幀必須作為連續(xù)的流傳輸。如果在幀完成之前有超過3.5個字符時間的停頓時間,接收設(shè)備將刷新不完整的消息,并假定下一字節(jié)是一個新消息的地址域。同樣地,如果一個新消息在小于3.5個字符時間內(nèi)接著前一消息開始,接收的設(shè)備將認(rèn)為它是前一消息的延續(xù)。這將會導(dǎo)致一個錯誤,因為在最后的CRC域的值不可能是正確的。典型的RTU模式的消息結(jié)構(gòu)如圖5所示。
3.3主機(jī)通訊軟件的設(shè)計
皮帶秤稱重儀表BW500、ICS-300都支持ModbusRTU協(xié)議,儀表中的信息包含動態(tài)信息、查詢信息和控制信息。該系統(tǒng)主要是完成對計量數(shù)據(jù)和設(shè)備運行狀態(tài)信息的釆集,上位機(jī)釆集數(shù)據(jù)時,主要是釆用輪巡的方式,由于皮帶秤分布在鐵前物運、焦化、燒結(jié)和球團(tuán)各工序中,比較分散,如圖1所示,將18臺皮帶秤劃分成3條RS485總線,分別接入串口服務(wù)器,在PC機(jī)上安裝串口映射軟件后,針對使用的串口釆用周期性輪巡的方式采集稱重儀表的數(shù)據(jù)。
3.3.1MSComm控件與串行通信
從稱重儀表RS485接口傳輸?shù)男盘柾ㄟ^串口服務(wù)器后,完成了從RS485信號到RS232信號的轉(zhuǎn)換。通過主機(jī)上串口服務(wù)器端口映射軟件的串口映射,實質(zhì)上主機(jī)中的通訊軟件就是對RS232通訊端口進(jìn)行編程。使用多個通訊端口時,就需對每個端口進(jìn)行通訊編程。本文中使用了3個串口。
主機(jī)通信軟件釆用Windows環(huán)境下的VB6.0進(jìn)行編程。
VB6.0與Windows系統(tǒng)有著非常完美的接口,VB6.0提供了一個非常方便的MSComm通信控件。應(yīng)用程序嵌入MSComm通信控件,通過MSComm通信控件提供的事件驅(qū)動或查詢方式進(jìn)行串行通信管理。
3.3.2編程關(guān)鍵點
Modbus通訊協(xié)議規(guī)范:起始符+設(shè)備地址+功能代碼+數(shù)據(jù)+校驗和+結(jié)束符。通過協(xié)議規(guī)范不難看出,“校效和”在整個規(guī)范中非常重要。RS232通訊格式里的奇偶校驗方式并不能保證每個字符都正確,所以,需要把所有字符的值按照某種規(guī)律計算,將計算得到的字符(校驗和)傳給接收方。接收時,再把接收到的字符值按照某種規(guī)律計算,將得到的字符與發(fā)送方傳送過來的校驗和字符進(jìn)行比較——如果相等,就算接收正確了。
3.3.2.1實現(xiàn)校驗
ModbusRTU通訊方式的"校驗和”,即CRC校驗有兩種方法:計算法和查表法。計算法就是依據(jù)CRC校驗碼的產(chǎn)生原理來設(shè)計程序。其優(yōu)點是模塊代碼少、修改靈活、可移植性好;其缺點是計算量大。而査表法的優(yōu)缺點正好與計算法相反,因為對于固定字節(jié)CRC校驗計算的多項式因子,其CRC值是固定的,因而,釆用查表法可以簡化計算過程、節(jié)省應(yīng)答時間、提高通信效率。本文采用的是計算法,計算步驟如下:
參與CRC計算的是設(shè)備地址、功能代碼和數(shù)據(jù)。①設(shè)置CRC寄存器,并給其賦值FFFF(十六進(jìn)制);②將參與校驗的第一個字節(jié)與16位CRC寄存器的低8位進(jìn)行異或,并把結(jié)果存入CRC寄存器;③CRC寄存器向右移1位,MSB補(bǔ)0,移出并檢査LSB;④如果LSB為0,重復(fù)上一步;如果LSB為1,CRC寄存器與多項式碼A001(十六進(jìn)制)相異或;⑤重復(fù)③和④,直到8次移位全部完成,此時第一個字節(jié)數(shù)據(jù)處理完畢;⑥重復(fù)②~⑤,直到所有字節(jié)數(shù)據(jù)全部處理完成;⑦)最終CRC寄存器的內(nèi)容即為CRC值;⑧發(fā)送時,先發(fā)CRC寄存器低字完成對計量數(shù)據(jù)和設(shè)備運行狀態(tài)信息的釆集,上位機(jī)釆集數(shù)據(jù)時,主要是釆用輪巡的方式,由于皮帶秤分布在鐵前物運、焦化、燒結(jié)和球團(tuán)各工序中,比較分散,如圖1所示,將18臺皮帶秤劃分成3條RS485總線,分別接入串口服務(wù)器,在PC機(jī)上安裝串口映射軟件后,針對使用的串口釆用周期性輪巡的方式采集稱重儀表的數(shù)據(jù)。
3.3.1MSComm控件與串行通信
從稱重儀表RS485接口傳輸?shù)男盘柾ㄟ^串口服務(wù)器后,完成了從RS485信號到RS232信號的轉(zhuǎn)換。通過主機(jī)上串口服務(wù)器端口映射軟件的串口映射,實質(zhì)上主機(jī)中的通訊軟件就是對RS232通訊端口進(jìn)行編程。使用多個通訊端口時,就需對每個端口進(jìn)行通訊編程。本文中使用了3個串口。
主機(jī)通信軟件釆用Windows環(huán)境下的VB6.0進(jìn)行編程。
VB6.0與Windows系統(tǒng)有著非常完美的接口,VB6.0提供了一個非常方便的MSComm通信控件。應(yīng)用程序嵌入MSComm通信控件,通過MSComm通信控件提供的事件驅(qū)動或查詢方式進(jìn)行串行通信管理。
3.3.2編程關(guān)鍵點
Modbus通訊協(xié)議規(guī)范:起始符+設(shè)備地址+功能代碼+數(shù)據(jù)+校驗和+結(jié)束符。通過協(xié)議規(guī)范不難看出,“校效和”在整個規(guī)范中非常重要。RS232通訊格式里的奇偶校驗方式并不能保證每個字符都正確,所以,需要把所有字符的值按照某種規(guī)律計算,將計算得到的字符(校驗和)傳給接收方。接收時,再把接收到的字符值按照某種規(guī)律計算,將得到的字符與發(fā)送方傳送過來的校驗和字符進(jìn)行比較——如果相等,就算接收正確了。
3.3.2.1實現(xiàn)校驗
ModbusRTU通訊方式的"校驗和”,即CRC校驗有兩種方法:計算法和查表法。計算法就是依據(jù)CRC校驗碼的產(chǎn)生原理來設(shè)計程序。其優(yōu)點是模塊代碼少、修改靈活、可移植性好;其缺點是計算量大。而査表法的優(yōu)缺點正好與計算法相反,因為對于固定字節(jié)CRC校驗計算的多項式因子,其CRC值是固定的,因而,釆用查表法可以簡化計算過程、節(jié)省應(yīng)答時間、提高通信效率。本文采用的是計算法,計算步驟如下:
參與CRC計算的是設(shè)備地址、功能代碼和數(shù)據(jù)。①設(shè)置CRC寄存器,并給其賦值FFFF(十六進(jìn)制);②將參與校驗的第一個字節(jié)與16位CRC寄存器的低8位進(jìn)行異或,并把結(jié)果存入CRC寄存器;③CRC寄存器向右移1位,MSB補(bǔ)0,移出并檢査LSB;④如果LSB為0,重復(fù)上一步;如果LSB為1,CRC寄存器與多項式碼A001(十六進(jìn)制)相異或;⑤重復(fù)③和④,直到8次移位全部完成,此時第一個字節(jié)數(shù)據(jù)處理完畢;⑥重復(fù)②~⑤,直到所有字節(jié)數(shù)據(jù)全部處理完成;⑦)最終CRC寄存器的內(nèi)容即為CRC值;⑧發(fā)送時,先發(fā)CRC寄存器低字節(jié),后發(fā)CRC寄存器高字節(jié)。
MSB是MostSignificantBit的縮寫,意為最高有效位;LSB是LeastSignificantBit的縮寫,意為最低有效位。通常,MSB位于二進(jìn)制數(shù)的最左側(cè),LSB位于二進(jìn)制數(shù)的最右側(cè)。
主機(jī)發(fā)送查詢命令或接收從機(jī)應(yīng)答數(shù)據(jù)時,校驗碼的計算是通過調(diào)用函數(shù)Chr_crc()實現(xiàn)的,函數(shù)Chr_crc()放在程序模塊中。
3.3.2.2實現(xiàn)周期性輪巡發(fā)送
為T保證主機(jī)不斷地將查詢命令下達(dá)到各個從機(jī),對每條RS485總線即每個使用的COM串口,程序中使用1個定時器控件Timer1,將Timer控件的間隔屬性設(shè)置為100mso在定時器的Timer事件過程中寫入主機(jī)向1臺從機(jī)發(fā)送查詢信息。這樣,每隔100ms調(diào)用一次子程序,即主機(jī)向1臺從機(jī)完成一次命令發(fā)送。
如果主機(jī)是對各個從機(jī)的同一個數(shù)據(jù)信息進(jìn)行查詢,那査詢信息幀的命令內(nèi)容是完全相同的,除了從機(jī)地址碼不同外,其格式基本相同。發(fā)送命令子程序流程圖如圖6所示。
具體代碼如下:
3.3.2.3判斷CommEvent事件實現(xiàn)循環(huán)接收
主機(jī)接收從機(jī)的響應(yīng)數(shù)據(jù)時,通過判斷CommEvent事件實現(xiàn)數(shù)據(jù)的循環(huán)接收。對于固定信號的智能儀表或控制器,當(dāng)査詢信息確定后,返回的數(shù)據(jù)格式是固定的,為數(shù)據(jù)接收解析提供了固定方式。
具體代碼如下:
33.2.4窗體載入事件過程
窗體載入事件FormLoad在程序剛開始時被調(diào)用,負(fù)責(zé)設(shè)置通信端口參數(shù),啟動定時器Timerl.主要程序代碼如下:
4結(jié)束語
在該數(shù)據(jù)釆集系統(tǒng)中,共18臺皮帶秤稱重儀表。根據(jù)皮帶秤的分布情況,將18臺設(shè)備分別掛在了3條RS485總線上,每條RS485總線分別接入串口服務(wù)器。通過串口映射,軟件中使用了3個串口COM1,COM2,COM3分別對3個串口編寫通訊程序讀取數(shù)據(jù),所選用的傳輸波特率為9600bps,在PC機(jī)上每隔1s更新一次。在實際通訊過程中,可根據(jù)工業(yè)現(xiàn)場具體情況調(diào)整傳輸波特率和輪巡周期。
本文中介紹的通信軟件已被應(yīng)用于皮帶秤計量系統(tǒng)中,實踐證明,該系統(tǒng)能夠正常運行,上位機(jī)與下位機(jī)的通信穩(wěn)定可靠,軟件使用方便,保證了計量數(shù)據(jù)的準(zhǔn)確性,實現(xiàn)了皮帶秤的遠(yuǎn)程無人值守計量,為公司各工序成本核算提供了準(zhǔn)確的數(shù)據(jù)。
作者:鄒劍峰
深圳市卓禾儀器有限公司是一家專門從事稱重儀表和全自動包裝碼垛生產(chǎn)線的研發(fā)及生產(chǎn)的高新技術(shù)企業(yè),所生產(chǎn)的JY500系列稱重顯示控制器(包括配料秤儀表、皮帶秤儀表、包裝秤儀表、重量變送器等)高速高精度,使用壽命長。卓禾儀器有十?dāng)?shù)年的現(xiàn)場校驗經(jīng)驗,在業(yè)內(nèi)有良好的口碑,且有專門的售后工程師幫忙解決產(chǎn)品使用過程中遇到的技術(shù)問題,客戶可以放心省心順心的使用我司的產(chǎn)品。如果對我司的產(chǎn)品感興趣,歡迎咨詢。