CN102843290B - 数据采集监控系统的问答式规约报文处理方法 - Google Patents
数据采集监控系统的问答式规约报文处理方法 Download PDFInfo
- Publication number
- CN102843290B CN102843290B CN201210286117.1A CN201210286117A CN102843290B CN 102843290 B CN102843290 B CN 102843290B CN 201210286117 A CN201210286117 A CN 201210286117A CN 102843290 B CN102843290 B CN 102843290B
- Authority
- CN
- China
- Prior art keywords
- order
- rtu
- thread
- state
- sends
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
一种数据采集监控系统的问答式规约报文处理方法,涉及数据通信技术领域,所解决的是稳定、准确、快速的处理报文,及避免数据堆积技术问题。该方法在SCADA系统端上位机中建立一个状态机,并建立一个命令发送线程,一个远程数据接收线程;SCADA系统端上位机利用命令发送线程向RTU发送命令,利用远程数据接收线程接收RTU上送的数据报文;命令发送线程向RTU发送命令后,通过状态机检测远程数据接收线程有否正确接收到RTU回送的报文;远程数据接收线程检测到报文后,如果检测到报文与发送的命令匹配,即将状态机的状态置位,反之则将报文丢弃。本发明提供的方法,能满足SCADA系统对数据实时性、稳定性的要求。
Description
技术领域
本发明涉及数据通信技术,特别是涉及一种数据采集监控系统的问答式规约报文处理方法的技术。
背景技术
在电力自动化行业,数据采集装置或者各类传感器都通过通讯规约(communicationprotocol)把采集的数据传输到SCADA(数据采集监控)系统,由SCADA系统对采集的数据进行数据分析处理、显示以及告警。因而,在此过程当中,通讯规约能否稳定、准确、快速的把各个采集终端数据送达SCADA系统,对于安全生产,显得尤为重要。目前在电力行业中的通讯规约按传输模式大体可以分为以下这几类:
1)循环传输规约,这种规约由RTU(远程终端单元)以固定速率循环地向SCADA系统端上位机上传数据,数据依规定的帧格式连续循环,周而复始地传送,这种规约的优点是简单,适合投资成本比较低的通信线路,其缺点是传输容量小,占用带宽大,比较典型的循环传输规约有CDT规约;
2)问答式传输规约,这种规约由SCADA系统端上位机主动向RTU(远程终端单元)发送查询命令报文,RTU响应后才上传信息,SCADA系统端上位机收到所需信息后,才开始新一轮查询,否则会继续向RTU询问召唤此类信息,这种规约的优点是SCADA系统端上位机可以控制数据传输过程,允许多台RTU以共线的方式共用一个通道,这样有助于节省通道,提高通道占用率,其缺点是不允许主动上报,对事故的响应速度稍慢,比较典型的问答式传输规约有IEC101、IEC102、IEC103等。
问答式规约传输由于具有诸多优点,在电力系统中得到了广泛应用。现有电力系统中的问答式规约传输都采用单线程设计,当SCADA系统端上位机发送命令后开始计时,在设定的时间内等待RTU端的响应,如果响应时间超时后SCADA系统端上位机还没有收到数据,SCADA系统端上位机会重新发送命令(通常三次),这种常规设计的缺陷在于:如果SCADA系统端上位机在重新发送命令的时候,RTU回送的数据到达,使得RTU再次回送数据,从而导致接收缓冲区中会有两条由RTU回送上来的同样报文,而SCADA系统端上位机一般只会处理一条报文,长此下去接收缓冲区中的数据堆积会越来越多。如果一个通道只连接一个RTU,那么上述缺陷会导致计算机的内存耗费越来越大,最终会导致计算机因内存不足而崩溃;如果一个通道连接多个RTU,那么上述缺陷还会导致RTU已上送报文,但SCADA系统端上位机查看到的报文却不是本厂站地址所对应的报文,会造成张冠李戴的现象,从而使数据没有及时准确的到达SCADA系统端上位机,从而给安全生产带来影响。当然,可以通过使SCADA系统端上位机以遍历方式扫描缓冲区数据来解决上述缺陷,但是这会消耗大量的计算机资源,降低系统资源利用率,更大的问题是不能快速的处理数据,不能满足SCADA系统对数据实时性、稳定性的要求。
发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种能快速、准确的处理报文,能有效避免接收缓冲区数据堆积的数据采集监控系统的问答式规约报文处理方法。
为了解决上述技术问题,本发明所提供的一种数据采集监控系统的问答式规约报文处理方法,其特征在于:
在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的命令是否匹配,如果检测结果为匹配,即将状态机的状态设置为接收状态,反之则将该数据报文丢弃,然后继续检测数据缓冲区。
本发明提供的数据采集监控系统的问答式规约报文处理方法,将发送数据和接收数据解耦,降低处理问题的复杂度,能稳定、准确、快速的处理报文,有效避免接收缓冲区数据堆积,而且在多个RTU共用通道的情况下,也不会产生有报文上送,但SCADA系统端上位机无法收到正确数据的情况,其结构设计清晰明确,能满足SCADA系统对数据实时性、稳定性的要求。
附图说明
图1是本发明实施例的数据采集监控系统的问答式规约报文处理方法的原理图。
具体实施方式
以下结合附图说明对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。
如图1所示,本发明实施例所提供的一种数据采集监控系统的问答式规约报文处理方法,其特征在于:
在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的命令是否匹配,如果检测结果为匹配,即将状态机的状态设置为接收状态,反之则将该数据报文丢弃,然后继续检测数据缓冲区。
Claims (1)
1.一种数据采集监控系统的问答式规约报文处理方法,通常是在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的命令是否匹配,如果检测结果为匹配,即将状态机的状态设置为接收状态,反之则将该数据报文丢弃,然后继续检测数据缓冲区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210286117.1A CN102843290B (zh) | 2012-08-13 | 2012-08-13 | 数据采集监控系统的问答式规约报文处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210286117.1A CN102843290B (zh) | 2012-08-13 | 2012-08-13 | 数据采集监控系统的问答式规约报文处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102843290A CN102843290A (zh) | 2012-12-26 |
CN102843290B true CN102843290B (zh) | 2016-01-27 |
Family
ID=47370363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210286117.1A Expired - Fee Related CN102843290B (zh) | 2012-08-13 | 2012-08-13 | 数据采集监控系统的问答式规约报文处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102843290B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320415B (zh) * | 2014-11-13 | 2018-11-20 | 国家电网公司 | 一种变电站设备动态插件式规约解析方法 |
CN104486188B (zh) * | 2014-11-18 | 2018-04-27 | 深圳达实智能股份有限公司 | 一种收发独立线程的设置方法及装置 |
CN114726765B (zh) * | 2022-02-28 | 2023-04-07 | 福建星云检测技术有限公司 | 一种锂电池测试系统控制方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6600751B1 (en) * | 1998-10-22 | 2003-07-29 | Alcatel | Gateway between a data network and a service network |
CN102333031A (zh) * | 2011-09-07 | 2012-01-25 | 江苏润和软件股份有限公司 | 一种基于设备适配技术的设备智能接入系统及其方法 |
-
2012
- 2012-08-13 CN CN201210286117.1A patent/CN102843290B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6600751B1 (en) * | 1998-10-22 | 2003-07-29 | Alcatel | Gateway between a data network and a service network |
CN102333031A (zh) * | 2011-09-07 | 2012-01-25 | 江苏润和软件股份有限公司 | 一种基于设备适配技术的设备智能接入系统及其方法 |
Non-Patent Citations (2)
Title |
---|
SCADA 系统;王铁钢;《道客巴巴》;20120210;第2.3节 * |
SCADA系统设计和实现;宋新航;《万方学位论文》;20081229;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102843290A (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9578612B2 (en) | Node device and method for communication | |
CN105743755A (zh) | 一种双冗余can总线通信系统 | |
CN102984059B (zh) | 千兆以太网冗余网卡及其链路切换条件判定结果控制方法 | |
CN103023715A (zh) | 一种基于rs485总线通讯链路的故障监测方法 | |
CN103312528A (zh) | 一种心跳消息发送方法及用户终端 | |
CN101984573A (zh) | 分布式实现lacp标准状态机的方法及系统 | |
CN102104531B (zh) | 一种报文处理装置、方法及系统 | |
CN103716092B (zh) | 一种总线型网络中双向光纤通信的组网系统的通信方法 | |
CN102843290B (zh) | 数据采集监控系统的问答式规约报文处理方法 | |
US20230119412A1 (en) | Arbitration line-based full-duplex spi communication method | |
CN104753749B (zh) | 一种多主机通信方法及通信系统 | |
CN105007209B (zh) | 一种基于rs485的轮询通讯方法 | |
CN202617155U (zh) | 多主机rs485通信装置 | |
WO2022160793A1 (zh) | 一种掉电告警方法及相关设备 | |
CN106488460B (zh) | 无线通信方法及其对应的主设备、从设备和无线通信系统 | |
CN101404601B (zh) | 以太网通信方法和设备 | |
CN204463106U (zh) | Um-bus总线通道故障检测控制器 | |
CN105141483A (zh) | 基于can总线的多节点网络最小通信间隔测定方法 | |
Alippi et al. | Robust hybrid wired-wireless sensor networks | |
CN103209213A (zh) | 用于数据订阅的数据传输方法和系统 | |
CN113885461B (zh) | 一种串并转换模块、设备、方法、装置和工业控制系统 | |
CN107682906B (zh) | 机房内巡检数据通信方法及系统 | |
WO2019119740A1 (zh) | 家用电器的通信系统、通信方法以及家用电器 | |
CN101888379A (zh) | 网络电视多代理服务器动态链接的方法和网络电视系统 | |
CN105072699B (zh) | 主从设备中快速分配多个从设备接入时隙的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180926 Address after: 066004 room 313, counting Valley Building, 2 Valley Road, Qinhuangdao, Hebei economic and Technological Development Zone Patentee after: Qinhuangdao Huacheng Power Engineering Co., Ltd. Address before: 200233 5, 12 building, 470 Guiping Road, Xuhui District, Shanghai. Patentee before: Shanghai Sunrise Power Technology Co., Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160127 Termination date: 20200813 |
|
CF01 | Termination of patent right due to non-payment of annual fee |