分散处理单元超实时计算方法转让专利

申请号 : CN202010220474.2

文献号 : CN111427318B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏烨丁宁周宇阳郑可轲孙坚栋陈波华丽云叶泽民叶凌

申请人 : 杭州意能电力技术有限公司国网浙江省电力有限公司电力科学研究院上海朴宜实业有限公司

摘要 :

本发明公开了一种分散处理单元超实时计算方法。本发明在分散处理单元中通过页面扫描周期、模块计算周期与循环的设定,以调频的方式对实时计算进行本位或全局的超实时调整,从而在计算机资源约束的前提下超实时完成计算任务的方法。通过本发明对分散处理单元进行超实时计算功能的改造,使得分散处理单元具有超实时计算的能力,改造过程在现有模块计算中心中增设了计算循环,兼容原有计算流程以及逻辑组态,兼容原有实时计算模式,分散处理单元可以在全局性或者本位性的超实时计算模式下运行,提高分散处理单元的计算效率,使得智慧能源技术的多种新兴智能应用可以基于分散处理单元部署并且展开。

权利要求 :

1.一种分散处理单元超实时计算方法,其特征在于,从分散处理单元的本位或者全局的实时计算频率着手,从分散处理单元的页面扫描周期、模块计算周期与循环的设定方面进行超实时计算改造,使得分散处理单元在计算机资源约束的条件下具有超实时计算能力;

所述全局是指整组频率,所述本位是指个别组的频率或者组内部分的频率;所述分散处理单元的页面扫描周期是指分散处理单元组态页面的实时计算频率;

所述分散处理单元的模块计算周期是指分散处理单元组态页面的实时计算频率;所述计算机资源约束条件,是指确保超实时的计算负荷在分散处理单元可接受的计算裕度之内;

上述的分散处理单元超实时计算方法,具体内容包括如下步骤:第一步,在分散处理单元中加入超实时指令信息,针对全局或者本位超实时计算以及是否并行计算定义关键字,当设定关键字后,所针对的分散处理单元即遵照全局或者本位超实时计算以及是否并行计算执行超实时配置处理;

所述超实时配置处理,针对全局超实时计算而言,是为整个分散处理单元均遵照频率可调的统一频率实行超实时计算;针对本位超实时计算而言,是为分散处理单元内的不同页面和不同模块具有各自频率可调的频率实行超实时计算;

第二步,对需要进行超实时计算的算法模块进行改造,使得算法模块具备超实时计算的能力;具体内容为:通过在模块计算中心建立计算循环Ci协调页面计算周期Tp和模块计算周期Tm,使得模块计算中心能够适应于实时与超实时计算的频率需求,当协调指令为1时为实时计算状态,当协调指令为0时进入超实时计算状态;

在模块计算中心建立计算循环Ci是指模块计算中心根据采集的协调指令和页面计算周期Tp以及模块计算周期Tm进行分析后所建立的计算循环,模块计算中心引导原计算流程在该计算循环内完成,通过计算循环完成模块积分时间与页面计算周期之间的匹配并且通过模块计算周期完成协调;

第三步,对分散控制系统组态软件进行调整,针对页面计算周期和模块计算周期对应地纳入或者扩充周期设定参数;具体内容为:在页面属性设置中在原有周期参数之外扩充一部分计算周期参数,扩充时为了保证兼容性令补充的计算周期在设置项的末尾。

2.根据权利要求1所述的分散处理单元超实时计算方法,其特征在于,当全局或者本位超实时配置不符合一致性原则时,分散处理单元自动进行越级调整,以使得一致性原则得到满足;所述一致性原则是指全局性超实时计算模式下整个分散处理单元均遵照频率可调的统一频率实行超实时计算,本位超实时计算模式下本位超实时组内的超实时具有全局超实时的特征。

3.根据权利要求1所述的分散处理单元超实时计算方法,其特征在于,模块计算中心接收到协调指令为1时判定处于实时计算模式,则令Ci=Max(Tp/Tm,1)且令Tp/Tm≥1并引导进入计算循环,其中Max为求取最大整数的函数,Tp为页面计算周期,Tm为模块计算周期;模块计算中心接收到协调指令为0时判定处于超实时计算模式,则令Ci=1,同时令Tm/Tp≥1,即Tp/Tm<1,计算循环自动蜕化为一次计算;模块计算中心给定模块积分时间为Tm/1000.0/

3600.0,所述积分时间为时域仿真转化为差分方程后的计算积分时间。

4.根据权利要求3所述的分散处理单元超实时计算方法,其特征在于,当页面计算周期Tp和模块计算周期Tm的手工设定不满足预置条件时,组态时由组态软件发出报警,计算过程中由分散处理单元发出报警,当设置严重失当时由分散处理单元的负荷中心发出错误信息,所述分散处理单元的负荷中心为分散处理单元监测自身运算负荷的部分,具有实时性的特征;当处于全局超实时状态时,模块本位计算中心的设定被超控替换;在本位超实时计算模式中,本位超实时计算所属模块的计算中心设定不符合一致性原则时也被超控替换,替换原则由分散控制系统设定。

5.根据权利要求1所述的分散处理单元超实时计算方法,其特征在于,页面计算周期的档位与模块计算周期的档位不仅存在一定的重合性,也存在使用有效区间,即便在模块计算中心内部通过计算循环进行时间的协调,也需要避开一些非合理区间,避免给超实时计算带来负担或者引发不正确的计算过程;当页面计算周期过大而模块计算周期过小,容易引导不必要的计算机等待时间导致浪费,与此同时模块计算中心也会判定设置失当进而给出警示;当页面计算周期过小而小于模块计算周期,会引发计算失序,并且也不符合计算由分散处理单元导入页面继而从页面导入模块的设计原则,计算中心也会判定设置失当进而给出警示。

说明书 :

分散处理单元超实时计算方法

技术领域

[0001] 本发明属于电力系统自动控制技术领域,涉及一种分散处理单元超实时计算方法。

背景技术

[0002] 随着智慧能源技术在电力行业的逐步深入,各种新兴的智能应用提出了更为广泛的、深入的、快速的计算需求。在自动控制领域广泛使用的分散处理单元在处理数据采集、
标度变换、报警限值检查、操作记录与顺序事件记录、逻辑控制等方面能力较强,也具有一
定的计算能力,因此成为自动控制领域内承担计算任务的基本设备。出于分散处理单元定
时扫描与广播的特性,只能以墙钟时刻为单位部署逻辑运算任务,不能自由地设置超实时
计算周期。考虑到IO与通讯通道、以及扫描与汇总等任务的天然时延,分散处理单元最小扫
描周期一般不低于50ms,而智能应用往往需要在μs级内完成数个复杂计算,可见分散处理
单元的算力极度受限。此外,构建于平行系统基础上的智能应用,如平行控制、平行安全等,
需要进行大量的仿真计算,充分利用虚拟世界对真实世界进行模拟、演练、预测等,仿真计
算步长的固有特性与分散处理单元扫描周期的固有特性也产生矛盾。
[0003] 简而言之,分散处理单元普遍不具有超实时计算的能力,将电力控制行业广泛使用的分散处理单元进行功能拓展,使之具备超实时计算能力,这正是本发明需要解决的问
题。
[0004] 从已经公开的发明及其相关文献来看,目前超实时计算的大多数应用面向电网实时仿真,且均基于专用的实时仿真系统,未见基于分散处理单元的超实时计算机制的公开
专利,例如专利《基于MPI的电网仿真实时并行计算平台及应用》(申请号
CN200910244247.7,授权号CN101794993B)引入实时操作系统RTLinux建立上层电网仿真应
用模块;专利《基于超实时仿真的电网在线稳定决策控制系统及控制方法》(申请号
CN201310035336.7,授权号CN103162219B)基于超实时仿真建立的电网在线稳定决策控制
系统;专利《一种电力系统混合仿真故障统一处理的方法》(申请号CN2015101319339.6,授
权号CN1048665843B)利用机电暂态超实时仿真程序TH‑SLBLT建立的一种电力系统混合仿
真。
[0005] 因此,需要针对分散处理单元的特征进行功能拓展,构建超实时计算机制,使得热工控制领域中一些智能应用可以从超实时计算中获取更高的性能,提高计算效率的同时增
加模型预测能力,从而使得平行控制、平行安全等工业控制智能应用可以基于分散处理单
元展开。

发明内容

[0006] 本发明的目的在于提供一种分散处理单元超实时计算方法,其从分散处理单元的页面扫描周期、模块计算周期与循环的设定角度出发,对分散处理单元的实时计算频率进
行本位或全局的超实时的适应性改造,使得工业控制领域普遍应用的分散处理单元在计算
机资源约束的条件下具有超实时计算的能力,为基于分散处理单元展开的工业控制智能应
用提供技术支撑,使得诸如平行控制、平行安全等工业控制智能应用可以基于分散处理单
元部署并且展开。
[0007] 为了实现上述目的,本发明通过以下技术方案来实施:一种分散处理单元超实时计算方法,其从分散处理单元的本位或者全局的实时计算频率着手,从分散处理单元的页
面扫描周期、模块计算周期与循环的设定方面进行超实时计算改造,使得分散处理单元在
计算机资源约束的条件下具有超实时计算能力。
[0008] 具体地说是在分散处理单元中通过页面扫描周期、模块计算周期与循环的设定,以调频的方式对实时计算进行本位或全局的超实时调整,从而在计算机资源约束的前提下
超实时完成计算任务。本发明可以使得分散处理单元能够适应平行控制、平行安全等工业
控制智能应用的超实时计算需求。
[0009] 所述分散处理单元为工业控制领域分散控制系统的基本计算单元,具有处理数据采集、标度变换、报警限值检查、操作记录与顺序事件记录、逻辑控制等功能,也具有一定的
计算能力,分散处理单元的组态是由页面组成的,页面是由不同的功能性模块组成的。沿袭
传统的分散处理单元的定义为DPU,定义主控分散处理单元为MPU,定义进行并行计算部署
的分散处理单元为PPU。主控分散处理单元为MPU是执行主控任务的DPU,并行分散处理单元
PPU是执行并行计算任务的DPU。主控分散处理单元MPU与并行分散处理单元PPU都是分散处
理单元DPU的并行拓展。主控分散处理单元MPU可以有冗余的辅控节点,并行分散处理单元
PPU一般无冗余节点。
[0010] 所述分散处理单元的实时计算频率是指分散处理单元处理数据采集、标度变换、报警限值检查、操作记录与顺序事件记录、逻辑控制等功能的执行频率,实时计算频率是一
组根据分散处理单元不同功能需求而设置的频率,它是分散处理单元的生物钟,决定了各
种功能的实现周期,可以事先设定并且灵活修改。所述全局是指整组频率,所述本位是指个
别组的频率或者组内部分的频率。本发明中的全局超实时特指整个分散处理单元均遵照频
率可调的统一频率实行超实时计算,本发明中的本位超实时特指分散处理单元内的不同页
面和不同模块具有各自频率可调的频率实行超实时计算。全局超实时与本位超实时是按照
工业控制智能应用的需求而划定的,对于同构类型的计算需求一般采用全局超实时,对于
主从类型的计算需求一般采用本位超实时。在本位超实时计算模式中,组内的各个部分如
页面和模块等,也适用一致性原则,即本位超实时组内的超实时具有全局超实时的特征。
[0011] 所述分散处理单元的页面扫描周期是指分散处理单元组态页面的实时计算频率,本发明中定义为Tp。分散处理单元不同组态页面均可有自己的页面扫描周期,在每个扫描
周期内页面依照定序被唤醒并且计算一次,所述计算包括前述数据采集、标度变换、报警限
值检查、操作记录与顺序事件记录、逻辑控制等功能。页面计算周期有5‑5000ms共12档配
置。本发明中扫描周期、计算周期、计算频率的概念类似,扫描周期侧重于分散处理单元的
调度,计算周期与计算频率侧重于页面或者模块自身的设定,周期与频率互为倒数。
[0012] 所述分散处理单元的模块计算周期是指分散处理单元组态页面的实时计算频率,本发明中定义为Tm。分散处理单元组态页面上的每个模块的计算周期传统上与页面计算周
期保持一致,每个组态页面被周期性唤醒后,其中的每个模块依照定序被唤醒并且计算一
次,所述计算包括前述数据采集、标度变换、报警限值检查、操作记录与顺序事件记录、逻辑
控制等功能。本发明中的模块计算周期可以自行定义,即模块具有自身的计算周期,当模块
被唤醒时按照自身的计算频率进行计算,从而加快模块自身的运算。页面内模块间的数值
传递仍然按照页面计算频率进行。模块计算周期有5μs‑500ms共20档配置,其中部分档位与
页面计算周期重合。
[0013] 所述分散处理单元的模块计算循环是指模块内部调度中心为了保持模块计算频率与页面计算频率同步特性而设置的计算循环,本发明中定义为Ci,在计算循环内模块进
行循环计算,完成积分或者迭代等计算任务。
[0014] 所述计算机资源约束条件是指在进行分散处理单元超实时计算时,由于计算从实时状态本位或者全局性地转入超实时,计算量明显加大,给分散处理单元的中央处理器带
来压力,部分页面或者模块不能在给定的周期内完成计算并且输出,整体计算的准确性就
会受到难以估量的影响。为了保证分散处理单元整体计算能够顺利进行,必须对超实时的
极端负荷进行预测,确保超实时的计算负荷在分散处理单元可以接受的计算裕度之内,称
为计算机资源约束条件。
[0015] 进一步地,上述分散处理单元超实时计算方法的具体内容包括如下步骤:
[0016] 第一步,在分散处理单元中加入超实时指令信息,针对全局或者本位超实时计算以及是否并行计算定义关键字(关键字可以在分散控制系统的控制台上进行设置),当设定
关键字后,所针对的分散处理单元即遵照全局或者本位超实时计算以及是否并行计算执行
超实时配置处理;
[0017] 第二步,对需要进行超实时计算的算法模块进行改造,使得算法模块具备超实时计算的能力;
[0018] 第三步,对分散控制系统组态软件进行调整,针对页面计算周期和模块计算周期对应地纳入或者扩充周期设定参数。
[0019] 进一步地,第一步中,所述超实时配置处理,针对全局超实时计算而言,是为整个分散处理单元均遵照频率可调的统一频率实行超实时计算;针对本位超实时计算而言,是
为分散处理单元内的不同页面和不同模块具有各自频率可调的频率实行超实时计算。
[0020] 进一步地,当全局或者本位超实时配置不符合一致性原则时,分散处理单元自动进行越级调整,以使得一致性原则得到满足;所述一致性原则是指全局性超实时计算模式
下整个分散处理单元均遵照频率可调的统一频率实行超实时计算,本位超实时计算模式下
本位超实时组内的超实时具有全局超实时的特征。
[0021] 更进一步地,针对建成项目通过新建测点,在分散控制系统数据总线上传递全局与本位、并行与非并行的控制指令,与此相配合地,分散处理单元中利用已有的开关量分析
模块进行命令解析,接令后再进行处理。所述数据总线为分散处理单元的软件总线,通过端
口与网络通讯的方式在分散控制系统的网络上进行数据的分发与集成,为本领域的公知常
识。
[0022] 进一步地,第二步的具体内容为:通过在模块计算中心建立计算循环Ci协调页面计算周期Tp和模块计算周期Tm,使得模块计算中心能够适应于实时与超实时计算的频率需
求,当协调指令为1时为实时计算状态,当协调指令为0时进入超实时计算状态。
[0023] 更进一步地,所述模块计算中心是指模块实现预设功能而设置的计算控制台,每个模块都有自身的计算中心,这个计算中心分为全局和本位两种,模块全局计算中心对该
模块的每一个实例均有效,模块本位计算中心仅对模块的当前实例有效。模块全局计算中
心的设置对模块本位计算中心的设置有超控的作用,当处于全局超实时状态时通过这个超
控作用来对模块本位计算中心的设置进行强制修改。
[0024] 更进一步地,在模块计算中心建立计算循环Ci是指模块计算中心根据采集的协调指令和页面计算周期Tp以及模块计算周期Tm进行分析后所建立的计算循环,模块计算中心
引导原计算流程在该计算循环内完成,通过计算循环完成模块积分时间与页面计算周期之
间的匹配并且通过模块计算周期完成协调,使得模块计算既能满足实时计算的要求,也能
满足超实时计算的要求。由于亚实时计算的调度与此同理,同在本发明的技术框架之内,本
发明不作详细论述。
[0025] 具体地,模块计算中心接收到协调指令为1时判定处于实时计算模式,则令Ci=Max(Tp/Tm,1)且令Tp/Tm≥1并引导进入计算循环,其中Max为求取最大整数的函数,Tp为页
面计算周期,Tm为模块计算周期。具体地,模块计算中心接收到协调指令为0时判定处于超
实时计算模式,则令Ci=1,同时令Tm/Tp≥1,即Tp/Tm<1,计算循环自动蜕化为一次计算。具
体地,模块计算中心给定模块积分时间为Tm/1000.0/3600.0,所述积分时间为时域仿真转
化为差分方程后的计算积分时间。进一步地,当页面计算周期Tp和模块计算周期Tm的手工
设定不满足前述预置条件时,组态时由组态软件发出报警,计算过程中由分散处理单元发
出报警,当设置严重失当时由分散处理单元的负荷中心发出错误信息,所述分散处理单元
的负荷中心为分散处理单元监测自身运算负荷的部分,具有实时性的特征。更进一步地,当
处于全局超实时状态时,模块本位计算中心的设定被超控替换。更进一步地,在本位超实时
计算模式中,本位超实时计算所属模块的计算中心设定不符合一致性原则时也被超控替
换,替换原则由分散控制系统设定。
[0026] 更为明确地,页面计算周期的档位与模块计算周期的档位不仅存在一定的重合性,也存在使用有效区间,即便在模块计算中心内部通过计算循环进行时间的协调,也需要
避开一些非合理区间,避免给超实时计算带来负担或者引发不正确的计算过程。具体地,当
页面计算周期过大而模块计算周期过小,容易引导不必要的计算机等待时间导致浪费,与
此同时模块计算中心也会判定设置失当进而给出警示。具体地,当页面计算周期过小而小
于模块计算周期,会引发计算失序,并且也不符合计算由分散处理单元导入页面继而从页
面导入模块的设计原则,计算中心也会判定设置失当进而给出警示。
[0027] 更为明确地,模块的超实时改造并不更改模块的IPO设定,因此对于建成项目替换模块库以后,分散处理单元的组态并不受到影响。所述模块的IPO设定是指模块的输入参
数、内部参数、输出参数的设定,所述IPO参数的设定不变是指IPO参数的个数和排列顺序不
发生改变,在IPO参数的设定不变的前提下,组态页面中各个模块之间的连接关系不变,因
而组态在本身不受到影响的前提下实现了超实时计算功能。
[0028] 第三步的具体内容为:在页面属性设置中在原有周期参数之外扩充一部分计算周期参数,扩充时为了保证兼容性令补充的计算周期在设置项的末尾;典型地,页面计算周期
一般为50‑5000ms共计8档周期,增设5、10、20、25ms等共计4档周期。具体地,在模块属性设
置中增加计算周期参数,典型地,模块计算周期为5μs‑500ms共计20档配置;更详尽地,针对
建成项目中的建成模块本身不具备周期参数设定的,通过算法模块预留特性项进行填写,
具体地如利用模块DWORD型参数高低位进行排列式综合使用等。
[0029] 实施本发明,具有如下有益效果:
[0030] 通过本发明对分散处理单元进行超实时计算功能的改造,使得分散处理单元具有超实时计算的能力,改造过程在现有模块计算中心中增设了计算循环,兼容原有计算流程
以及逻辑组态,兼容原有实时计算模式,分散处理单元可以在全局性或者本位性的超实时
计算模式下运行,提高了分散处理单元的计算效率,使得智慧能源技术的多种新兴智能应
用可以基于分散处理单元部署并且展开。

附图说明

[0031] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0032] 图1是为本发明实施例提供的页面计算周期与模块计算周期匹配示意图。
[0033] 图2是为本发明实施例提供的超实时计算调度流程示意图。

具体实施方式

[0034] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0035] 本发明基于分散处理单元进行,分散处理单元的硬件、软件、网络环境、配置等均为本发明的前提条件,本发明在所述前提条件所搭建的必要环境,例如数据总线、数据库点
表、网络广播包等完整就位的基础上实施。
[0036] 本发明的实施例包括分散处理单元超实时计算能力改造的调度流程等内容,图1是为本发明实施例提供的页面计算周期与模块计算周期匹配示意图;图2是为本发明实施
例提供的超实时计算调度流程示意图。
[0037] 本发明在分散处理单元中通过页面扫描周期、模块计算周期与循环的设定,以调频的方式对实时计算进行本位或全局的超实时调整,从而在计算机资源约束的前提下超实
时完成计算任务。具体步骤如下:
[0038] 第一步,在分散处理单元中加入超实时指令信息,针对全局或者本位超实时计算以及是否并行计算定义关键字(关键字可以在分散控制系统的控制台上进行设置),当设定
关键字后,所针对的分散处理单元即遵照全局或者本位超实时计算以及是否并行计算执行
超实时配置处理;
[0039] 第二步,对需要进行超实时计算的算法模块进行改造,使得算法模块具备超实时计算的能力;
[0040] 第三步,对分散控制系统组态软件进行调整,针对页面计算周期和模块计算周期对应地纳入或者扩充周期设定参数。
[0041] 以下结合图1说明分散处理单元超实时计算的页面计算周期与模块计算周期匹配。
[0042] 首要地,典型的页面计算周期包括50‑5000ms共计8档周期,基本覆盖分散处理单元数据采集、标度变换、报警限值检查、操作记录与顺序事件记录、逻辑控制等功能需求,由
于页面计算周期是分散处理单元调度的周期,为了确保页面内最复杂的计算能够顺利完
成,一般该周期不会设置过小,以免产生调度失效,更明确地,如果页面调度周期小于页面
中最复杂模块计算时间或者页面中所有模块的计算时间,那么下一个调度指令到达时上一
个调度尚未完成,下一次的计算起点为上一次的中间过程而非终点,容易产生不可预知的
计算结果。本发明增设5、10、20、25ms等共计4档周期,这个增设基本符合对当前工业控制智
能应用计算量的预期,未来随着计算机硬件能力增强以及工业控制智能应用在人工智能方
向的进一步深入,可以再行增加更快的页面计算周期。小结性地,分散处理单元具有5‑
5000ms共计12档页面计算周期,如图1中纵轴所示。
[0043] 更明确地,所述分散处理单元的模块计算周期是指分散处理单元组态页面的实时计算频率,分散处理单元组态页面上的每个模块的计算周期传统上与页面计算周期保持一
致,每个组态页面被周期性唤醒后,其中的每个模块依照定序被唤醒并且计算一次。本发明
中的模块计算周期可以自行定义,即模块具有自身的计算周期,当模块被唤醒时按照自身
的计算频率进行计算,从而加快模块自身的运算。进一步地,页面内模块间的数值传递仍然
按照页面计算频率进行。更明确地,本发明中扫描周期、计算周期、计算频率的概念类似,扫
描周期侧重于分散处理单元的调度,计算周期与计算频率侧重于页面或者模块自身的设
定,周期与频率互为倒数。
[0044] 进一步地,页面计算周期的设置有人工选择和分散处理单元超控设置两种,当处于全局超实时计算模式下需要确保所有计算频率一致时或者本位超实时计算模式下需要
确保本位中所有计算频率一致时,超控设置会旁路人工选择。
[0045] 进一步地,典型的模块计算周期包括5μs‑500ms共计20档周期,基本覆盖分散处理单元遗传算法、粒子群算法等生物学优化算法、神经网络递推学习、以及平行安全应用的快
速多维度攻防演练等功能需求,由于模块计算周期是模块计算中心完成指定计算的时间周
期,因此在模块计算周期的选择上必须确保模块计算能够顺利完成,以免产生调度失效,更
明确地,如果模块计算周期设置小于模块计算实际所需要的计算时间,那么下一个模块计
算调度指令到达时上一个调度尚未完成,下一次的计算起点为上一次的中间过程而非终
点,容易产生不可预知的计算结果。与此同时,模块计算周期也不宜设置自过大甚至超过页
面计算周期,否则与超实时计算的设计原则也不相符合。小结性地,分散处理单元具有5μs‑
500ms共计20档页面计算周期,如图1中横轴所示。
[0046] 进一步地,部分计算量较大的模块例如模型预测控制算法中涉及到大量矩阵运算和迭代寻优计算,耗时近秒或者数秒,这类应用属于广义的超实时应用,其超实时的预测包
含在模型预测本身的算法设计中,不在本发明详述的范围内。
[0047] 进一步地,模块计算周期接收分散处理单元的超控设置,当处于本位超实时计算模式下需要确保本位中所有计算频率一致时,超控设置会旁路人工选择。
[0048] 综上可知页面计算周期与模块计算周期的理论搭配有12x20之多,不过页面计算周期的档位与模块计算周期的档位不仅存在一定的重合性,也存在使用有效区间,即便在
模块计算中心内部通过计算循环进行时间的协调,也需要避开一些非合理区间,避免给超
实时计算带来负担或者引发不正确的计算过程。
[0049] 具体地,当页面计算周期过大而模块计算周期过小,在模块计算中心的调度中也并不存在大量的迭代或者重复校验,容易导致不必要的计算机等待时间,进而导致机时的
浪费;或者具体地将积分时间设置过小而引导计算中心进行特别微小步长的仿真积分,由
于页面扫描时间不与特别微小的模块计算时间同步而使得仿真中间过程并不对外披露,也
导致机时的浪费。具体地,模块计算中心会判定设置失当进而给出警示,如图1左上含x标识
的部分。
[0050] 具体地,当页面计算周期过小而小于模块计算周期,会引发计算失序,并且也不符合计算由分散处理单元导入页面继而从页面导入模块的设计原则,具体如页面调度周期小
于页面中最复杂模块计算时间或者页面中所有模块的计算时间,那么下一个调度指令到达
时上一个调度尚未完成,下一次的计算起点为上一次的中间过程而非终点,容易产生不可
预知的计算结果,或具体如模块计算周期设置小于模块计算实际所需要的计算时间,那么
下一个模块计算调度指令到达时上一个调度尚未完成,下一次的计算起点为上一次的中间
过程而非终点,容易产生不可预知的计算结果。模块计算中心也会判定设置失当进而给出
警示,如图1右下含x标识的部分。
[0051] 具体地,图1中除之而外的部分均为理论合理的页面计算时间与模块计算时间的有效搭配,所谓理论合理是指在这些搭配方式下,仍然需要根据工业控制智能应用的实际
需要进行计算频率的估算,既要防止机时的浪费也要防止计算的失序,这些内容属于本发
明的延展性研究内容,不在本发明的叙述范围内。更具体地,图1中标识o和标识v的部分为
所述理论合理的页面计算时间与模块计算时间的有效搭配,其中标识o的部分页面计算时
间与模块计算时间相等,这意味着计算实质性地为实时计算,也可以看作是超实时计算的
特例。
[0052] 以下结合图2说明超实时计算调度流程。
[0053] 步骤100,超实时计算的开始步骤。超实时计算的发起一般来自分散控制系统的人工设定或者自动触发,其中人工设定一般为设计与调试过程,自动触发一般为在线运行过
程。当超实时计算开始后直到超实时计算的结束,过程中超实时计算可以被中断或者终止,
也可以被继续。中断、继续、终止等干预没有绘制在图2中。
[0054] 步骤110,超实时计算开始后需要读取配置信息,以决定超实时计算的一些基本设定,这些基本设定包括超实时计算的全局性与本位性、超实时计算的计算频率或者倍率、各
个分散处理单元的基本信息如表述页面和表述模块的数据结构等。所述倍率是指基本设定
中规定了基本频率后,通过条件基本频率的倍数来获得实际需要的计算频率。进一步地,配
置信息初始存在于磁盘文件或者操作系统注册表中,读取过程完成后这些信息被赋值到分
散控制系统的指定变量中,通过改变这些变量的值可以改变配置信息,修改后的配置信息
可以被更新到磁盘文件或者操作系统注册表中。
[0055] 步骤120,进行超实时计算类型的判断,当计算属于全局超实时时进入步骤130,否则进入步骤300。在特定的工业控制智能应用中,全局性超实时计算与本位性超实时计算通
常是分离的,一般不会出现两种性质的计算同时存在的应用需求,应该注意到在本位性超
实时计算中是包含部分全局性要求的,因此如果新的智能应用出现了综合性的超实时计算
需求,在本发明内容没有进一步升级的前提下,优先归类于本位性超实时计算模式。
[0056] 步骤130,在全局性超实时计算的模式下,开始进入到三个层次的遍历过程,首要进入的层次是分散处理单元的遍历,所述分散处理单元的遍历是指对分散控制系统数据总
线上挂载的所有分散处理单元进行逐个扫描,所述扫描为配置性扫描而非计算性扫描。所
有挂载的分散处理单元既包括分散处理单元的各个实体,也包括开设在空闲资源上的虚拟
分散处理单元。对冗余的分散处理单元一般以主控节点为对象,对并行部署的分散处理单
元由步骤320及其之后的步骤详述。
[0057] 步骤140,在全局性超实时计算的模式下,其次进入的层次是组态页面的遍历,所述组态页面的遍历是指对指定分散处理单元组态页面数据结构上挂载的所有页面进行逐
个扫描,所述扫描为配置性扫描而非计算性扫描。由于是非计算性扫描,一般不严格按照页
面的扫描顺序而是以逻辑顺序进行,作为扫描中的一个重要信息,页面的计算周期Tp在步
骤150中获取。所述页面计算周期即分散处理单元主导的页面扫描周期,在每个扫描周期内
页面依照定序被唤醒并且计算一次,包括数据采集、标度变换、报警限值检查、操作记录与
顺序事件记录、逻辑控制等功能。进一步地,本发明中扫描周期、计算周期、计算频率的概念
类似,扫描周期侧重于分散处理单元的调度,计算周期与计算频率侧重于页面或者模块自
身的设定,周期与频率互为倒数。进一步地,页面的计算时间是可以人工修改的,在没有越
级调整的情形下,人工修改所触发的提示信号会触发分散处理单元重新进行遍历工作。
[0058] 步骤160,在全局性超实时计算的模式下,第三进入的层次是组态模块的遍历,所述组态模块的遍历是指对指定组态页面上组态模块数据结构上挂载的所有模块进行逐个
扫描,所述扫描为配置性扫描而非计算性扫描。由于是非计算性扫描,一般不严格按照模块
的扫描顺序而是以逻辑顺序进行,模块的计算时间Tm被获取,作为一致性检查的重要依据。
所述模块计算周期即分散处理单元主导的模块扫描周期,在每个扫描周期内页面依照定序
被唤醒并且计算一次,包括数据采集、标度变换、报警限值检查、操作记录与顺序事件记录、
逻辑控制等功能。进一步地,模块的计算时间是可以人工修改的,在没有越级调整的情形
下,人工修改所触发的提示信号会触发分散处理单元重新进行遍历工作。
[0059] 步骤170,通过三层遍历取得具体的页面计算周期Tp和模块计算周期Tm之后,接续进行一致性检查,这也是整个配置信息扫描环节(步骤220)中关键的一步,对于全局超实时
计算模式而言,整个分散处理单元均遵照频率可调的统一频率实行超实时计算,对于本位
超实时计算而言,分散处理单元内的不同页面和不同模块具有各自频率可调的频率实行超
实时计算。进一步地,全局超实时与本位超实时是按照工业控制智能应用的需求而划定的,
对于同构类型的计算需求一般采用全局超实时,对于主从类型的计算需求一般采用本位超
实时。进一步地,在本位超实时计算模式中,组内的各个部分如页面和模块等,也适用一致
性原则,即本位超实时组内的超实时具有全局超实时的特征。更具体地,一致性检查合格的
进入步骤190,否则进入步骤180。
[0060] 步骤180,当发现一致性检查未予通过时,进行自动的超控调整。当处于全局超实时计算模式下需要确保所有计算频率一致时或者本位超实时计算模式下需要确保本位中
所有计算频率一致时,超控设置旁路人工选择,将页面计算周期或者模块计算周期自动设
置到一致的计算频率。所述一致的计算频率是由配置信息初始预设的,也可以是在线修改
的,无论预设或者修改,配置信息具有唯一性。进一步地,当配置的计算频率被不合理配置
时,分散处理单元的负荷监测或者操作员站/工程师站的监控画面出现依据事先设定条件
触发的报警提示。
[0061] 步骤190,一致性检查通过后,全局性超实时计算的基础配置基本完成,针对涉及到超实时计算的算法模块经过了超实时计算改造,此时需要进行计算循环校验,确保模块
的计算模式可以在实时与超实时计算模式中准确地进行切换。
[0062] 步骤200,超实时计算配置全部完成后,分散处理单元具备了超实时计算的启动条件,则进入到调度与计算环节。所述调度与计算环节与传统的分散处理单元的调度与计算
环节并无二致,所不同的是其中涉及到超实时计算的算法模块进行了超实时改造,此不详
述。
[0063] 步骤210,超实时计算完成,如若处于设计与调试阶段则将控制权交还给控制台,如若在线运行阶段则等待下一次计算触发。
[0064] 步骤220,分散处理单元一致性检查,包括步骤140至步骤190;
[0065] 步骤300,与步骤120相对应地,超实时计算不是处于全局状态而是本位状态,分散处理单元需要切换到本位超实时计算模式,这种模式下各个页面与所承载的模块允许具有
各自不同的计算周期,从而适应于不同的工业控制智能应用的需要。在本位超实时计算模
式中,并行计算是比较典型的模式,可以用来描述本发明的典型实施案例,其典型性在于并
行计算中存在主控节点与并行节点,并行节点属于典型的同构型计算模式,而主控节点与
并行节点的组合属于典型的主从型计算模式。
[0066] 更明确地,所述主控节点即为主控分散处理单元,是指执行主控任务的分散处理单元MPU,所述并行节点是指执行并行计算任务的分散处理单元PPU,主控节点和并行节点
都有全局数据总线上唯一的节点号,用于标识该分散处理单元及其所属的测点。所述并行
节点状态是指被定义为并行节点的分散处理单元属性,包括该PPU的从属组别、在并行分组
中的序号、自有数据区等属性。所述并行节点状态是指并行节点的实际运行状态,包括计
算、闲置、中断、错误等。所述计算指并行节点处于运行过程,所述闲置指并行节点处于闲置
状态,所述中断指并行阶段的计算过程正在被暂停,暂停的原因包括计算输入的调整、计算
方式的调整、外部数据的比对和补充等,所述错误是指并行节点发生错误,包括宕机、死循
环、高负载、通讯断路、未知等非正常状态。
[0067] 进一步地,当本位超实时计算为非并行计算时,进入步骤310,允许进行模块计算周期Tm的手工调整,此时计算循环被设定为1,算法模块被扫描到一次则进行计算一次并且
输出。所述扫描是由组态页面根据设定的模块扫描序号而有序进行的。
[0068] 步骤320,当本位超实时计算为并行计算时则进入本步骤,此后先行完成主控与并行节点的区分,判定为主控节点后进入步骤330,判定为并行节点后进入步骤400(包括步骤
220、步骤380和步骤390)。
[0069] 步骤330,并行计算中主控节点负责超实时的倍率调度,该调度指令发布到所有的并行节点,通知挂载在分散控制系统数据总线上的所有并行节点的超实时倍率。所述倍率
是指基本设定中规定了基本频率后,通过条件基本频率的倍数来获得实际需要的计算频
率。进一步地,本发明以一组并行计算单元为例进行实施例的阐述,当分散控制系统包含了
数组并行计算单元时,通知以组别的方式进行,其原理与单组并行计算单元相同;更进一步
地,后叙的并行单元超实时调度原理也相同,不再详述,本实施例中默认均指单组并行单元
的超实时计算。此外进一步地,主控节点对并行节点超实时倍率的通知是以系统消息的方
式进行的,各个并行节点接获系统消息后,经过解析获得本节点的指令。更进一步地,并行
节点超实时的调度倍率可以在线修改。
[0070] 步骤340,并行计算任务的分配是指主控节点根据并行计算任务的特点和计算需求进行合理分配,并且将分配指令发送给待令的所有并行节点。所述待令的并行节点是指
并行节点完成了前序计算任务,正处于待命的状态中。并行单元的待命状态集中反馈到主
控单元,由主控单元进行计算任务分配。当并行单元接获主控单元指令后发生异常情况如
中断、故障等,其反馈步骤380,可以刺激主控单元重新进行任务的分配,当并行单元由于死
机的原因不能发送反馈信息时,依赖于主控单元对并行单元的状态轮询来感知。如果并行
单元的状态正常,则进入步骤390执行计算任务。
[0071] 步骤350对各个并行单元的计算任务进行检测并且进行信息的综合,随即进入步骤360判断并行计算是否完成,若否则回到步骤340进行下一轮分配,或者进入步骤370,宣
告本轮并行计算结束。如若处于设计与调试阶段则将控制权交还给控制台,如若在线运行
阶段则等待下一次计算触发。
[0072] 以上为分散处理单元并行计算方法的典型实施例。虽然以上内容描述了本发明的具体实施方式,但是本领域的技术人员应当理解这些仅是举例说明,在不背离本发明的原
理和实质的前提下,可以对这些实施方式做出多种变更或修改,因此,本发明的保护范围由
所附录权利要求书限定。