新浪博客

[转载]profibus GSD文件详解

2015-03-19 13:39阅读:
原文作者:踏雪无痕

Profibus应用笔记
2014-9-11
通过PROFIBUS DP用功能块在主、从站之间实现双向数据传送:在主站PLC可以通过调用SFC14“DPRD_DAT”和SFC15“DPWR_DAT”来完成和从站的数据交换,而对于从站来说可以调用FC1“DP_SEND”和FC2“DP_RECV”完成数据的交换。

GSD文件说明

1. GSD 文件简介
PRO FlBUS 设备具有不同的性能特点,为达到PROFIBUS 简单的即插即用配置.PROFIBUS 设备的特性均在电子设备数据库文件(GSD)中具体说明。标准化的GSD 数据将通信扩大到操作员控制级。使用基于GSD 的组态工具可将不同厂商生产的设备集成在同一总线系统中.既简单又是对用户友好的。
2 .GSD 文件的组成
GSD 文件可以分为三个部分:
◆一般规范 这部分包括生产厂商和设备的名称,硬件和软件的版本状况,
支持的波特率一可能的监视时间问隔以及总线插头的信号分配;
◆与DP 主站有关的规范这部分包括只运用于DP 主站的各项参数(如连接从
站的最多台数或上装和下装能力)。这一部分对从站没有规定;
◆与DP 从站有关的规范 这部分包括与从站有关的一切规范(如输入/输出
通道的数量和类型、中断测试的规范以及输入/输出数据一致性的信息)。
3 GSD 文件格式
GSD 文件是ASCII 文件.可以用任何一种ASCII 编辑嚣编辑 如计事本、
UltraEdit 等,也可使用PROFIBus 用户组织提供的编辑程序GSDEdit。GSD 文件是由若干行组成,每行都用一个关键字开头,包括关键字及参数(无符号数或字符串)两部分。GSD 文件中的关键字可以是标准关键字(在PROFIBUS 标准中定义)或自定义关键字。标准关键字可以被PROFIBUS 的任何组态工具所识别,而自定义关键字只能被特定的组态工具识别。
一个GSD 文件的例子如下。
#Pr0fibus DP ;DP 设备的GSD 文件均以此关键存在
GSD Revis
ion=1 ;GSD 文件版本
VendorName='Meglev' ;设备制造商
Model Name='DP Slave' ;产品名称
Revision='Version 01' ;产品版本
RevisionNtmber=01 ;产品版本号(可选)
IdemNumber=0x01 ;产品识别号
StationType=0 ;站类型(0 表示从站)
FMS Supp=0 ;不支持FMS.纯DP 从站
Hardware Realease='HW1.0' ;硬件版本
Soltware Realease='SWl.0' ;软件版本
19.2 supp=l ;支持19.2kbps 波特率
MaxTsdr 9.6=60;9.6kbps 时最大延迟时间

RepeaterCtrl sig=0 ;不提供RTS 信号
24VPins=0 ;不提供24V 电压
Implementation Type='SPC3' ;采用的解决方案
FreezeMode Supp=0 ;不支持锁定模式
SyncMode Supp=0 ;不支持同步模式
AutoBaud Supp=l ;支持自动波特率检测
Set SlaveAdd Supp=0 ;不支持改变从站地址
Fail Safe=0 ;故障安全模式类型
MaxUser PrmDataLen=0 ;最大用户参数数据长度(0-237)
Usel prmDataLen=0 ;用户参数长度
Min Slave Imervall=22 ;最小从站响应循环间隔
Modular Station=l ;是否为模块站
MaxModule=l ;从站最大模块数
MaxInput Len=8 ;最大输入数据长度
MaxOutput Len=8 ;最大输出数据长度
MaxData Len=16 ;最大数据的长度(输入输出之和)
MaxDiagData Len=6 ;最大诊断数据长度(6~244)Slave
Family=3 ;从站类型
Module=“Modulel”0x23,0x13;模块1,输入输出各4 字节
EndModule ;结束模型
Module='Module2'0x27,0x17;模块2.输入输出各8 字节
EndModule ;结束模型
####################################

以下的例子是XXX的GSD文件;
;==========================================================
;;===========================================================
#Profibus_DP
; Unit-Definition-List:
GSD_Revision=2 ;GSD文件版本
Vendor_Name='XXX' ;公司名称
Model_Name='XXX' ;设备名称
Revision='Rev. 1' ;版本号
Ident_Number=0x0c2d ;产品识别号
Protocol_Ident=0 ;协议类型,profibus dp
Station_Type=0 ;从站模式
Hardware_Release='1.00' ;固件版本
Software_Release='1.00' ;软件版本
;
;Supported baudrates ;以下为支持的波特率
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
;
; Max responder time for supported baudrates ;波特率支持的最大响应时间
MaxTsdr_9.6=15
MaxTsdr_19.2=15
MaxTsdr_45.45=15
MaxTsdr_93.75=15
MaxTsdr_187.5=15
MaxTsdr_500=15
MaxTsdr_1.5M=20
MaxTsdr_3M=35
MaxTsdr_6M=50
MaxTsdr_12M=95
Repeater_Ctrl_Sig = 0
Implementation_Type='VPC3+' ;支持的解决方案
Bitmap_Device='DP_NORM'
;
; Slave-Specification:
Freeze_Mode_supp=1
Sync_Mode_supp = 1
Auto_Baud_supp = 1
Set_Slave_Add_supp = 0
Min_Slave_Intervall=1
Max_Diag_Data_Len=6
Slave_Family=0
User_Prm_Data_Len=0
;
Modular_Station = 1 ;站点地址,可以改变
Max_Module=1 ;最大模块数量
Max_Input_Len=124 ;最大输入数据长度
Max_Output_Len=16 ;最大输出数据长度
Max_Data_Len=140 ;最大数据长度,输入输出总和
;
;
; Module-Definitions:
;
Module = 'STD: 8 Word In, 1 Byte Out' 0x57,0x20
EndModule

Module = 'STD: 16 Word In, 1 Byte Out' 0x5f,0x20
EndModule

Module = 'STD: 32 Word In, 1 Byte Out' 0xc0,0x00,0x5f
EndModule

Module = 'STD: 62 Word In, 1 Byte Out' 0xc0,0x00,0x7d
EndModule

Module = 'STD: 8 Word In, 3 Byte Out' 0x57,0x22
EndModule

Module = 'STD: 16 Word In, 3 Byte Out' 0x5f,0x22
EndModule

Module = 'STD: 32 Word In, 3 Byte Out' 0xc0,0x02,0x5f
EndModule

Module = 'STD: 62 Word In, 3 Byte Out' 0xc0,0x02,0x7d
EndModule

Module = 'STD: 8 Word In, 16 Byte Out' 0x57,0x2f
EndModule

Module = 'STD: 16 Word In, 16 Byte Out' 0x5f,0x2f
EndModule

Module = 'STD: 32 Word In, 16 Byte Out' 0xc0,0x0f,0x5f
EndModule

Module = 'STD: 62 Word In, 16 Byte Out' 0xc0,0x0f,0x7d
EndModule

Module = 'Kons.: 8 Word In, 1 Byte Out' 0xd7,0x20
EndModule

Module = 'Kons.: 16Word In, 1 Byte Out' 0xdf,0x20
EndModule

Module = 'Kons.: 32Word In, 1 Byte Out' 0xc0,0x00,0xdf
EndModule

Module = 'Kons.: 62Word In, 1 Byte Out' 0xc0,0x00,0xfd
EndModule

Module = 'Kons.: 8Word In, 3 Byte Out' 0xd7,0xa2
EndModule

Module = 'Kons.: 16Word In, 3 Byte Out' 0xdf,0xa2
EndModule

Module = 'Kons.: 32Word In, 3 Byte Out' 0xc0,0x82,0xdf
EndModule

Module = 'Kons.: 62Word In, 3 Byte Out' 0xc0,0x82,0xfd
EndModule

Module = 'Kons.: 8Word In, 16 Byte Out' 0xd7,0xaf
EndModule

Module = 'Kons.: 16Word In, 16 Byte Out' 0xdf,0xaf
EndModule

Module = 'Kons.: 32Word In, 16 Byte Out' 0xc0,0x8f,0xdf
EndModule

Module = 'Kons.: 62Word In, 16 Byte Out' 0xc0,0x8f,0xfd
EndModule

我的更多文章

下载客户端阅读体验更佳

APP专享