国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
CAIAC 2025
2024
工業(yè)智能邊緣計(jì)算2024年會(huì)
2023年工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

案例頻道

基于RS-485總線的分散控制系統(tǒng)開(kāi)放性設(shè)計(jì)
  • 企業(yè):《自動(dòng)化博覽》     領(lǐng)域:運(yùn)動(dòng)控制與伺服系統(tǒng)     行業(yè):輸配電    
  • 點(diǎn)擊數(shù):2175     發(fā)布時(shí)間:2012-04-05 17:53:07
  • 分享到:
本文以RS-485總線在分散控制系統(tǒng)(DCS)中的應(yīng)用為切入點(diǎn),簡(jiǎn)要介紹了Modbus RTU協(xié)議的通訊模式、通訊規(guī)約,以及RS-485總線應(yīng)用在現(xiàn)場(chǎng)控制站中的軟硬件設(shè)計(jì),探討了DCS開(kāi)放性設(shè)計(jì)的重要性和緊迫性。

    摘要:本文以RS-485總線在分散控制系統(tǒng)(DCS)中的應(yīng)用為切入點(diǎn),簡(jiǎn)要介紹了Modbus RTU協(xié)議的通訊模式、通訊規(guī)約,以及RS-485總線應(yīng)用在現(xiàn)場(chǎng)控制站中的軟硬件設(shè)計(jì),探討了DCS開(kāi)放性設(shè)計(jì)的重要性和緊迫性。

    關(guān)鍵詞:開(kāi)放性;分散控制系統(tǒng);485總線;通訊;組態(tài)

    1 引言

   當(dāng)前,根據(jù)不同需要,各種面向特定行業(yè)、特定生產(chǎn)過(guò)程的分散控制系統(tǒng)設(shè)計(jì)成了一種潮流,各種新型的控制系統(tǒng)也應(yīng)運(yùn)而生。目前來(lái)看,DCS的上位軟件組態(tài)過(guò)程往往局限于固定廠商的固定設(shè)備,給系統(tǒng)及其設(shè)備的可移植性帶來(lái)不少困難,這使得開(kāi)放性顯得越來(lái)越重要。這就要求分散控制系統(tǒng)軟件設(shè)計(jì)引進(jìn)各種先進(jìn)設(shè)計(jì)思想、應(yīng)用各種高新技術(shù),特別是現(xiàn)場(chǎng)總線技術(shù),力求實(shí)現(xiàn)系統(tǒng)的高開(kāi)放性。

   開(kāi)放系統(tǒng)是指通訊協(xié)議公開(kāi)、不同廠家的設(shè)備之間可進(jìn)行互聯(lián)并實(shí)現(xiàn)信息交換。這里的開(kāi)放是指相關(guān)標(biāo)準(zhǔn)的一致性、公開(kāi)性,強(qiáng)調(diào)對(duì)標(biāo)準(zhǔn)的共識(shí)與遵循。一個(gè)開(kāi)放系統(tǒng),它可以與任何遵循相同標(biāo)準(zhǔn)的其它設(shè)備或系統(tǒng)相連。開(kāi)放系統(tǒng)把系統(tǒng)集成的權(quán)力交給了用戶(hù)。用戶(hù)可按自身需要和考慮把來(lái)自不同供應(yīng)商的產(chǎn)品組成大小隨意的系統(tǒng),避免因選擇了某一品牌的產(chǎn)品而被“框死”設(shè)備的選擇范圍,不會(huì)為系統(tǒng)集成中不兼容的協(xié)議而一籌莫展,使系統(tǒng)集成過(guò)程中的主動(dòng)權(quán)完全掌握在用戶(hù)手中。

    本文以遵循Modbus RTU協(xié)議的RS-485工業(yè)智能I/O模塊設(shè)備為例,闡述分散控制系統(tǒng)在組態(tài)以及通訊上的開(kāi)放性設(shè)計(jì)。

    2 RS-485 I/O模塊的連接及基本通訊規(guī)則

    2.1 RS-485 I/O模塊在分散控制系統(tǒng)中的連接

   分散控制系統(tǒng)以多層計(jì)算機(jī)網(wǎng)絡(luò)為依托,實(shí)現(xiàn)各部分的信息共享和協(xié)調(diào)工作,共同完成各種控制、管理及決策功能。圖1所示為一個(gè)分散控制系統(tǒng)的典型結(jié)構(gòu),系統(tǒng)中的所有設(shè)備分別處于不同的層次,自上而下分別是:管理級(jí)、監(jiān)控級(jí)、控制級(jí)和現(xiàn)場(chǎng)級(jí)。

    如圖1所示,I/O智能模塊通過(guò)現(xiàn)場(chǎng)總線與現(xiàn)場(chǎng)控制站相連,現(xiàn)場(chǎng)控制站通過(guò)相應(yīng)的規(guī)則,對(duì)I/O智能模塊進(jìn)行讀寫(xiě)操作,即現(xiàn)場(chǎng)控制站的讀卡任務(wù),在控制現(xiàn)場(chǎng),是由各種智能I/O模塊進(jìn)行數(shù)據(jù)采集、任務(wù)執(zhí)行,按其通道類(lèi)型不同分為AI(模擬量輸入)、AO(模擬量輸出)、DI(數(shù)字量輸入)、DO(數(shù)字量輸出)模塊,按其PV特性不同分為4~20mA、0~20mA、-5~5V、-10~10V等不同類(lèi)型模塊,這些I/O模塊,都會(huì)遵循一定的協(xié)議連在總線上,比如Modbus TCP協(xié)議、Modbus RTU協(xié)議等,那么如何獲取I/O模塊的采集數(shù)據(jù),如何使I/O模塊進(jìn)行一定的輸出,就需要控制器對(duì)I/O模塊進(jìn)行讀卡操作,需要按其相應(yīng)的協(xié)議進(jìn)行數(shù)據(jù)包的發(fā)送、分解、校驗(yàn)。 
  
                
                             圖1 分散控制系統(tǒng)的典型結(jié)構(gòu)

   針對(duì)本文所要舉例的一類(lèi)遵循Modbus RTU協(xié)議的RS-485智能I/O模塊,如圖2所示,現(xiàn)場(chǎng)控制站通過(guò)RS-485接口與這類(lèi)模塊按照菊花鏈的形式相連,按照Modbus RTU的協(xié)議規(guī)約進(jìn)行通訊。
  
                    
                              圖2 RS-485設(shè)備接線圖

   2.2 Modbus RTU協(xié)議的通訊規(guī)則

   Modbus RTU協(xié)議規(guī)定了RS-485設(shè)備通訊的基本規(guī)則,即:

   (1)所有RS485通訊回路都應(yīng)按照主/從方式,數(shù)據(jù)可以在一個(gè)主站(如PC機(jī))和32個(gè)子站之間傳遞;

   (2)主站將初始化和控制在RS485通訊回路上傳遞的所有信息;

   (3)任何一次通訊都不能從子站開(kāi)始;

   (4)在RS485回路上的所有通訊都以“信息幀”方式傳遞,“信息幀”就是一個(gè)由數(shù)據(jù)幀(每一個(gè)字節(jié)為一個(gè)數(shù)據(jù)幀)構(gòu)成的字符串(最多255個(gè)字節(jié)),是由信息頭和發(fā)送的編碼數(shù)據(jù)構(gòu)成標(biāo)準(zhǔn)異步串行數(shù)據(jù),該通訊方式也與RTU通訊規(guī)約相兼容;

   (5)如果主站或子站接收到含有未知命令的信息幀,則不予以響應(yīng)。

   在RS-485通訊回路中,通訊傳輸為異步方式,并以字節(jié)(數(shù)據(jù)幀)為單位。在主站和子站之間傳遞的每一個(gè)數(shù)據(jù)幀都是11位的串行數(shù)據(jù)流,如表1、圖3、圖4所示。
 
                                                表1 數(shù)據(jù)幀格式  

                    

   在請(qǐng)求包和應(yīng)答包發(fā)送過(guò)程中,信息幀格式如表2所示,當(dāng)通訊命令發(fā)送至儀器時(shí),符合相應(yīng)的地址碼的設(shè)備接收通訊命令,并除去地址碼,讀取信息,如果沒(méi)有出錯(cuò),則執(zhí)行相應(yīng)的任務(wù);然后把執(zhí)行結(jié)果返送給發(fā)送者。返送的信息中包括地址碼、執(zhí)行動(dòng)作后的功能碼、執(zhí)行動(dòng)作后的數(shù)據(jù)以及錯(cuò)誤校驗(yàn)碼(CRC)。如果出錯(cuò)就不發(fā)送任何信息。
    
                 
                            圖3 有奇偶校驗(yàn)的時(shí)序圖  
     
                 
                             圖4 無(wú)奇偶校驗(yàn)的時(shí)序圖    

                                   表2 信息幀格式   
                               
                 

   3 組態(tài)開(kāi)放性

   在標(biāo)準(zhǔn)的ModBus RTU通訊規(guī)約中,通信回路以主/從模式運(yùn)行,主站(如PC機(jī))在向子站(如串口卡)發(fā)送數(shù)據(jù)幀時(shí),需要用戶(hù)指定模件地址、級(jí)聯(lián)號(hào)、功能碼等信息,而這些信息在不同的應(yīng)用場(chǎng)合以及不同的硬接線配置下又有較大的差別。傳統(tǒng)的應(yīng)用方式是針對(duì)某張通道數(shù)及通道類(lèi)型已知的具體的串口卡件,組態(tài)軟件和現(xiàn)場(chǎng)控制站固化相應(yīng)的軟件程序,以某電力監(jiān)測(cè)器的組態(tài)為例說(shuō)明傳統(tǒng)的應(yīng)用方式,如表3。
  
                               表3 傳統(tǒng)數(shù)據(jù)庫(kù)組態(tài)表  

                   

   如前所述,組態(tài)軟件和現(xiàn)場(chǎng)控制站固化一段針對(duì)該電力監(jiān)測(cè)器的軟件程序,若增加另外一種串口卡件時(shí),這段固化的軟件程序要做修改才能應(yīng)用。而DCS強(qiáng)調(diào)提供完整的系統(tǒng)給用戶(hù),軟件上是一個(gè)整體方案,解決的是一個(gè)系統(tǒng)設(shè)計(jì)中的所有技術(shù)問(wèn)題,這種傳統(tǒng)的應(yīng)用方式顯然違背了DCS的開(kāi)發(fā)初衷,勢(shì)必給DCS的開(kāi)發(fā)人員以及DCS用戶(hù)的使用帶來(lái)不便。

   所以基于以上考慮,筆者提出一種全新的解決方案,自主開(kāi)發(fā)出DCS組態(tài)軟件,可以方便的通過(guò)填表方式組態(tài),并將組態(tài)文件下發(fā)給現(xiàn)場(chǎng)控制站,直接無(wú)縫集成任何符合標(biāo)準(zhǔn)ModBus RTU通訊規(guī)約的第三方系統(tǒng)和設(shè)備,而無(wú)需更改組態(tài)軟件和現(xiàn)場(chǎng)控制站的系統(tǒng)程序。仍以上述電力監(jiān)測(cè)器為例,簡(jiǎn)要介紹上位機(jī)組態(tài)過(guò)程,如表4所示。
  
                                       表4 數(shù)據(jù)庫(kù)組態(tài)表  

                 

    表4中加下劃線部分由用戶(hù)依實(shí)際掛接的串口卡件配置,后續(xù)工作(讀寫(xiě)卡件、判斷卡件狀態(tài)等)交給現(xiàn)場(chǎng)控制站來(lái)完成,用戶(hù)只需關(guān)心卡件所涉及數(shù)據(jù)的類(lèi)型、地址以及所對(duì)應(yīng)的功能碼,集中精力于控制方案的實(shí)現(xiàn)而不必拘泥于技術(shù)細(xì)節(jié)。

   此解決方案較之傳統(tǒng)的應(yīng)用方式,優(yōu)勢(shì)在于:可自由選擇串口卡件(符合ModBus RTU標(biāo)準(zhǔn)規(guī)約);個(gè)別卡件故障或掉電不影響其它卡件的正常工作;支持在線插拔,快速更換卡件,并且更換或重新上電后無(wú)需重啟現(xiàn)場(chǎng)控制站,并且支持?jǐn)U展標(biāo)準(zhǔn)接口的平臺(tái),真正實(shí)現(xiàn)自由配置、按需配置、靈活配置。

    RS-485卡件可由用戶(hù)根據(jù)具體應(yīng)用行業(yè)及特殊卡件工作周期受限等條件通過(guò)組態(tài)設(shè)定合適的工作周期,在實(shí)際工作過(guò)程中,DCS通過(guò)標(biāo)準(zhǔn)接口與RS-485卡件連接,這種連接通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn),采用通用的、開(kāi)放的網(wǎng)絡(luò)協(xié)議和標(biāo)準(zhǔn)的軟件接口,充分保證了DCS的開(kāi)放性。

    4 通訊開(kāi)放性

    ModBus通訊規(guī)約定義功能碼為1~127(01H~7FH)。作為主機(jī)請(qǐng)求發(fā)送,通過(guò)功能碼告訴子機(jī)執(zhí)行什么動(dòng)作。作為子機(jī)響應(yīng),子機(jī)發(fā)送的功能碼與主機(jī)發(fā)送來(lái)的功能碼一樣,并表明子機(jī)已響應(yīng)主機(jī)進(jìn)行操作。本文以功能碼4(讀多路輸入寄存器的輸入)為例,介紹開(kāi)放性RS-485串口通訊的過(guò)程。

    4.1 請(qǐng)求與應(yīng)答包的構(gòu)成

    主機(jī)發(fā)送的報(bào)文格式為【模件地址】【功能碼】【起始寄存器地址高八位】【起始寄存器地址低八位】【讀寄存器個(gè)數(shù)高八位】【讀寄存器個(gè)數(shù)低八位】【CRC碼低八位】【CRC碼高八位】

   從機(jī)響應(yīng)返回的報(bào)文格式為:【模件地址】【功能碼】【返回的字節(jié)數(shù)2n】【寄存器1數(shù)據(jù)高八位】【寄存器1數(shù)據(jù)低八位】【寄存器2數(shù)據(jù)高八位】【寄存器2數(shù)據(jù)低八位】•••【寄存器n數(shù)據(jù)高八位】【寄存器n數(shù)據(jù)低八位】【CRC碼低八位】【CRC碼高八位】

   例如:主機(jī)要讀取從機(jī)模件地址為01、起始地址為0116的3個(gè)寄存器的數(shù)據(jù)。假設(shè)從機(jī)數(shù)據(jù)寄存器的地址和數(shù)據(jù)信息如表5所示。
  
                                表5 設(shè)備寄存器信息  

                    

   明確了具體設(shè)備的寄存器相關(guān)信息之后,要組成若干字節(jié)的發(fā)送請(qǐng)求包,請(qǐng)求包即一個(gè)unsigned char類(lèi)型的數(shù)組,各字節(jié)的報(bào)文格式如表6所示。
  
                          表6 主機(jī)發(fā)送的報(bào)文格式  

                    
 
                           表7 從機(jī)響應(yīng)返回的報(bào)文格式  

                     

    請(qǐng)求包發(fā)送到串口的緩沖區(qū)后,如發(fā)送正確,RS-485設(shè)備將返回一定格式的應(yīng)答包,現(xiàn)場(chǎng)控制站可用一個(gè)unsigned char類(lèi)型的緩沖區(qū)接收,要接收的應(yīng)答包的長(zhǎng)度由主機(jī)請(qǐng)求的寄存器個(gè)數(shù)來(lái)決定,具體的報(bào)文格式如表7所示。

    4.2 串口通訊流程

    在串口通訊過(guò)程中,一般的PC機(jī)或其它規(guī)格的控制器都帶有RS-232接口,可以外接一個(gè)RS-232轉(zhuǎn)RS-485接頭來(lái)實(shí)現(xiàn)現(xiàn)場(chǎng)控制站與RS-485模塊的通訊。在此,筆者不深入闡述RS-485在物理層上的機(jī)理,只討論串口通訊在應(yīng)用層這一層面上的實(shí)現(xiàn)過(guò)程。如圖5所示,在串口通訊時(shí)首先用標(biāo)準(zhǔn)的ioctl函數(shù)來(lái)配置串口的波特率、數(shù)據(jù)位、校驗(yàn)位、停止位等信息,繼而是組包、發(fā)包、收包、解包的過(guò)程。在分散控制系統(tǒng)應(yīng)用中,控制站收到返回包并檢驗(yàn)成功后,應(yīng)立即將有用數(shù)據(jù)讀到現(xiàn)場(chǎng)控制站的共享內(nèi)存,并向上位機(jī)廣播I/O模塊的相應(yīng)狀態(tài)。

   4.3 防止串口阻塞在軟件上的實(shí)現(xiàn)

   在串口通訊過(guò)程中,數(shù)據(jù)量隨請(qǐng)求I/O模塊通道數(shù)的增加而加大。由于串口寄存器的特點(diǎn),通訊過(guò)程會(huì)很容易出現(xiàn)串口阻塞而造成程序無(wú)法正常運(yùn)行,在軟件上加以?xún)?yōu)化是非常有必要的。

    在串口初始化完成后,用sfd來(lái)表示此時(shí)串口獲取到的文件描述符,可用如下的幾行代碼來(lái)檢測(cè)文件的句柄和串口的可讀性,

        FD_ZERO(&fds);

        FD_SET(sfd,&fds);

        select(sfd+1, NULL, &fds, NULL, &tv);

        FD_ISSET(sfd,&fds);

    也就是說(shuō),在調(diào)用select()函數(shù)檢查此時(shí)串口是否可讀后,用FD_ISSET()函數(shù)來(lái)檢測(cè)fdset中文件sfd有無(wú)發(fā)生變化。只有當(dāng)select()函數(shù)和FD_ISSET()函數(shù)均返回“真”的時(shí)候,說(shuō)明串口已經(jīng)準(zhǔn)備好,可以發(fā)送請(qǐng)求包。接下來(lái),用write()函數(shù)向串口發(fā)送一定字節(jié)數(shù)的請(qǐng)求包即可。
  
                            
                                圖5 串口通訊流程圖  

     在接收返回包時(shí),有時(shí)由于數(shù)據(jù)量大或速度較快造成串口緩沖區(qū)未能收到I/O模塊發(fā)出的返回包,因read()函數(shù)沒(méi)有一定的時(shí)間限制,在讀取串口數(shù)據(jù)時(shí)很有可能串口緩沖區(qū)沒(méi)有收全全部字節(jié)的返回包,這可能會(huì)使程序始終陷于read()函數(shù)中不能跳出,為解決這一問(wèn)題,筆者采取的方法主要是以字節(jié)為單位逐字節(jié)地讀取串口緩沖區(qū)的數(shù)據(jù),并在讀取每個(gè)字節(jié)之前用select()函數(shù)檢查串口此時(shí)是否可讀,這樣可以有效防止串口在讀取過(guò)程中阻塞的隱患,提高程序可靠性。

     5 結(jié)語(yǔ)

    本文以Modbus RTU協(xié)議為例,在組態(tài)及通訊等方面,探討了基于RS-485總線的I/O模塊在分散控制系統(tǒng)中的開(kāi)放性設(shè)計(jì)。經(jīng)過(guò)一定時(shí)間的測(cè)試及實(shí)際應(yīng)用,實(shí)踐表明基于RS-485總線的分散控制系統(tǒng)開(kāi)放性設(shè)計(jì)可以有效降低成本、提高程序的可移植性和硬件的兼容性,極大地方便了用戶(hù)在使用過(guò)程中根據(jù)需要選擇適合的模塊。另外,可熱插拔、各種錯(cuò)誤檢測(cè)、容錯(cuò)功能等軟件設(shè)計(jì)的優(yōu)化,最大限度提高了系統(tǒng)軟件可靠性和運(yùn)行效率。今后,開(kāi)放性的思想可以滲透到分散控制系統(tǒng)的各個(gè)環(huán)節(jié),使之更好地為社會(huì)生產(chǎn)服務(wù)。

    參考文獻(xiàn):

    [1]周強(qiáng).基于QNX的分散控制系統(tǒng)現(xiàn)場(chǎng)控制站軟件設(shè)計(jì)[D].保定:華北電力大學(xué)自動(dòng)化系,2002.

    [ 2 ] 劉鑫. 我國(guó)工業(yè)控制自動(dòng)化技術(shù)的現(xiàn)狀與發(fā)展趨勢(shì)[ J ] . 控制工程,2003,(6):16-24.

   [3]王曉剛.集散控制系統(tǒng)的發(fā)展[J].貴州化工,2001,26(8):54-56.

    [4]陳慶玲.現(xiàn)場(chǎng)總線對(duì)自動(dòng)化領(lǐng)域的影響與發(fā)展趨勢(shì)[J].輕金屬,1999,(1):59-62.

    [5]曾獻(xiàn)輝.新型開(kāi)放式集散控制系統(tǒng)[J].世界儀表與自動(dòng)化,1999,3(2),39-40.

    趙 斌(1987-)

    男,河北保定人,現(xiàn)就讀于華北電力大學(xué)自動(dòng)化系,碩士研究生,主要研究方向?yàn)楝F(xiàn)場(chǎng)總線儀表設(shè)計(jì)與開(kāi)發(fā)。

    杜石雷(1988-)

    男,河北保定人,現(xiàn)就讀于華北電力大學(xué)自動(dòng)化系,在讀碩士研究生,主要研究DCS下位軟件開(kāi)發(fā)。

    高 明(1969-)

    男,江蘇邳州人,高級(jí)工程師,中國(guó)大唐集團(tuán)公司B級(jí)專(zhuān)家,主要從事火電廠優(yōu)化自動(dòng)控制研究。

    孫海蓉(1972-)

   女,博士,副教授,碩士生導(dǎo)師。研究方向?yàn)橹悄芸刂萍捌湓诠こ讨械膽?yīng)用、非線性控制,風(fēng)力發(fā)電機(jī)組建模、網(wǎng)絡(luò)化控制。   

   摘自《自動(dòng)化博覽》2012年第三期

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話(huà):
郵件:
主站蜘蛛池模板: 亚洲在线观看视频 | 99久久综合 | 岛国大片在线播放高清 | 成人男女啪啪免费观看网站 | 久久久亚洲欧洲日产国码二区 | 久久一区二区三区不卡 | 免费午夜不卡毛片 | 欧美精品三区 | 伊人久久在线视频 | 视频一区久久 | 亚洲精品国产一区二区 | 91国在线啪精品一区 | 91成人国产福利 | 亚洲国产人成中文幕一级二级 | 国产午夜精品久久久久九九 | 久久亚洲成人 | 成年午夜 | 亚洲成av人片在线观看 | 青草欧美 | 天堂素人搭讪系列嫩模在线观看 | 成人国产视频在线观看 | 欧美老妇免费做爰视频 | 狠狠色综合久久丁香婷婷 | 毛片网站在线看 | 日本美女福利视频 | 欧美国产日本高清不卡 | 成人午夜网 | 看美国毛片 | 日韩国产欧美成人一区二区影院 | 99精品一区二区三区 | a级做爰片毛片视频 | 日韩中文字幕精品 | 国产成人亚洲精品91专区高清 | 欧美日韩精品一区二区三区不卡 | 欧美日韩一区二区三区在线播放 | 亚洲成av人在线视 | 欧美一区二区三区久久综合 | 午夜免费一级片 | 国产盗摄精品一区二区三区 | 亚洲欧美精品 | 久久久久久久国产精品视频 |