西门子的PLC采用GSD文件进行接口通信配置,使得不需要更改任何硬件的情况,可以满足客户的诸多需求。
不同语言的扩展名:
“ GSE ” - 英语
“ GSF ” - 法国
“ GSG 。 ” - 德国
“ GSI ” - 意大利
“ GSS ” - 西班牙
西门子的PLC采用GSD文件进行接口通信配置,使得不需要更改任何硬件的情况,可以满足客户的诸多需求。
GSD即电子设备数据库文件,用于Profibus-Dp主站与从站交换数据时的参考数据,当主站与从站使用简介组态时,可以利用组态工具存取当前的参数和有关DP从站的GSD数据(电子设备数据库文件)?。
GSD 文件的组成:
GSD文件规范:
在GSD文件中,“;”作为注释符。#Profibus_D作为文件正式开头。
GSD_Revision——GSD文件的版本ID
Vendor_Name——制造商名字
Model_Name——制造商所设计的DP设备名字
Revision——DP设备的版本号
Ident_Number——DP设备的设备类型
Protocol_Ident——DP设备的协议ID
Station_Type——DP设备类型
Hardware_Release——该DP设备的硬件版本
Software_Release——该DP设备的软件版本
9.6_supp:(选项组)
19.2_supp:
31.25_supp:(GSDv2增加)
45.45_supp:(GSDv2增加)
93.75_supp:
187.5_supp:
500_supp:
1.5M_supp:
3M_supp:(GSDv1增加)
6M_supp:(GSDv1增加)
12M_supp:(GSDv1增加) ——DP设备是否支持xxx波特率
;
MaxTsdr_9.6:(选项组)
MaxTsdr_19.2:
MaxTsdr_31.25:(GSDv2增加)
MaxTsdr_45.45:(GSDv2增加)
MaxTsdr_93.75:
MaxTsdr_500:
MaxTsdr_1.5M:
MaxTsdr_3M:(GSDv1增加)
MaxTsdr_6M:(GSDv1增加)
MaxTsdr_12M:(GSDv1增加) ——在xxx波特率下,从站响应一个请求消息所需要的最大时间。(参阅EN50170 8-2 部分 8.8条款)。(注意:为了保证可靠性,此参数必须与设备实际支持的数值一致)
;
Redundancy:(默认) ——设备是否支持冗余传输机制。
Repeater_Ctrl_Sig:(默认)——Here, the level of the bus connector signal CNTR-P is specified——0: Not connected, 1: RS485, 2:TTL
24V_Pins:(默认)——Here, the meaning of the bus connector signal M24V and P24V is specified——0: Not connected, 1:Input, 2:Output
Implementation_Type——描述了DP从站使用了哪些标准实现。比如,软件标准,控制器或是ASIC方案。此描述由标准方案提供商给出,GSD规范里也要遵从它。(例:“SPC3”)
Bitmap_Device——用于一般情况下,代表设备特征的位图文件的文件名。格式为.DIB,70*40像素(宽高)
Bitmap_SF——用于特殊运行情况下,代表设备特征的位图文件的文件名。格式为.DIB,70*40像素(宽高)
Bitmap_Diag——用于诊断情况下,代表设备特征的位图文件的文件名。格式为.DIB,70*40像素(宽高)
OrderNumber——规格?产品序列号,可按用户名修改
Freeze_Mode_supp——DP设备是否支持冻结模式。支持此模式的DP从站要保证在冻结控制命令之后的下一个数据周期开始,传入值要冻结在最后的状态。
Sync_Mode_supp——DP设备是否支持同步模式
Auto_Baud_supp——DP设备是否支持自动检测识别总线的波特率
Min_Slave_Intervall——两个DP设备列表周期间最小的时间间隔
Fail_Safe——DP device with fail safe workaround
Slave_Family——组态中的分类名
Max_Diag_Data_Len——诊断信息的最大长度
Modul_Offset——第一个插槽号进行配置
Modular_Station——紧凑型从站
Max_Module——模块的最大数量
Max_Input_Len——输入数据的最大长度
Max_Output_Len——输出数据的最大长度
Max_Data_Len——输入输出数据的最大长度
User_Prm_Data_Len——Length of User_Param_Data
;— Module-Definitions —
Module——I/O配置数据,与初始化报文中的CFG一致
EndModule
一个例子:
;==========================================================
; GSD File for SINEC CP 342-5 SIEMENS AG
; MLFB : 6GK7 342-5DA03-0XE0
;
; Dated : 20.04.2010 V1.0 RT
; File : SI0180D6.GSD
;===========================================================
#Profibus_DP
GSD_Revision=4 ; Version ID of the GSD file format
Vendor_Name="SIEMENS" ; Manufacturer's name
Model_Name="CP 342-5 DA03" ; Manufacturer's designation of DP device
Revision="V1.0" ; Revision version of the DP device
Ident_Number=0x80D6 ; Device type of the DP device
Protocol_Ident=0 ; Protocol ID of the DP device
; 0 : PROFIBUS DP
Station_Type=0 ; DP device type
; 0 : DP Slave
Hardware_Release="V 1.0" ; Hardware release of the DP device
Software_Release="V 6.0" ; Software release of the DP device
;
;
9.6_supp=1
19.2_supp=1
45.45_supp=1
93.75_supp=1
187.5_supp=1
500_supp=1
1.5M_supp=1
3M_supp=1
6M_supp=1
12M_supp=1
;
MaxTsdr_9.6=60
MaxTsdr_19.2=60
MaxTsdr_45.45=250
MaxTsdr_93.75=60
MaxTsdr_187.5=60
MaxTsdr_500=100
MaxTsdr_1.5M=150
MaxTsdr_3M=250
MaxTsdr_6M=450
MaxTsdr_12M=800
;
;
Implementation_Type="SOC1" ; String (32)
Bitmap_Device="SI9001TN" ; (*.DIB) (70x40 pixels 16 colors)
;
; Slave-Specification:
OrderNumber="6GK7 342-5DA03-0XE0" ; Spec?
;
; Basic DP-Slave Related Key Words
Auto_Baud_supp=0 ; DP device supports automatic baudrate
User_Prm_Data_Len=3 ; Length of User_Param_Data
User_Prm_Data = 0x40,0x00,0x00 ; Default value of User_Param_Data
Min_Slave_Intervall=6 ; Min interval between two slave list
; cycles
;
Modular_Station=1 ; DP device is a modular station
Max_Module=63 ; Max modules of a modular station
Max_Input_Len=240 ; Max length of input data
Max_Output_Len=240 ; Max length of output data
Max_Data_Len=480 ; Max length of input and output data
;
Freeze_Mode_supp=1 ; The DP device supports the Freeze mode
Sync_Mode_supp=1 ; The DP device supports the Sync mode
;
Fail_Safe=1 ; DP device with fail safe workaround
Max_Diag_Data_Len=6 ; Max length of diagnostic information
Modul_Offset=1 ; First slot number to configuring
Slave_Family=3@SIMATIC ; Function class an family
;
Info_Text="CP 342-5 as PROFIBUS DP Slave, \
Firmware: V6.0" ; String (256) max length of line : 80
;
;<Module Definition List>
;****************************************************************************
; BYTE MODULES (special identification formats)
;****************************************************************************
;**************************** I N P U T *************************************
;****************************************************************************
; Input * Byte Consistentcy* Bytes of Data * 1..64 bytes
;**********************************************************
Module = " 1 byte DI / Consistency 1 byte " 0x40,0x00
1
EndModule
Module = " 2 bytes DI / Consistency 1 byte" 0x40,0x01
2
EndModule
Module = " 4 bytes DI / Consistency 1 byte" 0x40,0x03
3
EndModule
Module = " 8 bytes DI / Consistency 1 byte" 0x40,0x07
4
EndModule
Module = "16 bytes DI / Consistency 1 byte" 0x40,0x0F
5
EndModule
Module = "32 bytes DI / Consistency 1 byte" 0x40,0x1F
6
EndModule
Module = "64 bytes DI / Consistency 1 byte" 0x40,0x3F
7
EndModule
;**********************************************************
; Input * Total Consistency * Bytes of Daten * 1..64 bytes
;**********************************************************
Module = " 1 byte DI / Total consistency " 0x40,0x80
11
EndModule
Module = " 2 bytes DI / Total consistency " 0x40,0x81
12
EndModule
Module = " 4 bytes DI / Total consistency " 0x40,0x83
13
EndModule
Module = " 8 bytes DI / Total consistency " 0x40,0x87
14
EndModule
Module = "16 bytes DI / Total consistency " 0x40,0x8F
15
EndModule
Module = "32 bytes DI / Total consistency " 0x40,0x9F
16
EndModule
Module = "64 bytes DI / Total consistency " 0x40,0xBF
17
EndModule
;**********************************************************
; Input * Word Consistency * Words of Data * 1..64 words
;**********************************************************
Module = " 1 word AI / Consistency 1 word " 0x40,0x40
21
EndModule
Module = " 2 words AI / Consistency 1 word" 0x40,0x41
22
EndModule
Module = " 4 words AI / Consistency 1 word" 0x40,0x43
23
EndModule
Module = " 8 words AI / Consistency 1 word" 0x40,0x47
24
EndModule
Module = "16 words AI / Consistency 1 word" 0x40,0x4F
25
EndModule
Module = "32 words AI / Consistency 1 word" 0x40,0x5F
26
EndModule
Module = "64 words AI / Consistency 1 word" 0x40,0x7F
27
EndModule
;**********************************************************
; Input * Total Consistency * Words of Data * 1..64 words
;**********************************************************
Module = " 1 word AI / Total consistency " 0x40,0xC0
31
EndModule
Module = " 2 words AI / Total consistency " 0x40,0xC1
32
EndModule
Module = " 4 words AI / Total consistency " 0x40,0xC3
33
EndModule
Module = " 8 words AI / Total consistency " 0x40,0xC7
34
EndModule
Module = "16 words AI / Total consistency " 0x40,0xCf
35
EndModule
Module = "32 words AI / Total consistency " 0x40,0xDF
36
EndModule
Module = "64 words AI / Total consistency " 0x40,0xFF
37
EndModule
;****************************************************************************
;**************************** O U T P U T ***********************************
;****************************************************************************
; Output * Byte Consistency * Bytes of Data * 1..64 bytes
;**********************************************************
Module = " 1 byte DO / Consistency 1 byte " 0x80,0x00
41
EndModule
Module = " 2 bytes DO / Consistency 1 byte" 0x80,0x01
42
EndModule
Module = " 4 bytes DO / Consistency 1 byte" 0x80,0x03
43
EndModule
Module = " 8 bytes DO / Consistency 1 byte" 0x80,0x07
44
EndModule
Module = "16 bytes DO / Consistency 1 byte" 0x80,0x0F
45
EndModule
Module = "32 bytes DO / Consistency 1 byte" 0x80,0x1F
46
EndModule
Module = "64 bytes DO / Consistency 1 byte" 0x80,0x3F
47
EndModule
;**********************************************************
; Output * Total Consistency * Bytes of Data * 1..64 bytes
;**********************************************************
Module = " 1 byte DO / Total consistency " 0x80,0x80
51
EndModule
Module = " 2 bytes DO / Total consistency " 0x80,0x81
52
EndModule
Module = " 4 bytes DO / Total consistency " 0x80,0x83
53
EndModule
Module = " 8 bytes DO / Total consistency " 0x80,0x87
54
EndModule
Module = "16 bytes DO / Total consistency " 0x80,0x8F
55
EndModule
Module = "32 bytes DO / Total consistency " 0x80,0x9F
56
EndModule
Module = "64 bytes DO / Total consistency " 0x80,0xBF
57
EndModule
;**********************************************************
; Output * Word Consistency * Words of Data * 1..64 words
;**********************************************************
Module = " 1 word AO / Consistency 1 word " 0x80,0x40
61
EndModule
Module = " 2 words AO / Consistency 1 word" 0x80,0x41
62
EndModule
Module = " 4 words AO / Consistency 1 word" 0x80,0x43
63
EndModule
Module = " 8 words AO / Consistency 1 word" 0x80,0x47
64
EndModule
Module = "16 words AO / Consistency 1 word" 0x80,0x4F
65
EndModule
Module = "32 words AO / Consistency 1 word" 0x80,0x5F
66
EndModule
Module = "64 words AO / Consistency 1 word" 0x80,0x7F
67
EndModule
;**********************************************************
; Output * Total Consistency * Words of Data * 1..64 words
;**********************************************************
Module = " 1 word AO / Total consistency " 0x80,0xC0
71
EndModule
Module = " 2 words AO / Total consistency " 0x80,0xC1
72
EndModule
Module = " 4 words AO / Total consistency " 0x80,0xC3
73
EndModule
Module = " 8 words AO / Total consistency " 0x80,0xC7
74
EndModule
Module = "16 words AO / Total consistency " 0x80,0xCf
75
EndModule
Module = "32 words AO / Total consistency " 0x80,0xDF
76
EndModule
Module = "64 words AO / Total consistency " 0x80,0xFF
77
EndModule