Version: 4.0.0
分析扩展开发
注意
作业组必须经过执行活动,否则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编辑和测试
IDGUID字符串,KPI唯一标识,自行生成;Port端口号,服务运行在本地的端口号DimsKPI可用维度集合,数组类型Name维度名,可选:时间、组织单元、人员、例外等级、资产、作业组、班次、业务范畴、资产类别From维度来源描述,对象类型Type来源类型,0表示默认来源,1表示来自作业组属性Name作业组属性名,Type值等于1时,此项才有效
TaskGroupIDs需要抽取作业组模板的ID集合,字符串类型,英文,隔开TableName抽取结果存放进数据库的表名Etl抽取规则,数组类型Type抽取目录类型,0表示作业项值,1表示作业组属性值,2表示作业状态Description抽取目标描述,对象类型ID作业项/作业组/作业状态的模板IDName作业组属性名,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.sql,package.json
createTable.sql创建抽取表sql语句,在对应数据库内执行此语句package.jsonEOC平台使用的扩展文件,上传前需将其打包成zip格式
运行
- 顶层目录安装依赖命令:
npm install, - 运行命令:
node app.js