Version: 4.0.2

分析扩展开发

注意

作业组必须经过执行活动,否则kpi查询无法获取数据

通用自定义KPI

下载

钉盘目录罗克韦尔自动化/公共区/ProductDisks/扩展功能/通用自定义KPI/CustomKPI.zip

目录结构

│ app.js
│ HttpHelper.js
│ imLogWriter.js
│ kpi.log
│ package.json
│ Readme.md
└─config
│ config.js
│ config.json
│ config.json的配置说明.md
│ 生成配置文件.bat
└─生成
  • app.js 程序主文件
  • HttpHelper.js 调用Restful API
  • imLogWriter.js 写日志库
  • kpi.log 日志文件
  • package.json 项目信息,包含所使用的外部库
  • Readme.md 简要使用说明
  • config 配置目录
  • config/config.js 配置程序
  • config/config.json 详细配置
  • config/config.json的配置说明.md 详细配置说明
  • 生成配置文件.bat 批处理命令,生成扩展文件
  • 生成 生成扩展文件所在目录

环境需求

  • 安装nodejs较新版本
  • SMC系统设置需要勾选启用SQL相关接口(rockwelltpm3.8.0以上)

配置config.json

建议使用vscdoe编辑和测试

  • ID GUID字符串,KPI唯一标识,自行生成;

  • Port 端口号,服务运行在本地的端口号

  • Dims KPI可用维度集合,数组类型

    • Name 维度名,可选:时间组织单元人员例外等级资产作业组班次业务范畴资产类别
    • From 维度来源描述,对象类型
      • Type 来源类型,0表示默认来源,1表示来自作业组属性
      • Name 作业组属性名,Type值等于1时,此项才有效
  • TaskGroupIDs 需要抽取作业组模板的ID集合,字符串类型,英文,隔开

  • TableName 抽取结果存放进数据库的表名

  • Etl 抽取规则,数组类型

    • Type 抽取目录类型,0表示作业项值,1表示作业组属性值,2表示作业状态
    • Description 抽取目标描述,对象类型
      • ID 作业项/作业组/作业状态的模板ID
      • Name 作业组属性名,Type值等于1时生效
      • ColName 存储表的列名
  • KPIList 子KPI列表,数组类型

    • KPIID 子KPI标识,字符串类型
    • KPIName 子KPI显示名
    • Unit 单位
    • Init 初始值
    • CalculateType 运算类型,0表示求和,1表示求比率(%),2表示求比
    • Numerator 运算公式的分子
      • ColName 存储表的列名,多项时用英文,隔开
      • Type 这些列的统计方式,0表示数值求和,1表示计数
      • IsCondition 是否对数据筛选,布尔类型
      • Operator 筛选比较符,可用=!=>>=<<=
      • Condition 筛选条件值
    • Denominator 运算公式的分母,字段与Numerator一致,运算类型是求比率或求比时生效,且此项计算值为0时当成1来处理

生成创建抽取表sql语句和扩展包

运行生成配置文件.bat,在目录生成下产生两个文件createTable.sqlpackage.json

  • createTable.sql 创建抽取表sql语句,在对应数据库内执行此语句
  • package.json EOC平台使用的扩展文件,上传前需将其打包成zip格式

运行

  • 顶层目录安装依赖命令:npm install
  • 运行命令:node app.js

配置成windows服务

nodejs程序配置成windows服务

示例

分析扩展示例

Last updated on