@operato/twin-kernel 0.7.6 → 0.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contract.d.ts +8 -0
- package/dist/ems-kernel.js +3 -0
- package/dist/flow-engine.js +1 -1
- package/dist-cjs/index.cjs +2 -1
- package/package.json +1 -1
package/dist/contract.d.ts
CHANGED
|
@@ -854,6 +854,14 @@ export interface EquipmentState extends EffectivePeriod {
|
|
|
854
854
|
minKW?: number;
|
|
855
855
|
/** switching — 개폐 위치(IEC 61850 `Pos`). 과도·불량을 열림/닫힘으로 반올림하지 않는다. */
|
|
856
856
|
position?: 'open' | 'closed' | 'intermediate' | 'bad';
|
|
857
|
+
/**
|
|
858
|
+
* 위 값들을 **언제 들었나** — 값과 함께 다녀야 하는 사실.
|
|
859
|
+
*
|
|
860
|
+
* 에너지에서 가장 위험한 화면은 멈춘 값을 지금 값처럼 보여 주는 것이다. 통신이 끊긴 설비는 마지막
|
|
861
|
+
* 상태를 그대로 들고 있고, 시각이 없으면 화면은 그것을 「지금」으로 그린다. 값만 적고 시각을
|
|
862
|
+
* 버리면 그 판단을 아무도 할 수 없다.
|
|
863
|
+
*/
|
|
864
|
+
measuredAt?: ISOTime;
|
|
857
865
|
/**
|
|
858
866
|
* 유효 기간 밖이라 이 시각의 모델에 없다 — **네 번째 이유**(§Effectivity).
|
|
859
867
|
* 도입 예정(`not-yet`)과 폐기(`expired`)를 구별한다. 유효하면 값이 없다.
|
package/dist/ems-kernel.js
CHANGED
|
@@ -212,6 +212,9 @@ export class EmsKernel extends FlowEngine {
|
|
|
212
212
|
put('curtailable');
|
|
213
213
|
put('minKW');
|
|
214
214
|
put('position');
|
|
215
|
+
/* **값과 함께 시각을 남긴다** — 없으면 화면이 멈춘 값을 지금 값으로 그린다(계량 지점과 같은 규율). */
|
|
216
|
+
if (d?.at)
|
|
217
|
+
eq.measuredAt = d.at;
|
|
215
218
|
this.revision++;
|
|
216
219
|
}
|
|
217
220
|
/** 우리 모델이 모르는 설비가 상태를 보내 온 횟수 — 조용히 버리지 않는다. */
|
package/dist/flow-engine.js
CHANGED
|
@@ -218,7 +218,7 @@ export function computeOee(c, nowMs) {
|
|
|
218
218
|
function energyFieldsOf(m) {
|
|
219
219
|
const out = {};
|
|
220
220
|
const src = m;
|
|
221
|
-
for (const k of ['generatedKW', 'exportKW', 'soc', 'chargeKW', 'dischargeKW', 'curtailable', 'minKW', 'position']) {
|
|
221
|
+
for (const k of ['generatedKW', 'exportKW', 'soc', 'chargeKW', 'dischargeKW', 'curtailable', 'minKW', 'position', 'measuredAt']) {
|
|
222
222
|
if (src[k] !== undefined)
|
|
223
223
|
out[k] = src[k];
|
|
224
224
|
}
|
package/dist-cjs/index.cjs
CHANGED
|
@@ -2800,7 +2800,7 @@ function computeOee(c, nowMs) {
|
|
|
2800
2800
|
function energyFieldsOf(m) {
|
|
2801
2801
|
const out = {};
|
|
2802
2802
|
const src = m;
|
|
2803
|
-
for (const k of ["generatedKW", "exportKW", "soc", "chargeKW", "dischargeKW", "curtailable", "minKW", "position"]) {
|
|
2803
|
+
for (const k of ["generatedKW", "exportKW", "soc", "chargeKW", "dischargeKW", "curtailable", "minKW", "position", "measuredAt"]) {
|
|
2804
2804
|
if (src[k] !== void 0) out[k] = src[k];
|
|
2805
2805
|
}
|
|
2806
2806
|
return out;
|
|
@@ -5810,6 +5810,7 @@ var EmsKernel = class extends FlowEngine {
|
|
|
5810
5810
|
put("curtailable");
|
|
5811
5811
|
put("minKW");
|
|
5812
5812
|
put("position");
|
|
5813
|
+
if (d?.at) eq.measuredAt = d.at;
|
|
5813
5814
|
this.revision++;
|
|
5814
5815
|
}
|
|
5815
5816
|
/** 우리 모델이 모르는 설비가 상태를 보내 온 횟수 — 조용히 버리지 않는다. */
|
package/package.json
CHANGED