• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    PROFIBUS-DP從站的軟件實現(xiàn)
    • 企業(yè):控制網(wǎng)     領域:工業(yè)以太網(wǎng)     行業(yè):網(wǎng)絡通訊    
    • 點擊數(shù):7761     發(fā)布時間:2003-11-06 15:27:00
    • 分享到:

    郝  莉

    1  引言
    現(xiàn)場總線是當今自動化領域技術發(fā)展的熱點之一,現(xiàn)場總線技術自70年代誕生至今,由于它在減少系統(tǒng)線纜,簡化系統(tǒng)安裝、維護和管理,降低系統(tǒng)的投資和運行成本,增強系統(tǒng)性能等方面的優(yōu)越性,導致了自動控制領域的一場革命。它是應用在生產(chǎn)現(xiàn)場,在微機化測量控制設備之間實現(xiàn)雙向、串行、多點數(shù)字通訊的系統(tǒng),在制造業(yè)、流程工業(yè)、樓宇等方面的自動化系統(tǒng)中具有廣泛應用前景。現(xiàn)場總線有以下特點:(1)開放性。(2)可互操作性與可互換性。(3)全數(shù)字化。(4)雙向通信。(5)智能化的現(xiàn)場儀表。
    自80年代以來,有幾種現(xiàn)場總線技術得到發(fā)展,逐漸形成其影響。在國際標準中,也出現(xiàn)了協(xié)調(diào)共存的局面,目前的IEC61158中就已存在8種總線(ControlNet, Foundation Fieldbus H1, Foundation Fieldbus HSE, Interbus, P-Net, PROFIBUS, SwiftNet及WorldFIP)。
    2  PROFIBUS-DP基本特性
    PROFIBUS現(xiàn)場總線是歐洲首屈一指的開放式現(xiàn)場總線技術,是成熟技術,已被全世界所接受。PROFIBUS-DP是PROFIBUS三個兼容版本之一,它是經(jīng)過優(yōu)化的高速、廉價的通信系統(tǒng),專為自動控制系統(tǒng)和設備級分散I/O之間通信設計,用于分布式控制系統(tǒng)的高速數(shù)據(jù)傳輸。PROFIBUS協(xié)議結(jié)構(gòu)以OSI/ISO作為參考模型,DP為了數(shù)據(jù)傳輸?shù)目焖俸陀行?,使用了第一、二層外加用戶接口。PROFIBUS-DP的主要應用區(qū)域在現(xiàn)場層,響應時間從幾百微秒到幾百毫秒,它具有廣闊的數(shù)據(jù)傳輸范圍(從9.6Kbps到12Mbps),傳輸?shù)臄?shù)據(jù)容量為每個報文多達244字節(jié),它不需要改變硬件就有低速和高速的傳輸速率。
    3  PROFIBUS-DP的報文結(jié)構(gòu)與從站狀態(tài)機
    3.1  PROFIBUS-DP的報文結(jié)構(gòu)
    PROFIBUS-DP采用異步不歸零碼的編碼方式,傳輸?shù)目蛰d電平“1”,一個空載狀態(tài)至少33Tbit(同步時間),在每個請求報文發(fā)送前必須保證此時間。在單個字符間所有數(shù)據(jù)傳送是無縫的。報文通訊的基本順序及報文結(jié)構(gòu)如圖1所示。
    在PROFIBUS-DP通訊中有四種報文格式,以SD標識。SD為起始定界符,用于區(qū)分不同種類的報文,SD1為請求數(shù)據(jù)報文,SD2用于可變數(shù)據(jù)長度報文,SD3用于固定長度報文,SD4用于令牌幀。DA表示

     
    圖1  報文通訊的基本順序

    目的站地址,SA表示源站地址,F(xiàn)C為功能控制碼,DU表示相應的數(shù)據(jù)單元,F(xiàn)CS為校驗碼,ED為終止定界符。在SD2報文的DU中包含服務存取點SAP。PROFIBUS-DP用服務存取點SAP標明不同的數(shù)據(jù)存取服務,它提供有以下的服務存取點:
    SAP54:用于主-主通訊;
    SAP55:用于以軟件方式設定從站站地址(Set_Salve_Add);
    SAP56:讀輸入數(shù)據(jù)(Read_Input);
    SAP57:讀輸出數(shù)據(jù)(Read_Output);
    SAP58:廣播報文,全局控制(Global_Control);
    SAP59:讀組態(tài)數(shù)據(jù)(Get_Cfg);
    SAP60:讀診斷信息(Slave_Diag);
    SAP61:傳送參數(shù)數(shù)據(jù)(Set_Prm);
    SAP62:檢驗組態(tài)數(shù)據(jù)(Chk_Cfg);
    缺省SAP:用于數(shù)據(jù)交換(Data_Exchange)。
    4  PROFIBUS-DP從站的狀態(tài)機
    PROFIBUS-DP從站的狀態(tài)機很好地說明了DP從站是如何工作的,圖2表示經(jīng)過簡化了的從站狀態(tài)機,橢圓表示狀態(tài)機的狀態(tài),垂直箭頭表示從一個狀態(tài)到另一狀態(tài)的轉(zhuǎn)換。

     
    圖2  簡化的從站狀態(tài)機

    DP主站若要和DP從站建立循環(huán)數(shù)據(jù)通訊,必須經(jīng)歷以下幾個狀態(tài):
      請求診斷(Slave_Diag1);
      參數(shù)化從站(Set_Prm);
      檢查從站組態(tài)(Chk_Cfg);
      再次請求診斷(Slave_Diag2)。
    即:DP主站若想與DP從站進行循環(huán)數(shù)據(jù)通訊,主站必須檢查從站的準備情況,首先DP主站向DP從站請求診斷數(shù)據(jù),從站處于Slave_Diag1狀態(tài),如果從站用診斷數(shù)據(jù)響應主站且該從站沒有被其他主站占據(jù),DP主站將對該從站設置參數(shù),從站進入Set_Prm狀態(tài),以短應答E5H響應主站報文,接著主站傳送組態(tài)數(shù)據(jù),從站進入Chk_Cfg狀態(tài),同樣以E5H響應主站報文,另一方面,從站對主站傳送的參數(shù)數(shù)據(jù)、組態(tài)數(shù)據(jù)分析、比較、判斷,注冊診斷信息的相應位;然后主站再次向從站請求診斷數(shù)據(jù),確認參數(shù)化和組態(tài)正確與否,若正確且從站已經(jīng)做好了進入數(shù)據(jù)交換的準備,則進入循環(huán)數(shù)據(jù)交換階段,若參數(shù)化和組態(tài)數(shù)據(jù)有誤,則主站重新請求診斷,從站進入Slave_Diag1狀態(tài),若從站數(shù)據(jù)未準備好,則從站一直處于Slave_Diag2狀態(tài)接受主站查詢,直到準備就緒。這便是DP主從站間的建立通訊的過程。
    進入數(shù)據(jù)交換階段后,DP主從站間主要進行I/O數(shù)據(jù)的交換,若從站有診斷信息,會利用數(shù)據(jù)交換的機會以高優(yōu)先級報文的形式通知主站,主站會臨時使從站進入診斷狀態(tài)(Slave_Diag2),然后再恢復數(shù)據(jù)交換(Data_Exch)。
    另外,在進入數(shù)據(jù)交換階段后,主站也可以發(fā)參數(shù)化報文,改變從站用戶參數(shù)的設置;主站也可以請求診斷數(shù)據(jù)、組態(tài)數(shù)據(jù)、輸入輸出數(shù)據(jù)。
    5  PROFIBUS-DP從站的軟件實現(xiàn)方案
    PROFIBUS-DP從站的實現(xiàn)可采用專用協(xié)議芯片,稱為硬件實現(xiàn)。文中給出的DP從站實現(xiàn)方案采用軟件方式,即本軟件實現(xiàn)方案采用51系列單片機,集成PROFIBUS-DP從站協(xié)議,外加總線接口及驅(qū)動裝置,實現(xiàn)DP從站,波特率可達500Kbps,滿足大多數(shù)工業(yè)應用領域,實現(xiàn)了PROFIBUS-DP從站智能I/O模塊的自主開發(fā)。
    該軟件實現(xiàn)的DP從站,可自動適應網(wǎng)上波特率,站地址由撥碼開關設置,不支持軟件上對站地址的修改。
    采用8051單片機集成DP從站協(xié)議,軟件的核心部件是從站自動機。從站是被動站,只是響應主站的請求,而不向主站請求數(shù)據(jù)。從站接收到主站的請求報文后分析報文類型,根據(jù)報文類型做相應的數(shù)據(jù)處理,在相應的自動機上行走,響應主站的請求。按照從站自動機,從站要經(jīng)歷診斷、參數(shù)設置、組態(tài)檢查、再診斷幾個階段,如果上述幾步完全正確,從站進入與主站的循環(huán)數(shù)據(jù)交換,否則,重復自動機的前四步,直到初始化完全正確。

    圖3  數(shù)據(jù)管理子程序流程圖

    在主程序中主要完成初始化工作、對網(wǎng)上波特率的適應,也即查找網(wǎng)上波特率、采集處理輸入輸出數(shù)據(jù),通訊狀態(tài)監(jiān)測等工作。采集處理輸入輸出數(shù)據(jù)是主程序的主要工作,通訊狀態(tài)監(jiān)測定期查看通訊狀態(tài),在通訊出現(xiàn)故障時,要及時復位單片機。在適應網(wǎng)上波特率后,開串口中斷,接收總線數(shù)據(jù)。在串口中斷服務程序中主要的工作是接收總線數(shù)據(jù)、分析管理數(shù)據(jù),維護從站自動機并將相應的數(shù)據(jù)發(fā)送到總線上。其核心部分數(shù)據(jù)管理子程序流程圖見圖3所示。
    6  結(jié)語
    文中詳細闡述了PROFIBUS-DP的工作方式,介紹了軟件實現(xiàn)DP從站所需具備的一些基礎知識,并給出了軟件主要部件的程序流程圖。由于從站的實現(xiàn)只需要PROFIBUS-DP協(xié)議的一小部分,因此實施起來特別經(jīng)濟。采用軟件方式實現(xiàn)DP從站,是一種簡單有效的方法,用它代替專用協(xié)議芯片,可降低開發(fā)成本,實現(xiàn)自主開發(fā)。

    參考文獻:
    [1]  陽憲惠. 現(xiàn)場總線技術及應用[M]. 清華大學出版社, 1999, (6).
    [2]  TechnicalBrochure-v99[S]. www.profibus.com 1999-6, (17).
    [3]  Manfred Popp. The Rapid Way to PROFIBUS-DP[R]. Germany PROFIBUS Interface Center/Lab. 1997,(23).
    [4]  Profibus Specification (En50170)[S]. www.profibus.com 1998-3, (122).

    熱點新聞

    推薦產(chǎn)品

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



    2.詳細的需求:
    姓名:
    單位:
    電話:
    郵件: