当前位置: 首页 > news >正文

IEC104规约的秘密之十一----扩展报文之文件传输

104本身是带文件传输功能的,但由于其文件传输晦涩难懂,和实际使用有比较大的偏差,因此很多单位都抛弃使用104本身的文件传输功能,而自己定义一套新的文件传输机制和报文。
下面讲解一下《配电自动化系统应用
DL/T634.5104-2009 实施细则(试行)》扩展的文件传输。
定义的文件传输报文类型为
在这里插入图片描述
各种文件功能用包文件中附加数据包中的操作标识来确定。
文件功能一共3个流程:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因此这里的操作标识一共定义了1~10
其中1~2用于目录服务
3~6用于读文件服务
7~10用于写文件服务
下面看具体报文:
1、读目录:

    08 00 0C 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:4 接收序号:6 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):106 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):6|激活] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输01 -> 操作标识:读目录21 00 00 00 -> 目录ID:3307 ->目录名长度:7个字节(0表示读取默认目录)48 49 53 54 4F 52 59 -> 按 GBK 编码,目录名称:HISTORY-> 按UTF-8编码,目录名称:HISTORY00 ->召唤标志:0(0:目录下所有文件;1:目录下满足搜索时间段的文件)78 69 08 08 4E 0A 18 -> 查询起始时间 时标:2024-10-14 08:08:27.000[IV:0(有效)][SU(夏季时间):0]78 69 08 08 4E 0A 18 -> 查询终止时间 时标:2024-10-14 08:08:27.000[IV:0(有效)][SU(夏季时间):0]
2024/10/14 08:53:32.632 <<-- 68 6C 0C 00 0A 00 D2 01 07 00 01 00 00 00 00 02 02 00 21 00 00 00 00 03 16 74 65 73 74 31 20 28 C1 ED D2 BB B8 F6 B8 B4 BC FE 29 2E 74 78 74 00 00 00 00 00 9E 08 36 08 2E 0A 18 09 74 65 73 74 31 2E 74 78 74 00 00 00 00 00 9E 08 36 08 2E 0A 18 10 74 65 73 74 31 20 28 B8 B4 BC FE 29 2E 74 78 74 00 00 00 00 00 9E 08 36 08 2E 0A 180C 00 0A 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:6 接收序号:5 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):107 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):7|激活确认] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输02 -> 操作标识:读目录确认00 -> 结果描述字:0(0:成功;1:失败)21 00 00 00 -> 目录ID:3300 -> 后续标志:0(0:无;1:有)03 -> 本帧文件数量:316 -> 文件名长度:22个字节74 65 73 74 31 20 28 C1 ED D2 BB B8 F6 B8 B4 BC FE 29 2E 74 78 74 -> 按 GBK 编码,文件名称:test1 (另一个复件).txt-> 按UTF-8编码,文件名称:test1 (?????????).txt00 -> 文件属性:0(备用)00 00 00 00 -> 文件大小:09E 08 36 08 2E 0A 18 -> 文件时间 时标:2024-10-14 08:54:02.206[IV:0(有效)][SU(夏季时间):0]09 -> 文件名长度:9个字节74 65 73 74 31 2E 74 78 74 -> 按 GBK 编码,文件名称:test1.txt-> 按UTF-8编码,文件名称:test1.txt00 -> 文件属性:0(备用)00 00 00 00 -> 文件大小:09E 08 36 08 2E 0A 18 -> 文件时间 时标:2024-10-14 08:54:02.206[IV:0(有效)][SU(夏季时间):0]10 -> 文件名长度:16个字节74 65 73 74 31 20 28 B8 B4 BC FE 29 2E 74 78 74 -> 按 GBK 编码,文件名称:test1 (复件).txt-> 按UTF-8编码,文件名称:test1 (????).txt00 -> 文件属性:0(备用)00 00 00 00 -> 文件大小:09E 08 36 08 2E 0A 18 -> 文件时间 时标:2024-10-14 08:54:02.206[IV:0(有效)][SU(夏季时间):0]

2、读文件

    10 00 14 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:8 接收序号:10 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):106 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):6|激活] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输03 -> 操作标识:读文件激活11 -> 文件名长度:17个字节48 49 53 54 4F 52 59 2F 74 65 73 74 31 2E 74 78 74 -> 按 GBK 编码,文件名称:HISTORY/test1.txt-> 按UTF-8编码,文件名称:HISTORY/test1.txt
2024/10/14 10:24:08.226 <<-- 68 2B 14 00 12 00 D2 01 07 00 01 00 00 00 00 02 04 00 12 2F 48 49 53 54 4F 52 59 2F 74 65 73 74 31 2E 74 78 74 01 00 00 00 30 00 00 0014 00 12 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:10 接收序号:9 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):107 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):7|激活确认] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输04 -> 操作标识:读文件激活确认00 -> 结果描述字:0(0:成功;1:失败)12 -> 文件名长度:18个字节2F 48 49 53 54 4F 52 59 2F 74 65 73 74 31 2E 74 78 74 -> 按 GBK 编码,文件名称:/HISTORY/test1.txt-> 按UTF-8编码,文件名称:/HISTORY/test1.txt01 00 00 00 -> 文件ID:130 00 00 00 -> 文件大小:48
2024/10/14 10:24:08.272 <<-- 68 49 16 00 12 00 D2 01 05 00 01 00 00 00 00 02 05 01 00 00 00 00 00 00 00 00 E6 B5 8B E8 AF 95 E6 96 87 E4 BB B6 E4 BC A0 E8 BE 93 E7 9A 84 E6 96 87 E4 BB B6 E5 86 85 E5 AE B9 0A 61 62 63 31 32 33 34 35 36 37 38 39 30 0A 0316 00 12 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:11 接收序号:9 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):105 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):5|请求/被请求] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输05 -> 操作标识:读文件数据01 00 00 00 -> 文件ID:100 00 00 00 -> 数据段号(偏移量):000 -> 后续标志:0(0:无;1:有)E6 B5 8B E8 AF 95 E6 96 87 E4 BB B6 E4 BC A0 E8 BE 93 E7 9A 84 E6 96 87 E4 BB B6 E5 86 85 E5 AE B9 0A 61 62 63 31 32 33 34 35 36 37 38 39 30 0A -> 文件数据:48字节当成字符串:娴嬭瘯鏂囦欢浼犺緭鐨勬枃浠跺唴瀹?abc1234567890当成UTF-8字符串:测试文件传输的文件内容
abc123456789003 -> 检验码:3[计算校验码=03,结果=校验码正确]

3、写文件

    16 00 1C 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:11 接收序号:14 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):106 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):6|激活] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输07 -> 操作标识:写文件激活11 -> 文件名长度:17个字节48 49 53 54 4F 52 59 2F 74 65 73 74 32 2E 74 78 74 -> 按 GBK 编码,文件名称:HISTORY/test2.txt-> 按UTF-8编码,文件名称:HISTORY/test2.txt2C 00 00 00 -> 文件ID:4414 00 00 00 -> 文件大小:20
2024/10/14 11:41:54.816 <<-- 68 2A 1C 00 18 00 D2 01 07 00 01 00 00 00 00 02 08 00 11 48 49 53 54 4F 52 59 2F 74 65 73 74 32 2E 74 78 74 2C 00 00 00 14 00 00 001C 00 18 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:14 接收序号:12 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):107 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):7|激活确认] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输08 -> 操作标识:写文件激活确认00 -> 结果描述字:0(0:成功;1:未知错误;2:文件名不支持;3:长度超范围;)11 -> 文件名长度:17个字节48 49 53 54 4F 52 59 2F 74 65 73 74 32 2E 74 78 74 -> 按 GBK 编码,文件名称:HISTORY/test2.txt-> 按UTF-8编码,文件名称:HISTORY/test2.txt2C 00 00 00 -> 文件ID:4414 00 00 00 -> 文件大小:20
2024/10/14 11:41:59.773 -->> 68 33 18 00 1E 00 D2 01 06 00 01 00 00 00 00 02 09 2C 00 00 00 00 00 00 00 00 B2 E2 CA D4 D0 B4 CE C4 BC FE A3 AC 30 31 32 33 34 35 36 37 38 39 30 61 62 63 B418 00 1E 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:12 接收序号:15 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):106 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):6|激活] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输09 -> 操作标识:写文件数据2C 00 00 00 -> 文件ID:4400 00 00 00 -> 数据段号(偏移量):000 -> 后续标志:0(0:无;1:有)B2 E2 CA D4 D0 B4 CE C4 BC FE A3 AC 30 31 32 33 34 35 36 37 38 39 30 61 62 63 -> 文件数据:26字节当成字符串:测试写文件,01234567890abcB4 -> 检验码:180[计算校验码=B4,结果=校验码正确]
2024/10/14 11:41:59.844 <<-- 68 18 1E 00 1A 00 D2 01 05 00 01 00 00 00 00 02 0A 2C 00 00 00 00 00 00 00 001E 00 1A 00 --> I帧报文(低字bit0=0,高字bit0=0) 发送序号:15 接收序号:13 (发:低字bit1~bit15,收:高字bit1~bit15)D2 -> F_FR_NA_2|210  文件传输(国网6号文)01 -> SQ(bit7):0  信号个数(bit0~6):105 00 -> 传送原因:[T(bit7):0|未试验 P/N(bit6):0|肯定认可 原因(bit0~5):5|请求/被请求] 源发站地址(任务号):001 00 -> 公共地址:1[设备类型:0(备用),设备编号:1,设备组号:0,组内偏移地址:1]00 00 00 -> 信息体地址:002 -> 附加数据包类型:文件传输0A -> 操作标识:写文件数据传输确认2C 00 00 00 -> 文件ID:4400 00 00 00 -> 数据段号(偏移量):000 -> 结果描述字:0(0:成功;1:未知错误;2:校验和错误;3:文件长度不对应;4:文件ID与激活ID不一致;)
2024/10/14 11:42:09.899 -->> 68 04 01 00 20 0001 00 20 00 --> S帧报文(低字bit0~bit1=01,高字bit0=0) 接收序号:16

http://www.mrgr.cn/news/49851.html

相关文章:

  • 沃尔玛死磕电商,上半年在线杂货业务增长强劲,Walmart沃尔玛产品采集上架刊登工具
  • OpenFeign中GET与POST请求的参数传递技巧
  • GC5931 在工业风扇中的应用分析且可替代A5931/Alegro
  • 如何在cmd中打开指定文件夹路径(三种方法)
  • 数据结构与算法实验7——查找表
  • RHEL: rpm2cpio: signature hdr data: BAD, no. of bytes(19987) out of range
  • 手机屏幕上的OCR识别方案
  • 全面掌控AI大模型:从理论到实践的完整学习路线,看这篇就够了
  • Redis登录校验
  • OpenAI终于open了,Swarm开源来袭!【视频教材+源码】
  • 读书笔记:《Redis设计与实现》之集群
  • 2024全面大模型学习指南
  • Qt在iOS平台上的编译配置与打包发布,详细流程
  • 哪个牌子的护眼台灯防蓝光效果好?五款对孩子比较好的护眼台灯
  • 《大模型应用开发:RAG入门与实战》从基础概念到实战操作,手把手教你构建功能齐全的RAG项目。
  • git的学习使用(搭建本地仓库,创建本地仓库,配置本地仓库)(附带Ubuntu云服务器git安装流程)
  • JDK安装环境配置保姆间教程
  • 从蹲在碎片前沉思到SpaceX“筷子回收”,马斯克用20年把梦想照进现实!
  • asp.net core _ViewStart.cshtml 和 _ViewImports.cshtml
  • 数字化转型最佳实践与实施技巧:理论指导与企业应用路径