IEC 103 协议的学习和总结

来源:互联网 发布:淘宝卖家全网举报在哪 编辑:程序博客网 时间:2024/06/08 09:03

2 IEC 103 协议的学习和总结

通过近两周时间的学习,开始对iec 103 协议有了一定的认识,也能对简单的协议进行分析。

 

如对下报文的分析:

09:10:19.546   串口2      发送         10 5B 02 5D 16

09:10:19.562   串口2      收到         10 09 02 0B 16 00 00 00  //下面将分析

09:10:22.562   串口2      发送         10 7B 02 7D 16

09:10:24.578   串口2      发送         10 7B 02 7D 16

09:10:24.578   串口2      收到         10 09 02 0B 16 00 00 00

09:10:27.593   串口2      发送         10 5B 02 5D 16

09:10:27.593   串口2      收到         10 09 02 0B 16 00 00 00

09:10:30.609   串口2      发送         10 7B 02 7D 16

09:10:30.609   串口2      收到         10 09 02 0B 16 00 00 00

09:10:32.656   串口2      收到         10 09 01 0A 16 00 00 00

09:10:35.671   串口2      发送         68 0F 0F 68 53 02 06 81 08 01 FF 00 6C DE 05 08 01 01 07 44 16

09:10:35.671   串口2      收到         10 00 02 02 16 00 00 00

09:10:35.875   串口2      发送         10 7B 02 7D 16

09:10:35.890   串口2      收到         10 09 02 0B 16 00 00 00

09:10:36.187   串口2      发送         10 5B 02 5D 16

09:10:36.203   串口2      收到         10 09 02 0B 16 00 00 00

09:10:36.500   串口2      发送         10 7B 02 7D 16

09:10:36.515   串口2      收到         10 09 02 0B 16 00 00 00

09:10:36.828   串口2      发送         10 5B 02 5D 16

09:10:36.843   串口2      收到         10 09 02 0B 16 00 00 00

09:10:39.843   串口2      发送         10 7B 02 7D 16

09:10:39.843   串口2      收到         10 09 02 0B 16 00 00 00

09:10:42.859   串口2      发送         10 5B 02 5D 16

09:10:42.859   串口2      收到         10 09 02 0B 16 00 00 00

 

 

2.1 主站初始化(下面具体分析

从上面分析可知,帧的两种不同的格式,分别有:固定帧长报文和可变帧长报文(可由启动报文判断)

那么我已上面具体事例来分别解析一个固定帧长报文可变帧长报文.

那么以09:10:19.546       串口2      发送         10 5B 02 5D 16 为例来解析固定帧长报文

目的:给地址为02的装置召唤2级数据。

10 //固定帧长  起始字符

5B //控制域

8

7

6

5

4

3

2

1

备用

PRM

FCB

FCV

功能码

 

 

 

 

 

 

02 //

44

16

 

分析如下:首先对控制域分析5B

5B  二进制 101 1011

iec103 协议分析可知:----> 

功能码

帧类型

功能描述

FCV状态

0

发送/确认帧

复位通信单元

0

3

发送/确认帧

传送数据

1

4

发送/无回答帧

传送数据

0

7

复位帧计数位

传送数据

0

9

请求/响应帧

召唤链路状态

0

10

请求/响应帧

召唤1级数据

1

11

请求/响应帧

召唤2级数据

1

功能码

由功能码定义可知:

为召唤二级数据.

 

2.2 子站回答

09:10:19.562   串口2      收到         10 09 02 0B 16 00 00 00 =

 

“从à 主”报文的控制域:

D7

D6

D5

D4

D3

D2

D1

D0

DIR(1)

PRM(0)

ACD

DFC

功能码

ACD(要求访问位):ACD = 1,通知主站,从站有2级数据请求传送。

DFC(数据流控制位):DFC = 0表示从站可以接受数据,DFC =1表示从站缓冲区已满,无法接受新数据。

功能码(从à主方向):

 

功能码

帧类型

          功   能

0

确认帧

确认

1

确认帧

链路忙,未收到报文

8

响应帧

以数据包响应请求帧

9

响应帧

从站没有所召唤的数据

11

响应帧

从站以链路状态响应主站请求

    

注:功能码等于8的报文为可变帧长报文,其余报文均为固定帧长报文。

 

同理由上面分析可知:

目的:ACD=0从站并没有主站需要的数据

 

可变帧分析

3.1 以下面的报文分析可变帧长

l  主站发: 10 7a 04 7e 16

目的:向地址为04的装置发请求1级数据命令(可由2.1分析)。

 子站回答:68 15 15 68 28 04 05 81 04 04 b2 03 03 c4 cf c8 f0 bc cc b1 a3 01        00 01 00 9b 16 (ASDU5,CON=28,COT=4)

可变帧长报文

68 H

————

启动字符1(1byte)

Length

————

长度(1byte)

Length

————

长度(重复)(1byte)

68 H

————

启动字符2(重复)(1byte)

CTRL

————

控制域(1byte)

ADDR

————

地址域(1byte)

ASDU

————

链路用户数据[(length-2)byte]

C S

————

校验和(1byte)

16 H

————

结束字符(1byte)

   注:(1)校验和 = 控制域 + 地址域 + ASDU代码和(不考虑溢出位,即256模和)

       (2)ASDU为“链路用户数据”包,具体格式将在下文介绍

       (3)Length  =  ASDU字节数 + 2

 

具体分析:

68 //启动字符

15 //报文长度

15 //报文长度

68 //启动字符

//控制域, 地址域, 类型标识, 可变结构限定词, 传送原因, 公共地址

28       04       05        81              04        04

//功能类型,信息序号, 兼容级别,8个ASCII

b2      03        03       c4  cf c8 f0 bc cc b1 a3

//4个自由赋值

01  00 01 00

///////////////////////////////////////////////////

//连路用户数据

9b //校验和

16 //结束字符

(ASDU5,CON=28,COT=4)

                                                 80  00

 目的:子站以ASDU5(复位通信单元)响应主站的召唤。并ACD位置1,表明子站向主站请求1级数据上送。

3.2 可变帧的定时

可以简单的分析定时:

主站发:68 0f 0f 68 44 ff 06 81 08 ff ff 00 d4 26 0f 09 28 0b 63 78 16

目的:给地址为ff(广播地址)发对时命令。

68 0f 0f 68

44 //控制域

ff //地址

06 //类型标示

81 //可变结构限定词

08 //传送原因

ff //公共地址

ff 00 //信息体地址

d4 26 //  26d4=9940

0f //分

09 //时

28 //低四位表示日  ;高四位表示周日(8号星期二)

0b // 11月

63 // 1900 + 99年

78 //校验和

16//结束字符

 

时间:1999年11月8日9时15分9.940秒

0 0
原创粉丝点击