PLC在空壓機(jī)組監(jiān)控系統(tǒng)中的成功應(yīng)用_第1頁(yè)
PLC在空壓機(jī)組監(jiān)控系統(tǒng)中的成功應(yīng)用_第2頁(yè)
PLC在空壓機(jī)組監(jiān)控系統(tǒng)中的成功應(yīng)用_第3頁(yè)
PLC在空壓機(jī)組監(jiān)控系統(tǒng)中的成功應(yīng)用_第4頁(yè)
PLC在空壓機(jī)組監(jiān)控系統(tǒng)中的成功應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PLC在空壓機(jī)組監(jiān)控系統(tǒng)中的成功應(yīng)用收藏此信息 打印該信息 添加:用戶發(fā)布 來(lái)源:未知1、引言在煤礦采煤生產(chǎn)中,空氣壓縮機(jī)(簡(jiǎn)稱:空壓機(jī))主要負(fù)責(zé)向礦井大量的風(fēng)動(dòng)機(jī)械提供動(dòng)力,其工作的可靠性和安全性直接影響著礦山的正常生產(chǎn)和經(jīng)濟(jì)效益。目前大部分空壓機(jī)組存在著控制方式落后、操作不方便的問(wèn)題??刂苹芈反蠖酁槔^電器控制,控制方式采用就地分散式人工操作,由固定人員24小時(shí)值守,值守人員根據(jù)井下用風(fēng)量的需求手動(dòng)啟動(dòng)或者停止空壓機(jī),并且定時(shí)巡檢、記錄運(yùn)行狀況。另外,空壓機(jī)組耗電量很大,其中有相當(dāng)長(zhǎng)時(shí)間是在空載或輕載狀態(tài)下運(yùn)行,導(dǎo)致能耗大、機(jī)器受損嚴(yán)重、運(yùn)行成本較高。因此,設(shè)計(jì)一個(gè)操作方便、功能完善的全自動(dòng)

2、集中監(jiān)控系統(tǒng),對(duì)空壓機(jī)組進(jìn)行監(jiān)控和保護(hù),提高空壓機(jī)組的工作效率,降低能耗,延長(zhǎng)使用壽命,有著重要的現(xiàn)實(shí)意義。2、監(jiān)控系統(tǒng)的構(gòu)成本項(xiàng)目空壓機(jī)房有五臺(tái)CompAir L250型噴油螺桿式空壓機(jī),主電機(jī)功率為250kW,供電電壓為6000V, 轉(zhuǎn)速為1485rpm,自由排氣量為42.7m3/min、最大排氣壓力為7.5×105Pa。每臺(tái)空壓機(jī)都配有本體控制器Delcos3100,通過(guò)Delcos3100控制器的操作面板,操作人員可以就地控制單臺(tái)空壓機(jī)的啟停、查看運(yùn)行狀況、設(shè)置運(yùn)行參數(shù)等。另外,Delcos3100控制器留有一個(gè)RS-485通信接口,支持Modbus RTU協(xié)議,為實(shí)現(xiàn)空壓機(jī)

3、組的集中監(jiān)控提供了條件。系統(tǒng)結(jié)構(gòu)圖如圖1所示。圖1 系統(tǒng)結(jié)構(gòu)圖2.1 PLC配置設(shè)計(jì)系統(tǒng)選用西門子公司的S7-300 PLC實(shí)現(xiàn)集中監(jiān)控。S7-300 PLC為模塊化結(jié)構(gòu),具有模塊齊全、擴(kuò)充方便、通信能力強(qiáng)、運(yùn)行穩(wěn)定可靠等優(yōu)點(diǎn),特別適合用于工業(yè)環(huán)境及電氣干擾環(huán)境。根據(jù)系統(tǒng)控制要求并考慮留有一定的裕量,PLC的硬件配置如下:(1)電源模塊PS307:輸入電壓為220VAC,輸出電壓為24VDC,輸出電流為5A,向其他PLC模塊供電。(2)CPU模塊CPU315-2DP:系統(tǒng)中信息的運(yùn)算和處理的核心,內(nèi)有48KB隨機(jī)存儲(chǔ)器和80KB裝載存儲(chǔ)器,每執(zhí)行1000條指令約需0.3ms,最大可擴(kuò)展1024

4、點(diǎn)數(shù)字量或128個(gè)模擬量通道。它有一個(gè)MPI通訊口和一個(gè)DP通訊口,MPI口用于連接觸摸屏,DP口用作調(diào)試程序時(shí)監(jiān)視PLC程序的運(yùn)行以及下載程序;并留作將來(lái)系統(tǒng)擴(kuò)展時(shí)使用。(3)數(shù)字量輸入模塊SM321:配置3塊型號(hào)為DI16×24VDC的SM321模塊,采集向空壓機(jī)供電的五臺(tái)高壓開關(guān)柜的狀態(tài)信號(hào)(如:高壓允許、高壓故障、合閘反饋、分閘反饋、小車就位等)、與五臺(tái)空壓機(jī)相對(duì)應(yīng)的五個(gè)手自動(dòng)轉(zhuǎn)換開關(guān)和五個(gè)緊急停止按鈕的狀態(tài)信號(hào)。(4)數(shù)字量輸出模塊SM322:配置2塊型號(hào)為DO16×24VDC/0.5A REL的SM322模塊,輸出PLC的控制信號(hào)如啟動(dòng)、停止、加載、卸荷、急停等

5、,控制空壓機(jī)運(yùn)行。(5)通信??霤P341:CP341模塊是串行通訊處理器模塊,硬件接口可采用RS-232C或TTY或RS-422/485方式,集成了3964(R)、RK512、ASCII通訊協(xié)議,并且支持用戶加載協(xié)議。系統(tǒng)選用接口為RS-485標(biāo)準(zhǔn)的CP341模塊,并在CP341通訊模塊中插入Modbus主站Dongle模塊加載Modbus協(xié)議,使CP341模塊成為Modbus主站。CP341模塊利用基于RS-485總線的Modbus協(xié)議,與五個(gè)作為Modbus從站的Delcos3100控制器進(jìn)行通訊,采集Delcos3100控制器中存儲(chǔ)的空壓機(jī)運(yùn)行狀態(tài)信息。(6)通信??霤P343-1:C

6、P343-1是用于連接工業(yè)以太網(wǎng)的通訊處理器模塊,將PLC系統(tǒng)接入以太網(wǎng),負(fù)責(zé)PLC和上位機(jī)之間的通訊。2.2 觸摸屏配置設(shè)計(jì)系統(tǒng)采用西門子TP270-10型觸摸屏作為車間級(jí)的集中監(jiān)控站。它是基于標(biāo)準(zhǔn)操作系統(tǒng)Microsoft Windows CE的多功能人機(jī)交互界面,具有強(qiáng)大的數(shù)據(jù)采集和管理功能,穩(wěn)定可靠,界面友好,圖形顯示,操作和管理方便。操作人員可以通過(guò)圖形和菜單的方式查看空壓機(jī)的運(yùn)行狀態(tài)及實(shí)時(shí)數(shù)據(jù),設(shè)定空壓機(jī)的壓力、時(shí)間等運(yùn)行參數(shù),查看系統(tǒng)的歷史數(shù)據(jù)、故障報(bào)警信息,并可設(shè)置是否允許上位機(jī)遠(yuǎn)程控制空壓機(jī)。觸摸屏直觀顯示了空壓機(jī)組的運(yùn)行狀況,操作方便快捷,避免了定時(shí)巡檢記錄的煩瑣工作,大大

7、提高了工作效率和管理水平。2.3 上位機(jī)配置設(shè)計(jì)系統(tǒng)采用PC機(jī)作為上位機(jī)遠(yuǎn)程監(jiān)控站。通過(guò)網(wǎng)絡(luò)在線監(jiān)視空壓機(jī)的運(yùn)行狀況,查看壓力、溫度、運(yùn)行時(shí)間、電機(jī)電壓、電機(jī)電流、輸出功率等實(shí)時(shí)數(shù)據(jù),記錄并存儲(chǔ)歷史數(shù)據(jù),提供數(shù)據(jù)的查詢和打印功能。當(dāng)現(xiàn)場(chǎng)設(shè)備有動(dòng)作或者出現(xiàn)故障時(shí)能夠彈出提示消息并記錄存儲(chǔ)下來(lái);在遠(yuǎn)程控制允許的情況下,值班人員還可以遠(yuǎn)程控制空壓機(jī)。遠(yuǎn)程監(jiān)控方便了調(diào)度,提高了管理自動(dòng)化水平,是煤礦信息化發(fā)展的需要。其他元件包括手自動(dòng)轉(zhuǎn)換開關(guān)、緊急停止按鈕、聲光報(bào)警器等。3、通訊系統(tǒng)的構(gòu)成系統(tǒng)中的通訊包括三個(gè)部分。3.1 現(xiàn)場(chǎng)設(shè)備通訊PLC和Delcos3100控制器之間的通訊4>采用控制方便、

8、設(shè)計(jì)簡(jiǎn)單的RS-485接口標(biāo)準(zhǔn)作為物理通信標(biāo)準(zhǔn)。RS-485標(biāo)準(zhǔn)要求采用兩線制差分方式發(fā)送和接收數(shù)據(jù),因此能夠有效克服共模干擾、抑制線路噪聲。根據(jù)實(shí)際情況,通信協(xié)議采用單主站多從站結(jié)構(gòu)的Modbus協(xié)議,選用Modbus的RTU通訊模式。RS-485標(biāo)準(zhǔn)是總線的物理層標(biāo)準(zhǔn),負(fù)責(zé)完成電平轉(zhuǎn)換和數(shù)據(jù)收發(fā);Modbus協(xié)議則構(gòu)成了總線的數(shù)據(jù)鏈路層協(xié)議,規(guī)定了總線上傳輸?shù)臄?shù)據(jù)幀格式,為主站和從站之間傳遞數(shù)據(jù)提供通信規(guī)約,保證有效數(shù)據(jù)在主站和從站之間可靠傳遞,兩者共同構(gòu)成了RS-485總線。CP341模塊設(shè)置為總線的主站,五個(gè)Delcos3100控制器設(shè)置為總線的從站,每個(gè)從站分配唯一的地址,主站和從站

9、的通訊速率統(tǒng)一設(shè)定為76.8kbps。工作時(shí)采用命令/應(yīng)答的通訊方式,每一種命令幀都對(duì)應(yīng)著一種應(yīng)答幀,Modbus協(xié)議為命令幀定義了許多功能碼,不同的功能碼要求從站進(jìn)行不同的響應(yīng)。系統(tǒng)中用到的功能碼為0x03,即讀取Delcos3100控制器的寄存器。CP341模塊發(fā)出功能碼為0x03的命令幀,地址匹配的Delcos3100控制器就會(huì)做出響應(yīng),將存儲(chǔ)在寄存器中的空壓機(jī)運(yùn)行信息(壓力、壓差、溫度、電壓、電流、載荷狀態(tài)、運(yùn)行時(shí)間、故障信息等)組成應(yīng)答幀發(fā)出至CP341模塊。重復(fù)上述過(guò)程,CP341模塊即可實(shí)現(xiàn)輪循采集空壓機(jī)組的運(yùn)行信息。CP341模塊下發(fā)的命令幀格式如圖2所示。圖2 命令幀格式在命

10、令幀中,寄存器起始地址是告訴Delcos3100控制器,CP341模塊要讀取的寄存器的起始地址;寄存器數(shù)是指從起始地址開始連續(xù)讀取的寄存器值的個(gè)數(shù);CRC校驗(yàn)是指對(duì)從站地址及其以后部分在命令幀中所占的字節(jié)數(shù)進(jìn)行CRC-16校驗(yàn)所生成的校驗(yàn)碼。 Delcos3100控制器上傳的應(yīng)答幀格式如圖3所示。圖3 應(yīng)答幀格式在應(yīng)答幀中,字節(jié)數(shù)是指主站要求從站發(fā)送的內(nèi)部寄存器數(shù)據(jù)的字節(jié)數(shù),寄存器1、2n是指發(fā)送的各寄存器的內(nèi)容,CRC校驗(yàn)與命令幀中的含義相同。最后需要說(shuō)明的是,RS-485總線僅用作數(shù)據(jù)采集,控制信號(hào)由PLC的數(shù)字量輸出模塊SM322輸出,經(jīng)過(guò)信號(hào)線傳輸?shù)娇諌簷C(jī)自身的控制繼電器,這是由現(xiàn)場(chǎng)的

11、實(shí)時(shí)性要求決定的。如果控制信號(hào)也由CP341模塊發(fā)出,就需要經(jīng)過(guò)RS-485總線傳輸?shù)紻elcos3100控制器,再由Delcos3100控制器控制空壓機(jī)的控制繼電器;而采用硬接線的方式直接傳送控制信號(hào)到空壓機(jī)的控制繼電器,就大大縮短了系統(tǒng)的控制響應(yīng)時(shí)間;同時(shí),RS-485總線能夠以更快的速度采集實(shí)時(shí)數(shù)據(jù)。3.2 觸摸屏通訊PLC和觸摸屏之間的通訊二者均為西門子的產(chǎn)品,通過(guò)MPI電纜連接PLC的MPI通信口和觸摸屏的RS-485通信口.組態(tài)時(shí)對(duì)相關(guān)通訊參數(shù)如所要連接CPU的MPI地址和槽號(hào)等進(jìn)行定義,選擇接口類型為MPI,將波特率設(shè)置為187.5kbps進(jìn)行簡(jiǎn)單的組態(tài)操作即可實(shí)現(xiàn)通訊。3.3

12、上位機(jī)通訊在PLC和上位機(jī)之間的通訊中,PLC通過(guò)以太網(wǎng)模塊CP343-1接入工業(yè)以太網(wǎng),上位機(jī)通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控功能。選擇接口類型為工業(yè)Ethernet,通信速率為100Mbps,設(shè)置PLC和上位機(jī)的IP地址。4、軟件設(shè)計(jì)系統(tǒng)的控制要求如下:手自動(dòng)轉(zhuǎn)換開關(guān)為手動(dòng)狀態(tài)的空壓機(jī),僅受其Delcos3100控制器控制,以方便機(jī)器檢修和維護(hù),此時(shí)PLC只能采集該Delcos3100控制器中的數(shù)據(jù)而不能控制空壓機(jī);手自動(dòng)轉(zhuǎn)換開關(guān)為自動(dòng)狀態(tài)且遠(yuǎn)程控制無(wú)效的空壓機(jī),將由PLC進(jìn)行集中監(jiān)制,PLC根據(jù)風(fēng)壓的變化來(lái)決定投入運(yùn)行的空壓機(jī)臺(tái)數(shù),維持風(fēng)壓能夠滿足井下用風(fēng)的需要,并且依據(jù)空壓機(jī)運(yùn)行時(shí)間的長(zhǎng)短使它們輪

13、換工作;當(dāng)觸摸屏上的遠(yuǎn)程控制設(shè)置無(wú)效時(shí),上位機(jī)只能監(jiān)測(cè)到空壓機(jī)的運(yùn)行狀況而沒有控制權(quán)限,當(dāng)遠(yuǎn)程控制有效且手自動(dòng)轉(zhuǎn)換開關(guān)為自動(dòng)狀態(tài)時(shí),空壓機(jī)將只受上位機(jī)遠(yuǎn)程控制。4.1 PLC監(jiān)控程序設(shè)計(jì)開發(fā)環(huán)境為SIMATIC STEP7 V5.3 SP2編程軟件包,它采用結(jié)構(gòu)化程序設(shè)計(jì),程序可讀性強(qiáng),調(diào)試和維護(hù)方便。單臺(tái)空壓機(jī)的主程序流程圖如圖4所示。圖4 主程序流程圖PLC控制程序主要具有以下功能:(1)自動(dòng)輪換運(yùn)行。PLC根據(jù)總線采集的信號(hào)進(jìn)行綜合判斷,然后發(fā)出啟動(dòng)、停機(jī)、加載、卸荷、報(bào)警等控制指令,監(jiān)控空壓機(jī)組自動(dòng)運(yùn)行,使得總管壓力維持在設(shè)定的壓力下限值和壓力上限值之間。若風(fēng)壓低于壓力下限值就增加空壓

14、機(jī)運(yùn)行的臺(tái)數(shù),若風(fēng)壓高于壓力上限值則減少空壓機(jī)運(yùn)行的臺(tái)數(shù),達(dá)到既滿足井下用風(fēng)需要、又可以降耗節(jié)能的目的??諌簷C(jī)連續(xù)運(yùn)行8小時(shí)后機(jī)身溫度會(huì)很高,需要停機(jī)休息,用于散發(fā)自身的熱量,以保證機(jī)器不受損傷。因此,空壓機(jī)需要進(jìn)行輪換工作,以保證空壓機(jī)安全可靠運(yùn)行,延長(zhǎng)設(shè)備使用壽命。PLC根據(jù)運(yùn)行時(shí)間將受控于PLC的空壓機(jī)進(jìn)行排序,建立開機(jī)序列和停機(jī)序列,當(dāng)需要增加空壓機(jī)的運(yùn)行臺(tái)數(shù)時(shí),PLC將啟動(dòng)總運(yùn)行時(shí)間最短的空壓機(jī);當(dāng)需要減少空壓機(jī)的運(yùn)行臺(tái)數(shù)時(shí),PLC將停止本次運(yùn)行時(shí)間最長(zhǎng)的空壓機(jī)。(2)延時(shí)啟動(dòng)和延時(shí)停機(jī)。PLC自身具有較強(qiáng)的抗干擾能力,但由于現(xiàn)場(chǎng)條件、電網(wǎng)、用風(fēng)量等各種復(fù)雜因素的影響,電機(jī)電流、電機(jī)

15、電壓等受到干擾將產(chǎn)生誤報(bào)警;如果總管壓力的擾動(dòng)發(fā)生在壓力下限值或者壓力上限值附近,將它們作為一般工狀處理就會(huì)出現(xiàn)頻繁啟動(dòng)、停機(jī)現(xiàn)象,影響設(shè)備的可靠性和使用壽命。因此,需要對(duì)發(fā)出動(dòng)作指令的起因信號(hào)作適當(dāng)?shù)难訒r(shí)處理,以消除擾動(dòng),防止誤動(dòng)作。(3)智能保護(hù)??諌簷C(jī)主電機(jī)在啟動(dòng)時(shí),啟動(dòng)電流為額定電流的57倍,對(duì)電網(wǎng)和其他用電設(shè)備沖擊很大,同時(shí)也會(huì)影響空壓機(jī)的使用壽命,所以,空壓機(jī)不宜頻繁啟動(dòng)。為了使系統(tǒng)能夠?qū)τ蔑L(fēng)狀況進(jìn)行準(zhǔn)確判斷,并據(jù)此控制空壓機(jī)的啟動(dòng),在井下用風(fēng)高峰期空壓機(jī)啟動(dòng)較頻繁,當(dāng)兩次啟動(dòng)時(shí)間間隔小于預(yù)先設(shè)定的值時(shí),將保持空壓機(jī)持續(xù)運(yùn)轉(zhuǎn)而不停機(jī),當(dāng)連續(xù)兩次加載間隔時(shí)間較長(zhǎng)時(shí),可認(rèn)為用風(fēng)高峰期已

16、過(guò),空壓機(jī)投入間斷運(yùn)行狀態(tài)。另外,對(duì)電機(jī)電流、電機(jī)電壓、排氣壓力、進(jìn)氣負(fù)壓、運(yùn)行溫度、油溫、油濾壓差等重要參數(shù)進(jìn)行實(shí)時(shí)監(jiān)控,出現(xiàn)異常及時(shí)進(jìn)行故障報(bào)警,并作出處理。4.2 觸摸屏人機(jī)界面設(shè)計(jì)選用與觸摸屏TP270配套的組態(tài)軟件Protool/pro設(shè)計(jì)界面。畫面包括:(1)主畫面:空壓機(jī)組的運(yùn)行狀態(tài)以及主要參數(shù)的顯示。(2)數(shù)據(jù)報(bào)表:實(shí)時(shí)數(shù)據(jù)匯總顯示,并可查詢歷史數(shù)據(jù)和總管壓力曲線。(3)運(yùn)行設(shè)置:設(shè)置啟動(dòng)遠(yuǎn)程控制是否有效;設(shè)置自動(dòng)啟動(dòng)、停機(jī)、加載、卸荷的壓力閾值;設(shè)置時(shí)間參數(shù)、報(bào)警參數(shù)等。(4)報(bào)警查詢:查詢報(bào)警詳細(xì)信息。(5)系統(tǒng)管理。4.3 上位機(jī)監(jiān)控程序設(shè)計(jì)上位機(jī)監(jiān)控軟件選用西門子公司基

17、于Windows環(huán)境的組態(tài)軟件WinCC6.0版。主要由監(jiān)控畫面、實(shí)時(shí)報(bào)表、歷史數(shù)據(jù)、報(bào)警查詢、遠(yuǎn)程控制和系統(tǒng)管理界面組成,監(jiān)控畫面如圖5所示。圖5 監(jiān)控畫面5、結(jié)束語(yǔ)S7-300 PLC具有較高的性價(jià)比,但與現(xiàn)場(chǎng)設(shè)備支持的通信協(xié)議不兼容,系統(tǒng)采用CP341模塊作為Modbus主站的方案具有一定的實(shí)際意義?,F(xiàn)場(chǎng)調(diào)試和運(yùn)行表明,該系統(tǒng)運(yùn)行穩(wěn)定,安全可靠,提高了空壓機(jī)組的運(yùn)行效率,實(shí)現(xiàn)了監(jiān)控和管理的自動(dòng)化。該系統(tǒng)不僅可以應(yīng)用于煤礦的空壓機(jī)組監(jiān)控,而且可以推廣到其他場(chǎng)合。Modbus通訊協(xié)議詳細(xì)介紹收藏此信息 打印該信息 添加:用戶發(fā)布 來(lái)源:未知協(xié)議發(fā)送給詢問(wèn)方。 Modbus協(xié)議包括ASCII、

18、RTU、TCP等,并沒有規(guī)定物理層。此協(xié)議定義了控制器能夠認(rèn)識(shí)和使用的消息結(jié)構(gòu),而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通信的。標(biāo)準(zhǔn)的Modicon控制器使用RS232C實(shí)現(xiàn)串行的Modbus。Modbus的ASCII、RTU協(xié)議規(guī)定了消息、數(shù)據(jù)的結(jié)構(gòu)、命令和就答的方式,數(shù)據(jù)通訊采用Maser/Slave方式,Master端發(fā)出數(shù)據(jù)請(qǐng)求消息,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Master端以響應(yīng)請(qǐng)求;Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫。 Modbus協(xié)議需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),串行協(xié)議中除有奇偶校驗(yàn)外,ASCII模式采用LRC校驗(yàn),RTU模式采用16位CRC校驗(yàn),但T

19、CP模式?jīng)]有額外規(guī)定校驗(yàn),因?yàn)門CP協(xié)議是一個(gè)面向連接的可靠協(xié)議。另外,Modbus采用主從方式定時(shí)收發(fā)數(shù)據(jù),在實(shí)際使用中如果某Slave站點(diǎn)斷開后(如故障或關(guān)機(jī)),Master端可以診斷出來(lái),而當(dāng)故障修復(fù)后,網(wǎng)絡(luò)又可自動(dòng)接通。因此,Modbus協(xié)議的可靠性較好。 下面我來(lái)簡(jiǎn)單的給大家介紹一下,對(duì)于Modbus的ASCII、RTU和TCP協(xié)議來(lái)說(shuō),其中TCP和RTU協(xié)議非常類似,我們只要把RTU協(xié)議的兩個(gè)字節(jié)的校驗(yàn)碼去掉,然后在RTU協(xié)議的開始加上5個(gè)0和一個(gè)6并通過(guò)TCP/IP網(wǎng)絡(luò)協(xié)議發(fā)送出去即可。所以在這里我僅介紹一下Modbus的ASCII和RTU協(xié)議。 下表是ASCII協(xié)議和RTU協(xié)議

20、進(jìn)行的比較:通過(guò)比較可以看到,ASCII協(xié)議和RTU協(xié)議相比擁有開始和結(jié)束標(biāo)記,因此在進(jìn)行程序處理時(shí)能更加方便,而且由于傳輸?shù)亩际强梢姷腁SCII字符,所以進(jìn)行調(diào)試時(shí)就更加的直觀,另外它的LRC校驗(yàn)也比較容易。但是因?yàn)樗鼈鬏數(shù)亩际强梢姷腁SCII字符,RTU傳輸?shù)臄?shù)據(jù)每一個(gè)字節(jié)ASCII都要用兩個(gè)字節(jié)來(lái)傳輸,比如RTU傳輸一個(gè)十六進(jìn)制數(shù)0xF9,ASCII就需要傳輸F9的ASCII碼0x39和0x46兩個(gè)字節(jié),這樣它的傳輸?shù)男示捅容^低。所以一般來(lái)說(shuō),如果所需要傳輸?shù)臄?shù)據(jù)量較小可以考慮使用ASCII協(xié)議,如果所需傳輸?shù)臄?shù)據(jù)量比較大,最好能使用RTU協(xié)議。下面對(duì)兩種協(xié)議的校驗(yàn)進(jìn)行一下介紹。1、L

21、RC校驗(yàn)LRC域是一個(gè)包含一個(gè)8位二進(jìn)制值的字節(jié)。LRC值由傳輸設(shè)備來(lái)計(jì)算并放到消息幀中,接收設(shè)備在接收消息的過(guò)程中計(jì)算LRC,并將它和接收到消息中LRC域中的值比較,如果兩值不等,說(shuō)明有錯(cuò)誤。LRC校驗(yàn)比較簡(jiǎn)單,它在ASCII協(xié)議中使用,檢測(cè)了消息域中除開始的冒號(hào)及結(jié)束的回車換行號(hào)外的內(nèi)容。它僅僅是把每一個(gè)需要傳輸?shù)臄?shù)據(jù)按字節(jié)疊加后取反加1即可。下面是它的VC代碼:BYTE GetCheckCode(const char * pSendBuf, int nEnd)/獲得校驗(yàn)碼BYTE byLrc = 0;char pBuf4;int nData = 0;for(i=1; i<end;

22、i+=2) /i初始為1,避開“開始標(biāo)記”冒號(hào)/每?jī)蓚€(gè)需要發(fā)送的ASCII碼轉(zhuǎn)化為一個(gè)十六進(jìn)制數(shù)pBuf 0 = pSendBuf i;pBuf 1 = pSendBuf i+1;pBuf 2 = '0'sscanf(pBuf,"%x",& nData);byLrc += nData;byLrc = byLrc;byLrc +;return byLrc;2、CRC校驗(yàn)CRC域是兩個(gè)字節(jié),包含一16位的二進(jìn)制值。它由傳輸設(shè)備計(jì)算后加入到消息中。接收設(shè)備重新計(jì)算收到消息的CRC,并與接收到的CRC域中的值比較,如果兩值不同,則有誤。CRC是先調(diào)入一值是全

23、“1”的16位寄存器,然后調(diào)用一過(guò)程將消息中連續(xù)的8位字節(jié)各當(dāng)前寄存器中的值進(jìn)行處理。僅每個(gè)字符中的8Bit數(shù)據(jù)對(duì)CRC有效,起始位和停止位以及奇偶校驗(yàn)位均無(wú)效。CRC產(chǎn)生過(guò)程中,每個(gè)8位字符都單獨(dú)和寄存器內(nèi)容相或(OR),結(jié)果向最低有效位方向移動(dòng),最高有效位以0填充。LSB被提取出來(lái)檢測(cè),如果LSB為1,寄存器單獨(dú)和預(yù)置的值或一下,如果LSB為0,則不進(jìn)行。整個(gè)過(guò)程要重復(fù)8次。在最后一位(第8位)完成后,下一個(gè)8位字節(jié)又單獨(dú)和寄存器的當(dāng)前值相或。最終寄存器中的值,是消息中所有的字節(jié)都執(zhí)行之后的CRC值。CRC添加到消息中時(shí),低字節(jié)先加入,然后高字節(jié)。下面是它的VC代碼:WORD GetChe

24、ckCode(const char * pSendBuf, int nEnd)/獲得校驗(yàn)碼WORD wCrc = WORD(0xFFFF);for(int i=0; i<nEnd; i+)wCrc = WORD(BYTE(pSendBufi);for(int j=0; j<8; j+)if(wCrc & 1)wCrc >>= 1;wCrc = 0xA001;elsewCrc >>= 1;return wCrc;對(duì)于一條RTU協(xié)議的命令可以簡(jiǎn)單的通過(guò)以下的步驟轉(zhuǎn)化為ASCII協(xié)議的命令:1、 把命令的CRC校驗(yàn)去掉,并且計(jì)算出LRC校驗(yàn)取代。2、 把生

25、成的命令串的每一個(gè)字節(jié)轉(zhuǎn)化成對(duì)應(yīng)的兩個(gè)字節(jié)的ASCII碼,比如0x03轉(zhuǎn)化成0x30,0x33(0的ASCII碼和3的ASCII碼)。3、 在命令的開頭加上起始標(biāo)記“:”,它的ASCII碼為0x3A。4、 在命令的尾部加上結(jié)束標(biāo)記CR,LF(0xD,0xA),此處的CR,LF表示回車和換行的ASCII碼。 所以以下我們僅介紹RTU協(xié)議即可,對(duì)應(yīng)的ASCII協(xié)議可以使用以上的步驟來(lái)生成。下表是Modbus支持的功能碼:在這些功能碼中較長(zhǎng)使用的是1、2、3、4、5、6號(hào)功能碼,使用它們即可實(shí)現(xiàn)對(duì)下位機(jī)的數(shù)字量和模擬量的讀寫操作。1、讀可讀寫數(shù)字量寄存器(線圈狀態(tài)):計(jì)算機(jī)發(fā)送命令:設(shè)備地址 命令號(hào)

26、01 起始寄存器地址高8位 低8位 讀取的寄存器數(shù)高8位 低8位 CRC校驗(yàn)的低8位 CRC校驗(yàn)的高8位例:110100130025CRC低CRC高意義如下:<1>設(shè)備地址:在一個(gè)485總線上可以掛接多個(gè)設(shè)備,此處的設(shè)備地址表示想和哪一個(gè)設(shè)備通訊。例子中為想和17號(hào)(十進(jìn)制的17是十六進(jìn)制的11)通訊。<2>命令號(hào)01:讀取數(shù)字量的命令號(hào)固定為01。<3>起始地址高8位、低8位:表示想讀取的開關(guān)量的起始地址(起始地址為0)。比如例子中的起始地址為19。<4>寄存器數(shù)高8位、低8位:表示從起始地址開始讀多少個(gè)開關(guān)量。例子中為37個(gè)開關(guān)量。<5

27、>CRC校驗(yàn):是從開頭一直校驗(yàn)到此之前。在此協(xié)議的最后再作介紹。此處需要注意,CRC校驗(yàn)在命令中的高低字節(jié)的順序和其他的相反。設(shè)備響應(yīng):設(shè)備地址 命令號(hào)01 返回的字節(jié)個(gè)數(shù)數(shù)據(jù)1數(shù)據(jù)2.數(shù)據(jù)nCRC校驗(yàn)的低8位 CRC校驗(yàn)的高8位例:110105CD6BB20E1BCRC低CRC高意義如下:<1>設(shè)備地址和命令號(hào)和上面的相同。<2>返回的字節(jié)個(gè)數(shù):表示數(shù)據(jù)的字節(jié)個(gè)數(shù),也就是數(shù)據(jù)1,2.n中的n的值。<3>數(shù)據(jù)1.n:由于每一個(gè)數(shù)據(jù)是一個(gè)8位的數(shù),所以每一個(gè)數(shù)據(jù)表示8個(gè)開關(guān)量的值,每一位為0表示對(duì)應(yīng)的開關(guān)斷開,為1表示閉合。比如例子中,表示20號(hào)(索引號(hào)

28、為19)開關(guān)閉合,21號(hào)斷開,22閉合,23閉合,24斷開,25斷開,26閉合,27閉合.如果詢問(wèn)的開關(guān)量不是8的整倍數(shù),那么最后一個(gè)字節(jié)的高位部分無(wú)意義,置為0。<4>CRC校驗(yàn)同上。2、讀只可讀數(shù)字量寄存器(輸入狀態(tài)):和讀取線圈狀態(tài)類似,只是第二個(gè)字節(jié)的命令號(hào)不再是1而是2。3、寫數(shù)字量(線圈狀態(tài)):計(jì)算機(jī)發(fā)送命令:設(shè)備地址 命令號(hào)05 需下置的寄存器地址高8位 低8位 下置的數(shù)據(jù)高8位 低8位 CRC校驗(yàn)的低8位 CRC校驗(yàn)的高8位例:110500ACFF00CRC低CRC高意義如下:<1>設(shè)備地址和上面的相同。<2>命令號(hào):寫數(shù)字量的命令號(hào)固定為05。<3>需下置的寄存器地址高8位,低8位:表明了需要下置的開關(guān)的地址。<4>下置的數(shù)據(jù)高8位,低8位:表明需要下置的開關(guān)量的狀態(tài)。例子中為把該開關(guān)閉合。注意,此處只可以是FF00表示閉合0000表示斷開,其他數(shù)值非法。<5>注意此命令一條只能下置一個(gè)開關(guān)量的狀態(tài)。設(shè)備響應(yīng):如果成功把計(jì)算機(jī)發(fā)送的命令原樣返回,否則不響應(yīng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論