IEC60870 | 您所在的位置:网站首页 › 报文翻译器 › IEC60870 |
前言 —— 104报文较为繁琐。 共有S帧、I帧、U帧。 简单的说I帧是用来传输数据、S帧是用来信息确认、U帧用来控制。 因为S帧与U帧的报文基本无变化也太过于简短,所以我这边举例子吧就不在截图了。 一、U帧 U 格式帧具有不计数的控制功能,长度为 6 个字节的固定帧长。用于控制报文。
C:表示确认 V:表示生效 U 格式帧使用到以下三种命令 1) 启动 U 帧,用于启动应用层传输控制命令 主站发送:680407000000 从站返回:68040B000000 07 0B为控制域 2) 停止 U 帧,用于停止应用层传输控制命令 主站发送:680413000000 从站返回:680423000000 13 23为控制域
3) 测试 U 帧,双方均无发送时,维持链路活动状态控制命令: 主站发送:680443000000 从站返回:680483000000 43 83为控制域 二、S帧S 格式具有计数的监视功能, S 格式帧为短帧,长度 6 个字节。接收方接收到 I 帧数据,但本身没有信息要发送的情况下, S 帧用于确认接收到对方的帧。 主站发送 68 04 01 00 0e 00 从站回复 68 04 01 00 1a 00 三、I帧I 帧的控制域包含发送序列号和接收序列号两个参数 两个序列号在每个 APDU 和每个方向上都应按顺序加一 发送序列号和接受序列号在 0~32767 之间循环 发送方增加发送序列号而接受方增加接收序列号 接收站认可连续正确 接收的一个 APDU 或者多个 APDU,将最后一个正确接收的 APDU 的发送序列号作为接收序列号返回 这个接收序列号是对所有发送序列号小于或等于该号的 APDU 的有效确认 如只在一个方向进行较长的数据传输,就得在另一个方向发送 S 格式认可这些 APDU 这种 方法应该在两个方向上采用。在创建一个 TCP 连接后,发送和接收序列号都被设置成 0
顺便附带一下ASDU的格式 以上只是方便与理解这个规约 好了我们进入正题 四、单点遥控发包 I帧共有两层、第一层为控制域与序列计数 Byte[0] 68 只要是IEC104规约那么开头规定的即为是68 也就为启动符吧 Byte[1] 0e 为长度 自此往后的长度 Byte[3][4] 1c 00 发送序号,计数 Byte[3][4] 1c 00 接收序号,计数 看下一层 Byte[0] 2d 为控制符 即为功能码 Byte[1] 01 可变结构限定词、若信息对象的地址不连续则为0、若信息对象的地址连续则为1 Byte[2] 06 传输的原因 Byte[3] 00 公共地址 即RTU站址 Byte[4] 01 00 信息体地址 接下来看IOA这个结构体内的 Byte[0][2] IOA 00 00 00 信息体地址,数据点在数据库中的序号,低位在前高位在后 Byte[0][2] SCO 80 代表单点遥控的分合状态 回包 跟发包都是一样 I帧发送了数据 那么会有S或U帧确认或控制这个信息 所以I帧的回应包与发包一致 五、时间同步命令发包 上一层就不截图了、与之前一样 Byte[0] 2d 为控制符 即为功能码 Byte[1] 01 可变结构限定词、若信息对象毫秒低位的地址不连续则为0、若信息对象的地址连续则为1 Byte[2] 06 传输的原因 Byte[3] 00 公共地址 即RTU站址 Byte[4] 01 00 信息体地址 接下来看IOA这个结构体内的 Byte[0] 00 00 00 信息体地址,数据点在数据库中的序号,低位在前高位在后 Byte[1][7] 09 88 1f 0a 0d 05 14 即为时间 09 毫秒低位 88 毫秒高位 1f 分钟 0a 时 0d 日与星期 05 月 14 年 回包
与发包一致 其实他的I帧的都是发什么就回什么、确认信息以及控制是S帧的U帧 六、举例子也不多截图了、举几个例子吧。 单点: 68 15 F8 05 DA 00 01 03 03 00 01 0B 72 00 00 01 75 00 00 00 78 00 00 01 双点: 68 15 F8 05 DA 00 03 03 03 00 01 0B 72 00 00 01 75 00 00 02 78 00 00 01 说明:0x01,0x03 ASDU类型:单点遥信数据。0x03 ASDU类型:双点遥信数据 0x03 可变机构限定词:第七位定义该帧应用数据的数目,低位在前高位在后。最高位不为1,表示每个应用数据前带有一个3个字节的信息体地址(inf),可以不是连续的。因为是遥测数据,所以每个信息体地址后都有一个1个字节的开关量数据。若最高位为1,见2总召遥测报文举例 0x0003 传送原因:定义数据上送的原因,低位在前高位在后。3表示变化上送,若20为召唤上送,1为主动上送等 0x0b01 公共地址:主站个子站设定的地址,低位在前高位在后。由主站方确定,子站严格按此地址设定 0x000075每个遥信数据的信息体地址:数据点在数据库中的序号,低位在前高位在后 0x01 信息体地址后的遥信数据值,单点可以为0或1;双点可以为0,1,2,3 总召唤上送遥信或告警报文(单点)举例: 68 15 F8 05 DA 00 01 83 14 00 01 0B 72 00 00 01 00 01 遥信变位或告警报文(双点)举例: 68 15 F8 05 DA 00 03 83 14 00 01 0B 72 00 00 01 02 03 说明:定义同2召唤遥测。不同点在于遥测是3个字节一个量,遥信是一个字节 SOE(双点)报文举例: 68 15 F8 05 DA 00 1F 01 03 00 01 OB 72 00 00 02 78 49 35 0E 01 01 00 SOE(单点)报文举例: 68 15 F8 05 DA 00 1E 01 03 00 01 0B 72 00 00 01 78 49 35 0E 01 01 00 说明:前面定义同遥信。78 49 35 0E 01 01 00为动作时间,从后到前依次为年、月、日、时、分、毫秒(2字节)。时间为00年1月1日14时53分18808毫秒(18秒808毫秒)
暂时先就这样吧... 想起来再补
|
CopyRight 2018-2019 实验室设备网 版权所有 |