private static void WriteData(Session session, Parameter parameter, ParameterDataAccessBase pdaNewParameter, ParameterValues samples) { // add data to new created parameter for (var j = samples.SampleCount - 1; j >= 0; j--) { var newTimestamp = samples.Timestamp[j]; var newValue = samples.Data[j] + 10; session.AddChannelData( parameter.ChannelIds.FirstOrDefault(), newTimestamp, 1, //value of 1 param BitConverter.GetBytes(newValue)); Console.WriteLine($"Written sample. Timestamp: {newTimestamp.ToTimeString()} Value:{newValue}"); } // read data back to verify the data added pdaNewParameter.GoTo(session.EndTime); var samplesNewParameter = pdaNewParameter.GetNextSamples(10, StepDirection.Reverse); for (var j = 0; j < samplesNewParameter.SampleCount; j++) { Console.WriteLine($"{parameter.Identifier} {samplesNewParameter.Timestamp[j].ToTimeString()} {samplesNewParameter.Data[j]}"); } }
private static ParameterValues ReadData(Session session, ParameterDataAccessBase pda) { // read vCar data pda.GoTo(session.EndTime); var samples = pda.GetNextSamples(10, StepDirection.Reverse); Console.WriteLine("** Samples **"); for (var j = 0; j < samples.SampleCount; j++) { Console.WriteLine($"vCar:Chassis {samples.Timestamp[j].ToTimeString()} {samples.Data[j]}"); } return(samples); }
/// <summary> /// /// </summary> /// <param name="executionContext"></param> public void Execute(IExecutionContext executionContext) { var timestamps = executionContext.FunctionInput.Timestamps; var timestampsCount = timestamps.Length; var index = executionContext.FunctionOutput.OutputParameterIndexes[ParameterIdentifier]; var parameterOutput = executionContext.FunctionOutput.OutputParametersValues[index]; var input = executionContext.FunctionInput.Values[index]; if (parameterDataAccess == null) { this.parameterDataAccess = executionContext.Session.CreateParameterDataAccess("vCar:Chassis"); } var count = parameterDataAccess.GetSamplesCount(timestamps.FirstOrDefault(), timestamps.LastOrDefault()); for (int i = 0; i < timestampsCount; i++) { parameterOutput[i] = count; } }