数据采集监控系统的问答式规约报文处理方法技术方案

技术编号:8132477 阅读:270 留言:0更新日期:2012-12-27 05:26
一种数据采集监控系统的问答式规约报文处理方法,涉及数据通信技术领域,所解决的是稳定、准确、快速的处理报文,及避免数据堆积技术问题。该方法在SCADA系统端上位机中建立一个状态机,并建立一个命令发送线程,一个远程数据接收线程;SCADA系统端上位机利用命令发送线程向RTU发送命令,利用远程数据接收线程接收RTU上送的数据报文;命令发送线程向RTU发送命令后,通过状态机检测远程数据接收线程有否正确接收到RTU回送的报文;远程数据接收线程检测到报文后,如果检测到报文与发送的命令匹配,即将状态机的状态置位,反之则将报文丢弃。本发明专利技术提供的方法,能满足SCADA系统对数据实时性、稳定性的要求。

【技术实现步骤摘要】

本专利技术涉及数据通信技术,特别是涉及一种的技术。
技术介绍
在电力自动化行业,数据采集装置或者各类传感器都通过通讯规约(communication protocol)把采集的数据传输到SCADA (数据采集监控)系统,由SCADA系统对采集的数据进行数据分析处理、显示以及告警。因而,在此过程当中,通讯规约能否稳定、准确、快速的把各个采集终端数据送达SCADA系统,对于安全生产,显得尤为重要。目前在电力行业中的通讯规约按传输模式大体可以分为以下这几类· O循环传输规约,这种规约由RTU (远程终端单元)以固定速率循环地向SCADA系统端上位机上传数据,数据依规定的帧格式连续循环,周而复始地传送,这种规约的优点是简单,适合投资成本比较低的通信线路,其缺点是传输容量小,占用带宽大,比较典型的循环传输规约有CDT规约; 2)问答式传输规约,这种规约由SCADA系统端上位机主动向RTU (远程终端单元)发送查询命令报文,RTU响应后才上传信息,SCADA系统端上位机收到所需信息后,才开始新一轮查询,否则会继续向RTU询问召唤此类信息,这种规约的优点是SCADA系统端上位机可以控制数据传输过程,允许多台RTU以共线的方式共用一个通道,这样有助于节省通道,提高通道占用率,其缺点是不允许主动上报,对事故的响应速度稍慢,比较典型的问答式传输规约有 IEC10U IEC102、IEC103 等。问答式规约传输由于具有诸多优点,在电力系统中得到了广泛应用。现有电力系统中的问答式规约传输都采用单线程设计,当SCADA系统端上位机发送命令后开始计时,在设定的时间内等待RTU端的响应,如果响应时间超时后SCADA系统端上位机还没有收到数据,SCADA系统端上位机会重新发送命令(通常三次),这种常规设计的缺陷在于如果SCADA系统端上位机在重新发送命令的时候,RTU回送的数据到达,使得RTU再次回送数据,从而导致接收缓冲区中会有两条由RTU回送上来的同样报文,而SCADA系统端上位机一般只会处理一条报文,长此下去接收缓冲区中的数据堆积会越来越多。如果一个通道只连接一个RTU,那么上述缺陷会导致计算机的内存耗费越来越大,最终会导致计算机因内存不足而崩溃;如果一个通道连接多个RTU,那么上述缺陷还会导致RTU已上送报文,但SCADA系统端上位机查看到的报文却不是本厂站地址所对应的报文,会造成张冠李戴的现象,从而使数据没有及时准确的到达SCADA系统端上位机,从而给安全生产带来影响。当然,可以通过使SCADA系统端上位机以遍历方式扫描缓冲区数据来解决上述缺陷,但是这会消耗大量的计算机资源,降低系统资源利用率,更大的问题是不能快速的处理数据,不能满足SCADA系统对数据实时性、稳定性的要求
技术实现思路
针对上述现有技术中存在的缺陷,本专利技术所要解决的技术问题是提供一种能快速、准确的处理报文,能有效避免接收缓冲区数据堆积的。为了解决上述技术问题,本专利技术所提供的一种,其特征在于 在SCADA系统端上位机中建立一个状态机,并将状态机初始化为初始状态; 在SCADA系统端上位机中建立两个相互独立的线程,其中一个为命令发送线程,另一个为远程数据接收线程; SCADA系统端上位机利用命令发送线程向RTU发送命令,利用远程数据接收线程接收RTU上送的数据报文; 命令发送线程向RTU发送命令的步骤如下 Al)命令发送线程向RTU发送命令,并将状态机的状态设置为发送状态; A2)在设定时间段内检测状态机的状态; 如果在设定时间段内检测到状态机的状态一直保持在发送状态,即表明远程数据接收线程未接收到RTU回送的数据报文,则转至步骤A3 ; 如果在设定时间段内检测到状态机的状态从发送状态翻转为接收状态,即表明远程数据接收线程已接收到RTU回送的数据报文,则转至步骤A4 ; A3)如果命令发送线程向RTU重新发送命令的次数未超过设定次数,命令发送线程即向RTU重新发送命令,再转至步骤A2 ; 如果命令发送线程向RTU重新发送命令的次数超过设定次数,即表明RTU没有响应,命令发送线程即向SCADA系统端上位机返回命令发送失败信息,命令发送线程单次向RTU发送命令完毕; A4)将状态机的状态初始化为初始状态,命令发送线程单次向RTU发送命令完毕,命令发送线程即可进入下一轮命令发送; 远程数据接收线程不断检测数据缓冲区,如果检测到数据缓冲区有RTU上送的完整数据报文,即读取该数据报文,并检测该数据报文与命令发送线程发送给RTU的命令是否匹配,如果检测结果为匹配,即将状态机的状态设置为接收状态,反之则将该数据报文丢弃,然后继续检测数据缓冲区。本专利技术提供的,将发送数据和接收数据解耦,降低处理问题的复杂度,能稳定、准确、快速的处理报文,有效避免接收缓冲区数据堆积,而且在多个RTU共用通道的情况下,也不会产生有报文上送,但SCADA系统端上位机无法收到正确数据的情况,其结构设计清晰明确,能满足SCADA系统对数据实时性、稳定性的要求。附图说明图I是本专利技术实施例的的原理图。具体实施例方式以下结合附图说明对本专利技术的实施例作进一步详细描述,但本实施例并不用于限制本专利技术,凡是采用本专利技术的相似结构及其相似变化,均应列入本专利技术的保护范围。如图I所示,本专利技术实施例所提供的一种,其特征在于 在SCADA系统端上位机中建立一个状态机,并将状态机初始化为初始状态; 在SCADA系统端上位机中建立两个相互独立的线程,其中一个为命令发送线程,另一个为远程数据接收线程; SCADA系统端上位机利用命令发送线程向RTU (远程终端单元)发送命令,利用远程数据接收线程接收RTU (远程终端单元)上送的数据报文; 命令发送线程向RTU发送命令的步骤如下 Al)命令发送线程向RTU发送命令,并将状态机的状态设置为发送状态; A2)在设定时间段内检测状态机的状态; 如果在设定时间段内检测到状态机的状态一直保持在发送状态,即表明远程数据接收线程未接收到RTU回送的数据报文,则转至步骤A3 ; 如果在设定时间段内检测到状态机的状态从发送状态翻转为接收状态,即表明远程数据接收线程已接收到RTU回送的数据报文,则转至步骤A4 ; A3)如果命令发送线程向RTU重新发送命令的次数未超过设定次数,命令发送线程即向RTU重新发送命令,再转至步骤A2 ; 如果命令发送线程向RTU重新发送命令的次数超过设定次数,即表明RTU没有响应,命令发送线程即向SCADA系统端上位机返回命令发送失败信息,命令发送线程单次向RTU发送命令完毕; A4)将状态机的状态初始化为初始状态,命令发送线程单次向RTU发送命令完毕,命令发送线程即可进入下一轮命令发送; 远程数据接收线程不断检测数据缓冲区,如果检测到数据缓冲区有RTU (远程终端单元)上送的完整数据报文,即读取该数据报文,并检测该数据报文与命令发送线程发送给RTU的命令是否匹配,如果检测结果为匹配,即将状态机的状态设置为接收状态,反之则将该数据报文丢弃,然后继续检测数据缓冲区。本文档来自技高网
...

【技术保护点】
一种数据采集监控系统的问答式规约报文处理方法,其特征在于:在SCADA系统端上位机中建立一个状态机,并将状态机初始化为初始状态;在SCADA系统端上位机中建立两个相互独立的线程,其中一个为命令发送线程,另一个为远程数据接收线程;SCADA系统端上位机利用命令发送线程向RTU发送命令,利用远程数据接收线程接收RTU上送的数据报文;命令发送线程向RTU发送命令的步骤如下:A1)命令发送线程向RTU发送命令,并将状态机的状态设置为发送状态;A2)在设定时间段内检测状态机的状态;如果在设定时间段内检测到状态机的状态一直保持在发送状态,即表明远程数据接收线程未接收到RTU回送的数据报文,则转至步骤A3;如果在设定时间段内检测到状态机的状态从发送状态翻转为接收状态,即表明远程数据接收线程已接收到RTU回送的数据报文,则转至步骤A4;A3)如果命令发送线程向RTU重新发送命令的次数未超过设定次数,命令发送线程即向RTU重新发送命令,再转至步骤A2;如果命令发送线程向RTU重新发送命令的次数超过设定次数,即表明RTU没有响应,命令发送线程即向SCADA系统端上位机返回命令发送失败信息,命令发送线程单次向RTU发送命令完毕;A4)将状态机的状态初始化为初始状态,命令发送线程单次向RTU发送命令完毕,命令发送线程即可进入下一轮命令发送;远程数据接收线程不断检测数据缓冲区,如果检测到数据缓冲区有RTU上送的完整数据报文,即读取该数据报文,并检测该数据报文与命令发送线程发送给RTU的命令是否匹配,如果检测结果为匹配,即将状态机的状态设置为接收状态,反之则将该数据报文丢弃,然后继续检测数据缓冲区。...

【技术特征摘要】
1.一种数据采集监控系统的问答式规约报文处理方法,其特征在于 在SCADA系统端上位机中建立一个状态机,并将状态机初始化为初始状态; 在SCADA系统端上位机中建立两个相互独立的线程,其中一个为命令发送线程,另一个为远程数据接收线程; SCADA系统端上位机利用命令发送线程向RTU发送命令,利用远程数据接收线程接收RTU上送的数据报文; 命令发送线程向RTU发送命令的步骤如下 Al)命令发送线程向RTU发送命令,并将状态机的状态设置为发送状态; A2)在设定时间段内检测状态机的状态; 如果在设定时间段内检测到状态机的状态一直保持在发送状态,即表明远程数据接收线程未接收到RTU回送的数据报文,则转至步骤A3 ; 如果在设定时间段内检测到状态机的状态从发送状态翻转为接收状态,即表明远程数据接收线程已接收...

【专利技术属性】
技术研发人员:夏湘洪
申请(专利权)人:上海申瑞继保电气有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1