Сергей Аркадьевич
Forum Member / Участник форума
Участник № / Member № 1741
отправлено / posted
В проекте создан канал "В_Архив" с архивацией. Значение в архив записывается каждую минуту и равно значению минуты (использовал FBD-блок TIME, выход M).
Создан канал класса Coll: - тип Input; - флаг отработать, нач. значение 1000; - тип вызова LocalList; - параметр 0; - глубина выборки текущий час; - к аргументу ARG_000 привязан канал "В_Архив".
Если в папке проекта есть файл архива - перед запуском профайлера я его удаляю, чтобы в архиве на момент запуска не было ничего.
Запускаю профайлер - в итоге в аргументах А2 -А61 канала Coll значатся нули вместо значений минут текущего часа, записавшихся в архив. Примерно через 10 мин в аргументы А2-А13 записались значения 58,59,0,...,9. Еще через 9 мин. закончился обратный отсчет канала Coll от 1000 до 0. Аргументы канала Coll больше не изменялись. Почему в аргументы не записались значения последующих минут(закрыл профайлер в 14:18.)?
Сообщения / Posts 55 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Сергей Аркадьевич
Forum Member / Участник форума
Участник № / Member № 1741
отправлено / posted
Создаю канал класса Coll с типом вызова (29) LocalStatistic и глубиной выборки - текущий час. К нему привязываю канал с архивацией, значение которого меняется каждую минуту и равно значению текущей минуты.
Значения аргументов А31, А32 изменяются с течением времени, причем А32 отображает время на 1 мин. меньшее, чем реальное, а вот, к примеру, аргумент А26(Vlast) изменяет свое значение на правильное из интервала, отображаемого в аргументах А31, А32 только через 10 мин после предыдущего своего изменения. Приведу конкретные цифры. - Текущее время 16:22; - А31 15:21:00; - А32 16:21:00; - А26 (Vlast) 14. Но ведь из этого интервала последнее значение - это 21 или 20, но никак не 14! В 16:25 А26 стал равен 24. Все. Теперь придется ждать еще 10 мин, чтобы в аргументе А26 увидеть правильное значение из интервала времени, отображаемом в аргументах А31 - А32.
Теперь, если остановить профайлер, а потом его снова запустить, не закрывая его окна, то ни один аргумент канала Coll больше не изменит своего значения (атрибут 3 имеет значение "I Off+F C"). Канал Coll нужно включать после перезапуска профайлера. Так должно быть, или это недоработка? Это относится не только к типу вызова LocalStatistic.
Сообщения / Posts 55 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
В обоих экспериментах не учитывался эффект буферизации записей в архив. Чем реже суммарная интенсивность изменений записываемых в архив каналов, тем реже осуществляются записи из буфера. И тем больше возможное проявление эффекта "отсутствия последних записей".
Канал CALL выборки и обработки архивных данных отрабатывает при изменении своего значения. Если канал отработал до "0" и его больше "не толкнули", то он и не делает больше выборок.
В канале LocalStatistic для наблюдения времени последней записи из найденных в интервале выборки надо смотреть аргумент ARG_028. ARG_032 говорит о верхней границе "заказанного" диапазона выборки.
По вопросу "отключения" канала CALL при остановке МРВ - надо разбираться. Пришлите, пожалуйста Ваш тестовый проект на адрес техподдержки с точным описанием процедур для воспроизведения ситуации и номера релиза. Если для воспроизведения необходим Ваш архив, сожмите его и тоже пришлите.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Сергей Аркадьевич
Forum Member / Участник форума
Участник № / Member № 1741
отправлено / posted
Ситуация начинает прояснятся. Спасибо за ответ.
1.Относительно буферизации. Уточняю данную ситуацию,т.к. еще пока нет исполнит. модулей. В реальном проекте значение канала В_Архив будет заноситься в архив(изменять реальное значение каждый день в 8:00 и в 20:00. Чтобы исключить влияния интенсивности изменения других записываемых в архив каналов, предположим что в СПАД 1 архивируется только канал В_Архив.
Текущее дата\время 3.07.2006 8:00. Необходимо извлечь значение 2.07.2006 20:00. Будет ли оно в архиве? И, вообще, когда оно занесется в архив?
В настройках узла => архивы => СПАД 1 = > кэш: период сохранения 300 сек. Тогда значение архивируемого канала должно записаться из ОЗУ компьютера в файл архива максимум через 300 сек. после его изменения. Или я путаю понятия буферизация и кэш?
2.В канале LocalStatistic я наблюдал именно последнее значение Vlast A26. Я хотел показать, что аргументы А31, А32 изменили свое значение на 15:21:00 и 16:21:00 соответсвенно, а аргумент А26(видимо, еще не записался в архив) остался прежним: 14. Еще раз повторю, что значение канала В_Архив - число минут из значения текущего времени ОС. Очень удобно сопоставлять значение канала с временем выборки из архива.
3.Относительно выключения канала. Проект отослал. Вообще, пользуюсь версией 6.021, но пробовал и в 6.03 - все равно выключается.
Сообщения / Posts 55 | Из / From: Россия
| IP / IP: IP адрес / IP address |