久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

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

案例頻道

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

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

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

    1 引言

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

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

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

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

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

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

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

   針對本文所要舉例的一類遵循Modbus RTU協(xié)議的RS-485智能I/O模塊,如圖2所示,現(xiàn)場控制站通過RS-485接口與這類模塊按照菊花鏈的形式相連,按照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ù)可以在一個主站(如PC機)和32個子站之間傳遞;

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

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

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

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

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

                    

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

                                   表2 信息幀格式   
                               
                 

   3 組態(tài)開放性

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

                   

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

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

                 

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

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

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

    4 通訊開放性

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

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

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

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

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

                    

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

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

                     

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

    4.2 串口通訊流程

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

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

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

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

        FD_ZERO(&fds);

        FD_SET(sfd,&fds);

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

        FD_ISSET(sfd,&fds);

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

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

     5 結(jié)語

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

    參考文獻(xiàn):

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

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

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

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

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

    趙 斌(1987-)

    男,河北保定人,現(xiàn)就讀于華北電力大學(xué)自動化系,碩士研究生,主要研究方向為現(xiàn)場總線儀表設(shè)計與開發(fā)。

    杜石雷(1988-)

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

    高 明(1969-)

    男,江蘇邳州人,高級工程師,中國大唐集團公司B級專家,主要從事火電廠優(yōu)化自動控制研究。

    孫海蓉(1972-)

   女,博士,副教授,碩士生導(dǎo)師。研究方向為智能控制及其在工程中的應(yīng)用、非線性控制,風(fēng)力發(fā)電機組建模、網(wǎng)絡(luò)化控制。   

   摘自《自動化博覽》2012年第三期

熱點新聞

推薦產(chǎn)品

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



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 亚洲1卡2卡三卡3卡4卡网站 | 黄色片在线看 | 亚洲精品色综合久久久 | 成人社区网站 | 小优视频高清视频在线看 | 日本特黄特色高清免费视频 | 青青青国产依人免费视频 | 日韩亚洲视频 | 日韩人成 | 国产亚洲精品久久久久久久久激情 | 综合亚洲精品一区二区三区 | 18禁片一级毛片视频播放免费看 | 91在线免费公开视频 | 久久国产精品一区二区 | 亚洲精品国产理论电影网 | 亚洲欧美日韩国产综合 | 欧美一区二区手机在线观看视频 | 色视频在线观看网站 | 特级aa毛片在线播放 | 自拍 欧美 | 最新更新国内自拍视频 | 国产一级淫片免费大片 | 欧美高清国产在线观看 | 国产chinese在线视频 | zoofilia杂交videos新另类 | 蜜桃视频一区二区三区四区 | 国产精品无卡无在线播放 | 国产欧美亚洲精品第3页在线 | 亚洲综合无码一区二区 | 国产伦一区二区三区高清 | 色综合久久丁香婷婷 | 鲁大师在线观看在线播放 | 视频一区二区三区在线 | 日本亚洲欧美国产日韩ay高清 | 欧美一级片网 | 日本高清www午色夜黄 | 黄色工厂在线播放 | 好爽快一点视频在线观看 | 国产亚洲精品成人一区看片 | 巨臀中文字幕一区二区视频 | 不卡福利视频 |