CN101916078A - 支持格状并行分枝逻辑的程序控制方法 - Google Patents
支持格状并行分枝逻辑的程序控制方法 Download PDFInfo
- Publication number
- CN101916078A CN101916078A CN 201010235112 CN201010235112A CN101916078A CN 101916078 A CN101916078 A CN 101916078A CN 201010235112 CN201010235112 CN 201010235112 CN 201010235112 A CN201010235112 A CN 201010235112A CN 101916078 A CN101916078 A CN 101916078A
- Authority
- CN
- China
- Prior art keywords
- remote control
- control step
- program control
- action
- control method
- 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.)
- Granted
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明公开了一种支持格状并行分枝逻辑的程序控制方法,该方法具有更好的灵活性和执行效率,既可以支持对复杂的顺序/层次/格状控制步骤集合的描述,可以有效地解决传统程控方法中存在的各种问题,并可以通过支持并发操作实现了更高的执行效率。程控方法Domino的程序实现基于面向对象实时数据库ChRDB。实时数据库是SCADA系统中各子系统、模块进行数据交换的中介,工程项目配置中的数据以面向对象的方式保存在内存实时数据库中,实时数据库为SCADA系统中的各功能模块、子进程提供高速、实时的数据操作和访问支持。
Description
技术领域
数据监控与采集系统(SCADA)是构建众多工业自动化应用的基础,其遥控功能的效率与可靠性直接决定着整个系统的性能。程序控制(顺控、序列控制)功能是遥控功能的自动化扩展,支持通过单次用户操作以多种方式执行一系列的遥控操作,从而提高操作的效率及可靠性。
背景技术
作为电力监控(PSCADA)、调度、环控/楼宇自动化(BAS)等应用系统的支撑平台,数据监控与采集系统(PSCADA)的性能直接决定了整个自动化应用系统的效能。在传统遥控基础上产生的程控方法支持通过单次用户操作触发一系列的遥控动作,从而极大地提高了控制操作的效率;正确组态基础上的成组操作也在很大程度上减少了各种误动操作的可能性,从另一个侧面提高了系统的可靠性。
传统的程控方法仅支持以线性顺序依次执行一组遥控操作,可以定义为具有N个控制步骤S1~SN、首尾相接的序列如S1→S2→S3→...→SN。其执行逻辑为:当某个程控操作被触发后,其控制序列中的首个单控操作S1将得到执行,当且仅当该操作执行成功后,其后续的单控操作S2将被执行;若序列中的某个操作失败或超时,则整个控制序列的执行将被终止。传统程控技术在具有算法简单、配置容易等优点的同时,其对于复杂逻辑的描述能力非常有限,且不支持序列/控制步骤的并发执行。在计算机硬件并行技术突飞猛进的今天,基于该算法的程控技术的执行效率提高的空间也十分受限,并正逐渐变成整个SCADA系统性能提高的一个瓶颈。
发明内容
针对现有技术中存在的不足,本发明提出了一种支持格状并行分枝逻辑的程控方法Domino,该方法具有更好的灵活性和执行效率,即可以支持对复杂的顺序/层次/格状控制步骤集合的描述,可以有效地解决传统程控方法中存在的各种问题,并可以通过支持并发操作实现了更高的执行效率。
程控方法Domino的程序实现基于申请人先期研发的高性能面向对象实时数据库ChRDB。实时数据库是SCADA系统中各子系统、模块进行数据交换的中介,工程项目配置中的数据以面向对象的方式保存在内存实时数据库中,实时数据库为SCADA系统中的各功能模块、子进程提供高速、实时的数据操作和访问支持。
本发明采用的技术方案是:
一种支持格状并行分枝逻辑的程序控制方法,其特征在于,它包括:
步骤1、程控序列的触发;
步骤2、程控序列的启动,所有的程控序列均由触发操作触发执行,相应的对触发操作的调用既可以包含在其他程控序列的某些遥控步骤中,也可以配置在HMI子系统各与用户产生交互的模块中;程控操作被触发后,其中被标记为启动步骤的遥控步骤被并发地执行,启动步骤及由其迁移启动的各其他遥控步骤均按照步骤3描述的流程进行执行;
步骤3、遥控步骤的执行,判断遥控步骤的前提条件,条件满足则继续,否则停止当前遥控步骤;执行遥控步骤的执行动作;在设定的遥控步骤的超时时间内循环执行遥控步骤的步骤迁移;循环超时,执行遥控步骤的失败动作;如失败动作中无步骤迁移,停止当前遥控步骤;
步骤4、遥控步骤迁移。
上述的支持格状并行分枝逻辑的程序控制方法,其中:遥控步骤是程控操作的基本单元,一个遥控步骤为包含前提条件、执行动作、步骤迁移、超时时间及失败动作五个元素的一个集合;程控序列是一个遥控步骤的集合,其中各遥控步骤间的连接顺序、迁移关系在各遥控步骤的定义中指定,每个程控序列中必须包含至少一个或多个启动遥控步骤,其将在程控序列被触发时执行/并发执行;遥控步骤中的前提条件、执行动作、步骤迁移、失败动作的定义均采用逻辑脚本,其中包含对遥控步骤迁移指令及执行控制指令的调用,其一旦执行则当前遥控步骤的执行均被终止。
本发明具有如下的有益效果:作为对传统链状程控操作的重大改进,支持格状程控逻辑的程控方法(Domino)具有更强的逻辑描述能力,可以通过配置创建各种支持并行执行的复杂树状、格状程控逻辑。相对传统程控技术,Domino程控方法加入了对失败动作的支持,可以实现在任意遥控步骤失败后仍然继续执行其他不直接依赖相应结果的遥控操作,极大地提高了程控功能的灵活性。提供对逻辑脚本的支持后,Domino程控方法中的基本单元-遥控步骤可以实现与/或/非/异或/跳转/循环等各种逻辑,能够描述各种复杂的闭锁逻辑及状态迁移条件。由于有效地应用了操作系统/硬件平台(多硬件线程/多核/SMP)提供的并发机制,Domino程控方法相对传统的线性程控方法有着更高的执行效率及性能。
下面结合附图和具体实施方式对本发明作进一步详细的说明。附图和具体实施方式并不限制本发明要求保护的范围。
附图说明
图1是现有技术线性程控序列示意图;
图2是本发明实施例的程控序列并行执行示意图;
图3是本发明实施例的遥控步骤并行执行示意图;
图4是本发明实施例的格状程控逻辑示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
格在数学上定义为这样一个偏序集合,即其上的每个子集都有一个上确界及一个下确界。Domino程控方法支持以格定义的遥控动作序列的执行,从而实现了对复杂程控逻辑及并发操作的支持。
定义1遥控步骤,遥控步骤是程控操作的基本单元,Domino程控方法中的一个遥控步骤定义为包含如下五个元素的一个集合:前提条件(Precondition),执行动作(Action),步骤迁移(Transition),超时时间(Timeout)及失败动作(Bypath)。
定义2程控序列,Domino程控方法中的程控序列是一个遥控步骤的集合,其中各遥控步骤间的连接顺序、迁移关系在各遥控步骤的定义中指定。每个程控序列中必须包含至少一个或多个启动遥控步骤,其将在程控序列被触发时执行/并发执行。
定义3流程控制指令,遥控步骤中的前提条件、执行动作、步骤迁移、失败动作的定义均采用逻辑脚本,除if then else/for/while等传统执行流程控制指令外,还包含如下指令以控制遥控步骤/程控序列的执行:
start(seq1,seq2,...seqn) 并发启动程控序列seq1,seq2,...seqn;
step(step1,step2,...stepn)并发启动遥控步骤step1,step2,...stepn,并停止当前遥控步骤;
stop() 停止当前遥控步骤;
finish()停止当前程控序列;
操作1程控序列的触发(start)
S←待启动程控序列
For each sequence Si in S
Trigger Si
End
操作2程控序列的启动(Trigger)
S←待启动程控序列的启动步骤
For each step Si in S
Step Si
End
Domino程控方法中所有的程控序列均由start操作触发执行,相应的对start操作的调用既可以包含在其他程控序列的某些遥控步骤中,也可以配置在HMI子系统各与用户产生交互的模块中。如操作2所示,程控操作被触发后,其中被标记为启动步骤的遥控步骤被并发地执行(step)。启动步骤及由其迁移启动的各其他遥控步骤均按照操作3描述的流程进行执行。
操作3遥控步骤(SCurrent)的执行
SCurrent.State←READY
Tstart←CurTime
While((CurTime-Tstart)<SCurrent.Timeout)And(SCurrent.State=READY)
Do SCurrent.Precondition
End
If SCurrent.State=PAS SED Then
SCurrent.State←EXECUTING
Do SCurrent.Action
If SCurrent.State=EXECUTING Then
Tstart←CurTime
While((CurTime-Tstart)<SCurrent.Timeout)And(SCurrent.State=EXECUTING)
Do SCurrent.Transition
End
SCurrent.State←TIMEOUT
Do SCurrent.Bypath
End
End
Stop SCurrent
操作3的非形式化描述:
1.判断SCurrent.Precondition:条件满足则继续,否则停止当前遥控步骤;
2.执行SCurrent.Action;
3.在设定的超时时间SCurrent.Timeout内循环执行SCurrent.Transition;
4.循环超时,执行SCurrent.Bypath;
5.如失败动作中无步骤迁移,停止当前遥控步骤。
说明:(1)遥控步骤中的Precondition、Action、Transition、Bypath的定义均采用逻辑脚本,其中包含对遥控步骤迁移指令step及执行控制指令如stop、finish、start的调用,其一旦执行则当前遥控步骤的执行均被终止;
(2)操作中的CurTime、Tstart分别标识当前时刻时间、操作执行的起始时间;SCurrent.State标识当前遥控步骤SCurrent的实时状态,其取值可以为READY(可以执行)、PASSED(前提条件通过检测成立)、EXECUTING(遥控步骤执行中)、TIMEOUT(执行超时未迁移)、STOPPED(执行结束)。
操作4遥控步骤迁移(step)
S←Steps to start
For each step Si in S
Start Si
Add STarget to Ue
End
End
Stop SCurrent
说明:操作4中的Ue表示当前遥控步骤所属的程控序列中,处于执行状态的遥控步骤的集合。操作中通过该集合的设置排除了对遥控步骤的重入。只要合理地设置步骤间的超时时间间隔并在目标遥控步骤的前提条件中正确地编写判断逻辑,各种一对多、多对一的遥控步骤迁移关系均可以通过配置实现。
如图1所示,对于传统的线性程控序列只需创建一个包含一组遥控步骤的程控序列(途中用蓝色标识启动步骤,绿色表示其他遥控步骤),并在各遥控步骤如Si的Transition定义中加入满足相关条件则调用step(Si+1)的逻辑脚本即可。
程控序列/程控序列组的实际执行单位是其中的一个个遥控步骤。在程控序列触发start()及遥控步骤迁移step()操作中给出多于一个参数即可以实现操作的并发如图2、图3所示,Domino程控方法中的后台服务进程将自动启动多个线程以运行相应的遥控步骤。某程控序列当前处于活动状态当且仅当其所含遥控步骤中,至少有一个正在执行中;某程控序列停止当且仅当其所有遥控步骤均停止。图3中红色的连接表示步骤S2的失败动作,即若遥控步骤S2在超时时间内未执行有效的迁移,程控服务进程将按照操作3,启动遥控步骤S6。对失败动作的支持使得程控逻辑在中途节点失败后仍能保持执行,从而继续完成不依赖相应遥控操作结果的其他遥控动作。
图4给出了一个普通的格状程控序列,该序列拥有三个并发执行的启动步骤S1、S2、S3,其中遥控步骤S1、遥控步骤S2的迁移目标都是S4,在S4的前提条件中编写合适的脚本即可以实现S1 OR S2或S1 AND S2的逻辑关系。典型应用
Domino程控方法可以广泛地应用于各种SCADA系统中,以支持用户以更加安全、快捷的方式执行预定义的成组动作序列,典型的应用有:(1)变电站停/送电,变电站的停电与送电需要经过一系列的开关、刀闸动作,通过Domino程控方法可以很好地实现以各种顺序及依赖关系执行的序列化操作,Domino程控方法对于失败动作的支持就很好地应用在北京地铁1/2号线PSCADA系统中。轻易地实现了用户特定的断电逻辑,在遥控某开关/刀闸失败时继续执行其他分闸动作,从而极大地降低了用户人工操作的工作量;(2)全线停/送电,Domino程控方法对于并发操作的支持(操作1,start)可以轻松实现诸如地铁/供电线路上的全线/全程停/送电功能,并能通过并发平行执行所有站点的停/送电动作序列极大地提高系统的执行效率,而传统顺控技术通常是在某个站的停/送电动作完成后才执行对下一个站的操作;(3)发电机组的一键启动,发电机组的启动有多个步骤,各步骤都有众多的条件,全部由人工完成工作将十分繁琐,使用传统的顺序控制技术则效率很低,Domino程控方法依据其强大的逻辑描述能力可以高效地实现各种发电机组的一键启动功能;(4)发电机组的并网,发电机与系统并网的过程必须满足下列4个条件:a.发电机和系统的相序必须相同;b.发电机和系统的频率接近相等;c.发电机和系统的电压接近相等;d.发电机电压和系统电压的相位接近相等,Domino程控方法支持脚本逻辑,可以通过组态实现包含众多变量(实时值)的各种复杂判断条件,充分保证机组并网动作的安全;(5)其他成组操作,依托DSC-9000W综合自动化平台,Domino程控方法可以通过组态实现各种多条件、多步骤、并发执行的动作序列,并支持以顺序、层次、树状、格状的逻辑关系连结相关动作步骤,以实现安全、高效的自动程序控制功能。
以上已以较佳实施例公布了本发明,然其并非用以限制本发明,凡采取等同替换或等效变换的方案所获得的技术方案,均落在本发明的保护范围内。
Claims (4)
1.一种支持格状并行分枝逻辑的程序控制方法,其特征在于,它包括:
步骤1、程控序列的触发;
步骤2、程控序列的启动,所有的程控序列均由触发操作触发执行,相应的对触发操作的调用既可以包含在其他程控序列的某些遥控步骤中,也可以配置在HMI子系统各与用户产生交互的模块中;程控操作被触发后,其中被标记为启动步骤的遥控步骤被并发地执行,启动步骤及由其迁移启动的各其他遥控步骤均按照步骤3描述的流程进行执行;
步骤3、遥控步骤的执行,判断遥控步骤的前提条件,条件满足则继续,否则停止当前遥控步骤;执行遥控步骤的执行动作;在设定的遥控步骤的超时时间内循环执行遥控步骤的步骤迁移;循环超时,执行遥控步骤的失败动作;如失败动作中无步骤迁移,停止当前遥控步骤;
步骤4、遥控步骤迁移。
2.根据权利要求1所述的支持格状并行分枝逻辑的程序控制方法,其特征在于:遥控步骤是程控操作的基本单元,一个遥控步骤为包含前提条件、执行动作、步骤迁移、超时时间及失败动作五个元素的一个集合。
3.根据权利要求1所述的支持格状并行分枝逻辑的程序控制方法,其特征在于:程控序列是一个遥控步骤的集合,其中各遥控步骤间的连接顺序、迁移关系在各遥控步骤的定义中指定;每个程控序列中必须包含至少一个或多个启动遥控步骤,其将在程控序列被触发时执行/并发执行。
4.根据权利要求1所述的支持格状并行分枝逻辑的程序控制方法,其特征在于:遥控步骤中的前提条件、执行动作、步骤迁移、失败动作的定义均采用逻辑脚本,其中包含对遥控步骤迁移指令及执行控制指令的调用,其一旦执行则当前遥控步骤的执行均被终止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102351127A CN101916078B (zh) | 2010-07-23 | 2010-07-23 | 支持格状并行分枝逻辑的程序控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102351127A CN101916078B (zh) | 2010-07-23 | 2010-07-23 | 支持格状并行分枝逻辑的程序控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101916078A true CN101916078A (zh) | 2010-12-15 |
CN101916078B CN101916078B (zh) | 2012-11-14 |
Family
ID=43323605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102351127A Active CN101916078B (zh) | 2010-07-23 | 2010-07-23 | 支持格状并行分枝逻辑的程序控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101916078B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150485A (zh) * | 2013-04-01 | 2013-06-12 | 山东鲁能软件技术有限公司 | 一种节点之间的依赖关系系统及其运行方法 |
CN103279333A (zh) * | 2012-09-29 | 2013-09-04 | 南京国电南自轨道交通工程有限公司 | 一种基于scada系统的多节点顺序控制的方法 |
CN103513962A (zh) * | 2012-06-29 | 2014-01-15 | 上海宝信软件股份有限公司 | 基于小型机的电力scada并行控制方法 |
CN106505554A (zh) * | 2016-09-30 | 2017-03-15 | 许继集团有限公司 | 顺序控制在微电网能量管理系统中的应用方法及装置 |
CN107367968A (zh) * | 2017-08-03 | 2017-11-21 | 爱普(福建)科技有限公司 | 一种组态元件的执行方法及计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007067645A2 (en) * | 2005-12-05 | 2007-06-14 | Fisher-Rosemount Systems, Inc. | Multi-objective predictive process optimization with concurrent process simulation |
JP2009112155A (ja) * | 2007-10-31 | 2009-05-21 | Toshiba Corp | 遠隔電力制御システムおよび電源タップ |
CN101699454A (zh) * | 2009-11-02 | 2010-04-28 | 国电南瑞科技股份有限公司 | 电力系统控制中心与子站间电网模型交换和融合的方法 |
-
2010
- 2010-07-23 CN CN2010102351127A patent/CN101916078B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007067645A2 (en) * | 2005-12-05 | 2007-06-14 | Fisher-Rosemount Systems, Inc. | Multi-objective predictive process optimization with concurrent process simulation |
JP2009112155A (ja) * | 2007-10-31 | 2009-05-21 | Toshiba Corp | 遠隔電力制御システムおよび電源タップ |
CN101699454A (zh) * | 2009-11-02 | 2010-04-28 | 国电南瑞科技股份有限公司 | 电力系统控制中心与子站间电网模型交换和融合的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513962A (zh) * | 2012-06-29 | 2014-01-15 | 上海宝信软件股份有限公司 | 基于小型机的电力scada并行控制方法 |
CN103513962B (zh) * | 2012-06-29 | 2016-01-27 | 上海宝信软件股份有限公司 | 基于小型机的电力scada并行控制方法 |
CN103279333A (zh) * | 2012-09-29 | 2013-09-04 | 南京国电南自轨道交通工程有限公司 | 一种基于scada系统的多节点顺序控制的方法 |
CN103279333B (zh) * | 2012-09-29 | 2016-03-02 | 南京国电南自轨道交通工程有限公司 | 一种基于scada系统的多节点顺序控制的方法 |
CN103150485A (zh) * | 2013-04-01 | 2013-06-12 | 山东鲁能软件技术有限公司 | 一种节点之间的依赖关系系统及其运行方法 |
CN103150485B (zh) * | 2013-04-01 | 2016-08-03 | 山东鲁能软件技术有限公司 | 一种节点之间的依赖关系系统及其运行方法 |
CN106505554A (zh) * | 2016-09-30 | 2017-03-15 | 许继集团有限公司 | 顺序控制在微电网能量管理系统中的应用方法及装置 |
CN106505554B (zh) * | 2016-09-30 | 2019-08-23 | 许继集团有限公司 | 顺序控制在微电网能量管理系统中的应用方法及装置 |
CN107367968A (zh) * | 2017-08-03 | 2017-11-21 | 爱普(福建)科技有限公司 | 一种组态元件的执行方法及计算机可读介质 |
CN107367968B (zh) * | 2017-08-03 | 2019-08-09 | 爱普(福建)科技有限公司 | 一种组态元件的执行方法及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101916078B (zh) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101916078B (zh) | 支持格状并行分枝逻辑的程序控制方法 | |
CN107196604B (zh) | 一种光伏发电系统及其组件iv曲线扫描方法 | |
US20180359111A1 (en) | Automatic control method of generating sub-systems and sub-system arbitration from the deconstruction of a complex equipment graph | |
CN103178544B (zh) | 并联型多单元光伏并网逆变器系统的启停控制方法 | |
US9419442B2 (en) | Renewable energy power distribution system | |
CN106712238B (zh) | 一种子模块混合型换流器的充电方法 | |
Ahmad et al. | Efficient energy management in a microgrid | |
CN110429643B (zh) | 用于集散式光伏直流汇集系统的级间协同启动系统及方法 | |
CN112966375A (zh) | 基于有限状态机的配电网信息物理元件建模方法及系统 | |
CN103401731B (zh) | 手工测试与自动化测试环境切换方法及系统 | |
CN111181488B (zh) | 一种光伏组件定位方法、装置及控制器 | |
CN114696332A (zh) | 太阳能制氢系统的控制方法、装置、系统及存储介质 | |
CN113467365A (zh) | 一种基于can总线的plc监控系统及方法 | |
CN106452143B (zh) | 基于载波移相的模块化多电平换流器mmc热冗余策略 | |
CN110460093B (zh) | 光伏分体盒 | |
JP2018182905A (ja) | 給電システム | |
CN102287277B (zh) | 低温低压环境下无人值守平台发电机组智能自主控制方法 | |
Seo et al. | Stand-alone operation with a centralized controller for multiple PV module converters | |
CN106787893B (zh) | 模块化电源控制方法和装置 | |
CN109449902A (zh) | 一种用于柔性直流电网故障限流的多端口直流限流器 | |
CN204559495U (zh) | 光伏发电系统 | |
CN113794364A (zh) | 供电系统及其控制方法 | |
CN209709750U (zh) | 一种集成箱式电站 | |
CN113606801A (zh) | 一种镜场控制系统 | |
CN106059262A (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 |