104规约总结
1.104 规约用于网络传输的协议,端口号固定使用2404。 2.TCP/IP 通讯中接收服务的一方为客户端,104 规约中主站一般是召唤数据的一方,因此 主站端定义为客户端。 TCP/IP 通讯中提供服务的一方为服务端, 104 规约中厂站端是提供数 据的一方,因此厂站端定义为服务器端。 3.104 规约采用的是平衡方式通讯(双方都可以发起信息传输,一旦链路建立成功,变化 信息除了响应召唤应答还可以主动发送而无需等待查询) 。 4.使用与 101 相同的应用层(ASDU) 。 5.报文不使用帧校验字节。 6.通过 I 格式报文的计数及确认来保证信息传输的安全性。 7.104 规约的报文结构 8.在 在 APDUAPDU 中,启动字符中,启动字符 68H68H 定义了数据流内的起始点,应用规约数据单元的长度定义了定义了数据流内的起始点,应用规约数据单元的长度定义了 APDUAPDU 主体主体 的长度的长度;;需要注意的是需要注意的是,,IEC 60870-5-104IEC 60870-5-104 规定一个规定一个 APDUAPDU 报文报文 (包括启动字符和长度标识)(包括启动字符和长度标识) 不能超过不能超过 255255 个字节,因此个字节,因此 APDUAPDU 最大长度为最大长度为 253253(等于(等于 255255 减去启动和长度标识共两个减去启动和长度标识共两个 8 8 位位组),位位组),ASDUASDU 的最大的最大 长度为长度为 249249,这个要求限制了一个,这个要求限制了一个 APDUAPDU 报文最多能发送报文最多能发送 121121 个不带品质描述的归一化测量值或个不带品质描述的归一化测量值或 243243 个个 不带时标的单点遥信信息,若不带时标的单点遥信信息,若 RTURTU 采集的信息量超过此数目,则必须分成多个采集的信息量超过此数目,则必须分成多个 APDUAPDU 进行发送。进行发送。 9.控制域,定义了保护报文不至于丢失和重复传送的控制信息,报文传输启动、停止,以 及传输连接的监视等。 10.104 定义了三种类型的报文格式 编号的信息传输格式,I 格式。 用作信息报文的传送, 附带发送序列号和接收序列号, 作为接收方对已发送报文的 确认。 编号的监视功能格式,S 格式。 当本站长期没有信息帧发送时, 向对方报告已收到信息帧序列号, 作接收方对发送 方的确认。 不编号的控制功能格式,U 格式。 链路测试命令和确认,启动数据传送命令和确认,停止数据传送命令和确认。 说明:说明: 当报文接收方收到发送方的当报文接收方收到发送方的 I I 格式报文后,格式报文后,如果没有如果没有 I I 格式报文需要发送给对方,格式报文需要发送给对方,可以可以 向对方发送向对方发送 S S 格式报文以对所接收的报文进行确认。格式报文以对所接收的报文进行确认。 为防止为防止 I I 格式报文在传送过程中丢失或重复传送,格式报文在传送过程中丢失或重复传送, I I 格式报文的控制域定义了发送序号格式报文的控制域定义了发送序号 N N 和和 接收序号接收序号 R R,发送方每发送一个格式报文,其发送序号应加,发送方每发送一个格式报文,其发送序号应加1 1,接收方每接收到一个与其接,接收方每接收到一个与其接 收序号相等的收序号相等的 I I 格式报文后,其接收序号应加格式报文后,其接收序号应加 1 1,需要注意的是,每次重新建立,需要注意的是,每次重新建立 TCPTCP 连接连接 后,调度主站和子站后,调度主站和子站 RTURTU的接收序号和发送序号都应清零,因此在双方开始数据传送后,的接收序号和发送序号都应清零,因此在双方开始数据传送后, 接收方若收到一个接收方若收到一个 I I 格式报文,应判断此格式报文,应判断此 I I 格式报文的发送序号是否等于自己的接收序号。格式报文的发送序号是否等于自己的接收序号。 若相等则应将自己的接收序号加若相等则应将自己的接收序号加 1 1,若此,若此I I 格式报文的发送序号大于自己的接收序号,这说格式报文的发送序号大于自己的接收序号,这说 明发送放发送的一些报文出现了丢失,明发送放发送的一些报文出现了丢失, 若此若此 I I 格式报文的发送序号小于自己的接收序号,格式报文的发送序号小于自己的接收序号, 这这 意味着发送方出现了重复传送。意味着发送方出现了重复传送。此外,此外,I I 格式和格式和 S S 格式报文的接收序号表明了发送该报文的格式报文的接收序号表明了发送该报文的 一方对已接收的一方对已接收的 I I 格式报文的确认,格式报文的确认, 若发送方发送的某一若发送方发送的某一 I I 格式报文后长时间无法在对方的格式报文后长时间无法在对方的 接收序号中得到确认,这就意味着发生了报文丢失。当出现上述这些报文丢失,错序的情接收序号中得到确认,这就意味着发生了报文丢失。当出现上述这些报文丢失,错序的情 况是,通常意味着况是,通常意味着 TCPTCP 连接出现了问题,发送方或接收方应关闭现在的连接出现了问题,发送方或接收方应关闭现在的 TCPTCP 连接然后再连接然后再 重新建立新的重新建立新的 TCPTCP 连接,并在新的连接,并在新的 TCPTCP 连接上重新开始会话过程。在主站端和子站连接上重新开始会话过程。在主站端和子站 RTURTU 端进行通信时,接收方可以使用端进行通信时,接收方可以使用 S S 格式报文(当有应用服务单元需要发送给对方时,可以格式报文(当有应用服务单元需要发送给对方时,可以 使用使用 I I 格式报文)格式报文)对已接收的对已接收的 I I 格式报文进行确认,格式报文进行确认,以免发送方超时收不到确认信息而重新以免发送方超时收不到确认信息而重新 建立建立 TCPTCP 连接。这就存在一个接收方收到多少个连接。这就存在一个接收方收到多少个 I I 格式报文进行一次确认的问题,以及发格式报文进行一次确认的问题,以及发 送方应在多少个送方应在多少个 I I 格式报文未得到确认时停止发送数据,格式报文未得到确认时停止发送数据,104104 规定了两个参数规定了两个参数 K K 和和 WW 取值取值 为为 1 1 到到 3276732767,, 其中看表示发送方在有其中看表示发送方在有 K K 个个 I I 格式报文未得到对方的确认时,格式报文未得到对方的确认时, 将定制数据发将定制数据发 送送 ,,WW 表示接收方最迟在接收表示接收方最迟在接收 WW 个格式报文后应发出认可;个格式报文后应发出认可;104104 规定规定 K K 和和 WW 的默认值分的默认值分 别为别为 1212 个个 APDUAPDU 和和 8 8 个个 APDUAPDU。。在实际中,在实际中,K K 和和 WW 的具体取值可以根据的具体取值可以根据 TCPTCP 连接双方的连接双方的 数据通信量加以确定,对于子站数据通信量加以确定,对于子站 RTURTU端来说,每收到一个调度端的端来说,每收到一个调度端的 I I 格式报文都应立即进格式报文都应立即进 行响应,其行响应,其 WW 的取值实际上为的取值实际上为 1 1,由于,由于 RTU