Skip to content

Master951230/PumpDiagnosticsSystem

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

概念

注意点

  • 规定所有的GUID都使用全大写,所有组件包括机泵、传感器等

间接属性

是属于部件本身的属性,所谓间接,是指需要通过变量来绑定到一个信号量,从而获取参数值。

例如压力传感器的压力值,直接绑定到一个信号量就可以啦。

引用属性

属于其他部件的属性,所谓引用,是指引用了其他传感器或部件的间接属性的值作为自己的值。

例如我要获取电机的温度,可是有3个温度传感器,怎么对应呢?
很简单,组件库中有个属性叫传感器位置Position),传感器在定义时就会按信号量名称设置自己的位置,引用属性寻找传感器时自然就找到对应位置的传感器,然后就能拿到它的信号量啦。

组件库要修改的内容

  • 引用属性表中的Position字段,写成枚举字符串的值(完成)

关于判据解析

PREV函数需要实时数据列表,来保存一定时间内的数据,但用到PREV的判据都不在振动相关的故障内,所以暂时不解析带PREV函数的判据

举个例子

判据如下(电机驱动端轴承缺损):

(SpectrumIntegration(@Spectrum_Bearing_In_Y,0.8*@Speed,1.2*@Speed,#SPECTRUMINTERVAL*60)*1.5)<SpectrumIntegration(@Spectrum_Bearing_In_Y,1.8*@Speed,2.2*@Speed,#SPECTRUMINTERVAL*60)

  • 1、替换常量(#)
    #SPECTRUMINTERVAL = 10

(SpectrumIntegration(@Spectrum_Bearing_In_Y,0.8*@Speed,1.2*@Speed,10*60)*1.5)<SpectrumIntegration(@Spectrum_Bearing_In_Y,1.8*@Speed,2.2*@Speed,10*60)

  • 2、根据实时数据替换变量(@)为具体的信号量
    @Speed = $Motor_Speed
    @Spectrum_Bearing_In_Y = $Motor_BIY_Spectrum

(SpectrumIntegration( $^Motor_BIY_Spectrum,0.8* $Motor_Speed,1.2* $Motor_Speed,10*60)*1.5)<SpectrumIntegration( $^Motor_BIY_Spectrum,1.8* $Motor_Speed,2.2* $Motor_Speed,10*60)

  • 3、此时获取采集到的信号量实时数据
    $Motor_Speed = 100
    $Motor_BIY_Spectrum = 1 [1, -1, 1, -2, 1, -3]

(SpectrumIntegration(1,0.8*100,1.2*100,10*60)*1.5)<SpectrumIntegration(1,1.8*100,2.2*100,10*60)

日志中的错误处理建议

  • 判据提示【@变量的变量值】无法解析

    • 正常原因:
      • 传感器没有值
    • 错误原因:
      • access中表PHYEF/PHYDEF_NONVIBRA中可能少了信号量的定义,或没有启用该信号量
  • 判据提示【@变量】无法解析

    • 错误原因:
      • 判据中的变量写错了
      • 间接参数表中没有定义该变量
  • 判据提示【@变量】没有变量值

    • 正常原因:
      • 实际情况下没有该变量值,如:泰和-电机-@Spectrum_Bearing_In_Z没有变量值,那意思就是泰和电机本来就没有轴承轴向的测点。

通过的判据的存储方式

  • 需要加入报警过滤功能,对连续通过的判据进行报警,少于指定次数(如只发生一次)的不报警,次数应该在判据模板中设定
  • 每种故障一天只报警一次,或可以设置一天最多报几次
    • 同一种故障判断:故障模式相同,组件代号相同,则认为是同一种故障

版本说明

#20170904_V1

  1. 判据解析
  2. 故障项报警
  3. 判据严重度分档

#20170926_V2:

  1. 加了好多东西, 一些很细的逻辑, 不一一说明了

数据流向和过程:

  1. 根据泵找到所有传感器, 基本上分振动/非振动/单独的一个转速
  2. 构建实时数据RtData, 其中会设置信号量与RedisKeyMap的对应关系
  3. 读取实时数据, 把pumpSystem对象中有绑定的信号量全部替换成实时数据

轴承数组排序:

从左到右依次为:

0 - 水泵非驱动端
1 - 水泵驱动端
2 - 电机驱动端
3 - 电机非驱动端

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%