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