使用国产的PMA规约软件来模拟104的主站_第1页
使用国产的PMA规约软件来模拟104的主站_第2页
使用国产的PMA规约软件来模拟104的主站_第3页
使用国产的PMA规约软件来模拟104的主站_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用国产的PMA规约软件来模拟104的主站使用国产的PMA规约软件来模拟104的主站,与西门子SICAMeRTU装置进行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),再试时问题已消除。超时的定义参数默认值备注选择值t030s连接建立的超时t115s发送或测试APDU的超时t210s无数据报文t2<t1时确认的超时t320s长期空闲t3>t1状态下发送测试帧的超时所有超时值的最大范围:1到255s,精确到1s。当报文接收方收到发送方的I格式报文后,如果没有I格式报文需要发送给对方,可以向对方发送S格式报文以对所接收到的报文进行确认;为了防止I格式报文在传送过程中丢失或重复传送,IEC60870-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格式报文未得到确认时停止发送数据。IEC60870-5-104规定了两个参数k和w,其取值范围为1到32767,其中k表示发送方在有k个I格式报文未得到对方的确认时,将停止数据传送,w表示接收方最迟在接收了w个I格式报文后应发出认可;IEC60870-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连接进行检查和维护,IEC60870-5-104规定了几个超时时间,即t0、t1、t2、t3,它们的取值范围为1~255s,准确度为1s。t0规定了主站端和子站RTU端建立一次TCP连接的最大允许时间,主站端和子站RTU端之间的TCP连接在实际运行中可能经常进行关闭和重建,这发生在4种情况下:?主站端和子站RTU端之间的I格式报文传送出现丢失、错序或者发送U格式报文得不到应答时,双方均可主动关闭TCP连接,然后进行重建;?主站系统重新启动后将与各个子站重新建立TCP连接;?子站RTU合上电源或由于自恢复而重新启动后,将重建连接;?子站RTU收到主站端的RESET_PROCESS(复位远方终端)信号后,将关闭连接并重新初始化,然后重建连接。每次建立连接时,RTU都调用socket的listen()函数进行侦听,主站端调用socket的connect()函数进行连接,如果在t0时间内未能成功建立连接,可能网络发生了故障,主站端应该向运行人员给出警告信息。t1规定发送方发送一个I格式报文或U格式报文后,必须在t1的时间内得到接收方的认可,否则发送方认为TCP连接出现问题并应重新建立连接。t2规定接收方在接收到I格式报文后,若经过t2时间未再

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论