- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用国产的PMA规约软件来模拟104的主站
使用国产的PMA规约软件来模拟104的主站,与西门子SICAM eRTU装置进行 104通讯测试。在过程中,发现当双方静止一段时间后,PMA软件(主站)发S帧,但 立刻报“接收失败,重新链路!:10053”错误。这个问题困扰了我一段时间,不知道 这是哪一边出的问题。后来,我用秒表测量了PMA软件收到从站最后一帧I帧至发 出S帧的间隔时间,均为15秒多一点。查阅104规约文本后,我理解规约的原意是 这样的:对于最后一次总召命令后从站回应的长帧报文(I帧),主站需发送S帧来 确认,何时发送是受两个参数触发的:t2和w,两者应是“或”的关系,即任何一个 达到就发送S帧确认。在这之前的召唤过程中,主站是通过每一次的总召唤命令, 对上一次的从站答复进行确认的(接收序号)。但最后一次总召命令后,主站只能 通过t2超时发S帧来确认(此时从站回应的I帧数量小于w)。如果这一步成功,且双 方仍然保持静止(即没有I帧报文发送),后面又将以t3为循环间隔时间,双方通过 发测试帧(U帧)来维持链路,直至双方有新的I帧报文进行发送。根据测到的间隔 时间,我认为PMA软件设置的t2是15秒(或实际效果是15秒),而没有设为规约推荐 的10秒,造成主站的t2=从站的t1(要求t2小于t1),从站在收到S帧之前因t1超时 而关闭socket。后来联系该软件的作者,修改软件中相应的设置(PMA软件版本也 由2.85调为 2.87),再试时问题已消除。
超时的定义
参数 默认值 备注 选择值
t0 30s 连接建立的超时
t1 15s 发送或测试APDU的超时
t2 10s 无数据报文t2t1时确认的超时
t3 20s 长期空闲t3 t1状态下发送测试帧的超时
所有超时值的最大范围: 1 到255s, 精确到1s。
当报文接收方收到发送方的I格式报文后,如果
没有I格式报文需要发送给对方,可以向对方发送S格式报文以对所接收到的报文 进行确认;
为了防止I格式报文在传送过程中丢失
或重复传送 ,IEC 60870-5-104的I格式报文的控制域定义了发送序号N(S)和接收 序号R(S),发送方每发送一个I格式报文,其发送序号应加1,接收方每接收到一 个与其接收序号相等的I格式报文后,其接收序号也应加1。需要注意的是,每次 重新建立TCP连接后,调度主站和子站RTU的接收序号和发送序号都应清零,因此 在双方开始数据传送后,接收方若收到一个I格式报文,应判断此I格式报文的发 送序号是否等于自己的接收序号。若相等则应将自己接收序号加1,若此 I格式报 文的发送序号大于自己的接收序号,这说明发送方发送的一些报文出现了丢失;
若此I格式报文的发送序号小于自己的接收序号,这意味着发送方出现了重复传送。 此外,I格式和S格式报文的接收序号表明了发送该报文的一方对已接收到的I格式 报文的确认,若发送方发送的某一I格式报文后长时间无法在对方的接收序号中得 到确认,这就意味着发生了报文丢失。当出现上述这些报文丢失、错序的情况 时,通常意味着TCP连接出现了问题,发送方或接收方应关闭现在的 TCP连接然后 再重新建立新的TCP连接,并在新的TCP连接上重新开始会话过程。在主站端和子 站RTU端进行通信时,接收方可以使用S格式报文(当有应用服务单元需要发送给 对方时,可使用I格式报文)对已接收到的I格式报文进行确认,以免发送方超时 收不到确认信息而重新建立TCP连接。这就存在一个接收方收到多少个I格式报文 进行一次确认的问题,以及发送方应在多少个I格式报文未得到确认时停止发送数 据。IEC 60870-5-104规定了两个参数k和w,其取值范围为1到32767,其中k表示 发送方在有k个I格式报文未得到对方的确认时,将停止数据传送,w 表示接收方 最迟在接收了w个I格式报文后应发出认可;IEC 60870-5-104规定k和w的默认值分 别为12个APDU和8个APDU。在实际中,k和w的具体取值可以根据TCP连接双方的数 据通信量来加以确定,对于子站RTU端来说,每收到一个调度端的I格式报文都应 立即进行响应,其w的取值实际上为1,由于RTU端可以循环向调度端发送遥信、遥 测等信息,因此k的取值与其循环发送的定时周期有关,通常12到20个APDU就足够 了;对于主站端,由于不停接收到RTU的数据,因此应及时地给以确认,通常w取 小于8个APDU的值。
2.4 关于超时时间的理解
为了能对TCP连接进行检查和维护,IEC 60870-5-104规定了几个超时时间,即t0、 t1、t2、t3,它们的取值范围为1~255s,准确度为1s。
t0规定了主站端和子站RTU端建立一次TCP连接的最大允许时间,主站端和子站 R
文档评论(0)