public override void Map(IDictionary <MeasurementKey, IMeasurement> measurements) { m_index = 0; SignalLookup.UpdateMeasurementLookup(measurements); TypeMapping inputMapping = MappingCompiler.GetTypeMapping(InputMapping); Real_Time_Calculator.Model.VT.VI_pair input = CreateVTVI_pair(inputMapping); Real_Time_Calculator.Model.VT.Line_parameters output = Algorithm.Execute(input); // TODO: Later versions will publish output to the openECA server }
private Real_Time_Calculator.Model.VT.VI_pair CreateVTVI_pair(TypeMapping typeMapping) { Dictionary <string, FieldMapping> fieldLookup = typeMapping.FieldMappings.ToDictionary(fieldMapping => fieldMapping.Field.Identifier); Real_Time_Calculator.Model.VT.VI_pair obj = new Real_Time_Calculator.Model.VT.VI_pair(); obj.From_bus_Voltage_Mag = (double)SignalLookup.GetMeasurement(Keys[m_index++][0]).Value; obj.From_bus_Voltage_Ang = (double)SignalLookup.GetMeasurement(Keys[m_index++][0]).Value; obj.From_bus_Current_Mag = (double)SignalLookup.GetMeasurement(Keys[m_index++][0]).Value; obj.From_bus_Current_Ang = (double)SignalLookup.GetMeasurement(Keys[m_index++][0]).Value; obj.To_bus_Voltage_Mag = (double)SignalLookup.GetMeasurement(Keys[m_index++][0]).Value; obj.To_bus_Voltage_Ang = (double)SignalLookup.GetMeasurement(Keys[m_index++][0]).Value; obj.To_bus_Current_Mag = (double)SignalLookup.GetMeasurement(Keys[m_index++][0]).Value; obj.To_bus_Current_Ang = (double)SignalLookup.GetMeasurement(Keys[m_index++][0]).Value; return(obj); }