IEC-60870-5-104 scada

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

IEC-60870-5-104:应用模型是:物理层,链路层,网络层,传输层,应用层

物理层保证数据的正确送达,保证如何避免冲突。(物理层利用如 RS232上利用全双工

链路层负责具体对那个slave的通讯,对于成功与否,是否重传由链路层控制(RS485 2线利用禁止链路层确认

应用层负责具体的一些应用,如问全数据还是单点数据还是类数据等(网络利用CSMA/CD等保证避免冲突的发生)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 基本定义:端口号2404,站端为Server 控端为Client,平衡式传输,2Byte站地址,2Byte传送原因,3Byte信息地址。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

注:   APDU 应用规约数据单元(整个数据) = APCI 应用规约控制信息(固定6个字节) + ASDU 应用服务数据单元(长度可变)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

APDU长度(系统-特定参数,指定每个系统APDU的最大长度)APDU的最大长度域为253(缺省)。视具体系统最大长度可以压缩。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【1个例子】

104报文分析

BUF序 0  1  23  4 5 6  7 8  9 .10 11 12 13 14 15 16 17 18 19 20 21 22

M->R:68 1510 0002 001E 01 030001 0079 00 00 01 10 01 24 13 D2 0A 02    分析的结果是I  (主动上报SOE,主动上报是因为104是平衡式规约)

      报文头固定为0x68,即十进制104

        长度15字节(不是6帧的,都是I帧)

          发送序号=8【控制字节的解析10 00 02 00 ,发送序号:0010H/2=16/2=8

                接收序号=1 【控制字节的解析 10 00 0200 ,接收序号:0002H/2=2/2 =1

                      0x1E=30 即 M_SP_TB_1 带长时标的单点信息

                        01 -> SQ:0  信号个数:1

                          03 00 -> 传送原因:[ T=0 P/N=0 原因=3 | 突发 ]

                               01 00 -> 公共地址:1

                                    79 00 00 ->0x79=121 信息体地址: 121   

                                           01 -> 状态: 1 IV:0  NT:0  SB:0 BL:0

                                             10 01 24 13 D2 0A 02 ->低位10 高位01,即0x0110=1*16*16+16=272时标: 2002/10/18 19:36:00.272

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

每个字节都为unsigned char类型,如果是2个字节表示1个short型,则都是低位在前,高位在后。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【字节00x68即十进制数104,68做为BUF第0个字节,下面的说明依次向后排

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【字节115即从字节2到最后的所有字节数(长度)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【字节2345这4个字节是4个控制域,对应不同类型的格式(I帧、U帧、S帧),意义和格式都不相同

I(可变长度)的控制域定义其中发送序号、接收序号的低位都需要左移1位,即乘2,才发出;接收时除2即可。

 

S(固定6个字节的短帧,用于确认接收到对方的帧,但本身无信息数据)的控制域定义

U(固定6字节)的控制域定义 启动控制信息(V-生效(激活) C-确认)  命令(TEST-测试 STOP-停止 START-启动)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【字节6即ASDU的首字节就是类型标识(标准ASDU的选集【ASDU定义】)

 

         类型标识与传送原因分配(站-特定参数):      灰块:不要求                   黑块:本配套标准不允许              空白:功能或ASDU未采用

         类型标识与传输原因的标记:                                 "×"只用在标准方向     "R" 只用在反方向                            "B"用在两个方向

 

在监视方向的过程信息

(站-特定参数,只用在标准方向标"×",只用在相反方向标"R",用在两个方向标"B")

□<1>    0x01:M-SP-NA-1   =单点信息                (总召唤遥信、变位遥信)                         

■<2>    0x02:M-SP-TA-1    =带时标单点信息          (SOE事项)   

□<3>    0x03:M-DP-TA-1   =双点信息                                         

■<4>    0x04:M-DP-TA-1   =带时标双点信息                                   

□<5>    0x05:M-ST-NA-1   =步位置信息                                       

■<6>    0x06:M-ST-TA-1    =带时标步位置信息                                 

□<7>    0x07:M-BO-NA-1  =32比特串                                         

■<8>    0x08:M-BO-TA-1   =带时标32比特串                                   

□<9>    0x09:M-ME-NA-1 =测量值,规一化值        (越限遥测)

■<10>  0x0A:M-ME-TA-1  =测量值,带时标规一化值                           

□<11>  0x0B:M-ME-NB-1 =测量值,标度化值                                 

■<12>  0x0C:M-ME-TB-1  =测量值,带时标标度化值                           

□<13>  0x0D:M-ME-NC-1 =测量值,短浮点数                                 

■<14>  0x0E:M-ME-TC-1  =测量值,带时标短浮点数                           

□<15>  0x0F:M-IT-NA-1    =累计量                  (电度量)                         

■<16>  0x10:M-IT-TA-1     =带时标累计量                                     

■<17>  0x11:M-EP-TA-1    =带时标继电保护装置事件                           

■<18>  0x12:M-EP-TB-1    =带时标继电保护装置成组启动事件                   

■<19>  0x13:M-EP-TC-1    =带时标继电保护装置成组输出电路信息               

□<20>  0x14:M-SP-NA-1   =具有状态变位检出的成组单点信息                   

□<21>  0x15:M-ME-ND-1 =测量值,不带品质描述的规一化值         (总召唤遥测量)                 

 

□<30>  0x1E:M-SP-TB-1    =带时标CP56TimE2A的单点信息                      

□<31>  0x1F:M-DP-TB-1   =带时标CP56TimE2A的双点信息                      

□<32>   0x20:M-ST-TB-1    =带时标CP56TimE2A的步位信息                       

□<33>  0x21:M-BO-TB-1   =带时标CP56TimE2A的32位串                        

□<34>  0x22:M-ME-TD-1  =带时标CP56TimE2A的规一化测量值                  

□<35>  0x23:M-ME-TE-1  =测量值,带时标CP56TimE2A的标度化值              

□<36>  0x24:M-ME-TF-1   =测量值,带时标CP56TimE2A的短浮点数              

□<37>  0x25:M-IT-TB-1     =带时标CP56TimE2A的累计值                        

□<38>  0x26:M-EP-TD-1   =带时标CP56TimE2A的继电保护装置事件              

□<39>  0x27:M-EP-TE-1    =带时标CP56TimE2A的成组继电保护装置成组启动事件  

□<40>  0x28:M-EP-TF-1    =带时标CP56TimE2A的继电保护装置成组输出电路信息  

ASDU集<1>、<3>、<5>、<7>、<9>、<11>、<13>、<15>、<20>、<21>、<30>-<40>都可采用。

 

在监视方向的系统信息

(站-特定参数,采用标"×")

□<70>   046x:M-EI-NA-1    =初始化结束                                        

以上都是RTU向主站上传的报文类型

 

在控制方向的过程信息

(站-特定参数,只用在标准方向标"×",只用在反方向标"R",用在两个方向标"B")

□<45>     0x2D:C-SC-NA-1    =单命令                  (遥控)

□<46>     0x2E:C-DC-NA-1   =双命令                        (遥控)

□<47>     0x2F:C-RC-NA-1    =升降命令                                           

□<48>     0x30:C-SE-NA-1     =设定值命令,规一化值       (遥调)                    

□<49>     0x31:C-SE-NB-1     =设定值命令,标度化值                               

□<50>     0x32:C-SE-NC-1     =设定值命令,短浮点数                               

□<51>     0x33:C-BO-NA-1   =32比特串                                           

 

□<58>     0x3A:C-SC-TA-1     =带时标CP56TimE2A的单命令                           

□<59>     0x3B:C-DC-TA-1    =带时标CP56TimE2A的双命令                           

□<60>     0x3C:C-RC-TA-1    =带时标CP56TimE2A的升降命令                         

□<61>     0x3D:C-SE-TA-1     =带时标CP56TimE2A的设定值命令,规一化值             

□<62>     0x3E:C-SE-TB-1     =带时标CP56TimE2A的设定值命令,标度化值            

□<63>     0x3F:C-SE-TC-1      =带时标CP56TimE2A的设定值命令,短浮点数             

□<64>     0x40:C-BO-TA-1    =带时标CP56TimE2A的32比特串                         

可采用〈45-51〉或〈58-64〉ASDU。

RTU须逐条对命令用相同报文确认

 

在控制方向的系统信息

(站-特定参数,只用在标准方向标"×",只用在反方向标"R",用在两个方向标"B")

□<100> 0x64:C-IC-NA-1      =总召唤命令            (总召唤)                             

□<101> 0x65:C-CI-NA-1      =电能脉冲召唤命令       (召唤电度量)

□<102> 0x66:C-RD-NA-1     =读命令                                           

□<103> 0x67:C-CS-NA-1      =时钟同步命令                (校时)

■<104>  0x68:C-TS-NA-1     =测试命令                                         

□<105> 0x69:C-RP-NA-1     =复位进程命令                                     

■<106> 0x6A:C-CD-NA-1    =延时传输命令                                     

□<107> 0x6B:C-TS-TA-1       =带时标CP56TimE2A的测试命令                       

RTU须逐条形成镜像报文

 

在控制方向的参数命令

(站-特定参数,只用在标准方向标"×",只用在反方向标"R",用在两个方向标"B")

□<110> 0x6E:P-ME-NA-1    =测量值参数,规一化值                             

□<111> 0x6F:P-ME-NB-1     =测量值参数,标度化值                             

□<112> 0x70:P-ME-NC-1    =测量值参数,短浮点数                             

□<113> 0x71:P-AC-NA-1     =参数激活                                         

 

文件传输

(站-特定参数,只用在标准方向标"×",只用在反方向标"R",用在两个方向标"B")

□<120> 0x78:F-FR-NA-1      =文件准备好                                       

□<121> 0x79:F-SR-NA-1      =节已准备好                                       

□<122> 0x7A:F-SC-NA-1      =召唤目录,选择文件,召唤文件,召唤节             

□<123> 0x7B:F-LS-NA-1       =最后的节,最后的度                               

□<124> 0x7C:F-AF-NA-1      =确认文件,确认节                                 

□<125> 0x7D:F-SG-NA-1     =段                                               

□<126> 0x7E:F-DR-TA-1      =目录{空白或×,只在监视(标准)方向有效}       

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【字节7可变结构限定词

 

D7位: SQ=0离散的信息报告  SQ=1顺序的信息报告  

Num:信息的数目范围0-127(即1个包中包含的YC、YX等信息的个数)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【字节89传送原因

常用传送原因CAUSE

3       0x03          突变信息

5       0x05          请求、被请求

6       0x06          激活

7       0x07          激活确认

8       0x08          停止激活

9       0x09          停止激活确认

10     0x0A                   激活终止

20     0x14          响应站总召唤

21-36        0x15-0x24         响应第1组召唤-响应第16组召唤

37     0x25          响应计数量

38-41        0x26-0x29         响应第1组计数量-响应第4组计数量

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【字节1011公共地址(即厂站地址)

一般LINK ADDR(链路地址)取站地址,如果站中仍分区(SUSTATION)就用ASDU来区分如果只有一个那干脆取一样就好了

例如01 00 则由于低位01 高位00 即 0x0001 公共地址=1

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以下部分根据前面 字节6的类型,字节7的个数、以及是顺序还是单个,决定了信息体的个数和格式

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【字节121314信息体地址,即我们常说的点号

例如 79 00 00 则由于低位79 中间00 高位00 即 0x000079 = 7*16+9 = 112+9 = 121

         推荐的信息对象地址范围

数据类型                                     新地址分配范围     信息量     老地址分配范围     信息量

遥信量                                          1H—1000H               4096         1H—400H                  1024

遥测量                                          4001H—5000H        4096         701H-900H                512

参数量                                          5001H—6000H        4096         901H-B00H                512

遥控量                                          6001H—6200H        512           B01H-B80H               128

设定值                                          6201H—6400H        512           B81H-C00H               128

步位置量(变压器分接头)       66011H—6700H      256           C81H-CA0H               32

向子站传送二进制信息         6701H—6800H        256           CA1H-CC0H               32

子站远动终端状态                   6801H                                           CE9H

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


【字节15信息定义

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

遥测归一化值(数据的一种离散表示方法,可保证数据精度)

可用下面公式。例子:传送二次电压值,量程(其它量程应该是多少呢?为100,实时值X=99.98,使用16点采样方式,Y应该是多少?

             求得Y=27300.37217,取整并整理为 0x6AA4,则发送的归一化值为 0x A4 A6

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

104规约源码示例

 

【h.对时过程的源码】主站->子站

 

主站(客户)端下发:

68 14(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  67(ASDU) 1(信息体个数)06 00(传送原因) 公共地址低 公共地址高 00 00 00(信息体地址)毫秒低 毫秒高分钟 小时 日期 月份年份

 

RTU(服务器)端应答:

68 14(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  67(ASDU) 1(信息体个数)07 00(传送原因) 公共地址低 公共地址高 00 00 00(信息体地址)毫秒低 毫秒高分钟 小时 日期 月份年份

 

【i.总召唤过程的源码】

 

主站(客户)端下发:

68 0E(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  64(ASDU) 1(信息体个数)06 00(传送原因) 公共地址低 公共地址高 00 00 00(信息体地址)14


 

《RTU(服务器)端应答》

1.对总召唤进行确认:

68 0E(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  64(ASDU) 1(信息体个数)07 00(传送原因) 公共地址低 公共地址地 00 00 00(信息体地址)14

 

上送全遥信(可能多帧):(遥信都按单遥处理)

68       APDU长度 控制字节1 控制字节2 控制字节3 控制字节4  02(ASDU)信息体个数(Bit7=1,表示连续信息体地址) 14 00(传送原因)公共地址低 公共地址高  3字节的第1点遥信信息体地址  第1点遥信的品质描述和值  第1点遥信的3字节时标……

 

上送全遥测(可能多帧):(其中标度化遥测数的表示方法为:Bit10-Bit0为数值部分,负数为补码;Bit11为符号位,0正1负;Bit15-Bit12为空)

68       APDU长度 控制字节1 控制字节2 控制字节3 控制字节4  0B(ASDU,表示采用标度化值)信息体个数(Bit7=1,表示连续信息体地址)14 00(传送原因) 公共地址低 公共地址高  3字节的第1点遥测信息体地址  第1点遥测的2字节标度化值  第1点遥测的品质描述 ……

 

4.总召唤结束:

68 0E(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  64(ASDU)1(信息体个数)0A 00(传送原因) 公共地址低 公共地址地 00 00 00(信息体地址)14

 

【j. 电度召唤过程的源码】

主站(客户)端下发:

68 0E(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  0F(ASDU) 1(信息体个数)06 00(传送原因) 公共地址低 公共地址高 00 00 00(信息体地址)14

 

《RTU(服务器)端应答(很明显窗口尺寸>1):》

1. 对电度召唤进行确认:

68 0E(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  0F(ASDU) 1(信息体个数)07 00(传送原因) 公共地址低 公共地址地 00  00 00(信息体地址)1

 

2. 上送全电度(可能多帧):

68       APDU长度 控制字节1 控制字节2 控制字节3 控制字节4  0F(ASDU)信息体个数(Bit7=1) 25 00(传送原因) 公共地址低 公共地址高  3字节的第1点电度信息体地址  第1点电度的4字节值  第1点电度的品质 描述0xC0 ……

 

3.电度召唤结束:

68 0E(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  64(ASDU)1(信息体个数)0A 00(传送原因) 公共地址低 公共地址地 00 00 00(信息体地址)14

 

【k. 单点遥控过程的源码】

 

1.主站(客户)端下发单点遥控选择:(其中遥控性质字节的各位含义:Bit7=1,选择;=0,执行;Bit1Bit0=01,合闸;=00,分闸(单遥);=02,合闸;=01,分闸(双遥);Bit65432=1,短脉冲;=2,长脉冲;=3,持续)

68 0E(APDU长度)控制字节1 控制字节2 控制字节3 控制字节4  2D(ASDU)1(信息体个数)06 00(传送原因) 公共地址低 公共地址地被控点的3字节信息体地址 1字节的遥控性质

 

2.RTU(服务器)端进行单点遥控选择应答:和主站(客户)端下发基本相同,若是确认,把传送原因改为07;若是否认,把传送原因改为47(传送原因低字节的Bit6=1表示否定确认)

 

3.主站(客户)端下发单点遥控执行:和选择报文基本相同,仅遥控性质字节的Bit7=0

 

4.RTU(服务器)端进行单点遥控执行应答:和主站(客户)端下发基本相同,若是确认,把传送原因改为07;若是否认,把传送原因改为47

 

【l. 关于主动上送】

 

2.主动上送变化遥信的报文源码(可能多帧)(遥信都按单遥处理)

68       APDU长度 控制字节1 控制字节2 控制字节3 控制字节4  02(ASDU)信息体个数(Bit7=0,表示每个变化点前自带信息体地址) 03 00(传送原因) 公共地址低 公共地址高  3字节的第1个变化遥信点信息体地址  第1个变化遥信点的品质描述和值  第1点遥信的3字节时标……

 

3.主动上送变化遥测的报文源码(可能多帧)

68       APDU长度 控制字节1 控制字节2 控制字节3 控制字节4  0B(ASDU)信息体个数(Bit7=0,表示每个变化点前自带信息体地址) 03 00(传送原因) 公共地址低 公共地址高  3字节的第1个变化遥测点的信息体地址  第1个变化遥测点的2字节标度化值  第1个变化遥测点的品质描述 ……

 

【M .I格式和S格式报文控制字节中发送序号和接收序号的规律】

 

1.本端每发送1次I格式报文,本端的发送序号加1;本端发送U格式或S格式报文,本端发送序号保持不变。

 

2.正常情况下对端上次报文中的发送序号+1=本端本次报文中的接收序号。

 

3.正常情况下对端上次报文中的接收序号 < 本端的发送序号。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: IEC 60870-5-104是一种通信协议,用于电力自动化系统之间的数据传输。该协议被用于监控和控制电力系统中的设备和功能,例如变电站、发电厂和配电系统IEC 60870-5-104的PDF文件是这个协议的技术规范和说明书。这个PDF文件包含了协议的详细描述、通信过程和数据格式,以及在实施和使用该协议时需要遵循的指南和建议。 通过阅读这个PDF文件,用户可以了解IEC 60870-5-104协议的工作原理和通信方式。它定义了通信双方之间的数据帧结构、通信速率和校验等细节。同时,该文件还提供了协议的实例和示例,以帮助用户更好地理解和应用该协议。 IEC 60870-5-104协议的PDF文件对于电力系统工程师、系统集成商和软件开发人员来说是一份重要的参考资料。它可以帮助他们了解该协议的要求,以便设计和实施符合标准的通信系统。 总之,IEC 60870-5-104的PDF文件是一份包含该协议技术规范、说明和指南的文件,它为用户提供了有关该协议的详细信息,帮助他们理解和应用该协议。 ### 回答2: IEC 60870-5-104 是一种用于自动化系统之间实现通信的通信协议。它定义了一系列标准和规范,以确保不同供应商的设备可以相互通信并交换数据。 IEC 60870-5-104 使用数据传输功能,使得自动化系统能够监视和控制远程设备。它基于电信协议 TCP/IP 和物理层协议 Ethernet 或串行线路。 在使用IEC 60870-5-104进行通信时,设备之间会建立一个称为通信链路的连接。通信链路可以是始终连接的或按需连接的。两个设备之间的通信链路由客户端和服务器之间的通信会话来建立和管理。 IEC 60870-5-104 定义了一些基本的通信功能和服务。它支持帧传输、应用数据单元传输、连接建立和断开等。此外,它还包含数据的组织、传输错误检测和重连等额外功能。 IEC 60870-5-104 可以在不同的应用领域中使用,例如电力监测和控制系统(SCADA)、变电站自动化、电力公用事业等。它提供了一个可靠和高效的通信方式,使得各种自动化系统能够无缝地进行数据交换和协作。 总之,IEC 60870-5-104 是一种用于自动化系统通信的通信协议,它定义了一系列的规范和标准,以确保设备之间的数据传输和交换的可靠性和有效性。通过使用这个协议,不同供应商的设备可以相互通信并实现数据的监视和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金士顿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值