示例#1
0
        /// <summary>
        /// Creates the different entries contained in the raw history and modified raw history
        /// of the node historian used.
        /// </summary>
        /// <param name="historian">The <see cref="OpcNodeHistorian"/> its history
        /// entries being created.</param>
        private static void CreateHistoryEntries(OpcNodeHistorian historian)
        {
            for (int second = 0; second < 3600; second++)
            {
                var value = new OpcHistoryValue(
                    1000 + second, DateTime.UtcNow.Date.AddHours(6).AddSeconds(second));

                if ((second % 30) == 0)
                {
                    historian.ModifiedHistory.Add(value.CreateModified(
                                                      OpcHistoryModificationType.Delete, "Anonymous", value.Timestamp));
                }
                else
                {
                    historian.History.Add(value);
                }
            }
        }
        private static void CreateHistoryEntries <T>(
            SampleHistorian historian,
            Func <int, T> nextValue)
        {
            for (int second = 0; second < 60; second++)
            {
                var timestamp = DateTime.UtcNow.Date.AddHours(6).AddSeconds(second);

                var modifier = Math.Max(10, second) / 10;
                var value    = new OpcHistoryValue(nextValue(modifier), timestamp);

                if ((second % 30) == 0)
                {
                    historian.ModifiedHistory.Add(value.CreateModified(
                                                      OpcHistoryModificationType.Delete, "Anonymous", value.Timestamp));
                }
                else
                {
                    historian.History.Add(value);
                }
            }
        }