MongoDB Schema (scada_AlarmLog)
Column Name | Type | Description | Index | Notes |
---|---|---|---|---|
a | Number | alarm Id | Y | |
s | String | scada Id | Y | |
d | String | device Id | Y | |
t | String | tag Name | Y | |
v | Object | alarm value | default: null | |
ts | Date | trigger or clear time | default: null | |
ack | Date | ack time | default: null | |
clear | Date | clear time | default: null |
AlarmLog Object
Column Name | Type |
---|---|
alarmId | Number |
scadaId | String |
deviceId | String |
tagName | Strin |
value | Object |
ts | Date |
ackTs | Date |
clearTs | Date |
Method (alarmLogHelper.js)
getAlarmLog
- Purpose: get alarm's status
- Input:
Name | Data Type | Description |
---|---|---|
params | Object | filter Object |
params.alarmId | Number | filter alarmId (totally compare) |
params.scadaId | String | filter scadaId(totally compare) |
params.startTs | Date | filter alarm ts |
params.endTs | Date | filter alarm ts. Default: new Date() |
params.count | Number | retrieve log count |
params.order | Boolean | data order by ts |
- Output:
- Array of AlarmStatus Object
- Logical description:
- filter = { a: alarmId, s: scadaId, d: deviceId, t: tagName, ts: {$gte: startTs, $lte: endTs}, }
- sort = { ts: order }
- limit = { limit: count }
- Organize the output format = { alarmId: $a, scadaId: $s, deviceId: $d, tagName: $t, value: $v, ackTs: $ack, clearTs: $clear, ts: $ts }
insertTriggerAlarmLog
- Purpose: insert alarm trigger logs
- Input:
Name | Data Type | Description |
---|---|---|
records | Array | array of record |
record.alarmId | Number | alarm Id |
record.scadaId | String | scada Id |
record.deviceId | String | device Id |
record.tagName | String | tag Name |
record.ts | Date | alarm trigger time. default: new Date() |
record.value | Object | tag value |
- Logical description:
- doc = { a: alarmId, s: scadaId, d: deviceId, t: tagName, ts: ts, v: value }
- insertMany(docs)
insertAckAlarmLog
- Purpose: record ack record time
- Input:
Name | Data Type | Description |
---|---|---|
alarmId | Number | alarm Id |
scadaId | String | scada Id |
deviceId | String | device Id |
tagName | String | tag Name |
ts | Date | default: new Date() |
- Output:
- if document udated or not.
- Logical description:
- filter = { a: alarmId, s: scadaId, d: deviceId, t: tagName }
- update = { ack: ts }
- _updateLastAlarmLog(filter, update)
insertClearAlarmLog
- Purpose: record clear record time
- Input:
Name | Data Type | Description |
---|---|---|
alarmId | Number | alarm Id |
scadaId | String | scada Id |
deviceId | String | device Id |
tagName | String | tag Name |
ts | Date | default: new Date() |
- Output:
- if document udated or not.
- Logical description:
- filter = { a: alarmId, s: scadaId, d: deviceId, t: tagName }
- update = { clear: ts }
- _updateLastAlarmLog(filter, update)
deleteAlarmLog
- Purpose: delete alarm log
- Input:
Name | Data Type | Description |
---|---|---|
alarmId | Number | alarm Id |
scadaId | String | scada Id |
deviceId | String | device Id |
tagName | String | tag Name |
- Logical description:
- filter = { a: alarmId, s: scadaId, d: deviceId, t: tagName }
- _deleteAlarmLog(filter)
deleteAlarmLogByAlarmId
- Purpose: delete alarm log by alarmId
- Input:
Name | Data Type | Description |
---|---|---|
alarmId | Number | alarm Id |
- Logical description:
- filter = { a: alarmId }
- _deleteAlarmLog(filter)
deleteAlarmLogByScadaId
- Purpose: delete alarm log by scadaId
- Input:
Name | Data Type | Description |
---|---|---|
scadaId | String | scada Id |
- Logical description:
- filter = { s: scadaId }
- _deleteAlarmLog(filter)
_updateLastAlarmLog
- Purpose: update alarm log
- Input:
Name | Data Type | Description |
---|---|---|
filter | Object | filter |
update | Object | update object |
- Logical description:
- findOneAndUpdate({rawResult: true})
_deleteAlarmLog
- Purpose: delete alarm log with filter
- Input:
Name | Data Type | Description |
---|---|---|
filter | Object | filter object |
- Logical description:
- remove(filter)