CN113741410B - 一种分散控制系统调试数据刷新方法和系统 - Google Patents

一种分散控制系统调试数据刷新方法和系统 Download PDF

Info

Publication number
CN113741410B
CN113741410B CN202111310361.2A CN202111310361A CN113741410B CN 113741410 B CN113741410 B CN 113741410B CN 202111310361 A CN202111310361 A CN 202111310361A CN 113741410 B CN113741410 B CN 113741410B
Authority
CN
China
Prior art keywords
data
debugging
refreshing
refreshed
global variable
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.)
Active
Application number
CN202111310361.2A
Other languages
English (en)
Other versions
CN113741410A (zh
Inventor
程国栋
薛建中
张军
李辉
高少华
杨渊
刘茜
于在松
赵亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Huaneng Group Co Ltd
Xian Thermal Power Research Institute Co Ltd
Huaneng Power International Inc
Original Assignee
China Huaneng Group Co Ltd
Xian Thermal Power Research Institute Co Ltd
Huaneng Power International Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Huaneng Group Co Ltd, Xian Thermal Power Research Institute Co Ltd, Huaneng Power International Inc filed Critical China Huaneng Group Co Ltd
Priority to CN202111310361.2A priority Critical patent/CN113741410B/zh
Publication of CN113741410A publication Critical patent/CN113741410A/zh
Application granted granted Critical
Publication of CN113741410B publication Critical patent/CN113741410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明一种分散控制系统调试数据刷新方法和系统,方法包括:接收按照预设数据结构存储的调试数据;所述调试数据仅包括与待刷新调试变量的属性一一对应的刷新数据,所述预设数据结构为刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列得到的数据结构;根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,完成调试数据刷新。本发明通过定位和解析两方面提高了数据刷新速率。

Description

一种分散控制系统调试数据刷新方法和系统
技术领域
本发明涉及分散控制系统,具体为一种分散控制系统调试数据刷新方法和系统。
背景技术
分散控制系统中,在组态工具连接控制器在线的状态下,在组态工具的请求下(组态工具定期发送调试数据请求),控制器会以固定的周期,将其调试数据上送给组态工具,组态工具通过解析控制器的上送数据报文,得出调试数据,并刷新到组态工具中与调试数据对应的数据上。组态工具上数据的实时刷新,极大的方便了工程人员对于在线组态运算状态的检测以及调试,对于提高工程组态效率具有突出的意义。
但是,现有的刷新方法中,组态工具接收的调试数据中包含很多除待刷新调试变量的属性对应的刷新数据之外的其他数据,例如校验数据,导致刷新速度慢,效率低。
发明内容
针对现有技术中存在的问题,本发明提供一种分散控制系统调试数据刷新方法和系统,刷新速度快。
本发明是通过以下技术方案来实现:
一种分散控制系统调试数据刷新方法,包括:
接收按照预设数据结构存储的调试数据;所述调试数据仅包括与待刷新调试变量的属性一一对应的刷新数据,所述预设数据结构为刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列得到的数据结构;
根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,完成调试数据刷新。
优选的,所述待刷新调试变量的属性包括:
a. 调试变量的状态;
b. 调试变量的类型;
c. 调试变量的值。
优选的,所述调试数据为逻辑组态图调试数据,待刷新调试变量为功能块的调试变量,所述功能块为待刷新逻辑组态图中的功能块;
根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,具体为:
遍历所有待刷新的功能块,获取功能块调试起始位置;
从功能块调试起始位置开始,遍历功能块的所有调试变量,根据调试变量的属性和所述调试变量的属性对应的偏移地址,从逻辑组态图调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述调试变量的属性;
功能块的所有调试变量刷新完成后,得到刷新结果;
根据刷新结果,得到功能块的刷新状态。
进一步的,所述接收按照预设数据结构存储的调试数据的具体方法为:
接收控制器发送的逻辑组态图调试数据报文,逻辑组态图调试数据报文包含报文头以及按照预设数据结构存储的逻辑组态图调试数据两部分,报文头中包含逻辑组态图调试数据所属的逻辑组态页、逻辑组态页所属任务等级和逻辑组态图调试数据数量;
解析逻辑组态图调试数据报文,得到按照预设数据结构存储的逻辑组态图调试数据。
进一步的,还包括:根据功能块的刷新状态,设置功能块的颜色。
优选的,所述调试数据为输入输出点调试数据,所述待刷新调试变量为IO板卡中的通道;
所述根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,完成调试数据刷新,具体包括:
遍历所有IO板卡,再遍历IO板卡中的所有通道,根据当前通道的属性和当前通道的属性对应的偏移地址,从输入输出点调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新当前通道的属性,得到通道存储数据和刷新结果;
根据刷新结果,标记输入输出点调试数据填充标志位,得到输入输出点调试数据填充标志位的状态;
根据输入输出点调试数据填充标志位的状态,刷新通道的状态,得到刷新后的通道的状态;
根据通道存储数据及刷新后的通道的状态,刷新用于展示通道存储数据及通道的状态的输入输出点页面。
进一步的,所述接收按照预设数据结构存储的调试数据的具体方法为:
接收控制器发送的输入输出点调试数据报文,输入输出点调试数据报文包含报文头以及按照预设数据结构存储的输入输出点调试数据两部分,报文头中包含IO板卡的编号、IO板卡所属分支的编号及输入输出点调试数据数量;
解析输入输出点调试数据报文,得到按照预设数据结构存储的输入输出点调试数据。
优选的,所述调试数据为全局变量点调试数据,待刷新调试变量为全局变量点,全局变量点存储在程序组织单元中;
根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,具体包括:
遍历程序组织单元中所有全局变量点,根据当前全局变量点的属性和当前全局变量点的属性对应的偏移地址,从全局变量点调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新当前全局变量点的属性;
遍历完所有全局变量点之后,得到程序组织单元中存储的全局变量点数据和刷新结果;
根据刷新结果,得到全局变量点的刷新状态;
按照程序组织单元中存储的全局变量点数据及全局变量点的刷新状态,刷新全局变量点页面;其中,所述全局变量点页面用于展示程序组织单元中存储的全局变量点数据和全局变量点的刷新状态的。
进一步的,所述接收按照预设数据结构存储的调试数据的具体方法为:
接收控制器发送的全局变量点调试数据报文,全局变量点调试数据报文包含报文头以及按照预设数据结构存储的全局变量点调试数据两部分,报文头中包含全局变量点调试数据所属的全局变量点页号和全局变量点调试数据数量;
解析全局变量点调试数据报文,得到按照预设数据结构存储的全局变量点调试数据。
一种分散控制系统调试数据刷新系统,包括:
接收模块,用于接收按照预设数据结构存储的调试数据;所述调试数据仅包括与待刷新调试变量的属性一一对应的刷新数据,所述预设数据结构为刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列得到的数据结构;
刷新模块,用于根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性。
与现有技术相比,本发明具有以下有益的技术效果:
本发明接收的调试数据按照预设数据结构存储,预设的数据结构包括包含的数据和数据的排列顺序,而数据只含有与所有待刷新调试变量的属性对应的刷新数据,不包括校验等其他数据,因此包括的数据少,能够更快的实现数据解析;同时,刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列,直接根据偏移地址进行变量的刷新数据寻址,能够实现更快的定位,从而通过定位和解析两方面提高了数据刷新速率,在较高的数据刷新速率下即使发生丢包也能够很快的在极短时间内实现正确数据的更替,从而整体提高了数据的可靠性。本发明由于包括的数据少,使得其存储空间较小,传输速度更快,也能加快刷新速度。
进一步的,本发明通过将逻辑组态图调试数据填充至功能对应的变量,直观反映组态运行过程中的中间数据以及功能块状态,不易出错。
进一步的,通过为逻辑组态图调试数据设计报文的格式,能够更快的解析出报文中的调试数据。
进一步的,通过功能块的颜色显示功能块的刷新状态,更加直观,便于识别。
进一步的,本发明将IO点调试数据填充至IO点对应的通道,直观反应运行过程中的中间数据,不易出错。
进一步的,通过设计IO调试数据特有的报文格式,能够更快的解析出报文中的调试数据。
进一步的,本发明通过偏移地址,将调试数据与全局变量点进行定位,并将调试数据填充至全局变量点,直观反应的运行过程中的中间数据,不易出错,能够根据刷新的结果直观判断当前全局变量点的状态。
进一步的,本发明设计了特定的全局变量点调试数据报文格式,按照报文头以及全局变量点调试数据两段式的结构进行设计,报文头中包含全局变量点调试数据所属的全局变量点页号、全局变量点调试数据数量信息,全局变量点调试数据则是调试数据的值。由于这种报文格式在报文头中包含全局变量点调试数据的数量信息,因此报文的解析速度更加快捷。
附图说明
图1为本发明分散控制系统调试数据刷新方法的流程图。
图2为本发明调试数据的数据结构示意图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
如图1所示,一种分散控制系统调试数据刷新方法,包括:
接收按照预设数据结构存储的调试数据;所述调试数据仅包括与待刷新调试变量的属性一一对应的刷新数据,所述预设数据结构为刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列得到的数据结构;
根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,完成调试数据刷新。
以图2为例,调试变量有变量1、变量2、变量3……,每个变量的属性有属性1、属性2、属性3……,变量1的属性1、属性2、属性3的偏移地址分别为偏移地址0、偏移地址1和偏移地址2,变量2的属性1、属性2、属性3的偏移地址分别为偏移地址3、偏移地址4和偏移地址5,变量3的属性1、属性2、属性3的偏移地址分别为偏移地址6、偏移地址7和偏移地址8,接收的调试数据中的刷新数据按照调试变量的属性的偏移地址进行存储,例如,刷新变量1的属性1时,只要按照偏移地址0去调试数据中抽取刷新数据即可得到与变量1的属性1对应的刷新数据,以此类推。
下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。
本发明再一实施例中,提供一种分散控制系统调试数据刷新系统,能够用于实现上述的分散控制系统调试数据刷新方法,具体的,该分散控制系统调试数据刷新系统包括本发明还提供一种分散控制系统调试数据刷新系统,包括:
接收模块,用于接收按照预设数据结构存储的调试数据;所述调试数据仅包括与待刷新调试变量的属性一一对应的刷新数据,所述预设数据结构为刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列得到的数据结构;
刷新模块,用于根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性。
本发明再一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于分散控制系统调试数据刷新方法的操作。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关分散控制系统调试数据刷新方法的相应步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
实施例1
该实施例中调试数据为逻辑组态图调试数据,刷新方法流程如下所示:
(1)判断控制器是否处于在线状态(即控制器是否与组态工具相连),若控制器处于离线状态,则结束刷新;若控制器处于在线状态,则执行步骤(2)。
(2)控制器上送的逻辑组态图调试数据报文格式包含报文头以及逻辑组态图调试数据两部分,报文头中包含调试数据所属的逻辑组态页,以及逻辑组态页所属任务等级、调试数据数量。组态工具中的逻辑组态图是以程序组织单元(POU)的形式进行存储的,在组态工具接收到控制器上送的逻辑组态图调试数据报文之后,解析出逻辑组态图调试数据并保存在程序组织单元中。
(3)逻辑组态图调试数据在程序组织单元中是以PouDebugData数据结构的形式进行存储的,所述逻辑组态图调试数据仅包括与待刷新调试变量的属性对应的刷新数据,所述PouDebugData数据结构为刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列,PouDebugData表示单条调试数据的形式, PouDebugData所包含的信息如下所示:
a. 调试变量的状态;
b. 调试变量的基本数据类型;
c. 调试变量的值。
调试变量的属性包括:类型属性、值属性、状态属性,状态属性包括强制状态属性、品质状属性,强制状态属性的值分为强制状态、非强制状态两种,品质状属性的值分为坏品质状态及好品质状态两种。
(4)遍历存储组态工具中逻辑组态图的程序组织单元中的功能块,获取功能块调试起始位置。
(5)从每个功能块调试起始位置开始,遍历功能块的所有调试变量,根据调试变量的属性和所述调试变量的属性对应的偏移地址,从逻辑组态图调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述调试变量的属性。所述调试变量分为输入变量、输出变量以及参数变量三种类型。举例说明具体的填充方法:
遍历功能块的当前调试变量(可能为输入变量、输出变量或参数变量)的所有属性,根据如下情况进行填充:
1)若当前属性为类型属性,则根据类型属性的值确定当前调试变量的类型:
a.若当前调试变量为字符串类型,则将当前调试变量的值属性用调试变量的值填充,即此时不采用调试数据中对应的刷新数据对该当前调试变量的值属性进行刷新,且将功能块调试数据填充标志位进行置位。
b.若当前调试变量的类型为非字符串类型,则将当前调试变量的值设置为当前控制器上送报文中调试数据对应的刷新数据,且将功能块调试数据填充标志位进行置位。
2)若当前属性为值属性,则获取当前调试变量的值,采用当前调试变量的值刷新当前属性,即此时不采用调试数据中的刷新数据对该当前调试变量的值进行刷新,且将功能块调试数据填充标志位进行置位。
3)若当前属性为强制状态属性,则将当前调试变量的状态设置为当前功能块对应的上述报文中PouDebugData中的逻辑组态图调试数据状态的值。原控制器上送报文的逻辑组态图调试数据的状态可能为非强制状态、强制状态、坏品质状态及好品质状态。若当前调试变量的状态为强制状态,则将功能块强制状态标志位设置为强制状态;若当前调试变量的状态为非强制状态,则将功能块强制状态标志位设置为非强制状态;若当前调试变量的状态为坏品质状态,则将功能块强制状态标志位设置为坏品质状态;若当前调试变量的状态为好品质状态,则将功能块强制状态标志位设置为好品质状态。
(6)上述调试数据填充完成后,根据功能块的填充结果,判断功能块的刷新状态,具体判断过程如下:
a.若功能块调试数据填充标志位处于置位状态,则给功能块进行颜色设置,显示为正常状态下的颜色。
b.若功能块调试数据填充标志位处于复位状态,则给功能块不设置颜色,此时表示功能块未填充调试数据。功能块调试数据标志位默认值是复位状态,即默认状态下表示没有填充相应的调试数据。当调试数据填充完毕后,才将相应的标志位进行置位。若填充调试数据失败,则依然保持复位状态。
c.若功能块强制状态标志位处于强制状态,则给功能块进行颜色设置,显示为强制状态下的颜色。
d.若功能块强制状态标志位处于非强制状态,则给功能块进行颜色设置,显示为正常状态下的颜色。
e.若功能块强制状态标志位处于坏品质状态,则给功能块进行颜色设置,显示为坏品质状态下的颜色。
f.若功能块强制状态标志位处于好品质状态,则给功能块进行颜色设置,显示为好品质状态下的颜色。
(7)通过步骤(6),功能块中已经具有了填充的逻辑组态图调试数据以及当前功能块所处的状态,按照功能块中存储的数据及当前功能块所处的状态,在组态工具中刷新功能块。实现组态工具中逻辑组态调试数据实时刷新与显示。
实施例2
该实施例中,调试数据为输入输出点调试数据,刷新过程具体如下所示:
(1)判断控制器是否处于在线状态(即组态工具与控制器是否相连),若控制器处于离线状态,则结束刷新;若控制器处于在线状态,则执行步骤(2)。
(2)组态工具接收控制器上送的IO点调试数据并保存。
组态工具中的IO配置是以节点、分支、板卡的形式进行组织的,通常一个控制器下具有一个或者多个节点,单个节点下具有多个分支,每个分支下具有规定数量的板卡。
每个分支下的IO点以程序组织单元(POU)进行存储的,及一个分支下所有板卡的IO点的信息存储在相应分支的程序组织单元中,每个程序组织单元中存储有一个分支下的所有板卡的IO点信息。
控制器上送的IO点调试数据报文格式包含报文头,以及IO点调试数据两部分,报文头中包含IO板卡的编号以及所属分支的编号、IO点调试数据数量的信息。
在组态工具接收到控制器上送的IO点调试数据报文之后,解析出IO点调试数据并将IO点调试数据保存在程序组织单元中。IO点调试数据是以IODebugData数据结构的形式存储在程序组织单元中的,IODebugData表示单条调试数据的格式,IODebugData所包含的信息如下所示:
a.当前通道的状态;
b.当前通道的基本数据类型;
c.当前通道的值。
(3)遍历内存中存储的板卡数据,再遍历板卡数据中的通道数据,获取各个通道的输入输出点调试数据的起始位置,根据输入输出点调试数据起始位置在程序组织单元中确定IO点调试数据的索引范围,根据索引范围按照通道依次填充;具体如下:
(3.1)假设节点数量为K,令节点的编号i=0;
(3.2)访问节点Node[i],若访问不成功,且i<K,则i=i+1,重复执行步骤(3.2)的操作;若访问不成功,且i=K,则跳转至步骤(4);若访问成功,则执行步骤(3.3)的操作;
(3.3)获取节点Node[i]下的所有分支,假设分支的数量为M,令分支的编号j=0;
(3.4)访问分支Node[i].Branch[j],若访问不成功,且j<M,则j=j+1, 重复执行步骤(3.4)的操作,若访问不成功,且j=M,则跳转至步骤(3.12);若访问成功,则执行步骤(3.5)的操作;
(3.5)假设分支中的板卡数量为N,令板卡的编号k=0;
(3.6)访问板卡Node[i].Branch[j]Module[k],若访问不成功,且k<N,则k=k+1,重复执行步骤(3.6);若访问不成功,且k=N,则跳转至步骤(3.11);若访问成功,则执行步骤(3.7)的操作;
(3.7)假设板卡中的通道数为P,令m=0;
(3.8)访问板卡的通道Node[i].Branch[j]Module[k].Channel[m],若访问不成功,且m<P,则m=m+1,重复执行步骤(3.8);若访问不成功,且m=P,则执行步骤(3.10)的操作;若访问成功,则执行步骤(3.9);
(3.9)根据获取到的输入输出点调试数据起始位置,按照通道的类型,依次将IODebugData中的IO点调试数据填充在通道的各属性中,若m<P,则m=m+1,重复执行步骤(3.8);否则;跳转至步骤(3.10);填充的规则如下所示:
a.判断通道的类型,根据通道的类型将需要的通道的调试数据字段填充到通道对应属性中。通道的类型包括通道的数据类型、通道的输入输出类型以及通道的报警类型,通道的数据类型包括:开关量、模拟量,通道的输入输出类型包括输入通道、输出通道;通道的报警类型包括:待报警、不报警。
b.若成功填充完通道的所有属性,则将IO点调试数据填充标志位置位,否则IO点调试数据填充标志位复位。
c.若IO点调试数据状态属性的值为强制状态值,则将通道的状态属性的值设置为IO点调试数据状态属性的值,设置完后若通道的状态属性的值为强制状态,则需要将IO点调试数据强制状态标志位置位,否则IO点调试数据强制状态标志位进行复位。即调试数据IODebugData中有一个属性是表示调试数据的状态。在填充调试数据的过程中,需要根据调试数据的状态值值,来填充IO通道的状态属性值。
(3.10)若k<N,则k=k+1,重复执行步骤(3.6)的操作;否则跳转至步骤(3.11)。
(3. 11)若j<M,则j=j+1,重复执行步骤(3.4)的操作;否则跳转至步骤(3.12)。
(3.12),若i<K,则i=i+1;重复执行步骤(3.2)的操作;否则跳转至步骤(4)。
(4)组态工具按照如下的规则进行IO点状态刷新:
a.若IO点调试数据填充标志位为置位,则表示通道的调试数据填充完毕,通道显示为正常状态。
b.若IO点调试数据填充标志位为复位,则表示通道的调试数据填充缺失,通道显示为异常状态。
c.若IO点调试数据强制状态标志位为置位,则表示当前通道处于强制状态,通道显示为强制状态。
d.若IO点调试数据强制状态标志位为复位,则表示当前通道处于非强制状态,通道显示为非强制状态。
(5)通过步骤(4),分支中的所有板卡的通道已经具有了填充的IO点调试数据以及当前通道所处的状态,按照通道中存储的数据及通道所处的状态,在组态工具中刷新IO点页面,实现组态工具中IO点调试数据实时刷新与显示。
实施例3
该实施例中调试数据为全局变量点调试数据,刷新流程如下所示:
(1)组态工具首先判断控制器是否处于在线状态(即控制器与组态工具之间是否连接以及通讯是否正常),若控制器离线,则结束刷新。若控制器在线,则进行步骤(2)。
(2)控制器上送的全局变量点调试数据报文格式包含报文头以及全局变量点调试数据两段式的结构,报文头中包含全局变量点调试数据所属的全局变量点页号和全局变量点调试数据数量信息,全局变量点调试数据则是调试数据的值。组态工具接收控制器上送的报文后解析得到全局变量点调试数据,将全局变量点调试数据以GlobalVarDebugData的形式存储在程序组织单元中,每个程序组织单元中包括一页全局变量点;一页全局变量点中包括若干全局变量点。GlobalVarDebugData是为存储全局变量点调试数据所设计的特殊数据结构,其包含的信息如下所示:
a.全局变量点的类型;
b.全局变量点的状态;
c.全局变量点的值。
(3)确定待填充全局变量点所属的页号及偏移地址。
组态工具中,全局变量点以程序组织单元的形式存储,每个程序组织单元中包括一页全局变量点;一页全局变量点中包括若干全局变量点。全局变量点所属的页号以及偏移地址的获取方法为:
PageNo = [GlobalVarNo / VarCountPerPage]
其中,PageNo表示全局变量点所属的页号,GlobalVarNo表示全局变量点编号,VarCountPerPage表示每个分页中全局变量点的个数, []表示向下取整;
OffsetAddr = GlobalVarNo % VarCountPerPage
其中,OffsetAddr 表示偏移地址, %表示取余数运算。
(4)遍历组态工具当前程序组织单元中的所有全局变量点,根据组态工具中待填充全局变量点所属的程序组织单元编号及偏移地址,将待填充全局变量点与全局变量点调试数据中对应数据进行定位,并将全局变量点调试数据中对应数据填充到待填充全局变量点。
获取全局变量点调试数据中全局变量点的类型,根据获取到的全局变量点调试数据中全局变量点的类型,进行全局变量点的各个属性值的全局变量点调试数据的填充,具体的填充方法如下所示:
a.根据全局变量点调试数据中全局变量点的类型进行每个字段的填充,全局变量点可分为模拟量、开关量、整型量以及结构体变量,根据全局变量点所属的具体类型填充不同属性的值到组态工具中待填充全局变量点的程序组织单元中。
b.根据全局变量点调试数据中报警类型类段,判断全局变量点调试数据是否为报警类型,据此可以将全局变量点分为带报警的模拟量,不带报警的模拟量,带报警的开关量,不带报警的开关量,带报警的整型量和不带报警的整型量,依据全局变量点是否带有报警以及全局变量点的类型进行调试数据填充。带报警与不带报警的全局变量点,在需要刷新的变量属性数量上有不同。带报警的全局变量点需要额外刷新报警标志位,报警上限,报警下限属性,因此才需要根据全局变量点是否带报警进行单独处理。
c.若填充完当前待填充全局变量点所需的属性后,将全局变量点填充标志位进行置位,否则全局变量点填充标志位为复位状态。
d.判断当前全局变量点调试数据的强制状态值,若处于强制状态,则将组态工具中当前全局变量点的状态设置在强制状态,并将全局变量点调试数据强制状态标志位进行置位,否则全局变量点的强制状态标志位为复位状态。
(5)在遍历当前程序组织单元中所有全局变量点之后,组态工具按照如下的规则进行数据刷新:
a.若全局变量点调试数据填充标志位为置位,则表示当前全局变量点的调试数据填充完毕,全局变量点显示为正常状态。
b.若全局变量点调试数据填充标志位为复位,则表示通道数据填充缺失,全局变量点显示为异常状态。
c.若全局变量点调试数据强制状态标志位为置位,则表示当前全局变量点处于强制状态,全局变量点显示为强制状态。
d.若全局变量点调试数据强制状态标志位为复位,则表示当前全局变量点处于非强制状态,全局变量点显示为非强制状态。
(6)通过步骤(5),分页中的所有全局变量点已经具有了填充的调试数据以及当前全局变量点所处的状态,按程序组织单元中存储的数据,在组态工具中刷新全局变量点页面。实现组态工具中全局变量点调试数据实时刷新与显示。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (7)

1.一种分散控制系统调试数据刷新方法,其特征在于,包括:
接收按照预设数据结构存储的调试数据;所述调试数据仅包括与待刷新调试变量的属性一一对应的刷新数据,所述预设数据结构为刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列得到的数据结构;
根据待刷新调试变量的属性的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,完成调试数据刷新;
其中,所述调试数据为逻辑组态图调试数据,待刷新调试变量为功能块的调试变量,所述功能块为待刷新逻辑组态图中的功能块;
根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,具体为:
遍历所有待刷新的功能块,获取功能块调试起始位置;
从功能块调试起始位置开始,遍历功能块的所有调试变量,根据调试变量的属性和所述调试变量的属性对应的偏移地址,从逻辑组态图调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述调试变量的属性;
功能块的所有调试变量刷新完成后,得到刷新结果;
根据刷新结果,得到功能块的刷新状态;
或者,所述调试数据为输入输出点调试数据,所述待刷新调试变量为IO板卡中的通道;
所述根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,完成调试数据刷新,具体包括:
遍历所有IO板卡,再遍历IO板卡中的所有通道,根据当前通道的属性和当前通道的属性对应的偏移地址,从输入输出点调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新当前通道的属性,得到通道存储数据和刷新结果;
根据刷新结果,标记输入输出点调试数据填充标志位,得到输入输出点调试数据填充标志位的状态;
根据输入输出点调试数据填充标志位的状态,刷新通道的状态,得到刷新后的通道的状态;
根据通道存储数据及刷新后的通道的状态,刷新用于展示通道存储数据及通道的状态的输入输出点页面;
或者,所述调试数据为全局变量点调试数据,待刷新调试变量为全局变量点,全局变量点存储在程序组织单元中;
根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,具体包括:
遍历程序组织单元中所有全局变量点,根据当前全局变量点的属性和当前全局变量点的属性对应的偏移地址,从全局变量点调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新当前全局变量点的属性;
遍历完所有全局变量点之后,得到程序组织单元中存储的全局变量点数据和刷新结果;
根据刷新结果,得到全局变量点的刷新状态;
按照程序组织单元中存储的全局变量点数据及全局变量点的刷新状态,刷新全局变量点页面;其中,所述全局变量点页面用于展示程序组织单元中存储的全局变量点数据和全局变量点的刷新状态的。
2.根据权利要求1所述的分散控制系统调试数据刷新方法,其特征在于,所述待刷新调试变量的属性包括:
a. 调试变量的状态;
b. 调试变量的类型;
c. 调试变量的值。
3.根据权利要求1所述的分散控制系统调试数据刷新方法,其特征在于,所述调试数据为逻辑组态图调试数据时,所述接收按照预设数据结构存储的调试数据的具体方法为:
接收控制器发送的逻辑组态图调试数据报文,逻辑组态图调试数据报文包含报文头以及按照预设数据结构存储的逻辑组态图调试数据两部分,报文头中包含逻辑组态图调试数据所属的逻辑组态页、逻辑组态页所属任务等级和逻辑组态图调试数据数量;
解析逻辑组态图调试数据报文,得到按照预设数据结构存储的逻辑组态图调试数据。
4.根据权利要求1所述的分散控制系统调试数据刷新方法,其特征在于,所述调试数据为逻辑组态图调试数据时,根据待刷新调试变量的属性对应的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性,还包括:根据功能块的刷新状态,设置功能块的颜色。
5.根据权利要求1所述的分散控制系统调试数据刷新方法,其特征在于,所述调试数据为输入输出点调试数据时,所述接收按照预设数据结构存储的调试数据的具体方法为:
接收控制器发送的输入输出点调试数据报文,输入输出点调试数据报文包含报文头以及按照预设数据结构存储的输入输出点调试数据两部分,报文头中包含IO板卡的编号、IO板卡所属分支的编号及输入输出点调试数据数量;
解析输入输出点调试数据报文,得到按照预设数据结构存储的输入输出点调试数据。
6.根据权利要求1所述的分散控制系统调试数据刷新方法,其特征在于,所述调试数据为全局变量点调试数据时,所述接收按照预设数据结构存储的调试数据的具体方法为:
接收控制器发送的全局变量点调试数据报文,全局变量点调试数据报文包含报文头以及按照预设数据结构存储的全局变量点调试数据两部分,报文头中包含全局变量点调试数据所属的全局变量点页号和全局变量点调试数据数量;
解析全局变量点调试数据报文,得到按照预设数据结构存储的全局变量点调试数据。
7.一种分散控制系统调试数据刷新系统,其特征在于,用于实现权利要求1所述的分散控制系统调试数据刷新方法,包括:
接收模块,用于接收按照预设数据结构存储的调试数据;所述调试数据仅包括与待刷新调试变量的属性一一对应的刷新数据,所述预设数据结构为刷新数据按照与待刷新调试变量的属性一一对应的偏移地址进行排列得到的数据结构;
刷新模块,用于根据待刷新调试变量的属性的偏移地址,从调试数据中抽取对应的刷新数据,采用抽取的刷新数据刷新所述待刷新调试变量的属性。
CN202111310361.2A 2021-11-08 2021-11-08 一种分散控制系统调试数据刷新方法和系统 Active CN113741410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111310361.2A CN113741410B (zh) 2021-11-08 2021-11-08 一种分散控制系统调试数据刷新方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111310361.2A CN113741410B (zh) 2021-11-08 2021-11-08 一种分散控制系统调试数据刷新方法和系统

Publications (2)

Publication Number Publication Date
CN113741410A CN113741410A (zh) 2021-12-03
CN113741410B true CN113741410B (zh) 2022-02-15

Family

ID=78727651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111310361.2A Active CN113741410B (zh) 2021-11-08 2021-11-08 一种分散控制系统调试数据刷新方法和系统

Country Status (1)

Country Link
CN (1) CN113741410B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268074A (zh) * 2014-09-05 2015-01-07 北京广利核系统工程有限公司 一种基于dcs系统应用软件在线调试方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150121192A1 (en) * 2013-10-24 2015-04-30 Oracle International Corporation Debugging errors in display of web pages with partial page refresh
CN106878361B (zh) * 2015-12-14 2020-08-25 阿里巴巴集团控股有限公司 一种终端应用页面的调试方法、装置及客户端
CN107844099B (zh) * 2016-09-18 2020-01-10 南京南瑞继保电气有限公司 一种基于元数据模型的功能块图在线调试方法
US11126537B2 (en) * 2019-05-02 2021-09-21 Microsoft Technology Licensing, Llc Coprocessor-based logging for time travel debugging
CN110750587B (zh) * 2019-10-15 2023-04-25 大连莱克科技发展有限公司 一种调试设备的大量高速日志处理方法
CN111240965A (zh) * 2020-01-03 2020-06-05 珠海亿智电子科技有限公司 Isp实时调试方法及其系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268074A (zh) * 2014-09-05 2015-01-07 北京广利核系统工程有限公司 一种基于dcs系统应用软件在线调试方法

Also Published As

Publication number Publication date
CN113741410A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN113434328B (zh) 一种分散控制系统逻辑组态编译纠错方法和系统
CN111708650B (zh) 一种业务应用系统高可用性分析方法及系统
CN110990269A (zh) 一种接口测试的方法、装置及系统
CN112214366A (zh) 测试方法、装置、系统、设备及介质
CN111475494A (zh) 一种海量数据处理方法、系统、终端及存储介质
CN113741410B (zh) 一种分散控制系统调试数据刷新方法和系统
CN108038020A (zh) 网页故障追踪方法、装置、电子设备和计算机存储介质
CN112905451B (zh) 应用程序的自动化测试方法及装置
CN110554956B (zh) 一种bdms自动化测试方法
CN117009221A (zh) 产品测试的处理方法、装置、设备、存储介质及程序产品
CN101634939B (zh) 一种快速寻址装置和方法
CN113238901B (zh) 多设备的自动化测试方法及装置、存储介质、计算机设备
CN116048959A (zh) 网站测试方法、装置、设备及存储介质
CN113656437B (zh) 用于预测参照执行代价稳定度的模型构建方法
CN115509931A (zh) 基于系统的性能测试方法、装置、电子设备及存储介质
CN114879647A (zh) Ecu故障码测试系统、电子控制器及汽车
CN111388994B (zh) 游戏中虚拟道具的处理方法、装置、设备和存储介质
CN108270727A (zh) 异常数据分析方法和装置
CN110096555B (zh) 一种分布式系统的表匹配处理方法及装置
CN115687140B (zh) 一种基于自动化测试的测试用例编写方法和系统
CN114710479B (zh) 故障诊断方法、装置及系统
CN115904956A (zh) 应用程序的刷新测试方法、装置、电子设备以及存储介质
CN116501588A (zh) 一种数据库性能测试方法及系统
CN109471656A (zh) 一种程序刷新方法及装置
CN117574811A (zh) 集成电路单粒子效应的高效仿真方法、装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant