Exemple #1
0
 private static async Task WriteDataForTimeStreamAsync(IQiDataService data, List <AFValue> afValues, string streamId)
 {
     var dataList = afValues.Select(val => new PIQiTypes.TimeData()
     {
         Timestamp = val.Timestamp,
         Value     = (DateTime)val.Value
     }).ToList();
     await data.UpdateValuesAsync(streamId, dataList);
 }
Exemple #2
0
        private static async Task WriteDataForIntegerStreamAsync(IQiDataService data, List <AFValue> afValues, string streamId)
        {
            var dataList = new List <PIQiTypes.IntegerData>();

            dataList.AddRange(afValues.Select(val => new PIQiTypes.IntegerData()
            {
                Timestamp = val.Timestamp,
                Value     = val.ValueAsInt32()
            }));
            await data.UpdateValuesAsync(streamId, dataList);
        }
Exemple #3
0
        private static async Task WriteDataToOcsAsync(PIPoint piPoint, List <AFValue> afValues, IQiDataService data)
        {
            var streamId = GetStreamId(piPoint);

            switch (PIQiTypes.GetDataType(piPoint.PointType))
            {
            case StreamDataType.Integer:
                await WriteDataForIntegerStreamAsync(data, afValues, streamId);

                break;

            case StreamDataType.Float:
                await WriteDataForFloatStreamAsync(data, afValues, streamId);

                break;

            case StreamDataType.String:
                await WriteDataForStringStreamAsync(data, afValues, streamId);

                break;

            case StreamDataType.Blob:
                await WriteDataForBlobStreamAsync(data, afValues, streamId);

                break;

            case StreamDataType.Time:
                await WriteDataForTimeStreamAsync(data, afValues, streamId);

                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            Console.WriteLine(
                $"Writing data for point: {piPoint.Name} to stream {streamId} ({afValues.Count} values written.)");
        }