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,由于,由于RTURTU端端 可以循环向调度端发送