李俊湘
(廣東省高級技工學校,廣東 惠州 516100)
現(xiàn)場總線是近幾年來迅速發(fā)展起來的一種工業(yè)數(shù)據(jù)總線,是一種串行的數(shù)字數(shù)據(jù)通信鏈路,是應用于生產(chǎn)現(xiàn)場,在微機化測量控制設備之間實現(xiàn)雙向串行多節(jié)點數(shù)字通信的系統(tǒng),也稱為開放式、數(shù)字化、多點通信的底層控制網(wǎng)絡。P rofibus現(xiàn)場總線由P rofibus-DP,P rofibus-FMS,P rofibus-PA組成,其中DP用于分散外設間的高速數(shù)據(jù)傳輸,是一種經(jīng)濟的設備級網(wǎng)絡,數(shù)據(jù)傳輸速率9.6Kbit/s~12Mbit/s,主要用于現(xiàn)場控制器與分散I/O之間的通信,可滿足交直流調(diào)速系統(tǒng)快速響應的時間要求,特別適合于加工自動化領域的應用。FMS主要解決車間級通信問題,完成中等傳輸速度的循環(huán)或非循環(huán)數(shù)據(jù)交換任務,適用于紡織、樓宇自動化、可編程控制器(PLC)、低壓開關等,PA型采用了OSI模型的物理層,數(shù)據(jù)鏈路層、適用于過程自動化的總線類型[1]。P rofibus現(xiàn)場總線系統(tǒng)中,DP從站是進行輸入和輸出信息采集和發(fā)送的外圍設備,能夠接收P rofibus的PLC主站或PC主站的控制數(shù)據(jù),構(gòu)成一個數(shù)字化、智能雙向、多點的現(xiàn)場總線通信網(wǎng)絡,實現(xiàn)最優(yōu)控制;而且DP智能從站執(zhí)行器具有可靠性高、抗干擾能力強、性能價格比高等特點,因此開發(fā)智能化DP從站具有巨大的前景。
3種系列的P rofibus(DP、PA和FMS)使用同一種總線存取協(xié)議,也就是說具有相同的現(xiàn)場總線數(shù)據(jù)鏈路(FDL,F(xiàn)ieldbus Data Link),該通信協(xié)議的介質(zhì)存取控制(MAC,Medium Access Control)采用兩種存取方式,即主站之間的令牌傳遞方式和主站與從站之間的主從方式,其中令牌傳遞控制如圖1所示。
在圖1中,P rofibus總線上的主設備M3獲得令牌,即獲得了總線控制權(quán),此時,主設備M3與M5進行數(shù)據(jù)傳遞,同時M3也可以與從設備S1、S2、S3等進行通信,M3對從設備進行循環(huán)查詢。當M3主站沒有需要發(fā)送的幀或在規(guī)定時間內(nèi)發(fā)送完了所需發(fā)送的幀,或者M3的控制時間終了時,它就將主站令牌傳遞給下一個主站M5。以后,令牌在M5-M6-M8-M3之間進行傳遞。
P rofibus-DP物理層與ISO/OSI參考模型的第一層相同,采用EIA-RS485協(xié)議,根據(jù)數(shù)據(jù)傳輸速率的不同,可選用雙絞線和光纖兩種傳輸介質(zhì),P rofibus—DP數(shù)據(jù)鏈路層協(xié)議媒體訪問控制(MAL)部分采用受控訪問的令牌總線(T oken B us)和主從方式。令牌總線與局域網(wǎng)IEEE8024協(xié)議一致,令牌在總線上的各主站間傳遞,持有令牌的主站獲得總線控制權(quán),該主站依照關系表與從站或其它主站進行通信。令牌傳遞在主站間的總線結(jié)構(gòu)基礎上形成邏輯令牌環(huán),保證每個主站在確定時間內(nèi)能夠取得總線使用權(quán)(令牌),并且任一時刻只能有一個主站發(fā)送數(shù)據(jù),完全避免了沖突;令牌在所有主站間循環(huán)一周的最長時間是預先規(guī)定好的,保證報文傳遞的實時性[2-3]。
圖1 PROFIBUS總線存取方法
P rofibus-DP區(qū)分主動和被動兩種總線節(jié)點。主動節(jié)點為主設備,被動節(jié)點為從設備。運行過程中,網(wǎng)絡中的各節(jié)點共享傳輸介質(zhì),系統(tǒng)需要控制對網(wǎng)絡的訪問。在圖1中,按主從令牌方式訪問網(wǎng)絡的原則,只有主動節(jié)點才有接受訪問網(wǎng)絡的權(quán)利。通過從一個主站將令牌傳遞給下一個主站來獲得訪問網(wǎng)絡的權(quán)利。如果不需要發(fā)送,令牌就傳遞給下一個主站。被動的總線節(jié)點是直接通過主模塊的輪詢來分配的。
如果采用一般的標準網(wǎng)絡部件就不能滿足通信協(xié)議的實時性。因此,DP從站必須采用相應的接口模板來實現(xiàn)其通信的性能。
P rofibus通信接口芯片有很多種,各種芯片有各自的連接方法和工作特性,本系統(tǒng)選用ASIC SPC3芯片,SPC3是一種用于從站的智能通信芯片,具有1.5Kbyte的信息報文存儲器,采用44管腳的PQFP封裝;可獨立完成全部P rofibus-DP通信功能,這樣可加速通信協(xié)議的執(zhí)行,而且可減少接口模板微處理器中的軟件程序。其總線存取由硬件驅(qū)動,與應用對象之間通信采用數(shù)據(jù)接口,因此數(shù)據(jù)的交換獨立于總線周期。在與應用對象之間硬件連接方面,微處理器提供了方便的接口。SPC3主要技術指標為:在P rofibus上自動檢測并調(diào)整數(shù)據(jù)傳輸速率,最大數(shù)據(jù)傳輸速率12Mbit/s。外部時鐘接口24MH z或48MH z;集成的看門狗,RS485傳輸,完整的P rofibus-DP協(xié)議集成于芯片中。其結(jié)構(gòu)如圖2所示。
在圖2中,總線接口單元(BIU)是可參數(shù)化的8位同步/異步數(shù)據(jù)接口,用戶可以通過11位地址總線(AB)存取1.5KRAM或數(shù)據(jù)所存器。方式寄存器(Mode Register)在SPC3啟動后,加載過程指定參數(shù)(例如從站地址、緩沖器地址、控制位信息等)。過程指定參數(shù)和數(shù)據(jù)緩沖器都存放在1.5KRAM中,RAM和RAM控制器組成雙口RAM。狀態(tài)寄存器(Status Register)存放從站的狀態(tài)信息,以便在任何時間能掃描現(xiàn)場總線的介質(zhì)訪問子層(MAC)。中斷控制器接收不同事件的中斷請求,由SPC3一個共同的中斷輸出口輸出。內(nèi)置的看門狗定時器有3種工作狀態(tài):Baud-Search、Baud-Control、DP-Control。串行通訊接口(UART)把并行數(shù)據(jù)流轉(zhuǎn)換為串行數(shù)據(jù)流輸出到RS485總線上,并自動識別波特率;總線定時器直接控制串行總線電纜上的時序。微處理控制器是本系統(tǒng)的核心[4-5]。
智能化DP從站的硬件系統(tǒng)由SPC3芯片、8032微處理器、擴展接口芯片8255和8279、外部EPROM組成,系統(tǒng)通過并行接口8255的PA接收反饋信號,經(jīng)過微處理器8032的程序控制,再由8255的PB口輸出驅(qū)動信號;同時8032通過SPC3使用RS-485與外界通信,獲得數(shù)據(jù),調(diào)整控制參數(shù),使系統(tǒng)實現(xiàn)最優(yōu)控制。系統(tǒng)的組成結(jié)構(gòu)如圖3所示。
圖2 SPC3 ASIC芯片結(jié)構(gòu)圖
圖3 智能DP從站硬件組成圖
在圖3中,通過在擴展8255上連接不同的外圍電路(A/D或D/A),可以實現(xiàn)執(zhí)行器、變送器等多個智能化從站。SPC3的RAM空間地址分配情況如下,處理器參數(shù)鎖存/寄存器地址為:000H~015H;中斷控制器地址為:00H~03H;04H、05H為狀態(tài)寄存器;06H、07H為方式寄存器0;08H、09H為方式寄存器1;016H~039H為組織參數(shù),用來存放緩沖器的長度和地址結(jié)構(gòu)信息;040H以上為DP緩沖器,如數(shù)據(jù)輸入/輸出緩沖、診斷緩沖、輔助緩沖等等,該段內(nèi)存包含了SPC3的服務存取點(SAP55~62),能完成DP從站與主站的通信任務。
本系統(tǒng)中,DP從站的過程參數(shù)主要有兩類:一是從站自身的傳感器輸入的參數(shù);一類是主站通過P rofibus現(xiàn)場總線傳送給從站的參數(shù),如控制指令等等,這些參數(shù)都必須通過微處理器8032進行智能化運算。
SPC3協(xié)議芯片主要功能如下:在SPC3支持的DP主站一從站服務中,診斷處理、參數(shù)化、檢查組態(tài)數(shù)據(jù)和從設備地址設置4種協(xié)議報文是開發(fā)人員必須了解的。①診斷處理:當從設備發(fā)生異常時,可以通過診斷報文向主站傳遞相關信息,此信息是從設備主動發(fā)送的;②參數(shù)化(PRM):參數(shù)化報文主要是主站用來設置從設備的工作參數(shù)。從站的參數(shù)化在DP系統(tǒng)的建立階段首先完成,也可在用戶數(shù)據(jù)交換模式中完成;③檢查組態(tài)數(shù)據(jù)(CFG):此功能允許DP主站傳送組態(tài)數(shù)據(jù)到DP從站以便檢查.它們包括輸入輸出區(qū)域的范圍,也包括關于數(shù)據(jù)連續(xù)性的信息。DP從站中的用戶程序會對接收到的組態(tài)數(shù)據(jù)進行檢查,將結(jié)果通知SPC3;④變更DP從站的地址(SSA):此功能允許DP主站(2類)變更DP從站的地址,如DP從站沒有存儲能力(EEPROM,F(xiàn)LASH)或如果地址設置是以一個開關來實施的,則此功能以RS出錯報文來拒絕。
在實際設計過程中,將軟件結(jié)構(gòu)設計成主程序模塊和中斷處理模塊,主程序模塊主要負責系統(tǒng)初始化和寄存器狀態(tài)查詢,并根據(jù)寄存器狀態(tài)進行相應的操作,這一過程主要處理一些對時間關鍵性要求相對較低的操作,如IN/OUT數(shù)據(jù)的處理、診斷報文的處理等;中斷處理模塊主要處理對時間關鍵性要求較高的操作,如設備的上/下線處理、參數(shù)化報文處理、從設備通道配置報文處理、設備地址報文和設備波特率變更報文處理等過程。
圖4、圖5所示分別為主程序模塊和中斷處理模塊的工作流程。
在圖4主程序模塊的工作流程中,SPC3初始化是非常關鍵的一個環(huán)節(jié),SPC3的初始化過程主要包括以下內(nèi)容。
SPC3中斷配置。SPC3最多支持11種類型的中斷,用戶程序可以對SPC3需要響應的中斷進行設置。
圖4 主程序模塊流程圖
圖5 中斷模塊流程圖
用戶定時器配置。在用戶定時器超時后,SPC3會認為用戶程序發(fā)生錯誤,會自動切換其工作狀態(tài),以防止設備發(fā)生故障時影響整個系統(tǒng)的安全。
設備地址設置。SPC3內(nèi)0xl6H為寫入設備地址的地方。
SPC3內(nèi)各種緩沖區(qū)地址及長度計算。需要注意的是,最后的長度值是以段為單位的。需要計算的內(nèi)容包括:輸入/輸出緩沖區(qū)的長度和指針,存放診斷處理、參數(shù)化、組態(tài)數(shù)據(jù)檢查和從設備地址設置等多種協(xié)議報文的緩沖區(qū)長度及指針等。SPC3只提供一個中斷,用戶程序在響應中斷后,根據(jù)中斷請求寄存器(IRR)中的內(nèi)容來判斷具體發(fā)生何種類型的中斷事件,中斷處理模塊主要完成以下工作:①檢查并處理新的PRM報文;②檢查并處理新的CFG報文;③檢查并處理新的SSA報文。
P rofibus現(xiàn)場總線技術的主要目標是滿足工業(yè)控制現(xiàn)場快速、高效的數(shù)據(jù)通信要求,通過P rofibus網(wǎng)和軟件的對策可實現(xiàn)真正的快速,包括快速采集大量的常規(guī)通道信號及現(xiàn)場數(shù)據(jù)。智能從站是P rofibus網(wǎng)的重要組成部分,DP的從站設計方法有多種,在實際設計時,應根據(jù)具體要求,選擇合適的芯片;同時設計出的從站產(chǎn)品,經(jīng)過必要的測試,如數(shù)據(jù)采集、網(wǎng)絡通訊、可靠性和抗干擾性等,方可投入使用。本文提出的DP從站,可實現(xiàn)整個現(xiàn)場總線控制過程的最優(yōu)化,是目前較為先進和可靠的產(chǎn)品。
[1]劉美俊.西門子PLC編程及應用[M].北京:機械工業(yè)出版社,2011.
[2]單志華,周炎濤,王興仙.基于PROFIBUS智能斷路器通信模塊設計與實現(xiàn)[J].計算機系統(tǒng)應用,2011,20(8):138-141.
[3]杜大軍,費敏銳,宋 楊等.網(wǎng)絡控制系統(tǒng)的簡要回顧及展望[J].儀器儀表學報,2011,32(3):713-720.
[4]PROFIBUSspecification No.0.032 ,PROFIBUS specification Normative Parts,Part8:user specification[S].
[5]PROFIBUSspecification No.0.032,PROFIBUS specification Normative Parts,Part 4:Data Link Layer Protocol specification[S].