本发明属于plc通道健康状态预估,特别涉及一种基于门控神经网络模型的plc通道健康状态预估算法。
背景技术:
1、近年来,随着社会的发展,plc可编程序控制器在工业生产中得到了广泛的使用,同时技术人员对其使用要求也在逐年增高,因此对系统正常稳定运行要求也越来越高。可编程操控器(plc)是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过开关量或模拟量的输入和输出,控制各种类型的机械或生产过程。但是由于工业现场环境比较复杂,plc在输入输出数据的过程中可能会遭遇通道故障问题,从而导致收发异常。同时维护plc传输通道健康,缩短响应时间并保证传输准确率也是仪表设备维护的重点之一。
2、当前水电站监控系统对于plc通道的监控采用4-20ma的电流进行数据传送,对于通道故障的判断条件为电流值越上限或下限,即上送上位机的电流值小于4ma或大于20ma时,上位机显示通道故障。
3、现阶段遇到的问题包括以下几种:
4、1)只在通信道路彻底断开时才能显示通道故障,无法识别通道的细小破损;
5、2)无法对通道老化后对通信带来的偏差与延迟进行判断;
6、3)无法监测plc健康状态,无法识别plc内部模件老化与处理延迟;
7、4)对于通道故障无法判别出具体的故障点位置,需依次检查整条通道,浪费人力物力。
技术实现思路
1、本发明所要解决的技术问题是提供一种基于门控神经网络模型的plc通道健康状态预估算法,本发明专利对plc通道进行检测,以健康值形式反馈通道质量,对通道质量做出了趋势化分析,对不合格通道做出了规避与预防,并能够对健康值不合格的通道进行分段分析,给出合理化建议,从而缩小消缺过程的检查范围,节省人力物力。
2、为解决上述技术问题,本发明所采用的技术方案是:
3、一种基于门控神经网络模型的plc通道健康状态预估算法,步骤为:
4、1、进行传输时间预测:
5、步骤(1)、构建模型:首先将plc响应时间作为mpnn模型的目标值以进行比对;其次确定可能影响plc响应时间的影响因素作为特征值;最后统计plc通道中的主要元器件,用于构建拓扑模型;
6、步骤(2)、进行清洗数据;
7、步骤(3)、将拼接点特征值及边特征值作为特征向量,进行多次迭代聚合相邻节点信息并更新自身节点信息,通过消息传递和聚合的过程,不断更新每个节点的表示,并汇聚到整个图的表示中;所述的整个图即构建的模型形成的每一条plc支路所表示的所有有向图的聚合。
8、步骤(4)、使用readout操作来将所有节点的图特征向量的表示合并为一个全局的表示;readout函数是(图神经网络/图卷积神经网络/图表示学习/图分类)中的术语。在图表示学习中,模型通常会得到图的节点表示,这些是上游基础。而在像图分类这样的下游应用中,我们通常需要一个整图的特征表示,而不仅仅是图中所有节点的特征表示。此时readout函数通过聚合节点特征的方式来得到整图的特征表示。 readout可以通过对图中所有节点求和、求均值等操作,将得到的值作为图的输出。
9、步骤(5)、将所得向量输入全连接层作为时间回归任务的输出;
10、步骤(6)、将全连接层的输出与真实时间使用均方误差损失函数计算损失,并使用adam优化器进行优化;
11、步骤(7)、进行模型评估并修改;
12、2、进行传输准确率测算;
13、3、进行通道健康值计算及故障点预测。
14、优选地,步骤(1)中,主要元器件包括以下几种:
15、a)继电器、接触器;
16、b)开关、极限位置、安全保护和现场操作的元件或设备;
17、c)plc系统中的子设备,子设备包括接线盒、线端子、螺栓螺母;
18、d)传感器和仪表;
19、基于不同的元器件对plc信号处理与传输时间不同,将其分类并标号,细分不同型号的元器件。
20、优选地,步骤(1)中,构建模型时,考虑影响信号传输性能的因素主要包括温度、周围磁场强度、传输介质材质及长度;因此构建模型如下:
21、将plc信号传输的每一个分支表示成一个有向图g=(v, e),每个节点表示一个元器件,节点之间的边表示元器件之间的连接关系;
22、点特征值有元器件标号、元器件所在控制柜环境温度以及元器件周围是否有强磁场,1表示有,0表示没有;
23、边特征值有元器件间连接材质。
24、优选地,步骤(2)清洗数据过程为:收集质量正常plc通道拓扑及传输时间,构建数据集;plc采用ntp对时方式,传输时间利用接收时间点减去发送时间点得出。
25、优选地,步骤(3)中,拼接点特征值及边特征值作为特征向量,使用公式(2.1)、公式(2.2)公式(2.3)进行多次迭代聚合相邻节点信息并更新自身节点信息,通过消息传递和聚合的过程,不断更新每个节点的表示,并汇聚到整个图的表示中:
26、(2.1);
27、(2.2);
28、(2.3);
29、其中,r为迭代后的可用特征值,i、j为自定义的更新函数,用于处理和更新节点状态,为自定义读出函数,用来提取整张图的表示;为t次迭代后的节点v的特征值,为其相邻节点w的特征值,为两节点之间的边的特征值,通过其设计的函数进行聚合,得出更新后的自身节点v的特征值,随后再用函数与未迭代的自身做聚合,得出新的节点特征值,每一个节点都会与自身相邻的两个节点做一次聚合,称为一次迭代;通过与自身相邻节点和边做交互来更新自身的特征值;最后使用公式(2.3)将自身与之前的迭代结果做向量乘法,得出最后的可用特征值;
30、将所有边特征值进行归一化处理,将所有特征缩放到相同的值域范围内;此外,在使用梯度下降算法进行优化时,归一化处理可以加快算法的收敛速度,从而更快地达到最优解;采用公式(2.4)进行归一化处理:
31、(2.4);
32、其中x为原始数据,为数据最小值,为数据最大值。
33、优选地,步骤(4)中, readout操作将所有节点的表示聚合起来,生成一个128维的全局向量;这个向量被输入到一个全连接层中,用于输出时间预测结果。
34、优选地,步骤(5)将所得向量输入全连接层作为时间回归任务的输出:在训练期间,为了防止神经网络过拟合并提高泛化能力;设置了dropout操作;dropout会随机选择一些神经元,并将它们的输出设置为0,从而使这些神经元在这一轮的前向传递和反向传播中被忽略;对于每一层神经网络,在前向传递期间,dropout将以概率p随机选择一些神经元,并将其输出设置为0,从而使这些神经元的输出在后续层中被忽略;在反向传播期间,dropout也会将相应的神经元的梯度设置为0,从而使这些神经元对损失函数的贡献被忽略。
35、所述dropout表示为:当训练一个深度神经网络时,我们可以随机丢弃一部分神经元(同时丢弃其对应的连接边)来避免过拟合,这种方法就称为 dropout (丢弃法)。 每次选择丢弃的 神经元 是随机的.最简单的方法是设置一个固定的概率 p进行丢弃。在训练神经网络模型的时候,常常会使用dropout来使得模型具有更好的泛化性,并防止过拟合。而dropout的实质则是以一定概率使得输入网络的数据某些维度上变为0,这样可以使得模型训练更加有效。
36、使用公式(2.5)的激活函数relu将输入的向量保留特征并映射到输出端,得到输出的时间预测结果:
37、(2.5)。
38、优选地,步骤(7)中,进行模型评估并修改包括超参数的修改、数据的筛选、模型及代码的改进与优化。
39、优选地,传输准确率测算方法为:发送方plc随机发出若干数据帧,并置奇偶校验位,接收方plc采用奇偶效验的方式,验证数据传输的准确性,并向发送方返回确认帧;根据确认帧与发送帧的比率测算出传输准确率。
40、优选地,通道健康值计算及故障点预测方法为:对于通道健康值的计算,使用加权平均的方式动态调节传输时间偏差与传输准确率占比权重:
41、(2.6);
42、其中,为通道健康值,a、b分别为加权系数且a+b=1,为传输准确率,t为预测传输时间,为实际传输时间;
43、对于健康值低于0.6或传输准确率低于0.8的plc通道,给出plc通道健康状况差提示,并对比每一段通道的传输时间预测值标签与真实传输时间,对误差较大的通道段做出标记,给出优先检查建议;如传输时间与预测时间接近,则可以初步推断plc内部模件老化,处理命令速度变慢。
44、本发明可达到以下有益效果:
45、本发明专利对plc通道进行检测,以健康值形式反馈通道质量,对通道质量做出了趋势化分析,颠覆了传统的“先出问题后检查”的通道检修模式,对不合格通道做出了规避与预防,并能够对健康值不合格的通道进行分段分析,给出合理化建议,从而缩小消缺过程的检查范围,节省人力物力。