一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种工业控制系统的控制器负载均衡检测方法与流程

2022-05-18 17:17:10 来源:中国专利 TAG:


1.本发明涉及一种工业控制系统的控制器应用领域,具体的公开了一种工业控制系统的控制器负载均衡检测方法。


背景技术:

2.随着工厂规模以及工艺复杂的程度不断提高,大规模厂区的控制需要的工艺程序逻辑也随之越来越复杂,控制器的程序分布和负载检查如果不均衡可能会导致控制器运行出现隐患或故障。因此亟需一种控制器负载均衡检测的方法,用于评估控制器出现故障的风险。


技术实现要素:

3.本发明为了克服以上技术的不足,本发明提供了一种工业控制系统的控制器负载均衡检测方法,能够针对控制器组态负载均衡进行检查,并根据检测的结果对于控制器的程序分布给出指导性建议。
4.本发明克服其技术问题所采用的技术方案是:本发明提出的一种工业控制系统的控制器负载均衡检测方法,所述工业控制系统包括若干控制器,所述任一控制器内运行若干控制程序,具体包括:收集控制程序的固有参数,以及,基于控制器的控制周期,收集控制程序的运行参数;基于控制程序的固有参数得到程序负载均衡,以及,基于控制程序的固有参数和运行参数得到相位负载均衡;基于程序负载均衡和相位负载均衡检测控制器负载均衡。
5.进一步的,所述基于控制器的控制周期,收集控制程序的运行参数,具体包括:基于预设时间将控制器的控制周期分为若干相位,以及,基于预设相位数控制程序周期性运行,从而确定控制程序在相位上的分布作为运行参数。
6.进一步的,所述控制程序的固有参数至少包括代码占用比例和数据占用比例。
7.进一步的,所述基于控制程序的固有参数得到控制程序的程序负载均衡,具体包括:基于控制程序的代码占用比例和数据占用比例分别得到对应控制程序的负载;基于所有控制程序的负载得到控制器内运行的所有控制程序的负载平均值;基于第一控制程序的负载和负载平均值得到第一控制程序的负载均衡。
8.进一步的,所述基于控制程序的固有参数和运行参数得到相位负载均衡,具体包括:基于控制器内运行的所有程序的运行参数和固有参数分别得到对应每个相位的所有程序负载加总;基于得到的每个相位的所有程序负载加总得到所有相位负载平均值;基于第一相位的程序负载加总和相位负载平均值得到第一相位负载均衡。
9.进一步的,所述基于程序负载均衡和相位负载均衡检测控制器负载均衡,具体包括:若第一控制程序的负载均衡大于等于程序负载标准差的k1倍,则第一控制程序的负载不合理,否则第一控制程序的负载合理,其中,k1为预设常数;若第一相位负载均衡大于等于相位负载标准差的k2倍,则第一相位的负载不合理,否则第一相位负载合理,其中,k2为
预设常数。
10.本发明的有益效果是:
11.1、采用统一的标准通过计算得到程序间和相位间的均衡合理性,评估控制器的负载均衡状态;
12.2、采用预定的控制程序参数即可快速计算得到负载均衡。
附图说明
13.图1为本发明实施例的工业控制系统的控制器负载均衡检测方法的流程图;
14.图2为本发明实施例的控制1的程序1的在10个相位中的运行分布示意图;
15.图3为对应图2所示的控制器1的固有参数和运行参数示意图。
具体实施方式
16.在描述本发明的一种基于低代码应用开发的组态数据处理方法之前,首先对一些专有名词进行解释:
17.生产设备:能够完成一个指定生产工艺(例如炼化、化工等)的一整套设备。
18.工业控制系统:基于计算机技术、通信技术以及控制技术实现的一套控制系统,能够实现对生产设备信号数据的采集,控制逻辑的运算,以及再通过信号对生产设备进行控制的功能。
19.装置:能够完成一个指定生产工艺(例如炼化、化工等)的一整套生产设备以及配套的工业控制系统,统称为一套装置。
20.组态数据:控制系统为了实现对生产设备的数据采集和控制,需要预设对生产设备的模拟数据,编写控制逻辑程序,等预先设置好的数据,这些数据被称为组态数据。
21.控制程序:用于控制系统内部定义控制逻辑的一种方式,可以通过图形的方式定义控制逻辑,控制系统可以将这些对应的逻辑进行运算并做进一步的处理。
22.代码区:控制器为了运行控制程序,会在控制器中使用硬件存储单元存储已经编写好的控制程序的代码,通常控制程序代码会存放在此区域。
23.数据区:控制器为了运行控制程序,会在控制器中使用硬件存储单元存储已经预设的控制程序的数据参数,以及运行时需要的数据空间,通常控制程序数据会存放在此区域。
24.为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。
25.本发明提出的一种工业控制系统的控制器负载均衡检测方法,应用于工业控制系统中,工业控制系统中包括若干控制器,任一控制器内运行若干控制程序,控制器负载均衡检测方法如图1所示,具体包括:收集控制程序的固有参数,以及,基于控制器的控制周期,收集控制程序的运行参数;基于控制程序的固有参数得到程序负载均衡,以及,基于控制程序的固有参数和运行参数得到相位负载均衡;基于程序负载均衡和相位负载均衡检测控制器负载均衡。
26.下面图2所示的控制器1为例,对本发明的工业控制系统的控制器负载均衡检测方法进行说明。本发明提出的控制器的负载均衡检测方法,主要是针对控制器的一个控制周
期内的负载是否均衡进行评估,如果多个相位之间的负载不均衡可能会给控制器的运行带来一定的隐患。
27.s1,收集控制程序的固有参数,以及,基于控制器的控制周期,收集控制程序的运行参数。
28.如图2所示,控制器1内运行3个程序,分别为程序1,程序2,程序3。
29.3个程序的固有参数,即代码占用比例和数据占用比例分别如图2所示,程序1对应的代码占用比例为12%,数据区占用比例为98%。程序2对应的代码占用比例为23%,数据占用比例为11%。程序3对应的代码占用比例为11%,数据区占用比例为88%。
30.在一些实施方式中,数据占用比例和代码占用比例在进行程序编译的过程即可得到,因此作为固定参数应用本发明的控制器负载均衡检测方法中。
31.在本发明的一个实施例中,以控制器的控制周期为1s为例,并按照预设的100ms一个相位将一个控制周期分为10个相位,然后按照每秒十个相位进行周期性运行。如图2所示,分别得到每个程序对应的相位0-相位9的占用情况。从而评估一个控制周期内部的各相位之间的负载是否均衡。
32.在一些实施方式中,如图3所示,每个程序进行周期性运行得到运行参数可以是如图所示的二进制码的形式,以程序1为例,对应得到的的运行参数为如图3所示的1001001001,分别对应图2所示的相位9-相位0的程序1的占用情况。
33.s2,基于控制程序的固有参数得到程序负载均衡,以及,基于控制程序的固有参数和运行参数得到相位负载均衡。
34.在本发明的一个实施例中,主要基于公式(1)-公式(2)对程序负载均衡进行计算。公式(1)和公式(2)如下所示。
35.ln=cn dn
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
36.balance(n)=|ln-avg(ln)|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
37.其中,n为控制器1内运行的控制程序的数量,cn为控制程序n的代码占用比例,dn为程序n的数据占用比例,n≤n,ln为控制程序n的负载,balance(n)为程序n的负载均衡,avg(ln)为所有程序负载的平均值。
38.如图3所示c1=12%,d1=98%,c2=23%,d2=11%,c3=11%,d3=88%。
39.根据公式(1)可以分别得到程序1的负载l1=c1 d1=110%,程序2的负载l2=c2 d2=34%;程序3的负载l3=c3 d3=99%。
40.因此所有程序负载的平均值因此,将ln和avg(ln)的值带入到公式(2)中,可以分别得到程序1、程序2和程序3的负载均衡分别为balance(1)=|l1-avg(ln)|=|110%-81%|=29%;balance(2)=|l2-avg(ln)|=|34%-81%|=47%;balance(3)=|l3-avg(ln)|=|99%-81%|=18%。
41.对程序1-3的负载均衡计算完毕,则进行相位的负载均衡计算。
42.在本发明的一个实施例中,主要是根据公式(3)和公式(4)进行相位间负载均衡计算。
43.l(phase)m=sum(cn dn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
44.balance(m)=|l(phase)m-avg(l(phase)m)|
ꢀꢀꢀꢀꢀꢀꢀ
(4)
45.其中,l(phase)m为相位m的所有程序的负载加总,avg(l(phase)m)为所有相位负载的平均值,balance(m)为相位m的负载均衡。
46.因据公式(3)以及运行参数和固有参数,分别得到相位0-9的所有程序的负载总和。
47.如图3所示,对于相位0,程序1占用,程序2不占用,程序3占用,可以求得相位0的负载总和l(phase)0=sum(c1 d1 c3 d3)=l1 l3=110% 99%=209%。同理,如图3所示,只有程序2占用了相位1,那么相位1的负载总和l(phase)1=sum(c2 d2)=34%,依次计算得到相位2-相位9的负载总和分别为0,209%,0,34%,209%,0,0,243%。因此,求得所有相位负载的平均值avg(l(phase)m)=93.8%,所有相位负载的标准差约等于σ(l(phase)m)=1.02。
48.因此根据公式(4),得到相位0的负载均衡值,balance(0)=|l(phase)0-avg(l(phase)m)|=|209%-93.8%|=115.2%,同理,分别得到相位1-9的相位负载均衡值为59.8%,93.8%,115.2%,93.8%,59.8%,115.2%,93.8%,93.8%,149.2%。
49.s3,基于控制程序的固有参数和运行参数得到相位负载均衡。
50.将计算得到每个程序的负载均衡值和所有程序负载标准差的k1倍进行比较,如果程序的负载均衡值超过了标准差的k1倍,则认为此程序负载较低或较高,建议调整。
51.在本发明的一个实施例中,基于经验值将k1值预设置为3。所有程序的负载标准差经计算得到约等为0.34,则对于程序1的负载均衡0.29来说,小于3倍的0.34,则程序1负载合理。同理,程序2和程序3的负载均衡也合理。
52.σ(l(phase)m)为所有相位负载的标准差。即一个相位的负载取决于相位负载与相位负载平均值之差的绝对值。
53.将计算得到的每个相位负载均衡值和相位负载标准差的k2倍进行比较,其中,k2是根据经验数据预设的参数。一个相位的负载是否合理取决于相位负载与相位负载平均值之差的绝对值是否超过了标准差的k2倍。如果超过k2倍则认为此相位负载较低或者较高,建议调整。
54.对图3所示的相位0-相位9的相位负载均衡值和标准差的k2倍进行比较,在本发明的一个实施例中,k2取3。则相位0的负载均衡1.152小于3倍的σ(l(phase)m),即小于3倍的1.02,因此相位0负载均衡。同理,评估程序1的相位1-相位9的负载是否均衡,可以得到,相位1-相位9的负载均均衡。
55.需要说明的是,其他应用场景可以根据实际情况和经验值对k1和k2值进行调整。
56.采用上述负载均衡检测方法进行计算评估程序均衡和相位负载均衡,简单易实现,并且具有通用性,适用于所有控制器。
57.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
58.以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述做出许多变化和改进,这些变化和改进应该属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献