摘 要:本文在深入分析PROFIBUS-DP現(xiàn)場總線設備GSD文件結(jié)構的基礎上,詳細介紹了在ABB AC450控制系統(tǒng)中使用PROFIBUS-DP時的硬件配置和軟件組態(tài)。
關鍵詞:PROFIBUS-DP;GSD;ABB AC450
0 引言
PROFIBUS 是一種具有廣泛應用范圍的、開放的數(shù)字通信系統(tǒng),已被納入在國際標準IEC 61158 和IEC 61784中。由于在“PROFIBUS用戶組織”的普遍可提供的導則中規(guī)定了應用和工程方面的信息,滿足用戶對于制造商無關性和開放性的要求,并確保了在各個制造商的設備之間進行通信,因此目前國際上PROFIBUS在各種現(xiàn)場總線應用中具有大于20%的市場份額,超過500萬個節(jié)點, PROFIBUS產(chǎn)品的制造商也已超過2000個。為支持PROFIBUS在控制系統(tǒng)中的應用,ABB公司在上世紀九十年代推出的Advant Controller 450(簡稱AC450)系統(tǒng)中全面支持PROFIBUS的應用,十年來廣泛應用于冶金等各領域。
1 GSD文件的結(jié)構
GSD文件也稱為設備描述文件,是PROFIBUS設備制造商使用PTO(Profibus Trade Organization) 提供的GSD-Editor制作的描述其生產(chǎn)的某一具體型號的設備的各種性能參數(shù)的文本文件。它可由制造商隨設備提供,用戶也可以從http://www.profibus.com下載。GSD文件包括所有與該設備有關的參數(shù),例如:支持的波特率、信息長度、輸入和輸出數(shù)據(jù)的數(shù)量、診斷信息的含義、模塊化設備的可選件描述等。GSD文件一般由以下幾部分組成,其中以分號開始的內(nèi)容為注釋,為了便于說明,文件中的保留字用黑體字表示。
(1) DP GSD文件標識符,格式固定不變:#Profibus_DP
(2) 參數(shù)文本定義,語法為:
…
PrmText=4
Text(0)= “GRAY”
Text(1)= “BINARY”
Text(2)= “SHIFTED GRAY”
EndPrmText
…
在該部分可定義多個參數(shù)。
(3) 擴展用戶參數(shù)數(shù)據(jù),語法為:
…
ExtUserPrmData=16 “Code SSI-Interface”
Unsigned8 0 0-2
Prm_Text_Ref= 4
EndExtUserPrmData
…
該部分定義該設備特有的參數(shù),每個參數(shù)以ExtUserPrmData開始分別為其定義一個數(shù)字編號和用字符串表示的參數(shù)含義。對于該參數(shù)的設定值,用Prm_Text_Ref為其定義一個數(shù)字指針,指向在參數(shù)文本定義部分定義的一個文本參數(shù)號。本例中的Prm_Text_Ref= 4表示該參數(shù)的設定值由PrmText=4來定義,而在參數(shù)文本中明確給出該參數(shù)取不同值時所代表的編碼方式。對于本例中的“Unsigned8 0 0-2”,Unsigned8是參數(shù)的數(shù)據(jù)類型說明,為8為無符號整數(shù),0表示默認取值,即格雷碼(GRAY),0-2表示其取值范圍。參數(shù)文本定義和擴展用戶參數(shù)數(shù)據(jù)不是GSD文件的必有部分。
(4) 通用數(shù)據(jù)部分,語法及具體含義如下:
GSD_Revision=1 ;GSD文件的版本號
Vendor_Name="TR Electronic GmbH" ;制造商
Model_Name="TR CE65M DP V3.0" ;設備型號
Revision="V2.0" ;設備版本號
Ident_Number=0xAAAB ;由PTO簽發(fā)的唯一設備ID號
Protocol_Ident=0 ;定義支持的協(xié)議,0:DP;1:DP/FMS
Station_Type=0 ;設備類型,0:Slave;1:Master
FMS_supp=0 ;是否支持FMS
Hardware_Release="416157" ;設備硬件版本號
Software_Release="3.0" ;設備軟件版本號
9.6_supp=1 ;所支持的通信速率選擇,從9.6kB到12MB
…
MaxTsdr_9.6=60 ;與通信速率對應的最大應答時間
…
(5) 從結(jié)點通用數(shù)據(jù),語法及具體含義如下:
; Slave-Specification:
OrderNumber="110-xxxxx" ;定貨號
Periphery="DPS"
OffsetFirstMPDBlock=0
ETERDelay=0
MaxResponseDelay=0
Freeze_Mode_supp=1 ;輸入數(shù)據(jù)同步
Sync_Mode_supp=1 ;輸出數(shù)據(jù)同步
Auto_Baud_supp=1 ;自動識別通信速率
Set_Slave_Add_supp=1 ;可通過 PROFIBUS設定站地址
Min_Slave_Intervall=10 ;最小時間間隔,單位為100us
Max_Diag_Data_Len=57 ;最大診斷數(shù)據(jù)長度
Slave_Family=7@TR-ELECTRONIC ;為組態(tài)工具定義的產(chǎn)品家族標識
Bitmap_Device="Traaab3n" ;設備位圖文件名稱
Bitmap_Diag="Traaab3s" ;診斷位圖文件名稱
Modular_Station=1 ;站類型定義,1:模塊型;0:緊湊型
Max_Module=1 ;最大模塊數(shù)量(對模塊型而言)
Max_Input_Len=6 ;輸入數(shù)據(jù)最大長度(對模塊型而言)
Max_Output_Len=4 ;輸出數(shù)據(jù)最大長度(對模塊型而言)
Max_Data_Len=10 ;輸入和輸出數(shù)據(jù)最大長度(對模塊型而言)
Fail_Safe=1 ;失敗安全功能
Max_User_Prm_Data_Len =33 ;最大用戶參數(shù)數(shù)據(jù)長度
(6) 模塊定義清單,分為兩類,一類稱為簡單模塊定義,如下例:
;
Module = "1 Byte DI " 0x10 ;1個字節(jié)的DI定義
EndModule
Module = "2 Byte DO" 0x21 ;2個字節(jié)的DO定義
EndModule
Module = "3 Byte DX" 0x32 ;3個字節(jié)的DX定義
EndModule
另一類稱為特殊模塊定義,如下例:
;
Module="PNO Class 1 16 Bit" 0xD0 ;模塊類型及其16進制代碼
Ext_Module_Prm_Data_Len=2 ;擴展模塊參數(shù)數(shù)據(jù)長度(以字節(jié)為單位)
Ext_User_Prm_Data_Const(0)=0x00,0x00 ;默認的擴展用戶參數(shù)組態(tài)
Ext_User_Prm_Data_Ref(1)=1
EndModule
在該部分中,使用Ext_User_Prm_Data_Ref為指定的字節(jié)定義所代表的參數(shù),括號內(nèi)的數(shù)字是字節(jié)號(從0開始),等號后面的數(shù)字指向在擴展用戶參數(shù)數(shù)據(jù)中定義的參數(shù)號。
2 AC450系統(tǒng)中PROFIBUS-DP的硬件配置和軟件組態(tài)
2.1 硬件配置
要在AC450系統(tǒng)中使用PROFIBUS-DP,需要在CPU機架的擴展槽內(nèi)安裝一塊通信模塊作為Master,把PROFIBUS電纜通過總線連接器(SIEMENS 6ES7 972-0BA41-0XA0)連接到該板上,然后連接到其它Slave結(jié)點。下圖1是一個典型的配置圖,圖中有兩個Slave結(jié)點,一個是CE-65-M型絕對值編碼器,另一個是WAGO模塊組成的I/O站,各模塊作用如下:
WAGO 750-303: PROFIBUS-DP Coupler(12Mbaud)
WAGO 750-610: 帶保險絲的供電模塊
WAGO 750-410: 雙通道24VDC DI模塊
WAGO 750-630: SSI傳感器接口模塊
WAGO 750-602: 供電模塊
WAGO 750-507: 雙通道24VDC DO模塊
WAGO 750-600: 終端模塊
2.2 軟件組態(tài)
ABB AC450系統(tǒng)中的軟件軟件組態(tài)分數(shù)據(jù)庫(DB)組態(tài)和程序(PC)組態(tài)兩部分,詳見參考文獻[4]。在PC部分,只需使用PC元素PB-R從Slave站點讀出所需的數(shù)據(jù),這里著重介紹DB組態(tài)。在AC450中,與PROFIBUS-DP有關的數(shù)據(jù)庫元素有三個:PB、PBSD、PBS,分別完成對總線、Slave特性描述、Slave站點的組態(tài)。各個數(shù)據(jù)庫元素詳細的輸入輸出端定義見參考文獻[3]。
(1) 總線的組態(tài)
按照下述步驟正確設置總線組態(tài)數(shù)據(jù)庫PB各輸入端的值:
-輸入總線號(BUSNO),范圍為1到255,注意不要與本系統(tǒng)中其它的總線號沖突。
-輸入站號(STNNO),范圍為1到125,注意不要與總線上其它Slave的站號沖突。
-輸入CI541模塊在機架中的位置和子位置(POSITION,SUBPOS)。
-設置總線參數(shù)部分,一般均使用系統(tǒng)默認值,需要注意的是參數(shù)BAURATE,應當根據(jù)選用的通信介質(zhì)及其長度合理設置。例如如果使用A型電纜,則傳輸速率與長度對 應關系如下表1:
(2)Slave特性描述
數(shù)據(jù)庫元素PBSD完成對某一類或一個PROFIBUS-DP Slave站點的特性描述,一般來說,對于象編碼器等緊湊型站點,不管在一條總線上用了多少個,可以為同型號的設備建立一個PBSD即可;而對于像WAGO I/O站等模塊型站點,除非幾個站點的I/O配置相同,否則要為每個站點分別建立一個PBSD,以完成其I/O配置。PBSD分為三部分:Slave參數(shù)、用戶參數(shù)數(shù)據(jù)、組態(tài)數(shù)據(jù)。對于Slave參數(shù)部分,可按照參考文獻[3]中對各參數(shù)的描述,在相應的GSD文件中取得正確的設置。對于用戶參數(shù)數(shù)據(jù),一般也可以從GSD文件中取得,例如:UPRMDLEN對應于User_Prm_Data_Len 或Ext_Module_Prm_Data_Len指定的值,UPRMD1到UPRMD25對應于User_Prm_Data 或Ext_User_Prm_Data_Const(0) 指定的一組十六進制數(shù),這些數(shù)字連續(xù)書寫(去掉“0x”標識),每個UPRMD可書寫最大20個數(shù)字,一個不夠可在下一個繼續(xù)寫。為了便于區(qū)分,也可以根據(jù)參數(shù)的具體含義分組,每組占用一個UPRMD。如果該模認參數(shù)不符合要求,可根據(jù)Ext_User_Prm_Data_Ref( )中指定的參數(shù)每個字節(jié)的具體含義進行修改。
對于組態(tài)數(shù)據(jù)部分,分緊湊型和模塊型兩種情況。對于象編碼器等緊湊型站點,CFGDLEN對應于Module定義的十六進制數(shù)的個數(shù),CFGD1到CFGD25則對應著這些十六進制數(shù),例如:如果Module="PNO Class 1 16 Bit" 0xD0,則:CFGDLEN=1,CFGD1=D0;如果Module="TR-Mode Position+Rpm." 0xF1,0XD0,則:CFGDLEN=2,CFGD1=F1D0。
對于象WAGO I/O等模塊型站點,根據(jù)站點中具體的各種型號的I/O模塊分配,然后根據(jù)GSD文件中對每種I/O模塊的定義確定上述參數(shù)。例如對于圖1中的WAGO站來說,GSD文件中與該硬件配置有關的內(nèi)容如下:
Module = "750-630 (/...-...) 1x32Bit I " 0xD1
Module = "0..8 Bit binary outputs " 0x20
Module = "0..8 Bit binary inputs " 0x10
由此很容易計算出:CFGDLEN=10,CFGD1=D1D1D1D1D1D1D1201010。對于模塊型站點,應當注意,如果交換了模塊的位置,必須修改組態(tài)數(shù)據(jù)CFGD;如果增加或刪除了模塊,必須重新計算CFGDLEN和CFGD。
(3)Slave站點定義
在AC450系統(tǒng)中,PB元素的IMPL端和PBS的IMPL端有很強的依賴性,具體而言,只有當前者為0時才能創(chuàng)建該總線上的Slave站點。當增加Slave站點時,新增的PBS的IMPL端必須在PB元素的IMPL端置1之前設置為1,否則該站點不工作。因此正確建立Slave站點的步驟是:
-把相應PB元素的IMPL端改為0
-增加PBS站點,并輸入總線號(BUSNO)、站號(STNNO)和Slave站點描述索引 (它必須是一個已經(jīng)存在的PBSD)。
-把該PBS元素的IMPL端改為1(默認值)。
-把相應PB元素的IMPL端改為1以啟動該總線。
3 結(jié)論
實踐證明,在AC450系統(tǒng)中采用PROFIBUS技術,能夠縮短安裝和調(diào)試工期,節(jié)省了大量電纜,系統(tǒng)穩(wěn)定可靠。
參考文獻:
[1]WAGO-I/O-SYSTEM 750 Modular I/O System PROFIBUS DP Manual,
WAGO Kontakttechnik GmbH
[2]PROFIBUS-DP Advant® Controller 400 Series User’s Guide ,
ABB Automation Products AB 2000.
[3] Data Base Elements Advant® Controller 400 Series Reference Manual
ABB Automation Products AB 2000.
[4]孫漢峰:棒材和輕型材連續(xù)剪切控制系統(tǒng),冶金自動化1997