Appearance
3.1:异常事件自动归档至数据库
场景:设备发生故障时,自动记录详细事件信息到数据库以备查询分析。
运算:当设备故障信号 == 1时,向EventLog表插入一条记录,字段包括:时间戳,设备ID,故障代码,当前压力,当前温度,操作员ID。
目的:建立完整的设备故障历史档案,便于进行可靠性分析、责任追溯和维护计划制定。
javascript
const {getVariant,executeSql,exePgSqlR,exePgSqlCUD,exeSqliteSqlR,exeSqliteSqlCUD,getCurrentOrLastValue,setVariantValue,watch,watchAlarm,table,executeDataSourceSql,sendWxTextMessage,sendWxMessage,sendDingTextMessage,sendDingMessage,alarm } = require("GlobalConfig");//头文件请勿删除
const {getFormulaGroupList,getFormulaList,delFormula,getLastDownFormula,addFormula,editFormula,downloadFormula} = require("FormulaApi");//头文件请勿删除
// 设备发生故障时,自动记录详细事件信息到数据库以备查询分析。
// 需要监听的变量
const watchKeys = ["设备故障信号"]
/**
* 监听变量的值变化事件
* @param {Array} names 变量名数组
* @param {Function} callback 回调函数
*/
watch(watchKeys, (name, value) => {
if(`设备故障信号`.value == 1){
// EventLog表插入记录
table('EventLog')
.insert([{
time:new Date().getTime(),
deviceId: `设备id`.value ,
code: `故障代码`.value ,
pressure: `当前压力`.value ,
temperature: `当前温度`.value ,
useId:`操作员id`.value ,
}])
.execute((result) => {
if (result.success) {
console.log('插入成功')
}
})
}
});3.2:班次KPI自动保存
场景:每个生产班次结束时,自动汇总本班次关键绩效数据并保存。
运算:当ShiftChange信号从0变为1时,触发将变量本班产量、本班耗电量、本班合格数写入ShiftReport表的对应字段中。
目的:实现生产数据的自动化、无差错记录,为生产管理和绩效考核提供实时准确的数据基础。
javascript
const {getVariant,executeSql,exePgSqlR,exePgSqlCUD,exeSqliteSqlR,exeSqliteSqlCUD,getCurrentOrLastValue,setVariantValue,watch,watchAlarm,table,executeDataSourceSql,sendWxTextMessage,sendWxMessage,sendDingTextMessage,sendDingMessage,alarm } = require("GlobalConfig");//头文件请勿删除
const {getFormulaGroupList,getFormulaList,delFormula,getLastDownFormula,addFormula,editFormula,downloadFormula} = require("FormulaApi");//头文件请勿删除
// 设备发生故障时,自动记录详细事件信息到数据库以备查询分析。
// 需要监听的变量
const watchKeys = ["ShiftChange"]
/**
* 监听变量的值变化事件
* @param {Array} names 变量名数组
* @param {Function} callback 回调函数
*/
watch(watchKeys, (name, value) => {
if(`ShiftChange`.value == 1){
// ShiftReport表插入记录
table('ShiftReport')
.insert([{
production: `本班产量`.value ,
consume: `本班耗电量`.value ,
qualified: `本班合格数`.value
}])
.execute((result) => {
if (result.success) {
console.log('插入成功')
}
})
}
});