PROFIBUS DP测试方法
PROFIBUS DP(下面简称DP)主要包括DPV0、DPV1、DPV2三个层次的功能,由于DPV2应用不多,因此YD2310F测试主要针对DPV0和DPV1,其中DPV0是周期性数据交换,在通信时需要不停地进行周期数据交换,DPV1为非周期数据交换,支持偶尔的读写操作。一般来说,V0应用在主-从站的实时数据的查询和读写,V1应用在对从站的参数设置方面,V1又分为MSC1和MSC2功能,C1功能针对1类主站,像PLC等,C2功能针对2类主站,像计算机终端等。
一、物理连接
DP通信的物理层其实是RS485,一般采用D型接口,其定义如下:
标准DP电缆为屏蔽双绞电缆,其中数据线有2根:A-绿和V-红,分别连接DP 接口的管教3和8,电缆的外部包裹着编织网和铝箔层,最外面是紫的外皮,如下:
由于接线简单,且物理层为串口,因此可以通过串口工具模拟DP主站发送指定格式的报文,达到测试的目的。
二、Profibus报文简介
在数据链路层中,profibus报文的一般结构如下:
其中:
SD:报头,SDr:重复SD。
LE:数据长度。LEr:重复数据长度LE。
DA:目标地址,一般指从站地址。
SA:源地址,一般指主站地址。
FC:功能码。
FCS:帧校验和,即除报头SD~SDr外,FCS前的所有数据的算术和。
ED:报尾,固定为0x16。
报文的种类有4种:SD1,SD2,SD3,SD4。
SD1:请求FDL状态,即查询总线上激活的站点,格式如下:
SD2:带有固定8字节数据域DU,由于可以被SD3替代,一般不用,格式如下:
SD3:数据域长度可变,应用最多的一种帧结构,格式如下:
SD4:token报文,主站交换令牌,格式如下:
其中功能码FC是根据报文不同而有不同的规定的,需要注意的是连续2条报文的FC 码必须不同,否则接收方会认为上次的数据交换异常,从而会重复上次的回应。
与FMS不同的是,DP协议中使用了SAP(Service Access Point,服务接入点)进行报文传输,类似于TCP/IP中的IP端口号,在报文解包时,会有相应的软件进程进行不同处理。SAP分为:
SSAP:源数据出处,即由哪个FDL进程处理得来。
DSAP:指示被传输来的数据由哪个进程进行处理。
PROFIBUS的各个不同功能帧是以SSAP和DSAP作为区别的。
因此在SD3中,可以将DU拆分,分解成:
有2个字节,因此,用户数据最大长度为244字节。
注意:DA和SA在非数据交换帧时bit7都需要置1.
三、Profibus特征报文介绍
诊断报文帧(请求/q)
实例:68 05 05 68 83 81 5D 3C 3E DB 16:
解释:68 05 05 68 ( 两个68是SD,帧头,固定,05 05,是长度,从83开始到3E 为止)
83是DA,目的地址,即装置PROFIBUS地址为3,bit7需要置1.
81是SA,源地址,即主站地址为1,bit7需要置1.
5D为FC,帧控制,注意前后2帧需要不一样(下一帧需要为7D)。
3C 3E即DSAP, SSAP,诊断帧的特征SAP,表明这是个q。
DB为FCS校验,即83 81 5D 3C 3E 的算术和。
16为结尾,固定。
从站响应(s)格式为:68 81 83 08 3E 3C 02 05 00 FF 55 0A EB 16
响应与主站关系不大,详细解释可以参考相应书籍和技术资料。
参数化报文帧(请求/q)
实例:68 0F 0F 68 83 81 7D 3D 3E 88 85 04 0B 0E 8E 00 80 00 00 34 16
解释:68 0F 0F 68,帧头和长度。
83 81从站地址和主站地址分别为3和1.
7D为FC, 帧控制,注意前后2帧需要不一样(下一帧需要为5D)
3D 3E为DSAP, SSAP,参数化帧的特征SAP,表明这是个q
88控制帧,一般为0x88,详细解释见书籍。
85 04为watchdog,值为:0x85*0x04*10ms = 1.33s
0B为从站最小回复时间,11bit,一般不变。
0E8E为从站的PROFIBUS ID,不变。
00为组别和freeze等控制,一般为00.
80 00 00为V1功能的3个字节,即status1,status2,status3,其中80的bit7为1,表明从站需要支持DPV1。
从站响应(s)格式为:0xE5,即短回复SC
组态报文帧(请求/q)
68 09 09 68 83 81 5D 3E 3E 00 00 13 00 F0 16
解释:68 09 09 68,帧头和长度。
83 81从站地址和主站地址分别为3和1.
5D为FC,帧控制,注意前后2帧需要不一样(下一帧需要为7D)
3E 3E为DSAP, SSAP,组态帧的特征SAP,表明这是个q
00 00 13 00:从站的组态,4个字节为一个组态,组态的解释:
比如:(1) 8(bytes)输入8(bytes)输出,定义值如下:0x00,0x00,0x00,0x37;
或者:0x00,0x00,0x17,0x27。
(2) 12(bytes)输入0(bytes)输出,定义值如下:0x00,0x00,0x00,0x1b;
或者:0x00,0x00,0x19,0x11(10输入+2输入)。
F0为FCS校验.
16为结束字节。
数据交换帧(请求/dx.req)
10 03 01 5D 61 16
解释:这是SD1形式的报文,由于前述的数据输出为0,因此dx.req退化为q。
10为固定。
03 01即从站、主站地址,数据交换时bit7不需要置1.
5D为FC,帧控制,注意前后2帧需要不一样(下一帧需要为7D)
61为为FCS校验和。
16为结束字符。
如果是一个8输入8输出的组态,则数据交换帧形式为:
68 0B 0B 68 03 01 7D 63 01 A0 28 00 00 00 00 AD 16
63 01 A0 28 00 00 00 00就是dx.req的输出字节,主站将这8个字节送给从站,交换从站的8个输入,回复格式为:
68 0B 0B 68 01 03 08 63 01 A0 28 00 00 00 05 3D 16
C2初始化帧(请求/q)
实例:68 19 19 68 83 81 7C 31 32 57 00 00 00 00 64 03 81 00 00 00 00 00 02 00 02 00 00 00 00 26 16
解释:68 19 19 68 83 81 7C 意义与前述相同。
31 32:DSAP, SSAP,表明为C2的RM管理。
57:C2初始化帧标识,固定。
00 00 00:保留。
00 64:timeout值,0x64*10=1s。
03 81:表明需要从站支持read和write。
00 00 00 00:所支持的profile相关,表明从站不支持任何profile。
00 02 00 02:D-TYPE和S-type,02表明后面都跟2个字节的param。
00 00 00 00:D-param和S-param,各2个字节。
26为FCS,校验码。
16:结束符。
C1/C2读数据帧(请求/q)
C2:实例:68 09 09 68 83 81 7C 30 32 5E 01 07 1A 62 16
解释:68 09 09 68 83 81 7C 意义与上述的报文相同。
30 32:DSAP, SSAP,表明为C2的30通道。32为固定,0x30是根据q的回复帧的DSAP值来确定的,550A一共有3个通道,分别为0x30,0x2F,0x2E.
5E:读帧的特征码,固定。
typec转dp01 07:slot和index,即槽1、索引7的值。
1A:读数据的长度,即对槽1、索引7读26个字节长度。
C1:的读数据帧格式一样,但是DSAP, SSAP固定为0x33 0x33,即:
68 09 09 68 83 81 5C 33 33 5E 01 07 1A 46 16。
C1/C2写数据帧(请求/q)
C2:实例:68 23 23 68 83 81 7C 30 32 5F 01 01 1A 00 09 00 01 00 00 36 B0 00 00 01 7C 00 01 00 00 00 00 00 00 00 C8 00 00 01 70 04 16
解释:
68 23 23 68 83 81 7C意义与上述的报文相同。
30 32:DSAP, SSAP,表明为C2的30通道。32为固定,0x30是根据q的回复帧的DSAP值来确定的,550A一共有3个通道,分别为0x30,0x2F,0x2E.
5F:写帧的特征码,固定。
01 07:slot和index,即槽1、索引7的值。
1A:写数据的长度,即对槽1、索引7写26个字节长度。
00 09 00 01 00 00 36 B0 00 00 01 7C 00 01 00 00 00 00 00 00 00 C8 00 00 01 70为写入的26个字节的值。
04 16:FCS和结束符。
C1的写数据帧格式一样,但是DSAP, SSAP固定为0x33 0x33,即:
68 13 13 68 83 81 5C 33 33 5F 01 00 0A 01 09 00 01 00 00 36 B0 00 01 22 16,写10个长度的数据。
C1/C2 poll帧(请求/q)
C2:实例:68 05 05 68 83 81 5C 30 32 C2 16
即不包含任何数据的C2帧。
30 32:DSAP, SSAP,表明为C2的30通道。32为固定,0x30是根据q的回复帧的DSAP值来确定的,550A一共有3个通道,分别为0x30,0x2F,0x2E.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。