This example shows a Calculator feeding a PeriodicSummary component.
periodicSummary.yml
Options:
PeriodMs: 1000
File: summary.csv
TimeFormat: ""
SummaryPeriod: Minute
Signals:
- { Type: CommonVesselInfo, Topic: CommonVesselInfo, Partition: "", Fields: ["Machinery.auxElProd", "Propulsion.rpm"], Operations: [Average, Sum]}
- { Type: FloatVal, Topic: float, Partition: "", Fields: ["val"], Operations: [Average]}
calc_measurements.yml
Options:
PeriodMs: 1000
Constants:
InputSignals:
OutputSignals:
- { Type: CommonVesselInfo, Topic: CommonVesselInfo, Partition: }
- { Type: FloatVal, Topic: float, Partition: }
TempValues:
- time
- variance
- modus
Expressions:
- time = time + 1
- variance = sin(time*6.28/120)
- modus = 0 + (variance > 0 )
- CommonVesselInfo.Machinery.auxElProd = 300 * (modus +1)
- CommonVesselInfo.Machinery.auxLoad_kW = 300 * (modus +1)
- CommonVesselInfo.Machinery.meCons = 400 * (modus +1)
- CommonVesselInfo.Machinery.meLoad_kW = 2000 * (modus +1)
- CommonVesselInfo.Machinery.meRpm = 600 * (modus +1)
- CommonVesselInfo.Machinery.sumCons = 520 * (modus +1)
- CommonVesselInfo.Machinery.sumElProd = 300 * (modus +1)
- CommonVesselInfo.Machinery.sumLoad_kW = 2300 * (modus +1)
- CommonVesselInfo.Machinery.ptiPower = 200
- CommonVesselInfo.Machinery.ptoPower = 0 * (modus +1)
- CommonVesselInfo.Machinery.sfc = 0.2 * (modus +1)
- CommonVesselInfo.Propulsion.efficiency = 0.5 * (modus +1)
- CommonVesselInfo.Propulsion.pitchPd = 0.9 * (modus +1)
- CommonVesselInfo.Propulsion.pitchPercent = 70 * (modus +1)
- CommonVesselInfo.Propulsion.rpm = 140 * (modus +1)
- CommonVesselInfo.Propulsion.thrust = 200 * (modus +1)
- CommonVesselInfo.Propulsion.torque = 20 * (modus +1)
- CommonVesselInfo.Propulsion.speed = 3 * (modus +1)
- CommonVesselInfo.Propulsion.powerToPropellerJet = 2000 * (modus +1)
- CommonVesselInfo.Propulsion.power = 2000 * (modus +1)
- CommonVesselInfo.nfc = 0.44 * (modus +1)
- CommonVesselInfo.Machinery.auxCons = 120 * (modus +1)
- float = variance